ကၽြန္ုပ္ေလ့လာမိသမၽွ ယူနီကုတ္အေၾကာင္း

 
ကၽြန္ေတာ့္ အေနနဲ႔ ယူနီကုတ္ကို ေျပာင္းမယ္ဆိုကတည္းက ယူနီကုတ္အေၾကာင္းကို အေသးစိတ္ ေလ့လာျဖစ္ခဲ့ပါတယ္။ ပထမဦးဆုံး ေလ့လာ ျဖစ္ခဲ့တာကေတာ့ ယူနီကုတ္ဆိုတာ ဘာလဲဆိုတဲ့ အပိုင္းပါ။ မေလ့လာခင္တုန္းကေတာ့ ယူနီကုတ္ဆိုတာ ေဖာင့္တစ္ခု ေဖာင့္စနစ္တစ္ခု အေနနဲ႔သာ သိေနခဲ့တာပါ။ ဒါေပမယ့္ တကယ္တန္း စာေတြကို သြားဖတ္ၾကည့္ေတာ့မွ Standard (စံ) တစ္ခုျဖစ္မွန္း စၿပီးသိလာခဲ့ရပါတယ္။

Unicode


Unicode from WikipediaUnicode from Wikipedia
ယူနီကုတ္ဆိုတာ ကြန္ပ်ဴတာသုံး ဘာသာစကားေတြကို စနစ္တက် ညီညီညြတ္ညြတ္ ျဖစ္ေအာင္ ေနရာေတြ သတ္မွတ္ေပးတဲ့ စနစ္ျဖစ္ပါတယ္။ ကၽြန္ေတာ္တို႔လို လူၿပိဳင္းေတြ နားလည္ေအာင္ ေျပာရမယ္ဆိုရင္ ေျမကြက္ေတြ ခ်ေပးထားတာေပါ့။ ‘က’ အတြက္ တစ္ေနရာ ‘ခ’ အတြက္ တစ္ေနရာ စသည္ျဖင့္ ေနရာခ်ထားေပးပါတယ္။

What is Unicode?

Unicode provides a unique number for every character,
no matter what the platform,
no matter what the program,
no matter what the language.


အေပၚက စာသားေလးကေတာ့ ယူနီကုတ္ဆိုတာ ဘာလဲဆိုတဲ့ အဓိပၸါယ္ဖြင့္ဆိုခ်က္ကို Unicode.ORG မွာ ေရးထားတဲ့ စာသားေလးပါ။ ယူနီကုတ္ဆိုတာ ဘာလဲ၊ ယူနီကုတ္ဆိုတာ ဘယ္လို ပလက္ေဖာင္း(Windows, Mac, Linux စသည္) ျဖစ္ေစ၊ ဘယ္လို ပရိုဂရမ္ (Word, Excel စသည္) ျဖစ္ေစ၊ ဘယ္လို ဘာသာစကားျဖစ္ေစ စကားလုံးအားလုံးအတြက္ တိက်တဲ့၊ တစ္လုံးကို အမွတ္စဥ္တစ္ခု ကိုယ္စားျပဳတဲ့ (Unique ျဖစ္တဲ့) အမွတ္စဥ္ (Number) ေတြ သတ္မွတ္ေပးတာပါ လို႔ ေရးထားပါတယ္။
အဲဒီလိုေနရာခ်ထားေပးထားတဲ့ အမွတ္စဥ္ သတ္မွတ္ေပးထားတဲ့ ဘာသာစကားေပါင္း ယခုလက္ရွိမွာ ၉၃ မ်ိဳး ရွိေနၿပီျဖစ္ၿပီး Character ေပါင္း ၁၀၉၀၀၀ လုံးအထိ ေနရာသတ္မွတ္ၿပီး ျဖစ္ပါတယ္။ အဲဒီလို ယူနီကုတ္ စံ စနစ္ကို ၄.၀ ကေန ၅.၀ ေနာက္ ၅.၁၊ ၅.၂ ခုေနာက္ဆုံးမွာ ၆.၀ အထိ ေရာက္ရွိခဲ့ၿပီ ျဖစ္ပါတယ္။
အဲဒီ Unicode စံေတြကို သတ္မွတ္ေပးေနတဲ့ အဖြဲ႕အစည္းကို Unicode Consortium လို႔ေခၚၿပီး ISO လို႔ေခၚတဲ့ နိုင္ငံတကာ စံႏွုန္း သတ္မွတ္ေရး အဖြဲ႕ေတြနဲ႔ ပူးေပါင္းေဆာင္ရြက္ေနတဲ့ အဖြဲ႕တစ္ခု ျဖစ္ပါတယ္။ အဲဒီအျပင္ Supporter ေတြ အေနနဲ႔ Microsoft, Apple, HP, IBM, JustSystems, Sun, Oracle အစရွိတဲ့ နည္းပညာ ကုမၸဏီႀကီးေတြ ပါဝင္ပါတယ္။ အဲဒီအျပင္ ISO/IEC 10646 ဆိုတဲ့ ISO Standard လည္း ရၿပီးျဖစ္ပါတယ္။ (ဒီေတာ့ ကၽြန္ေတာ္တို႔ ျမန္မာယူနီကုတ္ဟာ ISO/IEC 10646 လက္မွတ္ရၿပီး ျဖစ္တယ္လို႔ ဆိုနိုင္ပါတယ္။)


