Monday, September 17, 2007

Myanmar Unicode

ျမန္မာယူနီကုဒ္

ယူနီကုဒ္၊ ယူနီကုဒ္နဲ႔ လူေတြကေတာ့ေျပာေနၾကတယ္။ ေျပာေနတဲ့သူတိုင္းကေရာ ယူနီကုဒ္ဆိုတာဘာလဲဆိုတာအေသအခ်ာ ရွင္းရွင္းလင္းလင္း သိခ်င္မွသိၾကလိမ့္မယ္။ ယူနီကုဒ္ဆိုတာကို ေနာက္မွေပါက္တဲ့ေရႊၾကာပင္ရယ္လို႔သေဘာထားၿပီး မသံုးခ်င္ၾကေသးတဲ့ သူေတြလည္းရွိခ်င္ရွိမယ္။
ဘာပဲျဖစ္ျဖစ္ေပါ့ေလ…
- ျမန္မာယူနီကုဒ္ဆိုတာဘာလဲ
- ယူနီကုဒ္ကဘာေတြပိုအသံုး၀င္မွာလဲ
- အရင္တုန္းကသံုးေနတာနဲ႔ဘာကြာလို႔ေျပာင္းသံုးေနၾကတာလဲ
အစရွိတဲ့အေျခခံေမးခြန္းေလးေတြကိုအရင္ရွင္းသြားေအာင္ေျပာခ်င္ပါတယ္။

ASCII Font အေၾကာင္း
ျမန္မာနိုင္ငံမွာကြန္ပ်ဴတာေတြကို သံုးၾကေတာ့ကြန္ပ်ဴတာမွာInternational Language ျဖစ္တဲ့English ကိုပဲသံုးေနရာကေန ကိုယ့္နိုင္ငံအတြက္ ကိုယ့္စာေတြကို ကြန္ပ်ဴတာမွာ ျမင္ခ်င္လာၾကတယ္။ အဲဒီအခ်ိန္မွာ ကြန္ပ်ဴတာမွာ သံုးေနၾကတာ Latin စာေတြေလ။ အဲဒီ Latin စာေတြကိုကြန္ပ်ဴတာထဲမွာ ASCII (American Standard Code for Information Interchange) စနစ္ကိုသံုးၿပီးသိမ္းတယ္။ သူတို႔ Latin စာအတြက္ ကုဒ္ေတြ သတ္မွတ္ထားေပမယ့္ ျမန္မာစာအတြက္က ကုဒ္မွမသတ္မွတ္ထားေသးတာ။ ကုဒ္မရွိလဲ ျမန္မာစာျမင္ခ်င္ေတာ့ ခုနကေျပာတဲ့ Latin စာေတြသိမ္းတဲ့ ASCII စနစ္ကိုပဲသံုးရေတာ့တယ္။ အဲဒီလိုနဲ႔ပဲ ASCII စနစ္ကိုသံုးတဲ့ ျမန္မာစာ စာလံုးစနစ္ (Font) ေတြကို တီထြင္လာၾကတယ္။ ၁၉၉၂ အေစာပိုင္းမွာ “Shwe and Mya” လို႔ေခၚတဲ့ ပထမဆံုးၿမန္မာစာ Font ကိုတီထြင္ထုတ္လုပ္ခဲ့တယ္။ ျမန္မာစာကို္ ျမင္ရေသာ္လည္း ကြန္ပ်ဴတာက အမွန္တကယ္သိသည္မွာ Latin စာေတြပဲျဖစ္ေနတယ္။ ဥပမာ Win Font မွာဆိုရင္ “က” ဟုျမင္ေနရေသာ္လည္း ကြန္ပ်ဴတာက Latin စာ ‘u’ ကိုသာ သိမ္းထားျခင္းျဖစ္တယ္။

ျပႆနာ

