Encoding ဆိုတာဘာလဲ ကို အရင် သိဖို့ Unicode Consortium ၏အဖွဲ့ဝင်ြဖစ်ြပီး ဝီကီပိဒိယ ြမန်မာဘာသာအပိုင်းတွင် System Operator ြဖစ်သူ၊ Technomation Studios နှင့် MyMyanmar Projects တို့တွင် အမှုေဆာင်ဒါရိုက်တာအြဖစ် တာဝန်ထမ်းေဆာင်လျှက်ရှိသည့် ကိုထူးြမင့်ေနာင်က (http://www.myanmartutorials.com/articles/computerized-myanmar-languages/) မှာ
[caption id="" align="alignright" width="241" caption="Morse code, a famous type of code."][/caption]
Encoding
ကွန်ပျူတာသည် ကျွန်ုပ်တို့လူအများ နားလည်သလို ဘာသာစကားများ၊ စာလံုးများကို နားလည်သိရှိနိုင်ြခင်းမရှိပါ။ အေြခခံအကျဆံုး အဆင့်တွင် ကွန်ပျူတာများသည် ဂဏန်းများကို သိမ်းနိုင်၊ တွက်ချက်နိုင်ြခင်း စွမ်းရည်သာရှိြကပါသည်။ ထို့ေြကာင့် ဘာသာစကားများ၏ အက္ခရာများကို ကွန်ပျူတာများတွင် သံုးနိုင်ရန်အတွက်လည်း အက္ခရာတစ်လံုးချင်းစီကို ဂဏန်းများအြဖစ် သတ်မှတ်ရပါသည်။ ဥပမာ အဂင်္လိပ်အက္ခရာ ေအ ‘A’ ကို 41 ဟု သတ်မှတ်ပါသည်။ ထိုသို့ သတ်မှတ်မှသာ ကွန်ပျူတာက ကျွန်ုပ်တို့သံုးေသာ စာေပများကို သိမ်းဆည်းနိုင်ြခင်း၊ ပရင်တာထုတ်နိုင်ြခင်း၊ ဝက်ဘ်ဆိုက်များတွင် ဖတ်ရှုနိုင်ြခင်း စသည်တို့ကို ေဆာင်ရွက်နိုင်ြခင်း ြဖစ်ပါသည်။ သို့ေသာ်လည်း ဘာသာအသီးသီး၏ အက္ခရာအသီးသီးကို မည်သည့် ဂဏန်းအြဖစ် သိမ်းမည်ဆိုေသာ သတ်မှတ်ချက်သည် တစ်နိုင်ငံနှင့် တစ်နိုင်ငံ၊ ကွန်ပျူတာစနစ်တစ်ခုနှင့် တစ်ခု ေဆာ့ဝဲလ်တစ်ခုနှင့်တစ်ခု မတူညီခဲ့ြကပါ။ ဥပမာ အဂင်္လိပ်ဘာသာစကားတွင်ပင် အက္ခရာများကို ANSI Encoding, ASCII Encoding, MacRoman Encoding စသည်ြဖင့် အမျိုးမျိုး သတ်မှတ်ခဲ့ြကပါသည်။ ထို့ေြကာင့် Encoding ဆိုသည်မှာ မည်သည့် အက္ခရာကို မည်သည့် ဂဏန်းသတ်မှတ်သည်ဆိုေသာ သတ်မှတ်ချက် တစ်ခုသက်သက်ပင် ြဖစ်ပါသည်။ ASCII Encoding တွင် ‘A’ သည် 41 ြဖစ်ြပီး ‘Z’ သည် 90 ြဖစ်ပါသည်။
Encoding Standards
ဘာသာစကား တစ်ခုတည်းကိုပင် အမျိုးမျိုးေသာ ဂဏန်း သတ်မှတ်ချက်များနှင့် သိမ်းဆည်း ြကေသာေြကာင့် ကွန်ပျူတာတစ်ခုနှင့် တစ်ခု၊ ေဒသတစ်ခုနှင့်တစ်ခု အချက်အလက်များ (စာများ) ေပးပို့သည့်အခါ encoding မတူညီေသာေြကာင့် တစ်ေနရာမှ အချက်အလက်ကို အြခားတစ်ေနရာမှ ဖတ်၍ မရြခင်း ြပဿနာများ ေြပလည်ေစရန် အတွက် International အဖွဲ့အစည်းများသည် စံသတ်မှတ်ချက်များ သတ်မှတ်ြပီး အေကာင်အထည်ေဖာ်ခဲ့ြကပါသည်။ ပထမဦးဆံုး ထွက်ေပါ်လာေသာ စံသတ်မှတ်ချက်မှာ အဂင်္လိပ်ဘာသာ စကားအတွက်ြဖစ်ြပီး ၎င်းကို ASCII ဟု ေခါ်ပါသည်။ ထိုအချိန်မှစ၍ တစ်ကမ္ဘာလံုးတွင် အဂင်္လိပ်စာကို ASCII Encoding နှင့်သာ သိမ်းဆည်းြကေသာေြကာင့် စနစ်မတူြခင်း၊ ေဖာင့်မတူြခင်း ြပဿနာများ ကင်းေဝးခဲ့ြကပါသည်။ ထို့ေနာက် အဂင်္လိပ်ဘာသာ စကားကဲ့သို့ပင် တစ်ကမ္ဘာလံုးမှ ဘာသာစကားအားလံုး၏ အက္ခရာများကို စံသတ်မှတ်နိုင်ရန်အတွက် ISO နှင့် Unicode Consortium အဖွဲ့အစည်းများ ဖွဲ့စည်း၍ ြကိုးပမ်း လုပ်ေဆာင်ခဲ့ြကပါသည်။ Unicode Standard သည် အဆိုပါ ISO နှင့် Unicode Consortium တို့၏ ြကိုးပမ်းမှုများမှ ရလဒ်ပင် ြဖစ်ပါသည်။ တစ်ကမ္ဘာလံုးတွင် လက်ရှိ သံုးေနေသာ Encoding စနစ်သည် Unicode Standard ပင် ြဖစ်ပါသည်။
ြမန်မာစာ Encoding များ
ASCII ေခတ်တွင် ြမန်မာစာ encoding များရှိခဲ့ေသာ်လည်း Standard အြဖစ် သတ်မှတ်နိုင်ြခင်း မရှိခဲ့ပါ။ ထိုအချိန်က ြမန်မာစာ encoding များမှ အဂင်္လိပ်စာစာလံုးများကို အေြခခံေသာ စနစ်များသာ ြဖစ်ခဲ့ပါသည်။ ဥပမာ ကွန်ပျူတာကီးဘုတ်တွင် ‘u’ ကို နှိပ်လိုက်လျှင် ကြကီးေပါ်နိုင်ရန် ေဖာင့်ထဲတွင်ရှိေသာ ‘u’ ၏ စာလံုးပံုစံဒီဇိုင်းကို ‘က’ ြဖစ်ေအာင် ြပင်ဆင်ထားေသာ ေဖာင့်များသာ ထွက်ေပါ်ခဲ့ပါသည်။ ထို့ေြကာင့် ကွန်ပျူတာစကရင်ေပါ်တွင် ကြကီးေပါ်ေသာ်လည်း ကွန်ပျူတာက အမှန်တကယ် မှတ်သား သိမ်းဆည်းထားသည်မှာ အဂင်္လိပ်အက္ခရာ ‘u’ သာ ြဖစ်ပါသည်။ ထို့ေြကာင့် ၎င်းစနစ်များသည် စာပံုနှိပ်လုပ်ငန်းမှအပ အြခားလုပ်ငန်းများတွင် တွင်ကျယ်လာခဲ့ြခင်း မရှိပါ။ ASCII Encoding ြဖင့် ြမန်မာစာစနစ်များကို ‘ေဖာင့်’ များဟုသာ ေခါ်ခဲ့ြကပါသည်။ ေရးသားသူ မတူေသာ ASCII ေဖာင့်အမျိုးမျိုးသည် အဂင်္လိပ် အက္ခရာအမျိုးမျိုးကို ေနရာလဲခဲ့ေသာေြကာင့် တစ်ခုနှင့် တစ်ခု မတူညီြကပါ။ ထို့ေြကာင့် English ASCII လို စနစ်အားလံုး၊ ေနရာအားလံုးတွင် တစ်သတ်မှတ်တည်း သံုးနိုင်ေသာ ြမန်မာစာ ASCII စနစ်လည်း မရှိခဲ့ပါ။ ASCII Encoding/ Font များမှာ
1. AvaLaser(Mac only)
2. CE
3. Academy
4. M-Myanmar
5. Ava
6. Win Myanmar: Win Innwa, Win Hakha, Win Thanlwin, etc
7. W Art House, A Art House
ထို့ေနာက်တွင် ISO/Unicode Consortium မှ ြမန်မာဘာသာကို Unicode Standard ထဲတွင် ထည့်သွင်းနိုင်ခဲ့ပါသည်။ သို့ရာတွင် Unicode Standard Encoding ဆိုသည်မှာ အက္ခရာများကို ဂဏန်းသတ်မှတ်ေပးြခင်း ြဖစ်ေသာ်လည်း ြမန်မာေဖာင့်ေရးသူများ နားလည်ထားေသာ အဂင်္လိပ်အက္ခရာများကို ြမန်မာစာနှင့် လဲမည်ဆိုေသာ အယူအဆနှင့် လံုးဝဆန့်ကျင်ဖက် ကွာြခားပါသည်။ ASCII ေဖာင့်များတွင် ‘က’ တစ်လံုးအတွက် ၎င်း၏ ပံုသဏ္ဌာန်ကို လိုက်ြပီး ဂဏန်းများကို ကိုယ်စားြပုပါသည်။ ဥပမာ ဝင်းအင်းဝတွင် ‘က’ အတွက် 75 နှင့် ‘-္က’ အတွက် 250 ဟု မှတ်သားပါသည်။ ယူနီကုတ်တွင် ‘က’သည် 0×1000 (4096) ြဖစ်ြပီး ‘က ’သည်လည်း 0×1000 (4096) ြဖစ်ပါသည်။ ထို့ေြကာင့် ASCII မှာလို ‘က’ ၏ စာလံုးဒီဇိုင်းေရးရန် တစ်ေနရာ၊ ‘က- ’ အတွက် တစ်ေနရာ မရှိပါ။ အေြခအေနကိုလိုက်၍ ‘က’ နှင့် ‘-္က’ ကို အလိုအေလျာက် ေြပာင်းလဲနိုင်သည့် ‘Rendering System’ ေခါ် နည်းပညာြဖင့် လုပ်ေဆာင်ရမည် ြဖစ်ပါသည်။ ထို့မှသာ ကျွန်ုပ်တို့ ကွန်ပျူတာတွင် သံုးေနေသာ Database များ၊ အီးလ်ေမးများ၊ Search Engine များ၊ ကွန်ပျူတာသံုးစနစ်များ (e-Government, Banking, POS, etc) သည် မှန်ကန်တိကျစွာ အလုပ်လုပ်နိုင်မည် ြဖစ်ပါသည်။ ‘က’ နှင့် ‘က’ သည် ဂဏန်းနှစ်ခုကိုသာ ကိုယ်စားြပုပါလျှင် ကွန်ပျူတာအား ‘တက္ကသိုလ်’တွင် ‘က’ ဘယ်နှလံုးပါသလဲေမးပါက ‘-္က’ ကို ‘က’မှန်းမသိဘဲ ‘က’ တစ်လံုးသာပါသည်ဟု အေြဖထွက်ပါလိမ့်မည်။ ၎င်းအေြဖသည် database များ၊ အီးေမးလ်စနစ်များ၊ search engine များတွင် များစွာ ထိခိုက်ေစနိုင်ပါသည်။ ဥပမာ သင်ရှာလိုေသာ အချက်အလက်များ တိကျစွာ မရှာေဖွနိုင်ြခင်း၊ အက္ခရာစဉ်ြခင်းအပါအဝင် အချက်အလက်များကို စီစဉ်နိုင်မှု မရှိြခင်းမှစ၍ စနစ်တစ်ခုလံုး အလုပ်ေသချာစွာ မလုပ်နိုင်ြခင်းအထိ မလိုလားအပ်ေသာ ဆိုးကျိုးများစွာ ရရှိနိုင်မည် ြဖစ်ပါသည်။ ထို့ေြကာင့် Unicode Standard တွင် ‘က’ သည် ဂဏန်းတစ်ခုတည်းအြဖစ်သာ သတ်မှတ်ပါသည်။ ထိုနည်းတူ ASCII ေဖာင့်များတွင် ေတွ့ရေသာ ရရစ် အြကီးအေသးအမျိုးမျိုး၊ ေအာက်ြမစ်အမျိုးမျိုး၊ တစ်ေချာင်းငင်အမျိုးမျိုးတို့ မရှိေတာ့ပါ။ အားလံုးမှာ သတ်မှတ်ထားေသာ စံအတိုင်း တစ်ခုစီသာ ရှိပါသည်။ ၎င်းအက္ခရာများ မည်သည့်ပံုစံေပါ်မည်ဆို (ဥပမာ တစ်ေချာင်းငင် တိုမည်၊ ရှည်မည်) ကို ကွန်ပျူတာစနစ်များက လုပ်ေဆာင်ေပးမည် ြဖစ်ပါသည်။
လို့ ေရးသားထားခဲ့ပါတယ်။ အဲ့တာကို ြကည့်ြခင်းအားြဖင့် Encoding ဆိုသည်မှာ စာလံုးစီပံု (http://www.myanmarlanguage.org/unicode/%E1%80%9A%E1%80%B0%E2%80%8B%E1%80%94%E1%80%AE%E2%80%8B%E1%80%80%E1%80%AF%E1%80%90%E1%80%BA-%E1%80%85%E1%80%AC%E1%80%9C%E1%80%AF%E1%80%B6%E1%80%B8%E2%80%8B%E1%80%85%E1%80%AE%E2%80%8B%E1%80%95%E1%80%AF%E1%80%B6-unicode-encoding)လို့ေခါ်ဆို သတ်မှတ်ြခင်းဟာ မှန်ကန်တဲ့ ေတွးေခါ် ယူဆမှုဟုတ်မဟုတ် စဉ်းစားစရာြဖစ်လာေစပါတယ်။ စာလံုးစီပံုကို (Sorting) လို့ ေခါ်ဆိုြပီး အက္ခရာစဉ်အလိုက်၊ တူရာ အက္ခရာေတွအလိုက် ြပန်လည်စီစဉ်တာ၊ စဉ်တာကို ဆိုလိုတာပါတယ်။ စာလံုးစီပံု၊ စဉ်ပံု(Sorting) အေြကာင်း ကို ေနာက်မှ ထပ်ေရးပါ့မယ်။
Encoding ကို အဆင်ေြပဆံုး အသင့်ေလျာ်ဆံုး ြပန်ဆို နားလည်မိသေလာက် ေြပာရရင် ကုတ်ေြပာင်း (ကုတ်ဝှက်)လို့ ေခါ်ဆိုရမယ်ထင်ပါတယ်။ ဝီကီပီဒီယားမှာေတာ့ In communications and information processing, encoding is the process by which information from a source is converted into symbols to be communicated. (http://en.wikipedia.org/wiki/Encoding) လို့ဆိုထားပါတယ်။ အဲ့တာကိုြကည့်ြခင်းအား Encoding ဆိုတာ ဘာလဲ၊ ဘာအတွက်ဆိုတာကို ေယဘုယျ သေဘာေပါက်မည်ထင်ပါသည်။
ြမန်မာ ၃ စသည့် ေဖာင်များနှင့် ဧရာကွာြခားချက်
ဧရာြမန်မာယူနီကုဒ်စာလံုးများသည် နိုင်ငံတကာယူနီကုဒ်အဖွဲ့က ြမန်မာတိုင်းရင်းသား ဘာသာများအတွက် နိုင်ငံတကာယူနီကုဒ်ဇယားတွင် ေနရာချထားေပးသည့် ဂဏန်းသတ်မှတ်ချက်များ (Unicode code points) ကို အတိအကျ လိုက်နာပါသည်။ ထို့ေြကာင့် ဧရာယူနီကုဒ်စနစ် တခုတည်းြဖင့် ဗမာနှင့် အြခား တိုင်းရင်းသား ဘာသာစကားများကို အခက်အခဲမရှိ သံုးစွဲနိုင်ပါသည်။
ဧရာယူနီကုဒ်စနစ်တွင် သေဝထိုး { ေ– } ၊ ရရစ် { ြ – } နှင့် ကင်းစီး { –င်္ } တို့ကို ေရးသားရာတွင် Unicode encoding စနစ်ကို ေလာေလာဆယ်အားြဖင့် အသံုးမြပုေသးပဲ "အရင်လာ၊ အရင်ရိုက်" သည့် စနစ်ကိုသာ အသံုးြပုေနပါသည်။ ဤစနစ်ကို သံုးရြခင်းမှာ
(၁) reordering ေခါ် စာလံုးေနရာြပန်စီြခင်းကို လက်မခံသည့် Photoshop, InDesign စေသာ Adobe အုပ်စုဝင် software များနှင့် Java, .Net စသည့် software များတွင် ဧရာယူနီကုဒ်စာလံုးများကို အသံုးြပုနိုင်ရန်နှင့်
(၂) သေဝထိုး၊ ရရစ် နှင့် ကင်းစီး ပါေသာ စာလံုးများကို ရိုက်တိုင်း ကွန်ြပူတာက စာလံုးေနရာြပန်စီေနရသြဖင့် စာရိုက် စာသိမ်းရာတွင် ြဖစ်ေစ၊ ြပန်လည်ရှာေဖွရာတွင် ြဖစ်ေစ ေနှးေကွးြခင်း မရှိေစရန် ြဖစ်သည်။
ယူနီကုဒ် ကုတ်ေြပာင်း (ကုတ်ဝှက် - Unicode encoding) စနစ်သည် sorting ေခါ် အက္ခရာစဥ်ြခင်းအတွက် အသံုးဝင်ပါသည်။ သို့ေသာ် ြမန်မာ အက္ခရာစဥ်ြခင်းကို operating system တိုင်းက အသိအမှတ်ြပုြခင်း မရှိေသးသည့်အတွက် ယူနီကုဒ် ကုတ်ေြပာင်း (ကုတ်ဝှက် - Unicode encoding) စနစ်ကို မှန်မှန်ကန်ကန် အသံုးြပု၍ မရပါ။ ြမန်မာအက္ခရာစဥ်ြခင်းကို အသိအမှတ်ြပုသည် ဆိုေသာ Linux တွင်ပင် sorting က အလုပ်လုပ်ေသာ်လည်း ligation ေခါ် ပံုေဖါ်စနစ်က အလုပ်မလုပ်သြဖင့် အက္ခရာစဥ်ထားေသာ ြမန်မာစာလံုးများကို ပံုေဖါ်ရာတွင် အြမင်အားြဖင့် ေရှ့ေနာက်လွဲေနကာ အသံထွက်၍ မရနိုင်သည်ကို ေတွ့ရမည်သာြဖစ်သည်။
ယူနီကုဒ် ကုတ်ေြပာင်း (ကုတ်ဝှက် - Unicode encoding) စနစ်နှင့် ြမန်မာစာ ေရးထံုး
ယူနီကုဒ် ကုတ်ေြပာင်း (ကုတ်ဝှက် - Unicode encoding) စနစ်သည် အသံကိုအေြခခံကာ ဖန်တီးခဲ့ြခင်းြဖစ်ကာ၊ ြမန်မာစာေရထံုးြဖစ်သည့် ေရးေတာ့အမှန်၊ ဖတ်ေတာ့ အသံဆိုြခင်းနှင့်ကွဲြပားြခားလျက်ရှိသည်။ ြမန်မာ စာေရးသားရာတွင် ေရးဟန်အရ ကွဲြပားြခားနားမှုများရှိသည့်တိုင်ေအာင် ေရးထံုးြဖစ်သည့် ေရးေတာ့အမှန်၊ ဖတ်ေတာ့ အသံကို လိုက်နာြကသည်သာြဖစ်သည်။
တကယ်ေတာ့ ဒီလို encoding ြပဿနာမျိုးကို အေရှ့တိုင်းက စာေရးထံုး စံနစ် အများစု – ဥပမာ အိန္ဒိယြပည်သံုး ေဒဝနာဂရီ (Devanagari) နဲ့ တရုတ်၊ ဂျပန်၊ ကိုရီးယား စာေရးနည်း စံနစ်ေတွမှာ ြကံုေနရဆဲ ြဖစ်သလို၊ ယူနီကုဒ် ကုတ်ေြပာင်း (ကုတ်ဝှက် - Unicode encoding) စနစ်ကို အိမ်းနီးချင်း ထိုင်း၊ တရုတ်နှင့် ကိုးရီးယား၊ ဂျပန်တို့တွင်လည်း ကွဲြပားြခားနားသည့် အယူအဆ သေဘာတရား အြဖစ် မှတ်ယူသလို ေဝဖန် တိုက်ခိုက် ေြပာဆိုြခင်း မရှိဘဲ၊ မိမိရဲ့ အားနည်းများကို အေကာင်းဆံုး ြပုြပင်ကာ သံုးစွဲသူေတွကို စည်းရံုးတာဘဲေတွ့ရှိရပါတယ်။ လက်ရှိမှာ ြမန်မာ အေြခအေနမှာေတာ့ သံုးစွဲသူေတွ အေရးထက် မိမိတို့၏ ကိုယ်ကျိုးစီးပွားကို အေြခခံကာ လုပ်ေဆာင်ေနတာကို ပိုမိုြမင်သာနိုင်ပါတယ်။ တပါးသူရဲ့ အယူအဆ အေတွးအေခါ်ကို နားလည်ေပးနိုင်ြခင်း၊ ေလးစားြခင်း၊ အချက်ကျကျ ြပန်လည်ေဆွးေနွးြခင်းကို လက်ခံနိုင်ြခင်း မရှိသည့် ခေလးဆန်သည် လုပ်ရပ်မျိုးအြဖစ်များနှင့် ဂုဏ်ယူလျှက် ရှိြကတာကို ေတွ့ရသည်။ ထိုအြပင် သံုးစွဲသူတို့၏ အခက်အခဲ၊ အေြခအေန၊ လွယ်ကူေစမှုနှင့် ကျွမ်းကျင်မှုအေနအထားများကို လျစ်လျူရှုြခင်းသည်လည်း သံုးစွဲသူများ၏ ေထာက်ခံမှု ကျဆင်းေစသည်ကိုလည်း ေတွ့ရှိသည်။
သို့ြဖစ်ပါ၍ ြမန်မာစာေရးထံုးကိုလိုက်နာြခင်း မရှိသည်ကို မည်သူကမှ ြမန်မာစာ မစစ်ဟု မေြပာသကဲ့သို့၊ ယူနီကုဒ် ကုတ်ေြပာင်း (ကုတ်ဝှက် - Unicode encoding) စနစ် သည် ကွာြခားချက်ကိုလည်း လိုအပ်ချက် အားနည်းချက်များအရ ရှိေနရသည်ဟု နားလည်းေပြခင်းသာ ေကာင်းမွန်သည့် အေြဖတခု၊ မိမိနှင့် အြမင်မတူသည့် အြမင်ကို ေလးစားသည့် အြပုတစ်ခုသာ ြဖစ်မည်ဟု နားလည်မိသလို၊ မိမိအလုပ် မိမိေကာင်းေအာင်သာ လုပ်ပါက သံုးစွဲသူများအား အတင်းအကျပ် တိုက်တွန်းေြပာဆိုေနြကစရာ၊ လုပ်ေဆာင်စရာ ရှိလာလိမ့်မယ်ဟု မထင်မိေြကာင်း သံုးသပ်မိပါသည်။
0 comments:
Post a Comment