Нужен совет по шрифтам в GTK1

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Нужен совет по шрифтам в GTK1

Сообщение alexs » 04.03.2007 02:27:37

Собственно нужен совет-консультация - можно ли как-топодключить TTF шрифты чобы их было видно из GTK1 (GTK2 их отображает) - с выводом их на принтер получилось - осталось только в превью LazReport-а отобразить :-)

p.s.
У кого есть свободное время - надо довести LazReport до ума - наладить работу со шрифтами коректно
я думаю что необходимо реализовать поддержку стилей на frMemo
а уже непосредственно в стиле хранить параметры шрифтов и проч.
также можно разделит через стиль платформенно-зависимые вещи.
у самого не хватает времени - может кто менее загружен?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Sergei I. Gorelkin » 04.03.2007 13:49:26

Подключить, я полагаю, можно. Но только это делается на уровне не GTK, а системы целиком. В старых системах ведь TTF рисовался самими иксами, а с развитием прогресса их переключили на xft. Подключив обратно, рискуем потерять антиалиасинг...
Вообще, хотелось бы мне самому в один прекрасный день понять, как весь этот зоопарк из x, xfs, xft, pango и всего остального взаимодействует...
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение konst » 04.03.2007 18:27:21

все не очень сложно:
1. ttf шрифты можно расположить в любой папке (н-р /usr/share/fonts/ttf)
2. командой mkfonscale (в этой папке) создать файл font.scale
3. убедиться, что в нем есть строки "фонт - кодировка" с нужной локалью, при необходимости вписать.
4. командой mkfontdir создать файл font.dir (или скопировать cp font.scale font.dir). В данном случае эти два файла должны буть идентичны.
5. создать файл encodings.dir или линк на файл, поставляемый с xfs (нужно для локалей отличных от utf)
6. прописать путь, где лежат новые ttf шрифты в конфиг. xfs
7. service xfs restart
8. все должно работать!

для использования нового ttf шрифта в gtk1, как дефолтового, его необходимо вписаить в конфиг. gtk, для нужной локали (н-р /etc/gtk/gtkrc.cp1251) или в домашней папке (файл .gtkrc)
konst
незнакомец
 
Сообщения: 8
Зарегистрирован: 12.02.2007 10:17:01

Re: Нужен совет по шрифтам в GTK1

Сообщение Yogrik » 04.03.2007 19:06:39

alexs писал(а):надо довести LazReport до ума

