У меня есть приложение Delphi 10.2.3 для Windows, в котором я хочу изменить свойства "tmLeadingInternal" и "tmLeadingExternal" для шрифта. Шрифт создается «на лету» путем создания TLogFont и назначения его соответствующему холсту.
Я могу получить эти свойства в порядке с помощью GetTextMetrics, и в документации Microsoft говорится: «Дизайнер может установить этот элемент равным нулю». Однако я не вижу способа сделать это в Delphi.
@Sertac - хммм - я подозреваю, что вы правы, и в этом случае это не годится.
Я не совсем понимаю, однако, какое отношение дизайнер имеет к внешнему ведущему. Там ничего нет, ни акцента, ни диакритических знаков и т.
@SertacAkyuz: внешний интерлиньяж касается интервала (за пределами самого шрифта) между строками, когда текст переносится на несколько строк, IIRC. В этом пространстве не допускается никакой рисунок, и дизайнер шрифтов может указать, что между строками допускается минимальное расстояние для предполагаемой разборчивости. Многие шрифты не предоставляют это значение, поэтому программное обеспечение может управлять межстрочным интервалом. (Хотя я мог и ошибаться.
@Ken - Вы правы в том, что внешнее является компонентом «межстрочного интервала», и я полагаю, что между нижней частью нисходящей части и внутренним началом следующего ряда может не быть места.
@TomB: Я полагаю, что можно, но это не значит, что у дизайнера шрифтов были те же мысли. :-) Однако Сертак был прав - документы, которые вы цитировали, ссылаются на то, что дизайнер шрифта может указать ноль. Поскольку это значение встроено в сам шрифт, его нельзя изменить во время выполнения. Для этого вам придется изменить файл шрифта.





Я полагаю, что «дизайнер» — это дизайнер шрифтов.