Привет,
Зеленое значение «horizontal rule» (горизонтальная линия) указано верно (вероятно, вам нужно установить его примерно в 0). К сожалению, настройка 'Bottom of header to top of text' (от нижнего края заголовка до верхнего края текста) ненадежна. Математика для ее расчета сложна, зависит от шрифта и в настоящее время неверна.
По какой-то причине я не могу успешно вставить изображение, но... для начала:
1. установите значение (зеленой) горизонтальной линии в 0pt
2. Установите фиолетовое значение 'bottom of header to top of text' (от нижнего края заголовка до верхнего края текста), например, в половину высоты шрифта.
3. Отрегулируйте так, чтобы горизонтальная линия правильно лежала на линии. Для Charis половина — это хорошо, для Arial, если я правильно помню, лучше 0,2.
4. Запомните смещение (offset).
5. Установите значения такими, какими вы хотите их видеть, добавив смещение.
Что идет не так?
Фиолетовое значение используется для расчета синего значения рядом с ним, которое по историческим причинам представляет собой расстояние от верхнего края страницы до верхнего края рамки, содержащей текст. К сожалению, эта рамка включает в себя пространство, которое дизайнеры шрифтов решили оставить для диакритических знаков. Для Charis «ascent» (высота восходящих элементов) шрифта составляет примерно 1,5 высоты шрифта, но для Arial — 1,2.
Чтобы рассчитать правильное смещение, пользовательский интерфейс Python должен был бы (a) определить, какие шрифты используются в заголовке, (b) каким-то образом прочитать шрифты, чтобы определить, у какого из них самая высокая «ascent».
В качестве альтернативы, расчет в TeX мог бы выполняться другим способом, но это сломало бы существующие проекты.
В данный момент у нас есть догадка, которая часто оказывается неверной, но на самом деле ничего не ломает...
Hi,
The green "horizontal rule" measure is accurate (you probably want it to be about 0). Unfortunately the 'Bottom of header to top of text' setting is unreliable. The maths to work it out is complex, depends on the font, and currently wrong.
I can't successfully past an image, for some reason, but... to start with,
1. set the (green) horizontal rule figure to 0pt
2. Set the purple 'bottom of header to top of text' to, say half the font height.
3. Adjust so the horizontal line is sitting on the rule properly. Half is good for charis, 0.2 or so is better for Arial, if I remember correctly.
4. Remember the offset.
5. Set values how you actually want them to be, adding in the offset.
What's going wrong?
The purple figure is used to calculate the blue figure beside it, which for historical reasons is the distance from the top of the page to the top of the box containing the text. Unfortunately, that box includes the space the font designers decided to leave for accents. For Charis, the 'ascent' of the font is about 1.5 times the font height, but for Ariel it is 1.2 times.
To calculate the correct offset, The Python user interface would need to (a) work out which font(s) are in use in the header, (b) somehow read the font(s) to determine which one has the highest ascent.
Alternatively, the calculation in TeX could be done in a different way, which would break existing projects.
At the moment, we have a guess, which is frequently wrong, but doesn't actually break anything...