Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Nov 7 2005, в 14:46
Сообщение #1
Шрифты как в Windows HowTo

Оригинал здесь
Перевод: Poor Fred.

Время от времени я вижу сообщения от пользователей, жалующихся на то, что их шрифты выглядят уродливо и желающих знать, как их можно улучшить. Часто люди ищут шрифты со сглаживанием как в Apple/OSX.

Мне тоже не нравилось, что шрифты выглядят расплывчато и хотелось напрячь глаза, чтобы изображение выглядело более четко. Поэтому надо было что-то предпринять, чтобы шрифты выглядели в точности как в Windows.

Любой может подтвердить, что включение сглаживания шрифтов в Linux дает довольно-таки паршивые результаты. Но эта ситуация может быть изменена кардинально, что я и пытался показать здесь. Эти снимки экрана призваны показать несколько вещей:

* хорошо отрисованные несглаженные шрифты;
* слаженность KDE- и GTK2-приложений
* читаемые терминальные шрифты
* четкие и хорошо отрисованные шрифты во всех браузерах.

Итак, мой "Шрифты как в Windows HowTo". Надеюсь, он кому-нибудь поможет.

Первым делом несколько предупреждений:

1. Некоторые действия, которые я посоветую, могут вступить в противоречие с законом той местности, где вы живете. Также потребуется установка шрифтов, на которые, я надеюсь, вы имеете права, т.к. заплатили за них, покупая Windows или компьютер с предустановленным Windows.
2. Перекомпиляция freetype2 может повлечь за собой некоторые нежелательные эффекты, как то:
a. падение менеджера шрифтов в KDE 3.2.x (не замечено в KDE 3.3.1);
b. изменение метода сглаживания шрифтов в Fluxbox. На Blackbox не будет оказано никакого эффекта, т.к. он не использует сглаживание вообще. Вероятно, это легко поправимо, но с тех пор, как я не использую его, мне все равно;
c. возможно, изменение сглаживания шрифтов может плохо подействовать на KDE/Gnome. Это довольно-таки маловероятно, но я это упоминаю, так как об этом говорят, например, в ньюсгруппах SuSE;

3. Я не проверял это на всех дистрибутивах. Мои снимки сделаны на Slackware-current, использующем Xorg, KDE 3.3.1, Gnome 2.6, freetype 2.1.9, ядро 2.4.27. Ранее я выполнял это на SuSE 8.2, slackware 9.1, slackware 8.1 и попробую на Debian. Я слышал, что "byte code interpreter" уже активизирован в Debian, так что я не думаю, что будет какая-нибудь разница.

Ну ладно, достаточно лирических отступлений.

Шаг 1: Выбор размера монитора.

Обычно размер выбирается в зависимости от монитора/видеокарты и Ваших личных предпочтений. У меня 19-дюймовый ViewSonic, которых хорошо показывает при размере 1280x1024 @ 75hz. 17-дюймовые мониторы обычно имеют размер 1024x768. Отредактируйте Ваш XF86Config или xorg.config для задания желаемого размера и частоты развертки Вашего монитора (если не знаете как - man xorg.conf). Пока не обращайте внимания на слишком мелкие шрифты, над ними мы поработаем позже, при задании dpi.

Шаг 2: Что делает Windows?
Windows делает три вещи, которые мы хотим заставить делать Linux: 1. Использовать хорошее качество отображения шрифтов. 2. Использовать подходящее dpi (dots per inch - точек на дюйм). 3. BYTE_CODE_INTERPRETER.

1. Получение шрифтов TrueType

Некоторые дистрибутивы, такие как SuSE, имеют небольшие скрипты для загрузки пакета Windows Core Font. Если Вы владелец CD с Windows, на нем есть программы позволяющие извлечь файлы шрифтов из архивов .cab. Если Вы используете двойную загрузку как я, примонтируйте раздел с Windows и скопируйте папку со шрифтами в Вашу домашнюю директорию. Это необязательно, но необходимо, если Вы планируете удалить раздел с Windows.

Теперь мы должны добавить шрифты TrueType в Linux. Обычно в Linux шрифты располагаются в /usr/X11R6/lib/X11/fonts. Быстрый взгляд на xorg/XF86Config сообщит Вам следующее:
Код

# FontPath "/usr/X11R6/lib/X11/fonts/local"
# FontPath "/usr/X11R6/lib/X11/fonts/CID"
# FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/TTF"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/opt/kde/share/fonts"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/local/share/fonts"
FontPath "/usr/X11R6/lib/X11/fonts"
FontPath "/usr/local/share/fonts/TTF" #<-- строка создана менеджером шрифтов KDE
FontPath "/usr/share/fonts"
FontPath "/usr/share/fonts/default"


В моем случае шрифты TrueType находятся в каталоге TTF. В Вашем они могут находиться в каталоге fonts или создайте сами каталог TTF. Вы можете также добавить каталог ~/fonts, если не хотите, чтобы шрифты распространялись на всю систему, но я обычно устанавливаю их для всей системы. Если Вы не создавали новый каталог для шрифтов, убедитесь, что добавили строку FontPath, чтобы указать, где X могут их найти.

