Русский шрифты: Русские шрифты | Шрифты онлайн

Установка шрифтов Groff / Хабр

Здравствуй, Хабр!

Русские шрифты в Groff, пошаговая инструкция по установке. Groff — небольшой и очень-очень винтажный программный пакет, система набора текста, в каком-то смысле прадедушка TeX, LaTeX. Но если TeX создан Дональдом Кнутом, то Брайан Керниган приложил немало усилий для развития концепций Troff. Итак, две легенды и две дороги.

Конечно, сегодня программы troff (GNU версия называется по традиции groff) применяют в основном для форматирования man-страниц, но возможности процессора намного шире.

…Осенью прошлого года мне пришлось форматировать текстовой файл. Правда, банальная задача? Но дьявол живет в деталях: у меня на руках было 60000 страниц текста из базы данных, где смешались русские, английские и немецкие слова, сцементированные и притертые, как камни пирамиды Хеопса. Мой «текстовой процессор» (OO) намертво завис. Я растерялся, расстроился, попытался найти простенькое решение для командной строки.

В самом деле, как работали во времена Ноя и мониторов EGA с текстом? Emacs, vim, jed? Это все насыщенные функциями, как мед сахаром, многорежимные редакторы. Но насущная задача казалась очевидной: создать текстовой файл со строкой в 70 знаков, с возможностью центрирования и необязательного переноса слов. Помнится, в «эпоху DOS» был популярный «процессор» Лексикон, да? Что-то такое я захотел установить на свой компьютер. Только чтобы буквы в utf-8 не резались на биты.

Впрочем, чудо случилось: во время поисков я нашел русскоязычную документацию программы nroff, написанную… как вы думаете, кто переводил мануалы? Ну да, производственно-внедренческий кооператив «ИНТЕРФЕЙС» озаботился русскоязычной справкой аж в конце 80 годов, еще во времена СССР.

Мои поиски закончились и я за несколько минут подготовил файл с форматированием.

Следующая команда прекрасно справилась с текстом utf-8, конечно, без переноса слов.

$ groff -Dutf8 -Tutf8 utf-8.txt > russian.

txt

Получилось очень красиво. Мне тут же захотелось продолжить знакомство с легендарной программой и я решил перевести на русский язык документацию Groff, чтобы поглубже изучить, понять всю прелесть старой программы. В процессе перевода у меня также возникло необъяснимое желание создать документ PostScript  на русском языке со своими шрифтами. И вот здесь начались сложности: процесс установки «своих» шрифтов в Groff не такой уж простой.(Проблема в том, что некоторые программы не ставятся «по умолчанию» в дистрибутив Debian, которым я пользуюсь, поэтому их придется устанавливать самому.)

Ниже я попытаюсь максимально подробно описать компиляцию шрифтов ttf для работы с программой Groff.

Шрифты в Groff «настраиваются» несколько необычно, хотя существует небольшой и удобный скрипт

install-font.sh, созданный Питером Шаффтером, автором макроса mom Groff; скрипт я быстро нашел в Сети и переписал «под себя». В частности, мне не понравилось, что исходный скрипт пытается положить шрифты в какую-то далекую директорию, хотя намного проще, чтобы скрипт всего-навсего компилировал файлы «по месту жительства».

Также я перевел сообщение Т. Курта Бонда, но применительно к русскому языку и с необходимыми правками. Ниже инструкция Бонда с моими замечаниями.

А в этом архиве лежат все необходимые утилиты, даже программа afmtodit, она написана на Perl. Исходный скрипт Питера лежит по адресу.

В настоящее время install-font.sh не входит в пакет groff, как пишет Бонд, поэтому могут быть небольшие трудности, если возникает необходимость установить шрифты в форматах OpenType или TrueType.

И для удобной работы потребуется программа

Fontforge — бесплатный редактор шрифтов с открытым исходным кодом. Этот редактор может выполнять сценарии преобразований между форматами шрифтов в командной строке.

Примечание. Можно также создать шрифтовые метрики AFM, например, с помощью входящей в пакет ghostscript программы, или программы ttf2afm из пакета tetex.

Скрипт install-font.sh использует Fontforge для преобразований между шрифтами OpenType и TrueType в PostScript Type42 (. t42) и Type1 (.pfa).

Затем с помощью утилиты afmtodit (по умолчанию не поставляется с пакетом Groff, но доступна в исходниках) создаются необходимые для Groff файлы.

Установите Fontforge.

$ sudo apt install fontforge

Скачайте afmtodit (или архив).

Создайте директорию, например,

