すべての \fontfamily{...}\fontseries{...} の組み合わせのリストを取得するにはどうすればよいですか?

すべての \fontfamily{...}\fontseries{...} の組み合わせのリストを取得するにはどうすればよいですか?

誰かが私に提案したのですが別の質問1つか2つの\fontfamily{...}\fontseries{...}組み合わせを検討したいのですが、私はそれらのオプションにあまり興味がありません。どうすれば確認できますか?全てそのような組み合わせは私のシステムにインストール/使用可能ですか?

注記:他に良い選択肢がなければ、シェルから、あるいは TeX ディストリビューション固有のメカニズム (私は TeXLive を使用しています) を使って、LaTeX の外部でこれを実行しても構いません。

答え1

すべての可能な値ではありませんが、問題のコマンドにマウスを合わせると、最も一般的なオプションの概要が表示されますtexstudio

(これは、すべてのフォントがシステムにインストールされているかどうか、また実際にどのウェイトを持っているかをチェックするものではありません)

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

答え2

フォントの説明は通常、ファイルに保存されます.fd(ただし、必須ではありません。一部のパッケージでは、ファイル内で直接フォントを定義する場合があります.sty)。

シェルコマンド

fd '^[tT]1.*\.fd$' /usr/local/texlive/2017/texmf-dist/tex/latex | wc -l

fdは、 よりもシンプルなインターフェースを提供するスクリプトですfind) は 555 を返します。

したがって、T1 エンコーディングをサポートするフォント ファミリは 555 個あります (同様のコマンド ラインを持つ OT1 エンコーディングの場合は 502 個)。

ここでのあなたの仕事は、興味のある各ファイルを調べて.fd、フォントファミリーで提供されている形状とシリーズに関連する情報を抽出することです。例えば、T1Roboto-LF.fd

%% Generated by autoinst on 2015/09/15
%%
\ProvidesFile{T1Roboto-LF.fd}
    [2015/09/15 (autoinst)  Font definitions for T1/Roboto-LF.]

\expandafter\ifx\csname Roboto@scale\endcsname\relax
    \let\Roboto@@scale\@empty
\else
    \edef\Roboto@@scale{s*[\csname Roboto@scale\endcsname]}%
\fi

\DeclareFontFamily{T1}{Roboto-LF}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{sc}{
      <-> \Roboto@@scale Roboto-Light-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{n}{
      <-> \Roboto@@scale Roboto-Light-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{it}{
      <-> \Roboto@@scale Roboto-LightItalic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{scit}{
      <-> \Roboto@@scale Roboto-LightItalic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{scsl}{
      <-> ssub * Roboto-LF/l/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{l}{sl}{
      <-> ssub * Roboto-LF/l/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{sc}{
      <-> \Roboto@@scale Roboto-Black-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{n}{
      <-> \Roboto@@scale Roboto-Black-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{it}{
      <-> \Roboto@@scale Roboto-BlackItalic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{scit}{
      <-> \Roboto@@scale Roboto-BlackItalic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{scsl}{
      <-> ssub * Roboto-LF/k/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{k}{sl}{
      <-> ssub * Roboto-LF/k/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{sc}{
      <-> \Roboto@@scale Roboto-Bold-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{n}{
      <-> \Roboto@@scale Roboto-Bold-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{it}{
      <-> \Roboto@@scale Roboto-BoldItalic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{scit}{
      <-> \Roboto@@scale Roboto-BoldItalic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{scsl}{
      <-> ssub * Roboto-LF/b/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{b}{sl}{
      <-> ssub * Roboto-LF/b/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{sc}{
      <-> \Roboto@@scale Roboto-Medium-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{n}{
      <-> \Roboto@@scale Roboto-Medium-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{it}{
      <-> \Roboto@@scale Roboto-MediumItalic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{scit}{
      <-> \Roboto@@scale Roboto-MediumItalic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{scsl}{
      <-> ssub * Roboto-LF/mb/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{mb}{sl}{
      <-> ssub * Roboto-LF/mb/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{sc}{
      <-> \Roboto@@scale Roboto-Regular-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{n}{
      <-> \Roboto@@scale Roboto-Regular-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{it}{
      <-> \Roboto@@scale Roboto-Italic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{scit}{
      <-> \Roboto@@scale Roboto-Italic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{scsl}{
      <-> ssub * Roboto-LF/m/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{m}{sl}{
      <-> ssub * Roboto-LF/m/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{sc}{
      <-> \Roboto@@scale Roboto-Thin-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{n}{
      <-> \Roboto@@scale Roboto-Thin-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{it}{
      <-> \Roboto@@scale Roboto-ThinItalic-lf-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{scit}{
      <-> \Roboto@@scale Roboto-ThinItalic-lf-sc-t1
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{scsl}{
      <-> ssub * Roboto-LF/t/scit
}{}

\DeclareFontShape{T1}{Roboto-LF}{t}{sl}{
      <-> ssub * Roboto-LF/t/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{sl}{
      <-> ssub * Roboto-LF/b/sl
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{scsl}{
      <-> ssub * Roboto-LF/b/scsl
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{sc}{
      <-> ssub * Roboto-LF/b/sc
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{n}{
      <-> ssub * Roboto-LF/b/n
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{it}{
      <-> ssub * Roboto-LF/b/it
}{}

\DeclareFontShape{T1}{Roboto-LF}{bx}{scit}{
      <-> ssub * Roboto-LF/b/scit
}{}

\endinput

フォントはシリーズを提供すると言っている

  • l(ライト)
  • k(黒)
  • b(大胆な)
  • mb(中太字)
  • m(ミディアムまたはレギュラー)
  • t(薄い)

bxの別名として定義しますb

mおよび以外の記述子は、b基本的に任意の文字列です。LaTeX フォント ガイド ( texdoc fntguide) には、いくつかの「一般的な」値がリストされています。フォント パッケージが呼び出す値は、k別のフォント パッケージによって大きく異なる場合があります。

答え3

このウェブサイトが役に立つかもしれません。利用可能なフォントを確認するのに役立ちます。

https://tug.org/FontCatalogue/

答え4

リストはそれよりもさらに長いです。それはオープンエンドです。答えは x です。

xelatex と lualatex が tex/latex フォントだけでなくシステム フォントにもアクセスできるようになったため、リストは大幅に増加しました。

さらに遠く、

パッケージを使用しfontspecてフォントファミリーを定義し\setromanfont{Noto Serif}[、そのシリーズの1つに名前を付け仢ul、そのシリーズに無関係なフォントフェイスを割り当て、FontFace={仢ul}{n}{Font=SimSun},これを複数回実行するとします。

そして \DeclareRobustCommand{\仢ulseries}{\fontseries{仢ul}\selectfont}

そして

\DeclareTextFontCommand{\仢textul}{\仢ulseries}

そして、シリーズを次のように呼び出します

\仢textul{\sampletext} {\仢ulseries \sampletext}

ここで、\sampletextは次のように定義される。

\newcommand\sampletext{了亶他件}

そして、必要な数だけシリーズ(および図形)に対してこれを行います。

それから私は

マイシリーズ

ただし、リストはシステムの制約によって制限されます。

関連情報