@rhwp/core 0.7.19 → 0.8.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhwp/core",
3
- "version": "0.7.19",
3
+ "version": "0.8.0",
4
4
  "description": "HWP/HWPX file parser and renderer — Rust + WebAssembly",
5
5
  "type": "module",
6
6
  "main": "rhwp.js",
@@ -9,11 +9,14 @@
9
9
  "rhwp_bg.wasm",
10
10
  "rhwp.js",
11
11
  "rhwp.d.ts",
12
- "rhwp_bg.wasm.d.ts"
12
+ "rhwp_bg.wasm.d.ts",
13
+ "README.md",
14
+ "LICENSE"
13
15
  ],
14
16
  "keywords": [
15
17
  "hwp",
16
18
  "hwpx",
19
+ "hml",
17
20
  "hancom",
18
21
  "hangul",
19
22
  "한글",
@@ -32,6 +35,7 @@
32
35
  "bugs": {
33
36
  "url": "https://github.com/edwardkim/rhwp/issues"
34
37
  },
38
+ "funding": "https://github.com/sponsors/edwardkim",
35
39
  "license": "MIT",
36
40
  "author": "Edward Kim",
37
41
  "sideEffects": [
package/rhwp.d.ts CHANGED
@@ -26,6 +26,7 @@ export class HwpDocument {
26
26
  * 글자 서식을 적용한다 (셀 내 문단).
27
27
  */
28
28
  applyCharFormatInCell(sec_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, start_offset: number, end_offset: number, props_json: string): string;
29
+ applyCharFormatInCellByPath(section_idx: number, parent_para_idx: number, path_json: string, start_offset: number, end_offset: number, props_json: string): string;
29
30
  /**
30
31
  * `applyCharFormatInCell` 의 options object 변형 (#1413).
31
32
  *
@@ -75,6 +76,11 @@ export class HwpDocument {
75
76
  * Batch 모드를 시작한다. 이후 Command 호출 시 paginate()를 건너뛴다.
76
77
  */
77
78
  beginBatch(): string;
79
+ /**
80
+ * 대형 표 continuation shadow job을 시작한다. 공개 페이지는 완료 전까지 유지된다.
81
+ */
82
+ beginDeferredPagination(fragment_budget: number): string;
83
+ cancelDeferredPagination(): boolean;
78
84
  /**
79
85
  * Shape z-order 변경
80
86
  * operation: "front" | "back" | "forward" | "backward"
@@ -225,6 +231,7 @@ export class HwpDocument {
225
231
  * 반환: JSON `{"ok":true,"paraIdx":N,"charOffset":N}`
226
232
  */
227
233
  deleteRangeInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, start_cell_para_idx: number, start_char_offset: number, end_cell_para_idx: number, end_char_offset: number): string;
234
+ deleteRangeInCellByPath(section_idx: number, parent_para_idx: number, path_json: string, start_para: number, start_offset: number, end_para: number, end_offset: number): string;
228
235
  /**
229
236
  * `deleteRangeInCell` 의 options object 변형 (#1413).
230
237
  *
@@ -277,6 +284,12 @@ export class HwpDocument {
277
284
  */
278
285
  deleteTextInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number, count: number): string;
279
286
  deleteTextInCellByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number, count: number): string;
287
+ /**
288
+ * 표 셀 내부 문단에서 텍스트를 삭제하되 전체 페이지네이션은 호출자가 지연한다.
289
+ *
290
+ * 결과 JSON은 `charOffset`과 상대 cell-flow 변화 신호 `cellFlowChanged`를 포함한다.
291
+ */
292
+ deleteTextInCellDeferredPagination(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number, count: number): string;
280
293
  /**
281
294
  * `deleteTextInCell` 의 options object 변형 (#1413).
282
295
  *
@@ -406,7 +419,7 @@ export class HwpDocument {
406
419
  */
407
420
  findOrCreateFontIdForLang(lang: number, name: string): number;
408
421
  /**
409
- * 지연된 페이지네이션을 즉시 flush하고 최신 페이지 수를 반환한다.
422
+ * 지연된 페이지네이션을 동기 barrier로 flush하고 최신 페이지 수를 반환한다.
410
423
  */
411
424
  flushDeferredPagination(): string;
412
425
  /**
@@ -420,6 +433,10 @@ export class HwpDocument {
420
433
  * id는 1-based (ParaShape.numbering_id와 동일)
421
434
  */
422
435
  getBulletList(): string;
436
+ /**
437
+ * 문서 전체의 bounded CanvasKit direct replay capability를 compact JSON으로 반환한다.
438
+ */
439
+ getCanvasKitDocumentPreflight(mode: string, profile: string): string;
423
440
  /**
424
441
  * CanvasKit direct replay 정책 진단을 JSON 문자열로 반환한다.
425
442
  *
@@ -439,6 +456,7 @@ export class HwpDocument {
439
456
  * 셀 내부 문단의 글자 속성을 조회한다.
440
457
  */
441
458
  getCellCharPropertiesAt(sec_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number): string;
459
+ getCellCharPropertiesAtByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number): string;
442
460
  /**
443
461
  * 표 셀의 행/열/병합 정보를 반환한다.
444
462
  *
@@ -694,6 +712,13 @@ export class HwpDocument {
694
712
  * 반환: JSON `{"ok":true,"exists":true/false,...}`
695
713
  */
696
714
  getHeaderFooter(section_idx: number, is_header: boolean, apply_to: number): string;
715
+ /**
716
+ * 이 쪽에서 머리말/꼬리말을 편집할 때 대상이 되는 (구역, applyTo) 를 반환한다.
717
+ *
718
+ * 좌표 없이 쪽만으로 묻는 경로(툴바 `머리말`/`꼬리말`)용 — 히트테스트와 같은 답을 쓴다.
719
+ * 반환: JSON `{"ok":true,"sectionIndex":N,"applyTo":N}`
720
+ */
721
+ getHeaderFooterEditTarget(page_num: number, is_header: boolean): string;
697
722
  /**
698
723
  * 문서 전체의 머리말/꼬리말 목록을 반환한다.
699
724
  */
