{"version":3,"file":"parseFontDeclaration.mjs","sources":["../../../src/parser/parseFontDeclaration.ts"],"sourcesContent":["import { 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 * @static\n * @function\n * @memberOf fabric\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"],"names":["parseFontDeclaration","value","oStyle","match","reFontDeclaration","fontStyle","fontWeight","fontSize","lineHeight","fontFamily","isNaN","parseFloat","parseUnit"],"mappings":";;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,oBAAoBA,CAClCC,KAAa,EACbC,MAA2B,EACrB;AACN,EAAA,MAAMC,KAAK,GAAGF,KAAK,CAACE,KAAK,CAACC,iBAAiB,CAAC,CAAA;EAE5C,IAAI,CAACD,KAAK,EAAE;AACV,IAAA,OAAA;AACF,GAAA;AACA,EAAA,MAAME,SAAS,GAAGF,KAAK,CAAC,CAAC,CAAC;AACxB;AACA;AACAG,IAAAA,UAAU,GAAGH,KAAK,CAAC,CAAC,CAAC;AACrBI,IAAAA,QAAQ,GAAGJ,KAAK,CAAC,CAAC,CAAC;AACnBK,IAAAA,UAAU,GAAGL,KAAK,CAAC,CAAC,CAAC;AACrBM,IAAAA,UAAU,GAAGN,KAAK,CAAC,CAAC,CAAC,CAAA;AAEvB,EAAA,IAAIE,SAAS,EAAE;IACbH,MAAM,CAACG,SAAS,GAAGA,SAAS,CAAA;AAC9B,GAAA;AACA,EAAA,IAAIC,UAAU,EAAE;AACdJ,IAAAA,MAAM,CAACI,UAAU,GAAGI,KAAK,CAACC,UAAU,CAACL,UAAU,CAAC,CAAC,GAC7CA,UAAU,GACVK,UAAU,CAACL,UAAU,CAAC,CAAA;AAC5B,GAAA;AACA,EAAA,IAAIC,QAAQ,EAAE;AACZL,IAAAA,MAAM,CAACK,QAAQ,GAAGK,SAAS,CAACL,QAAQ,CAAC,CAAA;AACvC,GAAA;AACA,EAAA,IAAIE,UAAU,EAAE;IACdP,MAAM,CAACO,UAAU,GAAGA,UAAU,CAAA;AAChC,GAAA;AACA,EAAA,IAAID,UAAU,EAAE;IACdN,MAAM,CAACM,UAAU,GAAGA,UAAU,KAAK,QAAQ,GAAG,CAAC,GAAGA,UAAU,CAAA;AAC9D,GAAA;AACF;;;;"}