I don't think it would be much more difficult just using GetTextWidth, which would allow you to use any font. The main problem seems to be the spacing (or rather, not being able to use spaces for alignment), so you might see the highlighted text slightly misaligned.