Для добавления ttf шрифтов в LaTex, можно использовать следующий скрипт:
#!/bin/bash
#использует два параметра, где первый название файла шрифта, а второй название, с которым будет работать, latex
mkdir fon
cp "$1" fon/
cd fon
otftotfm \
--no-type1 \
-fkern \
--encoding="t2a.enc" \
--map-file="$2.map" \
"$1" \
"$2"
if [ -d $HOME/texmf/fonts/enc/dvips/$2 ]; then
echo "$HOME/texmf/fonts/enc/dvips/$2 yes"
else
mkdir -p $HOME/texmf/fonts/enc/dvips/$2
fi
cp *.enc $HOME/texmf/fonts/enc/dvips/$2/
if [ -d $HOME/texmf/fonts/map/pdftex/$2 ]; then
echo "$HOME/texmf/fonts/map/pdftex/$2 yes"
else
mkdir -p $HOME/texmf/fonts/map/pdftex/$2
fi
MAP1="`cat $2.map |sed '1,2d'|awk '{print $2 }'`"
MAP="`cat $2.map |sed '1,2d'|awk '{print $2 }'|sed 's/-//'`"
MAPFILE="$2.map"
sed -i "s/$MAP1/$MAP/" "$MAPFILE"
cp *.map $HOME/texmf/fonts/map/pdftex/$2/
if [ -d $HOME/texmf/fonts/tfm/trues/$2 ]; then
echo "$HOME/texmf/fonts/tfm/trues/$2 yes"
else
mkdir -p $HOME/texmf/fonts/tfm/trues/$2
fi
cp *.tfm $HOME/texmf/fonts/tfm/trues/$2/
if [ -d $HOME/texmf/fonts/truetype/$2 ]; then
echo "$HOME/texmf/fonts/truetype/$2 yes"
else
mkdir -p $HOME/texmf/fonts/truetype/$2
fi
cp *.ttf $HOME/texmf/fonts/truetype/$2/
if [ -d $HOME/texmf/fonts/vf/trues/$2 ]; then
echo "$HOME/texmf/fonts/vf/trues/$2 yes"
else
mkdir -p $HOME/texmf/fonts/vf/trues/$2
fi
cp *.vf $HOME/texmf/fonts/vf/trues/$2/
if [ -d $HOME/texmf/tex/latex/$2 ]; then
echo "$HOME/texmf/tex/latex/$2 yes"
else
mkdir -p $HOME/texmf/tex/latex/$2
fi
echo "\ProvidesFile{t2a$2.fd}[`cat $MAPFILE |sed '1,2d'|awk '{print $2 }'` Font]
\DeclareFontFamily{T2A}{$2}{}
\DeclareFontShape{T2A}{$2}{m}{n} {$2} {}
\endinput" >$HOME/texmf/tex/latex/$2/t2a$2.fd
mktexlsr
updmap --enable Map="$2.map"
Для его работы необходимы пакеты:
lcdf-typetools
kpathsea
TexLive
texlive-core
texlive-langcyrillic
Как известно LaTeX(TexLive) работает с локальным каталогом $HOME/texmf, собственно туда и устанавливаются шрифты. Плюс прописываются в конф файлах $HOME/.texlive
берется обычный файл шрифтов, в названии шрифта удяляются тире и пробелы, а далее выполняется команда:
./script.sh font.ttf Font
второй параметр можно сразу использовать для получения таблицы символов данного шрифта, в документе LaTeX
Пример:
\fonttable{Font}
Использовать шрифт можно просмотрев в каталоге fon который создастся после выполнения шрифта файл *.map
пример:
% Automatically maintained by otftotfm or other programs. Do not edit.
Konkord--base KonkordRetro "AutoEnc_ppykhbua6i6wxtz6lrdyzug7ed ReEncodeFont" <[a_ppykhb.enc <Konkord.ttf
Для формирования команды в документе импользуются два параметра:
первый без --base и второй полный
Пример:
{\font\KonkordRetro Konkord at40pt \KonkordRetro А это текст,
который выводится при помощи шрифта KonkordRetro.}
Пример документа:
\documentclass[a4paper,12pt]{article}
\usepackage{latexsym}
\usepackage{fonttable}
\usepackage{mathtext}
\usepackage[T2A]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[russian]{babel}
\begin{document}
Это просто текст, который выводится LaTeX с
помощью шрифта по умолчанию.\\
{\font\VictorianGothicOne Victorian at40pt \VictorianGothicOne А это текст,
который выводится при помощи шрифта Victorian.}\\
\text{{\font\Cleopatra cleopatra at40pt \Cleopatra А это текст,
который выводится при помощи шрифта Cleopatra.}}\\
\text{{\font\KonkordRetro Konkord at40pt \KonkordRetro А это текст,
который выводится при помощи шрифта KonkordRetro.}}\\
\text{{\font\MontiDecorA MontiDecorA at40pt \MontiDecorA А это текст,
который выводится при помощи шрифта MontiDecorA.}}\\
\\ \ \\ \ \\ \ \\ \ \\ \ \\ \ \\
\fonttable{MontiDecorA}
\end{document}
Результат в PDF тыц
После выполнения скрипта каталог fon можно удалить