Помойму его нужно долго до ума до водить...:(

PS
Хотя может только у меня Preview не правильно работает...:(
Yogrik
постоялец
 
Сообщения: 116
Зарегистрирован: 23.03.2006 00:41:48

Сообщение debi12345 » 04.03.2007 20:01:18

По части утранения возни с алиасами шрифтов для каждой из кодировок, может кому будет полезна часть туториала к MSE* :
===============
Так как MSEgui внутри использует юникод, он может работать в любой национальной среде ( см. системную переменную “LANG” ), при условии, что в системе установлены шрифты с кодировкой ISO 10646-1, в которых представлены символы национального алфавита системы ( см. первую, до точки, часть значения “LANG”, у меня это “ru_RU” ). Опять-таки, проще всего этого добиться, установив те же “ttf-freefonts”.

Для подстраховки по части кодировок лучше импортировать эти шрифты из сервера шрифтов, так как этот сервер умеет на лету генерировать нужные кодировки:

* установить пакет «xfstt» ( сервер TrueType-шрифтов )
* в секцию ( /etc/X11/XF86Config-4: Files ) дописать импорт шрифтов из «xfstt» :

FontPath "unix/:7101"

* сказать серверу XFSTT , какие кодировки генерировать, для чего в /etc/init.d/xfstt , в конце секции анализа конфигурации, вписать строку :

userarg="$userarg --encoding iso8859-1,koi8-r,windows-1251,iso10646-1,symbol-0"

* перезапустить «xfstt» ( /etc/init.d/xfstt restart ), а затем и все X11- сессии ( Ctrl+Alt+BackSpace в каждой из сессий )

Примечание:

использование "$userarg" - лишь один из способов ( использованый в Debian Linux ) для передачи параметров команжной строки в запускаемый сервер ( демон ) "xfstt", в другом Linux-дистрибутиве может понадобиться другой способ

параметр "--encoding" задает, шрифты в каких кодировках сгенерировать, причем каждый шрифт занимает память, поэтому будем минималистами - зададим минимально необходимый набор кодировок для отображения стандартных X11-программ ( iso8859-1 ), стандартно русифицированных программ ( koi8-r), MSEgui-программ ( iso10646-1 ) и символов вроде стрелок, курсоров и и т.п. ( symbol-0 ); кодировка "windows-1251" здесь - на случай чтения русских MSWord-файлов в среде OpenOffice/StarOffice/KWord

«xfstt» при запуске ищет TrueType-шрифты в каталоге и подкаталогах “/usr/share/fonts/truetype/*” - находит, строит кэш, генерирует кодировки и подгружает - независимо от базовой конфигурации X11.

Поэтому добавить другой комплект TTF-шрифтов просто – скопируйте, например, шрифты от MicroSoft – в каталог “/usr/share/fonts/truetype/microsoft/”, и выполните в нем команды «mkfontscale `pwd`», «mkfontdir `pwd`» и «fс-cache `pwd`» ( эти команды нужны, чтобы информация о новых шрифтах стала доступна для "X11" и "FreeType" ).

Прямая ссылка на “/usr/share/fonts/truetype/ ”( и подкаталоги ) в (/etc/X11/XF86Config-4: Files ) может быть удалена.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение alexs » 05.03.2007 01:39:09

Yogrik писал(а):Хотя может только у меня Preview не правильно работает..

Что именно не работает? - как раз превью там стабильное.

за советы по шрифтам спасибо - буду пробовать
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Yogrik » 05.03.2007 01:50:56

alexs писал(а):Что именно не работает? - как раз превью там стабильное.

А...а...:? :?:
Опять я что-то пропустил :cry:

А при скроллинге(вертикальном в особенности) отрисовка нормально работает ???
А вот у меня плохо работала(т.е. там все смазывалось)....
Yogrik
постоялец
 
Сообщения: 116
Зарегистрирован: 23.03.2006 00:41:48

Сообщение alexs » 05.03.2007 12:35:17

Это уже подправлено давно - ты давно из репозитария обновлял?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Attid » 05.03.2007 13:08:34

Код: Выделить всё
Это уже подправлено давно - ты давно из репозитария обновлял?


а репозаритарий тут http://sourceforge.net/cvs/?group_id=118961 ?
или еще где-то есть ? а то в этом давно давно ничего не обновлялось.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Attid » 05.03.2007 13:26:06

заодно вопрос к alexs ты вроде больше всех в лазрепорте понимаешь как там дело с баркодом ? компонент есть файлы присутствуют, а вот как его в дизайн тайме создать не пойму или это пока оставленно на рантайм ?
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Yogrik » 05.03.2007 16:44:52

alexs писал(а):Это уже подправлено давно - ты давно из репозитария обновлял?

Да вроде как не очень давно, и как правильно заметил Attid репозиторий обновлялся давно...:(

Я конечно на всякий случай скачаю свежую и посмотрю....;)
Yogrik
постоялец
 
Сообщения: 116
Зарегистрирован: 23.03.2006 00:41:48

Сообщение Yogrik » 05.03.2007 20:38:05

Если репозиторий лежит на sf.net, то могу констатировать что там также плохо превью работает...:(

Только я ошибся про вертикальный скрол, конечно же горизонтальный...
Если взять ползунок и провести туда обратно, то буквы смажутся....

Вообще на основании того что я увидел в лазрепорте, не вижу простого решения этой проблемы, разве что полностью переписывать половину компонента :(

В целом конечно, я бубном повозюкал, но получилось через ***, да и работает не все и медленно, до деловать пока не решился....
Yogrik
постоялец
 
Сообщения: 116
Зарегистрирован: 23.03.2006 00:41:48

Сообщение alexs » 06.03.2007 00:15:52

В винде просмотр работает нормально (и вертикальный скрол и горизорнтальный)
качал отсюда
lazreport.cvs.sourceforge.net:/cvsroot/lazreport
с баркодами ещё не смотрел - мне они не нужны просто (пока) :-)
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Yogrik » 06.03.2007 00:39:33

Я брал там же...:(
И если скомпилить оба примера, то везде эта проблема :(

Это аппаратная проблема?!
Или мы друг-друга не понимаем :'(

Ладно, постораюсь завтра сделать скрины
и запостить где-нибуть...:(
Yogrik
постоялец
 
Сообщения: 116
Зарегистрирован: 23.03.2006 00:41:48

Сообщение alexs » 06.03.2007 11:35:43

в линуксе насчёт скрола замечен баг - толи просмотрщика толи скробара
если я начинаю таскать за скрол-бары просмотрщик - то область прсомотра не обновляется - надо просто щёлкнуть мышкой в область просмотра - тогда она перерисуется

как я проверял:
разрешение монитора большое - поэтому чтобы лист вылез за пределы экрана я ставил масштаб в просмотрщике 200 %
ОС:
WinXP SP2
ASPLinux11
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29

Рейтинг@Mail.ru