@nasser-sw/fabric 7.0.1-beta8 → 7.0.1-beta9

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 (138) hide show
  1. package/debug/konva-master/CHANGELOG.md +1475 -0
  2. package/debug/konva-master/LICENSE +22 -0
  3. package/debug/konva-master/README.md +209 -0
  4. package/debug/konva-master/gulpfile.mjs +110 -0
  5. package/debug/konva-master/package.json +139 -0
  6. package/debug/konva-master/release.sh +62 -0
  7. package/debug/konva-master/resources/doc-includes/ContainerParams.txt +6 -0
  8. package/debug/konva-master/resources/doc-includes/NodeParams.txt +20 -0
  9. package/debug/konva-master/resources/doc-includes/ShapeParams.txt +53 -0
  10. package/debug/konva-master/resources/jsdoc.conf.json +28 -0
  11. package/debug/konva-master/rollup.config.mjs +32 -0
  12. package/debug/konva-master/src/Animation.ts +237 -0
  13. package/debug/konva-master/src/BezierFunctions.ts +826 -0
  14. package/debug/konva-master/src/Canvas.ts +230 -0
  15. package/debug/konva-master/src/Container.ts +649 -0
  16. package/debug/konva-master/src/Context.ts +1017 -0
  17. package/debug/konva-master/src/Core.ts +5 -0
  18. package/debug/konva-master/src/DragAndDrop.ts +173 -0
  19. package/debug/konva-master/src/Factory.ts +246 -0
  20. package/debug/konva-master/src/FastLayer.ts +29 -0
  21. package/debug/konva-master/src/Global.ts +210 -0
  22. package/debug/konva-master/src/Group.ts +31 -0
  23. package/debug/konva-master/src/Layer.ts +546 -0
  24. package/debug/konva-master/src/Node.ts +3477 -0
  25. package/debug/konva-master/src/PointerEvents.ts +67 -0
  26. package/debug/konva-master/src/Shape.ts +2081 -0
  27. package/debug/konva-master/src/Stage.ts +1000 -0
  28. package/debug/konva-master/src/Tween.ts +811 -0
  29. package/debug/konva-master/src/Util.ts +1123 -0
  30. package/debug/konva-master/src/Validators.ts +210 -0
  31. package/debug/konva-master/src/_CoreInternals.ts +85 -0
  32. package/debug/konva-master/src/_FullInternals.ts +171 -0
  33. package/debug/konva-master/src/canvas-backend.ts +36 -0
  34. package/debug/konva-master/src/filters/Blur.ts +388 -0
  35. package/debug/konva-master/src/filters/Brighten.ts +48 -0
  36. package/debug/konva-master/src/filters/Brightness.ts +30 -0
  37. package/debug/konva-master/src/filters/Contrast.ts +75 -0
  38. package/debug/konva-master/src/filters/Emboss.ts +207 -0
  39. package/debug/konva-master/src/filters/Enhance.ts +154 -0
  40. package/debug/konva-master/src/filters/Grayscale.ts +25 -0
  41. package/debug/konva-master/src/filters/HSL.ts +108 -0
  42. package/debug/konva-master/src/filters/HSV.ts +106 -0
  43. package/debug/konva-master/src/filters/Invert.ts +23 -0
  44. package/debug/konva-master/src/filters/Kaleidoscope.ts +274 -0
  45. package/debug/konva-master/src/filters/Mask.ts +220 -0
  46. package/debug/konva-master/src/filters/Noise.ts +44 -0
  47. package/debug/konva-master/src/filters/Pixelate.ts +107 -0
  48. package/debug/konva-master/src/filters/Posterize.ts +46 -0
  49. package/debug/konva-master/src/filters/RGB.ts +82 -0
  50. package/debug/konva-master/src/filters/RGBA.ts +103 -0
  51. package/debug/konva-master/src/filters/Sepia.ts +27 -0
  52. package/debug/konva-master/src/filters/Solarize.ts +29 -0
  53. package/debug/konva-master/src/filters/Threshold.ts +44 -0
  54. package/debug/konva-master/src/index.ts +3 -0
  55. package/debug/konva-master/src/shapes/Arc.ts +176 -0
  56. package/debug/konva-master/src/shapes/Arrow.ts +231 -0
  57. package/debug/konva-master/src/shapes/Circle.ts +76 -0
  58. package/debug/konva-master/src/shapes/Ellipse.ts +121 -0
  59. package/debug/konva-master/src/shapes/Image.ts +319 -0
  60. package/debug/konva-master/src/shapes/Label.ts +386 -0
  61. package/debug/konva-master/src/shapes/Line.ts +364 -0
  62. package/debug/konva-master/src/shapes/Path.ts +1013 -0
  63. package/debug/konva-master/src/shapes/Rect.ts +79 -0
  64. package/debug/konva-master/src/shapes/RegularPolygon.ts +167 -0
  65. package/debug/konva-master/src/shapes/Ring.ts +94 -0
  66. package/debug/konva-master/src/shapes/Sprite.ts +370 -0
  67. package/debug/konva-master/src/shapes/Star.ts +125 -0
  68. package/debug/konva-master/src/shapes/Text.ts +1065 -0
  69. package/debug/konva-master/src/shapes/TextPath.ts +583 -0
  70. package/debug/konva-master/src/shapes/Transformer.ts +1889 -0
  71. package/debug/konva-master/src/shapes/Wedge.ts +129 -0
  72. package/debug/konva-master/src/skia-backend.ts +35 -0
  73. package/debug/konva-master/src/types.ts +84 -0
  74. package/debug/konva-master/tsconfig.json +31 -0
  75. package/debug/konva-master/tsconfig.test.json +7 -0
  76. package/dist/index.js +915 -23
  77. package/dist/index.js.map +1 -1
  78. package/dist/index.min.js +1 -1
  79. package/dist/index.min.js.map +1 -1
  80. package/dist/index.min.mjs +1 -1
  81. package/dist/index.min.mjs.map +1 -1
  82. package/dist/index.mjs +915 -23
  83. package/dist/index.mjs.map +1 -1
  84. package/dist/index.node.cjs +915 -23
  85. package/dist/index.node.cjs.map +1 -1
  86. package/dist/index.node.mjs +915 -23
  87. package/dist/index.node.mjs.map +1 -1
  88. package/dist/package.json.min.mjs +1 -1
  89. package/dist/package.json.mjs +1 -1
  90. package/dist/src/shapes/Text/Text.d.ts +19 -0
  91. package/dist/src/shapes/Text/Text.d.ts.map +1 -1
  92. package/dist/src/shapes/Text/Text.min.mjs +1 -1
  93. package/dist/src/shapes/Text/Text.min.mjs.map +1 -1
  94. package/dist/src/shapes/Text/Text.mjs +238 -4
  95. package/dist/src/shapes/Text/Text.mjs.map +1 -1
  96. package/dist/src/shapes/Textbox.d.ts +38 -1
  97. package/dist/src/shapes/Textbox.d.ts.map +1 -1
  98. package/dist/src/shapes/Textbox.min.mjs +1 -1
  99. package/dist/src/shapes/Textbox.min.mjs.map +1 -1
  100. package/dist/src/shapes/Textbox.mjs +497 -15
  101. package/dist/src/shapes/Textbox.mjs.map +1 -1
  102. package/dist/src/text/examples/arabicTextExample.d.ts +60 -0
  103. package/dist/src/text/examples/arabicTextExample.d.ts.map +1 -0
  104. package/dist/src/text/measure.d.ts +9 -0
  105. package/dist/src/text/measure.d.ts.map +1 -1
  106. package/dist/src/text/measure.min.mjs +1 -1
  107. package/dist/src/text/measure.min.mjs.map +1 -1
  108. package/dist/src/text/measure.mjs +175 -4
  109. package/dist/src/text/measure.mjs.map +1 -1
  110. package/dist/src/text/overlayEditor.d.ts.map +1 -1
  111. package/dist/src/text/overlayEditor.min.mjs +1 -1
  112. package/dist/src/text/overlayEditor.min.mjs.map +1 -1
  113. package/dist/src/text/overlayEditor.mjs +7 -0
  114. package/dist/src/text/overlayEditor.mjs.map +1 -1
  115. package/dist/src/text/scriptUtils.d.ts +142 -0
  116. package/dist/src/text/scriptUtils.d.ts.map +1 -0
  117. package/dist/src/text/scriptUtils.min.mjs +2 -0
  118. package/dist/src/text/scriptUtils.min.mjs.map +1 -0
  119. package/dist/src/text/scriptUtils.mjs +212 -0
  120. package/dist/src/text/scriptUtils.mjs.map +1 -0
  121. package/dist-extensions/src/shapes/Text/Text.d.ts +19 -0
  122. package/dist-extensions/src/shapes/Text/Text.d.ts.map +1 -1
  123. package/dist-extensions/src/shapes/Textbox.d.ts +38 -1
  124. package/dist-extensions/src/shapes/Textbox.d.ts.map +1 -1
  125. package/dist-extensions/src/text/measure.d.ts +9 -0
  126. package/dist-extensions/src/text/measure.d.ts.map +1 -1
  127. package/dist-extensions/src/text/overlayEditor.d.ts.map +1 -1
  128. package/dist-extensions/src/text/scriptUtils.d.ts +142 -0
  129. package/dist-extensions/src/text/scriptUtils.d.ts.map +1 -0
  130. package/fabric-test-editor.html +2401 -46
  131. package/fonts/STV Bold.ttf +0 -0
  132. package/fonts/STV Light.ttf +0 -0
  133. package/fonts/STV Regular.ttf +0 -0
  134. package/package.json +1 -1
  135. package/src/shapes/Text/Text.ts +238 -5
  136. package/src/shapes/Textbox.ts +521 -11
  137. package/src/text/measure.ts +200 -50
  138. package/src/text/overlayEditor.ts +7 -0
