Ŧ と ŧ を Computer Modern フォントで表示 (u+0166 と u+0167 – ストローク付きのラテン文字 T)

Ŧ と ŧ を Computer Modern フォントで表示 (u+0166 と u+0167 – ストローク付きのラテン文字 T)

以下の Unicode 文字を Latex の通常のコンピュータのモダン (通常、斜体、太字) に取り込むことは可能ですか?

  • Ŧ : u+0166(ラテン大文字の t に線を引く)

  • ŧ : u+0167(ラテン小文字の t に線を引く)

答え1

これは にはありCM Unicodeますが にはないのでLatin Modern、 および XeLaTeX または LuaLaTeX で使用できますfontspec。fontspec のデフォルトは Latin Modern なので、CM unicode を使用するように指定する必要があります。

\documentclass{article}

\usepackage{fontspec}
\setmainfont{CMU Serif}

\begin{document}

Here it is:

 Ŧ ŧ

\end{document} 

ここに画像の説明を入力してください

答え2

XeLaTeX または LuaLaTeX を使用すると、文字を入力するだけで、現在のフォントにその文字のグリフがある場合は、その文字が取得されます。

もし、XeLaTeXやLuaLaTeXでグリフのないフォントを使う場合は、それらをビルドすることができます(フォントにはU+00AF MACRONがあると思います)。もちろん、これには以下が必要です。このためにそれぞれのスタイルに合わせて定義を作成する必要があります。ここでは、直立フォントに有効な定義を示します。斜体フォントでは使用しないでください。;-)ただし、フォントが斜めになっている場合に水平方向のカーニングを追加するのはそれほど難しくありません。

\documentclass{article}
\usepackage{fontspec}
\usepackage{relsize,newunicodechar}

\newunicodechar{ŧ}{\texttstroke}
\newunicodechar{Ŧ}{\textTstroke}

