asm32.info
Keep it simple — code in asm

По-качествен текст в стотинкаОС

Всеизвестно е, че рендирането на текст в Линукс е доста по-лошо от това в комерсиалните операционни системи.

Противниците на свободния софтуер често привеждат този факт като довод колко некачествен е свободния софтуер и как парите правят качеството.

Истината е, че висококачествени библиотеки за рендиране на текст има написани отдавна. Само че, поради софтуерните патенти в САЩ, опциите за висококачествено рендиране са просто изключени при компилацията на тези библиотеки в повечето дистрибуции на Линукс.

В тази статия ще опиша как да включите тези опции и да се наслаждавате на перфектни шрифтове в българската дистрибуция на centOS - стотинкаОС.

Проектът, който се занимава с поддръжката на въпросните библиотеки и който ще инсталираме в стотинкаОС се нарича Infinality. На сайта му можете да намерите допълнителна информация.

1. Първо да инсталираме нужните шрифтове.

В смисъл, шрифтовете на Майкрософт. Целта на занятието е да се осигурят шрифтове, които са оптимизирани за субпикселно рендиране и са нужни при разглеждане на сайтове в Интернет.

В хранилищата на стотинкаОС има пакет с основните шрифтове, който се казва msttcorefonts. Той се инсталира със следните команди:

sudo yum clean metadata
sudo yum install msttcorefonts

Ако не сте си конфигурирали акаунта да използва sudo, просто се включете като root и въведете командите без sudo отпред.

Тези шрифтове са такива, които Microsoft позволява да се разпространяват и затова могат да се включат в пакет от хранилището. Има обаче шрифтове, които се дават безплатно от MS обаче не е разрешено да се разпространяват. Те не могат да се включат в Линукс дистрибуции, а човек трябва да си ги изтегли сам. За щастие има скриптове, които могат да направят това за нас. Тук ще ви предложа скрипта на Aristotle Pagaltzis, vistafonts-installer.

Изтеглете скрипта от горната връзка, разопаковайте го и го стартирайте. За него не са нужни администраторски права, защото инсталира шрифтовете в домашната директория ~/.fonts.

Командите изглеждат така:

tar -xzvf vistafonts-installer.tar.gz
./vistafonts-installer

Директорията ~/.fonts трябва да съществува, иначе скрипта се оплаква и излиза.

Е, сега имаме всички шрифтове, които ще ни трябват. Не, шрифтовете никога не са твърде много, но за нуждите на дадената статия, тези са достатъчни.

2. Инсталиране на пакетите infinality

Инсталирането на пакетите на infinality е просто и праволинейно. Ако не сте си обновили хранилищата (но ако следвате инструкциите от тази статия, вече сте го направили) първо изпълнете:

sudo yum clean metadata

И собствено, инсталирайте пакетите:

sudo yum install freetype-infinality fontconfig-infinality

След това рестартирайте X (logout/lonin) и би трябвало да видите разликата. Ако резултата ви харесва много - спрете да четете статията веднага. Следващата точка е отварянето на буркана с червеи. После ще е трудно да ги приберете обратно.

3. Настройка на infinality

Въобще, настройката на infinality се прави от две места. Едното се състои в настройка на fontconfig-infinality, в която се задава как да се избират шрифтове. Второто е да се зададат параметрите за рендиране на шрифтовете за библиотеките freetype-infinality.

3.1. Настройка на шрифтовете

Това са по същество същите конфигурационни файлове, като на обикновения fontconfig, но се намират в /etc/fonts/infinality, а главния конфигурационен файл е infinality.conf. Различните опции са в /styles.conf.avail и към тях са направени връзки в conf.d директорията - системата е същата както обикновения fontconfig.

За по-лесна настройка има скрипт infctl.sh който задава предварително настроени стилове. Използва се така:

sudo /etc/fonts/infinality/infctl.sh setstyle
Select a style:
1) debug       3) linux	      5) osx2	     7) win98
2) infinality  4) osx	      6) win7	     8) winxp

