Unless someone has removed font files from the Java directory tree - in which 
case all bets are off - this won’t happen with the JRE or JDK for any platform. 
It will only happen with Java SE Embedded Compact Profiles. So referring them 
to “the release notes for Java SE Embedded” seems reasonable. We can verify 
with the version system properties that this is actually SE Embedded before 
showing that message.

On Feb 12, 2014, at 1:53 PM, Kevin Rushforth <kevin.rushfo...@oracle.com> wrote:

> A more informative message and an earlier detection both sound good. Not sure 
> about the pointer to the Wiki page, though. We haven't done that in the past 
> that I am aware of. If we do want to go down that path, I would suggest a 
> pointer to a single, "well-known" support page that could describe various 
> end-user configuration issues that we might want to document.
> -- Kevin
> David Hill wrote:
>> I am chasing a edge case that probably only happens in certain Embedded 
>> configurations. If we don't find *any* fonts, then we quietly fail and blame 
>> it on CSS :-)
>> I say blame it on CSS because the resulting hard failure is:
>> Exception in thread "JavaFX Application Thread" 
>> java.lang.NoClassDefFoundError: Could not initialize class 
>> javafx.scene.CssStyleHelper
>> This is because CSS needs a font for various calculations.
>> With Embedded, if libfontconfig is not present (or improperly configured) 
>> you will not find any fonts.
>> I would like thoughts on my putting a more informative error message out, 
>> and making zero fonts an earlier hard failure.
>> What I would really like to do is to be able to put a URL to a Fonts wiki 
>> page (like: https://wiki.openjdk.java.net/display/OpenJFX/Font+Setup) but 
>> not sure how well that would stand up to the test of time.
>> The code point in FontConfigManager is:
>>        if (anyFont == null) {
>>            if (debugFonts) {
>>                System.err.println("Fontconfig returned no fonts at all.");
>>            }
>>            fontConfigFailed = true;
>>            return;

Reply via email to