code: Font getFontForCharacter(TextCharacter character) {
          Font normalFont = getFontForCharacter(character.getCharacter());
          if(boldMode == BoldMode.EVERYTHING || (boldMode == BoldMode.EVERYTHING_BUT_SYMBOLS && isNotASymbol(character.getCharacter()))) {
              if(character.isBold()) {
                  normalFont = normalFont.deriveFont(Font.BOLD);
              }
          }
          if (character.isItalic() ) {
              normalFont = normalFont.deriveFont(Font.ITALIC);
          }
          return normalFont;
      }
docs: Given a certain character, return the font to use for drawing it. The method will go through all fonts passed in
  to this {@link AWTTerminalFontConfiguration} in the order of priority specified and chose the first font which is
  capable of drawing {@code character}. If no such font is found, the normal fonts is returned (and probably won't
  be able to draw the character).
  @param character Character to find a font for
  @return Font which the {@code character} should be drawn using