Мы используем Paint.getTextWidths () для измерения смещения символов в строке (чтобы отобразить их как спрайты в Open GL).
Работает на 99% кроме одного удивительного случая.
Когда символ «i» следует за «f».
myPaint.getTextWidths ("fioo", myWidthContainer)
возвращает
[30.0, 0.0, 31.0, 31.0]
С другой стороны
myPaint.getTextWidths ("eioo", myWidthContainer)
возвращает
[30.0, 13.0, 31.0, 31.0]
Что не так с реализацией Paint.getTextWidth ()?
Есть обходные пути?
Шрифт "sans-serif", который на моем устройстве - "Roboto" (Google Pixel 2).
Так настроен myPaint.
Typeface typeface = Typeface.create("sans-serif", Typeface.NORMAL);
myPaint.setTypeface(typeface);
myPaint.setAntiAlias(true);
myPaint.setColor(Color.WHITE);
myPaint.setTextSize(54);
Android P