@@ -0,0 +1,212 @@
1
+ /**
2
+ * Script Detection and Font Metrics Utilities
3
+ *
4
+ * Provides script-aware text measurement for improved bounding box calculations
5
+ * across different writing systems like Arabic, Latin, CJK, etc.
6
+ */
7
+
8
+ /**
9
+ * Unicode ranges for different scripts
10
+ */
11
+ const SCRIPT_RANGES = {
12
+ latin: [[0x0000, 0x007F],
13
+ // Basic Latin
14
+ [0x0080, 0x00FF],
15
+ // Latin-1 Supplement
16
+ [0x0100, 0x017F],
17
+ // Latin Extended-A
18
+ [0x0180, 0x024F],
19
+ // Latin Extended-B
20
+ [0x1E00, 0x1EFF] // Latin Extended Additional
21
+ ],
22
+ arabic: [[0x0600, 0x06FF],
23
+ // Arabic
24
+ [0x0750, 0x077F],
25
+ // Arabic Supplement
26
+ [0x08A0, 0x08FF],
27
+ // Arabic Extended-A
28
+ [0xFB50, 0xFDFF],
29
+ // Arabic Presentation Forms-A
30
+ [0xFE70, 0xFEFF] // Arabic Presentation Forms-B
31
+ ],
32
+ hebrew: [[0x0590, 0x05FF],
33
+ // Hebrew
34
+ [0xFB1D, 0xFB4F] // Hebrew Presentation Forms
35
+ ],
36
+ cjk: [[0x2E80, 0x2EFF],
37
+ // CJK Radicals Supplement
38
+ [0x3000, 0x303F],
39
+ // CJK Symbols and Punctuation
40
+ [0x3400, 0x4DBF],
41
+ // CJK Extension A
42
+ [0x4E00, 0x9FFF],
43
+ // CJK Unified Ideographs
44
+ [0xF900, 0xFAFF],
45
+ // CJK Compatibility Ideographs
46
+ [0x20000, 0x2A6DF] // CJK Extension B
47
+ ],
48
+ devanagari: [[0x0900, 0x097F],
49
+ // Devanagari
50
+ [0xA8E0, 0xA8FF] // Devanagari Extended
51
+ ],
52
+ thai: [[0x0E00, 0x0E7F] // Thai
53
+ ]
54
+ };
55
+
56
+ /**
57
+ * Reference characters for font metrics by script
58
+ */
59
+ const SCRIPT_REFERENCE_CHARS = {
60
+ latin: 'M',
61
+ arabic: 'ا',
62
+ // Arabic Letter Alef
63
+ hebrew: 'ם',
64
+ // Hebrew Letter Final Mem
65
+ cjk: '中',
66
+ // Chinese character for "middle"
67
+ devanagari: 'म',
68
+ // Devanagari Letter Ma
69
+ thai: 'ก',
70
+ // Thai Letter Ko Kai
71
+ mixed: 'M',
72
+ // Fallback to Latin
73
+ unknown: 'M' // Fallback to Latin
74
+ };
75
+
76
+ /**
77
+ * Script-specific fallback proportions for font metrics
78
+ */
79
+ const SCRIPT_METRICS = {
80
+ latin: {
81
+ ascentRatio: 0.91,
82
+ descentRatio: 0.21,
83
+ actualAscentRatio: 0.716,
84
+ actualDescentRatio: 0.0
85
+ },
86
+ arabic: {
87
+ ascentRatio: 0.85,
88
+ // Arabic fonts typically have lower ascenders
89
+ descentRatio: 0.30,
90
+ // But deeper descenders for diacritics
91
+ actualAscentRatio: 0.65,
92
+ actualDescentRatio: 0.25
93
+ },
94
+ hebrew: {
95
+ ascentRatio: 0.88,
96
+ descentRatio: 0.25,
97
+ actualAscentRatio: 0.70,
98
+ actualDescentRatio: 0.15
99
+ },
100
+ cjk: {
101
+ ascentRatio: 0.88,
102
+ // CJK fonts are more square
103
+ descentRatio: 0.12,
104
+ actualAscentRatio: 0.80,
105
+ actualDescentRatio: 0.10
106
+ },
107
+ devanagari: {
108
+ ascentRatio: 1.0,
109
+ // Devanagari has tall ascenders
110
+ descentRatio: 0.25,
111
+ actualAscentRatio: 0.85,
112
+ actualDescentRatio: 0.15
113
+ },
114
+ thai: {
115
+ ascentRatio: 0.95,
116
+ // Thai has tall ascenders
117
+ descentRatio: 0.30,
118
+ // And some descenders
119
+ actualAscentRatio: 0.75,
120
+ actualDescentRatio: 0.20
121
+ },
122
+ mixed: {
123
+ ascentRatio: 0.91,
124
+ descentRatio: 0.21,
125
+ actualAscentRatio: 0.716,
126
+ actualDescentRatio: 0.0
127
+ },
128
+ unknown: {
129
+ ascentRatio: 0.91,
130
+ descentRatio: 0.21,
131
+ actualAscentRatio: 0.716,
132
+ actualDescentRatio: 0.0
133
+ }
134
+ };
135
+
136
+ /**
137
+ * Detect the primary script of a text string
138
+ */
139
+ function detectScript(text) {
140
+ if (!text || text.length === 0) return 'unknown';
141
+ const scriptCounts = {
142
+ latin: 0,
143
+ arabic: 0,
144
+ hebrew: 0,
145
+ cjk: 0,
146
+ devanagari: 0,
147
+ thai: 0,
148
+ mixed: 0,
149
+ unknown: 0
150
+ };
151
+ for (const char of text) {
152
+ const codePoint = char.codePointAt(0);
153
+ if (codePoint === undefined) continue;
154
+ let detected = false;
155
+ for (const [script, ranges] of Object.entries(SCRIPT_RANGES)) {
156
+ for (const [start, end] of ranges) {
157
+ if (codePoint >= start && codePoint <= end) {
158
+ scriptCounts[script]++;
159
+ detected = true;
160
+ break;
161
+ }
162
+ }
163
+ if (detected) break;
164
+ }
165
+ if (!detected) {
166
+ scriptCounts.unknown++;
167
+ }
168
+ }
169
+
170
+ // Find the script with the highest count
171
+ const entries = Object.entries(scriptCounts);
172
+ entries.sort((a, b) => b[1] - a[1]);
173
+ const [topScript, topCount] = entries[0];
174
+ const [secondScript, secondCount] = entries[1];
175
+
176
+ // If we have significant counts in multiple scripts, consider it mixed
177
+ if (topCount > 0 && secondCount > topCount * 0.3) {
178
+ return 'mixed';
179
+ }
180
+ return topScript === 'unknown' && topCount === 0 ? 'latin' : topScript;
181
+ }
182
+
183
+ /**
184
+ * Get reference character for a given script
185
+ */
186
+ function getScriptReferenceChar(script) {
187
+ return SCRIPT_REFERENCE_CHARS[script];
188
+ }
189
+
190
+ /**
191
+ * Get script-specific metric ratios
192
+ */
193
+ function getScriptMetrics(script) {
194
+ return SCRIPT_METRICS[script];
195
+ }
196
+
197
+ /**
198
+ * Detect script for a single grapheme/character
199
+ */
200
+ function detectGraphemeScript(grapheme) {
201
+ return detectScript(grapheme);
202
+ }
203
+
204
+ /**
205
+ * Check if text contains complex script characteristics
206
+ */
207
+ function isComplexScript(script) {
208
+ return ['arabic', 'hebrew', 'devanagari', 'thai'].includes(script);
209
+ }
210
+
211
+ export { SCRIPT_METRICS, SCRIPT_REFERENCE_CHARS, detectGraphemeScript, detectScript, getScriptMetrics, getScriptReferenceChar, isComplexScript };
212
+ //# sourceMappingURL=scriptUtils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scriptUtils.mjs","sources":["../../../src/text/scriptUtils.ts"],"sourcesContent":["/**\n * Script Detection and Font Metrics Utilities\n * \n * Provides script-aware text measurement for improved bounding box calculations\n * across different writing systems like Arabic, Latin, CJK, etc.\n */\n\nexport type ScriptType = 'latin' | 'arabic' | 'hebrew' | 'cjk' | 'devanagari' | 'thai' | 'mixed' | 'unknown';\n\n/**\n * Unicode ranges for different scripts\n */\nconst SCRIPT_RANGES = {\n latin: [\n [0x0000, 0x007F], // Basic Latin\n [0x0080, 0x00FF], // Latin-1 Supplement\n [0x0100, 0x017F], // Latin Extended-A\n [0x0180, 0x024F], // Latin Extended-B\n [0x1E00, 0x1EFF], // Latin Extended Additional\n ],\n arabic: [\n [0x0600, 0x06FF], // Arabic\n [0x0750, 0x077F], // Arabic Supplement\n [0x08A0, 0x08FF], // Arabic Extended-A\n [0xFB50, 0xFDFF], // Arabic Presentation Forms-A\n [0xFE70, 0xFEFF], // Arabic Presentation Forms-B\n ],\n hebrew: [\n [0x0590, 0x05FF], // Hebrew\n [0xFB1D, 0xFB4F], // Hebrew Presentation Forms\n ],\n cjk: [\n [0x2E80, 0x2EFF], // CJK Radicals Supplement\n [0x3000, 0x303F], // CJK Symbols and Punctuation\n [0x3400, 0x4DBF], // CJK Extension A\n [0x4E00, 0x9FFF], // CJK Unified Ideographs\n [0xF900, 0xFAFF], // CJK Compatibility Ideographs\n [0x20000, 0x2A6DF], // CJK Extension B\n ],\n devanagari: [\n [0x0900, 0x097F], // Devanagari\n [0xA8E0, 0xA8FF], // Devanagari Extended\n ],\n thai: [\n [0x0E00, 0x0E7F], // Thai\n ],\n};\n\n/**\n * Reference characters for font metrics by script\n */\nexport const SCRIPT_REFERENCE_CHARS = {\n latin: 'M',\n arabic: 'ا', // Arabic Letter Alef\n hebrew: 'ם', // Hebrew Letter Final Mem\n cjk: '中', // Chinese character for \"middle\"\n devanagari: 'म', // Devanagari Letter Ma\n thai: 'ก', // Thai Letter Ko Kai\n mixed: 'M', // Fallback to Latin\n unknown: 'M', // Fallback to Latin\n} as const;\n\n/**\n * Script-specific fallback proportions for font metrics\n */\nexport const SCRIPT_METRICS = {\n latin: {\n ascentRatio: 0.91,\n descentRatio: 0.21,\n actualAscentRatio: 0.716,\n actualDescentRatio: 0.0,\n },\n arabic: {\n ascentRatio: 0.85, // Arabic fonts typically have lower ascenders\n descentRatio: 0.30, // But deeper descenders for diacritics\n actualAscentRatio: 0.65,\n actualDescentRatio: 0.25,\n },\n hebrew: {\n ascentRatio: 0.88,\n descentRatio: 0.25,\n actualAscentRatio: 0.70,\n actualDescentRatio: 0.15,\n },\n cjk: {\n ascentRatio: 0.88, // CJK fonts are more square\n descentRatio: 0.12,\n actualAscentRatio: 0.80,\n actualDescentRatio: 0.10,\n },\n devanagari: {\n ascentRatio: 1.0, // Devanagari has tall ascenders\n descentRatio: 0.25,\n actualAscentRatio: 0.85,\n actualDescentRatio: 0.15,\n },\n thai: {\n ascentRatio: 0.95, // Thai has tall ascenders\n descentRatio: 0.30, // And some descenders\n actualAscentRatio: 0.75,\n actualDescentRatio: 0.20,\n },\n mixed: {\n ascentRatio: 0.91,\n descentRatio: 0.21,\n actualAscentRatio: 0.716,\n actualDescentRatio: 0.0,\n },\n unknown: {\n ascentRatio: 0.91,\n descentRatio: 0.21,\n actualAscentRatio: 0.716,\n actualDescentRatio: 0.0,\n },\n} as const;\n\n/**\n * Detect the primary script of a text string\n */\nexport function detectScript(text: string): ScriptType {\n if (!text || text.length === 0) return 'unknown';\n\n const scriptCounts: Record<ScriptType, number> = {\n latin: 0,\n arabic: 0,\n hebrew: 0,\n cjk: 0,\n devanagari: 0,\n thai: 0,\n mixed: 0,\n unknown: 0,\n };\n\n for (const char of text) {\n const codePoint = char.codePointAt(0);\n if (codePoint === undefined) continue;\n\n let detected = false;\n \n for (const [script, ranges] of Object.entries(SCRIPT_RANGES)) {\n for (const [start, end] of ranges) {\n if (codePoint >= start && codePoint <= end) {\n scriptCounts[script as ScriptType]++;\n detected = true;\n break;\n }\n }\n if (detected) break;\n }\n\n if (!detected) {\n scriptCounts.unknown++;\n }\n }\n\n // Find the script with the highest count\n const entries = Object.entries(scriptCounts) as [ScriptType, number][];\n entries.sort((a, b) => b[1] - a[1]);\n\n const [topScript, topCount] = entries[0];\n const [secondScript, secondCount] = entries[1];\n\n // If we have significant counts in multiple scripts, consider it mixed\n if (topCount > 0 && secondCount > topCount * 0.3) {\n return 'mixed';\n }\n\n return topScript === 'unknown' && topCount === 0 ? 'latin' : topScript;\n}\n\n/**\n * Get reference character for a given script\n */\nexport function getScriptReferenceChar(script: ScriptType): string {\n return SCRIPT_REFERENCE_CHARS[script];\n}\n\n/**\n * Get script-specific metric ratios\n */\nexport function getScriptMetrics(script: ScriptType) {\n return SCRIPT_METRICS[script];\n}\n\n/**\n * Detect script for a single grapheme/character\n */\nexport function detectGraphemeScript(grapheme: string): ScriptType {\n return detectScript(grapheme);\n}\n\n/**\n * Check if text contains complex script characteristics\n */\nexport function isComplexScript(script: ScriptType): boolean {\n return ['arabic', 'hebrew', 'devanagari', 'thai'].includes(script);\n}\n\n/**\n * Check if script requires special glyph shaping\n */\nexport function requiresGlyphShaping(script: ScriptType): boolean {\n return ['arabic', 'devanagari', 'thai'].includes(script);\n}\n\n/**\n * Get optimal sample text for measuring font metrics\n */\nexport function getSampleTextForScript(script: ScriptType): string {\n const samples = {\n latin: 'AaBbCcMmWwXxYyZz',\n arabic: 'أابتجحدرسعفقلمنهويء',\n hebrew: 'אבגדהוחטיכלמנעפקרשת',\n cjk: '中文字体测试样本',\n devanagari: 'अआइईउऊएऐओऔकगचजट',\n thai: 'กขคงจชดตนบปพมยรลวสหอฮ',\n mixed: 'AaBbCcMmWwXxYyZz',\n unknown: 'AaBbCcMmWwXxYyZz',\n };\n \n return samples[script];\n}"],"names":["SCRIPT_RANGES","latin","arabic","hebrew","cjk","devanagari","thai","SCRIPT_REFERENCE_CHARS","mixed","unknown","SCRIPT_METRICS","ascentRatio","descentRatio","actualAscentRatio","actualDescentRatio","detectScript","text","length","scriptCounts","char","codePoint","codePointAt","undefined","detected","script","ranges","Object","entries","start","end","sort","a","b","topScript","topCount","secondScript","secondCount","getScriptReferenceChar","getScriptMetrics","detectGraphemeScript","grapheme","isComplexScript","includes"],"mappings":"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"}
@@ -713,6 +713,11 @@ export declare class FabricText<Props extends TOptions<TextProps> = Partial<Text
713
713
  * @returns Lines in the text
