code: protected FontStyle getFontStyle(byte[] data, int offset, Map<Integer, FontBase> fontBases, boolean ignoreBackground)
     {
        //System.out.println(ByteArrayHelper.hexdump(data, offset, 32, false));
  
        Integer index = Integer.valueOf(MPPUtility.getByte(data, offset));
        FontBase fontBase = fontBases.get(index);
        int style = MPPUtility.getByte(data, offset + 3);
        Color color = MPPUtility.getColor(data, offset + 4);
        Color backgroundColor;
        BackgroundPattern backgroundPattern;
  
        if (ignoreBackground)
        {
           backgroundColor = null;
           backgroundPattern = BackgroundPattern.SOLID;
        }
        else
        {
           backgroundColor = MPPUtility.getColor(data, offset + 16);
           backgroundPattern = BackgroundPattern.getInstance(MPPUtility.getShort(data, offset + 28));
        }
  
        boolean bold = ((style & 0x01) != 0);
        boolean italic = ((style & 0x02) != 0);
        boolean underline = ((style & 0x04) != 0);
        boolean strikethrough = ((style & 0x08) != 0);
  
        FontStyle fontStyle = new FontStyle(fontBase, italic, bold, underline, strikethrough, color, backgroundColor, backgroundPattern);
        //System.out.println(fontStyle);
        return fontStyle;
     }
docs: Retrieve font details from a block of property data.
  
  @param data property data
  @param offset offset into property data
  @param fontBases map of font bases
  @param ignoreBackground set background to default values
  @return FontStyle instance