gpt4 book ai didi

java - 来自包含字符像素宽度的 HashMap 的像素完美自动换行

转载 作者:行者123 更新时间:2023-12-01 12:39:53 27 4
gpt4 key购买 nike

我正在为使用自定义字体的应用程序编写一个插件,我制作了一个 HashMap ,其中包含每个字符作为键,以像素为单位的宽度作为值(包括字符之间的 1 个额外像素)。但我仍然无法找到一个解决方案,感觉不像我不知道我在做什么:P 我尝试检查其他问题,但它们似乎都与字符行的长度有关,或者使用处理标准字体的外部 jar。

  • 尾随空格可以被修剪(可选)。
  • 不适合该行的单词需要转到下一行。
  • 大于整行的单词应在一行中的最后一个字符之后分割。 (行长只有 112 像素宽,这应该考虑到 - 一个单词可能需要分割多次)。
  • 分割之间应使用换行符连接。

  • 输入是一个带有一些现有换行字符的字符串。

  • 最大线条长度(以像素为单位)= 112。

如果有更好的方法来解决这个问题,那么 HashMap 请不要介意忽略它。

感谢您的帮助。

最佳答案

如果您只需要支持 ASCII 或 ISO-8859-1,那么由二进制字符值索引的简单宽度数组将是更好的选择。如果您需要支持 Unicode,那么 Map 会更好,因为数组会非常大且稀疏(即大部分为空)。

给定 112 像素宽度,您必须为嵌入式显示器编写此内容,因此您可能不关心连字符、音节分割等细节。根据显示器的行数,您可能需要考虑设置分割单词的最小阈值,例如其宽度的 25%。 IE。如果您无法获得该行至少 25% 的字母,请将整个单词分解到下一行,并在上一行的末尾保留空格。但这是一个审美决定,考虑到空间有限,可能不会被考虑。

关于java - 来自包含字符像素宽度的 HashMap 的像素完美自动换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25211980/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com