code: private final void readOS2(FontFileReader in) throws IOException {
          // Check if font is embeddable
          if (dirTabs.get("OS/2") != null) {
              seekTab(in, "OS/2", 2 * 4);
              int fsType = in.readTTFUShort();
              if (fsType == 2) {
                  isEmbeddable = false;
              } else {
                  isEmbeddable = true;
              }
              in.skip(11 * 2);
              in.skip(10); //panose array
              in.skip(4 * 4); //unicode ranges
              in.skip(4);
              in.skip(3 * 2);
              int v;
              os2Ascender = in.readTTFShort(); //sTypoAscender
              log.debug("sTypoAscender: " + os2Ascender 
                          + " " + (os2Ascender));
              os2Descender = in.readTTFShort(); //sTypoDescender
              log.debug("sTypoDescender: " + os2Descender 
                          + " " + (os2Descender));
              v = in.readTTFShort(); //sTypoLineGap
              log.debug("sTypoLineGap: " + v);
              v = in.readTTFUShort(); //usWinAscent
              log.debug("usWinAscent: " + v  + " " + (v));
              v = in.readTTFUShort(); //usWinDescent
              log.debug("usWinDescent: " + v + " " + (v));
              in.skip(2 * 4);
              v = in.readTTFShort(); //sxHeight
              log.debug("sxHeight: " + v);
              v = in.readTTFShort(); //sCapHeight
              log.debug("sCapHeight: " + v);
              
          } else {
              isEmbeddable = true;
          }
      }
docs: Read the "OS/2" table
  
  @param in The reader to get the table from
  @throws IOException Indicates a failure to read the table