????
Current Path : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/@jimp/plugin-print/es/ |
Current File : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/@jimp/plugin-print/es/measure-text.js.map |
{"version":3,"file":"measure-text.js","names":["measureText","font","text","x","i","length","chars","kerning","kernings","xadvance","splitLines","maxWidth","words","split","lines","currentLine","longestLine","forEach","word","line","join","push","measureTextHeight","common","lineHeight"],"sources":["../src/measure-text.js"],"sourcesContent":["export function measureText(font, text) {\n let x = 0;\n\n for (let i = 0; i < text.length; i++) {\n if (font.chars[text[i]]) {\n const kerning =\n font.kernings[text[i]] && font.kernings[text[i]][text[i + 1]]\n ? font.kernings[text[i]][text[i + 1]]\n : 0;\n\n x += (font.chars[text[i]].xadvance || 0) + kerning;\n }\n }\n\n return x;\n}\n\nexport function splitLines(font, text, maxWidth) {\n const words = text.split(\" \");\n const lines = [];\n let currentLine = [];\n let longestLine = 0;\n\n words.forEach((word) => {\n const line = [...currentLine, word].join(\" \");\n const length = measureText(font, line);\n\n if (length <= maxWidth) {\n if (length > longestLine) {\n longestLine = length;\n }\n\n currentLine.push(word);\n } else {\n lines.push(currentLine);\n currentLine = [word];\n }\n });\n\n lines.push(currentLine);\n\n return {\n lines,\n longestLine,\n };\n}\n\nexport function measureTextHeight(font, text, maxWidth) {\n const { lines } = splitLines(font, text, maxWidth);\n\n return lines.length * font.common.lineHeight;\n}\n"],"mappings":"AAAA,OAAO,SAASA,WAAW,CAACC,IAAI,EAAEC,IAAI,EAAE;EACtC,IAAIC,CAAC,GAAG,CAAC;EAET,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,IAAI,CAACG,MAAM,EAAED,CAAC,EAAE,EAAE;IACpC,IAAIH,IAAI,CAACK,KAAK,CAACJ,IAAI,CAACE,CAAC,CAAC,CAAC,EAAE;MACvB,MAAMG,OAAO,GACXN,IAAI,CAACO,QAAQ,CAACN,IAAI,CAACE,CAAC,CAAC,CAAC,IAAIH,IAAI,CAACO,QAAQ,CAACN,IAAI,CAACE,CAAC,CAAC,CAAC,CAACF,IAAI,CAACE,CAAC,GAAG,CAAC,CAAC,CAAC,GACzDH,IAAI,CAACO,QAAQ,CAACN,IAAI,CAACE,CAAC,CAAC,CAAC,CAACF,IAAI,CAACE,CAAC,GAAG,CAAC,CAAC,CAAC,GACnC,CAAC;MAEPD,CAAC,IAAI,CAACF,IAAI,CAACK,KAAK,CAACJ,IAAI,CAACE,CAAC,CAAC,CAAC,CAACK,QAAQ,IAAI,CAAC,IAAIF,OAAO;IACpD;EACF;EAEA,OAAOJ,CAAC;AACV;AAEA,OAAO,SAASO,UAAU,CAACT,IAAI,EAAEC,IAAI,EAAES,QAAQ,EAAE;EAC/C,MAAMC,KAAK,GAAGV,IAAI,CAACW,KAAK,CAAC,GAAG,CAAC;EAC7B,MAAMC,KAAK,GAAG,EAAE;EAChB,IAAIC,WAAW,GAAG,EAAE;EACpB,IAAIC,WAAW,GAAG,CAAC;EAEnBJ,KAAK,CAACK,OAAO,CAAEC,IAAI,IAAK;IACtB,MAAMC,IAAI,GAAG,CAAC,GAAGJ,WAAW,EAAEG,IAAI,CAAC,CAACE,IAAI,CAAC,GAAG,CAAC;IAC7C,MAAMf,MAAM,GAAGL,WAAW,CAACC,IAAI,EAAEkB,IAAI,CAAC;IAEtC,IAAId,MAAM,IAAIM,QAAQ,EAAE;MACtB,IAAIN,MAAM,GAAGW,WAAW,EAAE;QACxBA,WAAW,GAAGX,MAAM;MACtB;MAEAU,WAAW,CAACM,IAAI,CAACH,IAAI,CAAC;IACxB,CAAC,MAAM;MACLJ,KAAK,CAACO,IAAI,CAACN,WAAW,CAAC;MACvBA,WAAW,GAAG,CAACG,IAAI,CAAC;IACtB;EACF,CAAC,CAAC;EAEFJ,KAAK,CAACO,IAAI,CAACN,WAAW,CAAC;EAEvB,OAAO;IACLD,KAAK;IACLE;EACF,CAAC;AACH;AAEA,OAAO,SAASM,iBAAiB,CAACrB,IAAI,EAAEC,IAAI,EAAES,QAAQ,EAAE;EACtD,MAAM;IAAEG;EAAM,CAAC,GAAGJ,UAAU,CAACT,IAAI,EAAEC,IAAI,EAAES,QAAQ,CAAC;EAElD,OAAOG,KAAK,CAACT,MAAM,GAAGJ,IAAI,CAACsB,MAAM,CAACC,UAAU;AAC9C"}