@next2d/text 1.18.12 → 2.0.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.
Files changed (181) hide show
  1. package/package.json +14 -18
  2. package/src/TextArea/service/TextAreaMovePositionService.d.ts +11 -0
  3. package/src/TextArea/service/TextAreaMovePositionService.js +42 -0
  4. package/src/TextArea/usecase/TextAreaCompositionEndUseCase.d.ts +9 -0
  5. package/src/TextArea/usecase/TextAreaCompositionEndUseCase.js +17 -0
  6. package/src/TextArea/usecase/TextAreaCompositionStartUseCase.d.ts +9 -0
  7. package/src/TextArea/usecase/TextAreaCompositionStartUseCase.js +17 -0
  8. package/src/TextArea/usecase/TextAreaCompositionUpdateUseCase.d.ts +10 -0
  9. package/src/TextArea/usecase/TextAreaCompositionUpdateUseCase.js +18 -0
  10. package/src/TextArea/usecase/TextAreaInputUseCase.d.ts +10 -0
  11. package/src/TextArea/usecase/TextAreaInputUseCase.js +25 -0
  12. package/src/TextArea/usecase/TextAreaRegisterEventUseCase.d.ts +10 -0
  13. package/src/TextArea/usecase/TextAreaRegisterEventUseCase.js +21 -0
  14. package/src/TextData.d.ts +103 -0
  15. package/src/TextData.js +183 -0
  16. package/src/TextField/service/TextFieldApplyChangesService.d.ts +11 -0
  17. package/src/TextField/service/TextFieldApplyChangesService.js +16 -0
  18. package/src/TextField/service/TextFieldBlinkingClearTimeoutService.d.ts +9 -0
  19. package/src/TextField/service/TextFieldBlinkingClearTimeoutService.js +16 -0
  20. package/src/TextField/service/TextFieldCompositionStartService.d.ts +11 -0
  21. package/src/TextField/service/TextFieldCompositionStartService.js +12 -0
  22. package/src/TextField/service/TextFieldPasteService.d.ts +11 -0
  23. package/src/TextField/service/TextFieldPasteService.js +16 -0
  24. package/src/TextField/usecase/TextFieldArrowDownUseCase.d.ts +12 -0
  25. package/src/TextField/usecase/TextFieldArrowDownUseCase.js +191 -0
  26. package/src/TextField/usecase/TextFieldArrowLeftUseCase.d.ts +12 -0
  27. package/src/TextField/usecase/TextFieldArrowLeftUseCase.js +98 -0
  28. package/src/TextField/usecase/TextFieldArrowRightUseCase.d.ts +12 -0
  29. package/src/TextField/usecase/TextFieldArrowRightUseCase.js +92 -0
  30. package/src/TextField/usecase/TextFieldArrowUpUseCase.d.ts +12 -0
  31. package/src/TextField/usecase/TextFieldArrowUpUseCase.js +156 -0
  32. package/src/TextField/usecase/TextFieldBlinkingUseCase.d.ts +11 -0
  33. package/src/TextField/usecase/TextFieldBlinkingUseCase.js +21 -0
  34. package/src/TextField/usecase/TextFieldBuildFromCharacterUseCase.d.ts +13 -0
  35. package/src/TextField/usecase/TextFieldBuildFromCharacterUseCase.js +58 -0
  36. package/src/TextField/usecase/TextFieldCompositionEndUseCase.d.ts +11 -0
  37. package/src/TextField/usecase/TextFieldCompositionEndUseCase.js +32 -0
  38. package/src/TextField/usecase/TextFieldCompositionUpdateUseCase.d.ts +12 -0
  39. package/src/TextField/usecase/TextFieldCompositionUpdateUseCase.js +109 -0
  40. package/src/TextField/usecase/TextFieldCopyUseCase.d.ts +11 -0
  41. package/src/TextField/usecase/TextFieldCopyUseCase.js +38 -0
  42. package/src/TextField/usecase/TextFieldDeleteTextUseCase.d.ts +11 -0
  43. package/src/TextField/usecase/TextFieldDeleteTextUseCase.js +108 -0
  44. package/src/TextField/usecase/TextFieldGetLineTextUseCase.d.ts +12 -0
  45. package/src/TextField/usecase/TextFieldGetLineTextUseCase.js +32 -0
  46. package/src/TextField/usecase/TextFieldGetTextDataUseCase.d.ts +15 -0
  47. package/src/TextField/usecase/TextFieldGetTextDataUseCase.js +26 -0
  48. package/src/TextField/usecase/TextFieldHtmlTextToRawTextUseCase.d.ts +11 -0
  49. package/src/TextField/usecase/TextFieldHtmlTextToRawTextUseCase.js +31 -0
  50. package/src/TextField/usecase/TextFieldInsertTextUseCase.d.ts +12 -0
  51. package/src/TextField/usecase/TextFieldInsertTextUseCase.js +79 -0
  52. package/src/TextField/usecase/TextFieldKeyDownEventUseCase.d.ts +12 -0
  53. package/src/TextField/usecase/TextFieldKeyDownEventUseCase.js +60 -0
  54. package/src/TextField/usecase/TextFieldReloadUseCase.d.ts +11 -0
  55. package/src/TextField/usecase/TextFieldReloadUseCase.js +25 -0
  56. package/src/TextField/usecase/TextFieldReplaceTextUseCase.d.ts +14 -0
  57. package/src/TextField/usecase/TextFieldReplaceTextUseCase.js +24 -0
  58. package/src/TextField/usecase/TextFieldResetUseCase.d.ts +11 -0
  59. package/src/TextField/usecase/TextFieldResetUseCase.js +20 -0
  60. package/src/TextField/usecase/TextFieldResizeAutoFontSizeUseCase.d.ts +11 -0
  61. package/src/TextField/usecase/TextFieldResizeAutoFontSizeUseCase.js +37 -0
  62. package/src/TextField/usecase/TextFieldResizeUseCase.d.ts +11 -0
  63. package/src/TextField/usecase/TextFieldResizeUseCase.js +49 -0
  64. package/src/TextField/usecase/TextFieldSelectAllUseCase.d.ts +11 -0
  65. package/src/TextField/usecase/TextFieldSelectAllUseCase.js +20 -0
  66. package/src/TextField/usecase/TextFieldSelectedFocusMoveUseCase.d.ts +11 -0
  67. package/src/TextField/usecase/TextFieldSelectedFocusMoveUseCase.js +90 -0
  68. package/src/TextField/usecase/TextFieldSetFocusIndexUseCase.d.ts +14 -0
  69. package/src/TextField/usecase/TextFieldSetFocusIndexUseCase.js +197 -0
  70. package/src/TextField/usecase/TextFieldSetFocusUseCase.d.ts +11 -0
  71. package/src/TextField/usecase/TextFieldSetFocusUseCase.js +43 -0
  72. package/src/TextField/usecase/TextFieldSetScrollXUseCase.d.ts +12 -0
  73. package/src/TextField/usecase/TextFieldSetScrollXUseCase.js +66 -0
  74. package/src/TextField/usecase/TextFieldSetScrollYUseCase.d.ts +12 -0
  75. package/src/TextField/usecase/TextFieldSetScrollYUseCase.js +66 -0
  76. package/src/TextField/usecase/TextFieldUpdateStopIndexUseCase.d.ts +12 -0
  77. package/src/TextField/usecase/TextFieldUpdateStopIndexUseCase.js +82 -0
  78. package/src/TextField.d.ts +602 -0
  79. package/src/TextField.js +1292 -0
  80. package/src/TextFormat/service/TextFormatGenerateFontStyleService.d.ts +11 -0
  81. package/src/TextFormat/service/TextFormatGenerateFontStyleService.js +19 -0
  82. package/src/TextFormat/service/TextFormatGetWidthMarginService.d.ts +11 -0
  83. package/src/TextFormat/service/TextFormatGetWidthMarginService.js +19 -0
  84. package/src/TextFormat/service/TextFormatHtmlTextGenerateStyleService.d.ts +11 -0
  85. package/src/TextFormat/service/TextFormatHtmlTextGenerateStyleService.js +51 -0
  86. package/src/TextFormat/service/TextFormatIsSameService.d.ts +12 -0
  87. package/src/TextFormat/service/TextFormatIsSameService.js +28 -0
  88. package/src/TextFormat/service/TextFormatSetDefaultService.d.ts +11 -0
  89. package/src/TextFormat/service/TextFormatSetDefaultService.js +22 -0
  90. package/{dist → src}/TextFormat.d.ts +42 -128
  91. package/src/TextFormat.js +233 -0
  92. package/src/TextParser/service/TextParserAdjustmentHeightService.d.ts +11 -0
  93. package/src/TextParser/service/TextParserAdjustmentHeightService.js +24 -0
  94. package/src/TextParser/service/TextParserParseStyleService.d.ts +11 -0
  95. package/src/TextParser/service/TextParserParseStyleService.js +80 -0
  96. package/src/TextParser/usecase/TextParserCreateNewLineUseCase.d.ts +13 -0
  97. package/src/TextParser/usecase/TextParserCreateNewLineUseCase.js +35 -0
  98. package/src/TextParser/usecase/TextParserParseHtmlTextUseCase.d.ts +15 -0
  99. package/src/TextParser/usecase/TextParserParseHtmlTextUseCase.js +37 -0
  100. package/src/TextParser/usecase/TextParserParseTagUseCase.d.ts +17 -0
  101. package/src/TextParser/usecase/TextParserParseTagUseCase.js +57 -0
  102. package/src/TextParser/usecase/TextParserParseTextUseCase.d.ts +16 -0
  103. package/src/TextParser/usecase/TextParserParseTextUseCase.js +140 -0
  104. package/src/TextParser/usecase/TextParserSetAttributesUseCase.d.ts +14 -0
  105. package/src/TextParser/usecase/TextParserSetAttributesUseCase.js +63 -0
  106. package/src/TextUtil.d.ts +114 -0
  107. package/src/TextUtil.js +186 -0
  108. package/src/index.d.ts +3 -0
  109. package/src/index.js +3 -0
  110. package/src/interface/IAttributeObject.d.ts +4 -0
  111. package/src/interface/IBlendMode.d.ts +1 -0
  112. package/src/interface/IBounds.d.ts +6 -0
  113. package/src/interface/ICharacter.d.ts +5 -0
  114. package/src/interface/ICharacter.js +1 -0
  115. package/src/interface/IDictionaryTag.d.ts +8 -0
  116. package/src/interface/IDictionaryTag.js +1 -0
  117. package/src/interface/IElementPosition.d.ts +4 -0
  118. package/src/interface/IElementPosition.js +1 -0
  119. package/src/interface/IFilterArray.d.ts +2 -0
  120. package/src/interface/IFilterArray.js +1 -0
  121. package/src/interface/IGrid.d.ts +6 -0
  122. package/src/interface/IGrid.js +1 -0
  123. package/src/interface/ILoopConfig.d.ts +8 -0
  124. package/src/interface/ILoopConfig.js +1 -0
  125. package/src/interface/ILoopType.d.ts +1 -0
  126. package/src/interface/ILoopType.js +1 -0
  127. package/src/interface/IMovieClipActionObject.d.ts +5 -0
  128. package/src/interface/IMovieClipActionObject.js +1 -0
  129. package/src/interface/IMovieClipCharacter.d.ts +17 -0
  130. package/src/interface/IMovieClipCharacter.js +1 -0
  131. package/src/interface/IMovieClipLabelObject.d.ts +4 -0
  132. package/src/interface/IMovieClipLabelObject.js +1 -0
  133. package/src/interface/IMovieClipSoundObject.d.ts +5 -0
  134. package/src/interface/IMovieClipSoundObject.js +1 -0
  135. package/src/interface/IOptions.d.ts +8 -0
  136. package/src/interface/IOptions.js +1 -0
  137. package/src/interface/IPlaceObject.d.ts +14 -0
  138. package/src/interface/IPlaceObject.js +1 -0
  139. package/src/interface/IRGBA.d.ts +6 -0
  140. package/src/interface/IRGBA.js +1 -0
  141. package/src/interface/IShapeCharacter.d.ts +14 -0
  142. package/src/interface/IShapeCharacter.js +1 -0
  143. package/src/interface/ISoundTag.d.ts +6 -0
  144. package/src/interface/ISoundTag.js +1 -0
  145. package/src/interface/ISurfaceFilter.d.ts +6 -0
  146. package/src/interface/ISurfaceFilter.js +1 -0
  147. package/src/interface/ITextFieldAutoSize.d.ts +1 -0
  148. package/src/interface/ITextFieldAutoSize.js +1 -0
  149. package/src/interface/ITextFieldCharacter copy.d.ts +26 -0
  150. package/src/interface/ITextFieldCharacter copy.js +1 -0
  151. package/src/interface/ITextFieldCharacter.d.ts +26 -0
  152. package/src/interface/ITextFieldCharacter.js +1 -0
  153. package/src/interface/ITextFieldType copy.d.ts +1 -0
  154. package/src/interface/ITextFieldType copy.js +1 -0
  155. package/src/interface/ITextFieldType.d.ts +1 -0
  156. package/src/interface/ITextFieldType.js +1 -0
  157. package/src/interface/ITextFormatAlign copy.d.ts +1 -0
  158. package/src/interface/ITextFormatAlign copy.js +1 -0
  159. package/src/interface/ITextFormatAlign.d.ts +1 -0
  160. package/src/interface/ITextFormatAlign.js +1 -0
  161. package/src/interface/ITextFormatObject.d.ts +14 -0
  162. package/src/interface/ITextFormatObject.js +1 -0
  163. package/src/interface/ITextObject.d.ts +12 -0
  164. package/src/interface/ITextObject.js +1 -0
  165. package/src/interface/ITextObjectMode.d.ts +1 -0
  166. package/src/interface/ITextObjectMode.js +1 -0
  167. package/src/interface/IVideoCharacter.d.ts +11 -0
  168. package/src/interface/IVideoCharacter.js +1 -0
  169. package/dist/TextData.d.ts +0 -74
  170. package/dist/TextData.js +0 -132
  171. package/dist/TextFormat.js +0 -493
  172. package/dist/TextParser.d.ts +0 -23
  173. package/dist/TextParser.js +0 -459
  174. package/dist/index.d.ts +0 -3
  175. package/dist/index.js +0 -3
  176. package/dist/interface/OptionsImpl.d.ts +0 -8
  177. package/dist/interface/TextObjectImpl.d.ts +0 -12
  178. package/dist/interface/TextObjectModeImpl.d.ts +0 -1
  179. /package/{dist/interface/OptionsImpl.js → src/interface/IAttributeObject.js} +0 -0
  180. /package/{dist/interface/TextObjectImpl.js → src/interface/IBlendMode.js} +0 -0
  181. /package/{dist/interface/TextObjectModeImpl.js → src/interface/IBounds.js} +0 -0
