diff options
author | Karl Berry <karl@freefriends.org> | 2021-06-12 21:13:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-06-12 21:13:26 +0000 |
commit | ae3bb8bde6eb63119eac5deaf3f94d95b8f689dc (patch) | |
tree | 2d7f151039625216d6d00ee643584e415a3073eb /Master/texmf-dist/tex/latex/bangla | |
parent | 2ff24d7a40f7eb3a42b54e23f5f6300d9276e557 (diff) |
bangla (12jun21)
git-svn-id: svn://tug.org/texlive/trunk@59564 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/bangla')
-rw-r--r-- | Master/texmf-dist/tex/latex/bangla/bangla.sty | 281 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/bangla/banglamap.tex | 81 |
2 files changed, 362 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/bangla/bangla.sty b/Master/texmf-dist/tex/latex/bangla/bangla.sty new file mode 100644 index 00000000000..2ad61d1bce9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/bangla/bangla.sty @@ -0,0 +1,281 @@ +% Copyright at Nahid Hossain +% nahid@cse.uiu.ac.bd / mailbox.nahid@gmail.com +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesPackage{bangla}[2021/05/13] +\RequirePackage{fontspec} +\RequirePackage{etoolbox} +\RequirePackage{polyglossia} + +\setmainlanguage{english} +\setotherlanguage{bengali} +\newfontface\translitfont{Noto Serif} +\newfontface\banglaipafont{Doulos SIL} + +\makeatletter +\def\zztable#1{#1} +\def\zzrow#1#2{\expandafter\gdef\csname B-#2\endcsname{#1}} +\def\banglaipa#1{\banglaipafont\xgenerateTransliteration#1@} +\def\xgenerateTransliteration{\futurelet\tmp\xxgenerateTransliteration} +\def\xxgenerateTransliteration{% +\ifx\tmp\@sptoken\space\fi +\xxxgenerateTransliteration +} +\def\xxxgenerateTransliteration#1{% +\expandafter\ifx\csname B-#1\endcsname\relax?% +\expandafter\show\csname B-#1\endcsname +\fi +\csname B-#1\endcsname +\xgenerateTransliteration} +\expandafter\def\csname B-@\endcsname#1{} +\input{banglamap} +\makeatother + +\makeatletter +\long\def\@gobbletorelax#1\relax{} +\newcommand\bengalinum[1]{\expandafter\@bengalinum\csname c@#1\endcsname} +\newcommand\@bengalinum[1]{\expandafter\@bengalinum@\the#1\relax} +\newcommand\@bengalinum@[1] + {% + \@gobbletorelax#1\@bengalinum@end\relax + \@bengalinum@digit{#1}% + } +\newcommand\@bengalinum@digit[1] + {% + \ifcase#1 + \banglatext{০}\or % 0 + \banglatext{১}\or % 1 + \banglatext{২}\or % 2 + \banglatext{৩}\or % 3 + \banglatext{৪}\or % 4 + \banglatext{৫}\or % 5 + \banglatext{৬}\or % 6 + \banglatext{৭}\or % 7 + \banglatext{৮}\or % 8 + \banglatext{৯}\fi % 9 + \@bengalinum@ + } +\def\@bengalinum@end#1\@bengalinum@digit#2{} +\makeatother +\newcommand{\banglapage}{\renewcommand\thepage{\bengalinum{page}}} +\newcommand{\banglasection}{\renewcommand*\thesection{\bengalinum{section}} +\renewcommand*\thesubsection{\thesection.\bengalinum{subsection}}} + +\newcommand{\banglaequation}{\renewcommand\theequation{\bengalinum{equation}}} + +\newcommand{\banglatable}{\renewcommand\thetable{\bengalinum{table}}} +\newcommand{\banglafigure}{\renewcommand\thefigure{\bengalinum{figure}}} + +\makeatletter +\long\def\@gobbletorelax#1\relax{} +\newcommand\bengalialpha[1]{\expandafter\@bengalialpha\csname c@#1\endcsname} +\newcommand\@bengalialpha[1]{\expandafter\@bengalialpha@\the#1\relax} +\newcommand\@bengalialpha@[1] + {% + \@gobbletorelax#1\@bengalialpha@end\relax + \@bengalialpha@digit{#1}% + } +\newcommand\@bengalialpha@digit[1] + {% + \ifcase#1 + \banglatext{ক}\or % 0 + \banglatext{ক}\or % 0 + \banglatext{খ}\or % 1 + \banglatext{গ}\or % 2 + \banglatext{ঘ}\or % 3 + \banglatext{ঙ}\or % 4 + \banglatext{চ}\or % 5 + \banglatext{ছ}\or % 6 + \banglatext{জ}\or % 7 + \banglatext{ঝ}\or % 8 + \banglatext{ঞ}\fi % 9 + \@bengalialpha@ + } +\def\@bengalialpha@end#1\@bengalialpha@digit#2{} +\makeatother + +\newcommand{\banglaenumerate}{\renewcommand\theenumi{\bengalinum{enumi}}\renewcommand\theenumii{\bengalialpha{enumii}}} + + +%\newcommand{\banglasubsectionnum}{\renewcommand\thesection{\bengalinumeral{section}}} + + +\ExplSyntaxOn +\tl_new:N \l_mytrans_tl + +% transliteration +\NewDocumentCommand{\indictrans}{ m } +{ +\tl_set:Nn \l_mytrans_tl { #1 } +\doindictrans + { \translitfont + \tl_use:N \l_mytrans_tl + } +} + +% text (transliteration) +\NewDocumentCommand{\banglatranslit}{ m } +{ +\tl_set:Nn \l_mytrans_tl { #1 } +\doindictrans + { \translitfont + \tl_use:N \l_mytrans_tl + } +} + +% multi-line environment +\NewDocumentEnvironment{isoindictranse}{ +b } +{ +\tl_set:Nn \l_mytrans_tl { #1 } +\doindictrans +%\bengalifont + { \translitfont + \tl_use:N \l_mytrans_tl + } +} +{ } + +% the mapping +\newcommand\doindictrans{ +\tl_replace_all:Nnn \l_mytrans_tl { ড় } { r^^^^0323a } +\tl_replace_all:Nnn \l_mytrans_tl { ঢ় } { r^^^^0323ha } +\tl_replace_all:Nnn \l_mytrans_tl { য় } { y^^^^0307a } +\tl_replace_all:Nnn \l_mytrans_tl { ক় } { qa } +\tl_replace_all:Nnn \l_mytrans_tl { খ় } { k͟ha } +\tl_replace_all:Nnn \l_mytrans_tl { গ় } { g^^^^0307a } +\tl_replace_all:Nnn \l_mytrans_tl { জ় } { za } +\tl_replace_all:Nnn \l_mytrans_tl { ফ় } { fa } +\tl_replace_all:Nnn \l_mytrans_tl { অ } { a } +\tl_replace_all:Nnn \l_mytrans_tl { আ } { ā } +\tl_replace_all:Nnn \l_mytrans_tl { ই } { i } +\tl_replace_all:Nnn \l_mytrans_tl { ঈ } { ī } +\tl_replace_all:Nnn \l_mytrans_tl { উ } { u } +\tl_replace_all:Nnn \l_mytrans_tl { ঊ } { ū } +\tl_replace_all:Nnn \l_mytrans_tl { ঋ } { r̥ } +\tl_replace_all:Nnn \l_mytrans_tl { ৠ } { r̥̄ } +\tl_replace_all:Nnn \l_mytrans_tl { ঌ } { l̥ } +\tl_replace_all:Nnn \l_mytrans_tl { ৡ } { l̥̄ } +\tl_replace_all:Nnn \l_mytrans_tl { এ } { ē } +\tl_replace_all:Nnn \l_mytrans_tl { ঐ } { ai } +\tl_replace_all:Nnn \l_mytrans_tl { ও } { ō } +\tl_replace_all:Nnn \l_mytrans_tl { ঔ } { au } +\tl_replace_all:Nnn \l_mytrans_tl { ং } { ṁ } +\tl_replace_all:Nnn \l_mytrans_tl { ঁ } { m̐ } +\tl_replace_all:Nnn \l_mytrans_tl { ঃ } { ḥ } +\tl_replace_all:Nnn \l_mytrans_tl { ক } { ka } +\tl_replace_all:Nnn \l_mytrans_tl { খ } { kha } +\tl_replace_all:Nnn \l_mytrans_tl { গ } { ga } +\tl_replace_all:Nnn \l_mytrans_tl { ঘ } { gha } +\tl_replace_all:Nnn \l_mytrans_tl { ঙ } { ṅa } +\tl_replace_all:Nnn \l_mytrans_tl { চ } { ca } +\tl_replace_all:Nnn \l_mytrans_tl { ছ } { cha } +\tl_replace_all:Nnn \l_mytrans_tl { জ } { ja } +\tl_replace_all:Nnn \l_mytrans_tl { ঝ } { jha } +\tl_replace_all:Nnn \l_mytrans_tl { ঞ } { ña } +\tl_replace_all:Nnn \l_mytrans_tl { ট } { ṭa } +\tl_replace_all:Nnn \l_mytrans_tl { ঠ } { ṭha } +\tl_replace_all:Nnn \l_mytrans_tl { ড } { ḍa } +\tl_replace_all:Nnn \l_mytrans_tl { ঢ } { ḍha } +\tl_replace_all:Nnn \l_mytrans_tl { ণ } { ṇa } +\tl_replace_all:Nnn \l_mytrans_tl { ত } { ta } +\tl_replace_all:Nnn \l_mytrans_tl { থ } { tha } +\tl_replace_all:Nnn \l_mytrans_tl { দ } { da } +\tl_replace_all:Nnn \l_mytrans_tl { ধ } { dha } +\tl_replace_all:Nnn \l_mytrans_tl { ন } { na } +\tl_replace_all:Nnn \l_mytrans_tl { প } { pa } +\tl_replace_all:Nnn \l_mytrans_tl { ফ } { pha } +\tl_replace_all:Nnn \l_mytrans_tl { ব } { ba } +\tl_replace_all:Nnn \l_mytrans_tl { ভ } { bha } +\tl_replace_all:Nnn \l_mytrans_tl { ম } { ma } +\tl_replace_all:Nnn \l_mytrans_tl { য } { ya } +\tl_replace_all:Nnn \l_mytrans_tl { র } { ra } +\tl_replace_all:Nnn \l_mytrans_tl { ৰ } { ra } +\tl_replace_all:Nnn \l_mytrans_tl { ল } { la } +\tl_replace_all:Nnn \l_mytrans_tl { ৱ } { va } +\tl_replace_all:Nnn \l_mytrans_tl { শ } { śa } +\tl_replace_all:Nnn \l_mytrans_tl { ষ } { ṣa } +\tl_replace_all:Nnn \l_mytrans_tl { স } { sa } +\tl_replace_all:Nnn \l_mytrans_tl { হ } { ha } +\tl_replace_all:Nnn \l_mytrans_tl { ঽ } { ’ } +\tl_replace_all:Nnn \l_mytrans_tl { । } { . } +\tl_replace_all:Nnn \l_mytrans_tl { া } { -ā } +\tl_replace_all:Nnn \l_mytrans_tl { ি } { -i } +\tl_replace_all:Nnn \l_mytrans_tl { ী } { -ī } +\tl_replace_all:Nnn \l_mytrans_tl { ু } { -u } +\tl_replace_all:Nnn \l_mytrans_tl { ূ } { -ū } +\tl_replace_all:Nnn \l_mytrans_tl { ৃ } { -r } +\tl_replace_all:Nnn \l_mytrans_tl { ৄ } { -rr } +\tl_replace_all:Nnn \l_mytrans_tl { ে } { -e } +\tl_replace_all:Nnn \l_mytrans_tl { ৈ } { -ai } +\tl_replace_all:Nnn \l_mytrans_tl { ো } { -o } +\tl_replace_all:Nnn \l_mytrans_tl { ৌ } { -au } +\tl_replace_all:Nnn \l_mytrans_tl { ্ } { virama } +\tl_replace_all:Nnn \l_mytrans_tl { ৎ } { t } +\tl_replace_all:Nnn \l_mytrans_tl { ৗ } { - } +\tl_replace_all:Nnn \l_mytrans_tl { ০ } { 0 } +\tl_replace_all:Nnn \l_mytrans_tl { ১ } { 1 } +\tl_replace_all:Nnn \l_mytrans_tl { ২ } { 2 } +\tl_replace_all:Nnn \l_mytrans_tl { ৩ } { 3 } +\tl_replace_all:Nnn \l_mytrans_tl { ৪ } { 4 } +\tl_replace_all:Nnn \l_mytrans_tl { ৫ } { 5 } +\tl_replace_all:Nnn \l_mytrans_tl { ৬ } { 6 } +\tl_replace_all:Nnn \l_mytrans_tl { ৭ } { 7 } +\tl_replace_all:Nnn \l_mytrans_tl { ৮ } { 8 } +\tl_replace_all:Nnn \l_mytrans_tl { ৯ } { 9 } + + +% tidy-up: inherent a, etc +\regex_replace_all:nnN { a\-(ai) } { \1 } \l_mytrans_tl +\regex_replace_all:nnN { a\-(au) } { \1 } \l_mytrans_tl +\regex_replace_all:nnN { a\-([āiueoīū]{1}) } { \1 } \l_mytrans_tl +\regex_replace_all:nnN { a\-(rr) } { \1 } \l_mytrans_tl +\regex_replace_all:nnN { a\-(r) } { \1 } \l_mytrans_tl +\tl_replace_all:Nnn \l_mytrans_tl { avirama } { } +\tl_replace_all:Nnn \l_mytrans_tl { ṁ } { ng } +\regex_replace_all:nnN { \-([āiueoīū]{1}) } { \1 } \l_mytrans_tl +%... +} +\ExplSyntaxOff + +\newtoggle{langen} +\DeclareOption{shimanto}{\newcommand{\fooA}{font1}} +\DeclareOption{notosansbengali}{\newcommand{\fooA}{font2}} +\DeclareOption{notoserifbengali}{\newcommand{\fooA}{font3}} +\DeclareOption{kalpurush}{\newcommand{\fooA}{font4}} +\ProcessOptions + +\ifdefstring{\fooA}{font1}{ +\newfontface{\banglatext}{fontshimanto.ttf} +\newfontfamily{\banglabold}{fontshimanto.ttf}[FakeBold=4.0] +\newfontfamily{\banglaitalic}{fontshimanto.ttf}[FakeSlant=0.2] +} +{ + \ifdefstring{\fooA}{font2}{ + \newfontface\banglatext{Noto Sans Bengali} + \newfontfamily{\banglabold}{Noto Sans Bengali}[FakeBold=4.0] + \newfontfamily{\banglaitalic}{Noto Sans Bengali}[FakeSlant=0.2] + } + { + \ifdefstring{\fooA}{font3}{ + \newfontface\banglatext{Noto Serif Bengali} + \newfontfamily{\banglabold}{Noto Serif Bengali}[FakeBold=4.0] + \newfontfamily{\banglaitalic}{Noto Serif Bengali}[FakeSlant=0.2] + } + { + \ifdefstring{\fooA}{font4}{ + \newfontface{\banglatext}{fontkalpurush.ttf} + \newfontfamily{\banglabold}{fontkalpurush.ttf}[FakeBold=4.0] + \newfontfamily{\banglaitalic}{fontkalpurush.ttf}[FakeSlant=0.2] + } + { + \newfontface{\banglatext}{fontkalpurush.ttf} + \newfontfamily{\banglabold}{fontkalpurush.ttf}[FakeBold=4.0] + \newfontfamily{\banglaitalic}{fontkalpurush.ttf}[FakeSlant=0.2] + } + + } + } + +} + + + diff --git a/Master/texmf-dist/tex/latex/bangla/banglamap.tex b/Master/texmf-dist/tex/latex/bangla/banglamap.tex new file mode 100644 index 00000000000..3c3c1e8c952 --- /dev/null +++ b/Master/texmf-dist/tex/latex/bangla/banglamap.tex @@ -0,0 +1,81 @@ +\zztable{ +\zzrow{0}{০} +\zzrow{1}{১} +\zzrow{2}{২} +\zzrow{3}{৩} +\zzrow{4}{৪} +\zzrow{5}{৫} +\zzrow{6}{৬} +\zzrow{7}{৭} +\zzrow{8}{৮} +\zzrow{9}{৯} +\zzrow{.}{।} +\zzrow{,}{,} +\zzrow{a}{া} +\zzrow{i}{ি} +\zzrow{i}{ী} +\zzrow{u}{ু} +\zzrow{ū}{ূ} +\zzrow{r̥i}{ৃ} +\zzrow{ɔo̯}{ো} +\zzrow{ē}{ে} +\zzrow{oi̯}{ৈ} +\zzrow{ou̯}{ৌ} +\zzrow{ɔ}{অ} +\zzrow{a}{আ} +\zzrow{i}{ই} +\zzrow{i}{ঈ} +\zzrow{u}{উ} +\zzrow{u}{ঊ} +\zzrow{r̥i}{ঋ} +\zzrow{e}{এ} +\zzrow{oi̯}{ঐ} +\zzrow{o}{ও} +\zzrow{ou̯}{ঔ} +\zzrow{ŋ}{ং} +\zzrow{̃}{ঁ} +\zzrow{ḥ}{ঃ} +\zzrow{t}{ৎ} +\zzrow{k}{ক} +\zzrow{kʰ}{খ} +\zzrow{ɡ}{গ} +\zzrow{ɡʱ}{ঘ} +\zzrow{ŋ}{ঙ} +\zzrow{tʃ}{চ} +\zzrow{tʃʰ}{ছ} +\zzrow{dʒ}{জ} +\zzrow{dʒʱ}{ঝ} +\zzrow{n}{ঞ} +\zzrow{ʈ}{ট} +\zzrow{ʈʰ}{ঠ} +\zzrow{ɖ}{ড} +\zzrow{ɖʱ}{ঢ} +\zzrow{ɽ}{ড়}\zzrow{ɽ}{ড়} +\zzrow{ɽ}{ঢ়}\zzrow{ɽ}{ঢ়} +\zzrow{n}{ণ} +\zzrow{t}{ত} +\zzrow{tʰ}{থ} +\zzrow{d}{দ} +\zzrow{dʱ}{ধ} +\zzrow{n}{ন} +\zzrow{p}{প} +\zzrow{pʰ}{ফ} +\zzrow{b}{ব} +\zzrow{bʱ}{ভ} +\zzrow{m}{ম} +\zzrow{dʒ}{য} +\zzrow{ʲ}{য়}\zzrow{ʲ}{য়} +\zzrow{r}{র} +\zzrow{l}{ল} +\zzrow{ʃ}{শ} +\zzrow{ʃ}{ষ} +\zzrow{ʃ}{স} +\zzrow{ɦ}{হ} +\zzrow{’}{ঽ} +\zzrow{q}{ক়} +\zzrow{k͟h}{খ়} +\zzrow{ġ}{গ়} +\zzrow{z}{জ়} +\zzrow{f}{ফ়} +} + |