အေျခခံအားျဖင့္ ကြန္ပ်ဴတာေတြဟာ စကာလုံးေတြကို တိုက္ရိုက္မွတ္သားေလ့ မရွိပဲ၊ စကားလုံးေတြကို ကိုယ္စားျပဳတဲ့ အမွတ္စဥ္ေတြ အေနနဲ႔ ကိုယ္စားျပဳၿပီး သိမ္းဆည္းရပါတယ္။ ကြန္ပ်ဴတာ စနစ္ကိုယ္တိုင္က ၀ နဲ႔ ၁ ကိုသာ နားလည္တဲ့အတြက္ အဲဒီလို ၀ ေတြ ၁ ေတြ ကိုယ္စားျပဳနိင္ေအာင္ ေျပာင္းလဲၿပီး မွတ္သားရပါတယ္။ အဲဒီလို မွတ္သားတဲ့ စနစ္ကို Encoding Method (ကြန္ပ်ဴတာ နားလည္သည့္ စနစ္ကို ေျပာင္းလဲသည့္ နည္းလမ္း) လို႔ေခၚပါတယ္။ အစပိုင္းမွာတုန္းကေတာ့ တစ္ေၾကာင္းတဂါထာ၊ တစ္ရြာ တစ္ပုဒ္ဆန္း ဆိုသလို ဥေရာပကလည္း ဥေရာပနည္း၊ အေမရိကကလည္း အေမရိကနည္း စသည္ျဖင့္ Encoding စနစ္ေတြကို သတ္မွတ္ခဲ့ၾကပါတယ္။ အဂၤလိပ္စာ တစ္ခုတည္းမွာတင္ ဘာသာစကားတစ္ခုတည္း ျဖစ္ေပမယ့္ encoding method ကို တစ္ခုတည္း သုံးလို႔မရတဲ့ အေျခအေနျဖစ္လာပါတယ္။





အဲဒီလို သတ္မွတ္ၾကရင္ Encoding စနစ္ေတြ တစ္ခုနဲ႔ တစ္ခု Conflict (ပဋိပကၡ) ျဖစ္လာပါတယ္။ ဘယ္လို ပဋိပကၡမ်ိဳးလဲဆိုရင္ encoding method ႏွစ္ခုဟာ မတူညီတဲ့ စကားလုံးႏွစ္ခုကို တူညီတဲ့ အမွတ္စဥ္ေတြမွာ သုံးလာၾကတာပါ။ အဲဒီလိုဆိုေတာ့ ဥပမာ အေနနဲ႔ ေျပာရမယ္ ဆိုရင္ တစ္ဖက္က encoding method မွာ အမွတ္စဥ္ ၁၀ က ‘က’ ဆိုပါစို႔၊ ေနာက္ထပ္ encoding method ရဲ့ အမွတ္စဥ္ ၁၀ မွာ ‘ခ’ ျဖစ္ေနတာမ်ိးပါ။ အဲဒီလို encoding method ေတြ ကြဲျပားျခားနားလာတဲ့အတြက္ Database Server အစရွိတဲ့ စက္ေတြဟာ encoding method မ်ိဳးစုံကို အေထာက္အပံ့ေပးနိုင္ဖို႔ လိုအပ္လာခဲ့ပါတယ္။ အေထာက္အပံ့ ေပးနိုင္တယ္ထားဦး encoding method မတူညီတဲ့ platform ႏွစ္ခုၾကားမွာ အခ်က္အလက္ေတြ ေပးပို႔တဲ့အခါ အမွားအယြင္းေတြ၊ အခ်က္အလက္ ေပ်ာက္ရွမွုေတြ ျဖစ္ေပၚလာပါတယ္။ ဥပမာ နားလည္ေအာင္ ေျပာရရင္ တစ္ဖက္က Aung Aung လို႔ ေျပာတာကို တစ္ဖက္က Bung Bung လို႔ နားလည္သြားတာမ်ိဳးပါ။


Unicode ဘာေၾကာင့္လိုလဲ၊ ဘယ္လို အက်ိဳးေက်းဇူးေတြ ရမလဲ


