Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Мини-HOWTO: Настройка шрифтов TrueType Fonts в Debian
Пред.След.

Дисплей (то, что вам никто не рассказывал)

Перед тем, как мы углубимся в настройку шрифтов TrueType в X, мы должны еще раз объяснить разницу между пунктами (point) и пикселями (pixel)... и почему это важно для нас.

Все выводимые на экран шрифты измеряются в пунктах. Один дюйм равен ровно 72 пунктам. Почему именно 72? Частично из-за ограничений механических печатных машин, частично потому, что это число делится на 2, 3, 4, 6, 8, 9, 12, 18 и 24. Ну и конечно надо упомянуть, что пункт является основной единицей измерения в PostScript.

(Историческая справка: Тут я немного приврал. До введения PostScript дюйм равнялся 72,27 пункта, но этот размер пункта был установлен в эру механических печатающих машин. При помощи дисплеев и лазерных принтеров, любому шрифту легко можно придать любой размер, и число 72 значительно более удобно по причинам, упомянутым выше).

В основном любой текст имеет размер от 7 до 12 пунктов. Все, что меньше 6, называется буквально - "точная печать". Построчные принтеры печатали шрифтами размером 9 или 12 (для того, чтобы было 8 или 6 строк на дюйм соответственно).

В противоположность этому, все видеодрайверы повсеместно измеряют шрифты в пикселях. Для вашего видеодрайвера экран имеет размер 1024x768 пикселей, а не 10 на 8 дюймов (или 720 на 576 пунктов).

Чтобы произвести преобразование из пунктов (в которых мы измеряем размер шрифта) в пиксели (в которых мы измеряем видеопамять) нужно знать разрешение экрана. Обычно оно измеряется в точках на дюйм (dots per inch (dpi)), что на самом деле есть пиксели на дюйм. Эти единицы используются в двух наборах растровых шрифтов, поставляемых вместе с XFree86: fonts-75 используются на недорогих дисплеях с разрешением около 75 dpi, fonts-100 используются на мониторах среднего качества с разрешением примерно 100 dpi. К сожалению, в поставку не входят шрифты для высококачественных дисплеев с разрешением 120 dpi и выше.

В качестве конкретного примера можно привести экран с диагональю 13 дюймов (видимая область изображения 11.1 дюйма), выводит изображение размером 640x480 пикселей с разрешением 72.0 dpi. Это Не Совпадение. На самом деле многие web-страницы (и приложения фирмы Microsoft) рассчитаны на стандартные дисплеи с разрешением именно 72 dpi. Стандартная конфигурация XFree86 предполагает наличие дисплея с разрешением 75 dpi.

Однако в настоящее время никто уже практически не пользуется разрешением 640x480. Никто больше не использует 13-дюймовые мониторы. Так как видеокарты обогнали в своем развитии мониторы, то можно нередко встретить следующую конфигурацию: 19-дюймовый монитор (диагональ изображения больше 17 дюймов), 1600x1200 пикселей, разрешение - 117 точек на дюйм.

Если я запущу стандартную конфигурацию X, то все мои шрифты будут равны примерно 2/3 нормального размера. Не будет преувеличением сказать, что все шрифты будут уменьшены на порядок - большие шрифты (12 пунктов) станут средними (9). Средние шрифты (9) станут маленькими (6).

Существует три вещи, которые надо сделать, чтобы исправить это несоответствие. Во-первых, мы должны указать X-серверу настоящее разрешение экрана:

/etc/X11/xdm/Xservers

#:0 local /usr/X11R6/bin/X -bpp 16
:0 local /usr/X11R6/bin/X -bpp 16 -dpi 120

Во-вторых, мы должны использовать по умолчанию сначала растровые шрифты с разрешением 100 dpi, и только после них шрифты 75 dpi.

/etc/X11/XF86Config

Section "Files"
    RgbPath    "/usr/X11R6/lib/X11/rgb"
    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
    FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
    FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
EndSection

И еще одно. Если ни один из наших растровых шрифтов не совпадает по разрешению с требуемым, то X-сервер попытается "растянуть" похожий шрифт через простое копирование пикселей. Результаты такого "растягивания" всегда оставляют желать лучшего. Предположив, что у нас достаточно быстродействующий компьютер, мы можем указать серверу использовать по умолчанию векторные шрифты, затем подходящие "один-к-одному" растровые шрифты и только затем "растянутые" растровые шрифты.

/etc/X11/XF86Config

Section "Files"
    RgbPath    "/usr/X11R6/lib/X11/rgb"
    FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
    FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
EndSection

Будущее XFree86 4.0

Мне совсем недавно сказали, что XFree86 версии 4.0 будет поддерживать DDC, если его поддерживают и видеокарта, и монитор. Это позволит X-серверу узнавать его физические размеры, и сервер сможет автоматически рассчитывать разрешение экрана.

Но вам, в любом случае, придется исправлять установки fontpath в файле XF86Config, так как сервер не может угадать требования вашей конкретной конфигурации.

Общий обзор: приготовления перед правкой файлов конфигурации X.

Каждый раз, когда мы вносим изменения в файлы конфигурации X11, неплохо запрещать запуск XDM, указанием команды exit 0 где-нибудь в начале этого файла. Если вы этого не сделаете, и X не запустится по каким-либо причинам, то XDM зациклится таким образом, что перегрузит систему, и это достаточно сложно исправить. Я вас предупредил.


Пред.НачалоСлед.
Мини-HOWTO: Настройка шрифтов TrueType Fonts в Debian Дисплей (X-серверы и серверы шрифтов)
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...