fix fillText and cache width