ျမန္မာစာ ASCII Font ေတြရဲ႕အဓိကျပႆနာကေတာ့ စာရိုက္စဉ္ကအသံုးထားေသာ font အမ်ိဳးအစားမရွိေသာ ကြန္ပ်ဴတာတြင္ ျပန္ဖြင့္ၾကည့္လွ်င္ Latin စာမ်ားသာျမင္ရျခင္း ျဖစ္သည္။ ဥပမာ- Win Font အသံုးျပဳ၍စာရိုက္ထားေသာ ဖိုင္တစ္ခုကို Win Font မရွိေသာ ကြန္ပ်ဴတာတြင္ဖြင့္ၾကည့္လွ်င္ abc…d (Latin) စာမ်ားသာျမင္ရမည္ျဖစ္သည္။ ထိုစက္တြင္ Win Font မရွိေသာ္လည္း ASCII Font တစ္ခုျဖစ္သည့္ Academy Font ရွိ၍ ထို Academy နွင့္ျပန္ဖြင့္ၾကည့္လွ်င္ ျမန္မာစာမ်ားကိုေတာ့ ျမင္နိုင္ပါမည္။ သို႔ေသာ္ မွန္ကန္စြာ ျပန္ျမင္နိုင္ေတာ့မည္ မဟုတ္ေပ။ ဥပမာ- Win Font တြင္ ‘က’ သည္ ‘u’ ေနရာတြင္ ထားေသာ္လည္း Academy Font တြင္ ‘u’ ဟူေသာ Latin စာေနရာတြင္ ‘ယ’ ထားေသာေၾကာင့္ Win Font တြင္ရိုက္တားေသာ ‘က’ ေနရာမ်ားတြင္ Academy Font ေျပာင္းေသာအခါ ‘ယ’ မ်ားအျဖစ္ေျပာင္းလဲသြားေသာေၾကာင့္ အမွန္ကို ျမင္နိုင္ေတာ့မည္ မဟုတ္ေခ်။
ထိုသို႔ျပႆနာမ်ိဳးမ်ား ျဖစ္ရျခင္းမွာ စာလံုးစနစ္သိမ္းရာတြင္ တိက်ေသာ စံသတ္မွတ္ခ်က္မရွိျခင္းေၾကာင့္ ျဖစ္သည္။ ဥပမာ- ‘က’ ဟူေသာစာလံုးတစ္ခုသည္ Latin စာ ‘u’ ေနရာတြင္သာျဖစ္သည္ဟူေသာ သတ္မွတ္ခ်က္မ်ိဳးမရွိခဲ့ေပ။
ASCII စနစ္ကိုသံုးျခင္း၏ အဓိက၀မ္းနည္းစရာအေကာင္းဆံုးအခ်က္မွာ ကိုယ္ပိုင္စနစ္ မရွိျခင္းေၾကာင့္၊ သူမ်ားစနစ္ကို အငွားသံုးထားရျခင္းပင္ျဖစ္သည္။ ‘က’ ဟုျမင္ေနရေသာ္လည္း ကြန္ပ်ဴတာက ‘u’ ဟုသာသိေနျခင္းျဖစ္သည္။
ထို႔ေနာက္ ျမန္မာစာအတြက္ ကိုယ္ပိုင္ကုဒ္စနစ္တစ္ခုရရွိရန္ ႀကိဳးပမ္းၾကရာ ‘Unicode’ ဟုေခၚေသာစနစ္ကို ရွာေဖြေတြ႕ရွိခဲ့သည္။ထို ‘Unicode’ စနစ္ဆိုသည္မွာ တစ္ကမာၻလံုးတြင္ ရွိေသာ ဘာသာစကားတိုင္းအတြက္ ကိုယ္ပိုင္ေနရာမ်ား သတ္မွတ္ေပးေသာ စနစ္ျဖစ္သည္။ ထို Unicode စနစ္တြင္ျမန္မာစာပါရွိေရးအတြက္ ႀကိဳးပမ္းၾကရာ (၁၉၉၈) ခုနွစ္တြင္ ျမန္မာနိုင္ငံအတြက္ ကုဒ္ေနရာေပါင္း ( ၁၆၀ ) (1000 မွ -109F အထိ )ေနရာရရိွလာခဲ့သည္။


