Version: 2026.08.09
Build flashable font modules for Magisk, KernelSU, APatch, and Mountify
from any static or variable font family — on PC or directly from Termux.
━━━━━━━━━━━━━━━━━━━━━━
Highlights
━━━━━━━━━━━━━━━━━━━━━━
Weight detection reads the font binary, not the filename
Weight and style are read directly from the OS/2 table, so any filename
works — including Android font cache names like 61555016c4027e1b-s.p.ttf.
- One TTC packs every weight face (100–900 + Italic) with correct index XML
- Sans, Serif, Monospace, and Bengali handled independently
- External Serif/Monospace/Bengali fonts in /sdcard/MFFM/ are weight-scanned
and bundled into a single indexed TTC — only the weights you supply are used
- Variable fonts: fvar axes auto-detected, weights clamped to the real range,
live .conf axis tuning preserved across module updates
- OpenType feature freezing per family (ss01, zero, tnum...)
- Centered colon injection for lockscreen clock digits, per family
- Patches fonts.xml, font_fallback.xml, and Pixel fonts_customization.xml
- Auto-detects Magisk, KernelSU, APatch, and Mountify overlay strategies
- Runs your own .sh scripts from /sdcard/MFFM/ after install
- Signed flashable ZIP, full set -x debug log saved to /sdcard/MFFM/
- Termux: fontTools auto-installed at flash time if missing
━━━━━━━━━━━━━━━━━━━━━━
Fallback (no Termux / no fontTools)
━━━━━━━━━━━━━━━━━━━━━━
Bengali → 3 files (Regular / Medium / Bold)
Serif → 4 files (Regular / Italic / Bold / BoldItalic)
Monospace → 1 file (Regular only)
Variable → always works, no fontTools needed
━━━━━━━━━━━━━━━━━━━━━━
Quick Start
━━━━━━━━━━━━━━━━━━━━━━
PC:
1.
pip install -r requirements.txt2. Put fonts in Fonts/Sans/ (mandatory)
3.
python build.py4. Flash dist/*.zip in Magisk / KernelSU / APatch
Termux (on-device):
1.
unzip MFFMv14-Source-Template.zip -d ~/MFFMv142.
cd ~/MFFMv143.
sh termux-build.shUpgrading an old MFFM module:
1. Put the old ZIP in Old Modules/
2.
python update.py → rebuilt on the v14 template in Updated Modules/External fonts after flash — drop files and reflash:
/sdcard/MFFM/Bengali//sdcard/MFFM/Serif//sdcard/MFFM/Monospace/Any filename accepted. Weight auto-detected from font binary.
━━━━━━━━━━━━━━━━━━━━━━
© 2026 MFFM / Mistu