Ah, si, la classe di Filippo considera il font, avendo istruzioni come:
btn.Typeface
w = cvs.MeasureStringWidth(txt, btn.Typeface, dt)
Non considera la densità però funziona.
Come dicevo, però, ha il problema delle EditText, perché non ha un metodo che restituisca la dimensione adatta (textsize) ma adatta il testo al suo contenitore e, sempre come detto, non puoi conoscere in anticipo cosa una EditText conterrà.
In effetti, per quanto riguarda l'altezza, dovrebbe essere sufficiente usare un testo fittizio, come "Aj", col pedice; ma questo, probabilmente va studiato bene, perché la classe tiene anche in considerazione view multilinea.
Solo che per il momento preferisco occuparmi d'altro.