ျမန္မာယူနီကုဒ္ အေၾကာင္း

‘Unicode’ စနစ္တြင္ ဗမာစာအတြက္ ကိုယ္ပိုင္ေနရာတစ္ခု ရရွိလာၿပီးေနာက္ ထိုစနစ္ကို အသံုးျပဳ၍ Unicode Font မ်ားကိုထုတ္လုပ္လာၾကပါသည္။ Unicode စနစ္တြင္ အကၡရာတစ္ခုစီအတြက္ သီးသန္႔ကုဒ္တစ္ခုရွိသည္။ ဥပမာ- ‘က’ သည္ ‘Unicode’ စနစ္တြင္ ‘1000’ ဟူေသာ ေနရာတြင္ရွိသည္။ Unicode စနစ္ကိုသံုးထားေသာ မည္သည့္ Font တြင္မဆို ‘က’ သည္ ကုဒ္ ‘1000’ သာျဖစ္ေနသည္။
‘Unicode’ စနစ္တြင္ ဗမာစာ၏ အဓိကအေျခခံအကၡရာမ်ားကိုသာ ကိုယ္ပိုင္ကုဒ္ သတ္မွတ္ေပးထားျခင္း ျဖစ္သည္။ ASCII စနစ္နွင့္ ကြာျခားခ်က္မွာ ASCII စနစ္တြင္ ( ု) သည္ အတိုနွင့္ အရွည္ ( ဳ ) နွစ္မ်ိဳးလံုးအတြက္ ကုဒ္တစ္ခုစီအသံုးျပဳထားေသာ္လည္း၊ ‘Unicode’ စနစ္တြင္မူ ‘ ု’ သည္ “102F” ဟူေသာ ကုဒ္ ၁ ခုတြင္သာ ရွိေနမည္ျဖစ္ၿပီး ကီးဘုတ္တြင္လည္း ‘Key’ ၁ခုတြင္သာရွိေနေပမည္။ ထိုအခါ စာရိုက္သူက ‘ ု’ လိုခ်င္ေသာအခါ မည္သို႔ျပဳလုပ္ရမည္နည္း ဆိုလွ်င္ မည္သို႔မွ်ျပဳလုပ္ရန္ မလိုပါ။ ‘ ု’ သည္ ‘K’ key တြင္ ရွိသည္ဆိုလွ်င္ စာရိုက္သူသည္ ‘ ု’ လိုခ်င္သည္ျဖစ္ေစ၊ ‘ ဳ ’ လိုခ်င္သည္ျဖစ္ေစ ထို ‘K’ key ၁ခုကိုသာ နွိပ္ရန္မွတ္သားထားရပါမည္။ ထိုသို႔ ‘ ု’ / ‘ ဳ ’ ေျပာင္းလဲျခင္းကို ထိုသရနွင့္တြဲေသာ အကၡရာေပၚမူတည္၍ ဗမာစာေရးနည္းစနစ္အတိုင္း ေျပာင္းလဲရမည့္ပံုစံကို ေျပာင္းလဲျခင္းကို ‘Rendering Engine’ လုပ္ေဆာင္ေပးပါလိမ့္မည္။ ထို ‘Rendering’ သည္ ‘Unicode’ ၏ စံသတ္မွတ္ခ်က္ကို လိုက္နာထားေသာ Unicode Font မ်ားတြင္ တစ္ပါတည္းပါရွိမည္ျဖစ္သည္။

2 comments:

Mark (Soe Min) said...

Thanks for sharing knowledges

Snip said...

The another problem is wide spreading of here-say unicode (pseudo unicode). We will face hard to adapt the real unicode. I understand why you used ZawGyi pseudo system instead of MM unicode as it doesn't work with today technology yet. The problem is the developers of ZawGyi don't have any project working on unicode, this is unforgivable from my view. Its very danger for the future. I think they must have atleast a plan to shift to unicode complaint system.