/
index.d.ts
61 lines (54 loc) · 2.27 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
* 2つの文字列引数を受け取り、変換後の文字列を返す関数の型定義です。
* この関数は、現在のノードの値と次のノードの値を元に、何らかの変換処理を行うことを想定しています。
*
* @param currentNodeValue - 現在のノードの値。
* @param nextNodeValue - 次のノードの値(存在する場合)。存在しない場合は空文字列を想定。
* @return 変換後の文字列。
*/
export type TransformFunction = (currentNodeValue: string, nextNodeValue: string, options: TypesettingOptions) => string
/**
* 組版処理に関する設定オプションの型定義です。
*/
export interface TypesettingOptions {
/**
* HTML内のテキストにWBRタグを自動的に追加するかどうかを指定します。
* WBRタグは、必要に応じて改行の挿入を許可するために使用されます。
*/
useWordBreak?: boolean
/**
* 英数を .typesetting-latin でラップします。
* useWordBreak が true の場合にのみ有効です。
*/
wrapLatin?: boolean
/**
* 分離禁則文字を .typesetting-no-breaks でラップし、文字間を 0 に設定します。
* useWordBreak が true の場合にのみ有効です。
*/
noSpaceBetweenNoBreaks?: boolean
/**
* HTML内のテキストに四分アキを自動的に挿入するかどうかを指定します。
* 四分アキは、視覚的なスペースを微調整するために使用されます。
*/
insertThinSpaces?: boolean
/**
* 四分アキの幅を指定します。
* 例えば'20%'と指定すると、四分アキは通常のスペースの20%の幅になります。
* insertThinSpaces が true の場合のみ有効です。
*/
thinSpaceWidth?: string
/**
* カーニングを適用するためのルールのリスト。
* 各ルールは、特定の文字ペア間に適用されるカーニング値を指定します。
*/
kerningRules?: KerningRule[]
}
/**
* カーニングルールを定義するインターフェース。
* between: 文字ペアを定義します。
* value: 適用するカーニング値(1000 = 1em)を指定します。
*/
export interface KerningRule {
between: [string, string]
value: string | number
}