summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/velthuis/manual.tex
blob: afba7b6e55e1e03cff4bee494d43d0b93152e549 (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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
%
%    manual.tex v2.14.1
%
%    LaTeX source file for the manual for the Devanagari for TeX" package.
%    Copyright (C) 1991-2006 University of Groningen, The Netherlands
%
%    Author     : Anshuman Pandey <apandey@u.washington.edu>
%    Maintainer : Kevin Carmody <i@kevincarmody.com>
%                 Zdenek Wagner <zdenek.wagner@gmail.com>
%
%    $Id: manual.tex,v 1.10 2008-03-09 15:57:59 icebearsoft Exp $
%
%    This program is free software; you can redistribute it and/or modify
%    it under the terms of the GNU General Public License as published by
%    the Free Software Foundation.
%
%    This program is distributed in the hope that it will be useful,
%    but without any warranty; without even the implied warranty of
%    merchantability or fitness for a particular purpose. See the
%    GNU General Public License for more details.
%
\listfiles
\documentclass[10pt]{article}
\def\DevnagVersion{new}
\usepackage{ifpdf}
\usepackage{geometry,fancyhdr,multicol,mflogo,textcomp,parskip,array,color,graphicx}
\usepackage{devanagari}
\renewcommand{\rmdefault}{ptm}

\geometry{paperwidth=8.5in,
          paperheight=11in,
          top=.875in,
          bottom=1in,
          left=1.25in,
          right=1.25in,
          headheight=0pt,
          headsep=0pt,
          }

\newif\ifbug \bugtrue % bug in hyperref?
\usepackage{hyperref}

% High resolution pk fonts for pdfTeX
\ifx\pdfpkresolution\undefined \else
    \pdfpkresolution 600
\fi
% For better formating
\ifpdf
\usepackage[protrusion=false,expansion=true,stretch=8,shrink=24,step=4]{microtype}
\fi

\newcommand{\moddate}{31 December 2007}
\newcommand{\version}{2.14.1}
\renewcommand{\headrulewidth}{0pt}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\setlength{\columnseprule}{0pt}

\newcommand{\devnag}{Devan\=agar{\=\i}}
\DeclareRobustCommand\babel{\textsf{babel}}
\DeclareRobustCommand\XeTeX{X\kern-.125em\lower.5ex\hbox{\csname
               reflectbox\endcsname{E}}\kern-.1667em\TeX}
\DeclareRobustCommand\XeLaTeX{X\kern-.125em\lower.5ex\hbox{\csname
               reflectbox\endcsname{E}}\LaTeX}

\def\diatop[#1|#2]{{\leavevmode\setbox1=\hbox{{#1{}}}\setbox2=\hbox{{#2{}}}%
    \dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi%
    \dimen1=\ht2\advance\dimen1by-1ex%
    \setbox1=\hbox to1\dimen0{\hss#1\hss}%
    \rlap{\raise1\dimen1\box1}%
    \hbox to1\dimen0{\hss#2\hss}}}%

\def\underrng #1{\oalign{#1\crcr\hidewidth
     \vbox to.2ex{\hbox{\char"17}\vss}\hidewidth}}

\clubpenalty 10000
\widowpenalty 10000

\begin{document}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\thepage}

\fontsize{10}{13}\selectfont

\title{{\LARGE \bfseries \devnag{} for \TeX{}} \\ Version \version{}}
\author{Anshuman Pandey}
\date{\large \moddate{}}
\maketitle

\tableofcontents
%\newpage

\listoftables

\section{Introduction}

The \textit{\devnag{} for \TeX{}} (\textsf{devnag}) package provides a
way to typeset high-quality \devnag{} text with \TeX{}.
\devnag{} is a script used for writing and printing Sanskrit and
a number of languages in Northern and Central India such as Hindi and
Marathi, as well as Nepali. The \textsf{devnag} package was originally
developed in May 1991 by Frans Velthuis for the University of Groningen,
The Netherlands, and it was the first system to provide support for
the \devnag{} script for \TeX{}.

Several individuals have contributed to the \textsf{devnag} package
over the years. Kevin Carmody proposed a method for managing variant
glyphs. Marc Csernel revised the preprocessor to handle standard
\LaTeX{} commands. Richard Mahoney generated PostScript Type~1
versions of the \devnag{} fonts. These fonts were later (in version~2.14) replaced with optimized 
Type~1 fonts created by Karel P\'{\i}\v{s}ka. Fran\c{c}ois Patte enhanced the \LaTeX{} package by 
introducing
a feature to produce citations in \devnag{}. Zden\v{e}k Wagner greatly improved the \LaTeX{}
package by revising macro definitions and catcodes, eliminating
conflicts with other packages, and by introducing support for
section headings and captions in \devnag{}. Rob Adriaanse, Hans Bakker,
Roelf Barkhuis, and Henk van Linde provided advice and support
to Frans Velthuis when this package was being developed.

The \textsf{devnag} package is presently maintained by the following
individuals:

\begin{quote}
\begin{tabular}{ll}
% Frans Velthuis   & \verb+velthuis@rc.rug.nl+ \\
John Smith         & \verb+jds10@cam.ac.uk+ \\
Anshuman Pandey    & \verb+apandey@u.washington.edu+ \\
Dominik Wujastyk   & \verb+d.wujastyk@ucl.ac.uk+ \\
%Fran\c{c}ois Patte & \verb+patte@math-info.univ-paris5.fr+ \\
Zden\v{e}k Wagner  & \verb+zdenek.wagner@gmail.com+ \\
Kevin Carmody      & \verb+i@kevincarmody.org+
\end{tabular}
\end{quote}


\section{Project Information}

The \textit{\devnag{} for \TeX{}} package is now a project
officially housed at Sarovar. The homepage is

\begin{quote}
\texttt{http://devnag.sarovar.org/}
\end{quote}

This package is available from the project homepage at Sarovar and
from the Comprehensive \TeX{} Archive Network (CTAN). The CTAN path
for the package at the primary UK TUG site is

\begin{quote}
\texttt{ftp://ftp.tex.ac.uk/tex-archive/language/devanagari/velthuis/}
\end{quote}

Please use the tracking system at the project homepage at Sarovar to
submit feature requests, bugs, comments, and questions to the development
team.


\section{Producing \devnag{} Text with \TeX{}}

\devnag{} text may be included in any \TeX{} document. There are three steps
to producing \devnag{} text with \TeX{}. First, since \TeX{} does
not support \devnag{} natively, it is necessary to type \devnag{} using
\hbox{7-bit} (ASCII) roman characters that represent \devnag{} characters.
Secondly, transliterated \devnag{} text must be entered within
\textsf{devnag}-specific delimiters. These delimiters allow the preprocessor
to recognize the \devnag{} sections of the \TeX{} document. Third, the
transliterated input must be converted by the preprocessor into a format
that \TeX{} understands. The preprocessor scans the document for
\textsf{devnag} delimiters. Once it finds a delimiter, the program operates
on the text only within the scope of the delimiter. All other document text,
with the exception of \TeX{} macros and \textsf{devnag}-specific preprocessor
directives, is ignored.

Shown below is a \devnag{} passage followed by the 7-bit transliterated
input that produced it.

\begin{quote}
{\dn Dm\0\322w\?/\? \7{k}z\322w\?/\? smv\?tA \7{y}\7{y}(sv,.\\
mAmkA, pA\317wXvA\396w\4v Ekm\7{k}v\0t s\2jy..\par}
\end{quote}

\begin{quote}
\begin{verbatim}
{\dn dharmak.setre kuruk.setre samavetaa yuyutsava.h | \\
maamakaa.h paa.n.davaa"scaiva kimakurvata sa.mjaya ||}
\end{verbatim}
\end{quote}

\subsection{Macros and Font Definition Files}

\begin{description}
\item[\texttt{dnmacs.tex}] This file contains Plain \TeX{} macros for
\textsf{devnag} and various font-sizing commands. It must be loaded at
the beginning of the document with the command \verb+\input dnmacs+.

\item[\texttt{devanagari.sty}] This file provides \LaTeX{} support for
\textsf{devnag}. It must must be loaded in the preamble of the document
with the command \verb+\usepackage{devanagari}+. Section \ref{catcodes}
discusses advanced package options that may be declared with
\texttt{devanagari.sty}. The associated font definition files \texttt{udn*.fd}
provide NFSS support for \LaTeX{} for the \textsf{dvng} fonts.

\item[\texttt{dev.sty}] This file is kept for compatibility with old documents.
It merely loads \texttt{devanagari.sty}. Do not use it in new documents.

\item[\texttt{dev209.sty}] This file provides legacy support for the
obsolete \LaTeX{} 2.09. It should not be used. \end{description}

\subsection{Text Delimiters}

The preprocessor recognizes the text it is to act upon by use of
delimiters, of which there are two types. The basic delimiter is the
\verb+\dn+ macro. This delimiter is used by enclosing \devnag{} text
between \verb+{\dn ... }+, eg. \verb+{\dn acchaa}+.

The second delimiter is the \verb+$+ character. \devnag{} text
is enclosed between \verb+$ ... $+, eg. \verb+$acchaa$+. The
\verb+@dollars+ preprocessor directive must be specified to activate
this delimiter (section \ref{dol}).

The first delimiter is recommended especially for large blocks of
\devnag{} text. The second delimiter is useful when there is a need
to switch often between \devnag{} and roman text. Any text outside
of delimiters is not parsed by the preprocessor.

There are very few restrictions on what may be placed between the
delimiters. The 7-bit Velthuis encoding shown in Table \ref{chars}, all
punctuation marks, and all \TeX{} macro commands are acceptable input.
The preprocessor will produce a warning for unrecognized input
characters and commands.

\subsection{Example Input Files}

Two sample \devnag{} documents are bundled with this distribution.
Please refer to the contents of these files for examples of producing a
\devnag{} document. The file \texttt{misspaal.dn} contains an excerpt
from the Hindi short story \textit{Miss Pal} by Mohan Rakesh. The file
\texttt{examples.dn} contains some advanced examples of \devnag{}
typesetting. Shown below are two small examples of Plain \TeX{} and
\LaTeX{} documents with \devnag{} text.

\begin{multicols}{2}

\begin{verbatim}
  % Sample TeX input file
  \input dnmacs
  {\dn devaanaa.m priya.h}
  \bye
\end{verbatim}

\columnbreak

\begin{verbatim}
  % Sample LaTeX input file
  \documentclass{article}
  \usepackage{devanagari}
  \begin{document}
  {\dn devaanaa.m priya.h}
  \end{document}
\end{verbatim}

\end{multicols}

The filename of the \TeX{} document that contains \devnag{} should
be given a \texttt{.dn} extension. The preprocessor will produce
a filename with a \texttt{.tex} extension after processing the
input file.

\section{Input Encoding}
\label{trans}

\devnag{} text is prepared using a 7-bit (ASCII-based) transliterated
input encoding in which \devnag{} characters are represented by Roman
characters. The input encoding for \textsf{devnag} was developed by
Frans Velthuis with the objective to keep the format of the input source
text as close as possible to the accepted scholarly practices for
transliteration of \devnag{}. The Velthuis encoding is widely used and
has been adapted by other Indic language \TeX{} packages, and also
serves as the basis of other Indic transliteration schemes.

\subsection{Supplemental Notes}
Attention should be paid to the following points:
\begin{enumerate}
\item There are different ways to produce consonant conjuncts. For
example, the sequence \texttt{ktrya} can be represented as {\dn \3FCw}
and as {\dn ?\3ECwy}. The creation of conjuncts may be controlled
through the use of the preprocessor directives \verb+@sanskrit+,
\verb+@hindi+, and \verb+@modernhindi+, and more strictly through the
\verb+@lig+ directive. Please refer to Table \ref{ligs} for a list of
supported conjuncts.

\item There are two different ways to produce long vowels:
typing the short vowel twice or by capitalizing the short vowel, eg.
\texttt{aa} or \texttt{A} for {\dn aA}.

\item Aspirated consonants may be produced alternately by capitalizing
the voiceless counterpart. For example, the standard encoding for
{\dn B} is \texttt{bha}, but it may also be produced by \texttt{Ba};
{\dn G} is \texttt{gha} or \texttt{Ga}; etc.

\item For words which have two successive short vowels, a sequence of
brackets \verb+{}+ may be used to separate the vowels, eg. {\dn
\3FEw{}ug} \verb+pra{}uga+, as opposed to {\dn \3FEwOg} \verb+prauga+ .
This is required because the combinations \verb+ai+ and \verb+au+
represent the dipthongs {\dn e\?} and {\dn aO}.

\item The use of uppercase letters to indicate long vowels may be
preferred in cases where ambiguity might arise. When encoding a word
like {\dn kI}, the sequence \verb+kaii+ will produce the incorrect form
{\dn k\4i}, while \verb+kaI+ will yield the correct form {\dn kI}. A
sequence of brackets, as in the previous note, will also produce the
correct form, eg. \verb+ka{}ii+.

\item The standard ligatures {\dn\symbol{34}}, {\dn \3E2w}, and {\dn /}
are produced by \verb+k.sa+, \verb+j~na+, and \verb+tra+.

\item Candrabindu may be encoded either as a slash, as given in
Table~\ref{chars}, or by \verb+~m+.

% \item \verb+~a+ produces an `English a' Marathi style. For example,
% Hindi {\dn V\4?sF} and Marathi {\dn V\<?sF}.

\item In Hindi mode the character \verb+&+ can be put at the end of a
word to produce a \textit{vir\={a}ma} sign under the final consonant.
For example, \verb+pari.sad&+ produces {\dn pErq\qq{d}} . The underscore
character \verb+_+ also produces a \textit{vir\=ama}.

\item In many Hindi words an \verb+a+ needs to be written between
consonants to produce the correct spelling, otherwise a conjunct
consonant will be produced. The correct form of Hindi {\dn krnA} is
\verb+karanaa+, not \verb+karnaa+, which produces {\dn knA\0}.

\item Tab characters in the input file, which previously were treated as
fatal errors, are now silently converted to spaces.
\end{enumerate}

%%% Velthuis Encoding Scheme %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{table}[p]
\begin{center}
\renewcommand{\doublerulesep}{.5cm}
\renewcommand{\arraystretch}{1.40}

\raggedcolumns
\begin{multicols}{3}

{\renewcommand{\arraystretch}{1.40}
\begin{tabular}{|llll|}
\hline
\multicolumn{4}{|c|}{\textsc{vowels}} \\
\hline
\textit{a}      & \texttt{a}  & {\dn a}              & \\
\textit{\=a}    & \texttt{aa} & {\dn a\symbol{'101}} & {\dn\symbol{'101}} \\
\textit{i}      & \texttt{i}  & {\dn i}              & {\dn\symbol{'105}} \\
\textit{\={\i}} & \texttt{ii} & {\dn I}              & {\dn\symbol{'106}} \\
\textit{u}      & \texttt{u}  & {\dn u}              & {\dn\symbol{0}} \\
\textit{\=u}    & \texttt{uu} & {\dn U}              & {\dn\symbol{'1}} \\
\textit{\underrng{r}} & \texttt{.r} & {\dn\symbol{'33}} & {\dn\symbol{2}} \\
\textit{\diatop[\=|\underrng{r}]} & \texttt{.R} & {\dn\symbol{'21}} & {\dn\symbol{'16}} \\
\textit{\underrng{l}} & \texttt{.l} & {\dn\symbol{'30}} & {\dn\symbol{'37}} \\
\textit{\diatop[\=|\underrng{l}]} & \texttt{.L} & {\dn\symbol{'31}} & {\dn\symbol{'174}} \\
\textit{e}      & \texttt{e}  & {\dn e}              & {\dn\symbol{3}} \\
\textit{ai}     & \texttt{ai} & {\dn e\?}            & {\dn\symbol{'173}} \\
\textit{o}      &  \texttt{o} & {\dn ao}             & {\dn o} \\
\textit{au}     & \texttt{au} & {\dn aO}             & {\dn O} \\
\hline
\end{tabular}}
\vspace{.325in}

{\renewcommand{\arraystretch}{1.40}
\begin{tabular}{|lll|}
\hline
\multicolumn{3}{|c|}{\textsc{signs}} \\
\hline
\textit{anusv\=ara} & \texttt{.m} & {\dn\symbol{'25}} \\
\textit{candrabindu} & \texttt{/} & {\dn\symbol{'40}} \\
\textit{visarga} & \texttt{.h} & {\dn\symbol{'54}} \\
\textit{avagraha} & \texttt{.a} & {\dn\symbol{'137}} \\
\textit{vir\=ama} & \texttt{\&} & {\dn\symbol{'136}} \\
\textit{candra a} & \texttt{\char`~a} & {\dn\symbol{'4}} \\
\textit{candra o} & \texttt{\char`~o} & {\dn A\<} \\
\textit{AUM} & \texttt{.o} & {\dn\symbol{'72}} \\
\textit{da\d{n}\d{d}\=a} & \texttt{\symbol{'174}} & {\dn\symbol{'56}} \\
double \textit{da\d{n}\d{d}\=a} & \texttt{\symbol{'174}\symbol{'174}} & {\dn\symbol{'73}} \\
`eyelash' \textit{repha} & \texttt{\char`~r} & {\dn\symbol{'35}} \\
abbreviation & \texttt{@} & {\dn\symbol{'177}} \\
ellipsis & \texttt{\symbol{'43}} & {\dn\symbol{'25}} \\
period & \texttt{..} & {\dn\symbol{'24}} \\
\hline
\end{tabular}}

\columnbreak

{\renewcommand{\arraystretch}{1.40}
\begin{tabular}{|lll|}
\hline
\multicolumn{3}{|c|}{\textsc{consonants}} \\
\hline
\textit{ka} & \texttt{ka} & {\dn k} \\
\textit{kha} & \texttt{kha} & {\dn K} \\
\textit{ga} & \texttt{ga} & {\dn g} \\
\textit{gha} & \texttt{gha} & {\dn G} \\
\textit{\.na} & \texttt{"na} & {\dn R} \\
\textit{ca} & \texttt{ca} & {\dn c} \\
\textit{cha} & \texttt{cha} & {\dn C} \\
\textit{ja} & \texttt{ja} & {\dn j} \\
\textit{jha} & \texttt{jha} & {\dn J} \\
\textit{\~na} & \texttt{\char`~na} & {\dn\symbol{'32}} \\
\textit{\d{t}a} & \texttt{.ta} & {\dn V} \\
\textit{\d{t}ha} & \texttt{.tha} & {\dn W} \\
\textit{\d{d}a} & \texttt{.da} & {\dn X} \\
\textit{\d{d}ha} & \texttt{.dha} & {\dn Y} \\
\textit{\d{n}a} & \texttt{.na} & {\dn Z} \\
\textit{ta} & \texttt{ta} & {\dn t} \\
\textit{tha} & \texttt{tha} & {\dn T} \\
\textit{da} & \texttt{da} & {\dn d} \\
\textit{dha} & \texttt{tha} & {\dn D} \\
\textit{na} & \texttt{na} & {\dn n} \\
\textit{pa} & \texttt{pa} & {\dn p} \\
\textit{pha} & \texttt{pha} & {\dn P} \\
\textit{ba} & \texttt{ba} & {\dn b} \\
\textit{bha} & \texttt{bha} & {\dn B} \\
\textit{ma} & \texttt{ma} & {\dn m} \\
\textit{ya} & \texttt{ya} & {\dn y} \\
\textit{ra} & \texttt{ra} & {\dn r} \\
\textit{la} & \texttt{la} & {\dn l} \\
\textit{va} & \texttt{va} & {\dn v} \\
\textit{\'sa} & \texttt{"sa} & {\dn f} \\
\textit{\d{s}a} & \texttt{.sa} & {\dn q} \\
\textit{sa} & \texttt{sa} & {\dn s} \\
\textit{ha} & \texttt{ha} & {\dn h} \\
\hline
\end{tabular}}

\columnbreak

{\renewcommand{\arraystretch}{1.40}
\begin{tabular}{|lll|}
\hline
\multicolumn{3}{|c|}{\textsc{consonants}} \\
\hline
\textit{qa} & \texttt{qa} & {\dn\symbol{'52}} \\
\textit{\underbar{kh}a} & \texttt{.kha} & {\dn\symbol{'14}} \\
\textit{\.ga} & \texttt{.ga} & {\dn\symbol{'13}} \\
\textit{za} & \texttt{za} & {\dn\symbol{'51}} \\
\textit{\d{r}a} & \texttt{Ra} & {\dn w} \\
\textit{\d{r}ha} & \texttt{Rha} & {\dn x} \\
\textit{fa} & \texttt{fa} & {\dn\symbol{'47}} \\
\textit{\d{l}a} & \texttt{La} & {\dn\symbol{'17}} \\
\hline
\end{tabular}}
\vspace{.325in}

{\renewcommand{\arraystretch}{1.20}
\begin{tabular}{|lll|}
\hline
\multicolumn{3}{|c|}{\textsc{digits}} \\
\hline
\textit{0} & \texttt{0} & {\dn\dnnum \rn{0}} \\
\textit{1} & \texttt{1} & {\dn\dnnum \rn{1}} \\
\textit{2} & \texttt{2} & {\dn\dnnum \rn{2}} \\
\textit{3} & \texttt{3} & {\dn\dnnum \rn{3}} \\
\textit{4} & \texttt{4} & {\dn\dnnum \rn{4}} \\
\textit{5} & \texttt{5} & {\dn\dnnum \rn{5}} \\
\textit{6} & \texttt{6} & {\dn\dnnum \rn{6}} \\
\textit{7} & \texttt{7} & {\dn\dnnum \rn{7}} \\
\textit{8} & \texttt{8} & {\dn\dnnum \rn{8}} \\
\textit{9} & \texttt{9} & {\dn\dnnum \rn{9}} \\
\hline
\end{tabular}}

\end{multicols}

\caption{The Velthuis Encoding Scheme}
\label{chars}
\end{center}
\end{table}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{The Preprocessor}
The ANSI C program \texttt{devnag.c} is a preprocessor that
reads transliterated \devnag{} input delimited by \verb+\dn+ and
converts it into a form with which \TeX{} is familiar.
To use the preprocessor, \texttt{devnag.c} must be compiled into
an executable.

The preprocessor
handles the details of character placement such as the alignment of
vowel diacritics and consonant ligatures. The rest of the layout,
however, must be managed by the user. The preprocessor is invoked
as

\begin{center}
\texttt{devnag} \textit{in}[\texttt{.dn}] (\textit{out}[\texttt{.tex}])
\end{center}

The default file extension for an input file is \verb+.dn+ and for an output
file \verb+.tex+. The output filename is optional. If an output filename is
not specified, the preprocessor will name it after the input file.

For example, typing \texttt{devnag hindi} will instruct the preprocessor
to read from the file \texttt{hindi.dn} and write to the file
\texttt{hindi.tex}. The program will prompt for the names of the
input and output files if they are not given in the command-line.

% If the input file has a name such as \texttt{x.y.dn}, the
% output file name will be \texttt{x.y.tex}. Addition, files must have
% the suffixes \texttt{.dn} and \texttt{.tex}, though as before these are
% supplied by the program if omitted by the user. This change has been
% made for safety reasons: formerly, typing \texttt{devnag myfile.tex}
% would delete the contents of \texttt{myfile.tex}.

The preprocessor tries to be safe yet flexible. The extensions are not forced but the input and 
output file names must be distinct. The exact algorithm (since version~2.14) is:

\begin{enumerate}
\item If the source filename does not have the default extension, it is
    appended. If such a file does not exist, the preprocessor tries
    again with the original file name.

\item If the destination filename was given, its extension is checked.
    It is explicitly forbidden for the destination file to have the
    \texttt{.dn} extension. If the filename is equal
    to the name of the source file, \texttt{.tex} is appended,
    otherwise the file name is used as is.

\item If the destination filename was not given, it is based upon the
    source filename. If the source filename contains the
    \texttt{.dn} extension, it is stripped of. Afterwards the
    \texttt{.tex} extension is appended.
\end{enumerate}

The algorithm was designed to prevent typing errors but it is far
from foolproof. The filesystem properties are not examined and all
filename tests are case insensitive. The file names are not expanded.
For instance, if the working directory is \verb"/some/path", then \verb"x.y",
\verb"./x.y", \verb"../path/x.y" as well as \verb"/some/path/x.y" refer to the same
file but they will be treated as different by the preprocessor.
Moreover, the algorithm does not try to follow symlinks neither does it
examine inodes in order to discover hard links.

If \texttt{devnag} is invoked with the \texttt{-v} option, it will
display the version number and then exit.

\subsection{Preprocessor Directives}
\label{directives}
The preprocessor creates a \TeX{} file from the input file by acting on
two different parts of the input: directives and transliterated input.
As it creates a \TeX{} file from the input file, the preprocessor can be
told to modify the way in which it operates by means of special commands
called directives. Directives are optional commands to the preprocessor
that instruct it to process the input text in a given manner, such as
permitting hyphenation, suppressing the use of certain ligatures, etc.
Directives do not affect typesetting or layout.

Directives must occupy a line by themselves and always begin with the
character \verb+@+. Directives may occur anywhere in the document,
but not within \devnag{} delimiters (where \verb+@+ is the
continuation symbol {\dn \char`\^^?}). Directives specific to a
particular passage of text should appear immediately before that passage;
directives applying to the entire file should appear just before the first
line of actual text to be typeset.

Since \verb+@+ is a perfectly legal character in \TeX{}, lines beginning
with \verb+@+ that do not match any valid \verb+@+ command are flagged
with a warning, but processing of the file continues. (In the somewhat
unlikely event that there is actually a need to have a line of \TeX{} text
consisting exactly of, for example, \verb+@hindi+, the preprocessor may
be fooled by typing \verb+{}@hindi+ or \verb+{@hindi}+.

New ``negative'' commands have
been added to reverse the effect of most existing commands: thus it is
now possible to enable or disable specific features for specific
passages of text, eg. \verb+@hindi+ may be disabled with
\verb+@sanskrit+.

In previous releases of \textsf{devnag}, the preprocessor would split
long lines in its output. The \verb+@obeylines+ command was provided
to disable this feature. The line-splitting feature has been disabled,
so that the preprocessor now outputs lines as they appear in the input
file. The \verb+@obeylines+ directive is no longer recognized by the
preprocessor as a valid directive and will be ignored; it will therefore
be typeset as a part of the text of the document.

\begin{description}
\item[\texttt{@sanskrit}]
The \verb+@sanskrit+ directive is the default mode for the preprocessor.
This command may also be used to reinstate the default behavior of the
preprocessor after the use of \verb+@hindi+ and \verb+@modernhindi+.
See Table \ref{ligs} for a list of conjuncts and the forms produced in
\texttt{@sanskrit} mode.

\item[\texttt{@hindi}]
The \verb+@hindi+ directive switches the preprocessor to Hindi mode. The
difference between the Sanskrit and Hindi modes is that in Sanskrit mode
the full forms of conjuncts are used, whereas in Hindi mode certain
simplified forms are used instead, eg. {\dn Qc} in place of {\dn \3CEw}.
See Table \ref{ligs} for a list of conjuncts and the forms produced by
\texttt{@hindi}. Additionally, in Sanskrit mode a \textit{vir\=ama} is
automatically added at the end of a word if it ends in a consonant,
while in Hindi mode the preprocessor assumes the presence of the
inherent vowel \textit{a}. The directive \verb+@hindi+, if used, must
precede the \verb+@lig+ and \verb+@nolig+ commands. See Table \ref{ligs}
for a list of conjuncts and the forms produced in \texttt{@hindi} mode.

\item[\texttt{@modernhindi}]
This directive switches the preprocessor to Hindi mode, similar to
\verb+@hindi+, but uses far fewer Sanskrit-style ligatures. Conjuncts are
created from half-consonant forms wherever possible. See Table \ref{ligs}
for a list of conjuncts and the forms produced in \texttt{@modernhindi}
mode.

\item[\texttt{@dollars} / \texttt{@nodollars}]
\label{dol}
In addition to the \verb+{\dn+ ... \verb+}+ delimiters, \devnag{} text
can also be delimited by dollar signs, eg. \verb+$acchaa$+. The directive
\verb+@dollars+ instructs the preprocessor to switch to dollar mode and to
recognize \verb+$+ as a delimiter. In dollar mode, the dollar sign cannot
be used for other purposes, such as printing a dollar sign or switching to
math mode. Dollar signs may be printed by through low-level font commands,
eg. \verb+\char36+ in Plain \TeX{} or \verb+\symbol{36}+ in \LaTeX{}.
Switching to math mode when \texttt{@dollars} is active is accomplished
by using \verb+\(+ and \verb+\)+ as math delimiters.

\item[\texttt{@dolmode0} / \texttt{@dolmode1} / \texttt{@dolmode2} / \texttt{dolmode3}]
\label{advtop}

When \texttt{@dollars} is active, the behavior of the preprocessor
can be modified further through the \verb+@dolmode0+, \verb+@dolmode1+,
\verb+@dolmode2+, and \verb+@dolmode3+ directives.

\begin{quote}
\begin{tabular}{llll}
\verb+@dolmode0+ & \verb+$acchaa$+  & $\rightarrow$  & \verb+$acchaa$+ \\
\verb+@dolmode1+ & \verb+$acchaa$+  & $\rightarrow$  & \verb+\dn aQCA+ \\
\verb+@dolmode2+ & \verb+$acchaa$+  & $\rightarrow$  & \verb+\pdn aQCA+ \\
\verb+@dolmode3+ & \verb+$acchaa$+  & $\rightarrow$  & \verb+aQCA+
\end{tabular}
\end{quote}

Alternately, \verb+@dolmode3+ can be mimicked using the macro
\verb+\dn#+, \verb+{\dn# acchaa}+ $\rightarrow$ \texttt{aQCA}. Also, the
Plain \TeX{} macro \verb+\pdn+ changes the current font into \devnag{}
in the current size. \LaTeX{} automatically adjusts the font sizing for
\devnag{} to the document font size.

\item[\texttt{@lig} / \texttt{@nolig}]
\label{ligcom}
Certain conjuncts may be enabled or disabled by using the directives
\verb+@lig+ and \verb+@nolig+. The former enables conjuncts while
the latter disables them. Supported conjuncts are assigned codes
and are showned in Table \ref{ligs}. For example, the command
\verb+@nolig 2+ produces {\dn ?t} instead of {\dn \3C4w} from
the input \verb+kta+.

More than one conjunct may be specified with a \verb+@lig+ or
\verb+@nolig+ command, eg. \verb+@lig 20 43 90+. There is no limit to
the number of \verb+@lig+ or \verb+@nolig+ directives issued within a
document. However, when a certain conjunct is disabled, all other
conjunct combinations involving the disabled conjunct are also disabled.
For example, if conjunct 3 {\dn\symbol{'307}} (\verb+kna+) is disabled
then conjunct 10 {\dn\symbol{'346}} (\verb+knya+) will also be disabled.

Some basic \devnag{} conjuncts like {\dn\symbol{34}}, {\dn \3E2w} and
{\dn /} cannot be disabled and are not shown in Table \ref{ligs}. Also,
most two element ligatures involving \textit{ra}, eg. {\dn\symbol{135}},
{\dn g\5}, and {\dn \3FEw} cannot be disabled.

\item[\texttt{@hyphen} / \texttt{@nohyphen}]
These directives control hyphenation of \devnag{} text. They
provide the ability to enclose a section of particularly dense text
between \verb+@hyphen+ and \verb+@nohyphen+ without affecting other
parts of text in the document. To type a hyphen
in a \devnag{} document simply type \texttt{-}. For example, typing
\verb+{\dn dive-dive}+ will produce {\dn Edv\?{\rs -\re}Edv\?}. Please
refer to section \ref{hyphenation} for more information.

\item[\texttt{@tabs} / \texttt{@notabs}]
The \verb+@tabs+ directive instructs the preprocessor to recognize
the \verb+&+ character as a \TeX{} tabular character, not as a method
of encoding \textit{vir\=ama}. The command \verb+@notabs+ resets
this feature. If \verb+&+ appears word medially, eg.
\verb+.sa.t&"siraa.h+, it will be processed as a \textit{vir\=ama} even
if \verb+@tabs+ is specified. This avoids possible incompatibility
issues with legacy documents. The \verb+_+ character now doubles as a
way of producing \textit{vir\=ama}, particularly if \verb+@tabs+ is
used, eg. \verb+pari.sad_+

\item[\texttt{@vconjuncts} / \texttt{@novconjuncts}]
A change has been introduced in the way text like \verb+{\dn .sa.t"siraa.h}+
is processed; specifically, instances where an \textit{i} vowel is associated
with a consonant sequence containing a \textit{vir\=ama}. The previous
behavior was to treat the consonant sequence as if it were a normal conjunct
by placing the vowel diacritic before the sequence as a whole, eg.
{\dn qE\qq{V}frA,}. The majority opinion seems to be that this is undesirable,
and that the vowel symbol should follow the consonant to which the
\textit{vir\=ama} is attached, eg. {\dn q\qq{V}EfrA,}. This is now the
default behavior of the preprocessor, but the \verb+@vconjuncts+
directive has been implemented to reinstate the previous output method.
The command \verb+@novconjuncts+ resets this feature.
\end{description}

\subsection{Protecting Text from Conversion}\label{protecting}
The preprocessor will convert all text found in a \devnag{} environment.
Text may be protected from the preprocessor using the \verb+<+ and \verb+>+
delimiters. In the example below, the font command between the angle brackets
will be ignored by the preprocessor, but will be removed from the
output file.

For example, with \verb+{\dn dharmak.setre <\font\zzz=dvng10 at 18pt> kuruk.setre}+
the preprocessor will operate on \texttt{dharmak.setre} and \texttt{kuruk.setre},
but will ignore \verb+\font\zzz=dvng10 at 18pt+ because it occurs within the
\verb+<+ and \verb+>+ delimiters.

\subsection{Embedding Roman Text within \devnag{} Text}

The font commands \verb+\rsize+ (Plain \TeX{}) and \verb+\NormalFont+ 
(\LaTeX{}) put Roman text within \devnag{} Text.  This is useful in 
conjuction with the text protection delimiters \verb+<+ and \verb+>+. 
Examples:

\begin{quote}
Plain \TeX{}: \verb+{\dn naama {\rsize <John>}}+

\LaTeX{}: \verb+{\dn naama {\NormalFont <John>}}+
\end{quote}

By default, Roman text using \verb+\rsize+ and \verb+\NormalFont+ is printed 
in a Computer Modern font whose size matches the current \devnag{} font. 
Non-\devnag{} punctuation marks, such as comma, question mark, and 
exclamation mark, and Arabic numerals are automatically printed in this font. 
To change this font, redefine the \verb+\rsize+ or \verb+\NormalFont+ 
command.

\subsection{Breaking Pre-Defined Conjuncts}
The preprocessor will automatically produce predefined ligatures
from certain sequences of consonants. Placing the \texttt{+} character
between two consonants prevents any predefined ligature representing
those consonants from being produced. Instead a conjunct will be
created from half-forms, or, if half-forms do not exist, full forms
stopped with \textit{vir\=ama} will be used.

For example, the sequence \texttt{kha} will produce {\dn K}. Using
\texttt{+} to break the sequence -- \texttt{k+ha} -- will create {\dn ?h}.

The use of \texttt{+} is similar to the use of \verb+{}+.
For example, write \verb+t{}ha+ to produce {\dn \qq{t}{}h}, if
desired instead of \verb+tha+ {\dn T}.

The \texttt{+} character can be used independently of the \verb+@lig+/\verb+@nolig+
directives, and it can disable any conjunct. Note that the \texttt{+} character
only disables single occurrences of a conjunct. To disable all occurrence
of a conjunct use the \verb+@lig+ directive.

\subsection{Supported \LaTeX{} Commands}
The preprocessor recognizes some \LaTeX{} macros with arguments. The
following command types are legal within delimiters.

\begin{itemize}
\item Font commands: Standard \TeX{} size-changing commands,
eg. \verb+\small+, \verb+\large+, \verb+\huge+.

\item Environments, including the three table environments:
\verb+tabular+, \verb+supertabular+, and \verb+longtable+. Note: To use
table environments within delimited text, the \verb+@tabs+ directive
must be specified in order to enable the use of the ampersand as a tab
marker instead of a marker for \textit{vir\=ama}. Refer to Section
\ref{directives} for more details on preprocessor directives.

\item Spaces: \verb+\hspace+, \verb+\hspace*+, \verb+\vspace+,
\verb+\vspace*+, \verb+\addvspace+, \verb+\setlength+, \verb+\addtolength+,
\verb+\enlargethispage+, \verb+\enlargethispage*+,  and
\verb+\\[+\textit{n}\verb+]+. Plain \TeX{} commands may also be used
when placed between brackets: \verb+{\hskip }+, \verb+{\vskip }+,
\verb+{\vadjust }+, and \verb+{\kern }+.

\item Counters: \verb+\setcounter+, \verb+\stepcounter+,
\verb+\addtocounter+, and \verb+\refstepcounter+. Page numbering in
\devnag{} is also available through the \verb+dev+ counter.

\item Boxes and rules: \verb+\parbox+, \verb+\makebox+,
\verb+\framebox+, \verb+raisebox+, and \verb+\rule+.

\item References: \verb+\label+, \verb+\ref+, \verb+\pageref+,
\verb+\index+, \verb+\cite+, and \verb+\bibitem+. If the argument of the
\verb+\index+ command is in \devnag{}, it will appear in \devnag{}
in the index file.

\item File commands: \verb+\input+ and \verb+\include+.

\item Roman text may also be embedded within \devnag{} delimited text as
long as the Roman does not exceed the length of one line. Use
\verb+{\rm ... }+ to produce embedded Roman text.
\end{itemize}

\subsection{Using Custom \LaTeX\ Commands}
\LaTeX\ users take advantage of numerous commands from various packages. All packages will never be
supported directly but solution is easy. As a matter of fact, all control sequences without 
arguments or taking \devnag\ text as argument can be used without problem. Suppose the you want to 
colorize text {\dn \textcolor{red}{: t(s\qq{t}}} using the \verb;\textcolor; command from the 
\textsc{color} package. The bare word \textit{red} must not be converted. Conversion can be 
suppressed by mechanism described in section~\ref{protecting}. One can write e.\,g.:

\begin{verbatim}
{\dn \textcolor<{red}>{.o tatsat}}
\end{verbatim}

It is, however, preferable to separate meaning and form. If a macro, e.\,g.\@ \verb;\myemph; is 
defined, it is possible to decide later how the text will be emphasized. The text will then be 
entered as follows:

\begin{verbatim}
\def\myemph#{\textcolor{red}}
{\dn \myemph{.o tatsat}}
\end{verbatim}

Using such an approach one does not need any escaping mechanism at all.

\section{\devnag{} Fonts}

The \textsf{devnag} package provides three font families in addition to
the Standard family: Bombay, Calcutta, and Nepali. All families are
available in regular, oblique, bold, bold oblique, and pen shapes
and weights. The Bombay, Calcutta, and Nepali families provide
variant glyphs which are predominant regional forms for certain
characters, as shown in Table \ref{diffs}.

\begin{itemize}
\item \verb+\dnbombay+ switches to the Bombay family
\item \verb+\dncalcutta+ switches to the Calcutta family
\item \verb+\dnnepali+ switches to the Nepali family
\item \verb+\dnoriginal+ switches back to the default regular family
\item \verb+\dnpen+ switches to the Pen family
\item \verb+\dnpenbombay+ switches to the Bombay Pen family
\item \verb+\dnpencalcutta+ switches to the Calcutta Pen family
\item \verb+\dnpennepali+ switches to the Nepali Pen family
\end{itemize}

The oblique, bold, and bold oblique shapes and weights are produced
using standard \LaTeX{} macros. Oblique is obtained with either of the
\verb+\textit{}+ or \verb+\itshape+ font-changing commands. Bold is
obtained with either \verb+\textbf{}+ or \verb+\bfseries+. Bold oblique
requires a combination of the bold and oblique commands, such as
\verb+\bfseries\itshape+.

To use bold, oblique, and bold oblique varieties in Plain \TeX{}, use the macros
\verb+\dnbf+ and \verb+\dnit+. The regional families are accessed using the
macro commands described above. See \texttt{dnmacs.tex} for further information.

Font size may be controlled in \LaTeX{} with the standard font sizing
commands. In Plain \TeX{}, font size may be controlled with the following
macros: \verb+\dnsmall+, \verb+\dnnine+, \verb+\dnnormal+,
\verb+\dnhalf+, \verb+\dnbig+, \verb+\dnlarge+, and \verb+\dnhuge+. See
\texttt{dnmacs.tex} for further information.

\subsection{Bombay-Style Fonts}

The family name for the Bombay \devnag{} fonts is \textsf{dnb}. To
access this family, use the command \verb+\dnbombay+ after the
\verb+\dn+ macro. Standard \LaTeX{} font commands like
\verb+\fontfamily{dnb}+ and \verb+\usefont{U}{dnb}{}{}+ may be used to
access the Bombay fonts, however, these commands conflict with the
preprocessor. Access to the Bombay family within \devnag{}
environments should be restricted to the \verb+\dnbombay+ macro.
Use the command \verb+\dnoriginal+ to return to the standard \devnag{}
font.

\subsection{Calcutta-Style Fonts}

The family name for the Calcutta \devnag{} fonts is \textsf{dnc}. In roder to
access this family, use the command \verb+\dncalcutta+ after the
\verb+\dn+ macro. Standard \LaTeX{} font commands like
\verb+\fontfamily{dnc}+ and \verb+\usefont{U}{dnb}{}{}+ may be used to
access the Calcutta fonts, however, these commands conflict with the
preprocessor. Access to the Calcutta family within \devnag{}
environments should be restricted to the \verb+\dncalcutta+ macro.
Use the command \verb+\dnoriginal+ to return to the standard \devnag{}
font.

\subsection{Nepali-Style Fonts}

The family name for the Nepali \devnag{} fonts is \textsf{dnn}. To
access this family, use the command \verb+\dnnepali+ after the
\verb+\dn+ macro. Standard \LaTeX{} font commands like
\verb+\fontfamily{dnn}+ and \verb+\usefont{U}{dnn}{}{}+ may be used to
access the Nepali fonts, however, these commands conflict with the
preprocessor. Access to the Nepali family within \devnag{}
environments should be restricted to the \verb+\dnnepali+ macro.
Use the command \verb+\dnoriginal+ to return to the standard \devnag{}
font.


\subsection{\devnag{} Pen Fonts}

The \devnag{} Pen family is a simple modification of the Standard
face created by Tom Ridgeway, which resembles Devanagari written
with a pen. Standard Pen fonts are available as the family \textsf{dnp} and may be
accessed within \devnag{} environments with the command \verb+\dnpen+. The
Pen family for the Bombay style are available as the family \textsf{dnpb},
and may be accessed with the command \verb+\dnpenbombay+. The Pen family for
the Calcutta style is called \textsf{dnpc} and may be accessed with the command
\verb+\dnpencalcutta+. The Pen family for the Nepali style is called \textsf{dnpn}
and may be accessed with the command \verb+\dnpennepali+. Use the command
\verb+\dnpen+ to return to the standard \devnag{} Pen font.


\subsection{Default \devnag{} Font (\LaTeX{} Only)}

The \devnag{} package provides options \verb+bombay+, \verb+calcutta+,
\verb+nepali+, \verb+pen+, \verb+penbombay+, \verb+pencalcutta+, and
\verb+pennepali+ so as to set the corresponding font as the default one. It may
seem that using \verb+\dncalcutta+ at the beginning of the document is
sufficient. However, as we will show later in this document, the \devnag{}
package may create automatically some captions as well as a running head. When
producing such texts, \LaTeX{} is set to use Roman fonts and the automatic text
switches to \devnag{} just by \verb+\dn+. You would thus see {\dn\dncalcutta
a@yAy} in the normal text but {\dn a@yAy} in automatic captions which is
undesirable. The package options inform which font style should be used as
default.

It is also possible to change the default font by defining macro
\verb+\dnfamilydefault+.

The font switching commands described in the previous subsections can be used
for local changes of the style.

\subsection{PostScript Type 1}

The package now includes Type~1 fonts created by Karel P\'{\i}\v{s}ka using an 
analytic fit. The fonts included here are a subset of his release of Indic 
Type~1 fonts that are available from CTAN:fonts/ps-type1/indic and licensed 
under GPL.

 An accurate analytic fit of outline contour curves taken from the \MP{}
output helps to avoid artifacts produced by an autotracing bitmap approach.
It allows to keep preciseness of calculations and to produce the outline
fonts faithful, optimal (to minimize their space amount) and hinted.
Therefore the results are not only more precise than fonts presented earlier
but also occupy a smaller place even if they include hinting additionally.
The distribution contains the PFB and TFM files both with accurate glyph
widths. The user UniqueID are present to distinguish fonts
during download process in PostScript printers and other RIP devices.

The AFM files have be considered as derived files not usable for TFM creation, 
because the \textsc{afm2tfm} program has a feature to round the glyph widths 
and is not able to reproduce the original metrics. Use these files only with 
tools that explicitly require AFM.

To use the Type 1 fonts with \texttt{dvips} and pdf\TeX, it is in modern
\TeX{} distributions sufficient to run
\texttt{mktexlsr} or \texttt{texhash} and then issue:

\begin{verbatim}
updmap --enable MixedMap=dvng.map
\end{verbatim}

If you do not have \texttt{updmap}, you must
edit the local \textsf{dvips} \texttt{psfonts.map}
file to contain a reference to \texttt{dvng.map}; or copy the contents
of \texttt{dvng.map} into \texttt{config.ps}.

Detailed installation instructions can be found in the README file in the root 
directory of the CVS working copy or in the \texttt{doc/generic/velthuis/} 
directory in the release package.

% \subsection{Creating Custom Font Varieties}
%
% The \MF{} source files have been organized to make it easy to produce
% custom font varieties, such as larger point sizes, fonts that contain
% some alternate letters but not others, and non-standard bold and oblique
% fonts. For further information, see the comments in \texttt{dngen.mf}.
% If you are using \LaTeX{}, you may need to modify \texttt{devanagari.sty}, and
% add or modify \texttt{.fd} files. For Plain \TeX{}, you may want to
% modify \texttt{dnmacs.tex}.

\section{Special Topics}\label{spec}

\subsection{Delimiter Scope}
The \LaTeX{} font-size commands may be used within
\devnag{} delimited text, however, as a general rule, the font-size
command should follow the \verb+\dn+ delimiter, otherwise
the font definition commands of \verb+\dn+ will be overridden. For
example, items 1, 2, and 3 below produce the correct forms, but
4 does not:

\begin{quote}
\begin{tabular}{llcl}
1. & \verb+{\dn \large acchaa}+   & $\rightarrow$ & {\dn aQCA} \\
2. & \verb+{\dn {\large acchaa}}+ & $\rightarrow$ & {\dn aQCA} \\
3. & \verb+{\large {\dn acchaa}}+ & $\rightarrow$ & {\dn aQCA} \\
4. & \verb+{\large \dn acchaa}+   & $\rightarrow$ & {\dn acchaa} \\
\end{tabular}
\end{quote}

\subsection{Line Spacing}
Due to the super- and subscript characters of the \devnag{} script, the
default line spacing (leading) often needs to be increased to prevent
the crowding of lines. The parameter \verb+\baselineskip+
(\verb+\linespread+ for \LaTeX{}) controls the line spacing.

\TeX{} determines and adjusts the value of \verb+\baselineskip+ after it
finishes processing a paragraph. If a paragraph contains a mixture of
\devnag{} and Roman text, and ends with Roman text, then \TeX{} will set
the value of \verb+\baselineskip+ according to the Roman text. This may
result in crowding of \devnag{} text.

There are, however, solutions to this. An explicit value can be assigned
to \verb+\baselineskip+ before the paragraph ends. The macro file
\texttt{dnmacs.tex} shows examples of the value of \verb+\baselineskip+
at different font sizes. Default line spacing is also set in
\texttt{devanagari.sty}. Alternately, `dummy' \textsf{devnag} text containing
\verb+\par+ can be placed at the end of the paragraph, eg.
\verb+{\dn \par}+.

Even when a paragraph has only \textsf{devnag} text, the paragraph-end
command must be included within \textsf{devnag} text, meaning that the
closing delimiter, which ends the \textsf{devnag} text, must follow
the empty line or the \verb+\par+ command that forces the paragraph to
end.

\subsection{Hyphenation}
\label{hyphenation}

The \texttt{devnag} package does more or less all that needs to be done
from the point of view of hyphenating Sanskrit in \devnag{} through the
\texttt{@hyphen} and \texttt{@nohyphen} directives, which are discussed in
section \ref{directives}. If hyphenation is off, then there are no hyphens,
and very stretchy inter-word space. This is acceptable for ragged-right
settings or for text in verse form, but may produce poor results
in right-justified prose text, especially if the given passage contains
long compound words. If hyphenation is on then discretionary hyphens are
set between all syllables.

\subsection{Captions and Date Formats (\LaTeX{} only)}
The language modules of the \textsf{babel} package change captions texts and
date formats. Although \textsf{devanagari.sty} is not a \textsf{babel} module, similar
mechanism is implemented here. Macros \verb=\datehindi= and
\verb=\datemodernhindi= enable Europian style Hindi date generated by the
standard \verb=\today= command. The ``traditional'' and ``modern'' variants
comtain the same names of the months, they differ only in the ligatures used.
You should therefore use \verb=\datemodernhindi= in documents processed with
\verb=@modernhindi=. The names of the months used in the definition of
\verb=\datemodernhindi= are summarized in Table~\ref{months}.

\begin{table}[bth]
\centering
\extrarowheight 2pt
\begin{tabular}{|rl|rl|}\hline
1 & {\dn jnvrF} & 7 & {\dn \7{j}lAI}\\
2 & {\dn \327wrvrF} & 8 & {\dn ag-t}\\
3 & {\dn mAc\0} & 9 & {\dn EstMbr}\\
4 & {\dn a\3FEw\4l} & 10 & {\dn a?\8{t}br}\\
5 & {\dn mI} & 11 & {\dn nvMbr}\\
6 & {\dn \8{j}n} & 12 & {\dn EdsMbr}\\\hline
\end{tabular}

\caption{Names of the months in the definition of
\texttt{\char92 datemodernhindi}}\label{months}
\end{table}

If you use \verb=\datehindi= or \verb=\datemodernhindi=, you can also use the 
macros \verb+\hindidatearabic+ and \verb+\hindidatedevanagari+ to control 
whether the day number in \verb+\today+ is printed in Arabic or \devnag{}, 
respectively. The \verb+\hindidatedevanagari+ mode is the default. The macros 
\verb+\cmnum+ and \verb+\dnnum+ have no effect in this case.

The captions are similarly switched to Hindi by \verb=\captionshindi= or
\verb=\captionsmodernhindi=, respectively. Again the texts differ only in the
ligatures used. The captions for the modern Hindi variant are given in
Table~\ref{captions}.

\begin{table}[bt]
\centering
\extrarowheight 2pt
\begin{tabular}{|>{\tt\char92 }l|l|}\hline
\multicolumn{1}{|l|}{\bfseries Macro} & \bfseries Caption \\\hline
abstractname & {\dn sArA\2f}\\
appendixname & {\dn pErEf\309wV}\\
bibname & {\dn s\2df\0 g\5\306wT}\\
ccname & \\
chaptername & {\dn a@yAy}\\
contentsname & {\dn Evqy{\rs -\re}\8{s}cF}\\
enclname & {\dn }\\
figurename & {\dn Ec/}\\
headpagename & {\dn \9{p}\309wW}\\
headtoname & \\
indexname & {\dn \8{s}cF}\\
listfigurename & {\dn Ec/o{\qva} kF \8{s}cF}\\
listtablename & {\dn tAElkAao\2 kF \8{s}cF}\\
pagename & {\dn \9{p}\309wW}\\
partname & {\dn K\317wX}\\
prefacename & {\dn \3FEw-tAvnA}\\
refname & {\dn hvAl\?}\\
tablename & {\dn tAElkA}\\
seename & {\dn d\?EKe}\\
alsoname & {\dn aOr d\?EKe}\\
alsoseename & {\dn aOr d\?EKe}\\\hline
\end{tabular}

\caption{Modern Hindi captions}\label{captions}
\end{table}

The macros for the \textsc{letter} class are left intentionally empty. The idea
of the \textsf{babel} package is to prepare a universal template for business
letters using a set of macros. The header of the letter would make use of the
\verb=\headtoname= macro which will produce ``To: Mr.\@ Kumar'' in English
letters and ``Komu: pan Kumar'' in Czech letters. If we simply defined
\verb=\headtoname= to {\dn ko}, the universal template would put it before the
name which would be wrong. Hindi requires different word order, namely {\dn
\399wF \7{k}mAr ko}. The universal templates are thus useless in Hindi and the
letter template must be redesigned almost from scratch. It therefore makes no
sense to define the letter macros.

Two package options are provided: \verb=hindi= and \verb=modernhindi=. If used,
they cause the \verb=\dn= command to switch the caption text and date format as
well. The date format and captions may be switched back by macros
\verb=\dateenglish=, \verb=\dateUSenglish=, and \verb=\captionsenglish=.

\subsection{Customizing the date and captions (\LaTeX{} only)}\label{customizing}
The user might prefer different caption texts. If just a few texts are to be
changed, they can simply be redefined in the main document, for instace by:

\begin{verbatim}
\def\indexname{{\dn anukrama.nikaa}}
\end{verbatim}

This redefinition must appear \textbf{after} \verb=\captionshindi= or
\verb=\captionsmodernhindi= was invoked.

It is also possible to change all definitions. The source texts in the Velthuis
transliteration can be found in the \texttt{documentation} directory
(\verb=$TEXMF/doc/generic/velthuis=) in file
\texttt{captions.dn} with some suggested variants in comments. You can either
put modified definitions to your main document (after \textsf{devanagari.sty}) or to a
package of your own. Remember that the preprocessor will not see your package,
you must preprocess it separately. Your package must either reside in the same
directory as your document or in some directory which is searched by \LaTeX. In
the latter case you will have to rebuild the database by running
\textsf{mktexlsr} or \textsf{texhash} in many \TeX{} distributions.

Do not put your packages to standard distribution directories. You may lose
them when upgrading your \TeX{} distribution.

Customization of the captions texts is easier in the \babel\ module. The module is described in
section~\ref{babel}.

\ifbug \else
\renewcommand\thepage{\devanagari{page}}
\fi

\subsection{Using \texorpdfstring{{\dn d\?vnAgrF}}{Devanagari} in Sections and References (\LaTeX{} only)}
All macros necessary for typesetting \devnag{} text are robust. The
section/chapter titles as well as figure and table captions can contain
\devnag{} words. However, the font is changed to the standard document
font before the title is typeset. It is therefore mandatory to use
\verb+\dn+ even if the section title appears inside the \verb+\dn+
environment. Thus, \verb+\chapter{{\dn mis paal}}+ will be printed
correctly while \verb+{\dn\chapter{mis paal}}+ will always
create garbage text. Section numbers as well as page numbers will be
printed in Roman numerals.

\subsection{\devnag{} and Arabic Numerals} 
Except when they are represented by commands, numerals are printed as Arabic 
numerals by default. The command \verb+\dnnum+ switches to \devnag{} 
numerals. The command \verb+\cmnum+ switches back to Arabic numerals. 

Numerals represented by commands are printed as \devnag{} numerals by 
default. If you want to use \verb+\cmnum+ or \verb+\dnnum+ to control whether 
numerals within commands are printed as Arabic or \devnag{}, use the command 
\verb+\rn+ around the numeral command. If the command contains a mix of 
letters and numerals, you may need to redefine the command with \verb+\rn+ 
around the numeral part.

Without \verb+\rn+, numerals in commands are always printed as \devnag{}, 
even if \verb+\cmnum+ is in effect. For example, in Plain \TeX{}, the macro 
\verb+\folio+ contains the current page number. To make this respect 
\verb+\cmnum+, use a command such as \verb+{\dn p.r.s.tha \rn{\folio}}+. 
\LaTeX{} users can use the techniques described in the next section.

Arabic numerals are printed in the font specified by the commands 
\verb+\rsize+ (Plain \TeX{}) or \verb+\NormalFont+ (\LaTeX{}).  This font is 
also used for non-\devnag{} punctuation marks. By default, this is a Computer 
Modern font whose size matches the current \devnag{} font. To change this 
font, redefine the \verb+\rsize+ or \verb+\NormalFont+ command.

\subsection{\devnag{} Page Numbers and Other Counters (\LaTeX{} only)} 
Changing page numbers and other counters to print \devnag{} numerals is 
possible with the \verb+devanagari+ numeral style.  Page numbers can be 
set to \devnag{} with the following declaration: 

\begin{quote}
\verb+\pagenumbering{devanagari}+
\end{quote}

The default is \verb+\pagenumbering{arabic}+. 

You can use the command \verb+\devanagari+ as an alternative to 
\verb+\arabic+ to control the style of a counter anywhere in the document. 
For example, \verb+\devanagari{page}+ prints the current page number in 
\devnag{} numerals, while \verb+\arabic{page}+ prints it in Arabic numerals.  

You can change the automatic display of other counters to \devnag{} by 
redefinition macros. For example, to change section numbering to \devnag{}, 
redefine \verb+\thesection+:

\begin{quote}
\verb+\renewcommand\thesection{\devanagari{section}}+
\end{quote}

The macros \verb+\cmnum+ and \verb+\dnnum+ have no effect on counters, unless 
you also use the command \verb+\rn+.  To make page numbering respect the 
settings of \verb+\cmnum+ and \verb+\dnnum+, use \verb+\rn+ as follows:

\begin{quote}
\verb+\renewcommand\thepage{\dn p.r.s.tha \rn{\arabic{<page>}}}+
\end{quote}

Note that \verb+page+ is enclosed within angle brackets. This is required 
because it is within the scope of the \verb+\dn+ command, and the 
preprocessor does not recognize counter names as commands.

\ifbug
\devnag\ page numbering unfortunatelly conflicts with some versions of the \textsc{hyperref}
package. The source of the problem has not be resolved yet. Use this feature with caution.
\else
The pagination for this page until the end of Chapter~\ref{spec} occurs in 
\devnag{} through the command 

\begin{quote}
\verb+\renewcommand\thepage{\devanagari{page}}+
\end{quote}

and is reset to Arabic through

\begin{quote}
\verb+\renewcommand\thepage{\arabic{page}}+
\end{quote}
\fi

\subsection{Category Codes}
\label{catcodes}
\TeX{} assigns a category code (\verb+\catcode+) to each character. For
example, normal characters are assigned to category 11, and because the
backslash belongs to category 0, it is treated as the first character of
macro commands.

The fonts in the \textsf{devnag} package use characters with codes below
32. In previous releases of the package the category of these characters was
to 11. However, these catcode assignments caused conflicts with some
packages and with tables where tab characters were used.
Most of these problems could be solved at the macro level, but
unfortunately not all of them. The most serious problem is that words
like {\dn v\char10 t} do not get correctly transfered from section
titles to the table-of-contents.

A modification of the preprocessor was necessary to resolve this
issue. As a result, a change of character categories is no longer
needed. The output of the revised preprocessor is compatible with
previous releases of \texttt{devanagari.sty}. This fix solves the
table-of-contents problem, but not the conflicts. The new
\texttt{devanagari.sty} is still able to process files generated by the
previous versions of the preprocessor.

To indicate which version of the preprocessor was used to process a
given \devnag{} file, a string is written to the beginning of the output
\TeX{} file. The macro definition \verb+\DevnagVersion+ is written to
the first line of the output file and indicates the preprocessor
version. If the whole document is present in a single file, the
definition will appear before reading the macro package. The package
then changes its behaviour according to the existence or non-existence
of the above mentioned macro. If the macro is defined, no categories are
changed. If the macro is undefined, the \textsf{devanagari} package assumes
that it is processing an output from an older version of the
preprocessor and the categories of the characters are changed.

The \textsf{nocatcodes} option is intended for use with files produced
by the old preprocessor. This option changes the categories only within
the \verb+\dn+ environment, not globally for the document. The
\textsf{catcodes} option instructs the package to change the categories
globally. This does not, however, change the categories as a part of
the \verb+\dn+ command. If you assume that the categories can be changed
somewhere in the middle of the document and you wish to set them
properly by \verb+\dn+, you can use the \textsf{compat} option. The
macro \verb+\UnDevCatcodes+ changes catcodes back to the normal values
within the \verb+\dn+ environment.

%\clearpage % forced page break, remove it if the next section does not start
            % at the same page as the previous subsection
\section{Using \texorpdfstring{\devnag}{Devanagari} in \texorpdfstring{\XeLaTeX}{XeLaTeX}}

\renewcommand\thepage{\arabic{page}}

This topic does not fully fit here but it is described in this manual because the module for
\babel, which is also included in this package, can be used both in the traditional \TeX\ and
\XeTeX.

Using \devnag\ in \XeTeX\ does not require any preprocessor. Instead you should use a Unicode
Open\-Type font and enter \devnag\ directly in your text editor. You do not install such fonts for
\XeTeX, it takes the fonts installed in your operating system. Open\-Type fonts can have different
features, the most important of them is ``Script''. You have to specify ``Script=Devanagari'' when
loading the font so that conjuncts are properly formed and i-matras are moved before the consonant.
In \XeLaTeX\ (the \LaTeX\ format in \XeTeX) you can easily achieve it by:

\medskip
\begin{verbatim}
\usepackage{fontspec}
...
\fontspec[Script=Devanagari]{fontname}
\end{verbatim}

\medskip \noindent
Replace ``fontname'' with the name of the font. You can query the font name in your operating
system. The \textsc{fontspec} package maps the standard \LaTeX\ font switching commands to the \XeTeX\
primitives. Look into its manual for more details.

Unicode assigns special codes to \devnag\ numerals. Automatically created number, e.\,g.\@ the page
number created by \verb;\thepage;, will be printed in Arabic numerals. \XeTeX\ contains the TECkit
library for mapping characters. If you specify (as another option in the square brackets of the font
switching command) ``Mapping=devanagarinumerals'', all Arabic numerals will be automatically
converted to the corresponding \devnag\ numerals.

Although the text may be entered directly in \devnag, it may be useful to process the source text
in the Velthuis \devnag\ by \XeLaTeX. This can also be achieved by TECkit remapping. Two mapping
files are available: Mapping=velthuis-sanskrit and Mapping=velthuis. The latter is intended for
Hindi. They differ in the only feature that the Sanskrit map will append a virama if the word ends
in a consonant while the Hindi map will not. Both maps convert numerals too. These maps are still
rather experimental. Examples of their usage can be found in files \texttt{xetex-misspaal.tex} and
\texttt{xetex-examples.tex} which are distributed in the document directory of this package. Under
the \textsc{texmf} tree their directory should be \verb;doc/generic/velthuis;.

Remember that Velthuis transliteration employs the tilde character which normally denotes a
nonbreakable space. If you want to utilise TECkit maps, you have to change its \verb;\catcode; to
12 inside the \devnag\ text, otherwise words like {\dn Ev\3E2wApn} will be printed
incorrectly.

\section{Using Hindi with \babel}\label{babel}
Since the \textsc{devnag} package version~2.14.1 a new module for \babel\ is released. This unifies
the interface for multiligual documents where Hindi is one of the languages. The module is
available for use both in traditional \LaTeX\ and \XeLaTeX. Usage in plain \TeX\ is not yet
supported but the module should work in plain \XeTeX. Usage with the traditional \LaTeX\ does
require the full \textsc{devnag} package. The module is built upon its macros as well as the
preprocessor and fonts.

\subsection{Installation}
The Hindi module is not yet included in the standard \babel\ distribution, you have to install it
yourself. Fortunatelly installation is quite simple. It s not necessary to plug \texttt{hindi.dtx},
which you find in the documentation directory, to \babel\ and generate all files. Instead the
relevant files have been generated for you and are installed automatically with this package. The
only thing you have to do is to inform \LaTeX\ and \XeLaTeX\ that the Hindi module is available. It
is done in the \texttt{language.dat} file. Since we have no hyphenation patterns for
Hindi\footnote{Some time ago hyphenation patterns for Sanskrit for \XeLaTeX\ have been released on
CTAN. Their usability for Hindi in \XeLaTeX\ should be evaluated.}, just append the following line
to the end of the file:

\medskip
\begin{verbatim}
hindi zerohyph.tex
\end{verbatim}

If you do not have permission to edit this file, you can make its copy in directory
\verb;tex/generic/config; under \verb;texmf-var; which is usually world writable. Save the file and
generate the formats. Unofficial but tested installation script can be found at
\url{http://icebearsoft.euweb.cz/tex/csh_babel.php}.

\subsection{Usage}
If you want to use Hindi as a \babel\ module, put the following command into the preamble of your
document:

\medskip
\begin{verbatim}
\usepackage[hindi]{babel}
\end{verbatim}

\medskip
Do not load \texttt{devanagari.sty}. The above mentioned syntax is valid both for \LaTeX\ and
\XeLaTeX. The \babel\ module knows that \texttt{devanagari.sty} is required in \LaTeX\ and will
load it automatically. Moreover, \babel\ will not work correctly with older version of the
\textsc{devnag} package. It therefore employs version checking.

You may enter more comma separated languages in the square brackets. The last language will be the
default. You can then switch languages by standard \babel\ commands as
\verb;\selectlanguage{hindi}; and

\begin{verbatim}
\begin{otherlanguage}{hindi}
...
\end{otherlanguage}
\end{verbatim}

\medskip
If traditional \LaTeX\ is used, you must still insert the source text inside the \verb;{\dn };
group, otherwise the preprocessor will not recognize it.

\subsection{Language attributes}
Package \texttt{devanagari/sty} can be loaded with some options. When using the \babel\ module this
functionality is available only indirectly by specifying these options in the \verb;documentclass;
declaration. This is not preferred because these options should not be treated as document
properties. Instead these options were reimplemented as \babel\ language attributes. The attributes
are selected by invoking:

\begin{quote}
\verb;\languageattribute{hindi}{;$\langle$\itshape list of attributes$\rangle$\verb;};
\end{quote}

The command must appear after loading \babel.

\subsubsection{Attribute modernhindi}
This attribute switches to the Modern Hindi captions. Remember that the preprocessor does not
understand the language attributes and \babel\ cannot read the preprocessor directives. You must
therefore correctly insert either \texttt{@hindi} or \texttt{@modernhindi} directive in addition to
the language attribute. The attribute has no effect in \XeLaTeX\ because conjunct building is
defined in the tables inside the Open\-Type font.

\subsubsection{Font style attributes}
The module implements attributes \texttt{bombay}, \texttt{calcutta}, \texttt{nepali}, \texttt{pen},
\texttt{penbombay}, \texttt{pencalcutta}, \texttt{pennepali} that serve the same purpose of the
package options with the same name. These attributes are connected with the Velthuis fonts and are
thus unavailable in \XeLaTeX.

\subsection{Customizing captions}
The \babel\ module makes use of the same definitions of date and captions as shown in
tables~\ref{months} and~\ref{captions}. Their redefinition within the framework of \babel\ is easy.
Suppose that we want to change the title of Index to {\dn a\7{n}\387wmEZkA} as we did in
section~\ref{customizing}. We achieve it by placing the following command to the preamble after
loading \babel:

\medskip
\begin{verbatim}
\addto\captionshindi{\def\indexname{{\dn anukrama.nikaa}}}
\end{verbatim}

\medskip
The same can be done for \verb;\cationsmodernhindi;. Notice that the command will be seen by the
preprocessor.

If you want to do the same in \XeLaTeX, enter the changed text directly in Unicode:

\medskip
\verb;\addto\captionshindi{\def\indexname{;{\dn a\7{n}\387wmEZkA}\verb;}};


\section{Vedic Macros}

These macros put Vedic intonation marks above and below individual
Devanagari letters and construct other characters generally used only in
Vedic text.

There are two groups of these macros, one for Rig Veda, and one for Sama
Veda.  To use the Rig Veda macros, you must first enter the command
\verb=\dnveda=
at some point after \verb=\input dnmacs= in plain \TeX\ or after \verb=\usepackage{devanagari}= in 
\LaTeX , and to use the Sama Veda accents, you must first type \verb=\dnsamaveda=.

Both of these modes redefine standard macro names already used in Plain \TeX{}
and \LaTeX.  In Rig Veda mode the macros \verb=\_=, \verb+\=+, \verb=\|=, and
\verb=\~= are redefined,
while in Sama Veda mode, \verb=\^= and \verb=\@= are redefined. If your document already
uses these macros in their original sense, then use \verb=\dnveda= or
\verb=\dnsamaveda= only within \verb=\dn= mode.  Otherwise, use \verb=\dnveda=
or \verb=\dnsamaveda= once
at the beginning of the document.

This approach to macro names has been used because, when intonation marks
are needed, they are needed very frequently and are inserted into parts of
words, so the macro names should be very short and symbolic.

\subsection{Rig Veda Macros}

\subsubsection{Anudatta (low) tone macro\texorpdfstring{ \texttt{\char92\_}}{}, variable width}

This macro takes one argument, the text letter.
Example: \verb=\dnveda ... {\dn \_{a}gnim}=

This macro may be combined with \verb=\|= for a pluta mark: \verb=\_{\|{3}}=.

The anudatta mark produced by this macro is nearly as wide as the letter and
thus varies in width from one letter to another.


\subsubsection{Anudatta (low) tone macro\texorpdfstring{ \texttt{\char92=}}{}, fixed width}

This macro takes one argument, the text letter.
Example: \verb+\dnveda ... {\dn \={a}gnim}+

This macro may be combined with \verb=\|= for a pluta mark: \verb+\={\|{3}}+.

The anudatta mark produced by this macro has a fixed width and is centered
under the letter.


\subsubsection{Svarita (rising) tone macro\texorpdfstring{ \texttt{\char92|}}{}}

This macro takes one argument, the text letter.
Example: \verb=\dnveda ... {\dn \|{ii}Le}=

This macro may be combined with \verb=\|= for a pluta mark: \verb=\|{\_{3}}=.


\subsubsection{Pada separator macro\texorpdfstring{ \texttt{\char92\char126}}{}}

This macro inserts a pada separtor between two Devanagari letters.

Example: \verb=\dnveda ... {\dn na\_{ra}\~maa}=

\subsection{Usage Samples}
This subsection provides two small usage samples of Vedic macros.


{\dn\dnnum\Large\dncalcutta
{\dnveda

\_{a}E`n\|{mF}\30Fw\? \_{\7{p}}ro\|{Eh}t\2 \_{y}\3E2w\|{-y}
\_{d\?}v\_{\9{m}}E(v\|{j}\qq{m} . \
ho\|{tA}r\2 r\_{\3D7w}DA\|{t}m\qq{m} \quad \rn{1}

}}

The text above was typeset by:

\begin{verbatim}
{\dn\dnnum\Large\dncalcutta
{\dnveda

\_{a}gni\|{mii}Le \_{pu}ro\|{hi}ta.m \_{ya}j~na\|{sya}
\_{de}va\_{m.r}tvi\|{ja}m | \
ho\|{taa}ra.m ra\_{tna}dhaa\|{ta}mam \quad 1

}}
\end{verbatim}

\def\samaindent{\parindent=1.0in}
\def\dnitem#1{\noindent\llap{#1\space}\leftskip\parindent}
{\dn\dnnum\dncalcutta
{\dnsamaveda\samaindent
\dnitem{\rn{1}} \^{a}{\rn{2}}\^{`n}{\rn{3}} \^{aA}{\rn{1}} \^{yA}{\rn{2}}Eh
\^{vF}{\rn{3}}\^{t}{\rn{1}}\^{y\?}{\rn{2}} \9{g}\^{ZA}{\rn{3}}\^{no}{\rn{2}}
\^{h}{\rn{3}}\^{\326wy}{\rn{1}}\^{dA}{\rn{2}}ty\? \\
\^{En}{\rn{1}} ho\^{tA}{\rn{2}r} sE(s \^{b}{\rn{3}}\^{Eh\0}{\rn{1}}\^{Eq}{\rn{2}} \quad \rn{1}

}}

The text above was typeset by:

\begin{verbatim}
\def\samaindent{\parindent=1.0in}
\def\dnitem#1{\noindent\llap{#1\space}\leftskip\parindent}
{\dn\dnnum\dncalcutta
{\dnsamaveda\samaindent
\dnitem{1} \^{a}{2}\^{gna}{3} \^{aa}{1} \^{yaa}{2}hi
\^{vii}{3}\^{ta}{1}\^{ye}{2} g.r\^{.naa}{3}\^{no}{2}
\^{ha}{3}\^{vya}{1}\^{daa}{2}taye \\
\^{ni}{1} ho\^{taa}{2ra} satsi \^{ba}{3}\^{rhi}{1}\^{.si}{2} \quad 1

}}
\end{verbatim}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{table}[pt]
\begin{center}
\renewcommand{\arraystretch}{1.35}
\begin{tabular}{|l|c|c|c|c|}
\hline
  & \textsc{original} & \textsc{bombay} & \textsc{calcutta} & \textsc{nepali} \\
\hline
\textit{a}       & {\dn a}   & {\dn\dnbombay a} & {\dn\dncalcutta a} & \\
\textit{\underrng{r}}  & {\dn \31Bw} & {\dn\dnbombay \31Bw} & {\dn\dncalcutta \31Bw} & \\
\textit{\diatop[\=|\underrng{r}]} & {\dn \311w} & {\dn\dnbombay \311w} & {\dn\dncalcutta \311w} & \\
\textit{\underrng{l}}  & {\dn \318w} & {\dn\dnbombay \318w} & {\dn\dncalcutta \318w} & \\
\textit{\diatop[\=|\underrng{l}]} & {\dn \319w} & {\dn\dnbombay \319w} & {\dn\dncalcutta \319w} & \\
\textit{cha}     & {\dn C}   & {\dn\dnbombay C} & {\dn\dncalcutta C} & \\
\textit{jha}     & {\dn J}   & {\dn\dnbombay J} & {\dn\dncalcutta J} & {\dn\dnnepali J} \\
\textit{\d{n}a}  & {\dn Z}   & {\dn\dnbombay Z} & {\dn\dncalcutta Z} & \\
\textit{la}      & {\dn l} & {\dn\dnbombay l} & {\dn\dncalcutta l} & \\
\textit{\'sa}    & {\dn f} & {\dn\dnbombay f} & {\dn\dncalcutta f} & \\
\textit{1}       & {\dn\dnnum 1}  & {\dn\dnnum\dnbombay 1} & {\dn\dnnum\dncalcutta 1} & {\dn\dnnum\dnnepali 1}\\
\textit{5}       & {\dn\dnnum 5}  & {\dn\dnnum\dnbombay 5} & {\dn\dnnum\dncalcutta 5} & \\
\textit{8}       & {\dn\dnnum 8}  & {\dn\dnnum\dnbombay 8} & {\dn\dnnum\dncalcutta 8} & \\
\textit{9}       & {\dn\dnnum 9}  & {\dn\dnnum\dnbombay 9} & {\dn\dnnum\dncalcutta 9} & {\dn\dnnum\dnnepali 9}\\
\hline
\end{tabular}
\end{center}
\bigskip

\begin{center}
\renewcommand{\arraystretch}{1.35}
\begin{tabular}{|l|c|c|c|c|}
\hline
  & \textsc{original} & \textsc{bombay} & \textsc{calcutta} & \textsc{nepali} \\
\hline
\textit{k\d{s}a} & {\dn "}   & {\dn\dnbombay "} & {\dn\dncalcutta "} & \\
\textit{k\d{s}}-    & {\dn \symbol{'43}} & {\dn\dnbombay \symbol{'43}} & {\dn\dncalcutta \symbol{'43}} & \\
\textit{\.nk\d{s}a}  & {\dn \3B0w}  & {\dn\dnbombay \3B0w} & {\dn\dncalcutta \3B0w} & \\
\textit{\.nk\d{s}va} & {\dn \3B1w}  & {\dn\dnbombay \3B1w} & {\dn\dncalcutta \3B1w} & \\
\textit{chya}        & {\dn \3D0w}  & {\dn\dnbombay \3D0w} & {\dn\dncalcutta \3D0w} & \\
\textit{j\~na}   & {\dn \3E2w}  & {\dn\dnbombay \3E2w} & {\dn\dncalcutta \3E2w} & \\
\textit{j\~n}-      & {\dn \symbol{'352}}  & {\dn\dnbombay \symbol{'352}} & {\dn\dncalcutta \symbol{'352}} & \\
\textit{jh}-         & {\dn \324w} & {\dn\dnbombay \324w} & {\dn\dncalcutta \324w} & {\dn\dnnepali \324w} \\
\textit{\d{n}}-      & {\dn \symbol{'27}} & {\dn\dnbombay \symbol{'27}} & {\dn\dncalcutta \symbol{'27}} & \\
\textit{\d{n}\d{n}a}  & {\dn \symbol{'233}} & {\dn\dnbombay \symbol{'233}} & {\dn\dncalcutta \symbol{'233}} & \\
\textit{lla}         & {\dn \3A5w}  & {\dn\dnbombay \3A5w} & {\dn\dncalcutta \3A5w} & \\
\textit{\'{s}}-     & {\dn \symbol{'133}} & {\dn\dnbombay \symbol{'133}} & {\dn\dncalcutta \symbol{'133}} & \\
\textit{-ya}        & {\dn \symbol{'053}} & {\dn\dnbombay \symbol{'053}} & {\dn\dncalcutta \symbol{'053}} & \\
\textit{h\d{n}a}     & {\dn \3A2w}  & {\dn\dnbombay \3A2w} & {\dn\dncalcutta \3A2w} & \\
\hline
\end{tabular}
\end{center}

\caption{Standard and Variant \devnag{} Characters}
\label{diffs}
\end{table}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{center}
\begin{table}[p]
\renewcommand{\arraystretch}{1.35}
\begin{tabular}{|lllll||lllll||lllll|}
\hline
\# & & \textsc{s} & \textsc{h} & \textsc{mh} &
\# & & \textsc{s} & \textsc{h} & \textsc{mh} &
\# & & \textsc{s} & \textsc{h} & \textsc{mh} \\ \hline
1  & {\dn k k} & {\dn\symbol{'303}} & {\dn \3C3w} & {\dn ?k} &
36 & {\dn\symbol{'32} c} & {\dn\symbol{'321}} & {\dn \316wc} & {\dn \316wc} &
71 & {\dn d r y} & {\dn\symbol{'357}} & {\dn \3EFw} & {\dn \qb{d}+}\\
2  & {\dn k t } & {\dn\symbol{'304}} & {\dn \3C4w} & {\dn ?t} &
37 & {\dn\symbol{'32} j} & {\dn\symbol{'322}} & {\dn \316wj} & {\dn \316wj} &
72 & {\dn d v y} & {\dn\symbol{'225}} & {\dn \395w} & {\dn \392w+}\\
3  & {\dn k n} & {\dn\symbol{'307}} & {\dn ?n} & {\dn ?n} &
38 & {\dn V k} & {\dn\symbol{'326}} & {\dn \3D6w} & {\dn \qq{V}k} &
73 & {\dn D n} & {\dn\symbol{'360}} & {\dn @n} & {\dn @n}\\
4  & {\dn k m} & {\dn\symbol{'311}} & {\dn ?m} & {\dn ?m} &
39 & {\dn V V} & {\dn\symbol{'323}} & {\dn \3D3w} & {\dn \qq{V}V} &
74 & {\dn n n} & {\dn\symbol{'340}} & {\dn \3E0w} & {\dn \306wn}\\
5  & {\dn k y} & {\dn\symbol{'310}} & {\dn \3C8w} & {\dn ?y} &
40 & {\dn V W} & {\dn\symbol{'341}} & {\dn \3E1w} & {\dn \qq{V}W} &
75 & {\dn p t} & {\dn\symbol{'330}} & {\dn =t} & {\dn =t}\\
6  & {\dn k l} & {\dn\symbol{'312}} & {\dn ?l} & {\dn ?l} &
41 & {\dn V y} & {\dn\symbol{'324}} & {\dn \3D4w} & {\dn V+} &
76 & {\dn p n} & {\dn\symbol{'331}} & {\dn =n} & {\dn =n}\\
7  & {\dn k v} & {\dn\symbol{'313}} & {\dn ?v} & {\dn ?v} &
42 & {\dn W y} & {\dn\symbol{'325}} & {\dn \3D5w} & {\dn W+} &
77 & {\dn p l} & {\dn\symbol{'332}} & {\dn =l} & {\dn =l}\\
8  & {\dn k t y} & {\dn\symbol{'305}} & {\dn \3C5w} & {\dn ?(y} &
43 & {\dn X g} & {\dn\symbol{'263}} & {\dn \qq{X}g} & {\dn \qq{X}g} &
78 & {\dn b n} & {\dn\symbol{'247}} & {\dn Nn} & {\dn Nn}\\
9  & {\dn k t v} & {\dn\symbol{'306}} & {\dn \3C6w} & {\dn ?(v} &
44 & {\dn X G} & {\dn\symbol{'264}} & {\dn \qq{X}G} & {\dn \qq{X}G} &
79 & {\dn b b} & {\dn\symbol{'251}} & {\dn Nb} & {\dn Nb}\\
10 & {\dn k n y} & {\dn\symbol{'346}} & {\dn ?\306wy} & {\dn ?\306wy} &
45 & {\dn X X} & {\dn\symbol{'345}} & {\dn \3E5w} & {\dn \qq{X}X} &
80 & {\dn b v} & {\dn\symbol{'333}} & {\dn Nv} & {\dn Nv}\\
11 & {\dn k r y} & {\dn\symbol{'347}} & {\dn \3E7w} & {\dn \3E7w} &
46 & {\dn X m} & {\dn\symbol{'273}} & {\dn \qq{X}m} & {\dn \qq{X}m} &
81 & {\dn B n} & {\dn\symbol{'336}} & {\dn <n} & {\dn <n}\\
12 & {\dn k v y} & {\dn\symbol{'314}} & {\dn ?\&y} & {\dn ?\&y} &
47 & {\dn X y} & {\dn\symbol{'267}} & {\dn \3B7w} & {\dn X+} &
82 & {\dn m n} & {\dn\symbol{'337}} & {\dn Mn} & {\dn Mn}\\
13 & {\dn k t r y} & {\dn\symbol{'374}} & {\dn \3FCw} & {\dn ?\3ECwy} &
48 & {\dn X g y} & {\dn\symbol{'270}} & {\dn \qq{X}`y} & {\dn \qq{X}`y} &
83 & {\dn m l} & {\dn\symbol{'335}} & {\dn Ml} & {\dn Ml}\\
14 & {\dn G n} & {\dn\symbol{'315}} & {\dn \35Dwn} & {\dn \35Dwn} &
49 & {\dn X G r} & {\dn\symbol{'266}} & {\dn \qq{X}G\5} & {\dn \qq{X}G\5} &
84 & {\dn l l} & {\dn\symbol{'245}} & {\dn Sl} & {\dn Sl}\\
15 & {\dn R k} & {\dn\symbol{'254}} & {\dn \3ACw} & {\dn \qq{R}k} &
50 & {\dn X r y} & {\dn\symbol{'373}} & {\dn \3FBw} & {\dn \6{X}+} &
85 & {\dn v n} & {\dn\symbol{'246}} & {\dn \&n} & {\dn \&n}\\
16 & {\dn R K} & {\dn\symbol{'262}} & {\dn \3B2w} & {\dn \qq{R}K} &
51 & {\dn Y y} & {\dn\symbol{'344}} & {\dn \3E4w} & {\dn Y+} &
86 & {\dn v v} & {\dn\symbol{'250}} & {\dn \&v} & {\dn \&v}\\
17 & {\dn R g} & {\dn\symbol{'275}} & {\dn \3BDw} & {\dn \qq{R}g} &
52 & {\dn t t} & {\dn\symbol{'201}} & {\dn \381w} & {\dn \381w} &
87 & {\dn f c} & {\dn\symbol{'226}} & {\dn \35Bwc} & {\dn \35Bwc}\\
18 & {\dn R G} & {\dn\symbol{'277}} & {\dn \3BFw} & {\dn \qq{R}G} &
53 & {\dn t n} & {\dn\symbol{'327}} & {\dn (n} & {\dn (n} &
88 & {\dn f n} & {\dn\symbol{'227}} & {\dn \35Bwn} & {\dn \35Bwn}\\
19 & {\dn R R} & {\dn\symbol{'274}} & {\dn \3BCw} & {\dn \qq{R}R} &
54 & {\dn d g} & {\dn\symbol{'213}} & {\dn \qq{d}g} & {\dn \qq{d}g} &
% 89 & {\dn f b} & {\dn\symbol{'233}} & {\dn \35Bwb} & {\dn \35Bwb}\\
89 & ---       & ---                & ---         & ---           \\
20 & {\dn R n} & {\dn\symbol{'265}} & {\dn \3B5w} & {\dn \qq{R}n} &
55 & {\dn d G} & {\dn\symbol{'212}} & {\dn \qq{d}G} & {\dn \qq{d}G} &
90 & {\dn f l} & {\dn\symbol{'232}} & {\dn \35Bwl} & {\dn \35Bwl}\\
21 & {\dn R m} & {\dn\symbol{'301}} & {\dn \3C1w} & {\dn \qq{R}m} &
56 & {\dn d d} & {\dn\symbol{'214}} & {\dn \38Cw} & {\dn \38Cw} &
91 & {\dn f v} & {\dn\symbol{'230}} & {\dn \35Bwv} & {\dn \35Bwv}\\
22 & {\dn R y} & {\dn\symbol{'302}} & {\dn \3C2w} & {\dn R+} &
57 & {\dn d D} & {\dn\symbol{'210}} & {\dn \388w} & {\dn \388w} &
92 & {\dn q V} & {\dn\symbol{'243}} & {\dn \309wV} & {\dn \309wV}\\
23 & {\dn R k t} & {\dn\symbol{'255}} & {\dn \qq{\3ACw}t} & {\dn \qq{R}?t} &
58 & {\dn d n} & {\dn\symbol{'221}} & {\dn \qq{d}n} & {\dn \qq{d}n} &
93 & {\dn q W} & {\dn\symbol{'244}} & {\dn \309wW} & {\dn \309wW}\\
24 & {\dn R k y} & {\dn\symbol{'257}} & {\dn \3AFw} & {\dn \qq{R}?y} &
59 & {\dn d b} & {\dn\symbol{'223}} & {\dn \393w} & {\dn \393w} &
94 & {\dn q V y} & {\dn\symbol{'367}} & {\dn \309w\3D4w} & {\dn \309wV+}\\
25 & {\dn R k q} & {\dn\symbol{'260}} & {\dn \qq{\3ACw}q} & {\dn \qq{R}"} &
60 & {\dn d B} & {\dn\symbol{'211}} & {\dn \389w} & {\dn \qq{d}B} &
95 & {\dn q V v} & {\dn\symbol{'253}} & {\dn \309w\qq{V}v} & {\dn \309w\qq{V}v}\\
26 & {\dn R K y} & {\dn\symbol{'272}} & {\dn \3BAw} & {\dn \qq{R}Hy} &
61 & {\dn d m} & {\dn\symbol{'224}} & {\dn \qq{d}m} & {\dn \qq{d}m} &
96 & {\dn q V r y} & {\dn\symbol{'252}} & {\dn \3AAw} & {\dn \309w\6{V}+}\\
27 & {\dn R g y} & {\dn\symbol{'276}} & {\dn \3BEw} & {\dn \qq{R}`y} &
62 & {\dn d y} & {\dn\symbol{'215}} & {\dn \38Dw} & {\dn \38Dw} &
97 & {\dn s n} & {\dn\symbol{'334}} & {\dn -n} & {\dn -n}\\
28 & {\dn R G y} & {\dn\symbol{'271}} & {\dn \3B9w} & {\dn \qq{R}\35Dwy} &
63 & {\dn d v} & {\dn\symbol{'222}} & {\dn \392w} & {\dn \392w} &
98 & {\dn s r} & {\dn\symbol{'372}} & {\dn \3FAw} & {\dn \3FAw}\\
29 & {\dn R G r} & {\dn\symbol{'300}} & {\dn \3C0w} & {\dn \qq{R}G\5} &
64 & {\dn d g r} & {\dn\symbol{'355}} & {\dn \qq{d}g\5} & {\dn \qq{d}g\5} &
99 & {\dn h Z} & {\dn\symbol{'242}} & {\dn \3A2w} & {\dn \3A2w}\\
30 & {\dn R k t y} & {\dn\symbol{'256}} & {\dn \qq{\3ACw}(y} & {\dn \qq{R}?(y} &
65 & {\dn d G r} & {\dn\symbol{'356}} & {\dn \qq{d}G\5} & {\dn \qq{d}G\5} &
100 & {\dn h n} & {\dn\symbol{'241}} & {\dn \3A1w} & {\dn \3A1w}\\
31 & {\dn R k q v} & {\dn\symbol{'261}} & {\dn \qq{\3ACw}\309wv} & {\dn \qq{R}\#v} &
66 & {\dn d d y} & {\dn\symbol{'220}} & {\dn \390w} & {\dn \38Cw+} &
101 & {\dn h m} & {\dn\symbol{'234}} & {\dn \39Cw} & {\dn \39Cw}\\
32 & {\dn c c} & {\dn\symbol{'316}} & {\dn Qc} & {\dn Qc} &
67 & {\dn d d v} & {\dn\symbol{'370}} & {\dn \3F8w} & {\dn \qq{d}\392w} &
102 & {\dn h y} & {\dn\symbol{'235}} & {\dn \39Dw} & {\dn \39Dw}\\
33 & {\dn c \symbol{'32}} & {\dn\symbol{'317}} & {\dn Q\31Aw} & {\dn Q\31Aw} &
68 & {\dn d D y} & {\dn\symbol{'217}} & {\dn \38Fw} & {\dn \388w+} &
103 & {\dn h r} & {\dn\symbol{'240}} & {\dn \3A0w} & {\dn \3A0w}\\
34 & {\dn C y} & {\dn\symbol{'320}} & {\dn \3D0w} & {\dn C+} &
69 & {\dn d D v} & {\dn\symbol{'371}} & {\dn \3F9w} & {\dn \qq{d}@v} &
104 & {\dn h l} & {\dn\symbol{'236}} & {\dn \39Ew} & {\dn \39Ew}\\
35 & {\dn j r} & {\dn\symbol{'205}} & {\dn \385w} & {\dn \385w} &
70 & {\dn d B y} & {\dn\symbol{'216}} & {\dn \38Ew} & {\dn \qq{d}<y} &
105 & {\dn h v} & {\dn\symbol{'237}} & {\dn \39Fw} & {\dn \39Fw}\\
\hline
\end{tabular}
\caption{Supported \devnag{} Ligatures}
\label{ligs}
\end{table}
\end{center}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{table}[pt]

\begin{center}
\begin{tabular}{ll}
\multicolumn{2}{c}{Regular} \\
& \\
Original (\texttt{dvng}) & {\dn \dnnum \large a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Bombay   (\texttt{dvnb}) & {\dn \dnnum \large \dnbombay a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Calcutta (\texttt{dvnc}) & {\dn \dnnum \large \dncalcutta a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Nepali   (\texttt{dvnn}) & {\dn \dnnum \large \dnnepali a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
& \\ \hline
& \\
\multicolumn{2}{c}{Oblique} \\
& \\
Original (\texttt{dvngi}) & {\dn \dnnum \large \itshape a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Bombay   (\texttt{dvnbi}) & {\dn \dnnum \large \dnbombay \itshape a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Calcutta (\texttt{dvnci}) & {\dn \dnnum \large \dncalcutta \itshape a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Nepali   (\texttt{dvnni}) & {\dn \dnnum \large \dnnepali \itshape a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
& \\ \hline
& \\
\multicolumn{2}{c}{Bold} \\
& \\
Original (\texttt{dvngb}) & {\dn \dnnum \large \bfseries a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Bombay   (\texttt{dvnbb}) & {\dn \dnnum \large \dnbombay \bfseries a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Calcutta (\texttt{dvncb}) & {\dn \dnnum \large \dncalcutta \bfseries a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Nepali   (\texttt{dvnnb}) & {\dn \dnnum \large \dnnepali \bfseries a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
& \\ \hline
& \\
\multicolumn{2}{c}{Bold Oblique} \\
& \\
Original (\texttt{dvngbi}) & {\dn \dnnum \large \bfseries\itshape a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Bombay   (\texttt{dvnbbi}) & {\dn \dnnum \large \dnbombay \bfseries\itshape a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Calcutta (\texttt{dvncbi}) & {\dn \dnnum \large \dncalcutta \bfseries\itshape a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
Nepali   (\texttt{dvnnbi}) & {\dn \dnnum \large \dnnepali \bfseries\itshape a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \322w \317wX \35Bwl} \\
& \\ \hline
& \\
\multicolumn{2}{c}{Pen} \\
& \\
Original (\texttt{dvpn})  & {\dn \dnnum \large \dnpen a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \317wX \35Bwl} \\
Bombay   (\texttt{dvpb})  & {\dn \dnnum \large \dnpenbombay a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \317wX \35Bwl} \\
Calcutta (\texttt{dvpc})  & {\dn \dnnum \large \dnpencalcutta a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \317wX \35Bwl} \\
Nepali   (\texttt{dvpnn}) & {\dn \dnnum \large \dnpennepali a \31Bw C f l \rn{5} \rn{8} Z \3A2w J \317wX \35Bwl} \\
\end{tabular}
\end{center}
\caption{\devnag{} Font Specimens}
\label{specs}
\end{table}
\newpage
\thispagestyle{empty}
\enlargethispage{\footskip}

\begin{table}[pt]

\begin{center}
Devanagari Regular
\end{center}

{\dn b\7{h}t s\? CoV\? CoV\? rAjAao\2 kF bol cAl kA Y\2g
BF{\rs ,\re} {\itshape Ejs smy v\? vA{}isrAy} s\? Emln\? aAe T\?{\rs ,\re}
{\bfseries s\2"\?p k\? sAT} ElKn\? k\? yo`y h\4. koI to
\8{d}r hF s\? {\itshape hAT jow\?} aAe{\rs ,\re} {\bfseries aOr do ek e\?s\?
T\? Ek} jb eEXkA\2g k\? bdn {\bfseries \itshape \7{J}kAkr
ifArA krn\?} pr BF u\306who{\qva} n\? {\bfseries slAm n EkyA}
to eEXkA\2g n\? {\itshape pFW pkw kr} u\306wh\?{\qva} DFr\? s\?
\7{J}kA EdyA.\par}
\bigskip

\begin{center}
Devanagari Bombay
\end{center}

{\dn \dnbombay b\7{h}t s\? CoV\? CoV\? rAjAao\2 kF bol cAl kA Y\2g
BF{\rs ,\re} {\itshape Ejs smy v\? vA{}isrAy} s\? Emln\? aAe T\?{\rs ,\re}
{\bfseries s\2"\?p k\? sAT} ElKn\? k\? yo`y h\4. koI to
\8{d}r hF s\? {\itshape hAT jow\?} aAe{\rs ,\re} {\bfseries aOr do ek e\?s\?
T\? Ek} jb eEXkA\2g k\? bdn {\bfseries \itshape \7{J}kAkr
ifArA krn\?} pr BF u\306who{\qva} n\? {\bfseries slAm n EkyA}
to eEXkA\2g n\? {\itshape pFW pkw kr} u\306wh\?{\qva} DFr\? s\?
\7{J}kA EdyA.\par}
\bigskip

\begin{center}
Devanagari Calcutta
\end{center}

{\dn \dncalcutta b\7{h}t s\? CoV\? CoV\? rAjAao\2 kF bol cAl kA Y\2g
BF{\rs ,\re} {\itshape Ejs smy v\? vA{}isrAy} s\? Emln\? aAe T\?{\rs ,\re}
{\bfseries s\2"\?p k\? sAT} ElKn\? k\? yo`y h\4. koI to
\8{d}r hF s\? {\itshape hAT jow\?} aAe{\rs ,\re} {\bfseries aOr do ek e\?s\?
T\? Ek} jb eEXkA\2g k\? bdn {\bfseries \itshape \7{J}kAkr
ifArA krn\?} pr BF u\306who{\qva} n\? {\bfseries slAm n EkyA}
to eEXkA\2g n\? {\itshape pFW pkw kr} u\306wh\?{\qva} DFr\? s\?
\7{J}kA EdyA.\par}
\bigskip

\begin{center}
Devanagari Nepali
\end{center}

{\dn \dnnepali b\7{h}t s\? CoV\? CoV\? rAjAao\2 kF bol cAl kA Y\2g
BF{\rs ,\re} {\itshape Ejs smy v\? vA{}isrAy} s\? Emln\? aAe T\?{\rs ,\re}
{\bfseries s\2"\?p k\? sAT} ElKn\? k\? yo`y h\4. koI to
\8{d}r hF s\? {\itshape hAT jow\?} aAe{\rs ,\re} {\bfseries aOr do ek e\?s\?
T\? Ek} jb eEXkA\2g k\? bdn {\bfseries \itshape \7{J}kAkr
ifArA krn\?} pr BF u\306who{\qva} n\? {\bfseries slAm n EkyA}
to eEXkA\2g n\? {\itshape pFW pkw kr} u\306wh\?{\qva} DFr\? s\?
\7{J}kA EdyA.\par}
\bigskip

\begin{center}
Devanagari Pen Regular
\end{center}

{\dn \dnpen b\7{h}t s\? CoV\? CoV\? rAjAao\2 kF bol cAl kA Y\2g
BF{\rs ,\re} {\itshape Ejs smy v\? vA{}isrAy} s\? Emln\? aAe T\?{\rs ,\re}
{\bfseries s\2"\?p k\? sAT} ElKn\? k\? yo`y h\4. koI to
\8{d}r hF s\? {\itshape hAT jow\?} aAe{\rs ,\re} {\bfseries aOr do ek e\?s\?
T\? Ek} jb eEXkA\2g k\? bdn {\bfseries \itshape \7{J}kAkr
ifArA krn\?} pr BF u\306who{\qva} n\? {\bfseries slAm n EkyA}
to eEXkA\2g n\? {\itshape pFW pkw kr} u\306wh\?{\qva} DFr\? s\?
\7{J}kA EdyA.\par}
\bigskip

\begin{center}
Devanagari Pen Bombay
\end{center}

{\dn \dnpenbombay b\7{h}t s\? CoV\? CoV\? rAjAao\2 kF bol cAl kA Y\2g
BF{\rs ,\re} {\itshape Ejs smy v\? vA{}isrAy} s\? Emln\? aAe T\?{\rs ,\re}
{\bfseries s\2"\?p k\? sAT} ElKn\? k\? yo`y h\4. koI to
\8{d}r hF s\? {\itshape hAT jow\?} aAe{\rs ,\re} {\bfseries aOr do ek e\?s\?
T\? Ek} jb eEXkA\2g k\? bdn {\bfseries \itshape \7{J}kAkr
ifArA krn\?} pr BF u\306who{\qva} n\? {\bfseries slAm n EkyA}
to eEXkA\2g n\? {\itshape pFW pkw kr} u\306wh\?{\qva} DFr\? s\?
\7{J}kA EdyA.\par}
\bigskip

\begin{center}
Devanagari Pen Calcutta
\end{center}

{\dn \dnpencalcutta b\7{h}t s\? CoV\? CoV\? rAjAao\2 kF bol cAl kA Y\2g
BF{\rs ,\re} {\itshape Ejs smy v\? vA{}isrAy} s\? Emln\? aAe T\?{\rs ,\re}
{\bfseries s\2"\?p k\? sAT} ElKn\? k\? yo`y h\4. koI to
\8{d}r hF s\? {\itshape hAT jow\?} aAe{\rs ,\re} {\bfseries aOr do ek e\?s\?
T\? Ek} jb eEXkA\2g k\? bdn {\bfseries \itshape \7{J}kAkr
ifArA krn\?} pr BF u\306who{\qva} n\? {\bfseries slAm n EkyA}
to eEXkA\2g n\? {\itshape pFW pkw kr} u\306wh\?{\qva} DFr\? s\?
\7{J}kA EdyA.\par}
\bigskip

\begin{center}
Devanagari Pen Nepali
\end{center}

{\dn \dnpennepali b\7{h}t s\? CoV\? CoV\? rAjAao\2 kF bol cAl kA Y\2g
BF{\rs ,\re} {\itshape Ejs smy v\? vA{}isrAy} s\? Emln\? aAe T\?{\rs ,\re}
{\bfseries s\2"\?p k\? sAT} ElKn\? k\? yo`y h\4. koI to
\8{d}r hF s\? {\itshape hAT jow\?} aAe{\rs ,\re} {\bfseries aOr do ek e\?s\?
T\? Ek} jb eEXkA\2g k\? bdn {\bfseries \itshape \7{J}kAkr
ifArA krn\?} pr BF u\306who{\qva} n\? {\bfseries slAm n EkyA}
to eEXkA\2g n\? {\itshape pFW pkw kr} u\306wh\?{\qva} DFr\? s\?
\7{J}kA EdyA.\par}
\bigskip

% \begin{center}
% Source text
% \end{center}

% \begin{verbatim}
% @hindi
% {\dn bahut se cho.te cho.te raajaao.m kii bol caal kaa .dha.mg bhii,
% {\itshape jis samay ve vaa{}isaraay} se milane aae the,
% {\bfseries sa.mk.sep ke saath} likhane ke yogya hai| koii to duur
% hii se {\itshape haath joRe} aae, {\bfseries aur do ek aise the ki}
% jab e.dikaa.mg ke badan {\bfseries \itshape jhukaakar i"saaraa karane}
% par bhii unho.m ne {\bfseries salaam na kiyaa} to e.dikaa.mg ne
% {\itshape pii.th pakaR kar} unhe.m dhiire se jhukaa diyaa|}
% \end{verbatim}

\caption{Examples of \devnag{} Faces}
\label{mixedface}
\end{table}

\end{document}