Перейти к содержимому

Фотография

Создание и редактирование шрифтов на смартфонах S60 2nd

- - - - -

  • Авторизуйтесь для ответа в теме

#1
admin

Отправлено 28 2008 - 03:46

admin

    Самый главный тут

  • Администраторы
  • 9501 сообщений
Эта маленькая статья не претендует на оригинальность и была написана для использования в личных целях. После того как я понял, что на этом форуме мало кто умеет с ней работать я решил ее "причесать" и выложить в общее пользование. Примерно половина данных была взята из различных вторичных источников, когда только появилась английская версия программы, остальные данные получены эмпирическим путем.

Важно! Все лучше ставить на карту памяти, так как в противном случае может привести к формату.

Итак, библиотека Font router используется для замены стандартных шрифтов смартфона на сторонние (либо растровые .gdr, либо векторные .ttf). Она не имеет графического интерфейса и все действия производятся через конфигурационный файл.
Последняя известная мне версия - 2.08.

Состав пакета:
- FontRouter.dll
Сама библиотека. Чтобы работать, должна находиться в !:\System\Fonts

- FreeType.dll
Файл, который добавляет поддержку векторных (.ttf) шрифтов. Для N70, N72 и N90 он не обязателен.
Кидать опять - таки в !:\System\Fonts

-FontRouter.ini
Собственно сам конфигурационный файл, через который происходит управление библиотекой.
Класть в !:\Data\Fonts\

Теперь остановлюсь подробнее на файле FontRouter.ini.
Ниже приведена его структура с комментариями, переведенными на русский язык.


; Пример конфигурационного файла FontRouter LT
; Строки с комментариями начинаются с ";".


[Global]

; Вкл/Выкл основную функцию FontRouter'а
; По умолчанию: 1
;
Enable=1

; Вкл/Выкл поддержки растровых (.gdr) шрифтов
; По умолчанию: 1
;
NativeFont=1

; Уровень записи в Лог - файл: 1 - Фатальные ошибки, 2 - Ошибки, 3 - Предупреждения, 4 - Информация, 5 - Отладка
; Прежде чем лог начнет работать, пожалуйста, не забудьте создать папку "C:\Logs\FontRouter".
; По умолчанию: 4
;
LogLevel=4

; Использовать сглаживание для векторных шрифтов (Доступно только на SymbianOS 7.0s и выше)
; 0 - По умолчаю в системе
; 1 - Предпочитать монохромное отображение
; 2 - Не использовать сглаживание
; 3 - Предпочитать сглаживание
; 4 - Использовать сглаживание
; По умолчанию: 0
;
ForceAntiAliased=4

; Исправлять метрику шрифтов (необходимо для Восточно - Азиатских шрифтов)
; 0 - Не исправлять
; 1 - Подражать стилю встроенного китайского шрифта от Нокии.
; По умолчанию: 0
;
FixFontMetrics=0

; Автоматически исправлять метрику символов (для символов с метрикой отличной от метрики шрифта)
; 0 - Не исправлять
; 1 - Исправлять автоматически
; По умолчанию: 0
;
FixCharMetrics=0

; Отключение файла шрифтов. (полный путь или просто имя файла)
;
;DisableFontFile=Z:\System\Fonts\S60SC.ccc
;DisableFontFile=S60TCHK.ccc

; Глобальное изменение размера шрифта (в процентах) и границы размеров для шрифта к которому применяется изменение размера.
ZoomRatio=100
ZoomMinSize=0
ZoomMaxSize=48

; Глобальное измение прозрачности (в процентах). Доступно только для сглаженных шрифтов.
Chroma=100

; Файл дополнительных шрифтов для загрузки.
ExtraFontFile=\Data\Fonts\*.*


[FontMap]

