XeLaTex는 유니코드 기호를 표시하지 않습니다.

XeLaTex는 유니코드 기호를 표시하지 않습니다.

TexShop을 사용하고 XeLaTex 엔진으로 조판할 때 유니코드 체스 나이트 기호가 출력에 표시되지 않는 이유는 무엇입니까?

TexShop에는

\documentclass[12pt]{article}
\begin{document}
1.  ♘ df5 
\end{document}

XeLaTeX 엔진으로 Typeset 버튼을 클릭하면 오류 메시지가 나타나지 않지만 PDF 파일에는 체스 기사 기호 ♘가 없고 "1.df5"만 있습니다. 맥텍스 2022를 사용하고 있습니다.

답변1

xelatex 보고서

Missing character: There is no ♘ (U+2658) in font [lmroman12-regular]:mapping=t
ex-text;!

라틴 모던에는 이런 성격이 없기 때문입니다.

 albatross U+2658

캐릭터와 함께 설치한 글꼴이 나열됩니다.

여기에 이미지 설명을 입력하세요

\documentclass[12pt]{article}
\usepackage{fontspec}
\setmainfont{Segoe UI Symbol}
\begin{document}
1.  ♘ df5 
\end{document}

답변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 기호로 바꾸면 다음과 같은 이점이 있습니다.

여기에 이미지 설명을 입력하세요

그리고 당신은 내가 왜 간접지시를 했는지 이해합니다. 우리는 조각을 기준선 아래에 위치시키고 글꼴 크기를 약간 줄이는 대신 기준선에 위치하도록 이동하고 싶습니다.

관련 줄을 다음으로 변경하십시오.

\newfontface{\chesspiecesfont}{Apple Symbols}[Scale=0.9]
\NewDocumentCommand{\chesspiece}{m}{\raisebox{\depth}{\chesspiecesfont#1}}

출력은 다음과 같습니다.

여기에 이미지 설명을 입력하세요

관련 정보