public final Font getThemeFont(final String fieldName) {
    ensureTheme();
    return fontCache.computeIfAbsent(
        fieldName,
        k -> {
          final FieldDescriptor fd = THEME_DESCRIPTOR.findFieldByName(k);
          final BinDiffProtos.Config.UiTheme.ThemeFont themeFont =
              (BinDiffProtos.Config.UiTheme.ThemeFont) theme.getField(fd);
          final BinDiffProtos.Config.UiTheme.ThemeFont defaultFont =
              (BinDiffProtos.Config.UiTheme.ThemeFont) DEFAULT_THEME.getField(fd);
          return new Font(
              !themeFont.getFamily().isEmpty() ? themeFont.getFamily() : defaultFont.getFamily(),
              Font.PLAIN,
              themeFont.getSize() != 0 ? themeFont.getSize() : defaultFont.getSize());
        });
  }
Sets and gets the syntax highlighting color values and font settings for the UI.
java/ui/src/main/java/com/google/security/zynamics/bindiff/config/ThemeConfigItem.java