714
714
  */
715
715
  _splitTextIntoLines(text: string): TextLinesInfo;
716
+ /**
717
+ * Check if text contains Arabic characters
718
+ * @private
719
+ */
720
+ _containsArabicText(text: string): boolean;
716
721
  /**
717
722
  * Returns object representation of an instance
718
723
  * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
@@ -750,6 +755,20 @@ export declare class FabricText<Props extends TOptions<TextProps> = Partial<Text
750
755
  strokeWidth: number;
751
756
  fontSize: number;
752
757
  }, SerializedTextProps, ObjectEvents>>;
758
+ /**
759
+ * Check if the font is ready for accurate measurements
760
+ * @private
761
+ */
762
+ _isFontReady(): boolean;
763
+ /**
764
+ * Schedule re-initialization after font loads
765
+ * @private
766
+ */
767
+ _scheduleInitAfterFontLoad(): void;
768
+ /**
769
+ * Force complete text re-initialization (useful after JSON loading)
770
+ */
771
+ forceTextReinitialization(): void;
753
772
  /**
754
773
  * Returns FabricText instance from an object representation
755
774
  * @param {Object} object plain js Object to create an instance from
@@ -1 +1 @@
1
- {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/shapes/Text/Text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/shapes/Text/Text.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,11 @@ export declare class Textbox<Props extends TOptions<TextboxProps> = Partial<Text
81
81
  * @override
82
82
  */
83
83
  initDimensions(): void;
84
+ /**
85
+ * Schedule justify calculation after font loads (Textbox-specific)
86
+ * @private
87
+ */
88
+ _scheduleJustifyAfterFontLoad(): void;
84
89
  /**
85
90
  * Advanced dimensions calculation using new layout engine
86
91
  * @private
@@ -219,7 +224,34 @@ export declare class Textbox<Props extends TOptions<TextboxProps> = Partial<Text
219
224
  * @returns {Array} Array of lines in the Textbox.
220
225
  * @override
221
226
  */
222
- _splitTextIntoLines(text: string): TextLinesInfo;
227
+ _splitTextIntoLines(text: string): any;
228
+ /**
229
+ * Use browser's native text wrapping for accurate handling of fonts without English glyphs
230
+ * @private
231
+ */
232
+ _splitTextIntoLinesWithBrowser(text: string): TextLinesInfo | {
233
+ _unwrappedLines: string[][];
234
+ lines: string[];
235
+ graphemeText: string[];
236
+ graphemeLines: string[][];
237
+ justifySpaceMeasurements: number[][] | null;
238
+ actualBrowserHeight: number;
239
+ };
240
+ /**
241
+ * Extract justify space measurements from browser
242
+ * @private
243
+ */
244
+ _extractJustifySpaceMeasurements(element: HTMLElement, lines: string[]): number[][];
245
+ /**
246
+ * Apply browser-calculated justify space measurements
247
+ * @private
248
+ */
249
+ _applyBrowserJustifySpaces(): void;
250
+ /**
251
+ * Fallback to default Fabric wrapping
252
+ * @private
253
+ */
254
+ _splitTextIntoLinesDefault(text: string): TextLinesInfo;
223
255
  getMinWidth(): number;
