I have a short AppleScript that if you select the Microsoft Word document (.docx only), will display a list of the fonts in that Word document. It can't tell what specific font face (e.g. bold, italic, regular) references are in that Word document, but you can verify those installed in macOS by face listing in the Font Book.
The challenge is that Microsoft Word can create faux font face references for italic or bold where no such fonts were installed on Windows, and Pages will flag any font face that is not physically installed on macOS.
Here is an example output from the AppleScript:
In Finder, press shift+cmd+U to open the Utilities folder. Locate Script Editor and double-click to launch it.
Copy/paste all of the following code into the Script Editor, click the hammer icon, and then click Run. It will prompt you for only Word .docx documents.
use framework "Foundation"
use scripting additions
property ca : current application
property DOCX : {"org.openxmlformats.wordprocessingml.document"}
set mutA to ca's NSMutableArray's array()
set theDOCX to POSIX path of (choose file of type DOCX) as text
set tildePath to ((ca's NSString's stringWithString:theDOCX)'s stringByAbbreviatingWithTildeInPath()) as text
set fontwork to paragraphs of (do shell script "unzip -p " & theDOCX's quoted form & " \"word/fontTable.xml\" | egrep -iowm1 'name=\"([a-z ]+)\"' ")
if fontwork = {} then return
repeat with anItem in fontwork
(mutA's addObject:(my cleanFont(anItem)))
end repeat
display dialog "File: " & tildePath & return & return & "Fonts" & return & return & (mutA's componentsJoinedByString:return) as text with title "Word document fonts"
return
on cleanFont(aStr)
-- remove name= and quotes
set tStr to ca's NSString's stringWithString:aStr
set fStr to (ca's NSString's stringWithString:aStr)'s substringFromIndex:5
return (fStr's stringByReplacingOccurrencesOfString:"\"" withString:"") as text
end cleanFont
I also have an AppleScript that lists the fonts in a Pages document too.