selectFont method

Font selectFont(
  1. String fontFamily,
  2. String? styleName, {
  3. bool bold = false,
  4. bool italic = false,
})

Selects the correct font based on bold/italic. If the family was loaded dynamically from the OS, uses the specific variant.

Implementation

pw.Font selectFont(String fontFamily, String? styleName, {bool bold = false, bool italic = false}) {
  final lower = fontFamily.toLowerCase();
  final dynamic = _dynamicFonts[lower];
  if (dynamic != null) {
    if (bold && italic && dynamic.boldItalic != null) return dynamic.boldItalic!;
    if (bold && dynamic.bold != null) return dynamic.bold!;
    if (italic && dynamic.italic != null) return dynamic.italic!;
    return dynamic.regular;
  }

  final set = getFontSet(fontFamily, styleName);
  if (bold && italic) return set.boldItalic;
  if (bold) return set.bold;
  if (italic) return set.italic;
  return set.regular;
}