在处理字体时,有没有办法弄清楚如果两个字符之间的间距是“1 2”,它应该是多少?
如果它在 C++ 或 C# 中已知,我不介意。如果它是在 C++ 中,我会将其编码,如果是在 C# 中,我会将其保存到文件中并在 C++ 中加载。我尝试查看 TextMetric 结构,但它不存在。
最佳答案
Graphics.MeasureCharacterRanges通过在前后添加零宽度连接符 \u200D
来测量单个字形(甚至是空格),获得了很好的结果。然而,由于我认为是零宽度连接符,它确实忽略了所有字距调整的东西。
您需要一堆额外的参数,但是 new StringFormat(StringFormat.GenericTypographic)
和 Rectangle.Empty
对我来说就很好。
它返回字符串中每个字符的漂亮浮点边界数组。
关于c# - 以像素为单位查找文本 "space"值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5916560/