@@ -1,493 +0,0 @@
1
- import { $clamp, $intToRGBA, $toColorInt } from "@next2d/share";
2
- /**
3
- * TextFormat クラスは、文字フォーマット情報を表します。
4
- * TextFormat クラスを使用して、テキストフィールドに特定のテキストフォーマットを作成します。
5
- *
6
- * The TextFormat class represents character formatting information.
7
- * Use the TextFormat class to create specific text formatting for text fields.
8
- *
9
- * @class
10
- * @memberOf next2d.text
11
- */
12
- export class TextFormat {
13
- /**
14
- * @param {string} [font=null]
15
- * @param {number} [size=null]
16
- * @param {number} [color=null]
17
- * @param {boolean} [bold=null]
18
- * @param {boolean} [italic=null]
19
- * @param {boolean} [underline=null]
20
- * @param {string} [align=null]
21
- * @param {number} [left_margin=null]
22
- * @param {number} [right_margin=null]
23
- * @param {number} [leading=null]
24
- *
25
- * @constructor
26
- * @public
27
- */
28
- constructor(font = null, size = null, color = null, bold = null, italic = null, underline = null, align = null, left_margin = null, right_margin = null, leading = null) {
29
- /**
30
- * @type {string}
31
- * @default null
32
- * @private
33
- */
34
- this._$font = font;
35
- /**
36
- * @type {number}
37
- * @default null
38
- * @private
39
- */
40
- this._$size = size;
41
- /**
42
- * @type {number}
43
- * @default null
44
- * @private
45
- */
46
- this._$color = color === null
47
- ? null
48
- : $clamp($toColorInt(color), 0, 0xffffff, 0);
49
- /**
50
- * @type {boolean}
51
- * @default null
52
- * @private
53
- */
54
- this._$bold = bold;
55
- /**
56
- * @type {boolean}
57
- * @default null
58
- * @private
59
- */
60
- this._$italic = italic;
61
- /**
62
- * @type {boolean}
63
- * @default null
64
- * @private
65
- */
66
- this._$underline = underline;
67
- /**
68
- * @type {string}
69
- * @default null
70
- * @private
71
- */
72
- this._$align = align;
73
- /**
74
- * @type {number}
75
- * @default null
76
- * @private
77
- */
78
- this._$leftMargin = left_margin;
79
- /**
80
- * @type {number}
81
- * @default null
82
- * @private
83
- */
84
- this._$rightMargin = right_margin;
85
- /**
86
- * @type {number}
87
- * @default null
88
- * @private
89
- */
90
- this._$leading = leading;
91
- /**
92
- * @type {number}
93
- * @default 0
94
- * @private
95
- */
96
- this._$letterSpacing = 0;
97
- }
98
- /**
99
- * @description 指定されたクラスのストリングを返します。
100
- * Returns the string representation of the specified class.
101
- *
102
- * @return {string}
103
- * @default [class TextFormat]
104
- * @method
105
- * @static
106
- */
107
- static toString() {
108
- return "[class TextFormat]";
109
- }
110
- /**
111
- * @description 指定されたクラスの空間名を返します。
112
- * Returns the space name of the specified class.
113
- *
114
- * @return {string}
115
- * @default next2d.text.TextFormat
116
- * @const
117
- * @static
118
- */
119
- static get namespace() {
120
- return "next2d.text.TextFormat";
121
- }
122
- /**
123
- * @description 指定されたオブジェクトのストリングを返します。
124
- * Returns the string representation of the specified object.
125
- *
126
- * @return {string}
127
- * @default [object TextFormat]
128
- * @method
129
- * @public
130
- */
131
- toString() {
132
- return "[object TextFormat]";
133
- }
134
- /**
135
- * @description 指定されたオブジェクトの空間名を返します。
136
- * Returns the space name of the specified object.
137
- *
138
- * @return {string}
139
- * @default next2d.text.TextFormat
140
- * @const
141
- * @public
142
- */
143
- get namespace() {
144
- return "next2d.text.TextFormat";
145
- }
146
- /**
147
- * @description 段落の行揃えの設定を示します。
148
- * Indicates the alignment of the paragraph.
149
- *
150
- * @member {string}
151
- * @default null
152
- * @public
153
- */
154
- get align() {
155
- return this._$align;
156
- }
157
- set align(align) {
158
- this._$align = align;
159
- }
160
- /**
161
- * @description テキストをボールドにするかどうかを指定します。
162
- * Specifies whether the text is boldface.
163
- *
164
- * @member {boolean}
165
- * @default null
166
- * @public
167
- */
168
- get bold() {
169
- return this._$bold;
170
- }
171
- set bold(bold) {
172
- this._$bold = bold !== null ? !!bold : null;
173
- }
174
- /**
175
- * @description テキストの色を示します。
176
- * Indicates the color of the text.
177
- *
178
- * @member {number}
179
- * @default null
180
- * @public
181
- */
182
- get color() {
183
- return this._$color;
184
- }
185
- set color(color) {
186
- this._$color = color;
187
- if (color) {
188
- this._$color = $clamp($toColorInt(color), 0, 0xffffff, 0);
189
- }
190
- }
191
- /**
192
- * @description このテキストフォーマットでのテキストフォント名を示すストリングです。
193
- * The name of the font for text in this text format, as a string.
194
- *
195
- * @member {string}
196
- * @default null
197
- * @public
198
- */
199
- get font() {
200
- return this._$font;
201
- }
202
- set font(font) {
203
- this._$font = font !== null ? `${font}` : null;
204
- }
205
- /**
206
- * @description このテキストフォーマットのテキストをイタリックにするかどうかを示します。
207
- * Indicates whether text in this text format is italicized.
208
- *
209
- * @member {boolean}
210
- * @default null
211
- * @public
212
- */
213
- get italic() {
214
- return this._$italic;
215
- }
216
- set italic(italic) {
217
- this._$italic = italic !== null ? !!italic : null;
218
- }
219
- /**
220
- * @description 行間の垂直の行送りを示す整数です。
221
- * An integer representing the amount
222
- * of vertical space (called leading) between lines.
223
- *
224
- * @member {number}
225
- * @default null
226
- * @public
227
- */
228
- get leading() {
229
- return this._$leading;
230
- }
231
- set leading(leading) {
232
- this._$leading = leading;
233
- }
234
- /**
235
- * @description 段落の左インデントをピクセル単位で示します。
236
- * The left margin of the paragraph, in pixels.
237
- *
238
- * @member {number}
239
- * @default null
240
- * @public
241
- */
242
- get leftMargin() {
243
- return this._$leftMargin;
244
- }
245
- set leftMargin(left_margin) {
246
- this._$leftMargin = left_margin;
247
- }
248
- /**
249
- * @description すべての文字の間に均等に配分されるスペースの量を表す数値です。
250
- * A object representing the amount
251
- * of space that is uniformly distributed between all characters.
252
- *
253
- * @member {number}
254
- * @default null
255
- * @public
256
- */
257
- get letterSpacing() {
258
- return this._$letterSpacing;
259
- }
260
- set letterSpacing(letter_spacing) {
261
- this._$letterSpacing = letter_spacing;
262
- }
263
- /**
264
- * @description 段落の右インデントをピクセル単位で示します。
265
- * The right margin of the paragraph, in pixels.
266
- *
267
- * @member {number}
268
- * @default null
269
- * @public
270
- */
271
- get rightMargin() {
272
- return this._$rightMargin;
273
- }
274
- set rightMargin(right_margin) {
275
- this._$rightMargin = right_margin;
276
- }
277
- /**
278
- * @description このテキストフォーマットのテキストのサイズ(ピクセル単位)です。
279
- * The size in pixels of text in this text format.
280
- *
281
- * @member {number}
282
- * @default null
283
- * @public
284
- */
285
- get size() {
286
- return this._$size;
287
- }
288
- set size(size) {
289
- this._$size = size ? size | 0 : null;
290
- }
291
- /**
292
- * @description このテキストフォーマットを使用するテキストに
293
- * アンダーラインを表示する(true)か、表示しない(false)かを示します。
294
- * Indicates whether the text that uses this text format
295
- * is underlined (true) or not (false).
296
- *
297
- * @member {boolean}
298
- * @default null
299
- * @public
300
- */
301
- get underline() {
302
- return this._$underline;
303
- }
304
- set underline(underline) {
305
- this._$underline = underline !== null ? !!underline : null;
306
- }
307
- /**
308
- * @return {string}
309
- * @method
310
- * @private
311
- */
312
- _$toStyleString() {
313
- let style = "";
314
- if (this._$font) {
315
- style += `font-family: ${this._$font};`;
316
- }
317
- if (this._$size) {
318
- style += `font-size: ${this._$size}px;`;
319
- }
320
- if (this._$color) {
321
- const color = $intToRGBA($toColorInt(this._$color));
322
- const R = color.R.toString(16).padStart(2, "0");
323
- const G = color.G.toString(16).padStart(2, "0");
324
- const B = color.B.toString(16).padStart(2, "0");
325
- style += `color: #${R}${G}${B};`;
326
- }
327
- if (this._$bold) {
328
- style += "font-weight: bold;";
329
- }
330
- if (this._$italic) {
331
- style += "font-style: italic;";
332
- }
333
- if (this._$underline) {
334
- style += "text-decoration: underline;";
335
- }
336
- if (this._$align) {
337
- style += `text-align: ${this._$align};`;
338
- }
339
- if (this._$leftMargin) {
340
- style += `margin-left: ${this._$leftMargin}px;`;
341
- }
342
- if (this._$rightMargin) {
343
- style += `margin-right: ${this._$rightMargin}px;`;
344
- }
345
- if (this._$leading) {
346
- style += `margin-bottom: ${this._$leading}px;`;
347
- }
348
- if (this._$letterSpacing) {
349
- style += `letter-spacing: ${this._$letterSpacing}px;`;
350
- }
351
- return style;
352
- }
353
- /**
354
- * @return {boolean}
355
- * @method
356
- * @private
357
- */
358
- _$isSame(text_format) {
359
- if (this._$font !== text_format.font) {
360
- return false;
361
- }
362
- if (this._$size !== text_format.size) {
363
- return false;
364
- }
365
- if (this._$color !== text_format.color) {
366
- return false;
367
- }
368
- if (this._$bold !== text_format.bold) {
369
- return false;
370
- }
371
- if (this._$italic !== text_format.italic) {
372
- return false;
373
- }
374
- if (this._$underline !== text_format.underline) {
375
- return false;
376
- }
377
- if (this._$align !== text_format.align) {
378
- return false;
379
- }
380
- if (this._$leftMargin !== text_format.leftMargin) {
381
- return false;
382
- }
383
- if (this._$rightMargin !== text_format.rightMargin) {
384
- return false;
385
- }
386
- if (this._$leading !== text_format.leading) {
387
- return false;
388
- }
389
- if (this._$letterSpacing !== text_format.letterSpacing) {
390
- return false;
391
- }
392
- return true;
393
- }
394
- /**
395
- * @return {next2d.text.TextFormat}
396
- * @method
397
- * @private
398
- */
399
- _$clone() {
400
- const textFormat = new TextFormat(this._$font, this._$size, this._$color, this._$bold, this._$italic, this._$underline, this._$align, this._$leftMargin, this._$rightMargin, this._$leading);
401
- textFormat._$letterSpacing = this._$letterSpacing;
402
- return textFormat;
403
- }
404
- /**
405
- * @return {void}
406
- * @method
407
- * @private
408
- */
409
- _$setDefault() {
410
- this._$align = "left";
411
- this._$bold = false;
412
- this._$color = 0;
413
- this._$font = "Times New Roman";
414
- this._$italic = false;
415
- this._$leading = 0;
416
- this._$leftMargin = 0;
417
- this._$letterSpacing = 0;
418
- this._$rightMargin = 0;
419
- this._$size = 12;
420
- this._$underline = false;
421
- }
422
- /**
423
- * @param {TextFormat} text_format
424
- * @return {void}
425
- * @method
426
- * @private
427
- */
428
- _$merge(text_format) {
429
- if (this._$align === null) {
430
- this._$align = text_format._$align;
431
- }
432
- if (this._$bold === null) {
433
- this._$bold = text_format._$bold;
434
- }
435
- if (this._$color === null) {
436
- this._$color = text_format._$color;
437
- }
438
- if (this._$font === null) {
439
- this._$font = text_format._$font;
440
- }
441
- if (this._$italic === null) {
442
- this._$italic = text_format._$italic;
443
- }
444
- if (this._$leading === null) {
445
- this._$leading = text_format._$leading;
446
- }
447
- if (this._$leftMargin === null) {
448
- this._$leftMargin = text_format._$leftMargin;
449
- }
450
- if (this._$letterSpacing === null) {
451
- this._$letterSpacing = text_format._$letterSpacing;
452
- }
453
- if (this._$rightMargin === null) {
454
- this._$rightMargin = text_format._$rightMargin;
455
- }
456
- if (this._$size === null) {
457
- this._$size = text_format._$size;
458
- }
459
- if (this._$underline === null) {
460
- this._$underline = text_format._$underline;
461
- }
462
- }
463
- /**
464
- * @return {number}
465
- * @method
466
- * @private
467
- */
468
- _$widthMargin() {
469
- let width = 0;
470
- if (this._$leftMargin) {
471
- width += this._$leftMargin;
472
- }
473
- if (this._$rightMargin) {
474
- width += this._$rightMargin;
475
- }
476
- return width;
477
- }
478
- /**
479
- * @return {string}
480
- * @method
481
- * @private
482
- */
483
- _$generateFontStyle() {
484
- let fontStyle = "";
485
- if (this._$italic) {
486
- fontStyle = "italic ";
487
- }
488
- if (this._$bold) {
489
- fontStyle += "bold ";
490
- }
491
- return `${fontStyle}${this._$size}px '${this._$font}',sans-serif`;
492
- }
493
- }
@@ -1,23 +0,0 @@
1
- import { TextData } from "./TextData";
2
- import { TextFormat } from "./TextFormat";
3
- import type { OptionsImpl } from "./interface/OptionsImpl";
4
- /**
5
- * @description 文字列のテキストを分解・解析して配列戻す
6
- *
7
- * @param {string} text
8
- * @param {object} [options = null]
9
- * @return {TextData}
10
- * @method
11
- * @public
12
- */
13
- export declare const parsePlainText: (text: string, text_format: TextFormat, options: OptionsImpl) => TextData;
14
- /**
15
- * @description HTMLを分解・解析して配列戻す
16
- *
17
- * @param {string} html_text
18
- * @param {object} [options = null]
19
- * @return {array}
20
- * @method
21
- * @public
22
- */
23
- export declare const parseHtmlText: (html_text: string, text_format: TextFormat, options: OptionsImpl) => TextData;