[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: