@unmade/text-renderer 0.2.0 → 0.3.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.
@@ -1,6 +1,3 @@
1
- import { default as default_2 } from 'opentype.js';
2
- import { SVGGlyphData } from '@unmade/svg-glyphs';
3
-
4
1
  export declare type BaselineConfig = {
5
2
  type: 'flat';
6
3
  } | {
@@ -67,7 +64,7 @@ export declare interface GenerateFlatBaselineOptions {
67
64
  lineNumber?: number;
68
65
  }
69
66
 
70
- export declare const getFontCache: () => Map<any, any>;
67
+ export declare const getFontCache: () => Map<string, LoadedFont>;
71
68
 
72
69
  /**
73
70
  * Get the unique colours used by a font's SVG glyphs.
@@ -147,10 +144,45 @@ export declare type HorizontalTextAlignmentValues = 'left' | 'centre' | 'right'
147
144
 
148
145
  export declare const LINE_HEIGHT = 1.1;
149
146
 
150
- export declare type LoadedFont = default_2.Font & LoadedFontExtras;
151
-
152
- declare interface LoadedFontExtras {
147
+ export declare interface LoadedFont {
148
+ unitsPerEm: number;
149
+ names: {
150
+ fontFamily: string;
151
+ };
153
152
  svgGlyphs?: Map<number, SVGGlyphData>;
153
+ charToGlyph(char: string): {
154
+ index: number;
155
+ advanceWidth: number;
156
+ name: string;
157
+ getBoundingBox(): {
158
+ x1: number;
159
+ y1: number;
160
+ x2: number;
161
+ y2: number;
162
+ };
163
+ };
164
+ getPath(text: string, x: number, y: number, fontSize: number, options?: {
165
+ drawSVG?: boolean;
166
+ }): {
167
+ getBoundingBox(): {
168
+ x1: number;
169
+ y1: number;
170
+ x2: number;
171
+ y2: number;
172
+ };
173
+ toPathData(decimals?: number): string;
174
+ };
175
+ getPaths(text: string, x: number, y: number, fontSize: number, options?: {
176
+ drawSVG?: boolean;
177
+ }): Array<{
178
+ getBoundingBox(): {
179
+ x1: number;
180
+ y1: number;
181
+ x2: number;
182
+ y2: number;
183
+ };
184
+ toPathData(decimals?: number): string;
185
+ }>;
154
186
  }
155
187
 
156
188
  export declare const loadOpentypeFont: (fontUrl: string, fetchSVGGlyphs?: boolean) => Promise<LoadedFont>;
@@ -186,6 +218,11 @@ export declare interface RenderTextOptions {
186
218
  colourMap?: ColourMap;
187
219
  }
188
220
 
221
+ declare interface SVGGlyphData {
222
+ svg: string;
223
+ viewbox: string;
224
+ }
225
+
189
226
  export declare interface SvgGlyphEntry {
190
227
  content: string;
191
228
  viewBox: string;