fallback_fonts.xml ဆိုတာ android phone တွေမှာ fonts family တွေကို register လုပ်တာမှာ သုံးတဲ့ android file တစ်ခု ဖြစ်ပါတယ်။ အဲဒီဖိုင်က /system/etc/ ဆိုတဲ့ နေရာမှာရှိပါတယ်။ Permission ကတော့ rw-r--r-- ဖြစ်ပါတယ်။ Owner ကတော့ 0-root, Group 0-root ပါ။ မြန်မာဖောင့်တွေ ထည့်တဲ့ apk, tool တော်တော်များများက fallback_fonts.xml မှာ font ကို register/install သွားလုပ်ကြပါတယ်။ ကိုယ်တိုင် ပြင်ဆင်ကြည့်မယ်ဆိုရင်တော့ အဲဒီ apk တွေကို မသုံးလဲ ရပါတယ်။ fallback_fonts.xml ရဲ့ ဖွဲ့စည်းပုံကို ပြောပြပေးပါ့မယ်။
<familyset>
<family>
<fileset>
<file>Padauk.ttf</file>
<file>PadaukBold.ttf</file>
</fileset>
</family>
<family>
<fileset>
<file>Pyidaungsu.ttf</file>
</fileset>
</family>
</familyset>
ဒါ fallback_fonts.xml ရဲ့ နမူနာ ဖြစ်ပါတယ်။ ပိတောက်ဆိုတဲ့ ဖောင့် နဲ့ ပြည်ထောင်စုဆိုတဲ့ ဖောင့် နှစ်ခုထဲကိုပဲ ကြေညာထားပြီး register လုပ်ထားတဲ့ပုံပါ။
xmlရဲ့ သဘောအတိုင်းပါပဲ အဖွင့် ရှိရင် အပိတ်ရှိပါတယ်။
<familyset> ဖွင့်ထားလို့ </familyset> ပြန်ပိတ်ပါတယ်။ “/” က အပိတ်သင်္ကေတပါ။
<family> ဖွင့်လို့ </family> နဲ့ ပြန်ပိတ်ပါတယ်။
<fileset> ဖွင့်လို့ </fileset> ပြန်ပိတ်ပါတယ်။
<file> ဖွင့်လို့ </file> ပိတ်ပါတယ်။
<familyset> ထဲမှာ <family> တွေ ရှိပါတယ်။ မိသားစု အဖွဲ့အစည်းထဲမှာ မိသားစုတွေရှိပါတယ်။
<family> တခုမှာ သူ့ရဲ့ <fileset> ရှိရပါမယ်။
<fileset> ထဲမှာတော့ သူ့ရဲ့ ဖိုင်တွေရှိပါမယ်။
<family>
<fileset>
<file>Padauk.ttf</file>
<file>PadaukBold.ttf</file>
</fileset>
</family>
ဒီမှာဆိုရင် Padauk Font Family ကို ကြေညာပြီး install လုပ်ထားတာပါ။
file က ၂ခုပါ။ ရိုးရိုး regular ဖောင့်ဖိုင်နဲ့ Bold စာလုံးမဲ ဖောင့်ဖိုင်ပါ။ သူတို့က Padauk font family ဖြစ်တဲ့အတွက်။ လိုအပ်တဲ့နေရာမှာ လိုသလို android OS ကသုံးသွားမှာပါ။
<family>
<fileset>
<file>Pyidaungsu.ttf</file>
</fileset>
</family>
ဒီမှာဆိုရင်တော့ ပြည်ထောင်စုဖောင့်ကို ကြေညာပြီး install လုပ်ထားတာပါ။ သူမှာတော့ ဖိုင်တစ်ဖိုင်ထဲ ထည့်ပြီး နမူနာ ပြထားပါတယ်။ file က Pyidaungsu.ttf ပေါ့။
fallback_fonts.xml ထဲမှာ ရှိထဲ့ <file> </file> ကြားမှာ ရှိတဲ့ ဖိုင်တွေအကုန်လုံးဟာ /system/fonts ဆိုတဲ့ folder ထဲမှာ ရှိနေမှ ရပါတယ်။ font file ရဲ့ permission က rw-r--r-- ပါ။ permission ပေးမထားရင် မရပါဘူး။ fallback_fonts.xml က ဖောင့်ကို သိမှာ မဟုတ်ပါဘူး။
fallback_fonts.xml ရဲ့ သဘောတရားက ဘာသာစကားတူနေရင် အရင်လာတဲ့ ဖောင့်တစ်ခုကိုပဲ အလုပ်လုပ်ပါတယ်။ နောက်မှာ လာတဲ့ ဟာကို အလုပ်မလုပ်တော့ပါဘူး။ အပေါ်က ဥပမာမှာဆိုရင်။ Padauk ကိုပဲ အလုပ်လုပ်ပြီး Pyidaungsu ကို စက်က အသုံးပြုတော့မှာ မဟုတ်ပါဘူး။
သတိထားရမှာ တခုရှိပါတယ်။
<family>
<fileset>
<file>DroidSansFallback.ttf</file>
</fileset>
</family>
<family>
<fileset>
<file lang="ja">MTLmr3m.ttf</file>
</fileset>
</family>
တွေရဲ့ အောက်မှာ သွားပြီး ဖောင့်ကို သွားပြီး ကြေညာထားရင် font ကို android OS က သိဖို့ မလွယ်ပါဘူး။ ဘာလို့လဲဆိုတော့ android က ဖောင့်တွေပေါ်အောင် လုပ်တဲ့ Harfbuzz ဆို့တဲ့ shaping engine က စာလုံးပေါင်း ၆သောင်း၄ထောင်ကျော်ကိုပဲ အလုပ်လုပ်ပါတယ်။ DroidSansFallback.ttf နဲ့ MTLmr3m.ttf ၂ခုပေါင်းရင် စာလုံး ၆သောင်းကျော်သွားလို့ သူ့နောက်က ဖောင့်ထဲ့က စာလုံးတွေကို Harfbuzz က အလုပ်လုပ်နိုင်မှာ မဟုတ်ပါဘူး။
မူရင်းရေးသားသူနာမည်ကိုမမှတ်မိတော့လို့ နာမည်ဖော်ပြမပေးနိုင်တာခွင့်လွတ်ပါဗျာ
မူရင်းရေးသားသူကို credit ပေးပါတယ်ဗျာ
Comments
Post a Comment