Аз лични избирам 3 - linux, но вие може да си поиграете и с другите.

За да видите разликите след промени трябва да се рестартира X - logout/login върши работа.

3.2. Настройка на рендирането

Конфигурацията на рендирането се прави по време на старта на системата от скрипта /etc/profile.d/infinality-settings.sh. За да редактирате този скрипт, използвайте:

sudo gedit /etc/profile.d/infinality-settings.sh

Параметрите вътре са много и разнообразни. За щастие има направени готови пресети, които са удобна начална точка. На ред 711 се намира:

USE_STYLE="DEFAULT"

Вместо DEFAULT може да се напише някакъв стил от следните възможни:

DEFAULT - Използва параметрите от горните редове. По същество ръчна настройка на всичко.
OSX - имитира начина на рендиране на OSX
UBUNTU - имитира UBUNTU
LINUX  - редови Линукс
WINDOWS - имитира Windows
WINDOWS7 - имитира Windows7 с нормални символи
WINDOWS7LIGHT - имитира Windows7 с по-тънки символи
VANILLA - само със субпикселен хинтинг
CUSTOM - място оставено за ваш собствен комплект настройки. 
         Трябва да си ги напишете в редове 1084 до 1100

Освен имитационните стилове има и такива на Infinality:

CLASSIC - рендирането на Infinality от 2010г.
NUDGE 
PUSH 
SHOVE 
SHARPENED
INFINALITY   - Настройките, които ползва авторът на Infinality
DISABLED     - Работи все едно няма infinality

След промяна на този файл, отново трябва да се рестартира X сървъра, за да се активират промените.

Тъй като настройките са много, а авторът на файла е писал много коментари и обяснения, няма да разглеждам всеки параметър поотделно.

Ще спомена само параметъра INFINALITY_FT_GRAYSCALE_FILTER_STRENGTH. Той позволява изглаждането да се направи нещо междинно между субпикселно и степени на сивото. В резултат при междинни стойности намаляват цветните петна в буквите, а очертанията не се замъгляват много. Чудесно за намиране на собствената точка на компромис между едното зло и другото.

4. В други дистрибуции

Основната разлика с други дистрибуции е начина на настройка и наличието или не на библиотеката в хранилищата на дистрибуцията. Всички настройки описани по-горе са едни и същи.

За повече информация посетете сайта на Infinality.

5. За мониторите

При всички настройки от по-горе, е препоръчително да използвате добре настроен и качествен LCD монитор.

Ако мониторът ви е с аналогов VGA вход, то трябва грижливо да настроите контраста, яркостта и което е по-важно т.н. sharpness, pixel clock и phase. Автоматичните настройки често не са добри. В резултат, суб-пикселното изглаждане изглежда зле, колкото и да настройвате библиотеките.

Мониторите с цифрови входове нямат такива проблеми. Такива са DVI-D, HDMI и дисплеите на преносимите компютри (LVDS).

Ако мониторът не е достатъчно качествен или е CRT, то суб-пикселното изглаждане трябва да се изключи и да се ползва само изглаждане със степени на сивото - резултата ще е по-добър.

6. Заключение

Ето и една картинка, да не каже някой, че няма хич. Така изглежда един друг мой сайт, след инсталацията и настройката на Infinality. Шрифта е "Open Sans":

!rendering.png

Ами това е. Аз лично останах много доволен от този пакет, надявам се че и вие ще останете.

На статията и липсват много и красиви картинки, от вида "преди и сега". Ако някой ми изпрати и ако са хубави, ще ги сложа в статията.

(На подарен кон, зъбите не се гледат, но картинките трябва да са PNG, и желателно съпроводени от описание на настройките. Разбира се авторът ще бъде изрично споменат.)

Last modified on: 15.05.2015 09:05:13

Preview

Comments

По-качествен текст в стотинкаОС
Filename:
Title: