Configuring Emacs for Myanmar Scripts
Sat 02 November 2013Emacs ကို Install လုပ်ပြီးရင်တော့ မပြီးဆုံးသေးသော ပြဿနာအဖြစ်နဲ့က မြန်မာလိုရိုက်လို့ရဖို့ Emacs ကို Configure လုပ်ရပါလိမ့်မယ် တခြား Editor တွေလို Configuration Menu ထဲက Fonts ကိုပြောင်းဆိုသလို မဟုတ်ပါဘူး Emacs အတွက်က Language အလိုက် သက်ဆိုင်ရာ Fonts တွေကိုစနစ်တကျ Configure လုပ်ပေးရမှာပါ မဟုတ်ရင်တော့ မြန်မာလိုရိုက်လို့ရပေမယ့် အင်္ဂလိပ်လိုတွေ မြင်မကောင်း ဖြစ်ကုန်ပါလိမ့်မယ် ကိုယ်တိုင်တော့ လိုက်လုပ်စရာ မလိုတော့ပါဘူး Emacs မှာ Unicode တွေအတွက် Package တွေရေးပြီးသားရှိပါတယ် အဲဒါတွေတော့ Install လုပ်ဖို့လိုပါတယ်။
Unicode Characters တွေအတွက် unicode-fonts ကို Install လုပ်ရပါလိမ့်မယ် Dependency ဖြစ်တဲ့ font-utils, ucs-utils, persistent-soft, pcache တွေလည်း Install လုပ်ရမယ် Emacs ရဲ့ Package Manager တခုခုနဲ့ Install လုပ်ရင်လုပ် ဒါမှမဟုတ်ရင်တော့ အောက်မှပြထားတဲ့ URLs တွေကနေ Download လုပ်ပြီးတော့ Home ထဲက .emacs.d ဆိုတဲ့ Directory ထဲကိုကူးထည့် ဒါမှမဟုတ်လည်း သင့်လျော်တဲ့နေရာမှာထား ပြီးရင်တော့ .emacs file ထဲမှတော့ ဘယ်နေရာမှာလဲဆိုတာ load-path မှာတော့ ထည့်ပေးရလိမ့်မယ်။
Packages
http://www.emacswiki.org/emacs/unicode-fonts.el
http://www.emacswiki.org/emacs/font-utils.el
http://www.emacswiki.org/emacs/ucs-utils.el
http://www.emacswiki.org/emacs/persistent-soft.el
https://github.com/sigma/pcache/blob/master/pcache.el
Package တွေ Install လုပ်လို့ပြီးရင်တော့ .emacs file မှာ unicod-fonts အတွက် Configure လုပ်ပေးဖို့လိုပါတယ်။ Install လုပ်ထားတာက Home ထဲက .emacs.d/ ထဲမှာဖြစ်တဲ့အတွက် load-path ကို ~/.emacs.d/ လို့ပေးထားတယ် တခြားနေရာမှာ Install လုပ်ရင်တော့ နေရာကို ပြောင်းထည့်ပေးရုံပါပဲ။
.emacs
(add-to-list 'load-path "~/.emacs.d/")
(require 'unicode-fonts)
(unicode-fonts-setup)
Configure လုပ်ပြီးရင် ပုံမှန်အတိုင်းကတော့ Windows 7, Mac OSX Lion, Ubuntu တွေမှာက အလုပ်လုပ်ပါတယ် unicode-fonts.el ထဲမှာ မြန်မာစာအတွက် Padauk, Myanmar MN, Myanmar Sangam MN တွေနဲ့ Myanmar အတွက်ဆိုပြီး Configure လုပ်ပြီးသားပါတယ် အဲဒါတွေမသုံးချင်ရင်တော့ ကိုယ်သုံးချင်တဲ့ Font ကိုထပ်ထည့်ပေးရမယ် အဲဒါဆိုရင်တော့ unicode-fonts.el ကိုဖွင့်ပြီးတော့ Font နာမည်ထည့် ပြီးရင် Myanmar Character Range မှာ Font နာမည်ကိုသွားထည့်ရမယ်။ နမူနာကတော့ အောက်မှာကြည့်ပါ ရှာရလွယ်အောင် နာမည်နဲ့ အစဉ်အတိုင်းပဲ ထည့်ပါတယ်။
unicode-fonts.el
("Marlett" :licenses (microsoft))
("Masterpiece Uni Sans" :licenses (tin myo htet))
("Matisse ITC" :licenses (microsoft))
.
("Yunghkio" :licenses (sai zin di di zone))
.
("Myanmar" (
"Masterpiece Uni Sans"
"Yunghkio"
"Myanmar Sangam MN"
"Myanmar MN"
"Padauk"
"Code2000"
))
ဒါတွေပြီးရင်တော့ Emacs မှာ အလုပ်လုပ်လား မလုပ်လားကို ကြည့်လို့ရပါပြီ Emacs ကိုဖွင့်ပါ C-h h ဆိုရင် Emacs ရဲ့ Hello Page ကိုမြင်ရလိမ့်မယ် အဲဒီမှာ မြန်မာ ဆိုတာကို ဖတ်လို့ရရင် Installation မှန်တဲ့အတွက် ကောင်းကောင်း အလုပ်လုပ်တယ်လို့ ယူဆလို့ရပါပြီ။
Emacs Unicodes Image From: http://www.emacswiki.org/emacs/UnicodeFonts
Windows နဲ့ Ubuntu ပေါ်မှာ ကောင်းကောင်း အလုပ်လုပ်ပေမယ့် Mac ပေါ်မှာ ပြဿနာထပ်ပေးပါတယ် မြန်မာဆိုတဲ့စကားလုံးကို အကြမ်းဖတ်လို့ရပေမယ့် Rendering ကအလုပ်မလုပ်တာတွေ့တယ် Emacs for Mac OS X & Aquamacs ၂ ခုလုံးမှာဖြစ်နေတယ် ဒါပေမယ့် unicode-fonts package ရဲ့ Home မှာပြထားတဲ့ Image မှာက Rendering မှန်တယ်ဆိုတော့ ကိုယ်သုံးတဲ့ Emacs ကြောင့်ဖြစ်မယ်ဆိုပြီး ကိုယ်တိုင်ပဲ Build လုပ်ရတော့တယ်။
Manual တော့ Source Code တွေကို Download လုပ်ပြီးတော့ Build မလုပ်ဖြစ်ပါဘူး Homebrew ပဲသုံးဖြစ်ပါတယ်။ Homebrew ထဲက Cocoa Emacs ရဲ့ HEAD ကို Build လုပ်လိုက်ရတယ် Build လုပ်တာ အချိန်ကတော့ နာရီဝက်လောက်ကြာပါတယ်။ Bazaar ကို Install လုပ်ပြီးသားရှိရင်တော့ အချိန်နည်းနည်းသက်သာမယ် စက်ထဲမှာ Bazaar မရှိတော့ Homebrew က Bazaar ကိုပါ Build လုပ်တော့ အချိန်နည်းနည်းပိုသွားတယ်။
Build Emacs
brew install emacs --HEAD --cocoa
Copy and Alias
cp -R /usr/local/Cellar/emacs/HEAD/Emacs.app /Applications/
echo 'alias emacs="/Applications/Emacs.app/Contents/MacOS/Emacs -nw"' >> ~/.profile
Build လုပ်ပြီးသွားရင် Emacs.app ကို Applications ထဲကိုကူးထည့် နောက်ပြီးတော့ command line ထဲက emacs အဟောင်းကိုတော့ ပါလာတာမဖျက်ချင်တာနဲ့ alias တခုထည့်လိုက်တယ် ဒီတခါတော့ ကိုယ်တိုင် Build လုပ်ထားတဲ့ Emacs က မြန်မာစာကို ကောင်းကောင်း Render လုပ်ပါတယ်။ Terminal ထဲက emacs ကိုစမ်းကြည့်ရင်တော့ ကိုယ်သုံးတဲ့ Terminal အပေါ်မူတည်ပါတယ် Terminal အများစုကတော့ မြန်မာလိုတော့ ကောင်းကောင်းမမြင်ရပါဘူး ဒါပေမယ့် Mac ထဲက Terminal ကတော့ အရမ်းအခြေအနေမဆိုးပဲ ဖတ်လို့ရတဲ့ အခြေအနေတော့ ရှိပါတယ်။
မြန်မာလိုရပြီဆိုတော့ Emacs နဲ့အသားကျဖို့ ကတော့လုပ်ရဦးမယ် Vim mode တွေကို Package တွေနဲ့ တင်လို့ရပေမယ့် Emacs သုံးနေမှတော့ Emacs လိုပဲသုံးမယ်လို့ပဲ ရည်ရွယ်ထားတယ် သုံးရမယ့် အတူတူတော့ အသားကျသွားရင် Emacs လည်းသုံးလို့အဆင်ပြေရင် Vim ရော Emacs ရော ဘာပဲဖြစ်ဖြစ် သုံးတတ်သွားမှာပေါ့ အသစ်တခု လေ့လာစရာရှိတာ ကိုယ့်အတွက် ကောင်းပါတယ်။
Post Update: Emacs Unicode Fonts Package Developer ကို အကူအညီတောင်းပြီးတော့ Configuration တွေ ပါပြီးနေပါပြီ Package Install လုပ်ဖို့ပဲလိုပါတော့တယ်။