\setmainfont{Noto Sans}[Script=Latin,Renderer=HarfBuzz]
\newfontfamily\devanagarifont{Noto Sans Devanagari}[
Script=Devanagari,
Renderer=HarfBuzz,
Scale=1.3,
ItalicFont={Noto Sans Devanagari},
ItalicFeatures={FakeSlant=0.2},
BoldItalicFont={Noto Sans Devanagari},
BoldItalicFeatures={FakeSlant=0.2, Weight=Bold}
]
\setTransitionsForDevanagari{\devanagarifont}{\rmfamily}
\setTransitionsForDevanagariExtended{\devanagarifont}{\rmfamily}
\setTransitionsForDevanagariExtendedA{\devanagarifont}{\rmfamily}
\setTransitionsForVedicExtensions{\devanagarifont}{\rmfamily}
\setTransitionsFor{DevanagariDanDa}{\devanagarifont}{\rmfamily}
% Define a font that contains the arrow symbol (Noto Sans Symbols is best)
\newfontfamily\symbolfont{Noto Sans Symbols}[Renderer=HarfBuzz]
% FIX: Use newunicodechar for arrows instead of ucharclasses transitions
\usepackage{newunicodechar}
\newunicodechar{→}{{\symbolfont →}}
\newunicodechar{←}{{\symbolfont ←}}
\newunicodechar{↔}{{\symbolfont ↔}}