Отображение символов орбитальных узлов в макросах groff ms

С помощью sedвы можете сделать это следующим образом:

sed -n '/^[^ ]*$/{H;d;};G;/ \(.*\)\n.*\n\1/d;P' fileB fileA

Это :Первый файл процесса B. Если строки не содержат пробелов, предполагается, что они являются именами хостов в файле B, и мы добавляем их в пробел и продолжаем({H;d;})

Предполагается, что все остальные строки относятся к файлу A. Добавляя пробел к списку имен хостов (G), все строки с последним словом строки, которые повторяются в списке имен хостов, могут быть удалены. Остальные строки печатаются без завершающего списка (P). Опция -nподавляет вывод по умолчанию.

Редактировать:На самом деле нужно делать

sed -n '/^[^ ]*$/{H;d;};G;/ \(.*\)\n.*\n\1\n/d;/ \(.*\)\n.*\n\1$/d;P' fileB fileA

, чтобы избежать особых случаев.

2
31.07.2019, 04:20
1 ответ

Чтобы добавить необычные символы в документ PostScript с помощью groff, нужно приложить немало усилий. Сначала вам нужно выбрать шрифт, который содержит символ. Погуглив имя и тег unicode , можно найти, например, этот сайт , где сказано, что, например, он встречается в шрифте DejaVuSans -Bold, который у меня случайно есть на моя система в формате ttf.

Вам нужно преобразовать ttf в формат, нужный groff. Я создал каталог /tmp/font/devpsи в нем запустил

ttf2pt1 -a -e /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf DejaVuSans-Bold

, где ttf2pt1пришло из одноименного пакета в моей системе. Это создало файлы DejaVuSans-Bold.afmи DejaVuSans-Bold.pfa. Им нужно больше конверсий с

afmtodit DejaVuSans-Bold.afm textmap DejaVuSans-Bold

, где afmtoditпришло из пакета groff-perl.Этот созданный файл DejaVuSans-Bold, на который теперь можно ссылаться из groff с помощью команды

.ft DejaVuSans-Bold

при условии, что вы сказали ему, где его найти, выполнив

export GROFF_FONT_PATH=/tmp/font

перед запуском groff -Tps. Вам также необходимо ссылаться на символ по его значению Unicode во входном тексте, например:

here \[u260A] there

(Если ваш входной файл находится в формате utf -8, вы можете выполнить это преобразование, добавив параметр groff -K utf-8, который я не пробовал ). Вот набор команд, которые сработали для меня (вам может понадобиться изменить источник файла ttf):

mkdir -p /tmp/font/devps
cd  /tmp/font/devps
ttf2pt1 -a -e /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf DejaVuSans-Bold
afmtodit DejaVuSans-Bold.afm textmap DejaVuSans-Bold
export GROFF_FONT_PATH=/tmp/font
groff -Tps >text.ps <<\!
.ps 20
.vs 24
.ft DejaVuSans-Bold
here \[u260A] there
!
gv text.ps

enter image description here

3
27.01.2020, 22:24

Теги

Похожие вопросы