TexShop を使用して XeLaTex エンジンでタイプセットすると、Unicode チェスのナイト シンボルが出力に表示されないのはなぜですか?
TexShopでは
\documentclass[12pt]{article}
\begin{document}
1. ♘ df5
\end{document}
XeLaTeX エンジンでタイプセット ボタンをクリックすると、エラー メッセージは表示されませんが、PDF ファイルにはチェスのナイトのシンボル ♘ がなく、「1. df5」のみが表示されます。私は MacTex 2022 を使用しています。
答え1
答え2
必ずしもその文字が含まれているフォントではなく、好みのフォントを使用できます。
たとえば、Menlo (macOS フォント) にはこの文字が存在します。
\documentclass{article}
\usepackage{fontspec}
\usepackage{newunicodechar}
\setmainfont{Libertinus Serif} % or whatever font you like
\newfontface{\chesspiecesfont}{Menlo}
\NewDocumentCommand{\chesspiece}{m}{{\chesspiecesfont#1}}
\newunicodechar{♔}{\chesspiece{♔}}
\newunicodechar{♕}{\chesspiece{♕}}
\newunicodechar{♖}{\chesspiece{♖}}
\newunicodechar{♗}{\chesspiece{♗}}
\newunicodechar{♘}{\chesspiece{♘}}
\newunicodechar{♙}{\chesspiece{♙}}
\newunicodechar{♚}{\chesspiece{♚}}
\newunicodechar{♛}{\chesspiece{♛}}
\newunicodechar{♜}{\chesspiece{♜}}
\newunicodechar{♝}{\chesspiece{♝}}
\newunicodechar{♞}{\chesspiece{♞}}
\newunicodechar{♟}{\chesspiece{♟}}
\begin{document}
1. ♘ df5
2. ♚ df5
♔♕♖♗♘♙♚♛♜♝♞♟
\end{document}
MenloをApple Symbolsに置き換えると、
私が間接的な処理をした理由がお分かりでしょう。ピースをベースラインの下ではなくベースライン上に移動し、フォント サイズを少し小さくしたいのです。
関連する行を次のように変更します
\newfontface{\chesspiecesfont}{Apple Symbols}[Scale=0.9]
\NewDocumentCommand{\chesspiece}{m}{\raisebox{\depth}{\chesspiecesfont#1}}
そして出力は次のようになる