අයෙත් සිංහල යුනිකෝඩ් කතාවක්. මලදානේ කවදා ඉවර වෙයීද මන්දා.
මෙදා මුරේ අකිල දක්ශින මලයා සිංහල යුනිකොඩ් ගැන අටුවාක් මෙතන ලියලා තිබුනා. ඉඩක් තියනවානම් ගිහිල්ල බැලුවානම් හොදයී. මාත් ඉතින් අටුවාවට ටීකාවක් ලීවා. සීනි තියෙන තැනට කූබි එනවා වාගේ යූනිකෝඩ් තියෙනා තැනට අනිවාර්යයෙන්ම ඩොනල්ඩ් උන්දෑ එනවානේ. ඩොනල්ඩ් උන්දෑ ගැන දන්නේ නැති අයට මේ කීයන්නේ, ඩොනල්ඩ් උන්දෑයී සිංහල යුනිකෝඩ් සමූහයයී කියන්නේ හරියට රාමයී රාවනයී වගේ. ඉන්දියාවයී පකිස්තානෙයී වගේයී. නයයී මුගටියයී වාගෙයී. එක්කෙනෙක්වත් අත අරින්නේ නැහැ.
සිංහල යුනිකෝඩ් කාන්ඩේ හදාපු යුනිකෝඩ් එකෙන් තමයී මමත් ලියන්නේ. අනේ වාසනාවන්. ලියන්න කියන්න අපූරුයී. හැබැයී පුරශ්ණ නැතිව නොවෙයී. ඔක්කොටම ඉස්සෙල්ලා තියන පුරස්න මක්කැයී කියලා විස්තර කරලා ඉමුකො. මම අපේ පොඩ්ඩාගෙන් ඇහුවා, පොඩ්ඩෝ කියාපිය බලන්න "පොඩ්ඩා" කියන වචනෙට අකුරු කීයද කියලා. පොඩ්ඩා ගත්කටටම "තුනායී" කියාගෙන පොල්ලත් අරගෙන දිව්වා බැද්දට. මම කොම්පුටරෙට දාල [alert('පොඩ්ඩා'.length)] ඇහුවා කියාපිය බලන්න අකුරු කියද කියලා. කොම්පියුටරේ කියාපි හයයී කියලා. මේක හරිම මගුලයීනේ. එකම වචනෙට අකුරු හයකුයී තුනකුයී තියෙන්න බැහැනේ. ඔන්න ඉතින් කොම්පියුටර් ගැහීම පිලිබද වැඩි තේරුමක් නැති උන්දෙලා කියන්න පුලුවන්, අනේ අකුරු කීයක් උනත් අපිට මක්කටෙයී, අපි මේ යස අගේට ලියන්නෙයැයී කියන්නේයැයී කියලා. යුනිකෝඩ් අකුරු තියෙන්නෙ පෝස්ටර් අදින්න විතරක් නොවෙයීනේ. පරිගණක වැඩසටහන්, දත්ත ගබඩා වලත් ප්රායෝගිකව පාවිච්චි කරන්න පුලුවන් කමක් තියෙන්න ඕනේ.
උදාහරනයක් විදිහට අපේ ගුවන් තොටුපොලේ ආගමන විගමන පත්රිකාවේ යස අගේට කොටු ගහල නම ලියන්න ඉඩක් තියලා තියනවා. මට මතක හැටියට ඒකෙ කොටු විස්සක් තිහක් විතර තියනවා. විස්සයී කියමුකෝ. අපි කොටුවට අකුර ගානේ කොටු විස්සට අකුරු විස්සක් ලීවොතින් ඒ අකුරු විස්ස යුනිකෝඩ් වලින් කොම්පියුටරේට දාන්න ගියහම කොම්පුයිටරේ කියාපි මෙතන අකුරු තිහක් හතලිහක් තියනවා කියලා. ඉතින් අපි කොහොමෙයී දත්ත ගබඩාවේ ඉඩ කඩ වෙන් කොරන්නේ අකුරු විස්සෙ පත්රිකාවට. ඔන්න ආතක් බූතක් නැතිව අකුරු දෙසීයට තුන්සීයට ඉඩ වෙන්කොරෝතින් හරි. ඒ උනාට ඔය හැම චූට්ටන් ඉඩකටම මිලක් තියනවා. වියදමක් තියෙනවා. ඇහැට පේන්නෙවත් නැති සයීල ගොඩක් එකතුවෙලා සද්දන්ත අලි හැදෙනවා වාගේ, ඔය පොඩි පොඩි වියදම් අන්තිමට මහා වියදමක් වෙනවා.
ඉංගිරිසියේ අකුරු කීපයක් එකතු කොරලා එක සද්දයක් හදනවා. සිංහලේ කෑලි කීපයක් පූට්ටු කොරලා අකුරක් හදාගත්තාට හැම සද්දෙකෙටම එක අකුරක් ගානෙ තියෙනවා. හැබැයී කොම්පියුටරෙ කෑලි අදුරන්නෙ නැහැ. ඒ නිසා අපේ යුනිකෝඩ් කාන්ඩෙ මුලු සිංහල බාසාවෙ පදනමම අමතක කරලා, ඒ හැම ඉස්පිල්ලක්ම පාපිල්ලක්ම වෙන වෙන අකුරු විදිහට ගැනපන්යැයී කියලා, ඒ ඒ අකුරු ඉංගිරිසි ක්රමේට එකතු කොරලා තනි සද්දයක් හදන්වා. හරියට T H O එකතුවෙලා "තෝ" හැදෙනවා වාගේ. සිංහල යුනිකෝඩ් බාසාවෙන් ත-යන්නයී ෝ-යන්නයී එකතු කරලා "තෝ" ලියනවා. (මේ මද්දහනේ සිංහලේට "ෝ" කියලා අකුරක් එකතු කරපු ජගතා කවුද?) මායා බලයකින් ඒ අකුරු දෙක තනි අකුරක් වගේ අපිට පෙන්නලා අපිව රවට්ටනවා. හැබැයී කට බොරු කීවත් දිව බොරු කියන්නෙ නැහැ කියනවානේ. මොන මායාව දැම්මත් කොම්පියුටරේ දන්නවා මෙතන තියනෙනෙ තනි අකුරක් නොවෙයී, අකුරු දෙකක්යැයී කියලා.
ඔන්න ඔතෙන්දි තමයී ඩොනල්ඩ් උන්දෑ සරමත් කැහිපොට ගහගෙන එන්නෙ චන්ඩියා වගේ. මට දැනෙන විදිහට උන්දෑගේ දර්ශනේ අපේ ඇහැට පේනෙන්නෙ අකුරක් විදිහටනම් කොම්පියුටරෙත් අකුරක් විදිහටම දකින්න ඕනේ යැයී කියලා. ඒ කියන්නේ අයන්න එක අකුරක්, ආයන්න එක අකුරක්. ඇයන්න තවත් අකුරක්. කොටින් කියනවානම් පැන්සලෙන් ලියන්න පුලුවන් හැම අකුරක්ම යුනිකොඩ් වට්ටෝරුවෙ තනි අකුරක් වෙන්න ඕනෙ. ඒ ක්රමය යටතේනම් අකුරු පුරශ්නෙට අලංකාරට උත්තර ලැබෙනවා. "පොඩ්ඩා" කියන වචනෙට අකුරු තුනයී. මටත් තුනයී, කොම්පියුටරේටත් තුනයී. පොඩ්ඩටත් තුනයී.
ඩොනල්ඩ් උන්දෑ ඒ ක්රමේ යටතේ සූත්තරයක් සකස් කොරලා පේටන්ට් අරගෙන. උන්දෑ දඟ දාන්නේ ඒක විකුනන්නයැයී කියලා කට්ටියේ ගෝරනාඩුව. සිංහල යුනිකෝඩ් අපිට ලැබුනෙ නොමිලෙ නොවේයී. හෑම දේකටම මිලක් තියෙනවා. අපි පාවිච්චි කොරන කොම්පියුටරෙ හැමදේටම පේටන්ට් තියනවා. නොමිලෙ දෙන, විවුර්ත මෘදුකාන්ග වලටත් පේටන්ට් තියෙන්වා. පේටන්ට් කියනේ රීරි යකා වගේ බයානක දෙයක් නොවෙයී.
ඊලගට යුනිකොඩ් කාන්ඩෙ කියන්නේ අනේ ඔච්චර අකුරු ගානක් දාන්න යුනිකෝඩ් වට්ටෝරුවෙ ඉඩ නැතෙයී කියලා. ඒ වුනාට සාම්ප්රාදායික චීන බාශාවෙ අකුරු කෙල කෝටියම ඔය අගේට යුනිකෝඩ් ඇතුලට දාගෙන තියෙන්නේ. 大 කියන්නෙ එක අකුරක්, 犬 කියන්නෙ තවත් අකුරක් 太 කියන්නෙ වෙනත් අකුරක්. බොරුනම් ඕන් දාල බලන්න alert(犬.length).
කොරියන් හන්ගුල් බාසාව හරියට අපේ බාසාව වගේමයී. 가 කියන අකුරට ㄱපාපිල්ල එකතු කරල 각 කියන අකුර ලියනවා. හැබැයී 각 කියන්නේ යුනිකෝඩෙ තනි අකුරක් [ alert('각'.length)]. අපේ යුනිකෝඩෙ වගේ අකුරු දෙකක් නෙවෙයී. ඒ මූලික අකුරට ඉස්පිලි පාපිලි එකතු කර කරා ලියන අකුරු පෝලිමම 갂간간갈..වෙන වෙන තනි අකුරු. සිංහල යුනිකෝඩේ වගේ අටවාපු රූප නොවෙයී.
සිංහල යුනිකෝඩ් කාන්ඩෙගෙ වැඩේ හොදයී. සිංහල යුනිකෝඩ් දාල අලංකාරෙට ටයිප් කොරන්න ඇහැකියී. ස්ටෙන්සිල් තහඩු කපන්න ඇහැකියී. පින්තූර උඩින් හින්දි සින්දු ලියන්න ඇහැකී. තියෙන පොඩි පොඩි කඩතොලු, ඒ කියන්නේ len(), left(), mid() වාගේ ප්රාතමික පරිගණක අණ වලට හරියට උත්තර දෙන විදිහට එහාට මෙහාට කොරලා හදා ගත්තෝතින් තමයී අනාගතේට ප්රයෝජනයක් ගන්න පුලුවන්. සංකීර්ණ පරිගණක වැඩ සටහන් වලත් පිලිවෙලක් ඇතිව පාවිච්චි කොරන්න පුලුවන්. ඒ අඩුපාඩු හදා ගන්න මහා මේරු පර්වතේ පෙරලන්න ඕනෙ නැහැ. ආඩම්බරේ පොඩ්ඩක් පැත්තකින් තියන්න තමයී ඕනෙ.
මේ පහල කොටුවෙ අකුරු තුනක් ලියන්න ඉඩ තියෙනවා. ඔන්න ඔය කොටුවෙ "පොඩ්ඩා" කියන අකුරු තුන ලියන්න පුලුවන් දවසට අපිටත් ප්රයෝජනයක් ගන්න පුලුවන් විදිහෙ යුනිකෝඩ් එකක් තියෙනවා.
සිංහල යුනිකෝඩ් කාන්ඩේ හදාපු යුනිකෝඩ් එකෙන් තමයී මමත් ලියන්නේ. අනේ වාසනාවන්. ලියන්න කියන්න අපූරුයී. හැබැයී පුරශ්ණ නැතිව නොවෙයී. ඔක්කොටම ඉස්සෙල්ලා තියන පුරස්න මක්කැයී කියලා විස්තර කරලා ඉමුකො. මම අපේ පොඩ්ඩාගෙන් ඇහුවා, පොඩ්ඩෝ කියාපිය බලන්න "පොඩ්ඩා" කියන වචනෙට අකුරු කීයද කියලා. පොඩ්ඩා ගත්කටටම "තුනායී" කියාගෙන පොල්ලත් අරගෙන දිව්වා බැද්දට. මම කොම්පුටරෙට දාල [alert('පොඩ්ඩා'.length)] ඇහුවා කියාපිය බලන්න අකුරු කියද කියලා. කොම්පියුටරේ කියාපි හයයී කියලා. මේක හරිම මගුලයීනේ. එකම වචනෙට අකුරු හයකුයී තුනකුයී තියෙන්න බැහැනේ. ඔන්න ඉතින් කොම්පියුටර් ගැහීම පිලිබද වැඩි තේරුමක් නැති උන්දෙලා කියන්න පුලුවන්, අනේ අකුරු කීයක් උනත් අපිට මක්කටෙයී, අපි මේ යස අගේට ලියන්නෙයැයී කියන්නේයැයී කියලා. යුනිකෝඩ් අකුරු තියෙන්නෙ පෝස්ටර් අදින්න විතරක් නොවෙයීනේ. පරිගණක වැඩසටහන්, දත්ත ගබඩා වලත් ප්රායෝගිකව පාවිච්චි කරන්න පුලුවන් කමක් තියෙන්න ඕනේ.
උදාහරනයක් විදිහට අපේ ගුවන් තොටුපොලේ ආගමන විගමන පත්රිකාවේ යස අගේට කොටු ගහල නම ලියන්න ඉඩක් තියලා තියනවා. මට මතක හැටියට ඒකෙ කොටු විස්සක් තිහක් විතර තියනවා. විස්සයී කියමුකෝ. අපි කොටුවට අකුර ගානේ කොටු විස්සට අකුරු විස්සක් ලීවොතින් ඒ අකුරු විස්ස යුනිකෝඩ් වලින් කොම්පියුටරේට දාන්න ගියහම කොම්පුයිටරේ කියාපි මෙතන අකුරු තිහක් හතලිහක් තියනවා කියලා. ඉතින් අපි කොහොමෙයී දත්ත ගබඩාවේ ඉඩ කඩ වෙන් කොරන්නේ අකුරු විස්සෙ පත්රිකාවට. ඔන්න ආතක් බූතක් නැතිව අකුරු දෙසීයට තුන්සීයට ඉඩ වෙන්කොරෝතින් හරි. ඒ උනාට ඔය හැම චූට්ටන් ඉඩකටම මිලක් තියනවා. වියදමක් තියෙනවා. ඇහැට පේන්නෙවත් නැති සයීල ගොඩක් එකතුවෙලා සද්දන්ත අලි හැදෙනවා වාගේ, ඔය පොඩි පොඩි වියදම් අන්තිමට මහා වියදමක් වෙනවා.
ඉංගිරිසියේ අකුරු කීපයක් එකතු කොරලා එක සද්දයක් හදනවා. සිංහලේ කෑලි කීපයක් පූට්ටු කොරලා අකුරක් හදාගත්තාට හැම සද්දෙකෙටම එක අකුරක් ගානෙ තියෙනවා. හැබැයී කොම්පියුටරෙ කෑලි අදුරන්නෙ නැහැ. ඒ නිසා අපේ යුනිකෝඩ් කාන්ඩෙ මුලු සිංහල බාසාවෙ පදනමම අමතක කරලා, ඒ හැම ඉස්පිල්ලක්ම පාපිල්ලක්ම වෙන වෙන අකුරු විදිහට ගැනපන්යැයී කියලා, ඒ ඒ අකුරු ඉංගිරිසි ක්රමේට එකතු කොරලා තනි සද්දයක් හදන්වා. හරියට T H O එකතුවෙලා "තෝ" හැදෙනවා වාගේ. සිංහල යුනිකෝඩ් බාසාවෙන් ත-යන්නයී ෝ-යන්නයී එකතු කරලා "තෝ" ලියනවා. (මේ මද්දහනේ සිංහලේට "ෝ" කියලා අකුරක් එකතු කරපු ජගතා කවුද?) මායා බලයකින් ඒ අකුරු දෙක තනි අකුරක් වගේ අපිට පෙන්නලා අපිව රවට්ටනවා. හැබැයී කට බොරු කීවත් දිව බොරු කියන්නෙ නැහැ කියනවානේ. මොන මායාව දැම්මත් කොම්පියුටරේ දන්නවා මෙතන තියනෙනෙ තනි අකුරක් නොවෙයී, අකුරු දෙකක්යැයී කියලා.
ඔන්න ඔතෙන්දි තමයී ඩොනල්ඩ් උන්දෑ සරමත් කැහිපොට ගහගෙන එන්නෙ චන්ඩියා වගේ. මට දැනෙන විදිහට උන්දෑගේ දර්ශනේ අපේ ඇහැට පේනෙන්නෙ අකුරක් විදිහටනම් කොම්පියුටරෙත් අකුරක් විදිහටම දකින්න ඕනේ යැයී කියලා. ඒ කියන්නේ අයන්න එක අකුරක්, ආයන්න එක අකුරක්. ඇයන්න තවත් අකුරක්. කොටින් කියනවානම් පැන්සලෙන් ලියන්න පුලුවන් හැම අකුරක්ම යුනිකොඩ් වට්ටෝරුවෙ තනි අකුරක් වෙන්න ඕනෙ. ඒ ක්රමය යටතේනම් අකුරු පුරශ්නෙට අලංකාරට උත්තර ලැබෙනවා. "පොඩ්ඩා" කියන වචනෙට අකුරු තුනයී. මටත් තුනයී, කොම්පියුටරේටත් තුනයී. පොඩ්ඩටත් තුනයී.
ඩොනල්ඩ් උන්දෑ ඒ ක්රමේ යටතේ සූත්තරයක් සකස් කොරලා පේටන්ට් අරගෙන. උන්දෑ දඟ දාන්නේ ඒක විකුනන්නයැයී කියලා කට්ටියේ ගෝරනාඩුව. සිංහල යුනිකෝඩ් අපිට ලැබුනෙ නොමිලෙ නොවේයී. හෑම දේකටම මිලක් තියෙනවා. අපි පාවිච්චි කොරන කොම්පියුටරෙ හැමදේටම පේටන්ට් තියනවා. නොමිලෙ දෙන, විවුර්ත මෘදුකාන්ග වලටත් පේටන්ට් තියෙන්වා. පේටන්ට් කියනේ රීරි යකා වගේ බයානක දෙයක් නොවෙයී.
ඊලගට යුනිකොඩ් කාන්ඩෙ කියන්නේ අනේ ඔච්චර අකුරු ගානක් දාන්න යුනිකෝඩ් වට්ටෝරුවෙ ඉඩ නැතෙයී කියලා. ඒ වුනාට සාම්ප්රාදායික චීන බාශාවෙ අකුරු කෙල කෝටියම ඔය අගේට යුනිකෝඩ් ඇතුලට දාගෙන තියෙන්නේ. 大 කියන්නෙ එක අකුරක්, 犬 කියන්නෙ තවත් අකුරක් 太 කියන්නෙ වෙනත් අකුරක්. බොරුනම් ඕන් දාල බලන්න alert(犬.length).
කොරියන් හන්ගුල් බාසාව හරියට අපේ බාසාව වගේමයී. 가 කියන අකුරට ㄱපාපිල්ල එකතු කරල 각 කියන අකුර ලියනවා. හැබැයී 각 කියන්නේ යුනිකෝඩෙ තනි අකුරක් [ alert('각'.length)]. අපේ යුනිකෝඩෙ වගේ අකුරු දෙකක් නෙවෙයී. ඒ මූලික අකුරට ඉස්පිලි පාපිලි එකතු කර කරා ලියන අකුරු පෝලිමම 갂간간갈..වෙන වෙන තනි අකුරු. සිංහල යුනිකෝඩේ වගේ අටවාපු රූප නොවෙයී.
සිංහල යුනිකෝඩ් කාන්ඩෙගෙ වැඩේ හොදයී. සිංහල යුනිකෝඩ් දාල අලංකාරෙට ටයිප් කොරන්න ඇහැකියී. ස්ටෙන්සිල් තහඩු කපන්න ඇහැකියී. පින්තූර උඩින් හින්දි සින්දු ලියන්න ඇහැකී. තියෙන පොඩි පොඩි කඩතොලු, ඒ කියන්නේ len(), left(), mid() වාගේ ප්රාතමික පරිගණක අණ වලට හරියට උත්තර දෙන විදිහට එහාට මෙහාට කොරලා හදා ගත්තෝතින් තමයී අනාගතේට ප්රයෝජනයක් ගන්න පුලුවන්. සංකීර්ණ පරිගණක වැඩ සටහන් වලත් පිලිවෙලක් ඇතිව පාවිච්චි කොරන්න පුලුවන්. ඒ අඩුපාඩු හදා ගන්න මහා මේරු පර්වතේ පෙරලන්න ඕනෙ නැහැ. ආඩම්බරේ පොඩ්ඩක් පැත්තකින් තියන්න තමයී ඕනෙ.
මේ පහල කොටුවෙ අකුරු තුනක් ලියන්න ඉඩ තියෙනවා. ඔන්න ඔය කොටුවෙ "පොඩ්ඩා" කියන අකුරු තුන ලියන්න පුලුවන් දවසට අපිටත් ප්රයෝජනයක් ගන්න පුලුවන් විදිහෙ යුනිකෝඩ් එකක් තියෙනවා.
15 January, 2010




