@gct-paas/word 0.1.22 → 0.1.24
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/dist/capabilities/model-field-runtime/provider/FieldProviderRuntime.d.ts +4 -0
- package/dist/capabilities/model-field-runtime/service/FieldService.d.ts +2 -0
- package/dist/core/constants/index.d.ts +1 -0
- package/dist/core/cursor/types/cursor.d.ts +50 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/layout/LayoutMapper.d.ts +2 -2
- package/dist/core/layout/handlers/{ImageHandler.d.ts → InlineImageLayoutHandler.d.ts} +2 -3
- package/dist/core/layout/handlers/fields/AttachmentHandler.d.ts +3 -2
- package/dist/core/layout/handlers/fields/{BaseHandler.d.ts → FieldBaseHandler.d.ts} +2 -5
- package/dist/core/layout/handlers/fields/FieldImageHandler.d.ts +7 -0
- package/dist/core/layout/handlers/fields/InputHandler.d.ts +3 -2
- package/dist/core/layout/handlers/fields/OptionHandler.d.ts +3 -2
- package/dist/core/layout/handlers/fields/SignatureHandler.d.ts +3 -2
- package/dist/core/layout/handlers/fields/index.d.ts +1 -2
- package/dist/core/layout/handlers/index.d.ts +1 -1
- package/dist/core/layout/handlers/pageWidgets/BarcodeHandler.d.ts +2 -2
- package/dist/core/layout/handlers/pageWidgets/DefaultHandler.d.ts +2 -2
- package/dist/core/layout/handlers/pageWidgets/DiagonalHandler.d.ts +2 -2
- package/dist/core/layout/handlers/pageWidgets/LineHandler.d.ts +2 -2
- package/dist/core/layout/handlers/pageWidgets/PageWidgetImageHandler.d.ts +5 -0
- package/dist/core/layout/handlers/pageWidgets/PaginationHandler.d.ts +2 -2
- package/dist/core/layout/handlers/pageWidgets/QrCodeHandler.d.ts +2 -2
- package/dist/core/layout/handlers/pageWidgets/SerialNumberHandler.d.ts +2 -2
- package/dist/core/layout/handlers/{base/BaseHandler.d.ts → pageWidgets/WidgetBaseHandler.d.ts} +2 -5
- package/dist/core/layout/handlers/pageWidgets/index.d.ts +1 -1
- package/dist/core/layout/logic/LayoutBuilder.d.ts +1 -1
- package/dist/core/layout/types/index.d.ts +23 -6
- package/dist/core/model/DocModel.d.ts +13 -1
- package/dist/core/model/types/index.d.ts +0 -1
- package/dist/core/view/Doc.d.ts +8 -1
- package/dist/core/view/base/LayoutNode.d.ts +4 -0
- package/dist/core/view/runs/TextRun.d.ts +4 -0
- package/dist/core/view/types/index.d.ts +2 -0
- package/dist/core/view/types/layout-node-by-component.d.ts +38 -0
- package/dist/core/view/utils/TextUtil.d.ts +89 -12
- package/dist/index.es.js +2145 -1805
- package/dist/runtime/_register_/runtime/SuiteRuntime.d.ts +4 -1
- package/dist/runtime/canvas/node/text-character.vue.d.ts +3 -1
- package/dist/runtime/interface/render.d.ts +1 -1
- package/dist/sdk/engine/index.d.ts +1 -1
- package/dist/sdk/types/field-model-query.d.ts +19 -0
- package/dist/sdk/types/index.d.ts +13 -0
- package/dist/utils/func/core.d.ts +15 -0
- package/package.json +1 -1
- package/dist/core/layout/handlers/fields/ImageHandler.d.ts +0 -5
- package/dist/core/layout/handlers/pageWidgets/ImageHandler.d.ts +0 -4
- package/dist/core/model/types/model.d.ts +0 -144
|
@@ -2,14 +2,30 @@ import { default as Konva } from 'konva';
|
|
|
2
2
|
export declare class TextUtil {
|
|
3
3
|
/** 字体度量缓存限制 */
|
|
4
4
|
private static readonly FONT_METRICS_CACHE_LIMIT;
|
|
5
|
-
/**
|
|
5
|
+
/** 布局大小缓存限制(按「样式 + 单段文本」键,长文档可提高命中率) */
|
|
6
6
|
private static readonly LAYOUT_SIZE_CACHE_LIMIT;
|
|
7
7
|
/** 东亚常见全宽字符块 */
|
|
8
8
|
private static readonly EAST_ASIAN_FULL_WIDTH_REGEX;
|
|
9
9
|
/** 表单/文档中常见的几何符号 */
|
|
10
10
|
private static readonly FULL_WIDTH_SYMBOL_REGEX;
|
|
11
|
+
/**
|
|
12
|
+
* 视觉间距系数
|
|
13
|
+
* 值 = fontSize * ratio
|
|
14
|
+
*
|
|
15
|
+
* 解决:
|
|
16
|
+
* - N·m
|
|
17
|
+
* - N/A
|
|
18
|
+
* - kg·m²
|
|
19
|
+
* 等符号贴太近的问题
|
|
20
|
+
*/
|
|
21
|
+
private static readonly VISUAL_SPACING_MAP;
|
|
11
22
|
private static fontMetricsCache;
|
|
12
23
|
private static layoutSizeCache;
|
|
24
|
+
/**
|
|
25
|
+
* 等待文档字体就绪后再做 Canvas 度量,可减轻 Mac/Windows 因 Web 字体未加载导致的度量差异。
|
|
26
|
+
* 无 Font Loading API 时立即 resolve。
|
|
27
|
+
*/
|
|
28
|
+
static awaitDocumentFonts(): Promise<void>;
|
|
13
29
|
/**
|
|
14
30
|
* 验证中文字符
|
|
15
31
|
* @param char
|
|
@@ -23,16 +39,53 @@ export declare class TextUtil {
|
|
|
23
39
|
*/
|
|
24
40
|
static isFullWidthChar(char: string): boolean;
|
|
25
41
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
42
|
+
* 获取字符视觉间距
|
|
43
|
+
*
|
|
44
|
+
* 注意:
|
|
45
|
+
* 这里不是 glyph width
|
|
46
|
+
* 而是用于排版推进的额外 advance width
|
|
47
|
+
*
|
|
48
|
+
* 例如:
|
|
49
|
+
* - N·m
|
|
50
|
+
* - N/A
|
|
51
|
+
*
|
|
52
|
+
* 中间符号真实宽度很小,
|
|
53
|
+
* 但视觉上需要 breathing space
|
|
54
|
+
*
|
|
55
|
+
* @param char
|
|
56
|
+
* @param fontSize
|
|
29
57
|
* @returns
|
|
30
58
|
*/
|
|
31
|
-
|
|
59
|
+
static getVisualSpacing(char: string, fontSize: number): number;
|
|
60
|
+
/** 与度量路径一致:lineHeight 固定为 1 的样式副本 */
|
|
61
|
+
private static measureBase;
|
|
62
|
+
/**
|
|
63
|
+
* 字体级缓存键(不含 text),与 getFontMetrics 语义一致
|
|
64
|
+
*/
|
|
65
|
+
private static measureStyleKey;
|
|
66
|
+
/**
|
|
67
|
+
* 布局缓存键:样式签名 + 编码后的文本
|
|
68
|
+
*/
|
|
69
|
+
private static layoutCacheKey;
|
|
70
|
+
private static touchLru;
|
|
71
|
+
private static evictOldestIfFull;
|
|
72
|
+
/**
|
|
73
|
+
* 单次 Konva.Text 计算 width / height(advance width 含视觉间距)
|
|
74
|
+
*/
|
|
75
|
+
private static computeLayoutSizeUncached;
|
|
32
76
|
/**
|
|
33
|
-
*
|
|
34
|
-
|
|
35
|
-
|
|
77
|
+
* 一次度量:布局宽高 + 字体 ascent/descent(双缓存均未命中时只创建一个 Konva.Text)
|
|
78
|
+
*/
|
|
79
|
+
static measureTextComplete(payload: Konva.TextConfig): {
|
|
80
|
+
width: number;
|
|
81
|
+
height: number;
|
|
82
|
+
ascent: number;
|
|
83
|
+
descent: number;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* 计算字体度量
|
|
87
|
+
* ascent / descent
|
|
88
|
+
*
|
|
36
89
|
* @param payload
|
|
37
90
|
* @returns
|
|
38
91
|
*/
|
|
@@ -41,7 +94,31 @@ export declare class TextUtil {
|
|
|
41
94
|
descent: number;
|
|
42
95
|
};
|
|
43
96
|
/**
|
|
44
|
-
*
|
|
97
|
+
* 获取字符排版推进宽度
|
|
98
|
+
*
|
|
99
|
+
* 注意:
|
|
100
|
+
* 这里返回的是:
|
|
101
|
+
* advance width
|
|
102
|
+
*
|
|
103
|
+
* 而不是:
|
|
104
|
+
* glyph width
|
|
105
|
+
*
|
|
106
|
+
* 用于:
|
|
107
|
+
* - 自动换行
|
|
108
|
+
* - 光标推进
|
|
109
|
+
* - 文本布局
|
|
110
|
+
* - selection
|
|
111
|
+
*
|
|
112
|
+
* @param payload
|
|
113
|
+
* @returns
|
|
114
|
+
*/
|
|
115
|
+
static getAdvanceWidth(payload: Konva.TextConfig): number;
|
|
116
|
+
/**
|
|
117
|
+
* 计算单字符布局大小
|
|
118
|
+
*
|
|
119
|
+
* 注意:
|
|
120
|
+
* width 使用 advance width
|
|
121
|
+
*
|
|
45
122
|
* @param payload
|
|
46
123
|
* @returns
|
|
47
124
|
*/
|
|
@@ -50,12 +127,12 @@ export declare class TextUtil {
|
|
|
50
127
|
height: number;
|
|
51
128
|
};
|
|
52
129
|
/**
|
|
53
|
-
*
|
|
130
|
+
* 清除度量缓存
|
|
54
131
|
*/
|
|
55
132
|
static clearMeasureCache(): void;
|
|
56
133
|
/**
|
|
57
|
-
*
|
|
58
|
-
* @returns
|
|
134
|
+
* 获取缓存大小
|
|
135
|
+
* @returns
|
|
59
136
|
*/
|
|
60
137
|
static getMeasureCacheSize(): {
|
|
61
138
|
fontMetrics: number;
|