kalita@linc.cis.upenn.edu (Jugal Kolita) (03/24/91)
Hi!
I am trying to create a font for an Indo-Iranian language called
Assamese and am having a few problems to which I have no
solutions. I would appreciate if someone who knows MF well would
kindly respond to them.
THE PROBELM: PRINTING VOWELS
----------------------------
The way vowels are printed depends on the context. In
some cases the vowel is printed as itself.
But, the more interesting case is when the
vowel follows a consonent and is replaced by
a different character (which is a "short" form of
the vowel--called a {\em kar} or sign).
For example, let us take the vowel `a' as in the English
word `car' which can be phonetically written as `kar'
(or, let's so assume).
When we print the word `kar' in Assamese, what we actually
print is something like `k|r' where the vertical
bar is a "short" form or sign for the vowel `a'. This is
because the vowel `a' follows a consonent `k'.
Let us take another more complex example. There is a vowel that
corresponds to the dipthong "oe" (Let's assume it
can be typed as one character--say capital `U').
It's printed as itself
when
it is the first letter of a word or in some other
special situations. But, when it occurs after
a consonent, say `k' as in `kUr', ther
way it is printed as something like `[k|r' where the
vowel's short form or sign has two parts
a) one (i.e., the `[')
occuring before the consonent `k', and
b) the other (i.e., the `|')
occuring after the consonent.
LIGTABLES DON'T WORK
--------------------
Since I will type the original text in Roman script, I was trying to
use ligtables to replace vowels by the proper printed characters
depending on context. But, ligtable does not allow you to
replace a single character (e.g. the `U' above) by two
or more characters. For example, in the example of `U' above,
I would have liked to have a ligtable entry similar to
"k": "U" =: "[" "k" "|";
That is, replace the sequence of
two characters "kU" (i.e., `k' followed by `U')
by a sequence of three characters "[k|".
This is, of course, illegal.
Ligtables don't even seem to replace a single character by
some other character. That is, it does not allow an entry similar
to
"k": "a" =:"k" "|";
That is the consonent `k' remains as it is, but the
vowel `a' is replaced by its sign `|'. (In other words,
replace the sequence "ka" by "k|").
-----
If any of you know how I might handle this problem, I would appreciate
very much your letting me know.
Jugal Kalitadhosek@euler.claremont.edu (Don Hosek) (03/24/91)
In article <39672@netnews.upenn.edu>, kalita@linc.cis.upenn.edu (Jugal Kolita) writes: > When we print the word `kar' in Assamese, what we actually > print is something like `k|r' where the vertical > bar is a "short" form or sign for the vowel `a'. This is > because the vowel `a' follows a consonent `k'. You need TeX 3.X/MF 2.X to handle the things I'm describing; these features might *not* be in your MFbook if it's older than about a year. For XY->Xy, the ligtable entry looks like ligtable "X": "Y" |=: "y"; > Let us take another more complex example. There is a vowel that > corresponds to the dipthong "oe" (Let's assume it > can be typed as one character--say capital `U'). > It's printed as itself > when > it is the first letter of a word or in some other > special situations. But, when it occurs after > a consonent, say `k' as in `kUr', ther > way it is printed as something like `[k|r' where the > vowel's short form or sign has two parts > a) one (i.e., the `[') > occuring before the consonent `k', and > b) the other (i.e., the `|') > occuring after the consonent. Two ways to do this one: we have XY->xXy, so we could define xXy to be a single character and have "X" : "Y" =: "xXy"; however the number of "xXy" combinations might be prohibitively large, so we might also want to try an approach along the lines of "X" : "Y" =:| "xX"; % xX is a single char, we now have "xXY" "xX" : "Y" |=: "y"; % and now we have xXy (two characters) a third possibility would be to have the character at "Y" be the post-consonantal form "y" and use the boundary char ligatures. For a complete description of the new ligtable opcodes without buying the MFbook, get the file tex3.dif from ymir.claremont.edu in [anonymous.sources.tex3_1]. btw, I feel this presentation is superior to that in the MFbook). -dh --- Don Hosek | To retrieve files from ymir via the mailserver, dhosek@ymir.claremont.edu | send a message to mailserv@ymir.claremont.edu Quixote Digital Typography | with a line saying send [DIRECTORY]FILENAME 714-625-0147 | where DIRECTORY is the FTP directory (sans ---------------------------+ "anonymous") and FILENAME is the filename, e.g. "send [tex]00readme.txt". There is a list of files in each directory under the name 00files.txt. Binary files are not available by this technique.