@@ -853,7 +878,8 @@ export class HwpDocument {
853
878
  * `getSelectionRectsInCell` 의 options object 변형 (#1413).
854
879
  *
855
880
  * options JSON 키: `{ sectionIdx, parentParaIdx, controlIdx, cellIdx, startCellParaIdx,
856
- * startCharOffset, endCellParaIdx, endCharOffset }`. positional 과 동일 동작.
881
+ * startCharOffset, endCellParaIdx, endCharOffset, startPageHint?, endPageHint? }`.
882
+ * page hint가 누락되거나 유효하지 않으면 positional 과 동일한 전체 탐색을 사용한다.
857
883
  */
858
884
  getSelectionRectsInCellEx(options_json: string): string;
859
885
  /**
@@ -919,6 +945,12 @@ export class HwpDocument {
919
945
  * 반환: JSON `{"pageIndex":<N>,"x":<f>,"y":<f>,"width":<f>,"height":<f>}`
920
946
  */
921
947
  getTableBBox(section_idx: number, parent_para_idx: number, control_idx: number): string;
948
+ /**
949
+ * 지정 page 에 배치된 표 fragment 의 바운딩박스를 반환한다 (#2400).
950
+ *
951
+ * 반환: JSON `{"pageIndex":<N>,"x":<f>,"y":<f>,"width":<f>,"height":<f>}`
952
+ */
953
+ getTableBBoxAtPage(section_idx: number, parent_para_idx: number, control_idx: number, page_idx: number): string;
922
954
  /**
923
955
  * 표의 모든 셀 bbox를 반환한다 (F5 셀 선택 모드용).
924
956
  *
@@ -1328,6 +1360,11 @@ export class HwpDocument {
1328
1360
  * 총 페이지 수를 반환한다.
1329
1361
  */
1330
1362
  pageCount(): number;
1363
+ /**
1364
+ * 페이지에 각주 영역이 있는지 빠르게 확인 (hitTestFootnote fast-reject).
1365
+ * 페이지네이션 메타데이터만 조회하므로 render tree build가 필요 없다 (#2428).
1366
+ */
1367
+ pageHasFootnoteFootholds(page_num: number): boolean;
1331
1368
  /**
1332
1369
  * 내부 클립보드의 컨트롤 객체를 캐럿 위치에 붙여넣는다.
1333
1370
  *
@@ -1430,6 +1467,10 @@ export class HwpDocument {
1430
1467
  * 특정 페이지를 SVG 문자열로 렌더링한다.
1431
1468
  */
1432
1469
  renderPageSvg(page_num: number): string;
1470
+ /**
1471
+ * 명시적인 출력 profile로 특정 페이지를 SVG 문자열로 렌더링한다.
1472
+ */
1473
+ renderPageSvgWithProfile(page_num: number, profile: string): string;
1433
1474
  /**
1434
1475
  * 특정 페이지를 Canvas 2D에 직접 렌더링한다.
1435
1476
  *
@@ -1461,6 +1502,7 @@ export class HwpDocument {
1461
1502
  * 전체 치환
1462
1503
  */
1463
1504
  replaceAll(query: string, new_text: string, case_sensitive: boolean): string;
1505
+ replaceBodyTextLocal(section_idx: number, para_idx: number, char_offset: number, delete_count: number, text: string): string;
1464
1506
  /**
1465
1507
  * 단일 치환 (검색어 기반) — 첫 번째 매치만 교체
1466
1508
  */
@@ -1469,6 +1511,10 @@ export class HwpDocument {
1469
1511
  * 텍스트 치환 (단일)
1470
1512
  */
1471
1513
  replaceText(sec: number, para: number, char_offset: number, length: number, new_text: string): string;
1514
+ /**
1515
+ * 표 셀 내부의 짧은 IME 조합 문자열을 원자적으로 교체하고 전체 페이지네이션은 지연한다.
1516
+ */
1517
+ replaceTextInCellDeferredPagination(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number, delete_count: number, text: string): string;
1472
1518
  /**
1473
1519
  * 여러 셀의 width/height를 한 번에 조절한다 (배치).
1474
1520
  *
@@ -1544,6 +1590,7 @@ export class HwpDocument {
1544
1590
  * 글자 서식 ID를 직접 복원한다 (셀 내 문단).
1545
1591
  */
1546
1592
  setCharShapeIdInCell(sec_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, start_offset: number, end_offset: number, char_shape_id: number): string;
1593
+ setCharShapeIdInCellByPath(section_idx: number, parent_para_idx: number, path_json: string, start_offset: number, end_offset: number, char_shape_id: number): string;
1547
1594
  /**
1548
1595
  * `setCharShapeIdInCell` 의 options object 변형 (#1413).
1549
1596
  *
@@ -1710,24 +1757,27 @@ export class HwpDocument {
1710
1757
  * char_offset 이후의 텍스트가 새 문단으로 이동한다.
1711
1758
  * 반환값: JSON `{"ok":true,"paraIdx":<new_para_idx>,"charOffset":0}`
1712
1759
  */
1713
- splitParagraph(section_idx: number, para_idx: number, char_offset: number): string;
1760
+ splitParagraph(section_idx: number, para_idx: number, char_offset: number, removed_para_meta?: string | null): string;
1714
1761
  /**
1715
1762
  * 셀 내부 문단을 분할한다 (셀 내 Enter 키).
1716
1763
  *
1717
1764
  * 반환값: JSON `{"ok":true,"cellParaIndex":<new_idx>,"charOffset":0}`
1765
+ *
1766
+ * `removed_para_meta` 는 병합 undo 가 되돌려주는 값이다 — 본문 `splitParagraph`
1767
+ * 와 같은 규약이다 (Task #2342).
1718
1768
  */
1719
- splitParagraphInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number): string;
1720
- splitParagraphInCellByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number): string;
1769
+ splitParagraphInCell(section_idx: number, parent_para_idx: number, control_idx: number, cell_idx: number, cell_para_idx: number, char_offset: number, removed_para_meta?: string | null): string;
1770
+ splitParagraphInCellByPath(section_idx: number, parent_para_idx: number, path_json: string, char_offset: number, removed_para_meta?: string | null): string;
1721
1771
  /**
1722
1772
  * 각주 내 문단을 분할한다 (Enter).
1723
1773
  */
1724
- splitParagraphInFootnote(section_idx: number, para_idx: number, control_idx: number, fn_para_idx: number, char_offset: number): string;
1774
+ splitParagraphInFootnote(section_idx: number, para_idx: number, control_idx: number, fn_para_idx: number, char_offset: number, removed_para_meta?: string | null): string;
1725
1775
  /**
1726
1776
  * 머리말/꼬리말 내 문단 분할 (Enter 키)
1727
1777
  *
1728
1778
  * 반환: JSON `{"ok":true,"hfParaIndex":<new_idx>,"charOffset":0}`
1729
1779
  */
1730
- splitParagraphInHeaderFooter(section_idx: number, is_header: boolean, apply_to: number, hf_para_idx: number, char_offset: number): string;
1780
+ splitParagraphInHeaderFooter(section_idx: number, is_header: boolean, apply_to: number, hf_para_idx: number, char_offset: number, removed_para_meta?: string | null): string;
1731
1781
  /**
1732
1782
  * 병합된 셀을 나눈다 (split).
1733
1783
  *
@@ -1760,6 +1810,10 @@ export class HwpDocument {
1760
1810
  * endRow, endCol, nRows, mCols, equalRowHeight? }`. positional 과 동일 동작.
1761
1811
  */
1762
1812
  splitTableCellsInRangeEx(options_json: string): string;
1813
+ /**
1814
+ * 대형 표 continuation을 fragment budget만큼 전진한다.
1815
+ */
1816
+ stepDeferredPagination(fragment_budget: number): string;
1763
1817
  /**
1764
1818
  * 텍스트 오프셋 → 논리적 오프셋 변환.
1765
1819
  */
@@ -1830,6 +1884,10 @@ export class HwpViewer {
1830
1884
  * 특정 페이지 SVG 렌더링
1831
1885
  */
1832
1886
  renderPageSvg(page_num: number): string;
1887
+ /**
1888
+ * 명시적인 출력 profile로 특정 페이지 SVG 렌더링
1889
+ */
1890
+ renderPageSvgWithProfile(page_num: number, profile: string): string;
1833
1891
  /**
1834
1892
  * 줌 변경
1835
1893
  */
@@ -1870,6 +1928,7 @@ export interface InitOutput {
1870
1928
  readonly hwpdocument_applyCellStyle: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1871
1929
  readonly hwpdocument_applyCharFormat: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1872
1930
  readonly hwpdocument_applyCharFormatInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
1931
+ readonly hwpdocument_applyCharFormatInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
1873
1932
  readonly hwpdocument_applyCharFormatInCellEx: (a: number, b: number, c: number) => [number, number, number, number];
1874
1933
  readonly hwpdocument_applyEndnoteShape: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1875
1934
  readonly hwpdocument_applyHfTemplate: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
@@ -1880,6 +1939,8 @@ export interface InitOutput {
1880
1939
  readonly hwpdocument_applyStyle: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1881
1940
  readonly hwpdocument_assignPictureImage: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number, number, number];
1882
1941
  readonly hwpdocument_beginBatch: (a: number) => [number, number, number, number];
1942
+ readonly hwpdocument_beginDeferredPagination: (a: number, b: number) => [number, number, number, number];
1943
+ readonly hwpdocument_cancelDeferredPagination: (a: number) => number;
1883
1944
  readonly hwpdocument_changeShapeZOrder: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1884
1945
  readonly hwpdocument_clearActiveField: (a: number) => void;
1885
1946
  readonly hwpdocument_clearClipboard: (a: number) => void;
@@ -1907,6 +1968,7 @@ export interface InitOutput {
1907
1968
  readonly hwpdocument_deletePictureControl: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1908
1969
  readonly hwpdocument_deleteRange: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1909
1970
  readonly hwpdocument_deleteRangeInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
1971
+ readonly hwpdocument_deleteRangeInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
1910
1972
  readonly hwpdocument_deleteRangeInCellEx: (a: number, b: number, c: number) => [number, number, number, number];
1911
1973
  readonly hwpdocument_deleteShapeControl: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1912
1974
  readonly hwpdocument_deleteStyle: (a: number, b: number) => number;
@@ -1916,6 +1978,7 @@ export interface InitOutput {
1916
1978
  readonly hwpdocument_deleteText: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1917
1979
  readonly hwpdocument_deleteTextInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1918
1980
  readonly hwpdocument_deleteTextInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1981
+ readonly hwpdocument_deleteTextInCellDeferredPagination: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
1919
1982
  readonly hwpdocument_deleteTextInCellEx: (a: number, b: number, c: number) => [number, number, number, number];
1920
1983
  readonly hwpdocument_deleteTextInFootnote: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
1921
1984
  readonly hwpdocument_deleteTextInHeaderFooter: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
@@ -1941,10 +2004,12 @@ export interface InitOutput {
1941
2004
  readonly hwpdocument_flushDeferredPagination: (a: number) => [number, number, number, number];
1942
2005
  readonly hwpdocument_getBookmarks: (a: number) => [number, number, number, number];
1943
2006
  readonly hwpdocument_getBulletList: (a: number) => [number, number];
2007
+ readonly hwpdocument_getCanvasKitDocumentPreflight: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1944
2008
  readonly hwpdocument_getCanvasKitReplayPlan: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1945
2009
  readonly hwpdocument_getCanvasKitReplayPlanWithProfile: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1946
2010
  readonly hwpdocument_getCaretPosition: (a: number) => [number, number, number, number];
1947
2011
  readonly hwpdocument_getCellCharPropertiesAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
2012
+ readonly hwpdocument_getCellCharPropertiesAtByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
1948
2013
  readonly hwpdocument_getCellInfo: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1949
2014
  readonly hwpdocument_getCellInfoByPath: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1950
2015
  readonly hwpdocument_getCellOwnProperties: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
@@ -1994,6 +2059,7 @@ export interface InitOutput {
1994
2059
  readonly hwpdocument_getFormObjectInfo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1995
2060
  readonly hwpdocument_getFormValue: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1996
2061
  readonly hwpdocument_getHeaderFooter: (a: number, b: number, c: number, d: number) => [number, number, number, number];
2062
+ readonly hwpdocument_getHeaderFooterEditTarget: (a: number, b: number, c: number) => [number, number, number, number];
1997
2063
  readonly hwpdocument_getHeaderFooterList: (a: number, b: number, c: number, d: number) => [number, number, number, number];
1998
2064
  readonly hwpdocument_getHeaderFooterParaInfo: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
1999
2065
  readonly hwpdocument_getHeaderFooterPictureProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
@@ -2041,6 +2107,7 @@ export interface InitOutput {
2041
2107
  readonly hwpdocument_getStyleDetail: (a: number, b: number) => [number, number];
2042
2108
  readonly hwpdocument_getStyleList: (a: number) => [number, number];
2043
2109
  readonly hwpdocument_getTableBBox: (a: number, b: number, c: number, d: number) => [number, number, number, number];
2110
+ readonly hwpdocument_getTableBBoxAtPage: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
2044
2111
  readonly hwpdocument_getTableCellBboxes: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
2045
2112
  readonly hwpdocument_getTableCellBboxesByPath: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
2046
2113
  readonly hwpdocument_getTableDimensions: (a: number, b: number, c: number, d: number) => [number, number, number, number];
@@ -2108,6 +2175,7 @@ export interface InitOutput {
2108
2175
  readonly hwpdocument_navigateNextEditable: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
2109
2176
  readonly hwpdocument_new: (a: number, b: number) => [number, number, number];
2110
2177
  readonly hwpdocument_pageCount: (a: number) => number;
2178
+ readonly hwpdocument_pageHasFootnoteFootholds: (a: number, b: number) => number;
2111
2179
  readonly hwpdocument_pasteControl: (a: number, b: number, c: number, d: number) => [number, number, number, number];
2112
2180
  readonly hwpdocument_pasteHtml: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
2113
2181
  readonly hwpdocument_pasteHtmlInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
@@ -2128,13 +2196,16 @@ export interface InitOutput {
2128
2196
  readonly hwpdocument_renderPageCanvasLegacy: (a: number, b: number) => [number, number, number];
2129
2197
  readonly hwpdocument_renderPageHtml: (a: number, b: number) => [number, number, number, number];
2130
2198
  readonly hwpdocument_renderPageSvg: (a: number, b: number) => [number, number, number, number];
2199
+ readonly hwpdocument_renderPageSvgWithProfile: (a: number, b: number, c: number, d: number) => [number, number, number, number];
2131
2200
  readonly hwpdocument_renderPageToCanvas: (a: number, b: number, c: any, d: number) => [number, number];
2132
2201
  readonly hwpdocument_renderPageToCanvasFiltered: (a: number, b: number, c: any, d: number, e: number, f: number) => [number, number];
2133
2202
  readonly hwpdocument_renderPageToCanvasFilteredWithProfile: (a: number, b: number, c: any, d: number, e: number, f: number, g: number, h: number) => [number, number];
2134
2203
  readonly hwpdocument_renderPageToCanvasLegacy: (a: number, b: number, c: any, d: number) => [number, number];
2135
2204
  readonly hwpdocument_replaceAll: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
2205
+ readonly hwpdocument_replaceBodyTextLocal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
2136
2206
  readonly hwpdocument_replaceOne: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
2137
2207
  readonly hwpdocument_replaceText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
2208
+ readonly hwpdocument_replaceTextInCellDeferredPagination: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
2138
2209
  readonly hwpdocument_resizeTableCells: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
2139
2210
  readonly hwpdocument_restoreSnapshot: (a: number, b: number) => [number, number, number, number];
2140
2211
  readonly hwpdocument_saveSnapshot: (a: number) => number;
@@ -2151,6 +2222,7 @@ export interface InitOutput {
2151
2222
  readonly hwpdocument_setCellZoneProperties: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
2152
2223
  readonly hwpdocument_setCharShapeId: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
2153
2224
  readonly hwpdocument_setCharShapeIdInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
2225
+ readonly hwpdocument_setCharShapeIdInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
2154
2226
  readonly hwpdocument_setCharShapeIdInCellEx: (a: number, b: number, c: number) => [number, number, number, number];
2155
2227
  readonly hwpdocument_setClipEnabled: (a: number, b: number) => void;
2156
2228
  readonly hwpdocument_setColumnDef: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
@@ -2182,16 +2254,17 @@ export interface InitOutput {
2182
2254
  readonly hwpdocument_setTableProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
2183
2255
  readonly hwpdocument_set_debug_overlay: (a: number, b: number) => void;
2184
2256
  readonly hwpdocument_set_respect_vpos_reset: (a: number, b: number) => void;
2185
- readonly hwpdocument_splitParagraph: (a: number, b: number, c: number, d: number) => [number, number, number, number];
2186
- readonly hwpdocument_splitParagraphInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
2187
- readonly hwpdocument_splitParagraphInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
2188
- readonly hwpdocument_splitParagraphInFootnote: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
2189
- readonly hwpdocument_splitParagraphInHeaderFooter: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
2257
+ readonly hwpdocument_splitParagraph: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
2258
+ readonly hwpdocument_splitParagraphInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
2259
+ readonly hwpdocument_splitParagraphInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
2260
+ readonly hwpdocument_splitParagraphInFootnote: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
2261
+ readonly hwpdocument_splitParagraphInHeaderFooter: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
2190
2262
  readonly hwpdocument_splitTableCell: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
2191
2263
  readonly hwpdocument_splitTableCellInto: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
2192
2264
  readonly hwpdocument_splitTableCellIntoEx: (a: number, b: number, c: number) => [number, number, number, number];
2193
2265
  readonly hwpdocument_splitTableCellsInRange: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => [number, number, number, number];
2194
2266
  readonly hwpdocument_splitTableCellsInRangeEx: (a: number, b: number, c: number) => [number, number, number, number];
2267
+ readonly hwpdocument_stepDeferredPagination: (a: number, b: number) => [number, number, number, number];
2195
2268
  readonly hwpdocument_textToLogicalOffset: (a: number, b: number, c: number, d: number) => [number, number, number];
2196
2269
  readonly hwpdocument_toggleHideHeaderFooter: (a: number, b: number, c: number) => [number, number, number, number];
2197
2270
  readonly hwpdocument_transposeTableCellsInPlace: (a: number, b: number, c: number, d: number) => [number, number, number, number];
@@ -2204,6 +2277,7 @@ export interface InitOutput {
2204
2277
  readonly hwpviewer_pendingTaskCount: (a: number) => number;
2205
2278
  readonly hwpviewer_renderPageHtml: (a: number, b: number) => [number, number, number, number];
2206
2279
  readonly hwpviewer_renderPageSvg: (a: number, b: number) => [number, number, number, number];
2280
+ readonly hwpviewer_renderPageSvgWithProfile: (a: number, b: number, c: number, d: number) => [number, number, number, number];
2207
2281
  readonly hwpviewer_setZoom: (a: number, b: number) => void;
2208
2282
  readonly hwpviewer_updateViewport: (a: number, b: number, c: number, d: number, e: number) => void;
2209
2283
  readonly hwpviewer_visiblePages: (a: number) => [number, number];
package/rhwp.js CHANGED
@@ -140,6 +140,37 @@ export class HwpDocument {
140
140
  wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
141
141
  }
142
142
  }
143
+ /**
144
+ * @param {number} section_idx
145
+ * @param {number} parent_para_idx
146
+ * @param {string} path_json
147
+ * @param {number} start_offset
148
+ * @param {number} end_offset
149
+ * @param {string} props_json
150
+ * @returns {string}
151
+ */
152
+ applyCharFormatInCellByPath(section_idx, parent_para_idx, path_json, start_offset, end_offset, props_json) {
153
+ let deferred4_0;
154
+ let deferred4_1;
155
+ try {
156
+ const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
157
+ const len0 = WASM_VECTOR_LEN;
158
+ const ptr1 = passStringToWasm0(props_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
159
+ const len1 = WASM_VECTOR_LEN;
160
+ const ret = wasm.hwpdocument_applyCharFormatInCellByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, start_offset, end_offset, ptr1, len1);
161
+ var ptr3 = ret[0];
162
+ var len3 = ret[1];
163
+ if (ret[3]) {
164
+ ptr3 = 0; len3 = 0;
165
+ throw takeFromExternrefTable0(ret[2]);
166
+ }
167
+ deferred4_0 = ptr3;
168
+ deferred4_1 = len3;
169
+ return getStringFromWasm0(ptr3, len3);
170
+ } finally {
171
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
172
+ }
173
+ }
143
174
  /**
144
175
  * `applyCharFormatInCell` 의 options object 변형 (#1413).
145
176
  *
@@ -426,6 +457,36 @@ export class HwpDocument {
426
457
  wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
427
458
  }
428
459
  }
460
+ /**
461
+ * 대형 표 continuation shadow job을 시작한다. 공개 페이지는 완료 전까지 유지된다.
462
+ * @param {number} fragment_budget
463
+ * @returns {string}
464
+ */
465
+ beginDeferredPagination(fragment_budget) {
466
+ let deferred2_0;
467
+ let deferred2_1;
468
+ try {
469
+ const ret = wasm.hwpdocument_beginDeferredPagination(this.__wbg_ptr, fragment_budget);
470
+ var ptr1 = ret[0];
471
+ var len1 = ret[1];
472
+ if (ret[3]) {
473
+ ptr1 = 0; len1 = 0;
474
+ throw takeFromExternrefTable0(ret[2]);
475
+ }
476
+ deferred2_0 = ptr1;
477
+ deferred2_1 = len1;
478
+ return getStringFromWasm0(ptr1, len1);
479
+ } finally {
480
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
481
+ }
482
+ }
483
+ /**
484
+ * @returns {boolean}
485
+ */
486
+ cancelDeferredPagination() {
487
+ const ret = wasm.hwpdocument_cancelDeferredPagination(this.__wbg_ptr);
488
+ return ret !== 0;
489
+ }
429
490
  /**
430
491
  * Shape z-order 변경
431
492
  * operation: "front" | "back" | "forward" | "backward"
@@ -1067,6 +1128,36 @@ export class HwpDocument {
1067
1128
  wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
1068
1129
  }
1069
1130
  }
1131
+ /**
1132
+ * @param {number} section_idx
1133
+ * @param {number} parent_para_idx
1134
+ * @param {string} path_json
1135
+ * @param {number} start_para
1136
+ * @param {number} start_offset
1137
+ * @param {number} end_para
1138
+ * @param {number} end_offset
1139
+ * @returns {string}
1140
+ */
1141
+ deleteRangeInCellByPath(section_idx, parent_para_idx, path_json, start_para, start_offset, end_para, end_offset) {
1142
+ let deferred3_0;
1143
+ let deferred3_1;
1144
+ try {
1145
+ const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1146
+ const len0 = WASM_VECTOR_LEN;
1147
+ const ret = wasm.hwpdocument_deleteRangeInCellByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, start_para, start_offset, end_para, end_offset);
1148
+ var ptr2 = ret[0];
1149
+ var len2 = ret[1];
1150
+ if (ret[3]) {
1151
+ ptr2 = 0; len2 = 0;
1152
+ throw takeFromExternrefTable0(ret[2]);
1153
+ }
1154
+ deferred3_0 = ptr2;
1155
+ deferred3_1 = len2;
1156
+ return getStringFromWasm0(ptr2, len2);
1157
+ } finally {
1158
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
1159
+ }
1160
+ }
1070
1161
  /**
1071
1162
  * `deleteRangeInCell` 의 options object 변형 (#1413).
1072
1163
  *
@@ -1305,6 +1396,37 @@ export class HwpDocument {
1305
1396
  wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
1306
1397
  }
1307
1398
  }
1399
+ /**
1400
+ * 표 셀 내부 문단에서 텍스트를 삭제하되 전체 페이지네이션은 호출자가 지연한다.
1401
+ *
1402
+ * 결과 JSON은 `charOffset`과 상대 cell-flow 변화 신호 `cellFlowChanged`를 포함한다.
1403
+ * @param {number} section_idx
1404
+ * @param {number} parent_para_idx
1405
+ * @param {number} control_idx
1406
+ * @param {number} cell_idx
1407
+ * @param {number} cell_para_idx
1408
+ * @param {number} char_offset
1409
+ * @param {number} count
1410
+ * @returns {string}
1411
+ */
1412
+ deleteTextInCellDeferredPagination(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, count) {
1413
+ let deferred2_0;
1414
+ let deferred2_1;
1415
+ try {
1416
+ const ret = wasm.hwpdocument_deleteTextInCellDeferredPagination(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, count);
1417
+ var ptr1 = ret[0];
1418
+ var len1 = ret[1];
1419
+ if (ret[3]) {
1420
+ ptr1 = 0; len1 = 0;
1421
+ throw takeFromExternrefTable0(ret[2]);
1422
+ }
1423
+ deferred2_0 = ptr1;
1424
+ deferred2_1 = len1;
1425
+ return getStringFromWasm0(ptr1, len1);
1426
+ } finally {
1427
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
1428
+ }
1429
+ }
1308
1430
  /**
1309
1431
  * `deleteTextInCell` 의 options object 변형 (#1413).
1310
1432
  *
@@ -1783,7 +1905,7 @@ export class HwpDocument {
1783
1905
  return ret;
1784
1906
  }
1785
1907
  /**
1786
- * 지연된 페이지네이션을 즉시 flush하고 최신 페이지 수를 반환한다.
1908
+ * 지연된 페이지네이션을 동기 barrier로 flush하고 최신 페이지 수를 반환한다.
1787
1909
  * @returns {string}
1788
1910
  */
1789
1911
  flushDeferredPagination() {
@@ -1845,6 +1967,34 @@ export class HwpDocument {
1845
1967
  wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
1846
1968
  }
1847
1969
  }
1970
+ /**
1971
+ * 문서 전체의 bounded CanvasKit direct replay capability를 compact JSON으로 반환한다.
1972
+ * @param {string} mode
1973
+ * @param {string} profile
1974
+ * @returns {string}
1975
+ */
1976
+ getCanvasKitDocumentPreflight(mode, profile) {
1977
+ let deferred4_0;
1978
+ let deferred4_1;
1979
+ try {
1980
+ const ptr0 = passStringToWasm0(mode, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1981
+ const len0 = WASM_VECTOR_LEN;
1982
+ const ptr1 = passStringToWasm0(profile, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
1983
+ const len1 = WASM_VECTOR_LEN;
1984
+ const ret = wasm.hwpdocument_getCanvasKitDocumentPreflight(this.__wbg_ptr, ptr0, len0, ptr1, len1);
1985
+ var ptr3 = ret[0];
1986
+ var len3 = ret[1];
1987
+ if (ret[3]) {
1988
+ ptr3 = 0; len3 = 0;
1989
+ throw takeFromExternrefTable0(ret[2]);
1990
+ }
1991
+ deferred4_0 = ptr3;
1992
+ deferred4_1 = len3;
1993
+ return getStringFromWasm0(ptr3, len3);
1994
+ } finally {
1995
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
1996
+ }
1997
+ }
1848
1998
  /**
1849
1999
  * CanvasKit direct replay 정책 진단을 JSON 문자열로 반환한다.
1850
2000
  *
@@ -1955,6 +2105,33 @@ export class HwpDocument {
1955
2105
  wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
1956
2106
  }
1957
2107
  }
2108
+ /**
2109
+ * @param {number} section_idx
2110
+ * @param {number} parent_para_idx
2111
+ * @param {string} path_json
2112
+ * @param {number} char_offset
2113
+ * @returns {string}
2114
+ */
2115
+ getCellCharPropertiesAtByPath(section_idx, parent_para_idx, path_json, char_offset) {
2116
+ let deferred3_0;
2117
+ let deferred3_1;
2118
+ try {
2119
+ const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
2120
+ const len0 = WASM_VECTOR_LEN;
2121
+ const ret = wasm.hwpdocument_getCellCharPropertiesAtByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, char_offset);
2122
+ var ptr2 = ret[0];
2123
+ var len2 = ret[1];
2124
+ if (ret[3]) {
2125
+ ptr2 = 0; len2 = 0;
2126
+ throw takeFromExternrefTable0(ret[2]);
2127
+ }
2128
+ deferred3_0 = ptr2;
2129
+ deferred3_1 = len2;
2130
+ return getStringFromWasm0(ptr2, len2);
2131
+ } finally {
2132
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
2133
+ }
2134
+ }
1958
2135
  /**
1959
2136
  * 표 셀의 행/열/병합 정보를 반환한다.
1960
2137
  *
@@ -3106,6 +3283,33 @@ export class HwpDocument {
3106
3283
  wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3107
3284
  }
3108
3285
  }
3286
+ /**
3287
+ * 이 쪽에서 머리말/꼬리말을 편집할 때 대상이 되는 (구역, applyTo) 를 반환한다.
3288
+ *
3289
+ * 좌표 없이 쪽만으로 묻는 경로(툴바 `머리말`/`꼬리말`)용 — 히트테스트와 같은 답을 쓴다.
3290
+ * 반환: JSON `{"ok":true,"sectionIndex":N,"applyTo":N}`
3291
+ * @param {number} page_num
3292
+ * @param {boolean} is_header
3293
+ * @returns {string}
3294
+ */
3295
+ getHeaderFooterEditTarget(page_num, is_header) {
3296
+ let deferred2_0;
3297
+ let deferred2_1;
3298
+ try {
3299
+ const ret = wasm.hwpdocument_getHeaderFooterEditTarget(this.__wbg_ptr, page_num, is_header);
3300
+ var ptr1 = ret[0];
3301
+ var len1 = ret[1];
3302
+ if (ret[3]) {
3303
+ ptr1 = 0; len1 = 0;
3304
+ throw takeFromExternrefTable0(ret[2]);
3305
+ }
3306
+ deferred2_0 = ptr1;
3307
+ deferred2_1 = len1;
3308
+ return getStringFromWasm0(ptr1, len1);
3309
+ } finally {
3310
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
3311
+ }
3312
+ }
3109
3313
  /**
3110
3314
  * 문서 전체의 머리말/꼬리말 목록을 반환한다.
3111
3315
  * @param {number} current_section_idx
@@ -3897,7 +4101,8 @@ export class HwpDocument {
3897
4101
  * `getSelectionRectsInCell` 의 options object 변형 (#1413).
3898
4102
  *
3899
4103
  * options JSON 키: `{ sectionIdx, parentParaIdx, controlIdx, cellIdx, startCellParaIdx,
3900
- * startCharOffset, endCellParaIdx, endCharOffset }`. positional 과 동일 동작.
4104
+ * startCharOffset, endCellParaIdx, endCharOffset, startPageHint?, endPageHint? }`.
4105
+ * page hint가 누락되거나 유효하지 않으면 positional 과 동일한 전체 탐색을 사용한다.
3901
4106
  * @param {string} options_json
3902
4107
  * @returns {string}
3903
4108
  */
@@ -4155,6 +4360,34 @@ export class HwpDocument {
4155
4360
  wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
4156
4361
  }
4157
4362
  }
4363
+ /**
4364
+ * 지정 page 에 배치된 표 fragment 의 바운딩박스를 반환한다 (#2400).
4365
+ *
4366
+ * 반환: JSON `{"pageIndex":<N>,"x":<f>,"y":<f>,"width":<f>,"height":<f>}`
4367
+ * @param {number} section_idx
4368
+ * @param {number} parent_para_idx
4369
+ * @param {number} control_idx
4370
+ * @param {number} page_idx
4371
+ * @returns {string}
4372
+ */
4373
+ getTableBBoxAtPage(section_idx, parent_para_idx, control_idx, page_idx) {
4374
+ let deferred2_0;
4375
+ let deferred2_1;
4376
+ try {
4377
+ const ret = wasm.hwpdocument_getTableBBoxAtPage(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, page_idx);
4378
+ var ptr1 = ret[0];
4379
+ var len1 = ret[1];
4380
+ if (ret[3]) {
4381
+ ptr1 = 0; len1 = 0;
4382
+ throw takeFromExternrefTable0(ret[2]);
4383
+ }
4384
+ deferred2_0 = ptr1;
4385
+ deferred2_1 = len1;
4386
+ return getStringFromWasm0(ptr1, len1);
4387
+ } finally {
4388
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
4389
+ }
4390
+ }
4158
4391
  /**
4159
4392
  * 표의 모든 셀 bbox를 반환한다 (F5 셀 선택 모드용).
4160
4393
  *
@@ -6009,6 +6242,16 @@ export class HwpDocument {
6009
6242
  const ret = wasm.hwpdocument_pageCount(this.__wbg_ptr);
6010
6243
  return ret >>> 0;
6011
6244
  }
6245
+ /**
6246
+ * 페이지에 각주 영역이 있는지 빠르게 확인 (hitTestFootnote fast-reject).
6247
+ * 페이지네이션 메타데이터만 조회하므로 render tree build가 필요 없다 (#2428).
6248
+ * @param {number} page_num
6249
+ * @returns {boolean}
6250
+ */
6251
+ pageHasFootnoteFootholds(page_num) {
6252
+ const ret = wasm.hwpdocument_pageHasFootnoteFootholds(this.__wbg_ptr, page_num);
6253
+ return ret !== 0;
6254
+ }
6012
6255
  /**
6013
6256
  * 내부 클립보드의 컨트롤 객체를 캐럿 위치에 붙여넣는다.
6014
6257
  *
@@ -6500,6 +6743,32 @@ export class HwpDocument {
6500
6743
  wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
6501
6744
  }
6502
6745
  }
6746
+ /**
6747
+ * 명시적인 출력 profile로 특정 페이지를 SVG 문자열로 렌더링한다.
6748
+ * @param {number} page_num
6749
+ * @param {string} profile
6750
+ * @returns {string}
6751
+ */
6752
+ renderPageSvgWithProfile(page_num, profile) {
6753
+ let deferred3_0;
6754
+ let deferred3_1;
6755
+ try {
6756
+ const ptr0 = passStringToWasm0(profile, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
6757
+ const len0 = WASM_VECTOR_LEN;
6758
+ const ret = wasm.hwpdocument_renderPageSvgWithProfile(this.__wbg_ptr, page_num, ptr0, len0);
6759
+ var ptr2 = ret[0];
6760
+ var len2 = ret[1];
6761
+ if (ret[3]) {
6762
+ ptr2 = 0; len2 = 0;
6763
+ throw takeFromExternrefTable0(ret[2]);
6764
+ }
6765
+ deferred3_0 = ptr2;
6766
+ deferred3_1 = len2;
6767
+ return getStringFromWasm0(ptr2, len2);
6768
+ } finally {
6769
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
6770
+ }
6771
+ }
6503
6772
  /**
6504
6773
  * 특정 페이지를 Canvas 2D에 직접 렌더링한다.
6505
6774
  *
@@ -6599,6 +6868,34 @@ export class HwpDocument {
6599
6868
  wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
6600
6869
  }
6601
6870
  }
6871
+ /**
6872
+ * @param {number} section_idx
6873
+ * @param {number} para_idx
6874
+ * @param {number} char_offset
6875
+ * @param {number} delete_count
6876
+ * @param {string} text
6877
+ * @returns {string}
6878
+ */
6879
+ replaceBodyTextLocal(section_idx, para_idx, char_offset, delete_count, text) {
6880
+ let deferred3_0;
6881
+ let deferred3_1;
6882
+ try {
6883
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
6884
+ const len0 = WASM_VECTOR_LEN;
6885
+ const ret = wasm.hwpdocument_replaceBodyTextLocal(this.__wbg_ptr, section_idx, para_idx, char_offset, delete_count, ptr0, len0);
6886
+ var ptr2 = ret[0];
6887
+ var len2 = ret[1];
6888
+ if (ret[3]) {
6889
+ ptr2 = 0; len2 = 0;
6890
+ throw takeFromExternrefTable0(ret[2]);
6891
+ }
6892
+ deferred3_0 = ptr2;
6893
+ deferred3_1 = len2;
6894
+ return getStringFromWasm0(ptr2, len2);
6895
+ } finally {
6896
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
6897
+ }
6898
+ }
6602
6899
  /**
6603
6900
  * 단일 치환 (검색어 기반) — 첫 번째 매치만 교체
6604
6901
  * @param {string} query
@@ -6657,6 +6954,38 @@ export class HwpDocument {
6657
6954
  wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
6658
6955
  }
6659
6956
  }
6957
+ /**
6958
+ * 표 셀 내부의 짧은 IME 조합 문자열을 원자적으로 교체하고 전체 페이지네이션은 지연한다.
6959
+ * @param {number} section_idx
6960
+ * @param {number} parent_para_idx
6961
+ * @param {number} control_idx
6962
+ * @param {number} cell_idx
6963
+ * @param {number} cell_para_idx
6964
+ * @param {number} char_offset
6965
+ * @param {number} delete_count
6966
+ * @param {string} text
6967
+ * @returns {string}
6968
+ */
6969
+ replaceTextInCellDeferredPagination(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, delete_count, text) {
6970
+ let deferred3_0;
6971
+ let deferred3_1;
6972
+ try {
6973
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
6974
+ const len0 = WASM_VECTOR_LEN;
6975
+ const ret = wasm.hwpdocument_replaceTextInCellDeferredPagination(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, delete_count, ptr0, len0);
6976
+ var ptr2 = ret[0];
6977
+ var len2 = ret[1];
6978
+ if (ret[3]) {
6979
+ ptr2 = 0; len2 = 0;
6980
+ throw takeFromExternrefTable0(ret[2]);
6981
+ }
6982
+ deferred3_0 = ptr2;
6983
+ deferred3_1 = len2;
6984
+ return getStringFromWasm0(ptr2, len2);
6985
+ } finally {
6986
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
6987
+ }
6988
+ }
6660
6989
  /**
6661
6990
  * 여러 셀의 width/height를 한 번에 조절한다 (배치).
6662
6991
  *
@@ -7043,6 +7372,35 @@ export class HwpDocument {
7043
7372
  wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
7044
7373
  }
7045
7374
  }
7375
+ /**
7376
+ * @param {number} section_idx
7377
+ * @param {number} parent_para_idx
7378
+ * @param {string} path_json
7379
+ * @param {number} start_offset
7380
+ * @param {number} end_offset
7381
+ * @param {number} char_shape_id
7382
+ * @returns {string}
7383
+ */
7384
+ setCharShapeIdInCellByPath(section_idx, parent_para_idx, path_json, start_offset, end_offset, char_shape_id) {
7385
+ let deferred3_0;
7386
+ let deferred3_1;
7387
+ try {
7388
+ const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
7389
+ const len0 = WASM_VECTOR_LEN;
7390
+ const ret = wasm.hwpdocument_setCharShapeIdInCellByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, start_offset, end_offset, char_shape_id);
7391
+ var ptr2 = ret[0];
7392
+ var len2 = ret[1];
7393
+ if (ret[3]) {
7394
+ ptr2 = 0; len2 = 0;
7395
+ throw takeFromExternrefTable0(ret[2]);
7396
+ }
7397
+ deferred3_0 = ptr2;
7398
+ deferred3_1 = len2;
7399
+ return getStringFromWasm0(ptr2, len2);
7400
+ } finally {
7401
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
7402
+ }
7403
+ }
7046
7404
  /**
7047
7405
  * `setCharShapeIdInCell` 의 options object 변형 (#1413).
7048
7406
  *
@@ -7757,54 +8115,63 @@ export class HwpDocument {
7757
8115
  * @param {number} section_idx
7758
8116
  * @param {number} para_idx
7759
8117
  * @param {number} char_offset
8118
+ * @param {string | null} [removed_para_meta]
7760
8119
  * @returns {string}
7761
8120
  */
7762
- splitParagraph(section_idx, para_idx, char_offset) {
7763
- let deferred2_0;
7764
- let deferred2_1;
8121
+ splitParagraph(section_idx, para_idx, char_offset, removed_para_meta) {
8122
+ let deferred3_0;
8123
+ let deferred3_1;
7765
8124
  try {
7766
- const ret = wasm.hwpdocument_splitParagraph(this.__wbg_ptr, section_idx, para_idx, char_offset);
7767
- var ptr1 = ret[0];
7768
- var len1 = ret[1];
8125
+ var ptr0 = isLikeNone(removed_para_meta) ? 0 : passStringToWasm0(removed_para_meta, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
8126
+ var len0 = WASM_VECTOR_LEN;
8127
+ const ret = wasm.hwpdocument_splitParagraph(this.__wbg_ptr, section_idx, para_idx, char_offset, ptr0, len0);
8128
+ var ptr2 = ret[0];
8129
+ var len2 = ret[1];
7769
8130
  if (ret[3]) {
7770
- ptr1 = 0; len1 = 0;
8131
+ ptr2 = 0; len2 = 0;
7771
8132
  throw takeFromExternrefTable0(ret[2]);
7772
8133
  }
7773
- deferred2_0 = ptr1;
7774
- deferred2_1 = len1;
7775
- return getStringFromWasm0(ptr1, len1);
8134
+ deferred3_0 = ptr2;
8135
+ deferred3_1 = len2;
8136
+ return getStringFromWasm0(ptr2, len2);
7776
8137
  } finally {
7777
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
8138
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
7778
8139
  }
7779
8140
  }
7780
8141
  /**
7781
8142
  * 셀 내부 문단을 분할한다 (셀 내 Enter 키).
7782
8143
  *
7783
8144
  * 반환값: JSON `{"ok":true,"cellParaIndex":<new_idx>,"charOffset":0}`
8145
+ *
8146
+ * `removed_para_meta` 는 병합 undo 가 되돌려주는 값이다 — 본문 `splitParagraph`
8147
+ * 와 같은 규약이다 (Task #2342).
7784
8148
  * @param {number} section_idx
7785
8149
  * @param {number} parent_para_idx
7786
8150
  * @param {number} control_idx
7787
8151
  * @param {number} cell_idx
7788
8152
  * @param {number} cell_para_idx
7789
8153
  * @param {number} char_offset
8154
+ * @param {string | null} [removed_para_meta]
7790
8155
  * @returns {string}
7791
8156
  */
7792
- splitParagraphInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset) {
7793
- let deferred2_0;
7794
- let deferred2_1;
8157
+ splitParagraphInCell(section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, removed_para_meta) {
8158
+ let deferred3_0;
8159
+ let deferred3_1;
7795
8160
  try {
7796
- const ret = wasm.hwpdocument_splitParagraphInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset);
7797
- var ptr1 = ret[0];
7798
- var len1 = ret[1];
8161
+ var ptr0 = isLikeNone(removed_para_meta) ? 0 : passStringToWasm0(removed_para_meta, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
8162
+ var len0 = WASM_VECTOR_LEN;
8163
+ const ret = wasm.hwpdocument_splitParagraphInCell(this.__wbg_ptr, section_idx, parent_para_idx, control_idx, cell_idx, cell_para_idx, char_offset, ptr0, len0);
8164
+ var ptr2 = ret[0];
8165
+ var len2 = ret[1];
7799
8166
  if (ret[3]) {
7800
- ptr1 = 0; len1 = 0;
8167
+ ptr2 = 0; len2 = 0;
7801
8168
  throw takeFromExternrefTable0(ret[2]);
7802
8169
  }
7803
- deferred2_0 = ptr1;
7804
- deferred2_1 = len1;
7805
- return getStringFromWasm0(ptr1, len1);
8170
+ deferred3_0 = ptr2;
8171
+ deferred3_1 = len2;
8172
+ return getStringFromWasm0(ptr2, len2);
7806
8173
  } finally {
7807
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
8174
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
7808
8175
  }
7809
8176
  }
7810
8177
  /**
@@ -7812,26 +8179,29 @@ export class HwpDocument {
7812
8179
  * @param {number} parent_para_idx
7813
8180
  * @param {string} path_json
7814
8181
  * @param {number} char_offset
8182
+ * @param {string | null} [removed_para_meta]
7815
8183
  * @returns {string}
7816
8184
  */
7817
- splitParagraphInCellByPath(section_idx, parent_para_idx, path_json, char_offset) {
7818
- let deferred3_0;
7819
- let deferred3_1;
8185
+ splitParagraphInCellByPath(section_idx, parent_para_idx, path_json, char_offset, removed_para_meta) {
8186
+ let deferred4_0;
8187
+ let deferred4_1;
7820
8188
  try {
7821
8189
  const ptr0 = passStringToWasm0(path_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
7822
8190
  const len0 = WASM_VECTOR_LEN;
7823
- const ret = wasm.hwpdocument_splitParagraphInCellByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, char_offset);
7824
- var ptr2 = ret[0];
7825
- var len2 = ret[1];
8191
+ var ptr1 = isLikeNone(removed_para_meta) ? 0 : passStringToWasm0(removed_para_meta, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
8192
+ var len1 = WASM_VECTOR_LEN;
8193
+ const ret = wasm.hwpdocument_splitParagraphInCellByPath(this.__wbg_ptr, section_idx, parent_para_idx, ptr0, len0, char_offset, ptr1, len1);
8194
+ var ptr3 = ret[0];
8195
+ var len3 = ret[1];
7826
8196
  if (ret[3]) {
7827
- ptr2 = 0; len2 = 0;
8197
+ ptr3 = 0; len3 = 0;
7828
8198
  throw takeFromExternrefTable0(ret[2]);
7829
8199
  }
7830
- deferred3_0 = ptr2;
7831
- deferred3_1 = len2;
7832
- return getStringFromWasm0(ptr2, len2);
8200
+ deferred4_0 = ptr3;
8201
+ deferred4_1 = len3;
8202
+ return getStringFromWasm0(ptr3, len3);
7833
8203
  } finally {
7834
- wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
8204
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
7835
8205
  }
7836
8206
  }
7837
8207
  /**
@@ -7841,24 +8211,27 @@ export class HwpDocument {
7841
8211
  * @param {number} control_idx
7842
8212
  * @param {number} fn_para_idx
7843
8213
  * @param {number} char_offset
8214
+ * @param {string | null} [removed_para_meta]
7844
8215
  * @returns {string}
7845
8216
  */
7846
- splitParagraphInFootnote(section_idx, para_idx, control_idx, fn_para_idx, char_offset) {
7847
- let deferred2_0;
7848
- let deferred2_1;
8217
+ splitParagraphInFootnote(section_idx, para_idx, control_idx, fn_para_idx, char_offset, removed_para_meta) {
8218
+ let deferred3_0;
8219
+ let deferred3_1;
7849
8220
  try {
7850
- const ret = wasm.hwpdocument_splitParagraphInFootnote(this.__wbg_ptr, section_idx, para_idx, control_idx, fn_para_idx, char_offset);
7851
- var ptr1 = ret[0];
7852
- var len1 = ret[1];
8221
+ var ptr0 = isLikeNone(removed_para_meta) ? 0 : passStringToWasm0(removed_para_meta, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
8222
+ var len0 = WASM_VECTOR_LEN;
8223
+ const ret = wasm.hwpdocument_splitParagraphInFootnote(this.__wbg_ptr, section_idx, para_idx, control_idx, fn_para_idx, char_offset, ptr0, len0);
8224
+ var ptr2 = ret[0];
8225
+ var len2 = ret[1];
7853
8226
  if (ret[3]) {
7854
- ptr1 = 0; len1 = 0;
8227
+ ptr2 = 0; len2 = 0;
7855
8228
  throw takeFromExternrefTable0(ret[2]);
7856
8229
  }
7857
- deferred2_0 = ptr1;
7858
- deferred2_1 = len1;
7859
- return getStringFromWasm0(ptr1, len1);
8230
+ deferred3_0 = ptr2;
8231
+ deferred3_1 = len2;
8232
+ return getStringFromWasm0(ptr2, len2);
7860
8233
  } finally {
7861
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
8234
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
7862
8235
  }
7863
8236
  }
7864
8237
  /**
@@ -7870,24 +8243,27 @@ export class HwpDocument {
7870
8243
  * @param {number} apply_to
7871
8244
  * @param {number} hf_para_idx
7872
8245
  * @param {number} char_offset
8246
+ * @param {string | null} [removed_para_meta]
7873
8247
  * @returns {string}
7874
8248
  */
7875
- splitParagraphInHeaderFooter(section_idx, is_header, apply_to, hf_para_idx, char_offset) {
7876
- let deferred2_0;
7877
- let deferred2_1;
8249
+ splitParagraphInHeaderFooter(section_idx, is_header, apply_to, hf_para_idx, char_offset, removed_para_meta) {
8250
+ let deferred3_0;
8251
+ let deferred3_1;
7878
8252
  try {
7879
- const ret = wasm.hwpdocument_splitParagraphInHeaderFooter(this.__wbg_ptr, section_idx, is_header, apply_to, hf_para_idx, char_offset);
7880
- var ptr1 = ret[0];
7881
- var len1 = ret[1];
8253
+ var ptr0 = isLikeNone(removed_para_meta) ? 0 : passStringToWasm0(removed_para_meta, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
8254
+ var len0 = WASM_VECTOR_LEN;
8255
+ const ret = wasm.hwpdocument_splitParagraphInHeaderFooter(this.__wbg_ptr, section_idx, is_header, apply_to, hf_para_idx, char_offset, ptr0, len0);
8256
+ var ptr2 = ret[0];
8257
+ var len2 = ret[1];
7882
8258
  if (ret[3]) {
7883
- ptr1 = 0; len1 = 0;
8259
+ ptr2 = 0; len2 = 0;
7884
8260
  throw takeFromExternrefTable0(ret[2]);
7885
8261
  }
7886
- deferred2_0 = ptr1;
7887
- deferred2_1 = len1;
7888
- return getStringFromWasm0(ptr1, len1);
8262
+ deferred3_0 = ptr2;
8263
+ deferred3_1 = len2;
8264
+ return getStringFromWasm0(ptr2, len2);
7889
8265
  } finally {
7890
- wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
8266
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
7891
8267
  }
7892
8268
  }
7893
8269
  /**
@@ -8042,6 +8418,29 @@ export class HwpDocument {
8042
8418
  wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
8043
8419
  }
8044
8420
  }
8421
+ /**
8422
+ * 대형 표 continuation을 fragment budget만큼 전진한다.
8423
+ * @param {number} fragment_budget
8424
+ * @returns {string}
8425
+ */
8426
+ stepDeferredPagination(fragment_budget) {
8427
+ let deferred2_0;
8428
+ let deferred2_1;
8429
+ try {
8430
+ const ret = wasm.hwpdocument_stepDeferredPagination(this.__wbg_ptr, fragment_budget);
8431
+ var ptr1 = ret[0];
8432
+ var len1 = ret[1];
8433
+ if (ret[3]) {
8434
+ ptr1 = 0; len1 = 0;
8435
+ throw takeFromExternrefTable0(ret[2]);
8436
+ }
8437
+ deferred2_0 = ptr1;
8438
+ deferred2_1 = len1;
8439
+ return getStringFromWasm0(ptr1, len1);
8440
+ } finally {
8441
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
8442
+ }
8443
+ }
8045
8444
  /**
8046
8445
  * 텍스트 오프셋 → 논리적 오프셋 변환.
8047
8446
  * @param {number} section_idx
@@ -8292,6 +8691,32 @@ export class HwpViewer {
8292
8691
  wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
8293
8692
  }
8294
8693
  }
8694
+ /**
8695
+ * 명시적인 출력 profile로 특정 페이지 SVG 렌더링
8696
+ * @param {number} page_num
8697
+ * @param {string} profile
8698
+ * @returns {string}
8699
+ */
8700
+ renderPageSvgWithProfile(page_num, profile) {
8701
+ let deferred3_0;
8702
+ let deferred3_1;
8703
+ try {
8704
+ const ptr0 = passStringToWasm0(profile, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
8705
+ const len0 = WASM_VECTOR_LEN;
8706
+ const ret = wasm.hwpviewer_renderPageSvgWithProfile(this.__wbg_ptr, page_num, ptr0, len0);
8707
+ var ptr2 = ret[0];
8708
+ var len2 = ret[1];
8709
+ if (ret[3]) {
8710
+ ptr2 = 0; len2 = 0;
8711
+ throw takeFromExternrefTable0(ret[2]);
8712
+ }
8713
+ deferred3_0 = ptr2;
8714
+ deferred3_1 = len2;
8715
+ return getStringFromWasm0(ptr2, len2);
8716
+ } finally {
8717
+ wasm.__wbindgen_free(deferred3_0, deferred3_1, 1);
8718
+ }
8719
+ }
8295
8720
  /**
8296
8721
  * 줌 변경
8297
8722
  * @param {number} zoom
package/rhwp_bg.wasm CHANGED
Binary file
package/rhwp_bg.wasm.d.ts CHANGED
@@ -8,6 +8,7 @@ export const hwpdocument_addBookmark: (a: number, b: number, c: number, d: numbe
8
8
  export const hwpdocument_applyCellStyle: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
9
9
  export const hwpdocument_applyCharFormat: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
10
10
  export const hwpdocument_applyCharFormatInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
11
+ export const hwpdocument_applyCharFormatInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
11
12
  export const hwpdocument_applyCharFormatInCellEx: (a: number, b: number, c: number) => [number, number, number, number];
12
13
  export const hwpdocument_applyEndnoteShape: (a: number, b: number, c: number, d: number) => [number, number, number, number];
13
14
  export const hwpdocument_applyHfTemplate: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
@@ -18,6 +19,8 @@ export const hwpdocument_applyParaFormatInHf: (a: number, b: number, c: number,
18
19
  export const hwpdocument_applyStyle: (a: number, b: number, c: number, d: number) => [number, number, number, number];
19
20
  export const hwpdocument_assignPictureImage: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number, number, number];
20
21
  export const hwpdocument_beginBatch: (a: number) => [number, number, number, number];
22
+ export const hwpdocument_beginDeferredPagination: (a: number, b: number) => [number, number, number, number];
23
+ export const hwpdocument_cancelDeferredPagination: (a: number) => number;
21
24
  export const hwpdocument_changeShapeZOrder: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
22
25
  export const hwpdocument_clearActiveField: (a: number) => void;
23
26
  export const hwpdocument_clearClipboard: (a: number) => void;
@@ -45,6 +48,7 @@ export const hwpdocument_deleteParagraph: (a: number, b: number, c: number) => [
45
48
  export const hwpdocument_deletePictureControl: (a: number, b: number, c: number, d: number) => [number, number, number, number];
46
49
  export const hwpdocument_deleteRange: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
47
50
  export const hwpdocument_deleteRangeInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
51
+ export const hwpdocument_deleteRangeInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
48
52
  export const hwpdocument_deleteRangeInCellEx: (a: number, b: number, c: number) => [number, number, number, number];
49
53
  export const hwpdocument_deleteShapeControl: (a: number, b: number, c: number, d: number) => [number, number, number, number];
50
54
  export const hwpdocument_deleteStyle: (a: number, b: number) => number;
@@ -54,6 +58,7 @@ export const hwpdocument_deleteTableRow: (a: number, b: number, c: number, d: nu
54
58
  export const hwpdocument_deleteText: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
55
59
  export const hwpdocument_deleteTextInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
56
60
  export const hwpdocument_deleteTextInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
61
+ export const hwpdocument_deleteTextInCellDeferredPagination: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
57
62
  export const hwpdocument_deleteTextInCellEx: (a: number, b: number, c: number) => [number, number, number, number];
58
63
  export const hwpdocument_deleteTextInFootnote: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
59
64
  export const hwpdocument_deleteTextInHeaderFooter: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
@@ -79,10 +84,12 @@ export const hwpdocument_findOrCreateFontIdForLang: (a: number, b: number, c: nu
79
84
  export const hwpdocument_flushDeferredPagination: (a: number) => [number, number, number, number];
80
85
  export const hwpdocument_getBookmarks: (a: number) => [number, number, number, number];
81
86
  export const hwpdocument_getBulletList: (a: number) => [number, number];
87
+ export const hwpdocument_getCanvasKitDocumentPreflight: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
82
88
  export const hwpdocument_getCanvasKitReplayPlan: (a: number, b: number, c: number, d: number) => [number, number, number, number];
83
89
  export const hwpdocument_getCanvasKitReplayPlanWithProfile: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
84
90
  export const hwpdocument_getCaretPosition: (a: number) => [number, number, number, number];
85
91
  export const hwpdocument_getCellCharPropertiesAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
92
+ export const hwpdocument_getCellCharPropertiesAtByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
86
93
  export const hwpdocument_getCellInfo: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
87
94
  export const hwpdocument_getCellInfoByPath: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
88
95
  export const hwpdocument_getCellOwnProperties: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
@@ -132,6 +139,7 @@ export const hwpdocument_getFormObjectAt: (a: number, b: number, c: number, d: n
132
139
  export const hwpdocument_getFormObjectInfo: (a: number, b: number, c: number, d: number) => [number, number, number, number];
133
140
  export const hwpdocument_getFormValue: (a: number, b: number, c: number, d: number) => [number, number, number, number];
134
141
  export const hwpdocument_getHeaderFooter: (a: number, b: number, c: number, d: number) => [number, number, number, number];
142
+ export const hwpdocument_getHeaderFooterEditTarget: (a: number, b: number, c: number) => [number, number, number, number];
135
143
  export const hwpdocument_getHeaderFooterList: (a: number, b: number, c: number, d: number) => [number, number, number, number];
136
144
  export const hwpdocument_getHeaderFooterParaInfo: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
137
145
  export const hwpdocument_getHeaderFooterPictureProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
@@ -179,6 +187,7 @@ export const hwpdocument_getStyleAt: (a: number, b: number, c: number) => [numbe
179
187
  export const hwpdocument_getStyleDetail: (a: number, b: number) => [number, number];
180
188
  export const hwpdocument_getStyleList: (a: number) => [number, number];
181
189
  export const hwpdocument_getTableBBox: (a: number, b: number, c: number, d: number) => [number, number, number, number];
190
+ export const hwpdocument_getTableBBoxAtPage: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
182
191
  export const hwpdocument_getTableCellBboxes: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
183
192
  export const hwpdocument_getTableCellBboxesByPath: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
184
193
  export const hwpdocument_getTableDimensions: (a: number, b: number, c: number, d: number) => [number, number, number, number];
@@ -246,6 +255,7 @@ export const hwpdocument_navigateHeaderFooterByPage: (a: number, b: number, c: n
246
255
  export const hwpdocument_navigateNextEditable: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
247
256
  export const hwpdocument_new: (a: number, b: number) => [number, number, number];
248
257
  export const hwpdocument_pageCount: (a: number) => number;
258
+ export const hwpdocument_pageHasFootnoteFootholds: (a: number, b: number) => number;
249
259
  export const hwpdocument_pasteControl: (a: number, b: number, c: number, d: number) => [number, number, number, number];
250
260
  export const hwpdocument_pasteHtml: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
251
261
  export const hwpdocument_pasteHtmlInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
@@ -266,13 +276,16 @@ export const hwpdocument_renderPageCanvas: (a: number, b: number) => [number, nu
266
276
  export const hwpdocument_renderPageCanvasLegacy: (a: number, b: number) => [number, number, number];
267
277
  export const hwpdocument_renderPageHtml: (a: number, b: number) => [number, number, number, number];
268
278
  export const hwpdocument_renderPageSvg: (a: number, b: number) => [number, number, number, number];
279
+ export const hwpdocument_renderPageSvgWithProfile: (a: number, b: number, c: number, d: number) => [number, number, number, number];
269
280
  export const hwpdocument_renderPageToCanvas: (a: number, b: number, c: any, d: number) => [number, number];
270
281
  export const hwpdocument_renderPageToCanvasFiltered: (a: number, b: number, c: any, d: number, e: number, f: number) => [number, number];
271
282
  export const hwpdocument_renderPageToCanvasFilteredWithProfile: (a: number, b: number, c: any, d: number, e: number, f: number, g: number, h: number) => [number, number];
272
283
  export const hwpdocument_renderPageToCanvasLegacy: (a: number, b: number, c: any, d: number) => [number, number];
273
284
  export const hwpdocument_replaceAll: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
285
+ export const hwpdocument_replaceBodyTextLocal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
274
286
  export const hwpdocument_replaceOne: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
275
287
  export const hwpdocument_replaceText: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
288
+ export const hwpdocument_replaceTextInCellDeferredPagination: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
276
289
  export const hwpdocument_resizeTableCells: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
277
290
  export const hwpdocument_restoreSnapshot: (a: number, b: number) => [number, number, number, number];
278
291
  export const hwpdocument_saveSnapshot: (a: number) => number;
@@ -289,6 +302,7 @@ export const hwpdocument_setCellShapePropertiesByPath: (a: number, b: number, c:
289
302
  export const hwpdocument_setCellZoneProperties: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
290
303
  export const hwpdocument_setCharShapeId: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
291
304
  export const hwpdocument_setCharShapeIdInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
305
+ export const hwpdocument_setCharShapeIdInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
292
306
  export const hwpdocument_setCharShapeIdInCellEx: (a: number, b: number, c: number) => [number, number, number, number];
293
307
  export const hwpdocument_setClipEnabled: (a: number, b: number) => void;
294
308
  export const hwpdocument_setColumnDef: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
@@ -320,16 +334,17 @@ export const hwpdocument_setShowTransparentBorders: (a: number, b: number) => vo
320
334
  export const hwpdocument_setTableProperties: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
321
335
  export const hwpdocument_set_debug_overlay: (a: number, b: number) => void;
322
336
  export const hwpdocument_set_respect_vpos_reset: (a: number, b: number) => void;
323
- export const hwpdocument_splitParagraph: (a: number, b: number, c: number, d: number) => [number, number, number, number];
324
- export const hwpdocument_splitParagraphInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
325
- export const hwpdocument_splitParagraphInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
326
- export const hwpdocument_splitParagraphInFootnote: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
327
- export const hwpdocument_splitParagraphInHeaderFooter: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
337
+ export const hwpdocument_splitParagraph: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
338
+ export const hwpdocument_splitParagraphInCell: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
339
+ export const hwpdocument_splitParagraphInCellByPath: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
340
+ export const hwpdocument_splitParagraphInFootnote: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
341
+ export const hwpdocument_splitParagraphInHeaderFooter: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
328
342
  export const hwpdocument_splitTableCell: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
329
343
  export const hwpdocument_splitTableCellInto: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number, number, number];
330
344
  export const hwpdocument_splitTableCellIntoEx: (a: number, b: number, c: number) => [number, number, number, number];
331
345
  export const hwpdocument_splitTableCellsInRange: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => [number, number, number, number];
332
346
  export const hwpdocument_splitTableCellsInRangeEx: (a: number, b: number, c: number) => [number, number, number, number];
347
+ export const hwpdocument_stepDeferredPagination: (a: number, b: number) => [number, number, number, number];
333
348
  export const hwpdocument_textToLogicalOffset: (a: number, b: number, c: number, d: number) => [number, number, number];
334
349
  export const hwpdocument_toggleHideHeaderFooter: (a: number, b: number, c: number) => [number, number, number, number];
335
350
  export const hwpdocument_transposeTableCellsInPlace: (a: number, b: number, c: number, d: number) => [number, number, number, number];
@@ -342,6 +357,7 @@ export const hwpviewer_new: (a: number) => number;
342
357
  export const hwpviewer_pendingTaskCount: (a: number) => number;
343
358
  export const hwpviewer_renderPageHtml: (a: number, b: number) => [number, number, number, number];
344
359
  export const hwpviewer_renderPageSvg: (a: number, b: number) => [number, number, number, number];
360
+ export const hwpviewer_renderPageSvgWithProfile: (a: number, b: number, c: number, d: number) => [number, number, number, number];
345
361
  export const hwpviewer_setZoom: (a: number, b: number) => void;
346
362
  export const hwpviewer_updateViewport: (a: number, b: number, c: number, d: number, e: number) => void;
347
363
  export const hwpviewer_visiblePages: (a: number) => [number, number];