ကျွန်ုပ်လေ့လာမိသမျှ ယူနီကုတ်အကြောင်း
ကျွန်တော့် အနေနဲ့ ယူနီကုတ်ကို ပြောင်းမယ်ဆိုကတည်းက ယူနီကုတ်အကြောင်းကို အသေးစိတ် လေ့လာဖြစ်ခဲ့ပါတယ်။ ပထမဦးဆုံး လေ့လာ ဖြစ်ခဲ့တာကတော့ ယူနီကုတ်ဆိုတာ ဘာလဲဆိုတဲ့ အပိုင်းပါ။ မလေ့လာခင်တုန်းကတော့ ယူနီကုတ်ဆိုတာ ဖောင့်တစ်ခု ဖောင့်စနစ်တစ်ခု အနေနဲ့သာ သိနေခဲ့တာပါ။ ဒါပေမယ့် တကယ်တန်း စာတွေကို သွားဖတ်ကြည့်တော့မှ Standard (စံ) တစ်ခုဖြစ်မှန်း စပြီးသိလာခဲ့ရပါတယ်။
Unicode
ယူနီကုတ်ဆိုတာ ကွန်ပျူတာသုံး ဘာသာစကားတွေကို စနစ်တကျ ညီညီညွတ်ညွတ် ဖြစ်အောင် နေရာတွေ သတ်မှတ်ပေးတဲ့ စနစ်ဖြစ်ပါတယ်။ ကျွန်တော်တို့လို လူပြိုင်းတွေ နားလည်အောင် ပြောရမယ်ဆိုရင် မြေကွက်တွေ ချပေးထားတာပေါ့။ ‘က’ အတွက် တစ်နေရာ ‘ခ’ အတွက် တစ်နေရာ စသည်ဖြင့် နေရာချထားပေးပါတယ်။
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 မှာ ပါဝင်တဲ့ မြန်မာစာအတွက် နေရာတွေပါ။
အဲဒီနေရာတွေမှာ သွားကြည့်လိုက်မယ်ဆိုရင် ဗမာ၊ ပါဋ္ဌိ၊ မွန်၊ ကရင်၊ ကယား၊ ရှမ်း၊ ပလောင် စသည်ဖြင့် ဗမာစကားနဲ့ ပုံစံတူတဲ့ အနေအထား အားလုံးအတွက် နေရာတွေ ရှိပြီး ဖြစ်တာ တွေ့ရပါလိမ့်မယ်။ ပထမ 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 တို့ကနေ လေ့လာတာပါ။ ကျွန်တော်သိတာတွေ ချရေးထားတာ ဖြစ်တဲ့အတွက် အမှားအယွင်းတွေလည်း ရှိနိုင်ပါတယ်။ အဲဒီလို အမှားအယွင်းတွေ ရှိခဲ့ရင် ကျွန်တော့်ကို ထောက်ပြဝေဖန်ပေးဖို့ ဖိတ်ခေါ်ပါတယ်။
အားလုံးပဲ ရွှင်လန်းချမ်းမြေ့ပါစေ
သီဟ (Myanmar Tutorials)
Facebook comments:






