联丰公司;UnicodeData.txt如何推断字符是全宽还是半宽(x-advance)

联丰公司;UnicodeData.txt如何推断字符是全宽还是半宽(x-advance),unicode,fonts,raster,measure,Unicode,Fonts,Raster,Measure,是否有可靠的方法确定unifont中的字形是否为半宽类拉丁字符(即图表0002中的所有字符),仅占用左半空间或全宽类字符0x06E9(来自图表0006) 像素分析对我来说不是一个好的解决方案,因为它会在许多字符(如空格)上失败 我更喜欢使用unicodata.txt中的信息: 不幸的是,我无法从数据中找到unifont和任何字段之间的良好匹配 图0002: 图0006: 看起来您需要使用unifont版本的源代码“.hex”,以及[1]中相应版本的Unicode实用程序unigenwidth

是否有可靠的方法确定unifont中的字形是否为半宽类拉丁字符(即图表0002中的所有字符),仅占用左半空间或全宽类字符0x06E9(来自图表0006)

像素分析对我来说不是一个好的解决方案,因为它会在许多字符(如空格)上失败

我更喜欢使用unicodata.txt中的信息:

不幸的是,我无法从数据中找到unifont和任何字段之间的良好匹配

图0002:

图0006:

看起来您需要使用unifont版本的源代码“.hex”,以及[1]中相应版本的Unicode实用程序unigenwidth'[2]似乎生成与Unifont中字符宽度相关的代码;也许您需要编写一个解析器来检查代码并给出您想要的东西

[1]


[2]

你在用什么?如果你有权访问字体本身,并且可以在上面加一个解析器,你可以简单地检查字形的宽度与字体规定的四元组大小的关系。我意识到可以在ie.fontforge中编写一些脚本来转储每个字符x-advance。不幸的是,在安装cygwin、x-win和fontforge之后,它在启动时抛出异常。回到您的问题,我只想在连接到Pic uC的SD卡上使用1位位图+一些宽度数据。forntforge是一种过分的方法。您只需要一个可以读取
hhea
表的东西和一个可以读取
hmtx
表的东西。但是,我需要指出的是,“半宽度”仅在默认情况下字符使用完整四元组的上下文中表示,如CJK。仅为拉丁块设计的字体的宽度是成比例的,与四边形的一半没有任何关系。