FONT. Положите исполняемые файлы install-font.sh и afmtodit, необходимые шрифты в эту директорию.

Для автоматизации я написал небольшой скрипт, который в автоматическом режиме компилирует шрифты. Скрипт также доступен в архиве как auto-convert.sh

#!/bin/bash
    EXT="ttf" # (расширение)
#    EXT="TTF" 
# В директории FONT должны размещаться файлы textmap и text.enc 
    mkdir ./install-font
# Необходимая для работы afmtodit директория
    mkdir ./install-font/DESC
# Программа на Perl, можно отключить проверку DESC
    mkdir ./site-font
    DEST=`pwd`
	cp tex* . /install-font
# Начинаем цикл
    for FILE in *.$EXT; do
# "Меняем" имя файла (расширение)
    input=`echo $(basename "$FILE" .$EXT).afm`
    output=`echo $(basename "$FILE" .$EXT)`
# Конвертируем
    echo "conversion  $FILE >>  $input"
# Опция +R определяет шрифт Regular, см. ниже комментарий
    sudo ./install-font.sh  -n  -d -P "$DEST" -F $output -f +R  $FILE
# Смотрим файлы в директории, это всего лишь удобная фича
    input=`ls $DEST/site-font/devps/$output*`
    echo "$input"
    done
exit 0

Как видите, ничего сложного — создается директория install-font с обязательной поддиректорией DESC и директория site-font. В последнем каталоге будут «появляться» шрифты, необходимые для работы с Groff. Обратите внимание! В директорию install-font следует положить два файла: textmap и text.enc (они есть в архиве). Эти файлы нужны для работы программы afmtodit и они входят в оригинальный пакет Groff.

Также скрипт install-font.sh потребует определенных прав для исполнения. Наверное, от этого можно избавиться, отключив в скрипте две-три команды, но я не стал изменять скрипт.

После запуска скрипта auto-convert.sh в директории site-font появятся две субдиректории —

devps и devpdf. Последняя директория пока что не нужна, ведь мы создаем шрифты для работы с устройством PS (PostScript).

Groff называет директории шрифтов как «dev» (устройство) и «формат», поэтому все необходимые файлы перемещаются в site-font/devps, причем каталогу назначаются привилегии и права. Также из-за какой-то путаницы afmtodit в созданных «шрифтах» будет ошибка — неправильная строка «spacewidht 0», ее можно закоментировать «# spacewidht 0». Или опять-таки переписать старенькую программу afmtodit.

Например, вы собираетесь использовать шрифт Russian.ttf, программа Groff предполагает, что будут доступны варианты Regular, Italic, Bold и Bold Italic (R, I, B и BI, если говорить в терминологии Groff).

Значит, вам потребуются соответствующие шрифты: Russian-Regular.ttf, Russian-Italic.ttf, Russian-Bold.ttf и Russian-BoldItalic.ttf. Обычно на сайтах со шрифтами предлагаются подборки семейств, так что вы всегда сможете скачать необходимые шрифты.

Шрифты следует скопировать в каталог FONT (который мы создали ранее), разумеется, в этом же каталоге должны лежать все исполняемые файлы.

Скрипт auto-convert.sh запускает для каждого ttf шрифта следующую команду:

$ sudo install-font.sh -n -P " $DEST " -d -F Font -f +R Font-Regular.ttf

Параметр -f принимает аргумент, указывающий используемый стиль шрифта: +R, +I, +B или +BI.

В данном случае установлена опция +R, создается шрифт Regular.

Если вы хотите создать шрифты Italic, Bold и Bold Italic, опция приобретает иной вид: +I, +B и +BI соответственно.

Параметр -F принимает аргумент, указывающий используемое имя семейства шрифтов. Это имя для запроса .fam или -f groff, чтобы сообщить процессору, какое семейство шрифтов будет использоваться.

Для примера, такая команда создаст RussianI (курсив) шрифт

$ sudo install-font.sh -n -P " $DEST " -d -F Font -f +I Russian-Italic.ttf

Очевидно, можно «встроить» алгоритм, автоматически «называющий» шрифт так, как необходимо процессору Groff.

Если компиляция была успешной, в директории ./site-font/devps/ будут созданы шрифты, их следует скопировать в /usr/share/groff/site-font/devps/ (для дистрибутива Debian).

Теперь можно написать файл test.txt для тестирования нового шрифта.

.sp 2
.ps 16
.ft RussianR
.ti +1
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код
.br
настолько умно, насколько можете, то вы по определению недостаточно
.br
сообразительны, чтобы его отлаживать.
.br
Управление сложностью является сущностью компьютерного программирования.
.sp 1
.ps 12
.ce
.ft RussiandB
Брайан Керниган, автор Troff