Простейший путь установить новые шрифты - использовать менеджер шрифтов KDE в Центре управления в разделе "Системные установки". Перейдите в администраторский режим (для установки шрифтов для всей системы) и щелкните на директорию TTF в дереве каталогов. Щелкните "Добавить шрифты" в панели инструментов. Укажите на каталог со шрифтами Windows и выберите все шрифты, которые желаете добавить: Arial, Comic Sans MS, Courier New, Tahoma, Times New Roman и Verdana как минимум. Конечно, Вы можете добавить, все, которые хотите. Если Вы используете этот путь, шрифты будут установлены в каталог /usr/local/share/fonts/TTF и путь к нему будет создан в xorg.conf как в листинге выше. Мы сделали это в первую очередь, так как перекомпиляция freetype2 может нарушить работу мереджера шрифтов KDE - это все всемя случалось у меня в KDE 3.2.x.

Во время правки xorg.conf убедитесь, что 100dpi-шрифты находятся выше 75dpi-шрифтов.

2. DPI - точек на дюйм

Window использует по умолчанию 96 dpi. Linux - 75 или 81. Вот почему шрифты в Linux всегда такие маленькие по сравнению с теми же самыми шрифтами в Windows при одинаковом размере экрана и шрифтов. В зависимости от Вашей ситуации мы должны сделать следующие шаги, чтобы заставить Linux работать при 96 dpi.
a) Если Вы сначала загружаетесь в консоль (runlevel 3) и используете startx для запуска Х-ов, отредактируйте скрипт /usr/X11/bin/startx. В зависимости от дистрибутива, это может быть символьная ссылка.
Код

userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=/usr/X11R6/lib/X11/xinit/xinitrc
sysserverrc=/usr/X11R6/lib/X11/xinit/xserverrc
defaultclient=/usr/X11R6/bin/xterm
defaultserver=/usr/X11R6/bin/X
defaultclientargs=""
defaultserverargs="-dpi 96" #<--- обратите внимание
clientargs=""
serverargs=""


Просто добавьте "-dpi 96" к строке defaultserverargs= и все. Теперь, каждый раз, как Вы запускаете startx, Вы будете загружаться с разрешением 96x96 dpi, что можно проверить командой в терминале после того, как Х-ы запустятся:

Код
xdpyinfo | grep resolution


Если Вы автоматически стартуете X-Window через KDM или GDM, Вам нужно отредактировать xorg.conf or XF86Config. Это немного посложнее. Мы должны использовать переменную DisplaySize и она будет разная для каждого размера экрана. Я использую 1280x1024:
Код

# **********************************************************************
# Monitor section
# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

Identifier "My Monitor"

# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

HorizSync 31 - 86

# HorizSync 30-64 # multisync
# HorizSync 31.5, 35.2 # multiple fixed sync frequencies
# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies

# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

VertRefresh 50-180
Option "dpms"
DisplaySize 337.5 270.0  #<--- обратите внимание
EndSection


Опция DisplaySize 337.5 270.0 заставляет X-Window загрузиться с разрешением 96x96 dpi при размере экрана 1280x1024. Переменная задается
Код

DisplaySize X Y


где

Код
X = ширина_экрана_в_пикселях * 25.4 / желаемый_dpi
Y = высота_экрана_в_пикселях * 25.4 / желаемый_dpi


c) Если Вы используете Gnome, то даже если мы выполнили предыдущие шаги, этого недостаточно. Идем в Gnome/Desktop Prefs/Fonts/Details и изменяем опцию DPI вверху страницы на 96. Если даже Вы не используете Gnome, но применяете демон gnome-setting для переноса оформления из Gnome в KDE, или просто используете приложения из Gnome, такие, как evolution, Вам необходимо выполнить это действие, т.к. они могут привнести настройки dpi в KDE и сделать отображение шрифтов неустойчивым.

ОК, мы имеем TrueType шрифты и (или) dpi установлено на 96x96. Теперь нам нужно

3. Перекомпилировать Freetype2 для задействования интерпретатора байт-кодов

Загрузите исходные тексты с http://www.freetype.org/.

Возможно это не особая проблема, но я всегда стараюсь устанавливать версию ту же, что стоит в системе. Например, до недавнего времени в Слаке стояла версия 2.1.8 и хотя уже вышла 2.1.9 я тем не менее перекомпилировал именно 2.1.8. Мне кажется, чем меньше переменных, тем меньше проблем. Загружаем и распаковываем архив (я всегда компилирую в /tmp) и читаем README.

Это TRUETYPE readme из пакета исходников freetype2:
Код

How to enable the TrueType native hinter if you need it
--------------------------------------------------------
Бла-бла-бла, тут неинтересно (прим. переводчика)
--------------------------------------------------------

- откройте файл "include/freetype/config/ftoption.h"

- найдите строку:

#undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER

- замените на:

#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER


Лучше и не объяснишь.

Прежде чем компилировать и устанавливать вероятно Вы захотите удалить ранее установленный пакет. Я видел, это советуют в других документах, но я не вижу в этом особой необходимости. Библиотека freetype в Slackware находится в составе пакетов X-Window и не может быть удалена одна.

Еще одна вещь, которую нам надо сделать перед установкой - проверить символические ссылки.
Код

steve@peggyo:~$ cd /usr/lib
steve@peggyo:/usr/lib$ ls -la libfreetype*
-rw-r--r-- 1 root root 2431914 2004-11-11 00:28 libfreetype.a
-rwxr-xr-x 1 root root 816 2004-11-11 00:28 libfreetype.la*
lrwxrwxrwx 1 root root 20 2004-11-11 00:28 libfreetype.so -> libfreetype.so.6.3.7*
lrwxrwxrwx 1 root root 20 2004-11-11 00:28 libfreetype.so.6 -> libfreetype.so.6.3.7*
-rwxr-xr-x 1 root root 415008 2004-06-05 17:48 libfreetype.so.6.3.5* (<-старая)
-rwxr-xr-x 1 root root 1521734 2004-11-11 00:28 libfreetype.so.6.3.7*
steve@peggyo:/usr/lib$


