Font (String regularSubFamily, String boldSubFamily, int style) { initIfNeeded(); if (!italics.containsKey(regularSubFamily)) { regularSubFamily = null; } if (!italics.containsKey(boldSubFamily)) { boldSubFamily = null; } if (regularSubFamily == null) { regularSubFamily = boldSubFamily == null ? recommendedSubFamily : recommendedPlainSubFamilies.get(boldSubFamily); } if (boldSubFamily == null) { boldSubFamily = recommendedBoldSubFamilies.get(regularSubFamily); } String target = (style & Font.BOLD) == 0 ? regularSubFamily : boldSubFamily; return (style & Font.ITALIC) == 0 ? members.get(target) : italics.get(target); }