fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 1.64 kB
Source Map (JSON)
{"version":3,"file":"parseFontDeclaration.min.mjs","names":[],"sources":["../../../src/parser/parseFontDeclaration.ts"],"sourcesContent":["import { NORMAL } from '../constants';\nimport { parseUnit } from '../util/misc/svgParsing';\nimport { reFontDeclaration } from './constants';\n\n/**\n * Parses a short font declaration, building adding its properties to a style object\n * @param {String} value font declaration\n * @param {Object} oStyle definition\n */\nexport function parseFontDeclaration(\n value: string,\n oStyle: Record<string, any>,\n): void {\n const match = value.match(reFontDeclaration);\n\n if (!match) {\n return;\n }\n const fontStyle = match[1],\n // font variant is not used\n // fontVariant = match[2],\n fontWeight = match[3],\n fontSize = match[4],\n lineHeight = match[5],\n fontFamily = match[6];\n\n if (fontStyle) {\n oStyle.fontStyle = fontStyle;\n }\n if (fontWeight) {\n oStyle.fontWeight = isNaN(parseFloat(fontWeight))\n ? fontWeight\n : parseFloat(fontWeight);\n }\n if (fontSize) {\n oStyle.fontSize = parseUnit(fontSize);\n }\n if (fontFamily) {\n oStyle.fontFamily = fontFamily;\n }\n if (lineHeight) {\n oStyle.lineHeight = lineHeight === NORMAL ? 1 : lineHeight;\n }\n}\n"],"mappings":"iJASA,SAAgB,EACd,EACA,EAAA,CAEA,IAAM,EAAQ,EAAM,MAAM,EAAA,CAE1B,GAAA,CAAK,EACH,OAEF,IAAM,EAAY,EAAM,GAGtB,EAAa,EAAM,GACnB,EAAW,EAAM,GACjB,EAAa,EAAM,GACnB,EAAa,EAAM,GAEjB,IACF,EAAO,UAAY,GAEjB,IACF,EAAO,WAAa,MAAM,WAAW,EAAA,CAAA,CACjC,EACA,WAAW,EAAA,EAEb,IACF,EAAO,SAAW,EAAU,EAAA,EAE1B,IACF,EAAO,WAAa,GAElB,IACF,EAAO,WAAa,IAAA,SAAwB,EAAI,GAAA,OAAA,KAAA"}