code: private void createMaxp(FontFileReader in, int size) throws IOException {
          TTFDirTabEntry entry = (TTFDirTabEntry)dirTabs.get("maxp");
          if (entry != null) {
              pad4();
              seekTab(in, "maxp", 0);
              System.arraycopy(in.getBytes((int)entry.getOffset(), (int)entry.getLength()),
                               0, output, currentPos, (int)entry.getLength());
              writeUShort(currentPos + 4, size);
  
              int checksum = getCheckSum(currentPos, (int)entry.getLength());
              writeULong(maxpDirOffset, checksum);
              writeULong(maxpDirOffset + 4, currentPos);
              writeULong(maxpDirOffset + 8, (int)entry.getLength());
              currentPos += (int)entry.getLength();
              realSize += (int)entry.getLength();
          } else {
              throw new IOException("Can't find maxp table");
          }
      }
docs: Copy the maxp table as is from original font to subset font
  and set num glyphs to size
  
  @param in The reader from which to obtain the info
  @param size The size of the MAXP table to write
  @throws IOException Indicates a failure to write