(up)LaTeXへのttfフォント追加方法について

(up)LaTeXへのttfフォント追加方法について

- クリバ (CHRIBUR_) の投稿
返信数: 4
お世話になります。

(u)pLaTeX周りのフォント導入が全く分からないので教えていただきたいです。
当方、環境はWindows10でTeX Live 2020を使用しております。LaTeXバージョンは2020-10-01以降の奴です。
%---------------------------------------------------------------------
\ProvidesPackage{myHandshape}[2020/11/02 v1.0]
\RequirePackage{xkeyval}
\DeclareOptionX{scale}{\def\myhandshape@scale{#1}}
\DeclareOptionX{scaled}{\def\myhandshape@scale{#1}}
\ExecuteOptionsX{scale=1}
\ProcessOptionsX
\def\myhandshape@@scale{s*[\myhandshape@scale]}
\DeclareFontFamily{T1}{myhandshape}{}
\DeclareFontShape{T1}{myhandshape}{m}{n}{<-> \myhandshape@@scale handshape-regular}{}
\AtBeginDvi{\special{pdf:mapfile handshape.map}}
\endinput
\newcommand{\handshapedefault}{myhandshape}
\DeclareRobustCommand\handshapefamily{%
\not@math@alphabet\handshapefamily\texthandshape
\romanfamily\ttdefault
\selectfont%
}
\DeclareRobustCommand\ttfamily{%
\not@math@alphabet\ttfamily\mathtt
\romanfamily\ttdefault
\selectfont%
}
\DeclareTextFontCommand{\texthandshape}{\handshapefamily}
%---------------------------------------------------------------------
という内容のmyHandshape.styファイル作成を行いました。その後、
%---------------------------------------------------------------------
\documentclass[uplatex,dvipdfmx]{jlreq}
\usepackage[scale=1]{myHandshape}
\title{hoge}
\author{foo}
\date{\today}
\begin{document}
\maketitle
\texthandshape{ABCDEFGHIJKLMN}
\end{document}
%---------------------------------------------------------------------
というtexファイルを作ったら
Undefined control sequence.
l.8 ^^I\texthandshape
{ABCDEFGHIJKLMN}
とエラーで言われてしまいました。何故でしょう? またどうすれば良いでしょうか?
クリバ (CHRIBUR_) への返信

Re: (up)LaTeXへのttfフォント追加方法について

- はやて (h20y6m) の投稿

myHandshape.styファイルの11行目に \endinput があるのでそれ以降の内容は読み込まれませんが……

はやて (h20y6m) への返信

Re: (up)LaTeXへのttfフォント追加方法について

- クリバ (CHRIBUR_) の投稿
恥ずかしい……。

\endinputを後ろに持って行ったら一応ビルドは通りました。
が、所望のhandshape.ttfではなくLMMono10-Regularで表示されてしまいました……。
styファイルの中にtt系の記述があるのが原因だと思うんですけど適切な書き方が分からないです。
クリバ (CHRIBUR_) への返信

Re: (up)LaTeXへのttfフォント追加方法について

- はやて (h20y6m) の投稿

私もLaTeXのフォント周りはよくわかっていないのですが、

\DeclareRobustCommand\handshapefamily{%
\not@math@alphabet\handshapefamily\texthandshape
\romanfamily\ttdefault
\selectfont%
}

ここで \romanfamily\ttdefault としているのでフォントファミリがlmtt(?)になっています。 ここを \romanfamily\handshapedefault にすればよいと思います。

参考ページにも書いてあると思いますが、

\romanfamily{〈フォントファミリ〉}\selectfont

で欧文フォントファミリを変更します。

あと、\ttfamily の再定義は(たぶん)いらないですね……