;Customize font-map
;
; <Запрашиваемый шрифт>=[Замещающий шрифт]
;
; Когда запрашиваемый шрифт отсутствует, FontRouter пропускает его и использует системный шрифт по умолчанию.
;
; Синтаксис запрашиваемых шрифтов:
;
; [Имя_шрифта[@Высота_шрифта]]
;
; Синтаксис замещающих шрифтов:
;
; Имя_шрифта[@Высота_шрифта[:Параметры]]
;
; Синтаксис Имени_шрифта:
;
; [<имя шрифта> или <имя файла> или *]
;
; "*" в запрашиваемом шрифте устанавливается для для любых остальных шрифтов не указанных в конфигурационном файле.
; "*" в замещающем шрифте означает первый доступный шрифт вне ROM (диск z).
;
; Синтаксис параметров:
;
; A Использовать сглаживание
; a Не использовать сглаживание
; B Предпочитать жирный
; b Предпочитать тонкий
; I Предпочитать курсив
; i Предпочитать прямой
; Y<n> Изменение позиции по вертикали (n может быть отрицательным)
; W<n> Увеличение расстояния между символами (n может быть отрицательным)
; L<n> (Экспериментальный) Увеличение расстояния между строками (n может быть отрицательным)
; Z<n> Увеличение в процентах (По умолчанию: 100)
; C<n> Изменение прозрачности в процентах (По умолчанию: 100)
;
; Примеры:
;
; Sans MT 936_S60=*
; Sans MT [email protected]=Microsoft YaHei
; Sans MT [email protected]=Microsoft [email protected]:Y-1
; Sans MT [email protected]=FZLiBian-S02:W1
; Sans MT [email protected]=
;

; For S60 v1/v2

LatinBold12=*@12
LatinBold13=*@13
LatinBold17=*@17
LatinBold19=*@19
LatinPlain12=*@12
font17=*@17
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
Alp13=*@13
Alp17=*@17
Alb17b=*@17
Alp12i=*@12
Alpi12=*@12
Alp13i=*@13
Alpi13=*@13
Alp17i=*@17
Alpi17=*@17
Alb12i=*@12
Albi12=*@12
Alb13i=*@13
Albi13=*@13
Alb17bi=*@17
albi17b=*@17
alp17=*@17
alpi17=*@17


Т.е. конфигурационный файл должен выглядить примерно следующим образом:

[Global]
Enable=1
NativeFont=1
LogLevel=4
ForceAntiAliased=4
FixFontMetrics=0
FixCharMetrics=0
ZoomRatio=100
ZoomMinSize=0
ZoomMaxSize=48
Chroma=100

ExtraFontFile=\Data\Fonts\*.*

[FontMap]
LatinBold12=*@12
LatinBold13=*@13
LatinBold17=*@17
LatinBold19=*@19
LatinPlain12=*@12
font17=*@17
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
Alp13=*@13
Alp17=*@17
Alb17b=*@17
Alp12i=*@12
Alpi12=*@12
Alp13i=*@13
Alpi13=*@13
Alp17i=*@17
Alpi17=*@17
Alb12i=*@12
Albi12=*@12
Alb13i=*@13
Albi13=*@13
Alb17bi=*@17
albi17b=*@17
alp17=*@17
alpi17=*@17


Основные шрифты, которые используются в смарте:
LatinBold12= (Набор текста)
LatinBold13= (Текст во всплывающих окнах)
LatinBold17= (Подписи к софт - клавишам)
LatinBold19= (Название оператора в режиме ожидания)
LatinPlain12= (Подписи под ярлыками в меню)

Итак, как установить и настроить шрифты:

1) Устанавливаем библиотеку.
2) Кидаем шрифты (шрифт) в любую папку (например, e:\Data\Fonts\).
3) Настраиваем конфигурационный файл.
4) Перезагружаем смарт.
5) Наслаждаемся шрифтами.

P.S. Если интересно, могу описать спасоб нахождения шрифта, который используется в определенном месте, с помощью логов.

P.S. В прикрепленном файле: FontRouter.dll, FreeType.dll, FontRouter.ini (без комментариев), FontRouterEnOrig (с оригинальными комментариями на английском), FontRouterRus (с комментариями на русском)

P.S.S. На 9ку принципиально ничем не отличается, но я не очень хорошо знаком с ней и поэтому не стал описывать.

Удачного вам шрифто - творения! :)

Прикрепленные файлы