¿Por qué no aparece mi símbolo de caballo de ajedrez Unicode en el resultado cuando uso TexShop y compongo con el motor XeLaTex?
En TexShop tengo
\documentclass[12pt]{article}
\begin{document}
1. ♘ df5
\end{document}
Cuando hago clic en el botón Typeset con el motor XeLaTeX, no aparece ningún mensaje de error, pero el archivo pdf no tiene el símbolo del caballo de ajedrez, ♘, solo tiene "1. df5". Estoy usando MacTex 2022.
Respuesta1
informes xelatex
Missing character: There is no ♘ (U+2658) in font [lmroman12-regular]:mapping=t
ex-text;!
Como el latín moderno no tiene este carácter.
albatross U+2658
enumerará las fuentes que ha instalado con el carácter
\documentclass[12pt]{article}
\usepackage{fontspec}
\setmainfont{Segoe UI Symbol}
\begin{document}
1. ♘ df5
\end{document}
Respuesta2
Puedes usar tu fuente preferida, no necesariamente una que tenga ese carácter.
El carácter está presente, por ejemplo, en Menlo (una fuente de 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}
Si reemplazas Menlo con símbolos de Apple, obtienes
y entiendes por qué hice la dirección indirecta. Nos gustaría mover las piezas para que se asienten en la línea de base, en lugar de debajo de ella y reducir un poco el tamaño de la fuente.
Cambie las líneas relevantes a
\newfontface{\chesspiecesfont}{Apple Symbols}[Scale=0.9]
\NewDocumentCommand{\chesspiece}{m}{\raisebox{\depth}{\chesspiecesfont#1}}
y la salida será