question: public static DataDisplayTable listFontMetrics ( Font font ) { String [ ] header = { "Name" , "Value" } ; Align [ ] displayAlignment = { Align . Left , Align . Left } ; DataDisplayTable table = new DataDisplayTable ( Arrays . asList ( header ) ) ; table . setAlignment ( Arrays . asList ( displayAlignment ) ) ; FontHeaderTable headTable = ( FontHeaderTable ) FontUtils . getTable ( font , Tag . head ) ; HorizontalHeaderTable hheaTable = ( HorizontalHeaderTable ) FontUtils . getTable ( font , Tag . hhea ) ; OS2Table os2Table = ( OS2Table ) FontUtils . getTable ( font , Tag . OS_2 ) ; table . add ( Arrays . asList ( new String [ ] { "Units per em" , String . format ( "%d" , headTable . unitsPerEm ( ) ) } ) ) ; table . add ( Arrays . asList ( new String [ ] { "[xMin, xMax]" , String . format ( "[%d, %d]" , headTable . xMin ( ) , headTable . xMax ( ) ) } ) ) ; table . add ( Arrays . asList ( new String [ ] { "[yMin, yMax]" , String . format ( "[%d, %d]" , headTable . yMin ( ) , headTable . yMax ( ) ) } ) ) ; table . add ( Arrays . asList ( new String [ ] { "Smallest readable size (px per em)" , String . format ( "%d" , headTable . lowestRecPPEM ( ) ) } ) ) ; table . add ( Arrays . asList ( new String [ ] { "hhea ascender" , String . format ( "%d" , hheaTable . ascender ( ) ) } ) ) ; table . add ( Arrays . asList ( new String [ ] { "hhea descender" , String . format ( "%d" , hheaTable . descender ( ) ) } ) ) ; table . add ( Arrays . asList ( new String [ ] { "hhea typographic line gap" , String . format ( "%d" , hheaTable . lineGap ( ) ) } ) ) ; table . add ( Arrays . asList ( new String [ ] { "OS/2 Windows ascender" , String . format ( "%d" , os2Table . usWinAscent ( ) ) } ) ) ; table . add ( Arrays . asList ( new String [ ] { "OS/2 Windows descender" , String . format ( "%d" , os2Table . usWinDescent ( ) ) } ) ) ; table . add ( Arrays . asList ( new String [ ] { "OS/2 typographic ascender" , String . format ( "%d" , os2Table . sTypoAscender ( ) ) } ) ) ; table . add ( Arrays . asList ( new String [ ] { "OS/2 typographic ascender" , String . format ( "%d" , os2Table . sTypoDescender ( ) ) } ) ) ; table . add ( Arrays . asList ( new String [ ] { "OS/2 typographic line gap" , String . format ( "%d" , os2Table . sTypoLineGap ( ) ) } ) ) ; return table ; }
target:  Gets a list of information regarding various dimensions about the given font from the head, hhea, and OS/2 font tables