Search code examples
latexxelatexoverleaf

Hindi fonts not loading in latex


I am running the below in overleaf latex editor with XeLaTex compiler. But the hindi text are not rendering.
Not able to find the fonts Devanagari MT.
I tried this solution but it isn't working. Any help is appreciated.


\documentclass{standalone}
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[dvipsnames]{xcolor} 
\usepackage[object=vectorian]{pgfornament}
\usepackage{polyglossia}
\usepackage[none]{hyphenat}
\setdefaultlanguage{english}
\setotherlanguage{sanskrit}
\usetikzlibrary{shapes.geometric,calc}
\definecolor{fondpaille}{cmyk}{0,0,0.1,0}
\newfontfamily\devanagarifont[Scale=MatchUppercase]{Devanagari MT}

\begin{document}
\pagecolor{fondpaille}
\color{Maroon} 
\vspace{12pt}
\begin{tikzpicture}[every node/.style={inner sep=0pt}]
\node[text width=12cm,align=center](Text){%
Text in English \\
\vspace{12pt}
\textbf{Time}: 8 PM - October 19th, 2018\\
\vspace{12pt}
\textbf{Location}: 
PQR Hotel\\
\vspace{12pt}
\begin{tikzpicture}
\node (A) at (-4,0) {};  
\draw [fill=Maroon!20]  (A) circle (2pt);
\end{tikzpicture}

\vspace{12pt}
\foreignlanguage{sanskrit}{
खुशी-खुशी उनकी शादी के शुभ उत्सव पर आपको आमंत्रित करते हैं। वे उम्मीद करते हैं कि आप उन्हें अपनी उपस्थिति से आशीर्वाद देंगे। \\}
\vspace{12pt}
\foreignlanguage{sanskrit}{शाम ८ बजे}, \foreignlanguage{sanskrit}{अक्टूबर १९, २०१८} \\
} ;
\node[shift={(-1cm,1cm)},anchor=north west](CNW)  at (Text.north west)
               {\pgfornament[width=2cm]{61}};
\node[shift={(1cm,1cm)},anchor=north east](CNE)   at (Text.north east)
               {\pgfornament[width=2cm,symmetry=v]{61}}; 
\node[shift={(-1cm,-1cm)},anchor=south west](CSW) at (Text.south west)
               {\pgfornament[width=2cm,symmetry=h]{61}}; 
\node[shift={(1cm,-1cm)},anchor=south east](CSE)  at (Text.south east)   
               {\pgfornament[width=2cm,symmetry=c]{61}};  
\pgfornamenthline{CNW}{CNE}{north}{87}
\pgfornamenthline{CSW}{CSE}{south}{87}
\pgfornamentvline{CNW}{CSW}{west}{87}
\pgfornamentvline{CNE}{CSE}{east}{87}
\end{tikzpicture}
\vspace{12pt}
\end{document}

Solution

  • Overleaf does not have all fonts, here is a list of the available Devanagari fonts: https://www.overleaf.com/learn/latex/Questions%2FWhich_OTF_or_TTF_fonts_are_supported_via_fontspec%3F#Hindi_(Devanagari_script)

    \documentclass{standalone}
    \usepackage[utf8]{inputenc} 
    \usepackage[T1]{fontenc} 
    \usepackage[dvipsnames]{xcolor} 
    \usepackage[object=vectorian]{pgfornament}
    \usepackage{polyglossia}
    \usepackage[none]{hyphenat}
    \setdefaultlanguage{english}
    \setotherlanguage{sanskrit}
    \usetikzlibrary{shapes.geometric,calc}
    \definecolor{fondpaille}{cmyk}{0,0,0.1,0}
    \newfontfamily\devanagarifont[Scale=MatchUppercase]{Lohit Devanagari}
    
    \begin{document}
    \pagecolor{fondpaille}
    \color{Maroon} 
    \vspace{12pt}
    \begin{tikzpicture}[every node/.style={inner sep=0pt}]
    \node[text width=12cm,align=center](Text){%
    Text in English \\
    \vspace{12pt}
    \textbf{Time}: 8 PM - October 19th, 2018\\
    \vspace{12pt}
    \textbf{Location}: 
    PQR Hotel\\
    \vspace{12pt}
    \begin{tikzpicture}
    \node (A) at (-4,0) {};  
    \draw [fill=Maroon!20]  (A) circle (2pt);
    \end{tikzpicture}
    
    \vspace{12pt}
    \foreignlanguage{sanskrit}{
    खुशी-खुशी उनकी शादी के शुभ उत्सव पर आपको आमंत्रित करते हैं। वे उम्मीद करते हैं कि आप उन्हें अपनी उपस्थिति से आशीर्वाद देंगे। \\}
    \vspace{12pt}
    \foreignlanguage{sanskrit}{शाम ८ बजे}, \foreignlanguage{sanskrit}{अक्टूबर १९, २०१८} \\
    } ;
    \node[shift={(-1cm,1cm)},anchor=north west](CNW)  at (Text.north west)
                   {\pgfornament[width=2cm]{61}};
    \node[shift={(1cm,1cm)},anchor=north east](CNE)   at (Text.north east)
                   {\pgfornament[width=2cm,symmetry=v]{61}}; 
    \node[shift={(-1cm,-1cm)},anchor=south west](CSW) at (Text.south west)
                   {\pgfornament[width=2cm,symmetry=h]{61}}; 
    \node[shift={(1cm,-1cm)},anchor=south east](CSE)  at (Text.south east)   
                   {\pgfornament[width=2cm,symmetry=c]{61}};  
    \pgfornamenthline{CNW}{CNE}{north}{87}
    \pgfornamenthline{CSW}{CSE}{south}{87}
    \pgfornamentvline{CNW}{CSW}{west}{87}
    \pgfornamentvline{CNE}{CSE}{east}{87}
    \end{tikzpicture}
    \vspace{12pt}
    \end{document}
    

    enter image description here