အင်း ဒါကတော့ ခုတလော လူပြောများနေလို့ ရိုးနေလောက်ပါပြီ။ ကျွန်တော် အကျဉ်းချုံးပဲပြောပါ့မယ်။ ဟုတ်ပါတယ် android မှာ ခုလောလောဆယ် အဆင်ပြေဆုံးကတော့ zawgyi ပါပဲ ။ ဇော်ဂျီက အရင်လာအရင်ရိုက် ၊ အရင်ရိုက်ထားတဲ့ဟာကို အရင်စီ ၊ အရင်စီထားတာကို အရင်ပြဆိုတော့ android မှာ သုံးရတာ လုံးဝအခက်အခဲမရှိပါဘူး။
ဒါပေမယ့် ကျွန်တော်တို့ရဲ့ မြန်မာစာ တကယ့်ရေးထုံးနဲ့ ဗျည်း၊သရ၊ဗျည်းတွဲ၊ တွေ ရေးရတဲ့ အစီအစဉ် ၊ အက္ခရာစဉ်တဲ့ အစီအစဉ် အဲ့ဒါတွေက zawgyi လောက် မရိုးရှင်းပါဘူး။
ဆိုခဲ့တဲ့ မြန်မာစာရေးထုံးကို တကယ်ကြီး လိုက်နာတဲ့ ယူနီကုဒ်နဲ့ ဇော်ဂျီဟာ အဲ့ဒီမှာ ထိပ်တိုက်တွေ့ကြပါတော့တယ်။
ဆိုကြပါစို့ ကျွန်တော်တို့ "ငြ" ဆိုတဲ့စာလုံးလေးရေးလိုက်တယ်။ ဇော်ဂျီမှာ "ြ" ကိုအရင်ရေးရပါတယ်။ ပြီးမှ "င" လာပါတယ်။ သိမ်းတော့လည်း "ြ" + "င" လို့သိမ်းပါတယ်။ ပြန်ပြတော့လည်း "ြ" + "င" လို့သိမ်းပါတယ်။ ယူနီကုဒ်မှာ "င" ကိုအရင်ရေးရပါတယ်။ ပြီးမှ "ြ" ရေးရပါတယ်။ သိမ်းတော့ "င" + "ြ" လို့သိမ်းပြီး ပြန်ပြတော့ "ြ" + "င" ဆိုပြိးပြန်ပြပါတယ်။
အဲ့လိုမျိုး ပြန်ပြပေးနိုင်ဖို့အတွက်က complex rendering လိုအပ်ပါတယ်။ ဒီနေရာမှာ android သုံးထားတဲ့ rendering engine က မပြည့်စုံသေးပါဘူး။ မြန်မာနိုင်ငံအပါအဝင် ဗြဟ္မီ ဘာသာစကားကနေဆင်းသက်လာတဲ့ စာလုံးတွေအတွက် သူသုံးထားတဲ့ rendering engine က fully support မလုပ်နိုင်သေးပါဘူး။
ကျွန်တော် ရှာကြည့်သလောက်တော့. ခုချိန်ထိ android သုံးထားတဲ့ rendering engine က harfbuzz ကိုသုံးထားပါတယ်။ browser အတွက်ကတော့ webkit ကိုသုံးထားပါတယ်။ android မှာ ယူနီကုဒ်ကို fully support လုပ်ဖို့ တောင်းဆိုထားတာ ၂ နှစ်နီးပါးရှိခဲ့ပါပြီ။ ခုချိန်ထိ သတင်းထူးမကြားရသေးပါဘူး
အဲ့ဒီအတွက် ကျွန်တော်တို့မှာ ရွေးချယ်စရာလမ်း ၂ လမ်း ရှိလာပါတယ်
ပထမနည်းလမ်းက - android ရဲ့ source code မှာပြင်ဖို့
android က java engine သုံးထားပါတယ်၊ ကိုယ့်စက်ထဲက စာလုံးတွေကို ဘယ်လိုပေါ်စေချင်လဲဆိုတာကို သတ်မှတ်ပေးလို့ရတဲ့နေရာရှိပါတယ်။ ဒီနည်းလမ်းကို အာရပ်က developer တွေလုပ်လည်းလုပ်ပြီးသွားကြပါပြီ အောင်မြင်ကြပါတယ်။ ကျွန်တော်တို့က သူတို့လုပ်သွားတာကို follow လိုက်ရုံပါပဲ။
ကို ravi လုပ်နေတယ်လို့ ကြားဖူးပါတယ်။ ကို ravi နဲ့ ဘယ်လိုဆက်သွယ်ရမလဲမသိတဲ့အတွက် (အမှန်ပြောရရင်တော့ မဆက်သွယ်ရဲတာပါ ကျွန်တော့်ကိုယ်ကျွန်တော်လည်း တစိုက်မတ်မတ် develop လုပ်နိုင်မယ်လို့ အာမမခံနိုင်သေးလို့ပါ။) နောက်ပြီး ကျွန်တော်နဲ့ မရင်းနှီးတဲ့အတွက် သူလုပ်တာ ဘယ်လောက်ခရီးပေါက်နေပြီလဲ မသိသေးပါဘူး။
/frameworks/base/graphics/java/android/graphics/Canvas.java ရဲ့ drawText() မှာ shaper ကိုပြင်လို့ရပါတယ်။ အာရပ်တွေ လုပ်ခဲ့တဲ့ source ကိုကြည့်ချင်ရင် အောက်မှာ ကြည့်နိုင်ပါတယ်။
- Code:
https://github.com/agawish/Better-Arabic-Reshaper
drawText နဲ့ပက်သက်ပြီး tutorial တွေကို ဒီမှာလေ့လာနိုင်ပါတယ်။
- Code:
http://www.java2s.com/Tutorial/Java/0261__2D-Graphics/GenerateShapeFromText.htm
ဒုတိယနည်းက - application မှာ font embed သုံးဖို့ပါ။
အကယ်၍ ကျွန်တော်တို့ android ရဲ့ source ကို ပြင်နိုင်မယ်ဆိုပါစို့ ဒါဆိုရင်သေချာတာက နောက်ထွက်လာမယ့် android 3+ တွေမှာ မြန်မာစာယူနီကုဒ်ကို default မြင်လာနိုင်ပါတယ်။ ဒါပေမယ့် ခုလက်ရှိကျွန်တော်တို့သုံးနေတဲ့ 2.2 တွေအတွက်ကတော့ ရနိုင်မရနိုင်ဆိုတာ မကျိန်းသေပါဘူး။
အဲ့ဒီအတွက် အလွယ်ဖြေရှင်းနည်းအနေနဲ့ application မှာ conversion table ထည့်ပြီး ဒီ code point လာရင် နောက် code point တစ်ခုကိုပြောင်း စသည်ဖြင့် လုပ်မယ်ဆိုရင်ဖြစ်နိုင်ပါတယ်။ ဒီ idea ကို တိဗက်က လူတွေသုံးထားပါတယ်။ သူတို့ရဲ့ တိဗက်ယူနီကုဒ်နဲ့ရေးထားတဲ့စာတွေကို ဖတ်နိုင်ဖို့ browser တစ်ခုဖန်တီးပြီး အဲ့ဒီ browser မှာ စောနက ပြောခဲ့တဲ့ conversion rule တွေထည့်ခဲ့တာပါ။
အသေးစိတ်လေ့လာချင်တယ်ဆိုရင် ဒီမှာဖတ်နိုင်ပါတယ်။
- Code:
http://tom.to/blog/archives/76
ဒါက သူတို့သုံးခဲ့တဲ့ conversion table ပါ။
- Code:
http://sites.google.com/site/chrisfynn2/home/tibetanscriptfonts/standarization/precomposedtibetan-parta
အဲ့ဒီနည်းသုံးမယ်ဆိုရင် system support မရရင်တောင် application တွေမှာ သုံးလို့စွဲလို့ဖြစ်မှာပါ။ လောလောဆယ် မြန်မာယူနီကုဒ်နဲ့ရေးထားတာဖတ်ဖို့ လိုအပ်တဲ့ application တွေကကျွန်တော်စဉ်းစားလို့ရသမျှတော့ phone content, sms, browser, reader ကျန်တာတော့ မစဉ်းစားတတ်တော့ဘူး
ပြီတော့ ကိုမင်းယွန်းသစ် ဒီမှာရေးထားတဲ့အတိုင်းဆို
- Code:
http://minnyoonthit.net/2011/08/21/developer-conference-2011-experiences/
ဆိုရင် developer တစ်ယောက်က တော်တော်ခရီးပေါက်နေပြီလို့ ယူဆရပါတယ်။
ဒါပေမယ့် ကျွန်တော်ကတော့ သိပ်မစောင့်နိုင်တော့ဘူးဗျာ။ ဖြစ်နိုင်ရင် ခုချက်ချင်း release လုပ် testing လုပ်ဖို့ မျှဝေပေးစေချင်တယ်။ ဟုတ်တယ်မဟုတ်လားဗျာ။ ကျွန်တော်တို့အတွက်တော့ မြန်မာစာယူနီကုဒ်ဆိုတာ မှန်းပြီး ဖတ်လို့ရရင်တောင် ပျော်နေရတဲ့ဘဝပါ။ အဲ့ဒီတော့ပေါ့လေ သူ့ကို စောင့်နေမယ့်အစား ကျွန်တော်တို့အားလုံး စုပြီးစမ်းရေးကြည့်ရအောင်။ ဟုတ်ဘူးလားဗျာ။ သူ့ဟာလေးမထွက်ခင် သစ်မရခင်စပ်ကြား ဝါးပေါင်းကွပ်ကြည့်ကြတာပေါ့နော့ ။
ကျွန်တော်နဲ့ အတူဝိုင်းလုပ်မယ့် လူ ၂ ယောက် ၃ ယောက်လောက်ရှိရင် စကျရအောင်
ဘာလို့ လူခေါ်တာလဲဆိုတော့ တစ်ယောက်ထက်စာရင် ၃ ယောက် ၄ ယောက်ပေါင်းလုပ်တဲ့အခါ ပိုပြိးဆွေးနွေးလို့ရမယ်။ ပိုကောင်းတဲ့နည်းလမ်းတွေထွက်လာမယ်။ အချိန်ကုန်လည်းသက်သာမယ်လို့တွေးမိလို့ပါ။ ကဲ စိတ်ပါဝင်စားရင် လက်ညှိုးလေးထောင်လိုက်ကြဗျာ
နောက်ဆုံးအနေနဲ့ အပေါ်က အချက်တွေထဲမှာ ကျွန်တော့်ရဲ့ မကျွမ်းကျင်မှု့ နားမလည်မှု့တွေကြောင့် လွဲချော်နေတာတွေ မှားယွင်းနေတာလေးတွေများရှိခဲ့မယ်ဆိုရင် တစ်ခါတည်းတောင်းပန်ပါရစေ။ ပြီးတော့ အမှားထောက်ပြပေးဖို့လည်း တိုက်တွန်းပါတယ်။