[Comm] шрифты в интерфейсе tk/tcl-программ
Maxim Tyurin
=?iso-8859-1?q?mrkooll_=CE=C1_bungarus=2Einfo?=
Ср Ноя 8 18:18:06 MSK 2006
Vadim V. Zhytnikov пишет:
> Maxim Tyurin пишет:
>
>> А там вроде и нет механизма. Берется первый шрифт подходящий под описание.
>> Просто описания в основном состоят из *
>> Поэтому и берется что попадется первым. А первым часто попадается всякая
>> гадость.
>>
>
> Ну почему тогда в Mandrake русский совсем из другого семейства а не
> из гельветики? Почему в Сизифе английский масштабируется а Русский нет?
> Как-то это всё это очень странно. На код что-ли глянуть и посмотреть
> что он там действительно выбирает? Хотя ей-ей жалко времени...
Я ошибся. Учил tk по старым книгам.
Начиная с tk 8.0 спользуется подстановка шрифтов если шрифт указан в
новом формате (типа -font {helvetica 12 bold} ). Причем подстановка
выполняется для каждого символа - tk обращается с каждому шрифту и
узнает может ли он отобразить нужный символ. И параметры шрифта могу
быть изменены. В принципе заточено на то чтоб программист не напрягался
выбором шрифта чтоб отобразить что нужно. Только красивости прийдется
добиваться самому.
Если шрифт указан в формате X Window то подстановка не выполняется -
берется первый шрифт подходящий под паттерн.
Если подходящий шрифт не найден будет ошибка.
P.S. Что tcl/tk творит со шрифтами можно немного понять посмотрев вывод
font names выведет доступные имена шрифтов
font actual описание_шрифта выведет параметры соотв. характеристикам
указанного шрифта
font metrics описание_шрифта выведет метрики (инфу о размерах) шрифта.
P.P.S. Вроде сейчас все точно описал.
--
With Best Regards, Maxim Tyurin
JID: MrKooll на jabber.pibhe.com
___
/ _ )__ _____ ___ ____ _______ _____
/ _ / // / _ \/ _ `/ _ `/ __/ // (_-<
/____/\_,_/_//_/\_, /\_,_/_/ \_,_/___/
/___/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 252 байтов
Описание: OpenPGP digital signature
Url : <http://lists.altlinux.org/pipermail/community/attachments/20061108/006c28f7/attachment-0003.bin>
Подробная информация о списке рассылки community