Here is another flexible way, I've tested it for several days and met no problems.
Credits to j0534ng31
1.Create a file named install-recovery.sh
in /system/etc, and put below code in it
mount -o noatime,utf8 -t vfat /dev/block/mmcblk2p4 /data/altsd
for ft in $fts
mount -o bind $afd$ft /ebook/fonts/$ft
2.Don't forget to give excution permissions to install-recovery.sh
3.In /mnt/sdcard, create a folder wichi named altfonts
, put your fonts in it.
If you want to replace the system UI fonts, rename your fonts to "DroidSans.ttf" and "DroidSans-Bold.ttf".
Or you'd like to replace other fonts, please refer to the original file name in /ebook/fonts, and make your fonts names as same.
ps:The default fonts for txt files is ReallyNo2LTW1G-Regular.otf