Word: измерить межстрочный интервал
От: Аноним  
Дата: 03.01.05 21:15
Оценка:
Есть в word'е извечная проблема — это определение высоты Row в Table (или всей Table), когда свойство .HeightRule = wdRowHeightAuto (или wdRowHeightAtLeast) — эти свойства устанавливают автоподбор высоты строки таблицы (или миним. высоты) — тогда в свойстве .Height хранится значение — 99999 (или предустан. значение). Т.о. определить РЕАЛЬНУЮ высоту Row в Table становится невозможно.

Я решил написать функцию, которая вычисляет реальную высоту Row как говорится в лоб, анализируя текст в ячейках Row. Функция в принципе написана, ничего особого сложного, НО необходимо учесть еще межстрочный интервал и тут возникла серьезная заминка — НИ КАК НЕ МОГУ понять по какому принципу расчитывается межстрочный интервал в points зная: размер шрифта и множитель межстрочн. интервала!?!?

Например, по справке: 1x интервал — соответ. размеру большой буквы шрифта, т.е. если шрифт 12 points, то?.... а вот и не то, реальные измерения показывают, что тогда интервал будет ~1,8 points, для шрифта 16 points — ~2,58 и т.д.

Так я провел измерения и составил следующие уравнения зависимости для каждого из множителя межстр. интервала Nx (зависимость реального межстр. интервала от размера шрифта):

для 1x — y=0,2354*SizeFont-1,1776
для 1,5x — y=0,8546*SizeFont-1,8663
для 2x — y=1,4729*SizeFont-2,4965
для 2,5x — y=2,0819*SizeFont-2,7935
для 4x — y=3,9928*SizeFont-7,1573
для 6x — y=0,1551*SizeFont-1,2053

.... в начале вроде намечается тенденция, однако после 4x, она вся сходит на нет...Вообщем я уже голову сломал пытаясь вычислить реальный межстрочный интервал в points'ах
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.