ယူနီကုတ္ ဘာေၾကာင့္လိုလဲဆိုတဲ့ ေမးခြန္းဟာ စံသတ္မွတ္ခ်က္ေတြ ဘာေၾကာင့္ ရွိဖို႔လိုလဲဆိုတဲ့ ေမးခြန္းကို ေမးတာနဲ႔ အတူတူပါပဲ။ စံ သတ္မွတ္ခ်က္ေတြဟာ ေနရာတကာမွာ လိုအပ္ပါတယ္။ ကၽြန္ေတာ္တို႔ ျမန္မာမွာ ဆိုရင္ တစ္ဖက္က ခ်ိန္ေပးလိုက္တဲ့ ဆီ တစ္ဆယ္က်ပ္သားဟာ တစ္ဖက္မွာလည္း ဆီတစ္ဆယ္က်ပ္သားပဲ ျဖစ္ရပါမယ္။ ဒါေပမယ့္ အဲဒီ တစ္ဆယ္သားတို႔ တစ္ပိႆာတို႔ဆိုတာ Local Standard ေတြပါ၊ ဆီတစ္ပိႆာကို ယိုးဒယားမွာ သြားေရာင္းမယ္ဆိုရင္ ယိုးဒယားရဲ့ အခ်ိန္အတြယ္ စံစနစ္ကို သုံးရပါေတာ့မယ္၊ အဲဒီလိုသာ နိုင္ငံတိုင္းမွာသြားၿပီး ဆီတစ္ပိႆာကို သြားေရာင္းမယ္ဆိုရင္ သူေနရာနဲ႔သူ သူ႔နိုင္ငံနဲ႔သူ အခ်ိန္အတြယ္ေတြ အမ်ိဳးကြဲျပားပါေတာ့မယ္။ အဲဒီအတြက္ နိုင္ငံတကာကို ေရာင္းနိုင္ဖို႔အတြက္ နိုင္ငံတကာ အခ်ိန္အတြယ္ စနစ္တစ္ခု လိုလာပါတယ္။ အဲဒါလည္း စံ (Standard) ပါပဲ။ ဒါေပမယ့္ သူကေတာ့ Global Standard ျဖစ္သြားပါၿပီ။ ဒီေတာ့ ဒီလို စံေတြအားလုံးဟာ လိုအပ္ခ်က္ေၾကာင့္ ထြက္ေပၚလာရတာေတြပဲ ျဖစ္ပါတယ္။ ဒီေတာ့ ယူနီကုတ္ကို ဘာေၾကာင့္ လိုလဲဆိုေတာ့ လိုအပ္ခ်က္ေၾကာင့္ပဲလို႔ ေျဖရပါလိမ့္မယ္။


ဒီေနရာမွာ Local Standard နဲ႔ သြားလို႔ မရဘူးလားလို႔ ေမးစရာရွိပါတယ္။ တစ္ျခား က႑ေတြမွာလည္း သြားေနၾကတာ အမ်ားႀကီးပါ။ ဟုတ္ပါတယ္။ သြားလို႔ရပါတယ္။ ဒါေပမယ့္သူက ကန႔္သတ္ခ်က္ တစ္ခု ရွိေနပါလိမ့္မယ္။ ကၽြန္ေတာ္ အေပၚမွာ ေျပာခဲ့သလို ျပည္တြင္းမွာပဲ ေရာင္းလို႔ ရပါလိမ့္မယ္။ နိုင္ငံတကာ သြားခ်င္ရင္ေတာ့ နိုင္ငံတကာ စံႏွုန္းအတိုင္း လိုက္နာရပါလိမ့္မယ္။ မဟုတ္ရင္ နိုင္ငံတကာမွာ သြားေရာင္းလို႔ ရမွာမဟုတ္ပါဘူး။ ဒီေတာ့ ေရွ႕ဆက္ၿပီး ေမးနိုင္ပါေသးတယ္။ ဘာသာစကားဆိုတာ Local ပဲ မဟုတ္ဘူးလား။ ကိုယ့္ဟာကို ဘယ္လိုပဲ သုံးသုံးေပါ့လို႔ ေစတကတက္နိုင္ပါတယ္။ ဒါဆိုရင္ ကိုယ့္ဘာသာစကားဟာ နိုင္ငံတကာနဲ႔ ရင္ေဘာင္တန္းနိုင္တဲ့ နိုင္ငံတကာက အသိအမွတ္ျပဳတဲ့ ဘာသာစကား ျဖစ္လာမွာ မဟုတ္ေတာ့ပါဘူး။ (ကၽြန္ေတာ္ေျပာတာ ကြန္ပ်ဴတာ ေပၚမွာ ေျပာတာပါ)


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


Myanmar Unicode (ျမန္မာစာ ယူနီကုတ္) စနစ္ကို ေလ့လာၾကည့္ရေအာင္





ကၽြန္ေတာ္တို႔ ျမန္မာစာေတြအတြက္ သတ္မွတ္ေပးထားတဲ့ ေနရာေတြကို သိခ်င္တယ္ဆိုရင္ ဒီေနရာေတြမွာ သြားၾကည့္နိုင္ပါတယ္။ အဲဒါက ေနာက္ဆုံး Unicode Standard 6.0 မွာ ပါဝင္တဲ့ ျမန္မာစာအတြက္ ေနရာေတြပါ။


ကၽြန္ေတာ္တို႔ ျမန္မာစာေတြအတြက္ သတ္မွတ္ေပးထားတဲ့ ေနရာေတြကို သိခ်င္တယ္ဆိုရင္ ဒီေနရာေတြမွာ သြားၾကည့္နိုင္ပါတယ္။ အဲဒါက ေနာက္ဆုံး Unicode Standard 6.0 မွာ ပါဝင္တဲ့ ျမန္မာစာအတြက္ ေနရာေတြပါ။



အဲဒီေနရာေတြမွာ သြားၾကည့္လိုက္မယ္ဆိုရင္ ဗမာ၊ ပါ႒ိ၊ မြန္၊ ကရင္၊ ကယား၊ ရွမ္း၊ ပေလာင္ စသည္ျဖင့္ ဗမာစကားနဲ႔ ပုံစံတူတဲ့ အေနအထား အားလုံးအတြက္ ေနရာေတြ ရွိၿပီး ျဖစ္တာ ေတြ႕ရပါလိမ့္မယ္။ ပထမ Chart ဟာ Unicode Standard 5.2 ကတည္းက Chart ျဖစ္ၿပီး ေနာက္တစ္ခုကေတာ့ Extended ပါ။ ေျပာရရင္ ၆.၀ မွာ ထပ္တိုးလာတာေတြမွာ အဲဒီလို ထပ္တိုးလာတာသာရွိၿပီး နဂိုဟာေတြ အေျပာင္းအလဲ မရွိေတာ့ပါဘူး။ ဒါေၾကာင့္ ယူနီကုတ္ေတြ မၿငိမ္ဘူးဆိုတာ မဟုတ္ပဲ၊ အျခား လိုအပ္တာေတြသာ ထပ္တိုးလာျခင္း ျဖစ္တယ္ဆိုတာ ေတြ႕ရပါ လိမ့္မယ္။