Затем создадим файл PostScript

$ groff -P-pa4 -P-l -Dutf8 -Tps test. txt > text.ps

Вот и все, и надеюсь, несмотря на почтенный возраст программы Groff, она еще способна вызвать у любителей ручной верстки какие-то чувства =)

Россия Шрифты 2022 | 1149+ потрясающих русских шрифтов · Creative Fabrica

Исследуйте 1149 потрясающих русских шрифтов, чтобы загрузить их и найти идеальное сочетание, которое подойдет для вашего следующего веб-сайта. и полиграфические дизайн-проекты всех размеров. Вы ищете идеальные российские шрифты? Вы пришли к нужное место! Ознакомьтесь с нашей коллекцией, новые дизайны добавляются каждый день.

Сортировать по популярности Сортировать по последним

Показано 1–36 из 180 результатов

116

431

20

3

4

0

2

3

55

1

0

2

1

0

0

0

1

6

2

12

3

3

10

19

11

34

17

18

15

25

46

101

43

48

91

25


Показано 1–36 из 180 результатов

Архив России — Fontfabric™

50% СКИДКА

216 стилей шрифта от 40 долларов.

16 стилей шрифта от 39 долларов.

15 стилей шрифта от 27 долларов

21 стиль шрифта от 17 долларов

17 стилей шрифта от 25 долларов

18 стилей шрифта от 35 долларов

5 стилей шрифта

1 стиль шрифта

1 стиль шрифта

1 стиль шрифта

2 стиля шрифта

9 стилей шрифта

Получайте наши последние выпуски, лучшие предложения и важные советы прямо на вашу почту.

Мы вышлем вам заархивированный файл с бесплатным шрифтом, лицензионным соглашением и инструкциями по установке.

Адрес электронной почты уже существует

К сожалению, произошла ошибка! Повторите попытку через несколько секунд

Поле не должно быть пустым

Неверный адрес электронной почты

Ваш адрес электронной почты *

Я хочу получать новости о новых выпусках, скидках только для подписчиков, персонализированных предложениях и ресурсах, позволяющих максимально эффективно использовать мои шрифты.

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

Никто не любит тесноту, поэтому мы делаем упор только на качественный контент. Вы можете отказаться в любое время, нажав на ссылку в нижнем колонтитуле наших электронных писем. Дополнительную информацию см. в нашем Уведомлении о конфиденциальности.

Спасибо, что выбрали бесплатные шрифты Fontfabric! Мы помогаем дизайнерам со всего мира масштабировать свои проекты и клиентов с помощью отличной типографики. Отказаться от рассылки можно в любое время, нажав на ссылку «Отписаться» в нижнем колонтитуле вашего электронного письма. Дополнительную информацию см. в нашем Уведомлении о конфиденциальности.

Ваш бесплатный шрифт будет доставлен с адреса [email protected]. Обязательно проверьте папки со спамом/промо и подумайте о том, чтобы добавить нас в белый список. Подождите до 10 минут, пока сообщение придет.

Все еще не видите? Отправьте нам сообщение по адресу [email protected]

Настройки файлов cookie

  • Целевые файлы cookie

    Эти файлы cookie могут быть установлены через наш сайт нашими рекламными партнерами.

    Эти компании могут использовать их для создания профиля ваших интересов и показа вам соответствующей рекламы на других сайтах. Они не хранят личную информацию напрямую, а основаны на уникальной идентификации вашего браузера и интернет-устройства. Если вы не разрешите использование этих файлов cookie, вы будете получать менее целенаправленную рекламу.

    Включено Неполноценный Неполноценный
  • Куки производительности

    Эти файлы cookie позволяют нам подсчитывать посещения и источники трафика, чтобы мы могли измерять и улучшать производительность нашего сайта. Они помогают нам узнать, какие страницы являются наиболее и наименее популярными, и увидеть, как посетители перемещаются по сайту.

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

    Включено Неполноценный Неполноценный
  • Общие файлы cookie

    Эти файлы cookie необходимы для работы веб-сайта и не могут быть отключены в наших системах. Обычно они устанавливаются только в ответ на ваши действия, которые представляют собой запрос на услуги, такие как установка параметров конфиденциальности, вход в систему или заполнение форм.

    Вы можете настроить свой браузер так, чтобы он блокировал эти файлы cookie или уведомлял вас о них, но тогда некоторые части сайта не будут работать.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *