மார்ச் 09, 2010

தமிழ் குறியீட்டு முறைகளில் எழுத்துக்களுக்கு உள்ள எண்கள்

Code points of characters in different Tamil encodings


எண்ணென்ப ஏனை எழுத்தென்ப இவ்விரண்டும்
கண்ணென்ப வாழும் உயிர்க்கு.
                                                                     -குறள், 392

தாங்கள் தமிழுக்கு குறியீட்டு மாற்றியோ(encoding coverter), விசைப்பலகை செயலியோ(keyboard driver) உருவாக்க எண்ணம் கொண்டிருந்தால் முதலில் ஒவ்வொரு தமிழ் எழுத்திற்கும் அந்தந்த குறியீட்டு முறையில் எந்த எண்களை(code point/ASCII value) ஒதுக்கியிருக்கிறார்கள் என்பதைத் தெரிந்து கொள்ள வேண்டும். டாம், ஒருங்குறியில்(unicode) தமிழ் எழுத்துக்களுக்கு ஒதுக்கப்பட்ட எண்களை ஒரு விரிதாள் கோப்பாக (spreadsheet) http://groups.google.com/group/freetamilcomputing குழுமத்தில் பதிவிட்டுள்ளேன். தங்களுக்குத் தேவைப்படும் மற்ற குறியீட்டு முறைமைகளுக்கு(எடு: பாமினி) தாங்களே அதனை விரிவுபடுத்திப் பயன்படுத்துங்கள். அதனைப் பதிவிறக்கி பயன்பெறவும்.



விசைப்பலகை செயலி உருவாக்குவதற்கு கீழ்காணுமாறு நிரலெழுதலாம்
if(keypressed == 'a')
print('அ');-----------------------------வழி 1

இதையே if(keypressed.value == 97) // 97 என்பது 'a'வின் ASCII மதிப்பு
print((char)\x0B85);---------------------வழி 2


குறியீட்டு மாற்றிக்கு ஒரு துளி
string tamTxt = "îI›" // TAMல் எழுதப்பட்ட "தமிழ்" ஆங்கில எழுத்தில் இவ்வாறு தோன்றும்
string unicodeTxt;
for (i=0 to i=tamTxt.length())
{
switch(tamTxt[i].AscVal) {
case 220: // TAMல் 'அ'விற்கான எண்
unicodeTxt[i] = (char)2949 // யுனிகோடில் ‘அ'விற்கு ஒதுக்கப்பட்ட எண்
.
.
.
தாங்கள் ஒரு நிரலில் 0B85, 2949... போன்ற எண்களைப் பார்க்கும் போது அவை எந்த எழுத்தைக் குறிக்கின்றன என்பது புரியாமல் போக வாய்ப்பிருக்கின்றது. ஜாவா, ஜாவா ஸ்க்ரிப்ட் போன்ற மொழிகளில் வழி ஒன்றில் உள்ளதுபோல் ஒருங்குறி(யுனிகோட்) எழுத்துகளை நேரடியாகவே நிரலில் உள்ளிணைக்க முடியும். அனைத்து நிரலாக்க மொழிகளிலும்(எடு:விபி) இது சாத்தியமில்லை. ஒவ்வொரு நிரல் மொழியிலும் தமிழை எவ்வாறு பயன்படுத்த வேண்டுமெனத் தெரிந்திருந்தாலே போதுமானது, அழகான தமிழ் மென்பொருளை நாமாகவே உருவாக்கிடலாம்.

3 கருத்துகள் :