အဲဒီအျပင္ အစီအစဥ္ေတြကို ေလ့လာၾကည့္မယ္ ဆိုရင္လည္း ဗ်ည္း (Letter) ေတြက အေရးအႀကီးဆုံး ျဖစ္တဲ့အတြက္ ထိပ္ဆုံးမွာ စီထားတာ ေတြ႕ရပါလိမ့္မယ္။ က အတြက္ အမွတ္စဥ္ 1000 ေပါ့၊ ခ အတြက္ 1001 စသည္ျဖင့္ေပါ့။ ဗ်ည္း အစီအစဥ္ေတြရဲ့ သရ (Dependent Vowels) ေတြ ျဖစ္တဲ့ ေမာက္ခ်၊ ေရးခ်၊ လုံးႀကီးတင္၊ လုံးႀကီးတင္ဆန္ခတ္ စသည္ျဖစ္လာပါတယ္။ အဲဒီလို စီစဥ္ထားတာကို Logical Order လို႔ေခၚပါတယ္။ အခ်က္အလက္ေတြ အျဖစ့္ သိမ္းဆည္းမယ္ဆိုရင္လည္း အဲဒီအစီအစဥ္အတိုင္းသာ သည္းဆည္းရမွာ ျဖစ္ပါတယ္။ ဗ်ည္း၊ ဗ်ည္းတြဲ၊ သရ စသည္ျဖင့္ အစီအစဥ္အတိုင္း သိမ္းဆည္းရမွာပါ။






အဲဒီအျပင္ တစ္ေခ်ာင္းငွင္၊ ႏွစ္ေခ်ာင္းငင္၊ ရရစ္၊ ဟထိုး စတာေတြမွာလည္း တစ္ခုအျပင္ အပိုပါမလာေတာ့ပါဘူး။ (တကယ္တန္း စာရိုက္တဲ့အခါမွာ အျမင္အရ ရရစ္ေျခာက္မ်ိဳးေလာက္ လိုပါတယ္) တစ္ေခ်ာင္းငင္အတို၊ တစ္ေခ်ာင္းငင္ အရွည္ စသည္ျဖင့္ ပါမလာေတာ့ပါဘူး။ ဒါေတြ ဘာေၾကာင့္ ပါမလာေတာ့တာလဲဆိုရင္ သေဘာတရားတူေနလို႔ပါ။ တစ္ေခ်ာင္းငယ္အတိုပဲ ျဖစ္ျဖစ္၊ အရွည္ပဲ ျဖစ္ျဖစ္ သေဘာတရား အတူတူပါပဲ။ ေရးေတာ့သာ ပုံစံအရ ကြဲျပားျခားနားေနရတာပါ။ တစ္ျခားဟာေတြလည္း အတူတူပါပဲ။ ရရစ္ကို ေနာက္ထပ္ ထပ္ထည့္ခ်င္တယ္ ဆိုရင္ေတာ့ တစ္ျခားေနရာေတြ ျဖစ္တဲ့ တိုင္းရင္းသား ဘာသာစကားေတြရဲ့ ေနရာေတြ တစ္ျခားဘာသာစကားရဲ့ ေနရာေတြကို ယူရပါေတာ့မယ္။ ဒါေပမယ့္ အဲဒီလို ယူထားမယ္ဆိုရင္လည္း သေဘာတရားတူတဲ့ အခ်က္အလက္ကို တစ္ႀကိမ္တည္း စစ္ရမယ့္ အစား ပိုၿပီး စစ္ေနရပါလိမ့္မယ္။ တစ္ဖက္မွာလည္း ေနရာျပႆနာရွိသလို၊ တစ္ဖက္မွာလည္း အခ်က္အလက္ ညီညြတ္မၽွတမွု အပိုင္းမွာ အားနည္းသြားေစပါတယ္။ အဲဒီအျပင္ ပါဥ္ဆင့္ေတြလည္း မပါလာေတာ့ပါဘူး။ ပါဥ္ဆင့္ဆိုတာ တကယ္ေတာ့ ဗ်ည္းေတြနဲ႔ သေဘာတရား တူေနတဲ့အတြက္ မထည့္ေတာ့တာပါ။ ထပ္ထည့္မယ္ဆိုရင္လည္း ခုနက ေျပာတဲ့ ရရစ္လို ေနရာေတြ လိုက္ယူရမွာ ျဖစ္ပါတယ္။


Logical Order လား၊ Visual Order လား


