Font (Font defaultFont) { if (myFontName == null && defaultFont == null) { return null; } String name = myFontName; if (name == null || name.length() == 0) { if (defaultFont == null) { return null; } name = defaultFont.getName(); } else { if (!isValidFontName()) { if (defaultFont == null) { return null; } name = defaultFont.getName(); } } return getFontWithFallback( new Font(name, myFontStyle >= 0 ? myFontStyle : defaultFont.getStyle(), myFontSize >= 0 ? myFontSize : defaultFont.getSize())); }