Your approach is perfectly fine. I wanted to relieve you about the rendering bug, it's not your fault.
Helvetica is probably one of the most widely used font families (Arial is Microsoft helvetica version, but that's another story).
You're doing great taking into consideration the limitations here.
You've discovered that working with fonts is harder than you thought and that's okey!
That's reassuring. I guess I'll postpone thinking about this when I would need to add support for different fonts
This post from Coding Horror may be of help.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.