ကၽြန္ေတာ္တို႔ စားလုံး (Character) တစ္လုံးျခင္းစီအတြက္ ေနရာေတြေတာ့ ရၿပီ၊ အဲဒီေနရာေတြအတြက္ အမွတ္စဥ္ သတ္မွတ္ခ်က္ေတြလည္း ရၿပီ။ အဲဒါကို ဘယ္လိုသိမ္းမလဲ။ နားလည္ေအာင္ ေျပာရရင္ ‘‘ေၾကာင္’’ ဆိုတဲ့စကားလုံးကို ဘယ္လိုသိမ္းမလဲေပါ့။ Visual Order အတိုင္း သိမ္းမယ္ဆိုရင္ ေျ က ာ င ္ လို႔ သိမ္းရမွာပါ။ စားလုံးတစ္လုံးျခင္းစီ ကိုယ္စားျပဳတဲ့ အမွတ္စဥ္ေတြ အရဆိုရင္ သေဝထိုးၿပီး ေရွ႕ေရာက္ ေနတဲ့ ေ က စရမွာ ဆိုေတာ့ 1031 103C 1000 102C 1004 103A ဆိုၿပီး သိမ္းရမွာပါ။ Logical Order အတိုင္းသိမ္းမယ္ ဆိုရင္ေတာ့ က ျ ေ ာ င ္ ဆိုၿပီး မွတ္ရမွာ ျဖစ္ပါတယ္။ သိမ္းမယ္ဆိုရင္လည္း 1000 103C 1031 102C 1004 103A ဆိုၿပီး သိမ္းရပါမယ္။






အဲဒီ ပုံစံႏွစ္ခုမွာ တကယ့္မင္းသားႀကီး ျဖစ္တဲ့ ကႀကီးဟာ အေပၚက Visual Order မွာ တတိယေနရာကို ေရာက္ေနပါတယ္။ အဲဒီအတြက္ Sorting လုပ္ေတာ့မယ္ဆိုရင္ ဒီစာလုံးမွာ အေရးအႀကီးဆုံး ဗ်ည္းက ဘာလဲဆိုၿပီး ရွာရပါေတာ့မယ္။ ေအာက္ဖက္က အစီအစဥ္ (Order) မွာေတာ့ ရွာစရာ မလိုေတာ့ပါဘူး။ ထိပ္ဆုံးမွာ ပါေနပါတယ္။ အဲဒီအတြက္ အေရးအႀကီးဆုံး ဗ်ည္းကဘာလဲဆိုၿပီး လိုက္ရွာေနရတဲ့ အဆင့္တစ္ခု ေလ်ာ့သြား ေစပါတယ္။ အဲဒီ အျပင္ 1031 နဲ႔ 103C ပါ။ အေပၚနဲ႔ ေအာက္ အစီအစဥ္ မတူပါဘူး။ 1031 က ေ ျဖစ္ၿပီး 103C ကေတာ့ ျ ျဖစ္ပါတယ္။ အဲဒီႏွစ္ခု ဘယ္သူက အရင္လာသင့္သလဲ၊ ေျပာရင္ ေ ပါတာက အရင္လာသင့္သလား၊ ျ ပါတာက အရင္လာသင့္သလား၊ စာလုံးေပါင္း သတ္ပုံက်မ္းကို ျပန္ၾကည့္မယ္ဆိုရင္ ျ ပါတာက အရင္လာပါတယ္။ အဲဒီလိုပဲ Logical Order မွာ ၾကည့္မယ္၊ Unicode ရဲ့ အစီအစဥ္မွာ ၾကည့္မယ္ဆိုရင္လည္း ျ က အရင္လာပါတယ္။ ေ ကေနာက္မွ လာပါတယ္။ အဲဒီအတြက္ ျ ပါတာကိုေရွ႕ေရာက္ေအာင္ ထပ္စီရပါဦးမယ္။ ဒါေၾကာင့္ Logical Order ဆိုတာ အေၾကာင္းမဲ့ စီထားတာ မဟုတ္ဘူးလို႔ သိနိုင္ပါလိမ့္မယ္။ ဒါေၾကာင့္ ရိုက္တဲ့ ေနရာမွာ အရင္လာ အရင္ရိုက္ လုပ္လို႔ရေပမယ့္ တကယ္တန္း သိမ္းတဲ့အခါမွာေတာ့ Logical Order အတိုင္းသိမ္းတာ အေကာင္းဆုံးပဲလို႔ သတ္မွတ္ရပါလိမ့္မယ္။


Input Method





ကၽြန္ေတာ္တို႔ အေပၚမွာ ေျပာခဲ့သလို ေနရာ(အမွတ္စဥ္)လည္း ရွိၿပီ၊ Logical Order အတိုင္းလည္း သိမ္းဖို႔ သေဘာတူတယ္ ဆို႐ုံနဲ႔ မလုံေလာက္ ေသးပါဘူး။ ကၽြန္ေတာ္တို႔ ကြန္ပ်ဴတာ ကီးဘုတ္ဆိုတာ A, B, C, D ေတြနဲ႔သာ လုပ္ထားတာပါ။ အဲဒီအတြက္ အဲဒီကီးဘုတ္ကို အသုံးခ်ၿပီး ကၽြန္ေတာ္တို႔ ျမန္မာစာေတြကို ကြန္ပ်ဴတာ နားလည္ေအာင္ ထည့္ေပးရပါဦးမယ္။ အဲဒီလိုထည့္ေပးတဲ့ နည္းစနစ္ကို Input Method လို႔ေခၚၿပီး ရိုက္ထည့္ရမယ့္ လက္ကြက္ကိုေတာ့ Keyboard Layout လို႔ေခၚပါတယ္။ Input Method ကိုေတာ့ အသုံးျပဳသူေတြ အေနနဲ႔ Keyman, Keymagic, NHM Writer, Ekara အစရွိတဲ့ Unicode ရိုက္လို႔ရတဲ့ စနစ္ေတြအျဖစ္ ျမင္နိင္ပါတယ္။ တကယ္တန္း သူတို႔ေတြ ဘာအလုပ္ လုပ္ေပးသလဲလို႔ ေမးရင္ ကိုယ့္ရဲ့ အဂၤလိပ္စာ ကြန္ပ်ဴတာ ကီးဘုတ္ကို ျမန္မာစာ ကီးဘုတ္အျဖစ္ ေျပာင္းေပးလိုက္တာပါပဲ။ အဲဒီအျပင္ Input Method ေတြဟာ Keyboard Layout ကိုလည္း အေထာက္အပံ့ေပးရၿပီး သိမ္းဆည္းတဲ့ ေနရာမွာ ယူနီကုတ္ဆိုရင္ Logical Order နဲ႔ ကြန္ပ်ဴတာထဲကို ျပန္လည္ သိမ္းဆည္းေပးရပါတယ္။


