Calm Hill My Random Thoughts

Texinfo to ePub

လွန်ခဲ့တဲ့ ၄−၅ နှစ်ကစပြီးတော့ Digital Publishing ကိုလူသုံးတဖြည်းဖြည်း များလာတဲ့ နောက်မှာ Printed Media အတွက် ရည်ရွယ်ထားတဲ့ PDF, PS တွေက ပုံနှိပ်ဖို့ကလွဲရင် e-Book Reader တွေနဲ့ဖတ်မယ့်လူတွေက ငြင်းဆန်လာကြပြီး Device ပေါ်မှာ ဖတ်ရအဆင်ပြေတဲ့ ePub, mobi စတဲ့ Format တွေကိုပဲ ပိုပြီးတော့ သဘောကျလာတော့တယ်။ ကိုယ်တိုင်လည်းပဲ စာအုပ်ဝယ်မယ်ဆိုရင် PDF ပဲပေးမယ်ဆိုရင် သိပ်မလိုချင်တော့သလို ePub ရမှဝယ်မယ်ဆိုတာမျိုး အပြောင်းအလဲဖြစ်လာတယ်။

ဝယ်လိုက်တဲ့ စာအုပ်တွေကတော့ အရိုးများတယ် ချေးခါးတယ် လုပ်လို့ရပေမယ့် အလကားရတဲ့ စာအုပ်တွေကျတော့ ကိုယ်အတွက်ဖတ်ရ အဆင်ပြေအောင် ကိုယ်တိုင်ပဲ ပြောင်းသင့်တဲ့အခါ ပြောင်းဖတ်ရတာလည်း ရှိပါတယ်။ အထူးသဖြင့် Technical Document တွေဟာ Off−line ဖတ်ဖို့ဆိုရင် PDF ပဲအများဆုံးပေးတယ် PDF ကနေ ePub တိုက်ရိုက်ပြောင်းရင်တော့ အင်မတန်ရုပ်ဆိုးတဲ့ ePub ကိုပဲရတဲ့အတွက် PDF ကိုပဲ သည်းခံဖတ်ရတယ်။ ဒါပေမယ့် Zoom လုပ်ဖတ်ရတာနဲ့ Page ပြောင်းရအဆင် မပြေတာနဲ့ဆိုတော့ ဘယ်လိုမှသည်းမခံနိုင်တော့ နည်းလမ်းရှာရတော့တယ်။

အများအားဖြင့် Technical Document တွေက မူရင်းအနေနဲ့ကတော့ TeX ဒါမှမဟုတ် Texinfo နဲ့ပဲများပါတယ် ပြီးတော့မှပဲ လိုအပ်တဲ့ Format တခုခုကိုပြန်ပြောင်းယူတယ် အဲဒီတော့ HTML အဖြစ် Generate လုပ်လို့ရတယ်ဆိုရင် ePub ပြောင်းဖို့က သိပ်ခက်တယ်တော့ မဟုတ်မှန်းသိတယ် အဓိကလိုအပ်တာက Toc နဲ့ Internal Links တွေကို Generate လုပ်လို့ရမယ့် လွယ်ကူမယ့် နည်းလမ်းရှာလို့ရရင် အဆင်ပြေတယ်။ ပြဿနာဆိုတာက ကိုယ့်တယောက်ထဲ စပြီးတော့ကြုံတာမှ မဟုတ်တာပဲ ရှာလိုက်ဖွေလိုက်တော့ နည်းလမ်းရပါတယ် TeX ကနေ တိုက်ရိုက်တော့ မရဘူး အရင်ဆုံး DocBook ကိုပြောင်း ပြီးတော့မှ DocBook ကနေ ePub ကို ထုတ်ယူလို့ရတယ်။

နမူနာအနေနဲ့ Bash Shell ရဲ့ Texinfo နဲ့ရေးထားတဲ့ Document ကို ePub အဖြစ်ပြောင်းပြထားတယ်။ အရင်ဆုံးအနေနဲ့ Texinfo ကို Build လုပ်ဖို့အတွက် makeinfo ရယ် DocBook ကနေ ePub အတွက် raw html တွေ ထုတ်ဖို့အတွက် xsltproc ရယ် Template Style Sheet အတွက် DocBook XSL ကို Download လုပ်ထားဖို့လိုမယ်။ makeinfo ရယ် xsltproc ကတော့ Linux အတော်များများမှာ Install လုပ်ပြီးသားပါပါတယ် Mac မှာကတော့ ပါပေမယ့် Version အဟောင်းတွေ ဖြစ်တဲ့အတွက် တချို့ Texinfo တွေမှာ လုပ်လို့မရပဲနဲ့ Error တက်ပါလိမ့်မယ် အလွယ်ဆုံးကတော့ Linux ပဲဖြစ်မယ် Windows မှာတော့ စမ်းမကြည့်မိပါဘူး။

mkdir bash
cd bash
curl http://www.gnu.org/software/bash/manual/bash.texi.tar.gz -o bash.tar.gz
tar xzf bash.tar.gz
makeinfo --docbook bash.texi -o bash.xml
xsltproc /path/to/docbook-xsl-1.78.1/epub/docbook.xsl bash.xml
echo "application/epub+zip" > mimetype
zip -0Xq bash.epub mimetype
zip -Xr9D bash.epub META-INF OEBPS

ဒါဆိုရင် ePub တခုရပါပြီ docbook ကနေ raw ePub အဖြစ် ပြောင်းတဲ့ xsltproc မှာကတော့ ကိုယ် Generate လုပ်တဲ့ Document ရဲ့ Size အပေါ်မှာမူတည်ပြီး အချိန်နည်းနည်း ကြာနိုင်ပါတယ်။ ခက်ခက်ခဲခဲ အလုပ်တော့မဟုတ်ပါဘူး ePub ဆိုတာက Compress လုပ်ထားတဲ့ HTML တွေပဲပါပဲ လိုအပ်တဲ့ Meta Data တွေ Navigation Structure တွေကို လိုအပ်တဲ့ Tools တွေသုံးပြီးတော့ Generate လုပ်ခိုင်းတာပါ။ ရလာတဲ့ ePub ကို Cover Image ထည့်ချင်တာမျိုး ရှိတယ်ဆိုရင်တော့ အလွယ်ဆုံးနည်းက Calibre လို Software ကိုသုံးပြီးတော့ Edit လုပ်လို့ရပါတယ်။ အခုတော့ မကြာခဏသုံးရတဲ့ Document တွေကို ePub ပြောင်းပြီး iPad ထဲ ထည့်ထားလိုက်တော့ အရင်လို PDF ကို Zoom လုပ်ပြီး ဖတ်ရတဲ့ ဒုက္ခအတော်ကို သက်သာသွားတယ်။

References

  1. Build a digital book with EPUB - http://www.ibm.com/developerworks/xml/tutorials/x-epubtut/
  2. DocBook - http://sourceforge.net/projects/docbook/files/docbook-xsl/
  3. Bash Manual - http://www.gnu.org/software/bash/manual/
  4. ePub Logo - http://commons.wikimedia.org/wiki/File:Epub_logo_color.svg