I suggest to introduce LCL font "default_mono"(we have "default" font only):
- on first access to getter/resolver, find some monospaced font:
a) if font list has "Consolas"/"Courier New"/"Courier", we take it (to support Win32 usual font)
b) if no usual names found (case for *BSD+Solaris+Wine) we enumerate font list, find some, by testing Canvas.TextWidth('W')=Canvas.TextWidth('i'). The problem here is - we don't have some Canvas in getter. Maybe use GetDC(0).
- on next access to getter, we return calculated name.
- I can find the avg time of this action (step b) on Linux/BSD/Solaris, if it's needed