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 Kalita
dhosek@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.