ကၽြန္ေတာ္တို႔ေတြ ရိုက္ေနၾကစနစ္က အရင္လာ အရင္ရိုက္စနစ္ပဲ။ ဒီေတာ့ ယူနီကုတ္သာ ေျပာင္းသုံးရင္ Logical Order အတိုင္းရိုက္ရမွာလား ဒါဆိုရင္ ဘယ္လြယ္မလဲလို႔ စဥ္းစားစရာ ရွိပါတယ္။ ခုခ်ိန္မွာ ႀကိဳက္သလို ရိုက္နိုင္တဲ့ အေနအထားကို ေရာက္ေနပါၿပီ။ ဝင္းအင္းဝ ပုံစံရိုက္မလား၊ Logical Order အတိုင္းရိုက္မလား၊ မိမိစိတ္ႀကိဳက္ ရိုက္နိုင္ပါတယ္။ အဲဒီအတြက္ စိုးရိမ္ေသာက ေရာက္စရာ မရွိေတာ့ပါဘူး။


Unicode Font (ယူနီကုတ္ စနစ္သုံးျမန္မာစာေဖာင့္)





အေပၚမွာ ေျပာခဲ့သမၽွ အားလုံး တကယ္တန္းေျပာရရင္ ေဖာင့္နဲ႔ ဘာမွကို မဆိုင္ေသးပါဘူး။ အေပၚမွာ ေျပာခဲ့သမၽွ အားလုံးဟာ ယူနီကုတ္ စနစ္အေၾကာင္းပါ၊ ဘယ္လို Font ပုံစံလာလာ၊ စားလုံးတိုင္းအတြက္ ေနရာတူတူ၊ သိမ္းဆည္းပုံ အတူတူပါပဲ။ ခုမွ တကယ့္ User Interface လို႔ေခၚတဲ့ ေနရာမွာျမင္ရမယ့္ ေဖာင့္ေတြရဲ့ အခန္းက႑ပါ။ Input Method အထိ တကယ္တန္းေျပာရရင္ ေဖာင့္နဲ႔ ဘာမွ မဆိုင္ေသးပါဘူး။ ဆိုလိုတာက ေဖာင့္ပုံစံနဲ႔ မဆိုင္ေသးတာပါ။ ပိန္ပိန္ရွည္ရွည္ေဖာင့္လည္း ယူနီကုတ္စနစ္ကိုလိုက္နာ၊ ယူနီကုတ္စံအတိုင္း Input Method ကို သုံးမယ္ဆိုရင္ ဒီအတိုင္းပါပဲ။ ဝိုင္းဝိုင္းလည္း အတူတူပဲ။ ေခါင္းစဥ္စားလုံးလည္း တူတူပဲ။ ဘယ္လိုပုံစံမ်ိဳး မဆို စက္ထဲေရာက္သြားရင္ အားလုံး အတူတူျဖစ္သြားပါလိမ့္မယ္။ ဒါလိုဆို ယူနီကုတ္လို႔ ေျပာလိုက္ရင္ ေဖာင့္နဲ႔မွားေနတတ္တဲ့ ကၽြန္ေတာ္တို႔လို လူေတြအတြက္ ဒီေနရာမွာ ခြဲျခားၿပီး ျမင္နိုင္ေလာက္ၿပီ ထင္ပါတယ္။

