# Re: Tamil number system

Date: Thu May 25 2000 - 02:02:12 EDT

Dear Yung-Fong Tang,

I really appriciate your efforts towards ur interest on Thamizh numbering and conventions. Thank you very much.

Comming to the point, I acknowledge Kenneth Whistler's words about the numbering convention in Thamizh that is now currently used. 99.999% of Thamizh people use Arabic numerals (1, 2...) only. And may be some 5% Thamizh people know the shapes of Thamizh numbers and the traditional way of using it. In my native place (Chennai, TN, India) I can rarely see Thamizh numerals used in Car and Govt Bus number plates and that to writen in the Arabic numeral fashion (without the symbol for 10s, 100s and 1000s). It is widely accepted among the Thamizh sholars and we can see the Thamizh numerals writen in Arabic fashion in some Thamizh books of last 50 to 80 years. This is mainly because of the incompatabillity with other number systems, lengthy numbers and some what confusing when used for manual calculations.

So, on behalf of all the Thamizh people in the whole world, I can say that it is better to use the Thamizh numerals in the Arabic numbering fashion. And in order to use the tratitional Thamizh numbering convention, it is better to have two functions like TamilModernToText and TamilTraditionalToText . In the following I have listed the coding for both of the functions, with the coding convension of Mozila.

static void TamilModernToText (PRInt32 ordinal, nsString& result) {
PRUnichar diff = 0x0BE6 - PRUnichar ('');
DecimalToText (ordinal, result);
PRUnichar* p = (PRUnichar*)result.GetUnicode ();
for (; nsnull != *p ; p++)
if (*p != PRUnichar (''))
*p += diff;
}

For this UNICODE for Thamizh must have to reserve the U+0BE6 for the zero. Since traditional Thamizh numeral is missing the ZERO sign, Arabic numeral '0' is used, and it is also accepted by Thamizh scholars. Now in UNICODE U+0BE6 is left blank.

static void TamilTraditionalToText (PRInt32 ordinal, nsString& result) {
PRUnichar yTens [] = {0x0BF0, 0x0BF1, 0x0BF2}, diff;
nsString aTens;
int i;
aOrd = 0;
result = "";
diff = 0x0BE6 - PRUnichar ('');

while (ordinal) {
ordinal /= 10;
aThou = aOrd / 3;
aRem = aOrd % 3;

aTens = "";
if (aRem > 0 && aRem < 3)
aTens = yTens [aRem - 1];

for (i = 0; i < aThou; i++)
aTens += yTens [2];

result = PRUnichar (aDig + diff) + aTens + result; } aOrd++; } }
I trust that both of the above functions can be perfectly used.
Please give me feed back for this, which is an Idea proposed by Yung-Fong Tang. I hope that Yung-Fong Tang will be satisfied by this.

Expecting your feed back and suggestons.

With Regards

--------------------------------------------------------------------------------

----- Original Message -----
From: Yung-Fong Tang
To: Unicode List
Sent: Wednesday, May 24, 2000 4:40 AM
Subject: Re: Tamil number system

Baki-
It seems your contribution to TamilToText in nsBulletFrame.cpp is incorrect. Can you work on a patch to fix it ?
Thank you for explain this to us. Have you try mozilla. It will be nice if you can help Baki to fix the Tamil list-style-type in our CSS extension.

Can someone explain to me how Tamil numbering system work ?
Unicode 3.0 have define 12 numerals for Tamil. How do they present a number ?In the book "Writing Systems of The World", Akira Nakanish, ISBN 0-8048-1654-9, page 58. It saidNumerals
1 2 3 4 5 6 7 8 9 10 100 1,000Tamil numerals have no sign for zero; thus, [1,000][9][100][8][10] 1980. Now only Arabic figures are used.I cannot figure out the exact algorithm/rule from this example. I would like some Tamil experts provide helps to me to understand it.1. Is that true that the 1 of the most significant digit will be omit so 1980 is [1,000][9][100][8][10] but not [1][1,000][9][100][8][10] ? U can represent it in both way 2. How about number > 9999 ? Is there numeral character for 10,000 ? 100,000 ? Or you *reuse* the [10], [100], [1,00] numeral characters? If so, how ? This system of numbering is used in very olden days. This type of numbering convension is very similar to the old Chinese numbering system. And you are correct in reusing [10] and [100] and [1000]. The only difference is that in Thamizh (Tamil) the writing direction is left to right while in Chinese it is from top to bottom.
3. What it will look like for the following number
a. 1980 -> [1,000][9][100][8][10] (example for expected answer format) or 1[1000]9[100]8[10]
b. 2980 -> 2[1000]9[100]8[10]
c. 11 -> [10]1 or 1[10]1
d. 456,987 -> 4[100][1000]5[10][1000]6[1000]9[100]8[10]7
e. 450,000 ->4[100][1000]5[10][1000]
f. 450,002 ->4[100][1000]5[10][1000]2 Thanks for your interest shown towards Thamizh (Tamil) language... which is one of the very old, rich language in the world.- Padmakumar.R(padmaxi_unicode@hotmail.com)

Previous Message:
----------------------------
The reason I ask is because mozilla now have code in the CSS style to handle tamil number as the list id, but I think the code is broken. See TamilToText() in CVS Blame for nsBulletFrame.cpp (1.44) http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/layout/html/base/src/nsBulletFrame.cpp for detail
Baki Bon contribute this code based on my Unicode paper, but I don't think he did the Tamil part right. My unicode paper could be found at http://people.netscape.com/ftang/paper/unicode16/part2.html
Kenneth Whistler wrote:
Frank,
Why are you asking, except out of curiosity? It doesn't seem
to me that the traditional Tamil numbering system is of any
significant computer interest. As Nakanishi says, the Arabic
numerals are used now, so localized formatting of numbers for
Tamil should use those.
But that said, the traditional Tamil system looks very much
like Chinese. Dropping the initial 1's makes sense to
me -- it is what Chinese and Japanese typically do when using
the traditional numbering system for Han.
But at any rate, for your examples, I would expect:
b. 2980 2 1000 9 100 8 10
c. 11 10 1
For the following, of course I cannot guess without knowing if
there are rare, higher number counters. I'll see if I can get
any information from Tamil speakers around here.
d. 456,987
e. 450,000
f. 450,002
--Ken

This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:21:03 EDT