Malayalam Related Topics
[See
instructions to install an old orthography Malayalam Unicode font which is required to read the posts below]
മലയാളം യുണീക്കോഡ് ഫോണ്ട് ഡിസൈന് ചെയ്യുമ്പോള്
പാച്ചാളത്തിന്റെ
അഭ്യര്ത്ഥനക്ക് മറുപടിയായി എഴുതുന്നത്:
1. Monospace/fixed-width മലയാളത്തില് സാധ്യമാണെന്ന് തോന്നുന്നില്ല. [
refer]
2. Serif-കള് മലയാളത്തിന് എന്തുമാത്രം ചേരും എന്ന കാര്യത്തിലും സംശയമുണ്ട്. ഹാഷിമിന്റെ
നിളയിലധികം പോയാല് വൃത്തികേടാവാനാണ് സാധ്യത. മലയാളം അക്ഷരങ്ങള്ക്ക് ഉരുളിമയാണ് ഭംഗി എന്നത് കൊണ്ടാണങ്ങനെ. വേറേയും പല ഫോണ്ട് ഡിസൈനുകള് ഹാഷിമിന്റെ സൈറ്റില് കാണാം.
3. സ്റ്റാക്ക് ചെയ്യുന്ന കൂട്ടക്ഷരങ്ങള് ഉണ്ടാക്കുമ്പോള് പൊതുവെ കാണുന്ന പരിപാടി രണ്ടാമത് വരുന്ന അക്ഷരത്തിനെ പോയിന്റ് സൈസ് കുറച്ച് ആദ്യത്തേതിന്റെ താഴെകൊണ്ടുവയ്ക്കുകയാണ്. A chain is as strong as the weekest link എന്നു പറയുമ്പോലെ, ഒരു ഫോണ്ടിന്റെ പോയിന്റ് സൈസ് അതിലിങ്ങനെ താഴെ കൊണ്ടുവച്ച അക്ഷരത്തിന്റെ പോയിന്റ് സൈസാണ്. ഇത്
ഇപ്രകാരമുള്ള പ്രശ്നങ്ങളുണ്ടാക്കും. ഇതിനൊരു പ്രതിവിധിയായി ഞാന് ഒരുപായം പറയാം.
കൂട്ടക്ഷരങ്ങളല്ലാത്ത വ്യഞ്ജനങ്ങളെ നിരത്തി എഴുതി ഡോക്യുമെന്റിലെ പോയിന്റ് സൈസ് കുറച്ചുകൊണ്ടിരിക്കുക. 4-ലോ 6-ലോ എത്തുമ്പോള് അത് വായിക്കാന് പറ്റാതാവും. അങ്ങനെ സംഭവിക്കുന്നതിന് തൊട്ടുമുമ്പിലെ പോയിന്റ് സൈസ് ഓര്ത്തുവയ്ക്കുക. തല്ക്കാലം അത് 8 ആണെന്നിരിക്കട്ടെ. ഇനി കൂട്ടക്ഷരങ്ങള് ഡിസൈന് ചെയ്യുമ്പോള് അവയെ 8 പോയിന്റ് സൈസില് വായിക്കാന് പറ്റുന്ന രീതിയില് ചെയ്യണം. പറ്റുന്നില്ലെങ്കില് ആ കൂട്ടക്ഷരം വേണ്ട; അതിനെ ചന്ദ്രക്കലയിട്ട് പിരിച്ചെഴുതിയാല് മതി.
4. മലയാളത്തിന് സ്വന്തമായ പല എഴുത്ത് രീതികളും ഉണ്ട്; ഉദാഹരണം: ചുവരെഴുത്ത്. ഇതൊക്കെ ഫോണ്ടുകളായി വരണം.
5. ഇല്ലാത്ത കൂട്ടക്ഷരങ്ങള് ഉണ്ടാക്കരുത്. അതിന്
ഈ ലിങ്ക് ഒരു ഗൈഡായി ഉപയോഗിക്കാം.
6. അവശ്യം വേണ്ട കൂട്ടക്ഷരങ്ങള് ആദ്യം ഉണ്ടാക്കിയ ശേഷം ഫോണ്ട് റിലീസ് ചെയ്യുക. അപൂര്വമായ കൂട്ടക്ഷരങ്ങള് അല്പാപ്പമായി പിന്നെ ചേര്ത്താല് മതി. ഫോണ്ടിന്റെ ക്യാരക്റ്ററാണ് കൂടുതല് പ്രധാനം.
Are all conjuncts practical?
‘ഷ്ട്ര‘… ഇതുകൊണ്ടാണ് കമ്പ്യൂട്ടറില് ആണെങ്കിലും എല്ലാപഴയലിപി കൂട്ടക്ഷരങ്ങളും ഒരു ഫോണ്ടുണ്ടാക്കരുത് എന്നു പറയുന്നത്. ‘ഷ’യുടെ അടിയില് കിടക്കുന്നവന് ആരെന്നറിയാന് കുറേ ഏറെ ‘Text size’ പൊക്കേണ്ടിവന്നു. കുത്തനെ സ്റ്റാക്ക് ചെയ്യപ്പെടുന്ന കൂട്ടക്ഷരങ്ങള്ക്കാണീ പ്രശ്നം. അതില് താഴെവരുന്ന ചെറിയവന് ഒരു കൂട്ടക്ഷരമായിപ്പോയാല് മുകളിലെ അക്ഷരം വായിക്കാന് പറ്റുന്ന പോയിന്റ് സൈസില് താഴെയുള്ളതിനെ വായിക്കാന് പറ്റില്ല. അതുകൊണ്ട് അത് ഫോണ്ടില് നിന്നൊഴിവാക്കണം. അല്ലെങ്കില്, മാതൃഭൂമി ഫോണ്ട് ‘സ്ത്ര’ എന്ന കൂട്ടക്ഷരങ്ങളിലും മറ്റും ചെയ്യും പോലെ ഒരു ‘Reduced form’ കണ്ടുപിടിക്കണം.
Monospace fonts for Malayalam?
May not be.. The real issue is stacked conjuncts. Nobody should/can enforce that one particular conjunct should be there in all monospace fonts. Similarly about which conjunct should not be in it. So both 'സ്ന' and 'സ്ന' should occupy same text width (pitch) - which is ridiculous.
Unicode: Suggestions & Proposals
Unicode: Chillu + Consonant => Conjunct ?
Here we discuss the pitfalls in allowing Malayalam Chillu letters to form conjunct with a subsequent consonant. Also suggests the specific scenarios where it should be allowed.
Conventions used
- Pronunciations are transliterated to Latin and written inside forward slashes (//).
- Unicode code points for characters used in this document:
DDA – U+0D22
NNA – U+0D23
RRA – U+0D31
Virama – U+0D4D
Introduction
We are looking at the issues of writing a text in an old orthography font and reading it in new orthography and vice versa. Specifically, we are looking at the possibility of any Chillu-C1 + C2 sequence forming conjuncts in this mixed context.
There is no General rule for conjunct formation
Argument is through examples:
Uniqueness Rule Violation
I agree that there could be a Chillu-conjunct formation rule for a proper subset of Chillu-C1 + C2 permutations. Even then, due to Uniqueness Rule, we cannot allow Chillu-C1 + C2 and C1 + VIRAMA + C2 forming same conjunct.
This has a side effect: Many words like /alpam/ can potentially have two spellings - one with chillu-LA ( )and other with /lpa/ conjunct ( ). Both of these spellings are used synonymously in contemporary Malayalam text. This is very similar to two spellings of 'colour' ('color' is the corresponding American spelling). A British English font should not try to convert 'color' to 'colour'. It should remain as intended by the author. Same should be the case with two spellings of /alpam/ in Malayalam. It should be displayed as intended by the author(s) of the text.
So, only C1 + VIRAMA + C2 forms the conjunct.
Exceptions?
Please see discussions on Malayalam eyelash-repha and on /nta/.
Unicode: issues with /nta/ & /ta/ encoding
Even though, following arguments are detailed only for /nta/, they are equally applicable to /ta/ as well.
Representation of /nta/ is closely related to what stands for. Malayalam’s behavior of representing /ta/ and /rra/ with same letter had definitely contributed to the confusion of what is - /nta/ or /nrra/. Here are the details of the two ways in which it being used:
- is used to represent /nrra/ for writing English words like ‘Henry’ () or ‘Enroll’ () in Malayalam, while represents /nta/. The syllable /nrra/ is not native to Malayalam and used only for foreign words. A casual reader typically overlooks this difference and considers both and to be different the renderings of the same syllable. Their difference in pronunciation, if required for a foreign word, is inferred from the context.
- is used in many new orthography fonts to represent /nta/. Typically a font places itself to be somewhere in the middle of new and old orthographies choosing only a convenient subset of conjuncts from old orthography. As an example, Mathrubhumi is the ASCII Malayalam font, which is the closest available to old orthography. Even in that, /nta/ is rendered as . So this usage is very common.
These facts give way to two quite reasonable inputting scenarios:
- There can be Malayalam keyboard layouts with specific keys for Chillu-NA() and RRA (); and nothing for /nta/.
- Even if, there is a specific method for inputting /nta/, a writer may choose to input /nta/ as Chillu-NA() and then RRA() adjacent to it.
Along with above inputting scenarios following not-so-obvious facts should also be considered:
- Since Malayalam has, just one letter to represent /ta/ and /rra/, and are essentially the same in the graphemic deep structure: Chillu-NA + RRA
- When used as /nta/, is considered a single unit. While in /nrra/ context, it is used as having two separate components. It is evident from the reordering of left vowel signs in following examples: , . The reordering position of the left vowel sign cannot be deduced without knowing the word context from higher text processing. This is the serious unsolved problem if we want to be considered a fallback for stacked .
Thus, we end up with following choices for encoding stacked :
- Graphically , can be considered as Chillu-NA + subscript form of RRA. Since Chillus are not encoded (yet), as per pr#37, the encoding for will be NA + VIRAMA + ZWJ + ZWJ + VIRAMA + RRA. This definitely is an obscure sequence! There is one more drawback to this encoding. When the font lacks subscript RRA, it rendering engine will fall back to explicit virama + full RRA form. This is not at all desired.
- Consider as a conjunct ligature of NA and RRA. This will lead to much simpler encoding NA + VIRAMA + RRA for and Chillu-NA + RRA forms . This choice invalidates use of for /nta/. Now about fallback.. From pr#37, the fallback to level 2 can result half-form of NA (Chillu-NA) + full RRA form. This infact is the desired result. If chillu-NA is separately encoded, we would loose this fallback advantage in this method. Nevertheless, it will have the reordering problem mentioned above. That can healed to an extend by considering NA + VIRAMA + RRA as /nta/ always and NA + VIRAMA + ZWJ + RRA as /nrra/. On detecting, NA + VIRAMA + RRA, rendering engine can make sure that the left vowel sign is placed before the NA-form regardless of whether subscript-RRA is present or not.
- Chillu-NA + RRA forms the conjunct () to represent /nta/. This conjunct is rendered only if the font has the subscript form of RRA. As per the Zero-Width-Non-Joiner’s usual meaning, Chillu-NA + RRA + ZWNJ should produce in every font. Then, as per Uniqueness rule, NA + VIRAMA + RRA should not form /nta/ conjunct. To avoid the reordering problem, on detecting Chillu-NA + RRA sequence without trailing ZWNJ, rendering engine can make sure that the left vowel sign is placed before the NA-form regardless of whether subscript-RRA is present. This option will allow Chillu-NA to be encoded.
Unicode: half-റ്റ: to encode or not
There are my reservations on introducing half-റ്റ:
- It can violate Uniqueness Rule because half-റ്റ and റ will have same rendering.
- We are standardizing graphemes (ലിപി) in Unicode; not phonemes (വർണ്ണം). Please refer this article to understand clear distinction between the two in the context of Malayalam.
- Is this a better solution to any existing issues?
Unicode: Word split criterion
A word splitting criterion is required for hyphonation, truncation or wrapping. Following restriction should be enough for Malayalam:
A word
...AB... can be split as:
...AB...ONLY IF A is not virama AND B is not a vowel symbol, chillu letter, anuswara or virama.This rule has got problems with words like ദൃക്സാക്ഷി, which will not get split as ദൃക്+സാക്ഷി (the best split that can happen to this word). But this problem has more to it than just the case of word splitting.
See this description.
Unicode: Issues with Visible Virama(ചന്ദ്രക്കല)
Please read
functions of Visible Virama first.
Unicode system assumes the
virama model is equivalent to
subjoint model. So Unicode recognizes only function-2 for Visible Virama of Malayalam. This implies that,
C1 + Visible Virama + C2 is essentially same as
C1 + sign/combining form of C2. Eventhough, it is true in many cases, it does not hold good in some. The specific examples are detailed below.
Issue of /ta/ - റ്റ (RRA+VIRAMA+RRA)ZWJ and ZWNJ are format characters, directing a font to select from two or more semantically same renderings. Since /ta/ is not encoded, it is possible to produce two semantically different words, which differ only by ZWNJ in their Unicode representation:
കാറ്റാണി meaning 'Car Queen' and shows Visible Virama.
കാറ്റാണി meaning 'this wind is..' and does not show Visible Virama.
This specific issue could be resolved by encoding /ta/.
Issue of symbols for semi-vowelMalayalam Unicode does not encode the symbols of semi-vowels: യ(YA), ര(RA), ല(LA), വ(VA). As in the previous case, we can produce two semantically different words different only by ZWNJ:
പന്ത്രണ്ട് meaning 'ball-two'. Visible Virama assumes
function 1 here.
പന്ത്രണ്ട് (meaning 'twelve')
Another example pairs where Visible Virama assuming
function 3:
സത്യജ്ഞൻ, സത്യജ്ഞൻ
സത്രക്ഷണം, സത്രക്ഷണം
This specific issue can be resolved by encoding symbols for above mentioned semi-vowels also.
Issue is not specific to റ്റ or semi-vowelsConsider the word
. It is wrong to render it as
. The issue here is this: there is noway a writer using a font with very few conjuncts, can makeout that a reader using a font with almost all conjuncts is viewing this word as
.
ImplicationsThus,
it is 'unsafe' to use function-1 and 3 of Visible Virama. Unfortunately, in many cases, it is difficult/impossible to decide which function of Visible Virama is being used without seeing the whole word.
This is a serious, unsolved problem in Malayalam Unicode design. By encoding /ta/ and symbols of semi-vowels, we may be able to 'contain' it to an extend. Still the issue of
(and other words like that) still remains.
Behaviour of Visible Virama in Unicode system is drastically different from the rest of the graphemes, say, the sign of AA. The sign of AA is rendered if and only if the codepoint for sign of AA is present. But the rendering of Visible Virama is conditional and relies on various factors like font capabilities, whether joiners are used etc. It is very difficult (if not impossible) to get these conditions right for all words and names possible in Malayalam. Instead, we may need to go for simple, straight forward way to encode Visible Virama, exactly like sign of AA.
However, straight forward introduction of Visible Virama as a separate codepoint can violate
Uniqueness Rule: Let us assume that Visible Virama(VV) has a code-point separate from Virama. Then, both PA + VV and PA + VIRAMA will get rendered the same - പ്.
There fore, when we introduce Visible Virama into the codespace, Virama should be removed. Then it is essential to adopt the subjoined model with signs/combining forms of all consonants into the codespace. This is essentially rejecting virama model and going for subjoined model with Visible Virama.
This decision would imply following:
- All fonts will be capable of producing most of the conjucts. Input machanism will decide whether a writer is using conjucts or VV seperated consonants.
- A word written with conjuncts can have different spelling from equivalent one written using VV seperated consonants.
- As of today, reader decides how to see a word by his selection of a font with lot of conjuncts or minimal number of conjuncts. When we go with subjoined model, writer will decide this by his selection of input method.
Unicode: Concerns unique to /ta/ - റ്റ
This Dravidian alphabet is exclusive to Malayalam among Indic scripts. It stands for both double and single of the sound /ta/ as in റ്റുമാറ്റൊ (single) and പറ്റി (double). For native Malayalam words, this sound never exists outside a conjunct or a double. For words adopted from English, the same റ്റ could represent single /ta/ sound as well. Right now റ്റ is being generated in Unicode as RRA + VIRAMA + RRA. That is, റ്റ is considered the double of റ which sounds /rra/ and obviously different from /ta/.
It is not wrong to write the word ‘സിറ്റി’ as ‘സിററി’. These two words have, different Unicode representations. Instead, Unicode equates ‘സിറ്റി’ to ‘സിറ്റി’ which unfortunately is wrong. That essentially means, Unicode's position of /ta/ as the double of /rra/ is not achieved.
If given a codepoint, റ്റ can form conjuncts with consonants like ന, സ etc to get ന്റ, സ്റ്റ etc. with റ്റ being in the C2 position.
Unicode: Functions of Visible Virama (ചന്ദ്രക്കല)
In Malayalam, following are the functions of Visible Virama:
- Quarter maatra(മാത്ര) vowel sounding similar to ഉ(U), അ(a) or ഇ(I); called /samvruthokaaram/. Examples: അവന് (meaning 'for him'), which is a different lexeme compared to അവൻ(meaning 'he'). That is, graphic function of representing quarter ഇ(I) vowel and phonetic representation of replacing default vowel with the quarter ഇ(I) vowel to the previous letter.
- Indicates the preceding consonant C1 is forming a conjunct with succeeding consonant C2. Example: ഉണ്ട which is same as ഉണ്ട. Here Visible Virama does not produce any sound what so ever - zero മാത്ര(maatra). That is, phonetic function of vowel remover and graphical function of joiner.
- To represent the component boundary in a composite word. Example: ദേശ്രാഗം (meaning 'raga - desh') which is different from ദേശ്രാഗം (meaningless). Another example would be ‘ദൃക്സാക്ഷി’ which should not be rendered as ‘ദൃക്സാക്ഷി’. That is graphical function of boundary seperator(non-joiner) and the phonetic function of removing default vowel from previous letter.
Unicode recognizes functionality-2 alone with visible virama.
Reference: കേരളപാണിനീയം, പീഠിക - A. R. Raja Raja Varma
Unicode: Malayalam eyelash repha
Following rule could be used to produce eyelash repha conjunct in old orthography font, while producing explicit Chillu-RA in new orthography font:
Chillu-RA + C2 => eyelash-repha over C2, if available in the font.
Example:
+ =>
We can use joiners – ZWJ & ZWNJ - in their usual meaning: respectively forcing or avoiding the conjunct formation.
As per Uniqueness Rule, RA + VIRAMA + C2 should not form eyelash repha conjunct.
This method has the advantage that reader gets the choice to view a word with eyelash-repha or explicit Chillu-RA. eg: (with eyelash-repha) and (with explicit Chillu-RA). Both the words are valid, but different renderings of the same word.
Unfortunately, all the words with eyelash-repha are not like that. For example, the word (meaning 'subject matter') has no representation with explicit Chillu-RA. This can violate Uniqueness Rule because it is wrong to write without eyelash-repha. Instead, it should be correctly written as which is a different spelling.
To solve this issue, we may be forced to bring in a separate codepoint for Malayalam eyelash-repha. However, that would remove the reader's choice on viewing or not viewing eyelash-repha in words like .
Archives
09/04
12/04
03/05
05/05
06/05
07/05
02/06
06/06
08/06