Fontspec、オープンタイプフォント、ライニング数字

Fontspec、オープンタイプフォント、ライニング数字

問題は次の通りです。fontspec を使用していますが、フォントの中には小文字フォントでのみ線画が描かれているものがあります。質問は、XeLaTeX に、数字 (セクション番号、脚注など) に関しては、他のすべてに使用する通常のフォント ファイルではなく、それらのファイルから取得するように指示するにはどうすればよいかということです。次のようなコマンドはありますか\setfigurefont?

答え1

おそらく、数字 (句読点や大文字も含む) を出力するコマンドにパッチを当てた方が良いでしょう。ただし、すべてをリストするのは面倒なので、\arabic直接次のようにした方が良いでしょう。

\newfontfamily\myLFfont[Numbers=Lining]{fontLF.otf} 
\let\arabicnumber\arabic
\def\arabic{\myLFfont\arabicnumber}

答え2

コードを含めることができるようにここに投稿します。

しますかこの質問(特に2番目の回答)まったく役に立ちますか?LaTeXの設定がある場合は、提案されたコードのようなものを使用して、それをfontspecと組み合わせることができるようです。ここ:

\documentclass{article}
\usepackage{fontspec}
\newfontfamily\unicodefont{Lucida Grande}
\usepackage{mathpazo}
\usepackage[T1]{fontenc}
\begin{document}
A legacy \TeX\ font. {\unicodefont A unicode font.}
\end{document}

ライセンスが許可している場合は、フォントを Type1 形式に変換し、LaTeX または pdfLaTeX のサポート ファイルを生成するのが最も簡単でしょう。この状況では、OpenType フォントと XeLaTeX を使用する利点がほとんどなく、そうすると事態が複雑になるだけだからです。

フォント自体を Type1 に変換できるかどうかに関係なく、次の操作を実行できます。

  1. フォントの.afmファイルを生成します。これにより、例えば次のようなものが得られます。フォント対処方法を知っています。
  2. 以下の指示に従ってくださいPhilipp Lehman のフォントインストールガイドただし、ファイルがそのように構成されているため、スモールキャップス フォントからライニング (オールドスタイルではなく) の数字を取得する仮想フォントを作成します。チュートリアル 3 では、これを行う方法について説明しますが、fontinst に慣れていない場合は、以前のチュートリアルを読む必要があります。
  3. これにより、ライニング数字を含む仮想フォントを使用するために必要なファイルを作成できるようになり、ドキュメントをタイプセットするときに適切なファミリを使用するだけで済みます。
  4. TeX 用のフォントを適切にインストールする必要がありますが、テストの場合は作業ディレクトリにすべてを置いておくだけで動作するはずです。

XeLaTeX を使用している場合は、OpenType sc フォントのライニング数字と標準の直立 OpenType フォントの通常の大文字と小文字を一緒に使用できると思います。変換が許可されている場合は、Type1 フォントを作成すると、通常の LaTeX でも使用できるため、柔軟性が向上します。

LuaTeX は仮想フォントをオンザフライで作成できることは理解しているので、その可能性も検討してみてもいいかもしれませんが、それがどのように機能するか、またはこの特定のケースでより簡単な解決策を提供できるかどうかはわかりません。

所有しているフォントの OpenType 機能にアクセスできなくなります。ただし、フォントの説明から判断すると、これによって失われるものはほとんどないと思われます。フォントは OpenType の機能を利用するように設定されているようには思えませんし、フォントにない機能はいずれにしても使用できません。(OpenType を念頭に置いて構築されている場合、異なるスタイルの数字が同じフォントに含まれ、OpenType 機能として有効になっているはずです。そうすれば作業がはるかに簡単になりますが、残念ながら、実際にはそうではありません。)

関連情報