summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-06-12 21:13:26 +0000
committerKarl Berry <karl@freefriends.org>2021-06-12 21:13:26 +0000
commitae3bb8bde6eb63119eac5deaf3f94d95b8f689dc (patch)
tree2d7f151039625216d6d00ee643584e415a3073eb /Master/texmf-dist/tex
parent2ff24d7a40f7eb3a42b54e23f5f6300d9276e557 (diff)
bangla (12jun21)
git-svn-id: svn://tug.org/texlive/trunk@59564 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/bangla/bangla.sty281
-rw-r--r--Master/texmf-dist/tex/latex/bangla/banglamap.tex81
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}{ফ়}
+}
+