This is a partial analysis of the DIF file format. It is probably incomplete, but will be updated for the needs of the IPD project.
The DIF file starts with a header consisting of a TABLE, VECTORS, TUPLES and DATA declaration. Each declaration consists of a tag, a type identifier and a data field. The declarations are formatted as:
TAG TYPE,VALUE1 VALUE2
This TABLE declaration appears to say which software produced the table. The only example I have has the string data "EXCEL".
The VECTORS declaration says how many records are contained in the file. In the examples I have, it has an integer value.
The TUPLES declaration appears to say how many fields there are per record. In the examples I have it has an integer value.
The DATA declaration is an unknown. In the examples I have it has an empty string value.
Each field of a record consists of a type and a value. The type is a number, followed by a comma and the first of two values. In the file these are formatted as
TYPE,VALUE1 VALUE2
for each tuple. VALUE1 is used for integer values and VALUE2 for strings and specials.