Re: Отображение символа подчёркивания
Системный администратор -> debian-russian@lists.debian.org @ Thu, 10 Sep 2015 20:14:00 +0300:
Са> Большое спасибо. Сам даже не додумался бы в какую сторону думать чтобы
Са> всю эту информацию получить. Печально, что так дела обстоят. Я так
Са> понимаю, что со сглаживанием шрифтов тоже именно поэтому швах?
При этом, до кучи, libpango, судя по его описанию, может пользоваться
тремя бэкэндами (четырьмя, но четвертый - это в виндах). В том числе,
подозреваю, одновременно. Один из них будет freetype, но каким именно
он будет пользоваться, зависит, полагаю, помимо прочего от того, какой
шрифт.
Са> P. S. Терминал у меня Gnome-terminal
libpango, стало быть.
До кучи еще может быть привет от баша, у которого с уникодом вечно
какая-нибудь фигня, а уж с символами, гм, _не всегда_ занимающими
отдельную позицию на экране... Ему же, помимо того, чтобы вывести
символ, надо еще посчитать занимаемое именно им место, для
редактирования строки... (Ну, надо понимать, что баш в терминале
участвует только в формировании редактируемой строки, если что-то
сползает в выводе cat имя_файла, то bash тут уже ни при чем. Зато если
в выводе cat не сползает, а при редактировании строки сползает, то как
раз при чем.)
А со сглаживанием шрифтов, насколько я понимаю, дело швах по другой
причине. На TFT тупо сглаженный шрифт в любом случае смотрится плохо.
Чтобы он смотрелся нормально, разработчик шрифта должен приложить
соответствующие усилия, весьма немалые. В коммерческих шрифтах это еще
иногда делают, а в свободных...
Поэтому в терминале я предпочитаю использовать растровые шрифты.
Соответствующего размера, разумеется, чтобы движок рендеринга ничего не
пытался с ними делать. Вот у меня, кстати, в xterm как таковом (в
выводе less или cat) подчеркивания из твоего письма на месте.
Но от шрифтов тоже явно зависит - в emacs24-lucid с TTF'ным Droid Sans
Mono в наличии горизонтальное съезжание, а если запустить с тем же
растровым -efont-fixed-medium-r-normal--16-160-75-75-c-80-iso10646-1,
что xterm, то не съезжает. Зато (по сравнению с xterm) съезжает по
вертикали - учитывает глубину буквы. Рендеринг шрифта - libfreetype,
судя по всему.
>> > в LibreOffice Writer, в Gedit, в bash
>> > [SKIP]
>> > Всвязи с чем терзает вопрос: как так получается, что один и тот же шрифт
>> > отображается разными приложениями поразному? Или у них у всех свои рисовалки
>> > шрифтов? Как-то это не по Юникс-вей.
>> >
>> В bash это у xterm или какой терминальный эмулятор?
>>
>> Gedit использует libpango.
>>
>> Java/LibreOffice использует ICU font layout engine.
>>
>> xterm использует libfreetype.
>>
>> Есть движение в Java:
>>
>> http://openjdk.java.net/jeps/8064530
>>
>> заменить ICU на HarfBuzz, которое входит в состав Pango. Т.к. на домашней
>> странице
>>
>> http://userguide.icu-project.org/layoutengine
>>
>> печальные слова - разрабы покинули движок + куча открытых багов.
>>
>> Вообще альтернатив рендеринга текста не много:
>>
>> http://behdad.org/text/
>> State of Text Rendering
>>
Reply to: