{"version":3,"file":"measure-text.js","sourceRoot":"","sources":["../../src/utils/measure-text.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,IAAM,gBAAgB,GAAG,OAAO,CACrC,UAAC,IAAY,EAAE,IAAc;IAAd,qBAAA,EAAA,SAAc;IACnB,IAAA,QAAQ,GAAoE,IAAI,SAAxE,EAAE,KAAkE,IAAI,WAA7C,EAAzB,UAAU,mBAAG,YAAY,KAAA,EAAE,UAAU,GAA6B,IAAI,WAAjC,EAAE,SAAS,GAAkB,IAAI,UAAtB,EAAE,WAAW,GAAK,IAAI,YAAT,CAAU;IACzF,IAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,6DAA6D;IAC7D,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAG,QAAQ,OAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvF,IAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC,EACD,UAAC,IAAY,EAAE,IAAS;IAAT,qBAAA,EAAA,SAAS;IAAK,OAAA,eAAC,IAAI,GAAK,MAAM,CAAC,IAAI,CAAC,QAAE,IAAI,CAAC,EAAE,CAAC;AAAhC,CAAgC,CAC9D,CAAC","sourcesContent":["import { isString, memoize, values } from '@antv/util';\nimport { getCanvasContext } from './context';\n\n/**\n * 计算文本在画布中的宽度\n * @param text 文本\n * @param font 字体\n */\nexport const measureTextWidth = memoize(\n (text: string, font: any = {}): number => {\n const { fontSize, fontFamily = 'sans-serif', fontWeight, fontStyle, fontVariant } = font;\n const ctx = getCanvasContext();\n // @see https://developer.mozilla.org/zh-CN/docs/Web/CSS/font\n ctx.font = [fontStyle, fontWeight, fontVariant, `${fontSize}px`, fontFamily].join(' ');\n const metrics = ctx.measureText(isString(text) ? text : '');\n return metrics.width;\n },\n (text: string, font = {}) => [text, ...values(font)].join('')\n);\n"]}