summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/malayalam/article/mmguide.mm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/fonts/malayalam/article/mmguide.mm')
-rw-r--r--Master/texmf-dist/doc/fonts/malayalam/article/mmguide.mm511
1 files changed, 511 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/fonts/malayalam/article/mmguide.mm b/Master/texmf-dist/doc/fonts/malayalam/article/mmguide.mm
new file mode 100644
index 00000000000..9bb4c194525
--- /dev/null
+++ b/Master/texmf-dist/doc/fonts/malayalam/article/mmguide.mm
@@ -0,0 +1,511 @@
+% mmguide.mm -- Malayalam-\TeX\ user guide
+% Copyright 1993, 1994, 1995 Jeroen Hellingman
+%
+% pre-process this file using mltr
+%
+% History
+% 04-MAY-1998 Updated transcription (JH)
+% 23-NOV-1995 Updated for new transcription scheme (JH)
+% 22-JAN-1994 Last edit (JH)
+% 22-JAN-1994 Added instruction for getting cillu/virama variants (JH)
+
+\def\editdate{4 May 1998}
+
+\input mmmacs
+\input mmtrmacs
+
+\parindent=0pt
+\def\@{@}
+
+\def\today{\number\day\space\ifcase\month\or January\or February\or March\or April\or May\or
+ June\or July\or August\or September\or October\or November\or December\fi
+ \space\number\year}
+
+\def\MT{Malayalam-\TeX}
+
+\headline={{\hfil \it \MT\ v1.6 User's Guide}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\beginsection {\twelvebf Introduction}
+
+\MT\ is a package to typeset Malayalam with
+\TeX\footnote*{\MT\ will work only with \TeX3.0 or later
+versions of \TeX.}. It can be used to typeset in both
+the traditional and reformed script. The complete package
+includes a pre-processor and fonts in various styles (regular, bold,
+slanted, calligraphic) and various sizes.
+
+Malayalam Text
+is entered in an easily adaptable ASCII transcription.
+This text is then converted to commands for \TeX\ to typeset
+the Malayalam by a pre-processor, which takes care of applying the
+correct conjunct letters and placing the vowel signs on the right position.
+The same ASCII transcription can also be used to derive scientific
+transcription of the text, which will save scholars lots of time
+spend in typing the macros for accented letters themselves.
+
+This document assumes a working knowledge of \TeX, and will not
+try to explain things already explained in the \TeX-book. It
+can roughly be divided in three parts. The first part explains how to
+use \MT\ in a standard fashion. The second part goes deeper
+into the internals, so that you are able to change the behaviour of
+\MT. This part can be skipped if you are happy with the
+standard settings. Some appendices complete this manual.
+
+\vfill\eject
+\beginsection {\twelvebf Preparing Your Document}
+
+When you want to use \MT, all you have to do is say
+
+\medskip
+{\tt\bslash input mmmacs}
+\medskip
+
+somewhere near the beginning of your document, before the first
+occurrence of Malayalam text, and have the file {\tt mmmacs.tex} in
+a directory where it can be found by \TeX. This file will load the
+fonts and define the commands necessary. After this, you can use the
+commands as described below.
+
+\beginsection How To Type Malayalam
+
+Since on most computers it is impossible to enter Malayalam directly,
+Malayalam text needs to be entered in transcription. Traditionally,
+Western scholars have used a transcription with various accents, like
+$$.d$$, $$sh$$ or~$$zh$$ to represent Malayalam characters, but even
+these cannot be reproduced on most computers. To solve this
+problem, \MT\ uses a
+transcription that only uses the characters of the standard
+ASCII character set.
+
+The following table shows the character(s) you have to type in order
+to produce a Malayalam character. The third column shows the
+scientific transcription of each character.
+
+\bigskip
+\input mmtrans
+\bigskip
+
+Malayalam text can only be entered when in {\it Malayalam mode}.
+Malayalam mode starts and ends with a {\tt\dollar}-sign.
+
+Punctuation marks can be typed in Malayalam the same way as in English.
+They will show up as expected. A nice ornamental star
+\ornstar\ can be produced with {\tt\bslash ornstar}.
+
+Figures in Malayalam mode will appear as
+European figures. If you want Malayalam figures, you will have to
+say {\tt\bslash mmfigures} first. After that {\tt 1234567890} will
+appear as $\mmfigures 1234567890\rmfigures$. To switch back to
+European figures, say {\tt\bslash rmfigures}.
+
+More precise control over the formation of ligatures can be reached with
+the characters {\tt >>} and {\tt<<}. {\tt >>} will
+prevent the formation of a ligature, and a virama will be used between
+the consonants instead. {\tt<<} will force the
+pre-processor to use the secondary variant for the following
+character. This can be used to show vowel-signs or secondary letters
+on themselves. {\tt []} will produce a dotted circle $[]$, to make
+tables like the above, and, last but not least, {\tt >} will
+disambiguate the transcription if needed.
+
+The cillu letters ($k, .n, t, n$, and $r$) will be
+used automatically at the end of words, as well as anusvaram ($m$).
+If a full letter with candrakala is desired, you should
+place {\tt <<+} after the final letter, e.g. {\tt t<<+} yields
+$t<<+$ and {\tt m<<+} yields $m<<+$.
+
+The usage of the {\tt\dollar}-sign by \MT\ overrides its normal
+meaning in
+\TeX. To enter and leave normal math-mode, you will have to type
+{\tt\bslash math}, for display math you just say {\tt\bslash Math}.
+The \dollar-sign itself is produced by {\tt\bslash dollar}.
+
+\beginsection Malayalam transcription
+
+Malayalam Text can also be printed in scientific transcription.
+When you want a Malayalam passage to appear in scientific
+transcription, you have to switch to {\it Malayalam-transcription
+mode}, which is started and ended with {\tt\dollar\dollar}. The
+transcription used follows, but for a few exceptions, the
+standardized transcription of the National Library in Calcutta.
+
+If you want to use a capital letter in Malayalam-transcription mode,
+you can precede the letter with a {\tt\char"5E}. This will be ignored
+in Malayalam mode. If the need may arise to typeset a whole passage
+of transcribed Malayalam in capital letters, the trick can be done
+by enclosing it between {\tt\char"5E\char"5E} and
+{\tt\char"5E\char"5E}.
+
+\beginsection Choosing Fonts
+
+With \MT\ you can use, as in English, several font-styles:
+regular, {\sl slanted}, and {\bf bold}. There is no {\it italic},
+since italic fonts, which have a different design are unknown in
+Malayalam typography, but the font is available in two flavours, the
+normal style, using the same line thickness every where in the
+character, and a `calligraphic' version, which shows differences in
+line thickness in the character, as if it was written with a
+calligraphic pen. Of course, the fonts are provided in several sizes:
+6, 8, 10, 12, and 17~points high.
+
+Every style and size is given a macro, which you have to enter to use
+a certain style and size. For example, if you want to use 12pt
+Malayalam calligraphic slanted, you say {\tt\bslash twelvemmcsl}. If
+you use it in normal mode, the font-change will be in effect the next
+time you switch to Malayalam mode, in Malayalam mode, it works
+immediately.
+
+Available fonts are:
+
+{\bigskip\tt\def\\{\bslash}
+\settabs6\columns
+\+\\sixmmr & \\eightmmr \cr
+\+\\mmr & \\mmsl & \\mmb & \\mmc & \\mmcsl & \\mmcb \cr
+\+\\twelvemmr & \\twelvemmsl & \\twelvemmb & \\twelvemmc &\\twelvemmcsl & \\twelvemmcb \cr
+\+\\seventeenmmr& \\seventeenmmb& \\seventeenmmc& \\seventeenmmcb\cr
+}\bigskip
+
+A sample of each font-style appears in the Appendix.
+
+\beginsection {\twelvebf Using the Pre-Processor}
+
+When you have finished typing (a part of) your document, you cannot
+feed it to \TeX\ immediately. First you have to run it trough the
+pre-processor, which will replace the Malayalam in transcription you
+entered with instructions for \TeX\ to typeset the correct glyphs. The
+pre-processor takes care of placing the vowel-signs around
+consonants, and using the correct conjuncts for consonants without
+intervening vowels.
+
+To pre-process you document, you type:
+\medskip
+{\tt ml} {\it input-file output-file}
+\medskip
+This will process the file for traditional script. If you want to use
+the nowadays normal reformed script, say:
+\medskip
+{\tt mlr} {\it input-file output-file}
+\medskip
+
+Actually, the commands {\tt ml} and {\tt mlr} are two small command
+files, which call two programs with various parameters that do the
+actual pre-processing. The first is called {\tt patc}, which takes
+care of Malayalam-transcription mode, the second is {\tt mm} which
+task it is to do the contextual analysis for the Malayalam script.
+If you don't use Malayalam transcription in your document, you can
+run only {\tt mm} to save some time.
+
+\beginsection {\twelvebf Advanced Topics}
+
+This part of this guide explains how to use the components of
+\MT\ separately, and how to modify its tables, for
+example to change the transcription it understands, or to change the
+way it composes conjuncts. It should be read carefully, and care
+should be taken when you tamper with the tables, since several tables
+depend on each other in delicate ways. If you want to change the
+transcription only, the best way is to use Patc to translate your
+transcription to the standard transcription. To show you how this
+can be accomplished, I have include the file {\tt ack.pat}, that
+translates the transcription used on the {\tt alt.culture.kerala} newsgroup
+to the transcription used with {\tt mm}, assuming that Malayalam text
+is delimited with {\tt\dollar} in the source already (If they are
+missing, you should place them manually; it is a non-trivial
+task to have a computer automatically recognize Malayalam passages in
+English text). With this file, you can convert texts in this
+transcription by giving the command:
+
+\medskip
+{\tt patc -p ack.pat {\it input-file output-file}}
+\medskip
+
+\beginsection Patc
+
+Patc is a program that can translate patterns occurring in a input file
+to other patterns in the output file. It is fully table driven, and
+both the patterns it reads as well as those it outputs are defined in
+tables or {\it pattern-files}. It is an ideal tool to switch from one
+transcription scheme to another. Within the \MT\ package it
+is used to translate the easy-to-type transcription of Malayalam I
+adopted into a sequence of \TeX-commands that will produce scientific
+transcription. The transcription it reads and the commands it outputs
+are given in a pattern-file called {\tt mm.pat}.
+
+Patc should be called as follows:
+
+\medskip
+{\tt patc [-v] -p {\it pattern-file input-file output-file}}
+\medskip
+
+The {\tt -v} option tells {\tt patc} to be verbose, and the {\tt -p}
+option tells it that the next parameter given is the name of a
+pattern file. The last two
+parameters tells it to read from {\it input-file} and to write to
+{\it output-file}. The actual format of a pattern-file
+is described in the documentation that comes with {\tt patc}. (Read
+this first, the following sections assume knowledge of its contents)
+
+\beginsection mm
+
+{\tt mm} is the `actual' pre-processor, it translates the Roman transcription into Malayalam
+script. It uses the correct shapes for vowels depending on whether they
+appear initially or after a consonant, and selects the correct
+conjuncts. This program, too, is table driven.
+
+{\tt mm} is called by:
+
+\medskip
+{\tt mm [-{\it option}] [-t {\it transcription-file}] [-s {\it script-file}] {\it input-file} [{\it output-file}]}
+\medskip
+
+Available options are {\tt-v}, {\tt-V}, and {\tt-h}.
+The {\tt -v} option tells {\tt mm} to be verbose, if given,
+the pre-processor will inform you about files read.
+if you give the {\tt-V} option instead, it will also print
+a~{\tt.}~for every syllable output, and a {\tt+} every time it is forced
+to use a virama instead of a conjunct. When {\tt-h} is given, {\tt mm}
+will do nothing but print a help message.
+
+The {\tt-t} option tells {\tt mm} to read the {\it transcription definition} from
+the file given in the next parameter. The transcription definition defines which
+Roman characters are used to transcribe Malayalam characters. If it is omitted,
+{\tt mm} will use {\tt mmr.trs}.
+The {\tt-s} option tells {\tt mm} to read the {\it script definition} from the
+file given in the next parameter. The script definition defines which glyphs from the
+font are to be used to represent Malayalam characters in various
+contexts. If it is omitted, {\tt mm} will use {\tt mmr.scr}, which
+defines reformed script.
+
+The last two parameters tell {\tt mm} where to read its input from and
+where to put its output. Default, the name of the input file ends with
+{\tt.mm} and the name of the output file with {\tt.tex}.
+If the name of the output file is omitted, {\tt mm}
+will construct it from the input file name by replacing the extension
+of it with {\tt.tex}.
+
+{\tt mm} will look for it's transcription and script files in the
+current directory first, and then in the directory pointed at by the
+environment variable {\tt MMDIR}.
+
+\beginsection Transcription Files
+
+As stated above, a transcription definition tells the preprocessor
+how to interprete an input-file. It not only tells it which sequence
+of Roman characters stands for which Malayalam characters, but also how to
+separate Malayalam text from English text, which the pre-processor
+should leave untouched, and also tells the pre-processor how to
+recognize \TeX-commands (in a limited way) and comments --~which it
+strips from the input-file.
+
+A transcription definition is given in a {\it transcription file}.
+The general structure of a transcription file is the same as that of a patc
+file. Inside a transcription file, the following {\tt\@}-commands can
+occur: {\tt\@atbegin}, {\tt\@atend}, {\tt\@table}, and {\tt\@end}.
+
+{\tt\@atbegin} defines which patterns will start
+and {\tt\@atend} defines which patterns that will end Malayalam mode.
+You can give several patterns, in double quotes, on the same line as the
+command is. A quick glance in {\tt mm.trs} will learn you that, apart
+from the {\tt\dollar}-sign, you can also use
+{\tt<{}malayalam>} to start Malayalam and {\tt<{}/malayalam>} to end it.
+Further, {\tt<{}mlr>} and {\tt<{}/mlr>} are provided to
+delimit reformed script, while {\tt<{}ml>} and
+{\tt<{}/ml>} delimit traditional script, so that you can use both
+in the same document, in which case you will have to run the pre-processor
+twice on the input-file. These delimiters are provided, in case
+you want to be more clear about the language used, or want to use the
+{\tt\dollar}-sign for some other purpose. Imagine writing a book about
+the relationships between Dravidian languages, in which most of the
+examples are from Tamil, I guess you would prefer to reserve the
+{\tt\dollar}-signs for Tamil then (but in that case you will have to
+remove them in the current transcription files).
+
+{\tt\@table} starts the table of patterns that are used for
+transcribing Malayalam characters. Each following non-empty line until
+the next {\tt\@}-command is considered to be an entry in the table. The
+format is basically the same as that of the {\tt\@patterns}-tables of
+patc, but you may not use pattern-set switching, and an extra action,
+{\tt=} is added. This action maps a transcription pattern to an
+internal code. Extreme care is required when changing these codes,
+since they are hardwired into the pre-processor, that knows that some
+of them are consonants, and others vowels, and uses that knowledge to
+perform its task. Also, the same codes are used in the script
+definition to identify characters. The codes should match in
+the transcription-table, internally in the pre-processor and in the
+script-file.
+
+Finally, {\tt\@end} tells the preprocessor the transcription file has
+ended. It will not try the parse the rest, but close immediately after
+reading this command. If a file ends before the {\tt\@end} command is
+seen, the pre-processor will complain, but that is nothing to bother
+about.
+
+\beginsection Script Files
+
+A script files contain a script-definition. A script definition tells the
+pre-processor how to place graphical elements to represent a string of
+characters. Because the output of the pre-processor is fed to \TeX\
+for actual typesetting, the script file contains \TeX-commands to
+typeset those graphical elements, to place them on top or below of
+another, etc. The general structure of a script file is the same as
+that of a transcription file, but, since scripts can be quite
+complicated, it can (and will) contain much more commands. In a script
+file you will find the following commands: {\tt \@malayalam,
+\@atbegin, \@atend, \@atbeginsyllabe, \@atendsyllabe, \@prebuild,
+\@primary, \@secondary, \@reepham{\rm, and} \@end}.
+
+The {\tt\@malayalam} command tells the pre-processor that it is
+dealing with Malayalam script. It must be given as the first command
+in a script file. At this time the pre-processor does not understand
+any other script, but if it will in future, it will be functional,
+since pre-processor needs to know which script it is dealing with,
+since not all peculiarities of Malayalam script are expressed in
+general mechanisms defined in a script file.
+
+{\tt\@atbegin} defines the sequence that is output every time the
+pre-processor enters Malayalam mode. At this time the file {\tt
+mm.scr} it contains a begingroup brace and a \TeX-command that selects
+the current Malayalam font.
+
+{\tt\@atend} defines the sequence that is output every time the
+pre-processor leaves Malayalam mode, currently only a endgroup brace.
+
+{\tt\@atbeginsyllabe} and {\tt @atendsyllabe} define the sequences
+that are output at the begin respectively the end of every syllable. In
+{\tt mm.scr} you will find commands that make a separate h-box of
+every syllable.
+
+{\tt\@prebuild} starts a table that defines a sequence of
+\TeX-commands for each character and for sequences of characters for
+which the general construction method will fail. Each non-empty line
+of the table describes how to typeset a sequence of one or more
+characters. The first element of the line is the character sequence in
+the character string, the second element the sequence of \TeX-commands
+that will produce its graphical representation. If the pre-processor
+encounters a single character for which no way of typesetting it is
+given in this table, it will complain, and forget the character.
+
+{\tt\@primary} starts a table that defines the \TeX-commands for each
+character and for sequences of characters when they occur at the start
+of a syllable. Every entry in this table contains three elements. The
+first is the character-sequence, the second the \TeX-commands that
+will be placed in front of the syllable, the third the \TeX-commands
+that will be placed after it. In {\tt mm.scr} this table is very
+short, since Malayalam script does not modify the first letters of a
+syllable (as in Devanagari), but the last ones. The only entry
+describes the reepham character.
+
+{\tt\@secondary} starts a table that defines the \TeX-commands for each
+character and for sequences of characters when they occur at the end
+of a syllable. The table has the same format as the {\tt\@primary}
+table, but in {\tt mm.scr} it is much longer, since it defines the
+glyphs for all the vowel-signs, and for the secondary variants of
+$ya$, $ra$, $la$, and $va$.
+
+{\tt\@reepham} tells the pre-processor that a traditional style
+reepham is used: a little upright stroke centered above the
+consonant (cluster). This command is needed because otherwise, the
+pre-processor will center the reepham, incorrectly, above the whole
+syllable.
+
+\beginsection Macros defined by \MT
+
+The traditional Malayalam script is so complicated, that it was impossible
+to fit all needed glyphs into a single \TeX-font. Therefore, a Malayalam
+font consists of two physical fonts, one with characters at normal size,
+called the {\it base-font}, and
+one with smaller sized characters, called the {\it sub-font}, that can be
+used to build conjunct characters on the fly.
+
+One can be tempted to use a normal font for a smaller size for this purpose,
+but that wouldn't work out as nice, since smaller sized fonts are
+normally also drawn with thinner lines, while the sub-font is drawn with
+exactly the same pen as the base-font --~and also some other parameters
+are set in such a way that composing conjuncts will work fine.
+
+The pre-processor uses a macro ({\tt\bslash Z}) to switch to the sub-font,
+if a glyph from that font is needed. It is not aware of the current style used.
+This means that {\tt\bslash Z} has to be redefined to select the correct
+sub-font, depending on current style. This is done behind the scenes when
+you select a font style.
+
+The macro that selects a font style, sets the base-font, the sub-font, and
+a corresponding roman font from with several punctuation marks are borrowed, and,
+when in Malayalam mode, makes the base-font current, otherwise the base-font
+is made current when Malayalam mode is entered.
+For a font styles in Malayalam three fonts need to be loaded in as follows:
+
+\bigskip
+
+\settabs\+{\tt XfontXtwelvemmfXmm12sXXXXXXX}&second\cr
+{\def\\{\bslash}
+\+{\tt\\font\\twelvemmf=mm12} & load the base-font\cr
+\+{\tt\\font\\twelvemmsf=mmz12} & load the sub-font\cr
+\+{\tt\\font\\twelverm=cmr12} & load the roman font for punctuation marks\cr
+}
+
+\bigskip
+
+An example of a macro to select a style is
+
+\bigskip
+
+{\def\\{\bslash}\def\{{\char"7B}\def\}{\char"7D}\def\perc{\char"25}\tt
+\+\\def\\twelvemmr\{\perc & {\rm to select {\tt\\twelvemmr}:} \cr
+\+\quad\\let\\mmcurf=\\twelvemmf & {\rm define the current base-font,} \cr
+\+\quad\\let\\mmcursf=\\twelvemmsf & {\rm define the current sub-font,} \cr
+\+\quad\\let\\mmcurrm=\\twelverm & {\rm define the current roman font,}\cr
+\+\quad\\mmcbls=15.6pt & {\rm set the current baselineskip,} \cr
+\+\quad\\ifmmmode\\setmm\\fi\} & {\rm and if we are in Malayalam mode select it.}\cr
+}
+
+\bigskip
+
+If you wish to include more styles, you should define new font selection
+macro's following this example. The baselineskip should be larger than
+for roman text, since Malayalam script tends to have taller characters.
+
+\bigskip
+
+The \TeX-macros given in {\tt mm.scr} to compose glyphs are all
+one-letter macros.
+They are defined in the file {\tt mmmacs.tex}. Care is taken that they
+do not redefine standard \TeX\ macros, and you should not redefine
+them in your document. They are the following:
+
+\bigskip
+
+{\tt\bslash<\#1>}: typeset glyph number {\tt\#1} from the current font.
+
+{\tt\bslash B\#1\#2}: put {\tt\#2} centered below {\tt\#1}. This is used,
+for example, to build <ml>zhu</ml> from <ml>zha</ml> and
+<ml>{}<<u</ml> in traditional script.
+
+{\tt\bslash M\#1\#2}: put {\tt\#2} right below {\tt\#1}. This is used to
+build, for example, to build $pla$ from $pa$ and ${}<<la$. Note that if the subscribed character is
+wider than the character it is subscribed to, the width of the resulting box
+will be adjusted. This happens when <ml>pra</ml> is build from <ml>pa</ml>
+and <ml>{}<<ra</ml>.
+
+{\tt\bslash T\#1\#2}: put {\tt\#1} centered on top of {\tt\#2}. This is
+used to position the reepham stroke in traditional script.
+
+{\tt\bslash Z}: switch to the subfont, the font that contains the
+somewhat smaller glyphs that are subscribed to characters.
+
+{\tt\bslash R\#1\#2}: decrease the height of box {\tt\#2} by {\tt\#1}.
+
+{\tt\bslash K\#1}: kern {\tt\#1} em.
+
+{\tt\bslash X\#1}: equivalent to {\tt\bslash hbox\#1}.
+
+%%%%%%%
+
+\input tamil.tex
+
+\input dng.tex
+
+\bye
+
+%%%%%% end of mmguide.txt