summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/polyglossia/gloss-sanskrit.ldf
blob: 3f92a243edb5e79e8d2ed95a3878b1f3fbdf9fa8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
\ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for sanskrit]
\makeatletter

\ifx\l@sanskrit\@undefined%
  \ifx\l@prakrit\@undefined%
    \xpg@nopatterns{Sanskrit}%
    \adddialect\l@sanskrit0%
  \else%
    \let\l@sanskrit=\l@prakrit%
  \fi%
\fi

%%  requested from Yves Codet:
%François, would it be possible to modify "gloss-sanskrit.ldf" so as  
%to add a non-breaking space before punctuation marks, danda (U+0964)  
%and double danda (U+0965)? 

\def\sanskrit@punctuation{%
    \frenchspacing%
    \XeTeXinterchartokenstate=1%
    \XeTeXcharclass `\! 7%
    \XeTeXcharclass `\? 7%
    \XeTeXcharclass `\; 7%
    \XeTeXcharclass `\: 7%
    \XeTeXcharclass `\। 7%
    \XeTeXcharclass `\॥ 7%
    \XeTeXinterchartoks 0 7 = {\unskip\kern.1667em}%
}

\def\nosanskrit@punctuation{%
    \nonfrenchspacing%
    \XeTeXinterchartokenstate=0%
}

%\def\captionssanskrit{%
%   \def\refname{\textsanskrit{<++>}}%
%   \def\abstractname{\textsanskrit{<++>}}%
%   \def\bibname{\textsanskrit{<++>}}%
%   \def\prefacename{\textsanskrit{<++>}}%
%   \def\chaptername{\textsanskrit{<++>}}%
%   \def\appendixname{\textsanskrit{<++>}}%
%   \def\contentsname{\textsanskrit{<++>}}%
%   \def\listfigurename{\textsanskrit{<++>}}%
%   \def\listtablename{\textsanskrit{<++>}}%
%   \def\indexname{\textsanskrit{<++>}}%
%   \def\figurename{\textsanskrit{<++>}}%
%   \def\tablename{\textsanskrit{<++>}}%
%   \def\thepart{\textsanskrit{}}%
%   \def\partname{\textsanskrit{<++>}}%
%   \def\pagename{\textsanskrit{<++>}}%
%   \def\seename{\textsanskrit{<++>}}%
%   \def\alsoname{\textsanskrit{<++>}}%
%   \def\enclname{\textsanskrit{<++>}}%
%   \def\ccname{\textsanskrit{<++>}}%
%   \def\headtoname{\textsanskrit{<++>}}%
%   \def\proofname{\textsanskrit{<++>}}%
%   \def\glossaryname{\textsanskrit{<++>}}%
%   \def\today{\textsanskrit{<++>}}}

\def\sanskrit@font{%
\@ifundefined{sanskritfont}{%
      \@ifundefined{devanagarifont}{%
        \font\zf@basefont="\csname zf@family@fontdef\f@family\endcsname" at \f@size pt
        \zf@check@ot@script{deva}%
	\if@tempswa%
	  \addfontfeature{Script=Devanagari}%
	\else%
	  \PackageError{polyglossia}{^^J
	  The current font does not contain the devanagari script!^^J
	  Please define \string\devanagarifont\space or \string\sanskritfont\space with \string\newfontfamily}%
	\fi%
	\zf@check@ot@lang{SAN}%
	\if@tempswa\addfontfeature{Language=Sanskrit}\fi%
	}%
        {\devanagarifont%
         \zf@check@ot@lang{SAN}%
         \if@tempswa\addfontfeature{Language=Sanskrit}\fi%
	}
     }% 
     {\sanskritfont}%
}

\def\selectnormalfontsanskrit{%
   \let\normalfont=\sanskrit@font%
   \let\rmfamily=\sanskrit@font%
   % TODO add setup to define Sans and Mono Sanskrit fonts if desired
   \let\sffamily=\sanskrit@font%
   \let\ttfamily=\sanskrit@font%
   \def\reset@font{\normalfont}}

\def\sanskrit@language{\protect\language=\l@sanskrit}

\setlocalhyphenmins{sanskrit}{1}{5}%

\def\noextras@sanskrit{%
   \nosanskrit@punctuation%
   }

\def\blockextras@sanskrit{%
   \sanskrit@punctuation%
   }

\endinput