Обзор программы FontRouter LT (S60 3rd)


Платформа:S60 3rd Edition
Категория:Система/Интерфейс

Название:FontRouter LT (2.08 build 20071109)
Разработчик:oasisfeng (fontrouter.oasisfeng.com)
На диске:38 Кб
В памяти:32 Кб (?)

iXBT: Обзор программы FontRouter LT (S60 3rd)
Меню обзора

Предисловие
Установка
Принцип работы
Локальное действие на шрифт
Общее действие на шрифты
- Сглаживание
- Масштаб
- Насыщенность
Работа параметров в карте шрифтов
- Жирность (B, b)
- Наклон (I, i)
- Сдвиг (Y)
- Расстояние (W, L)
- Другое (A, a, Z, C)
Куча проблем
Плюсы, недостатки, выводы

«FontRouter LT» — библиотека, предоставляющая набор инструментов для управления шрифтами: замена, размеры, написание, насыщенность (прозрачность), расстояние между буквами и строками, сглаживание и так далее. Это именно dll-библиотека, то есть, в меню после установки иконка не появляется; для управления служит ini-файл.


Предисловие

В смартфонах на S60 со шрифтами существует множество проблем. Для их решения применялись различные методы: кто-то ограничивался заменой стандартных шрифтов на свои в папке «E:\resource\Fonts», кто-то пользовался инсталляторами, ставил шрифты в память телефона, и потом не мог оттуда их удалить, кто-то пошел на использование программы «FontMagnifier», которая какие-то проблемы решала, а каких-то добавляла.

В любом случае, эти варианты не были решением такой, например, проблемы: отсутствие сглаживания. То есть, с размерами можно было поиграться (FontMagnifier), и отображение русских тегов можно было получить, заменив стандартные шрифты на исправленные. Но вот сглаживание так было не включить. Вот пример.

:: слева — без сглаживания, справа — действие «FontRouter LT» (на примере 5500)


:: чтобы понятнее было, о чем речь, увеличим (на примере 5500)

То же самое касается локального вмешательства в оформление — например, требуется увеличивать определенный шрифт, а чуть точнее — даже так: определенный шрифт в определенном месте, а не всё сразу. Или, скажем, можно исправить недостатки шрифта (например, «склеивание» некоторых букв).

И уж чего без этой библиотеки сделать не получится, так это устроить одновременную работу сразу несколько шрифтов; точнее, на примитивном уровне это сделать можно, заменив все системные шрифты различными шрифтами, но будут изменены абсолютно все элементы, а это далеко не всегда приятно и полезно.

Помимо перечисленных возможностей, «FontRouter LT» еще много чего умеет, постараемся все это вкратце рассмотреть.


Установка

Эта статья — не инструкция по использованию «FontRouter LT», и не диссертация на эту тему. И без того каждые два скриншота здесь — это минимум две перезагрузки, а обычно — около десяти или больше, чтобы подобрать нормальный вариант. Поэтому здесь рассматриваются не столько сами пути, сколько места, куда эти пути ведут.

Первое: никакой иконки в меню после установки не появится. «FontRouter LT» — это dll-библиотека, для управления которой сделан единственно файл «FontRouter.ini». Изменяя его содержимое в соответствии с инструкцией, которая содержится в нем же (см. ini-файл с русскими комментариями), можно будет получать изменения на экранах смартфонов.

При этом отметим, что новая сборка (20071109) работает уже несколько иначе, и гораздо удобнее. Сам ini-файл кладется в «\Data\Fonts». Туда же по умолчанию предлагается класть и шрифты для замены. Папку «E:\Resource\Fonts\» библиотека тоже видит, но смысл туда класть шрифты теперь нулевой, так как доступна любая другая папка, указанная в ini-файле, и к которой есть нормальный доступ с самого смартфона. В общем, начиная с этой сборки библиотека устроена так, что все операции по изменению, удалению и добавлению шрифтов можно производить без помощи ПК и кард-ридера.

Саму библиотеку «FontRouter LT» лучше ставить на карту памяти, потому что если что не так с ini-файлом, аппарат будет при загрузке виснуть. Куда ставить шрифты — дело хозяйское, но есть мнение, что лучше в память смартфона. Потому что при таком раскладе карта памяти будет открыта для соединения с ПК в режиме передачи данных, а удаление шрифтов легко теперь осуществляется функцией «FontRouter LT».

Перед установкой нужно будет самому создать папку «C:\Logs\FontRouter» (именно на C:), где будет создаваться и заполняться log-файл, который вам очень пригодится, если вы хотите изучить структуру запросов шрифтов в своем смартфоне, чтобы правильно и достаточно быстро их заменять.