Это полезно, если Вы будете обновлять библиотеки и хотите проверить, что линки указывают на новые. А также, если планируете удалить старые библиотеки перед компиляцией новых и хотите убедиться, что новые линки были созданы. Если нет, то листинг старых укажет Вам, что делать.

Убедитесь, что новые пакеты с исходными текстами установлены, так что Вы можете начать компиляцию.

Итак, начнем...

./configure --prefix=/usr

Я использую этот префикс для Slackware, Вам он может не понадобиться. Если libfreetype находится в /usr/lib, то все в порядке. Прочтите ./configure --help чтобы узнать установки по умолчанию.

make

Побежали строчки. Сообщения типа "blah blah violates strict antialiasing rules yada yada" можете игнорировать.

Зарегистрируйтесь root'ом:

su -
make install

Будучи root'ом запустите

ldconfig

Если Вы в KDE, запустите Панель управления и разделе Внешний вид/Шрифты оставьте сглаживание шрифтов, но исключите диапазон от 0.0pt до 14.0 или 15.0pt. Замените все шрифты на Arial или Verdana размером 9 или 10 pt и перезапустите X-Window.

Вы должны увидеть огромную разницу, как шрифты отрисовываются без сглаживания (при этом размере).

Шаг 3: Приложения GTK2 (Gimp Tool Kit) в KDE

Приложения типа Mozilla, Gnumeric, Gaim, Abiword, Blufish, Pan являются приложениями GTK2. При использовании их в KDE они не будут следовать установкам шрифтов и размеров, которые Вы установили, пока Вы не создадите скрытый файл в Вашей домашней директории.

Создайте текстовый файл, назовите его .gtkrc-2.0 и добавьте в него следующую строку:

gtk-font-name = "Verdana 9"

или другой шрифт, который Вы выбрали в KDE.

Это все. Надеюсь, я ничего не забыл.

Другие ссылки по теме:

http://mysite.verizon.net/vze8992v
http://convexhull.com/mandrake_fonts.html
http://avi.alkalay.net/linux/docs/font-howto/Font.html
http://distributions.linux.com/howtos/Font-HOWTO/fix.shtml


Добавлено 29-03-06
Если вы используете KDM, то можно задать плотность пикселей и не высчитывая вручную геометрию экрана. Для этого редактируем файл kdmrc (в Gentoo он находится в /usr/kde/3.5/share/config/kdm/, в вашем дистрибутиве смотрите размещение KDE). Находим следующую секцию:
Код
[X-:*-Core]
AllowNullPasswd=true
AllowShutdown=All
NoPassEnable=false
NoPassUsers=
ServerArgsLocal=-nolisten tcp -dpi 96 #<-- обратите внимание.
ServerCmd=/usr/bin/X -br

Это особенно полезно будет на "живых" CD, если вы собираете свой или "затачиваете под себя" чужой - ведь вы же не знаете, на каком мониторе с каким разрешением вы будете его запускать.
Я не использую XDM, GDM и Entrance, но наверняка и в их конфигах есть подобная строка.

Сообщение отредактировал Poor Fred - Mar 29 2006, в 08:22


--------------------
Вот вы говорите: "Царь, царь!" А думаете нам, царям, легко?

Gentoo 2006.0 / kernel-2.6.16-r9
Nov 7 2005, в 15:10
Сообщение #2
За это благодарят. Подредактируйте, если считаете необходимым, и если надо, скажите название, исправим.


--------------------
Onward pounding Into Glory Ride
Sign of the Hammer be my guide
Final warning all stand aside
Sign of the Hammer it's my time
--
ALT Linux Compact 3.0, kernel 2.6.12-wks26-up-alt4, screen/blackbox
Подавляющее большинство проблем, с которыми Вы сталкиваетесь, было не только успешно решено, но и описано другими.
Nov 7 2005, в 15:29
Сообщение #3
(Bolverk @ Nov 7 2005, в 18:10)

Подредактируйте, если считаете необходимым, и если надо, скажите название, исправим.


Готово. Название в самом верху.


--------------------
Вот вы говорите: "Царь, царь!" А думаете нам, царям, легко?

Gentoo 2006.0 / kernel-2.6.16-r9
Bolverk
Nov 7 2005, в 16:15
Сообщение #4


Een vliegende hamer


Группа: Модераторы
Сообщений: 1517
Из: D-52428


Хм. Ну ладно, хозяин-барин.


--------------------
Onward pounding Into Glory Ride
Sign of the Hammer be my guide
Final warning all stand aside
Sign of the Hammer it's my time
--
ALT Linux Compact 3.0, kernel 2.6.12-wks26-up-alt4, screen/blackbox
Подавляющее большинство проблем, с которыми Вы сталкиваетесь, было не только успешно решено, но и описано другими.
Лис
Nov 7 2005, в 16:37
Сообщение #5


Коренной житель
Профиль ПМ

Группа: Участники
Сообщений: 841


На всякий случай добавлю: при установке последней версии freetype2 (2.1.10)

