Первым делом нужно проверить собрана ли библиотека freetype2 с опцией
TT_CONFIG_OPTION_BYTECODE_INTERPRETER,
как правило отключаемой в дистрибтуивах из-за лицензионных ограничений
Для владельцев ноутбуков внимание также можно обратить на сборку с опцией WITH_LCD_FILTERING,
но это может потребовать обновления и пересборки cairo и libXft.В основанный на RPM дистрибутивах Linux, загружаем src.rpm пакет и пересобираем.
Разворачиваем исходные тексты:
rpm -i ~/rpmbuild/SRPMS/freetype-2.3.5-3.fc8.src.rpm
Пересобираем
rpmbuild -bb --with bytecode_interpreter ~/rpmbuild/SPECS/freetype.spec
или, если в spec файле определено %define without_bytecode_interpreter 1
rpmbuild -bb --with withhout_bytecode_interpreter=0 ~/rpmbuild/SPECS/freetype.spec
или перед сборкой редактируем spec файл и раскомментируем строчки связанные с bytecode
например для OpenSUSE - "%%patch100 -p 1 -b .bytecode"
Устанавливаем собранный пакет:
rpm -Uvh --force ~/rpmbuild/RPMS/freetype-2.1.4-2.fc7.x86_64.rpm
В последних версиях Debian/Ubuntu достаточно выбрать Bytecode interpreter и Subpixel rendering
настройки при выполнении
sudo dpkg-reconfigure fontconfig
Во FreeBSD при сборке порта по умолчанию включается TTF_BYTECODE_ENABLED:
cd /usr/ports/print/freetype2/
make WITH_LCD_FILTERING=yes
make install
Копируем Windows шрифты в ~/.fonts
Если загрузка шрифтов из этой директории в дистрибутиве не настроена, то
переходим в данную директорию и запускаем "mkfontdir" и "fc-cache ./"
В Debian/Ubuntu/Fedora можно поставить пакет msttcorefonts или msttcore-fonts.
Проводим тюнинг параметров fontconfig, создав ~/.fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font" >
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="autohint" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hinting" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hintstyle" >
<const>hintfull</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="rgba" >
<const>none</const>
</edit>
</match>
</fontconfig>
Описание по параметрам можно посмотреть на странице
http://fontconfig.org/fontconfig-user.html
Кратко о параметрах:
autohint - метод исправления дефектов растеризации,
следует поэкспериментировать включением/выключением в сочетании с установкой antialias.
antialias - антиалиасинг, сглаживание начертаний.
hinting - уточнение, шрифт с хинтингом получается тоньше;
hintstyle - стиль уточнения, при hinting =true можно попробовать в hintstyle - hintfull и hintnone
rgba - если none, то используется субпиксельное сглаживание.
URL:
Обсуждается: http://www.opennet.dev/tips/info/1772.shtml