This is the function of Oracle JDK / OpenJDK ( bug ).
The problem is caused by sun.font.TrueTypeFont and the lack of Mac TrueType font name support.
TrueTypeFont.java contains a check for reading the TrueType font name table to read only the Microsoft platform ID name (platformID == 3) , and not the Mac platform ID (platformID == 1) . In many cases, truetype fonts included in OSX have names with platformID of 1. Because of this, the initNames() method does not set the value for familyName or fullName , and the code after initNames() runs checks to make sure they are null ( that they are, of course), and throws a Font name not found exception.
In the Apple JDK (1.6, and possibly 1.5?), Apple did not use TrueTypeFont as the FontHandler. They had their own implementation called sun.font.AppleNativeFont . You can't even use sun.font.TrueTypeFont in the Apple JDK because it will always use the sun.font.AppleNativeFont handler, which supports both Mac and Microsoft platform identifiers.
It seems that sun.font.AppleNativeFont does not exist in OpenJDK or Oracle JDK, although Apple "donated" the Oracle code.
It would be useful in terms of continuity to include sun.font.AppleNativeFont in OpenJDK / Oracle JDK. It would be even better if TrueTypeFont.java was improved to include Mac TrueType font support.
UPDATE: SOLUTION WORKAROUND.
One of the patches in the comments below was submitted to the OpenJDK repository. If you clone the repository with the correct revision, you can get the corrected files.
hg clone -r 8b05f9b91765 http://hg.openjdk.java.net/jdk7/jdk7/jdk
Copy the following files from jdk/src/shared/classes/sun/font :
TrueTypeFont.java LCIDMap.java AppleLangID.java
To the same directory in the trunk of the current JDK (I used jdk8-b132), compile it and you will have Mac font support. You can also apply this patch, which was made after the Mac patch:
http://hg.openjdk.java.net/jdk7/jdk7/jdk/rev/3dabb2f78e73
Voila!