ျမန္မာစာယူနီကုတ္စံကို လိုက္နာတဲ့ေဖာင့္ေတြ အမ်ားႀကီးပါပဲ။ Myanmar3, Padauk, Masterpiece, Parabaik, Thanlwin, Win Uni Innwa, Xenotype, MyMyanmar စသည္ျဖစ့္ ရွိၾကါတယ္။ အခုခ်ိန္မွာေတာ့ ေဖာင့္ပုံစံေတြ မစုံေသးေပမယ့္ အသုံးမ်ားလာတာနဲ႔ အမၽွ ေဖာင့္ေတြ ထပ္ထြက္လာဦးမွာပါ။ ခုေတာင္ Win Uni Kalaw လို Title Font ကို Open Release လုပ္မယ္လို႔ ေၾကာ္ျငာသြားတာ ေတြ႕ရပါတယ္။ အဲဒီအျပင္ ရွမ္းစာေတြအတြက္ပါ အျပည့္အစုံရေနၿပီ ျဖစ္တဲ့ Yunghkio လိုေဖာင့္ေတြလည္း ရွိလာေနၿပီ ျဖစ္ပါတယ္။ ဒီထက္ပိုၿပီးလည္း မ်ားလာစရာ အေၾကာင္းေတြ ရွိေနပါေသးတယ္။ အသုံးမ်ားတြင္ က်ယ္လာတာနဲ႔အမၽွ Myanmar Unicode ေတြမွာ ပုံစံမ်ိဳးစုံ Typography ေတြ ရလာမွ ျဖစ္ပါတယ္။ ဒါေၾကာင့္ ေဖာင့္ပုံစံက မလွဘူး၊ Title Font မရွိဘူး ဆိုသူေတြအတြက္လည္း အဆင္ေျပလာမွာ ျဖစ္ပါတယ္။ တကယ္တန္းေတာ့ Font ေတြထဲမွာ ပုံေဖာ္လို႔ရနိုင္ဖို႔ အတြက္ ျ မ်ိဳးစုံရွိေနပါတယ္။ ဒါေပမယ့္ ယူနီကုတ္ စနစ္နဲ႔ သိမ္းေတာ့မယ္ ဆိုမွသာ ျ ကိုတစ္မ်ိဳးတည္း သိမ္းမွာ ျဖစ္ပါတယ္။ အဲဒီလို သိမ္းတဲ့ အလုပ္ကိုလည္း Input Method က လုပ္ေပးပါတယ္။ တကယ္တန္း ေဖာင့္ဆိုတာ ပုံေဖာ္ေပး႐ုံ သက္သက္ပဲ ျဖစ္ပါတယ္။


Rendering


Font Rendering ဆိုတဲ့ အပိုင္းကေတာ့ Logical Order အတိုင္းရွိေနတဲ့ အခ်က္အလက္ေတြကို ကြန္ပ်ဴတာ ဖန္သားျပင္ေပၚမွာ ပုံေပၚလာေအာင္ လိုအပ္သလို ျပန္လည္ စီစဥ္ေပးရမွာ ျဖစ္ပါတယ္။ ျ လို႔ေတြ႕တဲ့အခ ြ ပါရင္ ေအာက္ပိုင္းျပတ္ေနတဲ့ ရရစ္နဲ႔ အစားထိုး ေပးရပါမယ္။ အေရွ႕မွာ သေဝထိုးၿပီး ေရာက္ေနတဲ့ ေ ကိုေတြ႕ရင္ အေရွ႕ကို ပို႔ေပးရပါမယ္။ ေအာက္ကျမင့္ကို ေတြ႕ရင္ သင့္ေတာ္သလို ေရြ႕ေပးရ ပါေတာ့မယ့္ အဲဒီလို Rendering ဆိုတဲ့ အလုပ္ကို OS ေတြက လုပ္ကိုင္ ေဆာင္ရြက္ေပးပါတယ္။ Visual Order အတိုင္း စီထားတဲ့ ေဖာင့္ေတြအတြက္ ျပႆနာ မရွိေပမယ့္ Logical Order အတိုင္းစီတဲ့ ေဖာင့္ေတြအတြက္ေတာ့ ျပႆနာရွိပါတယ္။ ဒါေၾကာင့္ တစ္ခ်ိဳ႕ေသာ OS ေတြမွာ ျမန္မာစာ မျမင္ရ ျဖစ္ေနတာပါ။ ဒါေပမယ့္ Commercialized OS အကုန္လုံးနီးပါးမွာ Myanmar Unicode ကို Rendering လုပ္ေပးနိုင္တာ ေတြ႕ရပါတယ္။

ယူနီကုတ္ေၾကာင့္ ရလာနိုင္တဲ့ အျခားအက်ိဳးေက်းဇူးမ်ား


ယူနီကုတ္အေၾကာင္းကို ကၽြန္ေတာ္တို႔ ေလ့လာၾကည့္တာ User Level လို႔ေခၚတဲ့ အဆင့္ကို အတန္အသင့္သိသြားၿပီလို႔ ဆိုနိုင္ပါတယ္။ အဓိက ရလာနိုင္တဲ့ အက်ိဳးေက်းဇူးေတြကိုလည္း သိသြားၿပီးလို႔ ဆိုနိုင္ပါတယ္။ အဲဒါေတြ အျပင္ တစ္ျခား ဘယ္လို အက်ိဳးေက်းဇူးေတြ ရလာ နိုင္ပါသလဲ။ ဆက္ၿပီး ေလ့လာၾကည့္ရေအာင္။

  • သတ္ပုံအမွားနည္းသြားျခင္း – စာရိုက္တဲ့အခါမွာ မွတ္စရာ ရိုက္စရာ နည္းသြားတဲ့အတြက္ အမွားအယြင္း ပိုၿပီးနည္းသြားေစပါတယ္။ အဲဒီအျပင္ သရပဲ ပါတယ္၊ ဗ်ည္း မပါဘူး၊ သရႏွစ္ခုထပ္ေနတယ္၊ စသည္ျဖင့္ အလြယ္တကူ ျမင္နိုင္တဲ့အတြက္ မွားေနရင္လည္း အလြယ္တကူ သိနိုင္ပါတယ္။
  • အစီအစဥ္မ်ား ျပဳလုပ္နိုင္ျခင္း (Sorting) – အေပၚမွာလည္း ေျပာခဲ့ၿပီးသြားပါၿပီ။ စာလုံးေတြကို အစီအစဥ္အတိုင္း စီခ်င္တယ္ဆိုရင္ လြယ္ကူစြာ စီလို႔ရလာပါလိမ့္မယ္။ ေလ့လာခ်င္တယ္ဆိုရင္ ThanLwinSoft က ေရးထားတဲ့ Sorting Program မွာ ေလ့လာနိင္ပါတယ္။
  • အခ်က္အလက္ပို႔လြတ္ရတြင္ ပုံစံကြဲလြဲမွု မရွိနိုင္ျခင္း – ဒီဖက္က ပို႔လိုက္တဲ့ အခ်က္အလက္ကို ဟိုဖက္ကလည္း ဒီအတိုင္းပဲ လက္ခံရရွိမွ ျဖစ္ပါတယ္။ ဘာေဖာင့္နဲ႔ ပို႔လိုက္တယ္ ဆိုတာမ်ိဳး ေျပာစရာလိုေတာ့မွာ မဟုတ္ပါဘူး။
  • ဘာသာျပန္စနစ္၊ အဘိဓာန္ စသည္တို႔အတြက္ ပိုမိုလြယ္ကူစြာ ဖန္တီးနိုင္ျခင္း – ယူနီကုတ္ စနစ္ဆိုတာ တစ္ဖက္ကၾကည့္ရင္ စံစနစ္ တစ္ခု ျဖစ္သလို တစ္ဖက္က ၾကည့္ရင္ ပိုၿပီးရိုးရွင္းသြားေအာင္ ပိုၿပီးတိက်သြားေအာင္ ဖန္တီးထားတဲ့ စနစ္ျဖစ္ပါတယ္။ ဒါေၾကာင့္ ဘာသာျပန္စနစ္ေတြ၊ အဘိဓာန္ကိစၥေတြမွာ အရင္ထက္ ပိုၿပီး လြယ္ကူသြားေစမွာ ျဖစ္ပါတယ္။
  • နိုင္ငံတကာ စံႏွုန္းျဖစ္ျခင္း – နိုင္ငံတကာ စံႏွုန္းျဖစ္တဲ့အတြက္ နိုင္ငံတကာက လက္ခံမယ္ဆိုရင္ နိုင္ငံတကာ စံႏွုန္းနဲ႔ ညီတာကိုပဲ စဥ္းစားပါလိမ့္မယ္။ ဥပမာ – OS လိုေတြမွာ တစ္ခါတည္း ထည့္သြင္းေပးမယ္ဆိုရင္ International Standard နဲ႔ ညီတာကိုသာ ထည့္သြင္းေပးမွာ ျဖစ္ပါတယ္။ နိုင္ငံတကာ စံႏွုန္းနဲ႔ ညီတဲ့အတြက္ နိုင္ငံတကာမွာ ျမန္မာစာစနစ္ဆိုတာ သီးသန႔္ ရပ္တည္နိုင္ေစပါတယ္။
  • စနစ္တစ္ခုတည္း အေပၚမွာ အေျခခံထားျခင္း – ဒါလည္း အေရးႀကီးတဲ့ အခ်က္ပါ၊ စနစ္တစ္ခုတည္းအေပၚမွာ အေျခခံထားတဲ့ အတြက္ စနစ္ေတြ အမ်ားႀကီးကို စဥ္းစားေနစရာ မလိုေတာ့ပါဘူး။ ဒါက ဒီစနစ္ပဲဆိုၿပီး ဘယ္ေနရာသြားသြား ထပ္သင္ေနစရာ မလိုေတာ့ပါဘူး။

အေပၚမွာေရးသြားတဲ့ အခ်က္ေတြ အားလုံးဟာ ကၽြန္ေတာ္ေလ့လာသိရွိခဲ့ရတာေတြကို ရိုးရိုးသားသား ျပန္ေရးထားျခင္း ျဖစ္ပါတယ္။ အဲဒီလို သိေအာင္ ကူညီခဲ့တဲ့သူေတြကိုေတာ့ အမ်ားႀကီးပါပဲ။ ကိုေငြထြန္း၊ ကိုေဇာ္ထြဋ္၊ ကိုရာဗီ၊ Myanmar NLP Lab နဲ႔ အျခား ယူနီကုတ္နဲ႔ ပတ္သက္သမၽွ သူအားလုံးကို ေက်းဇူးတင္ရမွာပဲ။ Online Reference ေတြ အေနနဲ႔ကေတာ့ Wikipedia, Unicode.ORG တို႔ကေန ေလ့လာတာပါ။ ကၽြန္ေတာ္သိတာေတြ ခ်ေရးထားတာ ျဖစ္တဲ့အတြက္ အမွားအယြင္းေတြလည္း ရွိနိုင္ပါတယ္။ အဲဒီလို အမွားအယြင္းေတြ ရွိခဲ့ရင္ ကၽြန္ေတာ့္ကို ေထာက္ျပေဝဖန္ေပးဖို႔ ဖိတ္ေခၚပါတယ္။

အားလုံးပဲ ရႊင္လန္းခ်မ္းေျမ့ပါေစ
ref:Soe Thiha Naung
အဆင္ေျပရင္ေအာက္ပါေၾကာ္ျငာကိုတစ္ခ်က္ကလစ္ခဲ့ပါ
++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++ အဆင္ေျပပါေစ ေက်းဇူးတင္ပါတယ္