1

Тема: Чему равен одинарный интерлиньяж (междустрочный интервал) в Word?

Во многих изданиях пишется, что одинарный интерлиньяж (междустрочный интервал) в Word равен кеглю шрифта. Т.е. шрифт 10 пунктов - интерлиньяж 10 пунктов. В продуктах фирмы Adobe одинарный интерлиньяж равен ровно 120% от кегля. Т.е. шрифт 10 пунктов - интерлиньяж 12 пунктов. Элементарная проверка показывает, что одинарный междустрочный интервал в Word действительно равен примерно 120% от кегля. Достаточно поставить единицы измерения не мм, а пункты, и измерить по вертикальной линейке. Но в Word интерлиньяж "плавает" также в зависимости от гарнитуры (не от кегля) шрифта! Это тоже элементарно проверяется - задайте десяток одинаковых строк и поменяйте гарнитуру, не меняя размер шрифта - строки поплывут по вертикали.
Так как в Word определяется одиночный междустрочный интервал? Чему он равен? sad

2

Re: Чему равен одинарный интерлиньяж (междустрочный интервал) в Word?

Автоматический (одиночный и т.п.) интервал определяется по размерам самого высокого элемента строки. И это не обязательно буква, может быть рисунок, надпись, да что угодно. Рассчитать его самому практически невозможно, лучше замерить имеющийся.
Например, так:

Dim N1!, N2!
    
    N1 = Selection.Information(wdVerticalPositionRelativeToTextBoundary)
    Selection.MoveDown Unit:=wdLine, Count:=1
    N2 = Selection.Information(wdVerticalPositionRelativeToTextBoundary)
    Selection.MoveDown Unit:=wdLine, Count:=-1
    MsgBox "Высота строки = " & CStr(N2 - N1) & " пт."

Ни что не мешает в формате абзаца выставить фиксированный интервал.

Макросы под заказ и готовый пакет - mtdmacro.ru

3

Re: Чему равен одинарный интерлиньяж (междустрочный интервал) в Word?

Спасибо за попытку ответа. Конечно, ничто не мешает в формате абзаца выставить фиксированный интервал, если это нужно.
И конечно, если в текстовую строку вставить картинку с верхним размером, выходящим за верхний размер строки, то общяя высота строки будет между максимальными измерениями.
Но я ведь не это спрашивал. Я как раз спрашивал, как Word задает размер одинарного интерлиньяжа текстовой строки, чтобы можно было его рассчитать. Почему это "практически невозможно"? Это секретный алгоритм Microsoft? Если Word при задании одинарного интерлиньяжа кроме размера кегля шрифта использует какие-то другие параметры шрифта, то какие? Может, кто-нибудь знает?
Понятно, что если в одной строке используются два разных кегля, то одинарный интерлиньяж строки определяется по большему кеглю. Но чему он равен?

4

Re: Чему равен одинарный интерлиньяж (междустрочный интервал) в Word?

Я так понимаю, что это вам нужно для вёрстки. Тогда сразу откажитесь от использования Word. Это текстовый редактор, а не программа вёрстки.

Vicsel пишет:

…Это секретный алгоритм Microsoft?…

Не секретный, а малоизвестный. В текстовом редакторе это мало кого интересует. Мне кажется, что метод, предложенный Вождём, достаточен

Лучше день потерять — потом за пять минут долететь!

5

Re: Чему равен одинарный интерлиньяж (междустрочный интервал) в Word?

Решил всё-таки разобраться, может кому-нибудь будет интересно.
Ответ я нашёл на странице Microsoft внешняя ссылка в разделе «Baseline to Baseline Distances, Windows».
Формула:
suggested BTBD (т.е. рекомендуемый интерлиньяж)= ascent + descent + external leading=
usWinAscent+|usWinDescent|+MAX(0, LineGap - ((usWinAscent + |usWinDescent|) - (Ascender - Descender))).
Метрики usWinAscent и usWinDescent берутся из таблицы «OS/2» шрифта (обратите внимание на знак usWinDescent),
LineGap, Ascender и Descender берутся из таблицы «hhea» шрифта.
Чтобы получить результат не в условных единицах, а в процентах от кегля, нужно всё это разделить на количество условных единиц в кегле upEm (2048 или 1000).
Выбрал для нескольких шрифтов метрики программой FontLab Studio, посчитал, сравнил с тем, что показывает Word – и о чудо, всё совпало!
Например, одиночный интерлиньяж для Arial и Times New Roman – 115%, Arial Black – 141%, Myriad Pro – 120,2% от кегля.
Действительно, Вождь прав, гораздо проще выставить фиксированный интервал.
Кстати, метрик этих существует невообразимое количество, и разобраться, например, чем tmAscent отличается от TypoAscender – задачка непростая.

6

Re: Чему равен одинарный интерлиньяж (междустрочный интервал) в Word?

Vicsel пишет:

...может кому-нибудь будет интересно...

Спасибо, интересненько.
Про ширину символов информация не попадалась?
Что бы понять, что алгоритм сложный, достаточно почитать, как устроены компьютерные шрифты.

Макросы под заказ и готовый пакет - mtdmacro.ru

7

Re: Чему равен одинарный интерлиньяж (междустрочный интервал) в Word?

внешняя ссылка
Книга "Шрифты. Разработка и использование". Может в ней что-то нужное найдете?

Отредактировано andrkar (20.03.2010 13:22:20)