/* copyright (c) 2018 jones http://www.apache.org/licenses/LICENSE-2.0 开源项目 https://github.com/jones2000/HQChart jones_2000@163.com uniapp canvas 兼容方法 */ function JSUniAppCanvasHelper() { } JSUniAppCanvasHelper.MeasureText=function(text, canvas) { var font = canvas.font; var fontSize = 12; var pos=font.search('px'); if (pos>0) { var strSize = font.substring(0,pos); fontSize = parseInt(strSize); } text = String(text); var text = text.split(''); var width = 0; for (let i = 0; i < text.length; i++) { let item = text[i]; if (/[a-zA-Z]/.test(item)) { width += 7; } else if (/[0-9]/.test(item)) { width += 5.5; } else if (/\./.test(item)) { width += 2.7; } else if (/-/.test(item)) { width += 3.25; } else if (/[\u4e00-\u9fa5]/.test(item)) { width += 10; } else if (/\(|\)/.test(item)) { width += 3.73; } else if (/\s/.test(item)) { width += 2.5; } else if (/%/.test(item)) { width += 8; } else { width += 10; } } return width * fontSize / 10; } //导出统一使用JSCommon命名空间名 module.exports = { JSCommonUniApp: { JSUniAppCanvasHelper: JSUniAppCanvasHelper, } };