Update: seems one way to skin this cat is to add gp = gpar(fontfamily="mono") to the viewport() call itself. If anyone has any suggestions for a robust way to extract this piece information from the key grob itself (it's nested several levels deep), I'm all ears. Thanks Ben