в файле ./include/freetype/config/ftoption.h нужно не заменить строку

#undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER

на
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER

а просто разкомментировать последнюю.

При установке на Suse 9.3 я, как и автор статьи, не сносил старую версию программы, а ставил новую поверх. У меня также все прошло без проблем.
Angel
Nov 7 2005, в 17:51
Сообщение #6


...-oo=ll=oo-...
Профиль ПМ

Группа: Участники
Сообщений: 1077
Из: Благовещенск Амур.Обл.


Я тоже внесу свои 5 копеек, в Gentoo делать манипуляции с файлом /include/freetype/config/ftoption.h не нужно, все они выполняються на стадии сборки пакета. Соответсвенно в генту надо только подправить xorg.conf.

Сообщение отредактировал Angel - Nov 7 2005, в 17:52


--------------------
WorkStation ArchLinux 0.7.1 on A64-3200+/1024Mb/nForce4Ultra/160Gb+120Gb+80Gb/GeForce 6600GT
agent-mega
Nov 7 2005, в 18:35
Сообщение #7


Автономный модуль
Профиль ПМ

Группа: Участники
Сообщений: 553
Из: Тьма


Если Вы в KDE, запустите Панель управления и разделе Внешний вид/Шрифты оставьте сглаживание шрифтов, но исключите диапазон от 0.0pt до 14.0 или 15.0pt. Замените все шрифты на Arial или Verdana размером 9 или 10 pt и перезапустите X-Window.

Я так понимаю, таким способом отключается сглаживание для выбранного диапазона размеров?


--------------------
DEBIAN & DEBIAN-BASED ONLY

Всё относительно. Объективности не существует.
Лис
Nov 7 2005, в 23:43
Сообщение #8


Коренной житель
Профиль ПМ

Группа: Участники
Сообщений: 841


Именно. Кстати, шрифты с использованием антиалайзинга после коррекции FreType2 тоже выглядят лучше, как мне показалось.
завшкаф
Nov 22 2005, в 18:17
Сообщение #9


Интересующийся новичок
Профиль ПМ

Группа: Участники
Сообщений: 50


На всякий случай добавлю: при установке последней версии freetype2 (2.1.10)

в файле ./include/freetype/config/ftoption.h нужно не заменить строку


В include-файлах символ '#' - это не комментарий, а начало директивы компилятора. #undef говорит компилятору, что идентефикатор не будет определен (компилятор потом будет компилировать код по разному, в зависимости от того, определен этот идентификатор или нет). Ее замена на #define определяет этот идентификатор и компилятор будет компилить код по-другому.
TuLiss
Nov 23 2005, в 02:02
Сообщение #10


Коренной житель
Профиль ПМ

Группа: Участники
Сообщений: 928
Из: Москва


Очень хорошо. Ждем теперь

читаемые терминальные шрифты


--------------------
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 2.6.17-r6
Asus A4G00B | Asus M5200Ne # Gentoo stage1 x86 1.6.14
TuLiss
Dec 12 2005, в 11:37
Сообщение #11


Коренной житель
Профиль ПМ

Группа: Участники
Сообщений: 928
Из: Москва


Кстати а нельзя тему в важное вынести? что бы на виду была...


--------------------
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 2.6.17-r6
Asus A4G00B | Asus M5200Ne # Gentoo stage1 x86 1.6.14
Vadim165
Dec 30 2005, в 12:51
Сообщение #12


Интересующийся новичок
Профиль ПМ

Группа: Участники
Сообщений: 61



Mandriva 2006, в файле xorg.conf.eg вообще нет строки DisplaySize :

Monitor section
# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

# The identifier line must be present.

Identifier "Generic Monitor"

# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

# HorizSync 31.5 # typical for a single frequency fixed-sync monitor
# HorizSync 30-64 # multisync
# HorizSync 31.5, 35.2 # multiple fixed sync frequencies
# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies

# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

# VertRefresh 60 # typical for a single frequency fixed-sync monitor

# VertRefresh 50-100 # multisync
# VertRefresh 60, 65 # multiple fixed sync frequencies
# VertRefresh 40-50, 80-100 # multiple ranges of sync frequencies

# Modes can be specified in two formats. A compact one-line format, or
# a multi-line format.

# A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz)
# These two are equivalent

# ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525

Mode "640x480"
DotClock 25.175
HTimings 640 664 760 800
VTimings 480 491 493 525
EndMode

# These two are equivalent

# ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace

# Mode "1024x768i"
# DotClock 45
# HTimings 1024 1048 1208 1264
# VTimings 768 776 784 817
# Flags "Interlace"
# EndMode

# If a monitor has DPMS support, that can be indicated here. This will
# enable DPMS when the monitor is used with drivers that support it.

# Option "dpms"

# If a monitor requires that the sync signals be superimposed on the
# green signal, the following option will enable this when used with
# drivers that support it. Only a relatively small range of hardware
# (and drivers) actually support this.

# Option "sync on green"

EndSection

если такую строку добавить (с параметрами ) то ничего не происходит (размер не меняеется) и xdpyinfo | grep resolution - как выдавала 86Х84 dpi так и выдыет. Чего я не так делаю и тот ли файл правлю???
Poor Fred
Dec 30 2005, в 14:10
Сообщение #13


И. о. царя
Профиль ПМ

Группа: Участники
Сообщений: 517
Из: Новокузнецк, Россия


(Vadim165 @ Dec 30 2005, в 15:51)

