code: protected void readFontHeader(FontFileReader in) throws IOException {
          seekTab(in, "head", 2 * 4 + 2 * 4 + 2);
          upem = in.readTTFUShort();
          log.debug("unit per em: " + upem);
  
          in.skip(16);
  
          fontBBox1 = in.readTTFShort();
          fontBBox2 = in.readTTFShort();
          fontBBox3 = in.readTTFShort();
          fontBBox4 = in.readTTFShort();
  
          in.skip(2 + 2 + 2);
  
          locaFormat = in.readTTFShort();
      }
docs: Read the "head" table, this reads the bounding box and
  sets the upem (unitsPerEM) variable
  @param in FontFileReader to read the header from
  @throws IOException in case of an I/O problem