POINTER data = NULL; // gets filled with font data - initialize to NULL or a previously returned FONTDATA. _32 data_length = 0; // result font data length. Font font = PickFont( 0, 0, &data_length, &data, NULL ); { // and like I really need to exemplify saving a block of data... FILE *file = fopen( "font_description", "wb" ); fwrite( data, 1, data_length, file ); fclose( file ); }