对于给定字体,iOS获取字符串中每个字符的宽度

时间:2017-11-11 11:37:10

标签: android ios nsstring uifont robovm

我想要一个与Android相似的功能:

TextPaint.getTextWidths(String text, int index, int count, float[] widths);

基本上它的作用是 - 对于给定的字体,它将返回该字符串的所有单个字符宽度。我不需要范围(索引/计数),因为我将始终为完整字符串执行此操作。

以下实际上是iOS函数的Java RoboVM绑定,但是我应该很容易理解我正在使用的类以及如何使用它们。我知道如何获取字符串的边界框,就像这样;

NSString nsString = new NSString(string);
CGSize dim = nsString.getSize(uiFont);

不幸的是,解决方案不像通过字符串中的字符相互关联那么简单,因为这会给复杂脚本(例如阿拉伯语)带来无效结果,其中字符外观和大小也依赖于它的兄弟。虽然Android的getTextWidths()处理了这个问题,所以我希望iOS上有类似的功能。

谢谢!

0 个答案:

没有答案