В сообщении от 29 Апрель 2003 11:12 Victor B. Wagner написал:
> On 2003.04.29 at 10:04:43 +0600, Dimitry N. Naldaev wrote:
> > него нужно патчить... Вот если бы Вы провели небольшую экскурсию на
> > предмет того, а что же происходит в недрах xlib когда его просят вывести
> > некоторую строку шрифтом -*-courier-*-*-*-*-*-*-*-*-*-*-*-*
>
> Во-первых, xlib так никогда не просят. xlib просят
> 1. Найти шрифт, соотвествтующий этому шаблону. Он его находит,
> и возвращает некий идентификатор этого шрифта.

Копать здесь :-) Как ищется шрифт, соответствующий шаблону? какие функции 
отвечают за этот процесс и где они живут?
>
> 2. Вывести текст шрифтом с таким-то идентификатором.
>
> Во-вторых, речь шла не столько об xlib, сколько об Xt.
> Который имеет свой собственный механизм работы с ресурсами, надстроенный
> над xlib-овским. А Xaw и Motif надстраивают сверху еще один уровень.
типа если xlib будет находить правильный шрифт, соответствующий шаблону, то 
эти надстройки могут его "испортить"?
>
> В-третьих есть еще xrdb, который умеет препроцессировать файл ресурсов.
Не знал, не знал...
>
> Видимо, самый простой путь борьбы - прикрутить к xrdb макрос
> FONT_ENCODING, который будет соответствующим образом раскрываться,
> в зависимости от nl_langinfo(CODESET).
не уверн, что это будет проще...

Мне бы еще хотелось, чтобы xlib умел находить фонт с нужным dpi в зависимости 
от dpi монитора/X-сервера. интересно сдесь тоже можно сделать через xrdb или 
без пропатчивания xlib не обойтись?
>
> > мне кстати еще так же непонятно, за что отвечает файлик
> > /usr/X11R6/lib/X11/locale/koi8-r/XLC_LOCALE а так же где и как
> > используется информация из этого файлика
>
> В основном - за ввод с клавиатуры. Используется он в основном
> в XmbLookupString, которая преобразует присланный  X-сервером код
> клавиши (KeySym) в строку, сответствующую смыслу этой клавиши в текущей
> локали.

А за что тогда там отвечает раздел XLC_FONTSET и где он используется?
>
> Можно запустить программку xev и потыкать в разные клавиши посмотреть
> как оно себя ведет.
>
> > еще есть идея не генерить кучу шрифтов для каждой кодировки из
> > юникодового шрифта, а делать соответствующую перекодировку на лету те
> > вырезать соответствующий фонтсет :-) из юникодовых шрифтов по мере
> > надобности точно так же, как это делается для ttf шрифтов...
>
> Не только для ttf. Для всех scalable, то есть и для Type1 тоже.
>
> Фактически все scalable шрифты на  лету преобразуются в bitmap-шрифты
> нужного размера и кодировки. А bdf/pcf шрифты уже живут готовенькими
>
> > > > Не понятно только почему об этом должна болеть голова у конечного
> > > > пользователя???
> > >
> > > Потому что пока никто не предложил лучшего решения.
> >
> > ??? КАК не предложил?!!
> >
> > а положить более-менее работающий набор ресурсов в
> > /etc/X11/<имя локали>/app-defaults/
> > при инсталяции системы?
>
> Предложением решения в данном случае является не абстрактная фраза
> "положить трам-там-там", а патчи к пакету, отправленные мейнтейнеру
> через Debian bug-tracking систему.
>
У меня есть подозрение, что проще и правильнее выпустить отдельный/е пакет(ы) 
аддон(ы) с локалезированными ресурсами для X'ов

> Тут есть несколько дополнительных граблей, на которые можно наступить.
> Во-первых, XLFD (X Long Font Description) задает не только имя шрифта,
> но и размер. Поэтому для разных разрешений монитора шрифты должны быть
> заданы разные. 

О да! очень серьезное замечание. меня если чесно уже задалбала борьба с 
размерами шрифтов на 100 dpi мониторе и боле мене приемлемого решения я до 
сих пор не знаю :-( особенно если учесть, что gimp почему-то зависит от 
фонтов в 75 dpi

> А для xterm их должно быть вообще задано 6 штук - от tiny
> до huge.
>
> Во-вторых, некоторые любят шрифты  -rfx-*, а некоторые -cronyx-*,
> А в дистрибутиве есть и те и другие.

 А некоторые ни то и ни другое. но пока больше не из чего выбирать :-(

тут можно предложить настройку при инсталяции пакета например через debconf
>
> Поэтому предложить работающее решение довольно сложно. Призовая игра -
> предложить решение, работающее в том случае если вдруг любители разных
> шрифтов работают на одной машине. /etc/X11/имя-локали в этом случае не
> спасает.

Вопрос не в том, чтобы удовлетворить вкус самого изысканного гурмана, А в том 
чтобы предложить работающее решение по умолчанию, чтобы начинающий 
пользователь мог включить и увидеть что-то вразумительное. В любом случае это 
лучше, чем кракозябры Latin1 который получают пользователи стабильного 
debian'а из коробки сейчас...

Ответить