Mandriva 2006, в файле xorg.conf.eg вообще нет строки DisplaySize :


Пойти убиться, что-ли? И в Слаке нет, и в Генту тоже. А вписать эту строку не позволяет религия. Действительно, лучше принять йаду.

А если серьезно, то это хауту и написан для того, чтобы тупо выполнить указания и не мучаться вопросами. Кроме того, там ясно написано, что в зависимости от того, как ты запускаешь Х-ы, вносить какие изменения в какие файлы. На Мандриве 2005 работало. На Мопсе 3.1/Слаке 10.2 и на Генту 2005.1 работает. Так что перечитай внимательнее.


--------------------
Вот вы говорите: "Царь, царь!" А думаете нам, царям, легко?

Gentoo 2006.0 / kernel-2.6.16-r9
Vadim165
Dec 30 2005, в 19:18
Сообщение #14


Интересующийся новичок
Профиль ПМ

Группа: Участники
Сообщений: 61


(Poor Fred @ Dec 30 2005, в 13:10)

(Vadim165 @ Dec 30 2005, в 15:51)

Mandriva 2006, в файле xorg.conf.eg вообще нет строки DisplaySize :


Пойти убиться, что-ли? И в Слаке нет, и в Генту тоже. А вписать эту строку не позволяет религия. Действительно, лучше принять йаду.

А если серьезно, то это хауту и написан для того, чтобы тупо выполнить указания и не мучаться вопросами. Кроме того, там ясно написано, что в зависимости от того, как ты запускаешь Х-ы, вносить какие изменения в какие файлы. На Мандриве 2005 работало. На Мопсе 3.1/Слаке 10.2 и на Генту 2005.1 работает. Так что перечитай внимательнее.


Все равно не получилось)))

Что я делал (Mandriva 2006 KDE3.4 - грузится автоматом)

1. Изменил файл usr/X11R6/lib/X11/xorg.config.eg - перетащил шрифты 100 выше 75


FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"

добавил переменную DisplaySize 270.9 203.2

# **********************************************************************
# Monitor section
# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

# The identifier line must be present.

Identifier "Generic Monitor"

# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

# HorizSync 31.5 # typical for a single frequency fixed-sync monitor
# HorizSync 30-64 # multisync
# HorizSync 31.5, 35.2 # multiple fixed sync frequencies
# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies

# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

# VertRefresh 60 # typical for a single frequency fixed-sync monitor

# VertRefresh 50-100 # multisync
# VertRefresh 60, 65 # multiple fixed sync frequencies
# VertRefresh 40-50, 80-100 # multiple ranges of sync frequencies

# Modes can be specified in two formats. A compact one-line format, or
# a multi-line format.

# A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz)
# These two are equivalent

# ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525

Mode "640x480"
DotClock 25.175
HTimings 640 664 760 800
VTimings 480 491 493 525
EndMode

# These two are equivalent

# ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace

# Mode "1024x768i"
# DotClock 45
# HTimings 1024 1048 1208 1264
# VTimings 768 776 784 817
# Flags "Interlace"
# EndMode

# If a monitor has DPMS support, that can be indicated here. This will
# enable DPMS when the monitor is used with drivers that support it.

# Option "dpms"

# If a monitor requires that the sync signals be superimposed on the
# green signal, the following option will enable this when used with
# drivers that support it. Only a relatively small range of hardware
# (and drivers) actually support this.

# Option "sync on green"

DisplaySize 270.9 203.2

EndSection

2. Скачал freetype-2.1.10
- изменил файл в исходной папке (#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER)
3. Установил его.
-пробовал установку с параметрами по умолчанию и ./configure --prefix=/usr/lib

4. Убрал сглаживание у диапазона 0-15 и поставил системным шрифтом Arial.
5. Создал в своей домашней папке (home) необходимый файл.
6.Перезапустил систему.

Пытался несколько раз - результат уродские шрифты без зглаживания.

P.S.Windows шрифты установлены ранее.

Poor Fred
Dec 30 2005, в 20:45
Сообщение #15


И. о. царя
Профиль ПМ

Группа: Участники
Сообщений: 517
Из: Новокузнецк, Россия


1. --prefix=/usr А еще проверь, может у тебя эти либы вовсе не в /usr/lib, а, например, в /usr/local/lib.
2. Где виндовые шрифты и как их устанавливал?
3.

FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"

Где ж выше то? Надо так:
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"


--------------------
Вот вы говорите: "Царь, царь!" А думаете нам, царям, легко?

Gentoo 2006.0 / kernel-2.6.16-r9
Vadim165
Dec 30 2005, в 22:59
Сообщение #16


Интересующийся новичок
Профиль ПМ

Группа: Участники
Сообщений: 61


1. --prefix=/usr - Спасибо помогло!!!
Vadim165
Jan 12 2006, в 11:30
Сообщение #17


Интересующийся новичок
Профиль ПМ

Группа: Участники
Сообщений: 61


Кстати, а какие шрифты использует Windows для Меню, Иконок, Меню Пуск и Своих программ (раз уж тема так называется)? )))

Сообщение отредактировал Vadim165 - Jan 12 2006, в 11:33
Angel
Jan 12 2006, в 12:59
Сообщение #18


...-oo=ll=oo-...
Профиль ПМ

Группа: Участники
Сообщений: 1077
Из: Благовещенск Амур.Обл.


Tahoma и Veranda.


--------------------
WorkStation ArchLinux 0.7.1 on A64-3200+/1024Mb/nForce4Ultra/160Gb+120Gb+80Gb/GeForce 6600GT
Poor Fred
Jan 12 2006, в 12:59
Сообщение #19


И. о. царя
Профиль ПМ

Группа: Участники
Сообщений: 517
Из: Новокузнецк, Россия


(Vadim165 @ Jan 12 2006, в 14:30)

Кстати, а какие шрифты использует Windows


Какой Винь? Их много. В 9х и НТ4 был какой-то растровый вроде. С 2к - Tahoma. А вообще - какой сам поставишь.


--------------------
Вот вы говорите: "Царь, царь!" А думаете нам, царям, легко?

Gentoo 2006.0 / kernel-2.6.16-r9
Vadim165
Jan 12 2006, в 14:54
Сообщение #20


Интересующийся новичок
Профиль ПМ

Группа: Участники
Сообщений: 61


Спасибо, теперь как-то привычнее для глаз.

Можно заставить нормально отображать шрифты OpenOffice 2.0??? а то там после проделанных изменений все осталось как раньше...
Poor Fred
Jan 12 2006, в 15:06
Сообщение #21


И. о. царя
Профиль ПМ

Группа: Участники
Сообщений: 517
Из: Новокузнецк, Россия


(Vadim165 @ Jan 12 2006, в 17:54)

Можно заставить нормально отображать шрифты OpenOffice 2.0??? а то там после проделанных изменений все осталось как раньше...


Финт с .gtkrc-2.0 делал? А еще в установках есть галочка "Использовать стандартный шрифт". Попробуй ее снять - меню станет более читаемым.


--------------------
Вот вы говорите: "Царь, царь!" А думаете нам, царям, легко?

Gentoo 2006.0 / kernel-2.6.16-r9
Vadim165
Jan 12 2006, в 15:27
Сообщение #22


Интересующийся новичок
Профиль ПМ

Группа: Участники
Сообщений: 61


(Poor Fred @ Jan 12 2006, в 14:06)

(Vadim165 @ Jan 12 2006, в 17:54)

Можно заставить нормально отображать шрифты OpenOffice 2.0??? а то там после проделанных изменений все осталось как раньше...


Финт с .gtkrc-2.0 делал? А еще в установках есть галочка "Использовать стандартный шрифт". Попробуй ее снять - меню станет более читаемым.


Да делал, во всех приложениях все ОК, кроме ОО.
Gwynn
Feb 2 2006, в 17:53
Сообщение #23
Новичок
Профиль ПМ

Группа: Участники
Сообщений: 28
Из: Kharkov


Спасибо за перевод и за статью в целом.
NET
Feb 10 2006, в 13:04
Сообщение #24


Интересующийся новичок
Профиль ПМ

Группа: Участники
Сообщений: 51
Из: Новосибирск


Присоединяюсь к благодарностям. Почти всё заработало отлично!

Вот об этом "почти" хотелось бы спросить.

Sylpheed claws и GNUCash. В них ничего не изменилось ни в лучшую, ни в худшую сторону - как было хреново, так и осталось.

На примере GNUCash:

Запускаем программу в первый раз - видно, что шрифты русские и английские отличаются, но в принципе - ерунда - пока всё читаемо.



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

Прикрепленное изображение

при этом различные програмные сообщения выдаются абсолютно корректно - ну просто какая-то шрифтовая абракадабра! как это можно победить?

Прикрепленное изображение

sylpheed claws выдаёт весь свой интерфейс шрифтом, как в желтой и зелёной строчке в примере выше.

Просто если для почтовика у меня есть из чего выбрать, не заморачиваясь на проблеме, то в случае с GNUCash ... Выбора нет...
Poor Fred
Feb 10 2006, в 14:20
Сообщение #25


И. о. царя
Профиль ПМ

Группа: Участники
Сообщений: 517
Из: Новокузнецк, Россия


Цитата(NET @ Feb 10 2006, в 16:04)

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


Тут не виноваты ни шрифты, ни Х-ы. Данные хранятся в виндовой кодировке (это сразу видно). Т.е. либо покопайся в настройках программы, либо переведи данные в нормальную кодировку, либо установи общую локаль виндовую. Сам эту программу не знаю, поэтому конкретных действий не подскажу.


--------------------
Вот вы говорите: "Царь, царь!" А думаете нам, царям, легко?

Gentoo 2006.0 / kernel-2.6.16-r9
Poor Fred
Mar 29 2006, в 08:27
Сообщение #26


И. о. царя
Профиль ПМ

Группа: Участники
Сообщений: 517
Из: Новокузнецк, Россия


Добавил абзац об автоматической плотности DPI при использовании KDM. См. самое первое сообщение.


--------------------
Вот вы говорите: "Царь, царь!" А думаете нам, царям, легко?

Gentoo 2006.0 / kernel-2.6.16-r9
TuLiss
Apr 3 2006, в 00:17
Сообщение #28


Коренной житель
Профиль ПМ

Группа: Участники
Сообщений: 928
Из: Москва


теперь как я понимаю можно добваить

Option "UseEdidDpi" "FALSE"
Option "DPI" "96 x 96"



--------------------
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 2.6.17-r6
Asus A4G00B | Asus M5200Ne # Gentoo stage1 x86 1.6.14
boombick
Apr 9 2006, в 18:19
Сообщение #29


