你还在为无法获取文本实际宽度发愁吗?这里我总结了一套标准
const FontDefinition = {
'originSize': 24,
"48": { 'char': 0, 'width': 18.667, xoffset: 0 },
"49": { 'char': 1, 'width': 18.667, xoffset: 0 },
"50": { 'char': 2, 'width': 18.667, xoffset: 0 },
"51": { 'char': 3, 'width': 18.667, xoffset: 0 },
"52": { 'char': 4, 'width': 18.667, xoffset: 0 },
"53": { 'char': 5, 'width': 18.667, xoffset: 0 },
"54": { 'char': 6, 'width': 18.667, xoffset: 0 },
"55": { 'char': 7, 'width': 18.667, xoffset: 0 },
"56": { 'char': 8, 'width': 18.667, xoffset: 0 },
"57": { 'char': 9, 'width': 18.667, xoffset: 0 },
"65": { 'char': "A", 'width': 21.333, xoffset: 0 },
"66": { 'char': "B", 'width': 21.333, xoffset: 0 },
"67": { 'char': "C", 'width': 21.333, xoffset: 0 },
"68": { 'char': "D", 'width': 21.333, xoffset: 0 },
"69": { 'char': "E", 'width': 18.667, xoffset: 0 },
"70": { 'char': "F", 'width': 18.667, xoffset: 0 },
"71": { 'char': "G", 'width': 21.333, xoffset: 0 },
"72": { 'char': "H", 'width': 21.333, xoffset: 0 },
"73": { 'char': "I", 'width': 8, xoffset: 0 },
"74": { 'char': "J", 'width': 18.667, xoffset: 0 },
"75": { 'char': "K", 'width': 21.333, xoffset: 0 },
"76": { 'char': "L", 'width': 18.667, xoffset: 0 },
"77": { 'char': "M", 'width': 26.667, xoffset: 0 },
"78": { 'char': "N", 'width': 21.333, xoffset: 0 },
"79": { 'char': "O", 'width': 21.333, xoffset: 0 },
"80": { 'char': "P", 'width': 21.333, xoffset: 0 },
"81": { 'char': "Q", 'width': 21.333, xoffset: 0 },
"82": { 'char': "R", 'width': 21.333, xoffset: 0 },
"83": { 'char': "S", 'width': 18.667, xoffset: 0 },
"84": { 'char': "T", 'width': 18.667, xoffset: 0 },
"85": { 'char': "U", 'width': 21.333, xoffset: 0 },
"86": { 'char': "V", 'width': 21.333, xoffset: 0 },
"87": { 'char': "W", 'width': 26.667, xoffset: 0 },
"88": { 'char': "X", 'width': 21.333, xoffset: 0 },
"89": { 'char': "Y", 'width': 21.333, xoffset: 0 },
"90": { 'char': "Z", 'width': 18.667, xoffset: 0 },
"91": { 'char': "[", 'width': 8.667, xoffset: 0 },
"92": { 'char': "\\", 'width': 13.333, xoffset: 0 },
"93": { 'char': "]", 'width': 8.667, xoffset: 0 },
"94": { 'char': "^", 'width': 13.333, xoffset: 0 },
"95": { 'char': "_", 'width': 13.333, xoffset: 0 },
"96": { 'char': "`", 'width': 10.667, xoffset: 0 },
"97": { 'char': 'a', 'width': 18.667, xoffset: 0 },
"98": { 'char': 'b', 'width': 18.667, xoffset: 0 },
"99": { 'char': 'c', 'width': 18.667, xoffset: 0 },
"100": { 'char': 'd', 'width': 18.667, xoffset: 0 },
"101": { 'char': 'e', 'width': 16, xoffset: 0 },
"102": { 'char': 'f', 'width': 10.667, xoffset: 1 },
"103": { 'char': 'g', 'width': 18.667, xoffset: 0 },
"104": { 'char': 'h', 'width': 18.667, xoffset: 0 },
"105": { 'char': 'i', 'width': 8, xoffset: 0 },
"106": { 'char': 'j', 'width': 8, xoffset: 0 },
"107": { 'char': 'k', 'width': 16, xoffset: 0 },
"108": { 'char': 'l', 'width': 8, xoffset: 0 },
"109": { 'char': 'm', 'width': 26.667, xoffset: 0 },
"110": { 'char': 'n', 'width': 18.667, xoffset: 0 },
"111": { 'char': 'o', 'width': 18.667, xoffset: 0 },
"112": { 'char': 'p', 'width': 18.667, xoffset: 0 },
"113": { 'char': 'q', 'width': 18.667, xoffset: 0 },
"114": { 'char': 'r', 'width': 10.667, xoffset: 0 },
"115": { 'char': 's', 'width': 16, xoffset: 0 },
"116": { 'char': 't', 'width': 10.667, xoffset: 0 },
"117": { 'char': 'u', 'width': 18.667, xoffset: 0 },
"118": { 'char': 'v', 'width': 16, xoffset: 0 },
"119": { 'char': 'w', 'width': 24, xoffset: 0 },
"120": { 'char': 'x', 'width': 16, xoffset: 0 },
"121": { 'char': 'y', 'width': 16, xoffset: 0 },
"122": { 'char': 'z', 'width': 16, xoffset: 0 },
"123": { 'char': '{', 'width': 10.667, xoffset: 0 },
"124": { 'char': '|', 'width': 8, xoffset: 0 },
"125": { 'char': '}', 'width': 10.667, xoffset: 0 },
"126": { 'char': '~', 'width': 21.333, xoffset: 0 },
}
以上字符已经能满足目前的开发需要
https://user.233lyly.com/community/resources/post_1670855165390.jpg32表示24号中文字体的所占尺寸
这样你就可以做出漂亮的富文本啦!!!
https://user.233lyly.com/community/resources/post_1670855165670.jpg途中的紫色文字可以点击弹出其他UI界面呢
|