Latex Beamer에서 유니코드 글꼴을 사용하는 예제를 작성하려고 합니다. 결과 PDF에는 힌디어 문자가 표시되지 않고 해당 위치에 공백이 표시됩니다. 그러나 documentclass[article]에서 동일한 코드를 사용하면 올바른 결과가 생성됩니다. 누구든지 문제가 있는 부분을 도와주실 수 있나요?
\documentclass[xetex]{beamer}
\usetheme{Warsaw}
\usepackage{verbatim}
\usepackage{verbatimbox}
\usepackage{subfigure}
\usepackage{framed,color}
\definecolor{shadecolor}{rgb}{0.93,0.91,0.91}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{polyglossia}
\usepackage{fontspec}
\usepackage{xunicode} %Unicode extras!
\usepackage{xltxtra} %Fixes
%\setmainfont{Bitstream Charter}
\setdefaultlanguage{english}
\setotherlanguage{hindi}
\newfontfamily\hindifont[Script=Devanagari]{Lohit Hindi}
\begin{document}
\begin{frame}[fragile]
\frametitle{Writing unicode text: use of \textit{.ttf} files}
\begin{shaded}
\begin{verbatim}
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\setmainfont{Lohit Hindi}
\texthindi{देवनागरी में लिखना बहुत आसान है |}
\end{document}
\end{verbatim}
\end{shaded}
This produces
\texthindi{देवनागरी में लिखना बहुत आसान है |}
\end{frame}
\end{document}
답변1
Beamer는 기본적으로 sans serif 글꼴을 사용합니다. 이는 기사 클래스에 대해 작동하는 \hindifontsf
대신 정의해야 함을 의미합니다 .\hindifont
또는 를 사용하여 비머에게 serif 글꼴을 사용하도록 지시할 수 있습니다 \usefonttheme{serif}
.
% !TeX TS-program = xelatex
\documentclass[xetex]{beamer}
\usetheme{Warsaw}
%\usefonttheme{serif}
\usepackage{polyglossia}
\usepackage{fontspec}
\setdefaultlanguage{english}
\setotherlanguage{hindi}
\newfontfamily\hindifontsf[Script=Devanagari]{Lohit Hindi}
\begin{document}
\begin{frame}
\texthindi{देवनागरी में लिखना बहुत आसान है |}
\end{frame}
\end{document}