Я собрал libfreetype6 с поддержкой интерпретатора байт-кодов. Это фича патентованная мелкософтом и яблоком, поэтому Нокия не может её включить в дистрибутиве - но никто не мешает нам это сделать, тем более что штатовские патенты в России не действуют.
Инсталлируем пакет: http://cs.ozerki.net/zap/maemo/dists/di … _armel.deb 
Перезагружаем планшет и видим совсем другой внешний вид шрифтов. К сожалению, шрифт в терминале без хинтов, поэтому он не изменяется. Надо будет попробовать DejaVu Sans Mono.
Если результат не понравился, устанавливаем старый вариант библиотеки отсюда:
http://cs.ozerki.net/zap/maemo/other/li … _armel.deb 
Внешний вид шрифтов до:
Внешний вид после:
Отредактированно zap (08-07-2008 14:14:31)
Неактивен
Сложно сказать стало ли лучше...
внизу с включенным интерпретатором байт-кодов
Неактивен
ничего не лучше(
Неактивен
Разницу можно заметить с нокиевским шрифтом в строке ввода адреса. Шрифты стали более тонкими и закругленными.
p.s. Вообще не вижу смысла в этом байт-код интерпретаторе на экране с таким громадным DPI (227.5). Шрифты и так выглядят очень гладко.
Неактивен
На диабло вот:
Пакеты, имеющие неудовлетворённые зависимости:
osso-software-version-rx44-unlocked: Зависит: libfreetype6 (>= 2.3.5-1osso1) но 2.3.5-1maemo2 уже установлен
E: Неудовлетворённые зависимости. Попытайтесь использовать -f.
Неактивен
svs57: это он так ругается уже при установленном пропатченном libfreetype. Я не стал использовать суффикс osso, так как, по-видимому, это торговая марка Нокии, и теперь пакет osso-software-version-rx44-unlocked не находит своих зависимостей.
Если сделаешь "apt-get -f install", то он откатит пропатченный freetype на оригинальный.
TWINc: русские буквы у Нокии не все отхинтованы, лучше всего разницу заметно на латинице а также на шрифте, которое используется в меню приложений/контрольной панели. Также посмотри внимательно, например, на слово "Пространство" - буква 'в' на первом скриншоте чуть выше, чем надо (ПространстВо) - на втором оно почти не выделяется.
P.S. Лучше всего при сравнивании наложить одно изображение поверх другого, так гораздо лучше заметнее:
В целом буквы с bci выглядят чётче, меньше серых пикселей. Шрифт заголовка приложения вообще не изменился, следовательно он не отхинтован вообще.
Отредактированно zap (07-07-2008 04:37:56)
Неактивен
zap, заголовок не изменился, потому что я не перезапускал matchbox. А русские буквы тут не нокиевские. Вроде это Tahoma из msttcorefonts.
p.s. Сейчас еще поиграюсь с font-config
p.p.s. zap, а не пробовал сделать freetype пакеты с наложенными cleartype или lcd патчами?
Отредактированно TWINc (07-07-2008 04:29:57)
Неактивен
Я понимаю что откатит. Только с этим пакетом не сделать apt-get upgrade
Неактивен
В принципе я могу сделать пакет с суффиксом 1osso2 %-O Надеюсь, меня Нокия не будет бить ногами.
Гм, или можно попробовать любой суффикс, который лексически "больше" чем "1osso1", по идее если я сделаю "2maemo1", то при сравнении с "1osso1" он 'победит', и ругаться на зависимости больше не будет.
Насчёт lcd патчей - не пробовал, хотя думал. Если честно, не вижу смысла - размер пиксела и так ничтожен, а цветные сполохи по бокам символов меня всегда раздражали, оттого по жизни не использую lcd сглаживание. А что такое cleartype патч я вообще не знаю, это же вроде какая-то микрософтовская лабуда.
Неактивен
Переделал я на 2maemo1 ![]()
Неактивен
zap, я про это имел ввиду http://aur.archlinux.org/packages.php?ID=8108 
А нельзя делать как в арче с пакетами. Например пакет abc-maemo-blah.deb поставяляет так же freetype6-osso и сам же с ним конфликтует т.е. этот пакет удаляет оригинальный ставит себя и дает информацию пакетному менеджеру, что фритайп6-оссо установлен(хотя его конечно же нет, вместо него наш abc-maemo-blah с фритайп файлам).
Неактивен
Так наверное можно, но слишком сложно - проще сделать 2maemo1 :-)
Неактивен
А, вот оно что:
http://www.internettablettalk.com/forum … ostcount=9 
Обычно у всех стоит пакет osso-software-version-rx34. Оно зависит *строго* от версии 1osso1 (там стоит = 2.3.5-1osso1). А есть пакет osso-software-version-rx34-unlocked, у него в том же месте стоит >= 2.3.5-1osso1.
Надо будет либо добавить osso-software-version-rx34-unlocked в список зависимостей пакета, либо попробовать рецепт TWINc. Поиграюсь ещё вечерком.
Кстати, TWINc, вот мануал на файл управления пакетом: http://www.fifi.org/cgi-bin/man2html/us … ntrol.5.gz 
Похоже, что опция Provides: это ровно то, что нам нужно.
Отредактированно zap (08-07-2008 03:34:19)
Неактивен
Гм.
Сделал два новых варианта пакета, оба с версией 2maemo1.
Эта версия
(рекомендуется в первую очередь) использует строчку Provides: libfreetype6-2.3.5-1osso1, по идее это должно утихомирить зависимости osso-software-version-rx##. Но (!) я в доке так и не нашёл, можно ли в Provides: использовать номер версии. Во всех примерах используются только имена пакетов, без версий.
Другой пакет можно взять тут
, который зависит от "osso-software-version-rx34-unlocked | osso-software-version-rx44-unlocked | osso-software-version-rx48-unlocked". К сожалению, насколько я понимаю, эта хрень не будет автоматически работать. То есть просто щёлкнуть в браузере и поставить пакет, скорее всего, не получится - придётся сначала вручную установить osso-software-version-rx##-unlocked в зависимости от типа Вашего устройства. Сам попробовать не могу, т.к. уже проапгрейдился на osso-software-version-rx44-unlocked и обратно дороги уже нет кроме как перепрошивать заново :-(
Если первая версия у кого-то заработает, скажите - я удалю вторую, так как она мне не нравится.
Неактивен

