Nigel - I understand your problem because I have it as well. :)
The issue is this: StringWidth doesn't return the width of an API type string, but the width of a string using the current canvas font.
You might try loading a the same Windows font to an invisible canvas and checking the width of that.
Hope this helps.
The issue is this: StringWidth doesn't return the width of an API type string, but the width of a string using the current canvas font.
You might try loading a the same Windows font to an invisible canvas and checking the width of that.
Hope this helps.