ブックマーク番号をビルマ語の番号に変更したいです(例:(1)を(၁)、(2.1)を(၂.၁)など)。fontspecを使用して、すべてのアラビア数字を対応するビルマ語の番号にマッピングし、章、節、ページ番号をビルマ語で表示します。
\addfontfeatures{Mapping=digit_mapping}
マッピングを行います。(詳細はこちらをご覧ください:ビルマ語のロケール番号/カスタム番号を使用するにはどうすればいいですか?)
ブックマークを生成する前に同様のマッピングを行うことは可能でしょうか? 私が試したことについては、以下の MWE を参照してください。
%!TeX program = XeLaTex
%!TEX encoding = UTF-8 Unicode
\documentclass[10pt]{book}
\XeTeXlinebreaklocale "my_MM" %Myanmar line and character breaks
\XeTeXinterwordspaceshaping=2 %%% PLEASE EXPERIMENT BY SETTING WITH DIFFERENT VALUES
\usepackage{fontspec}
\setmainfont{Padauk Book}
\usepackage{titletoc}
\usepackage{titlesec}
\usepackage[hyperfootnotes=false,bookmarksnumbered]{hyperref}
\usepackage{bookmark}
% I may be able to transform the numbers to Burmese here
\makeatletter
\renewcommand\Hy@numberline[1]{(#1)}
\makeatother
% I'd like to do some font mapping so that (1) to (၁), (2.1) to (၂.၁), etc.
\begin{document}
\chapter{Hello 1}
Helo
\section{world }
\chapter{Hello 2}
Helo
\section{world }
\end{document}
答え1
ビルマ数字がアラビア数字のような 10 進法であると仮定すると、これは機能します (xelatex と lualatex の両方で)。
\documentclass[10pt]{book}
\usepackage{fontspec}
\setmainfont{Padauk Book}
\usepackage{titletoc}
\usepackage{titlesec}
\usepackage[hyperfootnotes=false,bookmarksnumbered]{hyperref}
\usepackage{bookmark}
% I may be able to transform the numbers to Burmese here
\makeatletter
\renewcommand\Hy@numberline[1]{(#1)}
\ExplSyntaxOn
\renewcommand\thechapter{\codepoint_generate:nn {\the\value{chapter}+4160}{12}}
\renewcommand\thesection{\thechapter.\codepoint_generate:nn {\the\value{section}+4160}{12}}
\ExplSyntaxOff
\makeatother
% I'd like to do some font mapping so that (1) to (၁), (2.1) to (၂.၁), etc.
\begin{document}
\chapter{Hello 1}
Helo
\section{world }
\section{two}
\chapter{Hello 2}
Helo
\section{world }