Recent development in rendering Devanagari script with LuaLaTeX is the Harfbuzz
renderer which renders Devanagari ligatures very nicely, but one new difficulty with LuaLaTeX is it doesn’t map Devanagari numerals. Try the following example with XeLaTeX and LuaLaTeX respectively.
xxxxxxxxxx
\documentclass[12pt]{book}
\usepackage{polyglossia}
\setdefaultlanguage{marathi}
\setmainfont[Renderer=Harfbuzz, Script=Devanagari, Mapping=devanagarinumerals]{Shobhika}
\begin{document}
\chapter{पहिलं प्रकरण}
नमस्कार हा देवनागरीत लिहिलेला मराठी मजकूर आहे. ह्यातील सर्व अक्षरे व्यवस्थित दिसत आहेत. नमस्कार हा देवनागरीत लिहिलेला मराठी मजकूर आहे. ह्यातील सर्व अक्षरे व्यवस्थित दिसत आहेत. नमस्कार हा देवनागरीत लिहिलेला मराठी मजकूर आहे. ह्यातील सर्व अक्षरे व्यवस्थित दिसत आहेत. नमस्कार हा देवनागरीत लिहिलेला मराठी मजकूर आहे. ह्यातील सर्व अक्षरे व्यवस्थित दिसत आहेत. नमस्कार हा देवनागरीत लिहिलेला मराठी मजकूर आहे. ह्यातील सर्व अक्षरे व्यवस्थित दिसत आहेत. नमस्कार हा देवनागरीत लिहिलेला मराठी मजकूर आहे. ह्यातील सर्व अक्षरे व्यवस्थित दिसत आहेत. नमस्कार हा देवनागरीत लिहिलेला मराठी मजकूर आहे. ह्यातील सर्व अक्षरे व्यवस्थित दिसत आहेत.
\end{document}
Numerals are not mapped with Devanagari if you use LuaLaTeX. A conversation on GitHub with package managers of polyglossia
suggested that this cannot be done with package fontspec
as LuaLaTeX doesn’t support mapping nor it can be solved through gloss-marathi.ldf
.
I am currently developing a package for typesetting Marathi language in LaTeX with less efforts. I want to have a better redefinition of numerals than the one provided by Mapping=devanagarinumerals
parameter with XeLaTeX. See the following example -
xxxxxxxxxx
% !TEX TS-program = xelatex
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Shobhika}
\begin{document}
1234
\end{document}
Even if I type arabic numerals in the text I don’t get them because of this global redefinition.
So what I aim for is developing a parameter for LuaLaTeX which will change all the numerals which are automatically provided by LaTeX into Devanagari numerals, but will keep the text intact. So if I type 1 I should get 1 only (and not १). I want to know what should I use for this purpose. Any ideas?