Wirklich an die Größe der tatsächlich gezeichneten Pixel zu bekommen ist gar nicht so einfach.
GetGlyphOutline() mit Format "GGO_METRICS" liefert einen Struct, der diese wohl beinhaltet. Es scheint allerdings so, als ginge das eben nur für ein einzelnes Zeichen. Für einen längeren String wird's dann echt fummelig, da Fonts mit Kerning und Getöse aufwarten, wodurch ein Zeichenweises Addieren mit o.g. Methode sicherlich nicht die richtige Gesamtgröße von mehr als einem Zeichen ergeben dürfte. Aber für eine Tilde könnte das klappen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)