Основы работы в ОС Linux



         

Инсталляция шрифтов TrueType - часть 2


Еще одна причина возникновения проблем состоит в том, что ttmkfdir почему-то сортирует имена шрифтов в файле fonts.scale в обратном порядке. Этот факт не вызывает затруднений, если вы используете команду ttmkfdir в указанном выше формате. Но если вы попытаетесь подключить декоративные шрифты, которые часто содержат изображения не для всех возможных символов, то просто дать команду

[root]# ttmkfdir -o fonts.scale

уже недостаточно. Дело в том, что по умолчанию ttmkfdir допускает отсутствие в шрифте не более 5 символов. Но имеется специальная опция (-m nnn, где nnn - число), которая позволяет увеличить допустимое число отсутствующих изображений. Если запустить ttmkfdir в следующем виде:

[root]# ttmkfdir -m 100 -o fonts.scale

то созданный в том же каталоге и при тех же файлах шрифтов файл fonts.scale получится гораздо большего объема, т. е. будет содержать больше наименований шрифтов. При этом, как раз из-за обратного порядка перечисления имен, файлы с неполным набором символов окажутся в начале файла fonts.scale. В силу этого приложения могут быть "введены в заблуждение" и "схватить" первый попавшийся (в данном случае - неполный) шрифт. Тогда вместо отсутствующих символов вы увидите просто пробелы. Впрочем, с этой проблемой нетрудно справиться. Просто после создания файла fonts.scale надо изменить порядок строк в нем, для чего после выполнения команды

[root]# ttmkfdir -m 100 -o fonts.scale

надо сделать следующее:

  1. Выполнить команду [root]# tac fonts.scale > fonts.dir
  2. Перенести строку с числом шрифтов из конца полученного таким образом файла fonts.dir в его начало;
  3. Убедиться, что файл fonts.dir заканчивается символом конца строки.

Теперь мы имеем корректно сформированный файл fonts.dir! Но список в файле fonts.scale все еще имеет обратный порядок. Однако, поскольку эти два файла (по крайней мере в данном случае) должны быть идентичны, то остается только выполнить команду

[root]# cat fonts.dir > fonts.scale

или

[root]# cp fonts.dir fonts.scale




Содержание  Назад  Вперед