224
256
  _removeExtraneousStyles(): void;
225
257
  /**
@@ -235,6 +267,11 @@ export declare class Textbox<Props extends TOptions<TextboxProps> = Partial<Text
235
267
  * @param resizeOrigin - Which side was used for resizing ('left' or 'right')
236
268
  */
237
269
  private safetySnapWidth;
270
+ /**
271
+ * Force complete textbox re-initialization (useful after JSON loading)
272
+ * Overrides Text version with Textbox-specific logic
273
+ */
274
+ forceTextReinitialization(): void;
238
275
  /**
239
276
  * Returns object representation of an instance
240
277
  * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output
@@ -1 +1 @@
1
- {"version":3,"file":"Textbox.d.ts","sourceRoot":"","sources":["../../../src/shapes/Textbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Textbox.d.ts","sourceRoot":"","sources":["../../../src/shapes/Textbox.ts"],"names":[],"mappings":"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"}
@@ -127,5 +127,14 @@ export declare function estimateTextWidth(text: string, options: MeasurementOpti
127
127
  * Check if font is loaded and ready for measurement
128
128
  */
129
129
  export declare function isFontReady(fontFamily: string): boolean;
130
+ /**
131
+ * Detect if a font lacks English glyph support
132
+ * These fonts should use browser-native measurement instead of Fabric's character-by-character measurement
133
+ */
134
+ export declare function fontLacksEnglishGlyphs(fontFamily: string): boolean;
135
+ /**
136
+ * Cached version of font glyph detection
137
+ */
138
+ export declare function fontLacksEnglishGlyphsCached(fontFamily: string): boolean;
130
139
  export {};