Минималистам везет: им достаточно только установить библиотеку, ничего не изменяя и не настраивая, и они получат сглаживание, которого у них ранее не было. Правда, на 5500 такой номер не пройдет (на 3250, вроде, починили) не проходил): без сторонних шрифтов «FontRouter LT» будет вешать смартфон, поэтому хотя бы один нужно будет скопировать в «\Data\Fonts» сразу после установки библиотеки. Можно также отключить log-файл (просто удалить или не создавать папку «C:\Logs\FontRouter»), потому что он не обнуляется, и постоянно растет, накапливая в себе запросы шрифтов и логи загрузки.

Что нужно отметить отдельно — библиотеке совершенно все равно, как называется шрифт и сам файл. Это позволяет, наконец, перестать создавать шрифты с одинаковыми и совершенно безумными названиями вроде NOSNR60, NOSSB60 или NOSTSB60. Кроме того, совершенно необязательно именно такое их количество, вполне достаточно будет и одного. Поэтому если системные шрифты не устраивают, то к минимальному набору действий можно приписать еще одно: копирование нужного шрифта в папку «\Data\Fonts».


Принцип работы

Каждое приложение в смартфоне при работе запрашивает в системе шрифты. «FontRouter LT» умеет эти запросы отслеживать и выполнять подстановку ваших шрифтов вместо запрошенных. Так и получается замена. Программа ведет лог-файл загрузок шрифтов, запросов и подстановок. Для того, чтобы хоть что-нибудь нормально поменять, вам нужно либо изучать внимательно этот файл, либо искать в сети готовые решения наподобие вот этого (для Nokia E50): Со скриншотами, RAR, 4.6 Мб или Без скриншотов, RAR, 1 Кб.

Допустим, вы решили сделать все сами. Первым делом скачайте и установите программу «X-Plore», потому что без нее вы будете много и нудно перекидывать файлы со смартфона на ПК и обратно. Программа эта понадобится для просмотра файла лога, а также для редактирования ini-файла, из которого рекомендую все комментарии сразу же убрать, иначе бегать по нему смартфонным редактором будет очень затруднительно. И, что самое главное, сохранять ini-файл нужно в Unicode!

Итак, смотрим в файл лога, и видим там, в частности, строки, содержащие что-нибудь вроде «REQ [Nokia Sans S60 @ 13 T2]». Это запросы шрифта. В данном случае строка говорит о том, что был запрошен шрифт «Nokia Sans S60» 13-го размера. А раз запрошен, значит, кто-то его использует. Хотите узнать, кто?

Открываете в программе «X-plore» файл «FontRouter.ini», и в нем прописываете замену «Nokia Sans S60» на него же, но с наклоном. Делается это такой строкой: «Nokia Sans S60@13=Nokia Sans S60@13:I». После этого перезагружаете смартфон и ищете, где шрифт стал наклонным. Как обнаружите, делаете себе пометку, что такой-то шрифт используется там-то. Я для наглядности делал скриншоты этих мест. Затем — снова в лог-файл, ищете следующий запрос другого шрифта, и так далее. Сразу скажу, это долгая и кропотливая работа.

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

А теперь разберемся, как этой картой аккуратно и грамотно пользоваться.


Локальное действие на шрифт

Предположим, в некой программе (или сразу в нескольких) вас не устраивает размер шрифта — причем, не сразу везде, а лишь в отдельных местах. Ну, например: в SMS-сообщениях все хорошо, но вот заголовки сообщений в списке — слишком мелкие. Или в книге контактов: данные при просмотре — слишком мелкие.

:: обычный вид (на примере E50)

Хотим увеличить эти мелкие строки. Здесь «FontMagnifier» может помочь, но увеличит все сразу: и то, что было мелким, и то, что было нормальным. И опять станет некрасиво.

:: под действием FontMagnifier (на примере E50)

А вот «FontRouter LT» может помочь уже нормальным образом. Увеличим выбранный шрифт до того же размера, что и в предыдущем примере, а остальное оставим без изменений. И для этого всего-то нужно исправить отображение одного шрифта (Nokia Sans S60, 13-го размера). Заменим его на 20-й вот такой строкой в FontRouter.ini: «Nokia Sans S60@13=Nokia Sans S60@20».

:: «FontRouter LT» увеличил выбранный шрифт (на примере E50)

И размер нужных нам строк увеличился, и остальное смотрится нормально. Для лучшей читабельности можно даже сделать выбранный шрифт наклонным, изменив строку на «Nokia Sans S60@13=Nokia Sans S60@20:I».

