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}
|