Наши партнеры

UnixForum

Реклама
  • ИП Попов А.П.
  • ИНН: 602715631406
Галкин и Пугачева станцевали зажигательный танец на Кипре
Реклама
  • ИП Попов А.П.
  • ИНН: 602715631406
Этот танец невесты оставит вас без слов! Пересмотрела 10 раз!
Реклама
  • ИП Попов А.П.
  • ИНН: 602715631406
Танец на выпускном взорвал сеть: смотреть без детей
Реклама
  • ИП Попов А.П.
  • ИНН: 602715631406
Диалог бабушки и внучки! Такое видео вызывает смех сквозь слезы…
Реклама
  • ИП Попов А.П.
  • ИНН: 602715631406
Женатым лучше не смотреть: танец роскошной Татьяны (видео)




Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Реклама
  • ИП Попов А.П.
  • ИНН: 602715631406
Это спасет потенцию даже в 70 лет! Продается в каждой аптеке...

Font HOWTO

Donovan Rebbechi, elflord@panix.com, перевод В.А.Костромина
Назад Оглавление Дальше Скачать все в одном архиве

5. Обеспечение доступа к фонтам для Ghostscript

Чтобы сделать фонт доступным для ghostscript, достаточно сообщить ghostscript, где расположен файл(ы) соответствующего фонта. Для этого необходимо подредактировать файл /usr/share/ghostscript/version/Fontmap. Этот файл имеет очень простой формат, почти очевидный, если его внимательно просмотреть.

5.1 Type1

Добавление фонтов Type1 осуществляется очень просто. Запустите type1inst в каталоге, содержащем файл фонта. type1inst создаст файл с именем Fontmap. Присоедините этот файл к ghostscript-овскому файлу Fontmap.

5.2 True Type

Добавление фонтов truetype немного сложнее, потому что мы должны получить имя фонта. Первый способ сделать это (увы, грубой силой) состоит в использовании конвертера TrueType фонтов в Type1 ttf2pt1 и последующем извлечении имени фонта из файла afm (вероятно должен существовать и более эффективный путь! но этот способ работает, как бы уродлив он не был). Вы можете сделать это примерно так:

                ttf2pt1 -A fontname - 2 > /dev/null | grep FontName
Затем Вы добавляете в ghostscript-овский файл Fontmap строку правильного формата, примерно так:
        some-font       (/usr/share/fonts/subdirectory/somefont.pbf);
Этот способ, конечно, работает, но попробуйте сделать это для 500 фонтов! Такого рода вещи просто требуют создания короткого скрипта на Perl:
#!/usr/bin/perl
# ttfontmap -- generate fontmap file for TrueType fonts
my $directory=shift || print STDERR "Usage: ttfontmap {directory}\n";

$directory=~s/\/$//;

for my $fontname ( glob ( "$directory/*.ttf" ) )
{
    open ( R, "sh -c \"ttf2pt1 -A $fontname - 2>/dev/null\" |" );
    while ( <R> )
    {
        if ( $_ =~ /^FontName/ )
        {
            s/^FontName\s*//;
            chomp;
            print "/" .  $_ . "    ($fontname);\n" ;
        }
    }
    close R;
}           
Вы можете скачать этот скрипт.

Чтобы установить этот скрипт, скопируйте его в файл с именем ttfontmap и поместите в один из каталогов, указанных в переменной PATH (например, в /usr/bin). После этого Вы можете запускать его следующим образом:

        ttfontmap directory > output_file
где directory - это каталог, содержащий файлы фонтов. Вы получите output_file, который сможете присоединить к перечню фонтов ghostscript. Примечание: кто-то может заметить, что можно просто запустить команду
        ttfontmap directory >> /usr/share/ghostscript/version/Fontmap
но я не рекомендую этого делать (что будет, если Вы введете ``>'' вместо ``>>''?).

5.3 Использование Ghostscript для предварительного просмотра фонтов

Как только Вы сделали фонты доступными для ghostscript, Вы можете их просмотреть. Это делается путем запуска интерпретатора языка ghostscript на файле prfont.ps из Вашей инсталляции ghostscript. После его запуска напечатайте (введите)

        /Fontname DoFont
где FontName - это имя в ghostscript фонта, который Вы хотите увидеть. Существует несколько разных способов вызвать gs. Например, если Вы хотите создать postscript-файл, который Вы хотите просматривать в одной из более удобных программ, к примеру gv, Вы можете использовать команду
        gs -sDEVICE=pswrite -sOutputFile=somefile.ps  prfont.ps
Воспользовавшись этим способом, Вы сможете также распечатать выходной файл.


Назад Оглавление Дальше Скачать все в одном архиве