code: @Override
      public void filter(Document document, Map<String, String> cleaningParameters)
      {
          List<Element> fontTags = filterDescendants(document.getDocumentElement(), new String[] { TAG_FONT });
          for (Element fontTag : fontTags) {
              Element span = document.createElement(TAG_SPAN);
              moveChildren(fontTag, span);
              StringBuffer buffer = new StringBuffer();
              if (fontTag.hasAttribute(ATTRIBUTE_FONTCOLOR)) {
                  buffer.append(String.format("color:%s;", fontTag.getAttribute(ATTRIBUTE_FONTCOLOR)));
              }
              if (fontTag.hasAttribute(ATTRIBUTE_FONTFACE)) {
                  buffer.append(String.format("font-family:%s;", fontTag.getAttribute(ATTRIBUTE_FONTFACE)));
              }
              if (fontTag.hasAttribute(ATTRIBUTE_FONTSIZE)) {
                  String fontSize = fontTag.getAttribute(ATTRIBUTE_FONTSIZE);
                  String fontSizeCss = FONT_SIZE_MAP.get(fontSize);
                  fontSizeCss = (fontSizeCss != null) ? fontSizeCss : fontSize;
                  buffer.append(String.format("font-size:%s;", fontSizeCss));
              }
              if (fontTag.hasAttribute(ATTRIBUTE_STYLE) && fontTag.getAttribute(ATTRIBUTE_STYLE).trim().length() == 0) {
                  buffer.append(fontTag.getAttribute(ATTRIBUTE_STYLE));
              }
              if (buffer.length() > 0) {
                  span.setAttribute(ATTRIBUTE_STYLE, buffer.toString());
              }
              fontTag.getParentNode().insertBefore(span, fontTag);
              fontTag.getParentNode().removeChild(fontTag);
          }
      }
docs: {@inheritDoc}
  
  <p>The {@link FontFilter} does not use any cleaningParameters passed in.</p>