Given that FmsGetFilteredFontList is undocumented, your options for getting exactly the same list that a user sees in a Windows 7+ ChooseFont dialog may be limited. It may, however, be possible to get a good approximation to the default font list by using only documented APIs.
I've done something similar in order to cut down on the number of possibilities for an algorithm that automatically chooses an appropriate font.
My approach was to use the Unicode subrange bitmask in the FONTSIGNATURE, which can be inspected as you enumerate the fonts. If you know which Unicode subrange(s) you need, the font signature will tell you if the current font covers it. If it does, include it in the list. If it doesn't, then skip it. I suspect this is probably similar to how FmsGetFilteredFontList builds its default list.
The trick is to figure out what subrange(s) the user needs. In my case, it was relatively easy, because I knew exactly what text I was going to have to render. I built a mapping of subranges to FONTSIGNATURE-style bitmask values based on the documentation.
I scanned the code points in the text-to-be-rendered, looking them up in the mapping, and built up a target bitmask. I bitwise-anded this target bitmask with the one in the font signature for each enumerated font. Whenever the result matched the target bitmask, I knew the font could (most likely) support the text. For my application, I required all of the target bits to be present in the font. For your application, I think you'd want any of the target bits.
The font signature bitmask is a good first cut at what characters the font provides. You can use GetFontUnicodeRanges to be utterly certain, but I found that wasn't necessary and it was also slower than just checking the font signatures.
In your case, perhaps you'd have some representative text string available in the user's language. For example, from the document they are editing or from a UI resource that's been translated. You could scan that sample text to get the target font signature.
For example, if you scan some English text, you'll find that all of the necessary characters are in the Latin subrange. If you look at the fonts control panel applet in Windows 7 for an English user (and switch to the details view), you'll see that the Show/hide column is strongly correlated with whether Latin is listed in the Designed for column, which appears to be a textual representation of the font signature's Unicode subrange bitmask.
Update: I just tried enumerating fonts using DirectWrite, thinking that this newer API might handle the font-hiding feature. Alas, it returns everything and has not options (that I can find) for filtering out hidden fonts.