Бывалый
Профиль ПМ

Группа: Участники
Сообщений: 384
Из: Tula, Russia


Цитата(завшкаф @ Nov 22 2005, в 18:17)

Цитата
На всякий случай добавлю: при установке последней версии freetype2 (2.1.10)

в файле ./include/freetype/config/ftoption.h нужно не заменить строку


В include-файлах символ '#' - это не комментарий, а начало директивы компилятора. #undef говорит компилятору, что идентефикатор не будет определен (компилятор потом будет компилировать код по разному, в зависимости от того, определен этот идентификатор или нет). Ее замена на #define определяет этот идентификатор и компилятор будет компилить код по-другому.

В данном случае строка именно закомментирована
Код
/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */


--------------------
Slackware 10.1 / 2.6.15 | FreeBSD 6.0-RELEASE | OpenBSD 3.8
Программист - это, прежде всего, творческая личность. И только потом - пьяная скотина.
V@nya
Apr 18 2006, в 18:24
Сообщение #30


Новичок
Профиль ПМ

Группа: Участники
Сообщений: 23


Всё конечно становится красиво, но вот только при отключеном кдешном сглаживании, шрифты на некоторых страницах (например imho.ws) в фаерфоксе становятся очень карявыми, хотя на других идеальные.
Данил
Apr 18 2006, в 19:23
Сообщение #31


Ушел в армейку
Профиль ПМ

Группа: Участники
Сообщений: 788
Из: Магнитогорск


Никогда не замечал проблемы плохох шрифтов, у меня федора4, до этого были ASP10 и mandrake10, там нет таких проблем, и в Knoppix такого нет.
А вот в Gentoo видел такое.


--------------------
celeron2000/ i845PEV pro/ ICH4/ 512RAM/ 80ЖД/ nvidiaFX5200/ хардмодем/
[Fedora Core 4] compiled 2.6.16.11 core (800kb) & 8756videodriver bash 3.1

danil.pop3.ru книги по linux/unix

http://lug.mgn.ru/ сайт Магнитогорской группы пользователей Linux!
Aectann
Apr 18 2006, в 19:28
Сообщение #32


Бывалый
Профиль ПМ

Группа: Участники
Сообщений: 471
Из: МО, г. Люберцы


Гм... Шрифты как в Windows? У меня немного по-другому. В качестве браузера пользуюсь Оперой, и в Винде, и в Лине шрифты ставил одни и те же. Но: в Винде они все какие-то угловатые, вобщем неприятные, а в Linux(с выполнением всех описанных выше операций, но с включенным сглаживанием) - наоборот, красивые(в смысле без всяких углов и нерваные). Причем не только в Опера. Сглаживание отключаешь - всё как в Винде становится. Так что скорее "Шрифты лучше, чем в Windows"
Автору за статью спасибо!


--------------------
OS: Debian Sid ( XFCE 4.3.90.1 )
Hardware: Celeron-1700/256MB RAM/40GB HDD/GeForce 2 MX400/C-Media CM8738/D-Link DSL-500T
Лис
Apr 19 2006, в 10:01
Сообщение #33


Коренной житель
Профиль ПМ

Группа: Участники
Сообщений: 841


Цитата
Всё конечно становится красиво, но вот только при отключеном кдешном сглаживании, шрифты на некоторых страницах (например imho.ws) в фаерфоксе становятся очень карявыми, хотя на других идеальные.

Проверьте используемые шрифты. Лучше всего оспользовать шрифты от M$.

Цитата
Никогда не замечал проблемы плохох шрифтов, у меня федора4, до этого были ASP10 и mandrake10, там нет таких проблем, и в Knoppix такого нет.
А вот в Gentoo видел такое.

Судя по всему, это зависит от монитора. И от привычки.
Цитата
Но: в Винде они все какие-то угловатые, вобщем неприятные, а в Linux(с выполнением всех описанных выше операций, но с включенным сглаживанием) - наоборот, красивые(в смысле без всяких углов и нерваные). Причем не только в Опера.

Все правильно. Сглаживание действительно сглаживает, просто шрифты выглядят размытыми, что утомляет глаза и раздражает (по крайней мере, меня).
V@nya
Apr 23 2006, в 09:47
Сообщение #34


Новичок
Профиль ПМ

Группа: Участники
Сообщений: 23


Я так и не решил проблему с кривыми шрифтами на некоторых страницах в фаерефоксе, шрифты все установленны, в конквероре на той-же странице шрифты нормальные, сглаживание в кде отключено, при включенном всё нормально.

Проблема решена!
BaZilio
May 6 2006, в 18:45
Сообщение #35


Интересующийся новичок
Профиль ПМ

Группа: Участники
Сообщений: 74
Из: Луганск, Украина


А как можно решить проблему неправильного расстояния между буквами в шрифте? (см. аттач)
В KDE и GTK2-приложениях Tahoma рендерится нормально и выглядит прекрасно, а в GTK1 (xmms) и почему-то меню в Опере (?) - расстояние по ширине между буквами просто огромно... Куда можно копнуть?


З.Ы. У меня ASPLinux11


Эскизы прикрепленных изображений
Прикрепленное изображение

--------------------

A bus station is where a bus stops.
A train station is where a train stops.
On my desk I have a workstation...
andron7
May 23 2006, в 12:31
Сообщение #36


Прохожий
Профиль ПМ

Группа: Участники
Сообщений: 3


Цитата(V@nya @ Apr 23 2006, в 08:47)

