update and clean up

* auto get font
* using text.index