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

Re: [PATCH to gdk] поддержка корректного отображения русскоязычных элементов GUI при отсутствии /etc/gtk/gtkrc.ru



On Wed, 23 Aug 2000, Alexander Kotelnikov wrote:

> On Wed, Aug 23, 2000 at 02:54:35PM +0500, Vlad Harchev wrote:
> > > Я не знаю однобайтовых локалей кроме английских.
> > 
> >   А ru_RU.KOI8-R - она ведь тоже однобайтная (по крайне мере в соотвествии с
> 
> э-э. Я тормознул -- урезал байт в 7 бит.
>
> > > ты что, так и хотел убедить Owen'а, "gnomecc под вашу идеологию не заточен,
> > > давайте gdk поправим"?
> > 
> >  Патч исправляет _ошибку_ в gdk - ее исправить надо однозначно. Точка.
> 
> это с измерением ширины шрифта? это, конечно, правильно, но нельзя ли узнать,
> как можно посмотреть на то, к чему эта ошибка приводит?

  Да, неправильно измеряется ширина текста с помощью функции
gdk_text_width_wc(). Эта функция вызвывается в функциях виджета GtkLabel
(который очень активно используется по всему gtk). Хуже всего то, что метод
рисования GtkLabel устанавливает маску (прямоугольник) отсечения (или все-таки
виджеты в которых он находится это устанавливают) - тогда как длина этой маски 
оценивается неправильно (меньше истинной для русских букв). Это приводит к
тому, что 60% русских строк в различных эелементах gui (например в меню и на
кнопках) усекаются на пол- или целую букву (а при гнилой локали как в rh60 -
так и буквы на 4) (как я сказал, это проявляется когда /etc/gtkrc.gtkrc.ru
отсутвтвует - что и должно быть по причинам указанным мной ранее).

 Чтобы увидеть своими глазами - очевидно временно переименовать
/etc/gtkrc/gtkrc.ru в че-нить и перезапустить гном. Очень хорошо эффект виден
при нажатии кнопке "пуск" (пятке в левом нижнем углу экрана). Естественно, в
gnomecc должен быть при этом выбран русский шрифт.
 
> -- 
> Alexander Kotelnikov
> Saint-Petersburg, Russia
> 

 Best regards,
  -Vlad



Reply to: