Just to clarify, your scenario is creation of a Word document (as opposed to PDF/HTML output)?
And are you running on a server, where you control what fonts are present, or on end user machines, where you don't?
Word's font stuff is in the Font part and the Theme part. Maybe the spec has something further to say (its a while since I've had to look at the fonts stuff, I'm happy to say), but off hand, there are a couple of things in docx4j which may be relevant. One is the font mappers (discussed a bit in the forum a year or so ago), another is the ability (per the spec) to embed a font in the document, so that it is available in Word when the document is opened.
If you are creating Word documents on end user machines, you might re-use some of the code in the font mappers to do font discovery, and create documents which only use available fonts. See for example
http://dev.plutext.org/trac/docx4j/brow ... apper.java The font mapper stuff is used in HTML/PDF output, and can be used in editing applications (eg docx4all).
But if you are sending Word documents to end user machines, it may be the latter you are after
http://dev.plutext.org/trac/docx4j/brow ... tPart.java