:: и еще сделаем его наклонным (на примере E50)

Другой пример: в программе «Resco News» очень мелким шрифтом идет содержимое новости. А если еще шрифт какой-то мелкий установлен, то и вовсе никакого комфорта при чтении. Вот здесь пригодится «FontRouter LT», тем более, что сталкиваемся мы тут с еще одной непредвиденной проблемой — ограниченная программой высота строки: сторонний шрифт не всегда удается аккуратно и максимально вписать в этот размер. На примере E50: запрашивается 11-й шрифт, сторонний либо слишком мал, либо вылезает за границы, поэтому берем стандартный же: «Nokia Sans S60@11=Nokia Sans S60@15».

:: слева неизмененный сторонний «Nina», справа измененный «Nokia Sans S60»

В общем, видно, что локальное изменение гораздо более любопытно, чем общий zoom на все шрифты.


Общее действие на шрифты

Однако и общее воздействие «FontRouter LT» не менее интересно. Здесь есть несколько основных параметров, управляющих всеми шрифтами сразу. Первый — NativeFont — это включение или выключение поддержки родных (*.gdr) шрифтов; по умолчанию включено. Это мы, с вашего позволения, демонстрировать не будем. Скажем только, что частенько установка этого параметра в ноль помогает избежать конфликтов «FontRouter LT» с другими программами.

Второй — ForceAntiAliased — управление отображением. На данный момент библиотека поддерживает семь вариантов: 0 — системный по умолчанию, 1 — монохромный в приоритете, 2 — монохромный обязательно, 3 — сглаживание в приоритете, 4 — сглаживание обязательно, 5 — технология sub-pixel в приоритете, 6 — технология sub-pixel обязательно. Эти два последние на большинство шрифтов действуют неправильно, или, говоря иначе, не действуют. Так что вообще интересен только вариант 4 — сглаживание, потому что все остальное или не работает, или превращает шрифты вот такое:

:: слева ForceAntiAliased=2, справа ForceAntiAliased=4 (на примере Nokia E61)

Параметр ZoomRatio — масштаб. Вот это — то самое, чем занимается «FontMagnifier»: управление масштабом сразу всех шрифтов. Правда, здесь есть дополнительная функция — задать границы для размера шрифта (максимум и минимум).

:: слева ZoomRatio=60, справа ZoomRatio=120 (на примере Nokia E61)

Параметр Chroma (насыщенность). По умолчанию — 100. Можно увеличивать, можно уменьшать. При Chroma=0 шрифты вообще исчезнут, станут невидимыми. Параметр этот может пригодиться для того, чтобы увеличить насыщенность слишком размытого шрифта. Злоупотреблять, пожалуй, не стоит, потому что аккуратность букв при увеличении насыщенности, разумеется, уменьшается.

:: слева Chroma=60, справа Chroma=160 (на примере Nokia E61)

Параметры FixFontMetrics и FixCharMetrics нам неинтересны, т.к. предназначены для восточно-европейских шрифтов.


Работа параметров в карте шрифтов

Параметры «B» и «b» (предпочитать жирное написание и предпочитать тонкое написание). Вот с ним проблемы. По идее, должен работать как и наклон (I и i), но не работает. Даже если подгружен второй вариант шрифта (Bold), выбор не происходит. В общем, глюк это или нет, пока не разобрались толком. Но в любом случае понятно, что нужно подгружать два шрифта: обычный и жирный. И при таком раскладе нет разницы, писать в строке просто «имя_шрифта:B» или «имя_жирного_шрифта».

:: параметр «B» не работает, но можно назн. жирный шрифт (на примере Nokia E50)

Параметры «I» и «i»- наклон шрифта. Как уже было показано выше, наклон удобно применять для улучшения читабельности, когда на дисплее много различных данных. Ну или просто для красоты, кому наклонный шрифт нравится. Что касается «i» (предпочитать прямой), в смартфонах на S60 его использовать причин нет, т.к. наклонный шрифт никогда не запрашивается, в отличие от UIQ3.

:: слева шрифт заменен без параметра «I», справа — с ним (на примере Nokia E50)

Один из самых полезных параметров — «Y<n>». Занимается тем, что опускает/поднимает шрифт по вертикали на заданное количество точек. Может пригодиться, например, тогда, когда подписи к иконкам после изменения шрифта начинают наползать на иконки. Или поднять/опустить надписи софт-клавиш. К сожалению, на большинстве шрифтов он почему-то работает только в плюс — то есть, может поднять шрифт. А вот в минус — то есть, опустить шрифт, — только на некоторых шрифтах. Кроме того, зависит еще и от места, где шрифт используется: для некоторых шрифтов в каких-то местах уровень опускается, а в каких-то — нет.

