code: public float getFontDescriptor(int key, float fontSize) {
          switch (key) {
              case AWT_ASCENT:
              case ASCENT:
                  return Ascender * fontSize / 1000;
              case CAPHEIGHT:
                  return CapHeight * fontSize / 1000;
              case AWT_DESCENT:
              case DESCENT:
                  return Descender * fontSize / 1000;
              case ITALICANGLE:
                  return ItalicAngle;
              case BBOXLLX:
                  return llx * fontSize / 1000;
              case BBOXLLY:
                  return lly * fontSize / 1000;
              case BBOXURX:
                  return urx * fontSize / 1000;
              case BBOXURY:
                  return ury * fontSize / 1000;
              case AWT_LEADING:
                  return 0;
              case AWT_MAXADVANCE:
                  return (urx - llx) * fontSize / 1000;
              case UNDERLINE_POSITION:
                  return UnderlinePosition * fontSize / 1000;
              case UNDERLINE_THICKNESS:
                  return UnderlineThickness * fontSize / 1000;
          }
          return 0;
      }
docs: Gets the font parameter identified by <CODE>key</CODE>. Valid values
  for <CODE>key</CODE> are <CODE>ASCENT</CODE>, <CODE>CAPHEIGHT</CODE>, <CODE>DESCENT</CODE>,
  <CODE>ITALICANGLE</CODE>, <CODE>BBOXLLX</CODE>, <CODE>BBOXLLY</CODE>, <CODE>BBOXURX</CODE>
  and <CODE>BBOXURY</CODE>.
  @param key the parameter to be extracted
  @param fontSize the font size in points
  @return the parameter in points