Как рассчитать пространство между двумя глифами в шрифте TTF?

Это график с определением нескольких терминов для метрики горизонтального глифа для шрифтов.

Метрика глифа

Допустим, у меня есть предложение,

Фу бар баз.

Как получить размер интервала в пикселях между словами "Foo" и "bar"? Я полагаю, я суммирую,

  • Пробел справа в графеме для 'o' в "Foo": вычтите из advance bearingX + width
  • advance космического персонажа.
  • Пробел слева от буквы "b" в строке "bar": просто bearingX,

Это правильно? На каком столе стоит подшипник X?

1 ответ

Как получить размер интервала в пикселях между словами "Foo" и "bar"?

Вам нужно знать горизонтальное перемещение символа пробела и кернинга между "o" и "", а также между "" и b". Я не думаю, что вам нужен подшипник X, чтобы получить интервал. Результат будет в единицах шрифта" ", определяемый unitPerEm тега HEAD. Так что конвертируйте этот результат * размер шрифта / unitsPerEm, и вы получите интервал в" точках ". Тогда вам нужно будет знать, сколько пикселей в одной точке: зависит от приложения, может быть ваш монитор DPI или Postscript's 72 точек на дюйм.

На каком столе стоит подшипник X?

подшипник X также находится в HMTX, под "lsb" (левый подшипник) longHorMetric (и также, очевидно, leftSideBearing).

Другие вопросы по тегам