131
140
  //# sourceMappingURL=measure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../../src/text/measure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"measure.d.ts","sourceRoot":"","sources":["../../../src/text/measure.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"overlayEditor.d.ts","sourceRoot":"","sources":["../../../src/text/overlayEditor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;IACrC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAAa;IAG9B,OAAO,CAAC,aAAa,CAUnB;gBAEU,OAAO,EAAE,oBAAoB;IAoBzC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0DxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAmC1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IAsOzB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiGlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2GzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuCrB;;OAEG;IACI,OAAO,IAAI,IAAI;IAMtB;;OAEG;IACI,OAAO,CAAC,MAAM,GAAE,OAAc,GAAG,IAAI;IAoE5C,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA8BpC;;OAEG;IACH,OAAO,CAAC,8BAA8B;CAavC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,EACpC,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,GACA,aAAa,CAsBf;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAE7E"}
1
+ {"version":3,"file":"overlayEditor.d.ts","sourceRoot":"","sources":["../../../src/text/overlayEditor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;IACrC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAAa;IAG9B,OAAO,CAAC,aAAa,CAUnB;gBAEU,OAAO,EAAE,oBAAoB;IAoBzC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0DxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAmC1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,iBAAiB;IA6OzB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiGlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2GzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuCrB;;OAEG;IACI,OAAO,IAAI,IAAI;IAMtB;;OAEG;IACI,OAAO,CAAC,MAAM,GAAE,OAAc,GAAG,IAAI;IAoE5C,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA8BpC;;OAEG;IACH,OAAO,CAAC,8BAA8B;CAavC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,EACpC,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,GACA,aAAa,CAsBf;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAE7E"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Script Detection and Font Metrics Utilities
3
+ *
4
+ * Provides script-aware text measurement for improved bounding box calculations
5
+ * across different writing systems like Arabic, Latin, CJK, etc.
6
+ */
7
+ export type ScriptType = 'latin' | 'arabic' | 'hebrew' | 'cjk' | 'devanagari' | 'thai' | 'mixed' | 'unknown';
8
+ /**
9
+ * Reference characters for font metrics by script
10
+ */
11
+ export declare const SCRIPT_REFERENCE_CHARS: {
12
+ readonly latin: "M";
13
+ readonly arabic: "ا";
14
+ readonly hebrew: "ם";
15
+ readonly cjk: "中";
16
+ readonly devanagari: "म";
17
+ readonly thai: "ก";
18
+ readonly mixed: "M";
19
+ readonly unknown: "M";
20
+ };
21
+ /**
22
+ * Script-specific fallback proportions for font metrics
23
+ */
24
+ export declare const SCRIPT_METRICS: {
25
+ readonly latin: {
26
+ readonly ascentRatio: 0.91;
27
+ readonly descentRatio: 0.21;
28
+ readonly actualAscentRatio: 0.716;
29
+ readonly actualDescentRatio: 0;
30
+ };
31
+ readonly arabic: {
32
+ readonly ascentRatio: 0.85;
33
+ readonly descentRatio: 0.3;
34
+ readonly actualAscentRatio: 0.65;
35
+ readonly actualDescentRatio: 0.25;
36
+ };
37
+ readonly hebrew: {
38
+ readonly ascentRatio: 0.88;
39
+ readonly descentRatio: 0.25;
40
+ readonly actualAscentRatio: 0.7;
41
+ readonly actualDescentRatio: 0.15;
42
+ };
43
+ readonly cjk: {
44
+ readonly ascentRatio: 0.88;
45
+ readonly descentRatio: 0.12;
46
+ readonly actualAscentRatio: 0.8;
47
+ readonly actualDescentRatio: 0.1;
48
+ };
49
+ readonly devanagari: {
50
+ readonly ascentRatio: 1;
51
+ readonly descentRatio: 0.25;
52
+ readonly actualAscentRatio: 0.85;
53
+ readonly actualDescentRatio: 0.15;
54
+ };
55
+ readonly thai: {
56
+ readonly ascentRatio: 0.95;
57
+ readonly descentRatio: 0.3;
58
+ readonly actualAscentRatio: 0.75;
59
+ readonly actualDescentRatio: 0.2;
60
+ };
61
+ readonly mixed: {
62
+ readonly ascentRatio: 0.91;
63
+ readonly descentRatio: 0.21;
64
+ readonly actualAscentRatio: 0.716;
65
+ readonly actualDescentRatio: 0;
66
+ };
67
+ readonly unknown: {
68
+ readonly ascentRatio: 0.91;
69
+ readonly descentRatio: 0.21;
70
+ readonly actualAscentRatio: 0.716;
71
+ readonly actualDescentRatio: 0;
72
+ };
73
+ };
74
+ /**
75
+ * Detect the primary script of a text string
76
+ */
77
+ export declare function detectScript(text: string): ScriptType;
78
+ /**
79
+ * Get reference character for a given script
80
+ */
81
+ export declare function getScriptReferenceChar(script: ScriptType): string;
82
+ /**
83
+ * Get script-specific metric ratios
84
+ */
85
+ export declare function getScriptMetrics(script: ScriptType): {
86
+ readonly ascentRatio: 0.91;
87
+ readonly descentRatio: 0.21;
88
+ readonly actualAscentRatio: 0.716;
89
+ readonly actualDescentRatio: 0;
90
+ } | {
91
+ readonly ascentRatio: 0.85;
92
+ readonly descentRatio: 0.3;
93
+ readonly actualAscentRatio: 0.65;
94
+ readonly actualDescentRatio: 0.25;
95
+ } | {
96
+ readonly ascentRatio: 0.88;
97
+ readonly descentRatio: 0.25;
98
+ readonly actualAscentRatio: 0.7;
99
+ readonly actualDescentRatio: 0.15;
100
+ } | {
101
+ readonly ascentRatio: 0.88;
102
+ readonly descentRatio: 0.12;
103
+ readonly actualAscentRatio: 0.8;
104
+ readonly actualDescentRatio: 0.1;
105
+ } | {
106
+ readonly ascentRatio: 1;
107
+ readonly descentRatio: 0.25;
108
+ readonly actualAscentRatio: 0.85;
109
+ readonly actualDescentRatio: 0.15;
110
+ } | {
111
+ readonly ascentRatio: 0.95;
112
+ readonly descentRatio: 0.3;
113
+ readonly actualAscentRatio: 0.75;
114
+ readonly actualDescentRatio: 0.2;
115
+ } | {
116
+ readonly ascentRatio: 0.91;
117
+ readonly descentRatio: 0.21;
118
+ readonly actualAscentRatio: 0.716;
119
+ readonly actualDescentRatio: 0;
120
+ } | {
121
+ readonly ascentRatio: 0.91;
122
+ readonly descentRatio: 0.21;
123
+ readonly actualAscentRatio: 0.716;
124
+ readonly actualDescentRatio: 0;
125
+ };
126
+ /**
127
+ * Detect script for a single grapheme/character
128
+ */
129
+ export declare function detectGraphemeScript(grapheme: string): ScriptType;
130
+ /**
131
+ * Check if text contains complex script characteristics
132
+ */
133
+ export declare function isComplexScript(script: ScriptType): boolean;
134
+ /**
135
+ * Check if script requires special glyph shaping
136
+ */
137
+ export declare function requiresGlyphShaping(script: ScriptType): boolean;
138
+ /**
139
+ * Get optimal sample text for measuring font metrics
140
+ */
141
+ export declare function getSampleTextForScript(script: ScriptType): string;
142
+ //# sourceMappingURL=scriptUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scriptUtils.d.ts","sourceRoot":"","sources":["../../../src/text/scriptUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAyC7G;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;CASzB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDjB,CAAC;AAEX;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAiDrD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAElD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAEjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAajE"}