January 16, 2010 9:57 AM
I really appriciate your presentation.
At last few are understanding the problem.
The next step is to correct the SLSI 1134. For that we got to speak to the person who comes on the 27th to rule our country.
Who ever comes need your assistance to meet him and correct and save our language
January 16, 2010 11:29 PM
No correction is needed, what is needed is *real* programmers that's what Sri Lanka lacks, instead of trying to correct standards real programmers get the job done at hand, well I have this small problem for you assuming that you know a little bit about how computers store numbers. You know that floating point numbers can't represent numbers like 0.1 correctly, because they are stored as binary and binary can't represent 0.1 correctly without rounding. Even though that problem is still there, see how many calculations are done in floating point numbers?? No one has complained about that small thing just because they have implemented rounding with it so there aren't any awkward representations, thats how the world goes nothing is perfect when you get down to binary level somethings that were possible in decimal become unusable and newer things come to light :D thats how it is, it's same for Unicode too there are too many technical difficulties in implementing ALL sinhala letters in to Unicode or any character st for that matter, it'll be huge!
The best answer as I see it is to implement better ways to get around this problem, without crying like babies!! It's time for Sinhala Programmers to implement something for this, I've done my part in object pascal/Delphi may be I'll publish a newer better system in C but for now this is what I have :D
DEMO: http://madurax86.heliohost.org/?p=234
LIB: http://madurax86.heliohost.org/?p=215
January 17, 2010 1:28 AM
Madura, Your answer remind me of a old joke my grandfather told me. And matter of fact, I wrote this joke in this post but changed my mind because I wanted to save it to answer your comment. Here goes the joke now. (It is not a very funny joke, my grandfather’s jokes never funny)
Grandfather : What is green and hang on the wall and whistle?
Me: (thinking…thinking.. thinking..)
ME: No. What is it?
Gf: Spoon!
Me: Spoon is not green!
Gf: You paint green over it, then it is green.
Me. But It’s not hanging on the wall!
Gf: You hit a nail through the spoon and hang it on the wall!
Me: But.. But.. It don’t whistle!
Gf: Oh! Stop crying like babies, Make it whistle yourself. Be a real programmer.
I agree nothing perfect in the world. But humans put their best effort to make things better. That is why DOS turn in to Windows and bullock carts turn in to cars. As a human I cannot possibly accept your “stop crying, learns to live with it” answer. Just like everything in this world, Sinhala Unicode too MUST update.
You had to create a custom length function. What a pity!! Your suggestion is re-write every single string functions in every single computer language known to modern men instead update the Unicode single time? (Why?. Please tell me why?) How about Database then? What happen to SQL functions? How about GPS and MP3 players? Who is going to pay for all that? I don’t know what you call “real” programming. But in real world, everything has a price and a value, even the time you wasted re-writing already existing primary length function has a price. Even a student programmer should be able to write a basic length function on a Sinhala string without calling custom functions. Please don’t try to make programming on Sinhala data difficult to an average programmer and limit that to only some small group of people. By doing so, those small groups of people may able to make money, true, but that will hinder progress of the whole Sinhala language.
By the way have you heard of K.I.S.S prgraming (keep it short and simple)
About floating numbers.
First, don’t show me a legless man when we are in need of running shoes.
Second, Floating numbers is a natural world challenge. Unicode Standardizing is not. In otherworld’s, we cannot change abstract algebra to fit the computer. But we can change Unicode to fit the computer.
Again. K.I.I.S !
January 17, 2010 1:46 AM
Donald, I highly doubt any Politician would change Unicode system (I hope they would, but I doubt) because problems meaning revenue. Take Unicode, Just like Madura said above, even at this point Sinhala Unicode solutions are not for any average programmer to develop – it need extra functions (extra processing, extra memory, extra manpower, extra skills) to build. That means new market. New revenue. Less competition. Selling new solutions for a problems they created by themselves. What a brilliant idea! As far as I think next natural step in Sri Lankan style is use public funds to create those functions in Java, C++, etc.. And possibly mySQL custom build to handle Sinhala Unicode string lengths?
January 17, 2010 6:55 AM
This post has been removed by the author.
January 17, 2010 6:57 AM
Sam,
This is the best post written so far about Sinhala Unicode. I too had problems in understanding what Mr Donald keeps saying but you made it very simple for non-technical people to understand the problems in Sinhala Unicode.
January 17, 2010 9:12 AM
Thanks Nandasiri!
Donald,
I think we are using 7 columns in the Unicode chart right now. You know best, how many total columns we will need to add all Sinhala characters to code points? I know Hangul characters are one of the most logical characters in the world and uniscribe could have easily compressed them to 6 columns or so. But they use closer to 750 columns. Kanji the same.
Hebrew other hand not as much as complex likes ours, but they use only 6 columns and depend on uniscribe like we do. But then again, there are no mp3 players in Hebrew, but in Korean and Japanese.
January 17, 2010 11:36 AM
Sam no mumbo jumbo is needed, if you know how to program in C there's no problem. The most widely used UTF8 is supported in C and a C library that will answer this is the cure for the problem since it'll be ported to any platform that has a C compiler in it(which means almost every platform)
To make you understand *REAL* programmers you should understand who are script kiddies and framework babies first!
Look it's dumb to argue on a dumb topic like this if you can go change the standard while in the mean time I'll do what I can to help the programmers who need help on this problem, case closed.
January 17, 2010 1:48 PM
Madura,
Scripting and frameworks are there for a reason.
(For people who don’t know what script is, All printing solutions base on scripting. Without scripts and framework you won’t have the operating system you are on now. Even Sinhala Unicode itself depends on a script! When Madura says developers who using scripts are infants, he is been intentionally dishonest or his knowledge is narrow about the subject.)
I partly agree with you Sinhala Unicode cannot be used with scripting. But most of the times it can be done in the expense of rewiring every single string function.
I do not deny or reject your C workaround and any other workarounds to solve these problems. I appreciate you spending time creating these workaround and sharing them. But it is worth trying to solve the problems in the character level if possible.
Agree. Argument would not solve anything. That is why I have posted an open challenge in this page. Create a way to write පොඩ්ඩා in the text box. If you could not do that, be honest enough to at least accept we cannot validate a simple web form accurately.
January 17, 2010 1:58 PM
Sam
Why not we exit unicode consortium for all indic languages.
see
http://content.yudu.com/Library/A1iw7q/WhywehavetoexitUnico/resources/index.htm?referrerUrl=http%3A%2F%2Fwww.yudu.com%2Fpublish%2Ffinish_now%2F93775
Donald Gaminitillake
Let us change the standard
January 17, 2010 3:30 PM
This post has been removed by the author.
January 17, 2010 4:39 PM
Sam,
I think I should elaborate on what I meant,
Script Kiddies, are people who write scripts and make them compile at runtime(interpreter based) most of these scripts are harmful, like those .vbs files that spread thru pen drives, they write scripts and use them because they don't have the expertise or the time to do it in a real programming language which is compiled before runtime.
I'll stop there, I don't want to get in to unneeded arguments.
well my point about unicode is that they only have 256*256 code points to put in major languages, and I'm talking about UTF8 because it is the most widely used. Sure some Japanese letters are in it by the thousands, it is there because there is no alternative those letters cant be generated by putting together 2 or more letters so they need those code points, unlike Sinhala which has a compressed letter set.
And BTW the true letter count(length) only matters in instances such as validating input for databases ..etc these things can be taken in to account very clearly and there are technologies for these things, in my point of view the true letter count is not needed for validating input if the validation is based on storage space, for example if the encoding is UTF8:
the space can be generated using UTF8 documentation(this is implemented already)http://en.wikipedia.org/wiki/UTF-8
If you are talking about the font that is used to display the characters and their lengths(considered when printing) then the only answer is to calculate the letter lengths and validate according to that, clearly it's not Unicode Standard's fault it's because Sinhala letters are not fixed-width by nature if you want to do that you'll have to change the හෝඩිය!
And I do think that people are blaming Unicode Standard for this Fixed-width Variable width problem --- after seeing what Donald has written.
January 17, 2010 6:22 PM
madura
please understand the history of unicode consortium.
quote
The Unicode Consortium was incorporated in January, 1991 in the state of California, four years after the concept of a new character encoding, to be called "Unicode", was broached in discussions started by engineers from Xerox (Joe Becker) and Apple (Lee Collins and Mark Davis).
Unquote
During this period we had no SLSI or any National standard for sinhala or tamil in Lanka. Not even in India.
OUR PROPOSAl was written by ANDY DANIELS. not by any sri lankan or a person who had gone to a grade one in sri lanka.
This is the problem we have. Japanese had National standard and unicode accepted it. We had no such standard and our educated VKS accepted the andy's proposal.
http://www.unicode.org/reports/tr2.html
quote
(ISO-IEC JTC1/SCL/WG2 N 673, Oct. 1990). The coding proposed in it was found to be an inadequate basis for a modern, computer-based interchange code,though it is adequate to handle the capabilities of a Sinhala typewriter
unquote
We got to exit from this loop.
Even Latin script falls into several pages in the unicode database (over 600 plus)
First step is to change the NATIONAL STANDARD SLSI
this can be done over night. Activating my objections.
Donald Gaminitillake
let us change the standard
January 17, 2010 6:36 PM
Donald,
Go do it, if you can. Change the standard :P
January 17, 2010 9:28 PM
Give me the authority in Lanka
I will do it and give the product.
Donald Gaminitillake
Let us change the standard
January 18, 2010 2:12 AM
Madura,
Even .vbs are there for a reason. Every single programming technique has a use. We should not deny the use of them or underestimate impotency of entry level developers. We all were entry level developers once and we did some of our most enjoyable programming back then. And most of all, it not about skills or experience, it is about COST. When we keep things simple, we can keep the cost down.
//only have 256*256 code points to put in major languages.//
I indeed understand your point. But do not blindly deny the other side. World is not a fair place, we should fight for our best interest. That is what other countries do. That is why Korean Hangul runs inside the tiny SA58700X processer.
I can see four solutions to this on top of my heard.
First, add all possible Sinhala characters to UTF-8 or worst-case use UTF-16. That will solve all problems in both-ends. (Anything man made can be changed)
Two, Keep it as now, and create “Unicode programming language standard” which is missing now. That standard should force all programming language creators, such as Microsoft or Sun Microsystems to respect Unicode and create native string functions accordingly. For example, they may have to create two functions such as Length() and LetterLegth() or Left() or LetterLeft(). That should handle not only Sinhala, but Hebrew and all other uniscribe dependable letters. All programming languages, including JS and VBS should respect that standard with the same dedication and loyalty Madura provides to current Unicode standard.
Three. (Donald’s suggestion) Split the 2-bit font in to few larger fix number of groups. It is not as bad as it seems. We have to declare language manually but this principle already in most of the applications. That is why even though my browser's default font is Times New Roman, it jump to Iskolapotha for Sinhala.
Fourth solution surrender with a white flag, recreates every single string function in every single computer language in the world as needed base, as you are doing now.
//Sinhala letters are not fixed-width by nature if you want to do that you'll have to change the හෝඩිය!//
If you mean the physical width of a character, that is not an issue, even English letters are not fix Width. (i and M) Appearance of a letter does not affect the letter count. If you mean number of letters in the හෝඩිය, හෝඩිය and Alphabet is two deferent concepts to begin with.
Anyway my post is not about solutions, but showing the issues we have. We already have funded mechanism to provide us solutions for this. Instead they recognize our problems they tell us “learn to live with it, stop crying”. It is not right. It is not fair. It is not ethical.
January 18, 2010 10:13 AM
Thank you Sam for clear picture of the problem.
You are the only person who spoke about the uniscribe, But this program runs only with microsoft.When this works you see the correct sinhala,but when it fails you see different set of sinhala.
For same codes you get two differnt characters or AKURU
This is a internet security problem.
Unicode was formed to give a number for every character.
quote from unicode org
Unicode provides a unique number for every character,
unquote
When it come to indic lanuages this rule is not working. Our guys also gulping the unicode garbage excuses.
Lets us group and exit unicode and make our own system for all indic languages
Donald Gaminitillake
let us change the standard
January 18, 2010 11:00 AM
Sam, I didn't say i discriminate them! This is about skill and experience korean hangul runs on mere 200MHz processors because koreans have come up with ideas for their Alphabet, here who do we have to give solutions? Since you have mentioned that you are only talking about the problems with Unicode, you are out of the picture too! That's how it goes on Lanka everyone has a problem some have solutions but those are not practical encoding a character about 2000 large character set might be even harder for a 200MHz processor to execute that's what I'm talking about without just hammering the Unicode standard why won't you go make some thesis project or report or whatever to convince the Unicode Administration?
If you really want a solution at Standard level to be fixed it should be taken to the authorities and then to the guys at unicode.org. We all have problems but talking just about the problem is not enough!
Yes what the GOVT do is fund companies to the job, and do things that can be done for free with a VERY big price tag! we have Sri Lankan programmers around the world who will work on no-profit basis just for fixing this up but WHO atleast talked to them? That's why we are having problems now, the designers didn't think about these areas when making the standard may be they weren't programmers. And finally if you or Mr. Donald is going to "change the standard" you might have to think a way or supporting backwards-compatibility with the existing standard.
I don't like discussing so much about some problems we have inform me if anyone is trying to solve it through changing the existing standard(must be Unicode) or getting around it in using some programming routines.
January 18, 2010 3:24 PM
Madura
The solution is very easy cost will be a fraction of what they got for ICTA.
I have the technology the people to commence work. all lined up. Final out put cannot be sold to the public.
Only industrial applicability is patent.
Donald Gaminitillake
Let us change the standard
January 18, 2010 10:59 PM
Madura, Thanks for the discussion. The first step is accepting the problems openly. Then solutions will turn up – it may be Donald’s idea of a solution or it may be your idea of a solution or it may be something totally deferent we have not even thought of it yet. But denial will hinder progress.
January 19, 2010 7:47 AM
Yes Sam you are correct
I have put forwarded my proposal
Why not others too
As you said they got to admit there is an error (adupaadu) in the present SLSI 1134 and Sinhala registrations in unicode data base.
India had tried but the consortium is dead against. I have met my counterparts over there who also voice for corrections.
That is why the idea of exit unicode came in.
We can do it in LANKA.
Donald Gaminitillake
Let us change the standard
January 19, 2010 9:29 AM
සෑම්, ඉතාමත් වැදගත් සංවාදයක්. මීට පෙර නොවුන ආකාරයට සිදු වුනා.
January 21, 2010 11:57 PM
මම නම් "අකිල දක්ශින" නෙමෙයි, "අඛිල දක්ෂිණ"
මෙතනදි වෙන්නෙ ඔය වගේම දෙයක් තමයි!
ගොඩක් අයට තමන්ගෙ නම් හරියට ඉංග්රිසි වලින් ලියන්න බෑ නෙ!
phonetic dictionary,alphabet වල ලියන විදිහට තමයි ලියන්න වෙන්නෙ
ඒත් ඒක ඉංග්රිසි වල වැරැද්දක්, ඒක චාට්ර් කියල කියන්න ඕනෙ නෑ...
අඛිල කියන එක Akhila කියල ලියාගන්න පුලුවන් අමුතු උනත්.
ඒත් දක්ෂිණ කියන එක කොහොමද ලියන්නෙ?
නැතුව 'ද' යන්න ලියන්න විදිහක් නෑ නෙ. 'd' දැම්මොත් 'ඩ', 'dh' දැම්මොත් 'ධ' :)
ඇයි 'ඪ' අකුර ලියන්න නම් ලොවෙත් බෑ වගේ :D
'ශ','ෂ' දෙකම SH....
අනික තමයි 'ණ' යන්න. 'ණ', 'න' දෙකම N
[නෑ නෑ වැරදුනා, ඇත්තටම කිවුවොත් 'න','ණ' ඉංග්රිසියෙන් ලියන්නෙ 'na' හෝ 'ne' විදිහට ;]
January 22, 2010 10:53 AM
After registering the sinhala characters in the SLSI this problem will arise
All data has to be in sinhala / Tamil and in roman latin script
To transliterate into roman latin script a standard has to be introduce. Once it is done all will have to follow that patteren to write it in roman latin script
But the sinhala characters and tamil characters will not change what ever method one uses to keyin the language sinhala and tamil
Donald Gaminitillake
let us change the standard
January 22, 2010 11:16 AM
very intersting
see
http://dasunsameera.blogspot.com/2010/01/indesign.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+dasunsameera+%28%E0%B6%85%E0%B6%BD%E0%B7%94%E0%B6%AD%E0%B7%8A+%E0%B6%9C%E0%B7%99%E0%B6%AF%E0%B6%BB%29
he is talking how to trick a computer to render correct sinhala
I wrote if unicode registration are correct why do one need to trick a computer
the result was he remove my comment
Donald Gamnitillake
January 23, 2010 12:40 PM
New better(faster) routines are now available in C(written by me)
Take a look
http://madurax86.heliohost.org/?p=332
January 24, 2010 9:54 AM
Madura
What is your basic character allocation table for Sinhala?
I have published mine what is yours?
Without the table you are not going any where. This is the problem we are facing. in unicode data base we have not registered all sinhala cahracters. BUT other countries have done this. except the indic group
Donald Gamnitillake
Let us change the standard
February 05, 2010 6:59 AM
@Akhila
I think we need a Roman script standard for Sinhala. Vietnamese and Bahasa already do.
February 20, 2010 2:36 PM
This post has been removed by the author.
February 20, 2010 2:38 PM
වැදගත් කාරනයක්. මේක පල වෙලා සෑහෙන කලක් ගිහින් වුනත් මේ සම්බන්ධ අත්දැකීමක් මෙතන සඳහන් කරන්න ඕන, අදාල සාකච්ඡාවට ප්රයෝජනවත් වේය කියල හිතෙන නිසා. intense debate (http://intensedebate.com/ ) නමින් හැඳින්වෙන ප්රතිචාර පද්ධතියක් මම කාලෙකට ඉස්සර මගේ බ්ලොග් අඩෙවියේ ස්ථාපනය කරගත්තා. ඒත් ඒක කරලා දවසෙන් දෙකෙන් විවිධ අය පැමිනිලි කරන්න ගත්තා සිංහලෙන් ප්රතිචාර දක්වද්දී පනිවිඩය දිග වැඩිබවට දෝශ පනිවිඩයක් එනවා කියල.
අන්තිමේදී මම ඒ පද්ධතිය අතෑරලා දාල සාමාන්ය blogger comment system එකම පාවිච්චි කරන්න පටන්ගත්තා.
මේ intense debate අඩෙවිය සමග මේ ගැටලුව සම්බන්ධයෙන් හුවමාරු වුන ඊමේල්.
Hi Anandawardhana,
We've identified the issue. Unfortunately this is a limitation of the web browser. Because of the way browsers work, the only way comments can be posted in IntenseDebate is by including it in the URL of a script tag (we use JavaScript for this). IntenseDebate dynamically adds a script tag with all of the comment data in the URL, so all of the comment data has to fit in the script of the URL. All browsers limit the length of the script. We generally do not run into these issues with English since each character takes up less space.
Unfortunately we encounter these issues more often with foreign character sets because the character sets often need more than one "character" to store a single character in another language. So an English character takes up less character spaces then a Sinhala character (where a single Sinhala character might be converted to 4-8 characters for transfer). With this in mind, we are more likely to hit the browser limit with foreign characters.
We're investigating possible solutions, but so far none of them are feasible at this time. The current solutions would require a massive overhaul to IntenseDebate comments which would entirely change the way IntenseDebate is loaded on a page and runs. This unfortunately is not an option.
I apologize for the inconvenience.
Michael
------------------
Hi Michael,
This happens only when someone tries to post comments in Sinhala. (Unicode)
Never happened in English. Currently I have removed Intense Debate from the
bilingual blog because most people comment in Sinhala on it.
Almost all the comments on this url were rejected by Intense Debate system
saying they were too long. But they are only
http://webalochana.blogspot.com/2009/02/blog-post_09.html
I tried posting these comments myself using Firefox 3.0.5 but same result.
Comment too long.
Then I had to restore the normal blogspot commenting system.
I hope this information helps solving the problem.
Best regards,
Anandawardhana
--------------------------
On Mon, Feb 16, 2009 at 10:02 PM, Intense Debate Support <
support@intensedebate.com> wrote:
Thanks for getting in contact. I apologize for the delay. Does this occur
with English comments as well? If it does please provide me with specific
links and information about the web browser being used. We do have a
character limit of several thousand.
Thanks for your patience,
Michael
Thanks for getting in contact. This is most likely due to the characters
used. We'll take a look and see what the issue is.
Thanks for your patience,
Michael
-------------------------------
Name:
Email: anandawardhana@gmail.com
Message:
Hi,
I am using Intense debate for one of my bilinguial blogs. It's in
English and Sinhala. When people post comments in Sinhala (Unicode) a
message pops out saying "your message" is too long. But this
appears for very short messages as well.
Please consider enhancing Unicode support in Intense Debate
Thank you for the great service you already provide
Michael Koenig
IntenseDebate | Automattic
--
Michael Koenig
IntenseDebate | Automattic
February 21, 2010 1:45 AM
Anandawardhana,
Thanks for very valuable info. This going to hit us pretty bad on things like 2D barcodes or things like magnetic cards. The word “යුනිකේත” on a 2D barcode turn in to 72x72 pixels. And 4 characters on Korean (여보세요) only 52px. As the number of characters increase the gap ration increases pretty badly.
Post a Comment
Links to this post:Create a Link
<< Home