Я так и не решил проблему с кривыми шрифтами на некоторых страницах в фаерефоксе, шрифты все установленны, в конквероре на той-же странице шрифты нормальные, сглаживание в кде отключено, при включенном всё нормально.

Проблема решена!


Поделись решением! У меня Федора 5, та же проблема. И в Опере интерфейс и все страницы коряво. И в ОпенОффисе тоже...

И вообще, изначально я не смог настроить корректного отображения виндовских шрифтов, поставил от SUSE 10.1 пакет freetype2-2.1.10-16.x86_64.rpm поверх бывшего в Федоре (более младшей версии), и только после этого все почти стало ок.

Как бороться со шрифтом в Опере и в ОО?
Danhuu
Jun 5 2006, в 18:33
Сообщение #37


Прохожий
Профиль ПМ

Группа: Участники
Сообщений: 8
Из: Москва


Вот, поставил, как написано, Freetype 2.2, но как-то ничего не изменилось. Изначально была версия 1.3.1 (из дистрибутива Mandriva Linux 2006 Free), символические ссылки после установки встали как у автора (кроме версий, у меня старая была libfreetype.so.6.3.8, новая стала libfreetype.so.6.3.10). Однако, при попытке использовать системные шрифты без сглаживания (Arial), получилось как в Виндах... до установки видеокарты, вообще нечитабельно. Разрешение 96 dpi (выставил в xorg.conf, добавив DisplaySize). Моноширинные шрифты 10-12 смотрятся как 8 (это было и раньше).
Возможные причины:
1) В xorg.conf (живёт в /etc/X11) FontPath "unix/:-1", а подробные пути (как описано у автора) в некоем файле /usr/X11R6/lib/X11/xorg.conf.eg, где я и поднял путь к 100-dpi шрифтам наверх. Может, надо изменить/добавить FontPath'ы в нормальный xorg.conf?
2) При импорте виндовских шрифтов Drakfont поставил их в /usr/X11R6/lib/X11/fonts/drakfont/ttf, а в каталоге /usr/X11R6/lib/X11/fonts/ttf собственно файлов шрифтов нет. Надо ли их переносить туда?

В итоге терпимое для глаз решение вышло при полном сглаживании + RGB межточечное, но это помогает не во всех случаях. Посоветуйте, кто знает, способы решения.
Ultsuan
Jun 8 2006, в 15:48
Сообщение #38


Участник
Профиль ПМ

Группа: Участники
Сообщений: 43
Из: Moscow


Винды на компе нет. Есть диск с виндой ХР SP2. Объясните, пожалуйста, как мне нормально выдрать оттуда шрифты. А то настроил..брал шрифты с раздела винды, а вчера всё посносил и теперь не знаю что делать


--------------------
SuSE 10.1/kernel-2.6.16.13-4/KDE 3.5.1
Linux User # 418441
Vidoc
Jun 8 2006, в 15:53
Сообщение #39


Постоялец
Профиль ПМ

Группа: Участники
Сообщений: 166
Из: Санкт-Петербург


Мне наоборот помогла установка freetype-2.1.9, раньше стоял 2.1.10
Ultsuan
Jun 8 2006, в 16:12
Сообщение #40


Участник
Профиль ПМ

Группа: Участники
Сообщений: 43
Из: Moscow


Всё. Шрифты я нашел. В локалке

Цитата
Мне наоборот помогла установка freetype-2.1.9, раньше стоял 2.1.10


У меня 2.1.10 и всё отлично. Видимо ещё дистрибутив влияет.


--------------------
SuSE 10.1/kernel-2.6.16.13-4/KDE 3.5.1
Linux User # 418441
Александр
Jun 16 2006, в 18:07
Сообщение #41


Бывалый
Профиль ПМ

Группа: Участники
Сообщений: 311
Из: г. Санкт-Петербург


Во всех приложениях шрифты номарльные, кроме как в ООо2.0.2. После обновления freetype до 2.2 там шрифты стали более жирными и немного размазанными, если писать шрифтом Times New Roman (из винды), даже размер букв кое-где скачет. Как можно вылечить это? Неужели ООо такой особый, что ему пофиг на другие настройки системы и он сам по себе?


--------------------
Pentium 2.4 GHz 512 RAM GeForce 5200FX
Debian testing/unstable KDE 3.5.3 kernel 2.6.16 X.org 7.0
Александр
Jun 18 2006, в 14:17
Сообщение #43


Бывалый
Профиль ПМ

Группа: Участники
Сообщений: 311
Из: г. Санкт-Петербург


Порылся в багтраке Дебиана - у народа тоже проблемы после обновления libfreetype2 до версии 2.2. При этом попробовал нагло заменить новую библиотеку старой простым копированием файла - стало нормально отображаться в офисе, но система вылетает . Выходит, вся бага именно в этой библиотеке. Проблема отката в том, что новые кеды требуют именно новую версию библиотеки, со старой не запускаются нормально. Нарыл даже патч на libfreetype 2.2, котоый фиксит эту багу именно с офисом. При этом в ближайшем релизе офиса вроде как обещают исправить. Патч не пробовал, времени не было, да и в принципе офис на лето не нужен, но кому-то может поможет (да и freetype легко собирается).


--------------------
Pentium 2.4 GHz 512 RAM GeForce 5200FX
Debian testing/unstable KDE 3.5.3 kernel 2.6.16 X.org 7.0