:: работа Y<n>: слева n=8, справа n=-7 (на примере Nokia E50)

Еще один полезный параметр — «W<n>» — расстояние между символами (буквами). Иногда это нужно из-за того, что в шрифте буквы сливаются. Беда в том, что не на все шрифты действует, а если действует, то необязательно на все размеры, от чего-то еще зависит, в общем, ситуация примерно та же, что и с параметром «Y<n>». То же самое касается и параметра «L<n>» (высота строки).

:: работа W<n>: слева n=0, справа n=2 (на примере Nokia E50)

Параметры «A» и «a» — действуют так же, как ForceAntiAliased=4 и ForceAntiAliased=2 соответственно, только для конкретных выбранных шрифтов. То же самое касается параметров «Z» и «С», которые действуют как «ZoomRatio» и «Chroma» для выбранных шрифтов. С параметром «Z» на различных устройствах, с различными прошивками, различными шрифтами и местами использования этих шрифтов были обнаружены проблемы.


Куча проблем

В работе библиотеки «FontRouter LT» пока много проблем. Что-то из этого решаемо на данный момент, что-то пока нет. В принципе, новые сборки периодически выходят, и те, кому вопрос интересен, следят, подмечают изменения. Заметим пока некоторое, что верно на момент написания статьи.

1. Так или иначе наблюдаются проблемы с работой параметров B, b, Z, Y, W, L. Что-то от шрифта зависит, что-то от модели смартфона, что-то от версии прошивки, что-то от места использования шрифта, что-то даже от размера шрифта, и еще, наверное, от каких-то факторов.

2. Очень многие шрифты, которые на ПК и отображаются нормально, и работают хорошо, «FontRouter LT» не сможет правильно загрузить. А с какими-то телефон вообще не включится, так как FR будет висеть при попытке загрузить шрифт.

3. Для некоторых аппаратов загрузка без сторонних шрифтов невозможна. Раньше это были 3250 и 5500; теперь на 3250, похоже, глюк убрали, на 5500 пока остался.

4. Управление у программы (точнее, библиотеки) — только через ini-файл, пользовательский интерфейс отсутствует. И возможностей увидеть хотя бы примерно, что получится после изменений, еще меньше, чем было у «FontMagnifier». А это означает, что для получения достаточно приемлемого представление о том, как библиотека работает и как сделать шрифты такими, чтобы вам понравились, может потребоваться от 20 до 50 включений/выключений смартфона. А то и больше.

5. Владельцам Nokia N91 (и других аппаратов, у которых вместо карты памяти — своя) не очень повезло: если что не так, карточку не вытащишь. То же самое касается аппаратов, у которых карта памяти под аккумулятором (например, Nokia 5500): вынуть-то карту можно, и загрузиться без нее можно, но вот вставить ее при этом — никак, и если под рукой нет ПК и ридера, ситуацию не поправишь.

6. Библиотека может запросто начать конфликтовать с различными программами. Для некоторых из них причину найти довольно легко. Например, когда «FontRouter LT» действует на шрифт вместе с программой, в результате — конфликт: выход шрифта за допустимые рамки — при работе таких программ как скринсейверы или «TimeBar» (эта — особенно). Но бывают и гораздо более сложные ситуации.


Плюсы, недостатки, выводы

Программа (библиотека) сырая, грубо говоря, на стадии активного тестирования. Много чего не работает; по сути, работает нормально только сглаживание, насыщенность, наклон и замена шрифтов. Все остальное — где как. Но даже при таком раскладе это очень нужная вещь: привести содержимое дисплея смартфона к нормальному виду вполне даже можно. Пожалуй, сложновата в работе — это не вопрос. К тому же, эта работа с библиотекой частенько больше напоминает исследования, нежели простое использование инструментария настроек.

Что же касается отсутствия интерфейса... А стоит ли им сейчас заниматься, тратить на это время, когда еще толком неизвестно, какой функциональностью будет обладать программа? Вот, посмотрите на «FontMagnifier»: три сносных релиза, три изменения в интерфейсе, а толку — ноль. Причем, что характерно, с каждым разом программа все больше теряла гибкости. Так что лучше уж пусть функциональность и возможности растут, нежели оформление им в ущерб.

Резюме: всем, кто готов осилить инструкции и обсуждения в форумах, а также хочет получить на дисплее своего смартфона желаемые красоту и порядок — «Must have».



[ на главную страницу каталога обзоров программ для моб. устройств ]





Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.