% ===== Tamil script support for the Tamil edition =====
% Included AFTER preamble.tex (see build_pdf.sh). ElegantBook has no Tamil
% language option, so the class runs in `lang=en` (English theorem names,
% "Chapter"/"Contents" labels). Tamil rendering is purely a font concern:
% the body/heading Latin fonts do not cover the Tamil block (U+0B80–U+0BFF),
% and Noto Serif Tamil does not cover Latin — so we keep the book's default
% Latin/CJK/symbol fonts and route ONLY Tamil codepoints to Noto Serif Tamil.
%
% ucharclasses inserts the begin/end code at every entry/exit of a Tamil run.
% Wrapping in \begingroup…\endgroup means the exact surrounding style (bold in
% headings, monospace in code) is restored for whatever follows a Tamil run.
% Script=Tamil is REQUIRED: without it XeTeX applies default (Latin) shaping and
% the complex-script reordering (pre-base vowels ெ/ே/ை, two-part vowels ொ/ோ/ௌ,
% consonant conjuncts) is skipped, producing scrambled output.
\usepackage{ucharclasses}
\IfFontExistsTF{Noto Serif Tamil}{%
  \newfontfamily\tamilfont{Noto Serif Tamil}[Script=Tamil,Language=Tamil]%
  \setTransitionsFor{Tamil}{\begingroup\tamilfont}{\endgroup}%
}{%
  \PackageWarning{tamil-fonts}{Noto Serif Tamil not found; Tamil text will not render.}%
}
