我正在为使用自定义字体的应用程序编写插件,我创建了一个包含每个字符作为键的hashmap,以及以像素为单位的宽度(包括字符之间的1个额外像素)。但我仍然无法找到一种解决方案,感觉我不知道自己在做什么:P我试着检查其他问题,但它们似乎都是关于字符行的长度,或者使用外部罐子来处理标准字体。
拆分应与中间的换行符相结合。
输入是一个包含一些现有换行符的字符串。
如果有更好的方法来解决这个问题,那么请不要忽略这一点。
感谢您的帮助。
答案 0 :(得分:1)
如果您只需要支持ASCII或ISO-8859-1,那么由二进制字符值索引的简单宽度数组将是更好的选择。如果你需要支持Unicode,那么Map会更好,因为数组会非常庞大且稀疏(即大部分为空)。
给出112像素宽度,你必须为嵌入式显示器写这个,所以你可能不关心连字符,分裂音节和这样的细节。根据您的显示器有多少行,您可能需要考虑设置分割单词的最小阈值,例如其宽度的25%。即如果你不能获得该行中至少25%的字母,则将整个单词分成下一行,并在前一行的末尾留下空格。但鉴于空间有限,这可能不是一个考虑因素的美学决定。