\DeclareRobustCommand{\texttstroke}{%
  \leavevmode
  \vbox{\offinterlineskip
    \sbox0{\larger[-1]\kern-.05em\symbol{"AF}}%
    \ialign{%
      \hfil##\hfil\cr
      {\larger[-1]\kern-.05em\symbol{"AF}}\cr
      \noalign{\kern-\ht0 \kern-.7ex}
      t\cr
    }%
  }%
}
\DeclareRobustCommand{\textTstroke}{%
  \leavevmode
  \vbox{\offinterlineskip
    \sbox0{\symbol{"AF}}%
    \ialign{%
      \hfil##\hfil\cr
      \symbol{"AF}\cr
      \noalign{\kern-\ht0 \kern-.86ex}
      T\cr
    }%
  }%
}

\begin{document}

ŧŦ

\large ŧŦ

\huge ŧŦ

\small ŧŦ

\footnotesize ŧŦ

\end{document}

ここに画像の説明を入力してください

いくつかの変更を加えると、マクロは でも機能しますpdflatex。ここでは、すべてのエンジンで機能するようにコードが少し複雑になっていますが、\tstrokeエンジンに応じて適切な方法で定義するという考え方です。バージョンでは(マクロンアクセント)pdflatexを使用します。\={}

\documentclass{article}
\usepackage{ifxetex,ifluatex}

\newif\ifunicodeengine
\ifxetex\unicodeenginetrue\fi
\ifluatex\unicodeenginetrue\fi

\ifunicodeengine
  \usepackage{fontspec}
  \newcommand{\tstroke}{\symbol{"AF}}
\else
  \usepackage[utf8]{inputenc}
  \usepackage[T1]{fontenc}
  \newcommand{\tstroke}{\={}}
\fi

\usepackage{newunicodechar,relsize}

\newunicodechar{ŧ}{\texttstroke}
\newunicodechar{Ŧ}{\textTstroke}

\DeclareRobustCommand{\texttstroke}{%
  \leavevmode
  \vbox{\offinterlineskip
    \sbox0{\larger[-1]\kern-.05em\tstroke}%
    \ialign{%
      \hfil##\hfil\cr
      {\larger[-1]\kern-.05em\tstroke}\cr
      \noalign{\kern-\ht0 \kern-.7ex}
      t\cr
    }%
  }%
}
\DeclareRobustCommand{\textTstroke}{%
  \leavevmode
  \vbox{\offinterlineskip
    \sbox0{\tstroke}%
    \ialign{%
      \hfil##\hfil\cr
      \tstroke\cr
      \noalign{\kern-\ht0 \kern-.86ex}
      T\cr
    }%
  }%
}

\begin{document}

ŧŦ

\large ŧŦ

\huge ŧŦ

\small ŧŦ

\footnotesize ŧŦ

\end{document}

現在のフォントが傾斜している場合にカーニングを追加するバージョンを次に示します。

\documentclass{article}
\usepackage{ifxetex,ifluatex}

\newif\ifunicodeengine
\ifxetex\unicodeenginetrue\fi
\ifluatex\unicodeenginetrue\fi

\ifunicodeengine
  \usepackage{fontspec}
  \newcommand{\tstroke}{\symbol{"AF}}
\else
  \usepackage[utf8]{inputenc}
  \usepackage[T1]{fontenc}
  \newcommand{\tstroke}{\={}}
\fi

\usepackage{newunicodechar,relsize}

\newunicodechar{ŧ}{\texttstroke}
\newunicodechar{Ŧ}{\textTstroke}

\DeclareRobustCommand{\texttstroke}{%
  \leavevmode
  \vbox{\offinterlineskip
    \sbox0{\larger[-1]\kern-.05em\tstroke}%
    \ialign{%
      \hfil##\hfil\cr
      \ifdim\fontdimen1\font>0pt \kern-.1em\fi
      {\larger[-1]\kern-.05em\tstroke}\cr
      \noalign{\kern-\ht0 \kern-.7ex}
      t\cr
    }%
  }%
}
\DeclareRobustCommand{\textTstroke}{%
  \leavevmode
  \vbox{\offinterlineskip
    \sbox0{\tstroke}%
    \ialign{%
      \hfil##\hfil\cr
      \ifdim\fontdimen1\font>0pt \kern-.15em\fi
      \tstroke\cr
      \noalign{\kern-\ht0 \kern-.86ex}
      T\cr
    }%
  }%
}

\begin{document}
\itshape

ŧŦ

\large ŧŦ

\huge ŧŦ

\small ŧŦ

\footnotesize ŧŦ

\end{document}

直立文字の出力は前と同じです。斜体文字の出力は次のとおりです。

ここに画像の説明を入力してください

もちろん、さまざまな寸法はメインテキストのフォントに合わせて調整する必要があります。

の代替手段として、pdflatexT4 でエンコードされたフォントを使用する方法がありますが、これはビットマップ形式でのみ使用できます。グリフはスロット および でエンコードされる"97ため"B7、簡単に設定できます。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T4,T1]{fontenc}

\DeclareUnicodeCharacter{0167}{\texttstroke}
\DeclareUnicodeCharacter{0166}{\textTstroke}
\DeclareTextSymbolDefault{\texttstroke}{T4}
\DeclareTextSymbolDefault{\textTstroke}{T4}
\DeclareTextSymbol{\texttstroke}{T4}{"97}
\DeclareTextSymbol{\textTstroke}{T4}{"B7}


\begin{document}

tŧŦT

\large tŧŦT

\huge tŧŦT

\small tŧŦT

\footnotesize tŧŦT

\end{document}

ここに画像の説明を入力してください

答え3

ここに画像の説明を入力してください

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\DeclareUnicodeCharacter{0167}{\texttstroke}
\DeclareUnicodeCharacter{0166}{\textTstroke}
\newcommand\texttstroke{t\llap{-\kern.07em}}
\newcommand\textTstroke{T\raise.1ex\llap{-\,}}
\begin{document}

[ŧ][Ŧ]

\end{document}

関連情報