1 - оригинал
2 - bce
3 - мой вариант основанный на оригинальном freetype'е. ~/.fonts.conf прилагается
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font" >
<edit mode="assign" name="rgba" >
<const>none</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
<match target="pattern" >
<edit mode="assign" name="autohint">
<bool>false</bool>
</edit>
</match>
<dir>~/.fonts</dir>
</fontconfig>Неактивен
Интересно, каким образом исходный freetype умудряется включить hinting, если он у него физически не вкомпилирован внутрь?
Неактивен
так ведь hinting и bce разные вещи
Неактивен
Если я правильно понимаю, bce это интерпретатор специального языка, который "вручную" помогает хинтингу принимать правильное решение. Неужели freetype автоматически определяет хинтинг не хуже, чем вручную было задано аффтаром шрифта? :-)
А вообще можно я стырю твой конфиг в следующей версии пакета? Я его положу в /etc/fonts/conf.d, сделаю два .deb файла - один чисто с файлом конфига (для тех, кто не хочет апгрейдить libfreetype6-1osso1) и один - версия bce тоже с этим файлом конфига. Сегодня вечером сравню bce+config версию и просто config версию.
Неактивен
А вообще можно я стырю твой конфиг в следующей версии пакета?
Конечно.
Если я правильно понимаю, bce это интерпретатор специального языка, который "вручную" помогает хинтингу принимать правильное решение.
вроде да.
Неужели freetype автоматически определяет хинтинг не хуже, чем вручную было задано аффтаром шрифта? :-)
Как правило хуже. Поэтому я его отключил в конфиге. По идее шрифты стали более мыльными, но с DPI 225 это не бросается в глаза.
Сегодня вечером сравню bce+config версию и просто config версию.
На всякий случай предупреждаю, что при скомпиленном bce опция "autohint" игнорируется. Поэксперементировать можно будет только с hintstyle'ом.
p.s. всякие полезности
http://wiki.archlinux.org/index.php/Xor … 8%D0%B9%29 
Отредактированно TWINc (17-07-2008 05:16:24)
Неактивен
На Diablo не пошел 1 вариант, пишет несовместимый пакет приложений
Неактивен
Может кратенько вики сделать по фонтам?
Неактивен
поддерживаю! Сам сегодня думал об этом ![]()
Неактивен
Можно.
Там сейчас некто rm_you готовит пакет osso-software-unlocked. Если всё пройдёт как надо, и его примут в maemo-extras, тогда можно будет просто сделать пакет зависимым от osso-software-unlocked, и тогда прошивка автоматом разлочится. Пока же, приходится вручную разлочивать устанавливая либо osso-software-version-rx34-unlocked (для N800), либо osso-software-version-rx44-unlocked (для N810).
Неактивен
Можно подробней о пакете osso-software-version-rx34-unlocked, его цель, плюсы и минусы установки?
Неактивен
Короче Нокия обещала сделать апгрейд системы через AppManager? Обещала.
Как они это реализовали в дьябле (всё что дальше к Чинуку не относится):
Есть пакеты osso-software-version-rx34 (для N800) и osso-software-version-rx44 (для N810). Это пакеты, которые полностью определяют прошивку - у них в зависимостях прописано, что они зависят от _всех_ пакетов, которые входят в стандартную прошивку. Таким образом, грубо говоря, чтобы на абсолютно пустую файловую систему записать все пакеты, составляющие стандартную прошивку достаточно установить всего лишь один пакет - osso-software-version-rx34/rx44. Разница между этими двумя пакетами небольшая - чуть-чуть разные версии хелпов и всё такое. Список пакетов можно увидеть по команде dpkg -s osso-sofware-version-rx34/rx44.
Минус в этой системе следующий. Зависимости у этих пакетов строгие, то есть например в зависимостях osso-software-version-rx44, среди всего прочего, имеется зависимость от пакета libfreetype6-1osso1, причём строгая - никакая другая версия libfreetype6 тут не подойдёт. Поэтому получается, что базовые системные пакеты 'заблокированы' намертво. Таким образом, если ты хочешь установить пакет, который заменяет системный (как в моём случае с libfreetype6) - у тебя это не получится по-простому.
Чтобы установка 'левых' версий (даже просто более новых!) вообще стало возможным, тебе надо заменить пакет osso-software-version-rx34/rx44 на специальные пакеты osso-software-version-rx34/rx44-unlocked. Эти пакеты почти идентичны, кроме того, что в зависимостях стоит не строгое равенство, а >= . Это значит, что после апгрейда osso-software-version-rx34 до osso-software-version-rx34-unlocked ты сможешь заменять системные пакеты на более свежие версии.
Но это невозможно сделать автоматически, используя систему зависимостей пакетов. Например, если я у себя в зависимостях библиотеки libfreetype6 пропишу, что она зависит от установленного пакета osso-software-version-rx44-unlocked, то это будет нормально работать на N810, но если ты попытаешься поставить это на N800, он проапгрейдит тебе прошивку до прошивки от N810. Я думаю, большинству это не понравится :-)
Поэтому некий rm_you сделал пакет osso-software-unlocked. Его суть в том, что он разлочивает прошивку независимо от аппаратной платформы. Работает оно очень просто: внутри пакета есть два .deb файла, которые временно инсталлируются в каталог /usr/share/osso-software-version-unlocked/. Затем автоматически запускается скрипт postinstall, который определяет версию аппаратной платформы (деталей не знаю, но можно просто проверить наличие пакета rx34 или rx44). Затем тут же устанавливает соответствующий unlocked пакет.
Таким образом, я могу сделать libfreetype6 зависимым от osso-software-unlocked, а оно уже само разлочит прошивку тем способом, который подходит для моей аппаратной платформы.
Длинно, но надеюсь понятно.
Отредактированно zap (21-07-2008 12:33:11)
Неактивен