အပြင် အစီအစဉ်တွေကို လေ့လာကြည့်မယ် ဆိုရင်လည်း ဗျည်း (Letter) တွေက အရေးအကြီးဆုံး ဖြစ်တဲ့အတွက် ထိပ်ဆုံးမှာ စီထားတာ တွေ့ရပါလိမ့်မယ်။ က အတွက် အမှတ်စဉ် 1000 ပေါ့၊ ခ အတွက် 1001 စသည်ဖြင့်ပေါ့။
ဒါဆိုရင် English စာမှာတော့ ဘာလို့ နံပတ်က အရင်စီလဲဗျ ?
အစီအစဉ်များ ပြုလုပ်နိုင်ခြင်း (Sorting)
100% sorting တော့ မရေတာ သေချာပါတယ်။
အ အိ အု အေ အော အံ အို ကိုပဲ sorting စီ ကြည့်ပါ။
for sorting
http://www.thanlwinsoft.org/ThanLwinSoft/MyanmarUnicode/Sorting/
ဘာသာပြန်စနစ်၊ အဘိဓာန် စသည်တို့အတွက် ပိုမိုလွယ်ကူစွာ ဖန်တီးနိုင်ခြင်း
smart လိုမျုိး embed device တွေမှာတော့ မြန်မာ unicode rendering အလုပ်မလုပ်ပါ။
Hi, ko thia … can you add this link
http://www.thanlwinsoft.org/ThanLwinSoft/MyanmarUnicode/Sorting/myTestICU.php
for unicode sorting
ဘာျဖစ္လုိ႔ အကုိ က Unicode ကိုေျပာင္းသံုးတာလဲ ကၽြန္ေတာ္တို႔ဖတ္ရတာ အဆင္မေျပေတာ့ဘုူး Unicode ကစက္တိုင္းမွာမွမရွိတာ အကိုတို႔ဆိုဒ္ ကို ၀င္ဖတ္ခ်င္ရင္ ကၽြန္ေတာ္ တို႔ က Unicode တင္ရမွာလား အင္တာနက္ဆိုင္မွာကၽြန္ေတာ္တို႔က သံုးရတာဆိုေတာ့ အဆင္မေျပဘူး တစ္ခါ သြားရင္တစ္ခါတင္မလိုျဖစ္ေနတယ္ အင္တာနက္ဆိုင္မွာက တစ္ခါ install လုပ္ျပီး ေနာက္ေန႔မရွိေတာ့ဘူး HD Guard သံုးထားတာဆုိေတာ့ အဆင္မေျပဘူး အမွားပါရင္ခြင့္လြတ္ပါ
အခုလို အဆင္မေျပျဖစ္တဲ့အတြက္ ေတာင္းပန္ပါတယ္ခင္ဗ်ာ ဒါေပမယ့္ ကၽြန္ေတာ္တို႔ လိုအပ္လို႔ကို ေျပာင္းလိုက္ရတာပါ။ အဲဒီလို အေျခအေနနဲ႔ စက္ထဲမွာ ယူနီကုတ္ မရွိရင္ ဆိုင္ရွင္ကို Request လုပ္ၿပီး ထည့္ခိုင္းလိုက္ပါခင္ဗ်ာ။ ကၽြန္ေတာ္ ဘာေၾကာင့္ ေျပာင္းသင့္တယ္ဆိုတဲ့ အေၾကာင္းေတြကို အျပည့္အစံု ေရးထားပါတယ္။ ဖတ္ၾကည့္ပါဦးခင္ဗ်
try to use with
http://bookmarklet.saturngod.net
drag & drop link to your browser. and then just click to change unicode to zawgyi or Unicode font embed.
@ Saturn God
Please see the following code order
၁=U+1041, ၂ =U+1042, ၃ = U+1043, ၃= U+1043, ၄= U+1044, ၅= U+1045, ၆= U+1046, ၇= U+1047, ၈= U+1048,
၉= U+1049
1=U+0031, 2=U+0032, 3=U+0033 …
Ref: The answer from MITP by Ranka
yes … I mean A is a U+0041 , B is a U+0042
so , A B C is later of 1 , 2 ,3 … In myanmar unicode … က ခ ဂ is the frist and ၀ ၁ ၂ ၃ is later.
I mean this … number is later and Letter is first.
Sorry, I may wrong … I’m not best in unicode and I don’t interest unicode too. Just read article and some compile about
ပြင် အစီအစဉ်တွေကို လေ့လာကြည့်မယ် ဆိုရင်လည်း ဗျည်း (Letter) တွေက အရေးအကြီးဆုံး ဖြစ်တဲ့အတွက် ထိပ်ဆုံးမှာ စီထားတာ တွေ့ရပါလိမ့်မယ်။ က အတွက် အမှတ်စဉ် 1000 ပေါ့၊ ခ အတွက် 1001 စသည်ဖြင့်ပေါ့။
btw, can you give a me link about Ranka in MITP ?
I am also using unicode and it’s OK for me.
@Saturn God
Please Compare the Character and the one at end of the code. They have the same value..
1 = 1 at the end of 0031 and it is also true for Myanmar ၁ = 1 at the end of 1041.
ကိုသီဟ
“ေၾကာင္” ကို ရှင်းတဲ့ အပိုဒ် ” ေ” “ျ ” တို႔ကို inverted comma လေးတွေ ထည့်ပေးရင် ပိုရှင်းလိမ်မယ် ထင်တယ်ဗျ
ကိုသီဟရေ ယူတီကုတ် ဖြစ်နေတယ်။ ဇော်ဂျီနဲ့ပဲရေးလိုက်တယ်ဗျာ.. ယူနီကုတ်တော့ သွင်းထားပါတယ်။ Font တွေက ဇော်ဂျီလောက် မလှသလိုပဲ
ကျွန်တော် အခုမှ သတိထားမိတယ်၊ ကျွန်တော့်ကို နာမည်ဖျက်တယ်ဆိုပြီး ပြောကြတော့မှာပဲ။ ကျေးဇူးတင်ပါတယ်ဗျာ … ကျွန်တော်က ပို့စ်ထဲမှာ မှတ်လို့ လိုက်ရှာနေတာ … ဟားဟား …
Ko Thiha,
Myanmar Unicode Font links in sidebar are opening double tabs. double target tags? i can’t find the cause with my little knowledge in html & css.
aww, ok. I will check that. Thanks!
oops! may be that’s only on my ff.
hv to check my ff setting.
anyway, thx for prompt reply.
[...] http://www.myanmartutorials.com/articles/me-and-unicode/ [...]
collation table နဲ့ သူ့ရဲ့ sorting mechanism ကို လေ့လာ ကြည့်ပါ။
မြန်မာလို ၁၀၀% အက္ခရာ စဉ်လို့ရအောင် ဒီဇိုင်း လုပ်ထားပါတယ်။ ICU မှာ အကုန် မဝင်သေးလို့ အခု ၁၀၀% မရသေးတာပါ။
မြန်မာယူနီကုဒ်ဟာ ၁၀၀% မြန်မာလို အက္ခရာစဉ်နိုင်အောင် လုပ်ထားတဲ့ စနစ် ဖြစ်ပါတယ်။ စိတ်မပူပါနဲ့။
ယူနီကုဒ်မှာ ဘာလို့ ဖောင့်တွေ ကြီးလို့မရသေးတာလဲဟင်.
ယူနီကုဒ်မှာ ဖောင့်တွေ ကြီးလို့ရပါတယ်ခင်ဗျာ Yunghkio မှာဆိုရင် သေသေချာချာ ကြီးလို့ရပါတယ်ခင်ဗျာ
I’m proud of you as a MYANMAR.Thank for your post.
MYSQL လို Database မှာရော Myanmar Unicode က အလုပ်လုပ်ပါလားခင်ဗျာ။
ဟုတ်ကဲ့ အဆင်ပြေပါတယ်ခင်ဗျာ ကျွန်တော် အခု mmtuts ဟာလည်း MySQL ကိုသုံးထားတာပါပဲခင်ဗျာ
[...] [...]
Hi Ko Thiha, I have installed win myanmar unicode ver 5. It has change the height of fonts “aerial, times new romen” in the excel file. I want to uninstall but I cannot find it in the control panel. Please advice.
Win Myanmar Unicode မှာ Windows ကို Customize လုပ်မလားလို့ မေးတဲ့အခါ အဲဒါကို လုပ်မယ်လို့ ပြောလိုက်တာကြောင့်ဖြစ်မယ်ထင်ပါတယ်။ Program Files -> ထဲမှာ ရှိပါတယ်ခင်ဗျ … အဲဒီမှာ ရှာကြည့်ပါ
[...] ရွင္းလင္းတင္ျပေပးသြားပါမယ္ ။ဒီေနရာေလးမွာေတာ့ ျမန္မာ့ယူနီကုဒ္ေတြ အေၾကာင္းကို [...]
I think this character is false ( ကျွေး ), in this phase ( ကျွေးကျော် ).