code: public byte[] Process(String fontName)throws IOException{
  		try
  		{	
  			// Verify that the file is open
  			buf.reOpen();
  			// Find the Font that we will be dealing with
  			int j;
  	        for (j=0; j<fonts.length; j++)
  	            if (fontName.equals(fonts[j].name)) break;
  	        if (j==fonts.length) return null;
  	        
  			// Calc the bias for the global subrs
  			if (gsubrIndexOffset >= 0)
  				GBias = CalcBias(gsubrIndexOffset,j);
  
  	        // Prepare the new CharStrings Index
  			BuildNewCharString(j);
  			 // Prepare the new Global and Local Subrs Indices
  			BuildNewLGSubrs(j);
  			// Build the new file 
  			byte[] Ret = BuildNewFile(j);
  			return Ret;
  		}
  		finally {
              try {
                  buf.close();
              }
              catch (Exception e) {
                  // empty on purpose
              }
  		}
  	}
docs: The Process function extracts one font out of the CFF file and returns a
  subset version of the original.
  @param fontName - The name of the font to be taken out of the CFF
  @return The new font stream
  @throws IOException