UNPKG

edeap

Version:

Euler Diagrams Drawn with Ellipses Area-Proportionally (Edeap)

42 lines (41 loc) 2.36 kB
import { init } from "server-text-width"; const defaultCharactersTable = { "Helvetica|16px|400|0": "aAaAaAaAaAaAaAaAaAEbEbEbEbEbaAaAaAaAaAaAaAaAaAaAaAaAaAaAEbEbEbEbEbEbFqI5I5OOKqDEFVFVGOJVEbFVEbEbI5I5I5I5I5I5I5I5I5I5EbEbJVJVJVI5QOKqKqLkLkKqJxMbLkEbIAKqI5NVLkMbKqMbLkKqJxLkKqPGKqKqJxEbEbEbHgI5FVI5I5IAI5I5EbI5I5DkDkIADkNVI5I5I5I5FVIAEbI5IALkIAIAIAFVEKFVJVaAaAaAaAaAaAEbaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAEbFVI5I5I5I5EKI5FVLzF7I5JVAALzFVGZIxFVFVFVJOImEbFVFVF1I5NVNVNVJxKqKqKqKqKqKqQALkKqKqKqKqEbEbEbEbLkLkMbMbMbMbMbJVMbLkLkLkLkKqKqJxI5I5I5I5I5I5OOIAI5I5I5I5EbEbEbEbI5I5I5I5I5I5I5IxJxI5I5I5I5IAI5IAKqI5KqI5KqI5LkIALkIALkIALkIALkKkLkI5KqI5KqI5KqI5KqI5KqI5MbI5MbI5MbI5MbI5LkI5LkI5HIG3GZGOEbEbEbDkEbEbMbHGIADkKqIAIAI5EOI5DkI5EMI5E9I5DkLkI5LkI5LkI5I5LkI5MbI5MbI5MbI5QAPGLkFVLkFVLkFVKqIAKqIAKqIAKqIAJxEbJxFxJxFILkI5LkI5LkI5LkI5LkI5LkI5PGLkKqIAKqJxIAJxIAJxIAEbI5MKKqI5JMIALkKqHGLkNCKqI5JEKqMAIkJxI5LkLkMVDkFdLkIAFdI5NELkI5MbOOKzLZJMKZIAKMKqIAJMFgEbJxEbJxNzLKMELkMgIAJxIAIzIzIAHGJEIAHGGxIAEKG5JGEbTxRgPsPsLTF7RzN3LRKqI5EbEbMbI5LkI5LkI5LkI5LkI5LkI5I5KqI5KqI5QAOOMoJkMbI5KqIAMbI5MbI5ImH1DkTmR9P9MbI5PMKqLkI5KqI5QAOOMbJxKqI5KqI5KqI5KqI5EbDkEbDkMbI5MbI5LkFVLkFVLkI5LkI5KqIAJxEbKoKoLkI5LkIAJqIAJxHGKqI5KqI5MbI5MbI5MbI5MbI5KqIAEbIAFEDkO5ObKqLkIAI5JxGOHGI5I5LkNiKqKqI5IqDkNxJ1MgGOMXJ1", }; export class TextDimensionsServer { constructor(charactersTable) { Object.defineProperty(this, "fontSize", { enumerable: true, configurable: true, writable: true, value: 16 }); Object.defineProperty(this, "fontName", { enumerable: true, configurable: true, writable: true, value: "Helvetica" }); Object.defineProperty(this, "getTextWidth", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.getTextWidth = init(charactersTable || defaultCharactersTable).getTextWidth; } init(fontSize, fontName) { this.fontSize = fontSize; this.fontName = fontName; } measure(str) { return { width: this.getTextWidth(str, { fontName: this.fontName, fontSize: `${this.fontSize}px`, }), height: this.fontSize, }; } destroy() { } }