mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1989 lines
30 KiB
1989 lines
30 KiB
|
|
/*
|
|
| Software Bridge System Module
|
|
| Internal Include File
|
|
|
|
|
| ²²²²² ²²²²²
|
|
| ² ²
|
|
| ²²²²² ²
|
|
| ² ²
|
|
| ² ²²²²²
|
|
|
|
|
| FI File Identification
|
|
|
|
|
*/
|
|
|
|
#define fiFF 0xFF,0xFF
|
|
#define fiSEEK 0xFF,0x01
|
|
#define fiSEEKC 0xFF,0x02
|
|
#define fiNOTBYTE 0xFF,0x03
|
|
#define fiRANGE 0xFF,0x04
|
|
#define fiNOTRANGE2 0xFF,0x05
|
|
#define fiSKIP 0xFF,0x06
|
|
#define fiSWITCH 0xFF,0x07
|
|
#define fiID 0xFF,0x08
|
|
#define fiTAG 0xFF,0x09
|
|
#define fiSEEKTOP 0xFF,0x0A
|
|
#define fiSWITCHID 0xFF,0x0B
|
|
#define fiSPECIAL 0xFF,0x0C
|
|
#define fiONEOFTWO 0xFF,0x0D
|
|
#define fiEXT 0xFF,0x0E
|
|
#define fiSEEKBOT 0xFF,0x0F
|
|
#define fiENDONE 0xFF,0xE0
|
|
#define fiENDALL 0xFF,0xE1
|
|
|
|
#define FIFF 0xFF
|
|
#define FISEEK 0x01
|
|
#define FISEEKC 0x02
|
|
#define FINOTBYTE 0x03
|
|
#define FIRANGE 0x04
|
|
#define FINOTRANGE2 0x05
|
|
#define FISKIP 0x06
|
|
#define FISWITCH 0x07
|
|
#define FIID 0x08
|
|
#define FITAG 0x09
|
|
#define FISEEKTOP 0x0A
|
|
#define FISWITCHID 0x0B
|
|
#define FISPECIAL 0x0C
|
|
#define FIONEOFTWO 0x0D
|
|
#define FIEXT 0x0E
|
|
#define FISEEKBOT 0x0F
|
|
#define FIENDONE 0xE0
|
|
#define FIENDALL 0xE1
|
|
|
|
#define EOFWIDE 0xFFFFFFFF
|
|
#define EOF (-1)
|
|
|
|
#ifdef WINDOWS
|
|
#define fiWORD(w) (w & 0x00FF),((w & 0xFF00) >> 8)
|
|
#define fiLONG(l) fiWORD(l & 0xFFFF),fiWORD((l & 0xFFFF0000) >> 16)
|
|
#endif /*WINDOWS*/
|
|
|
|
#ifdef OS2
|
|
#define fiWORD(w) (w & 0x00FF),((w & 0xFF00) >> 8)
|
|
#define fiLONG(l) fiWORD(l & 0xFFFF),fiWORD((l & 0xFFFF0000) >> 16)
|
|
#endif /* OS/2 */
|
|
|
|
#ifdef MAC
|
|
#define fiWORD(w) ((w & 0xFF00) >> 8),(w & 0x00FF)
|
|
#define fiLONG(l) fiWORD((l & 0xFFFF0000) >> 16),fiWORD(l & 0xFFFF)
|
|
#endif /*MAC*/
|
|
|
|
unsigned char FITests[] =
|
|
{
|
|
/*
|
|
| Word4Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x31,0xBE,0x00,0x00,0x00,0xAB,0x00,
|
|
fiSEEK,fiLONG(96),
|
|
0x00,
|
|
fiSEEK,fiLONG(116),
|
|
0x00,
|
|
fiID,fiWORD(FI_WORD4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Word5Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x31,0xBE,0x00,0x00,0x00,0xAB,0x00,
|
|
fiSEEK,fiLONG(96),
|
|
0x00,
|
|
fiSEEK,fiLONG(116),
|
|
fiRANGE,0x01,0x03,0x07,
|
|
fiID,fiWORD(FI_WORD5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Word6Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x31,0xBE,0x00,0x00,0x00,0xAB,0x00,
|
|
fiSEEK,fiLONG(96),
|
|
0x00,
|
|
fiSEEK,fiLONG(116),
|
|
fiRANGE,0x01,0x08,0x09,
|
|
fiID,fiWORD(FI_WORD6),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Word6Test Encrypted
|
|
*/
|
|
fiSEEKTOP,
|
|
0xDB,0xDB,0x00,0x00,0x00,0xAB,0x00,
|
|
fiSEEK,fiLONG(116),
|
|
fiRANGE,0x01,0x08,0x09,
|
|
fiID,fiWORD(FI_WORD6),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WinWriteTest
|
|
*/
|
|
fiSEEKTOP,
|
|
fiONEOFTWO,0x31,0x32,
|
|
0xBE,0x00,0x00,0x00,0xAB,0x00,
|
|
fiSEEK,fiLONG(96),
|
|
fiNOTBYTE,0x00,
|
|
fiSEEK,fiLONG(116),
|
|
0x00,
|
|
fiID,fiWORD(FI_WINWRITE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Works1Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x01,0xFE,0x00,
|
|
fiID,fiWORD(FI_WORKS1),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Works2Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x01,0xFE,0x01,
|
|
fiID,fiWORD(FI_WORKS2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WinWorksWPTest
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x01,0xFE,
|
|
fiSKIP,1,
|
|
fiRANGE,0x01,0x40,0x5F,
|
|
fiID,fiWORD(FI_WINWORKSWP),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Wordstar5Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x1D,0x7D,0x00,0x00,0x50,
|
|
fiSEEK,fiLONG(125),
|
|
0x7D,0x00,0x1D,
|
|
fiID,fiWORD(FI_WORDSTAR5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Wordstar55Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x1D,0x7D,0x00,0x00,0x55,
|
|
fiSEEK,fiLONG(125),
|
|
0x7D,0x00,0x1D,
|
|
fiID,fiWORD(FI_WORDSTAR5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Wordstar6Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x1D,0x7D,0x00,0x00,0x60,
|
|
fiSEEK,fiLONG(125),
|
|
0x7D,0x00,0x1D,
|
|
fiID,fiWORD(FI_WORDSTAR6),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Wordstar7Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x1D,0x7D,0x00,0x00,0x70,
|
|
fiSEEK,fiLONG(125),
|
|
0x7D,0x00,0x1D,
|
|
fiID,fiWORD(FI_WORDSTAR7),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Wordstar2000Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x7F,0x20,'W','S','2','0','0','0',
|
|
fiFF,
|
|
'1','.','0','0',
|
|
fiFF,fiFF,fiFF,fiFF,
|
|
fiID,fiWORD(FI_WORDSTAR2000),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordPerfect Encrypted Test 1
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x08,
|
|
fiNOTBYTE,0x00,
|
|
fiID,fiWORD(FI_WPFENCRYPT),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordPerfect Encrypted Test 2
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x09,
|
|
fiNOTBYTE,0x00,
|
|
fiID,fiWORD(FI_WPFENCRYPT),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordPerfect5Test
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x04,
|
|
0x01,0x0A,0x00,0x00,
|
|
fiSKIP,0x02,
|
|
0x00,0x00,
|
|
fiID,fiWORD(FI_WORDPERFECT5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordPerfect51Test
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x04,
|
|
0x01,0x0A,0x00,0x01,
|
|
fiSKIP,0x02,
|
|
0x00,0x00,
|
|
fiID,fiWORD(FI_WORDPERFECT51),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordPerfect51 Japan
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x04,
|
|
0x01,0x3A,0x00,0x01,
|
|
fiSKIP,0x02,
|
|
0x00,0x00,
|
|
fiID,fiWORD(FI_WORDPERFECT51J),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordPerfect6Test
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x04,
|
|
0x01,0x0A,0x02,0x00,
|
|
fiID,fiWORD(FI_WORDPERFECT6),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordPerfect61Test
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x04,
|
|
0x01,0x0A,0x02,0x01,
|
|
fiID,fiWORD(FI_WORDPERFECT61),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordPerfect Informs 1.0
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x04,
|
|
0x15,
|
|
fiONEOFTWO,0x0A,0x0C,
|
|
0x01,
|
|
fiID,fiWORD(FI_WPINFORMS1),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordPerfect Mac 3 Test
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x04, /* These are actually always 0x10000000. If more accuracy is needed. */
|
|
0x01,0x2c,0x03,
|
|
fiID,fiWORD(FI_MACWORDPERFECT3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordPerfectMac2Test
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x04, /* These are actually always 0x10000000. If more accuracy is needed. */
|
|
0x01,0x2c,0x02,
|
|
fiID,fiWORD(FI_MACWORDPERFECT2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MultimateTextTest
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_MULTIMATEADV),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MultimateNoteTest
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_MULTIMATENOTE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| RftTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x05,0xE1,0x03,0x00,0x00,
|
|
fiRANGE,0x01,0x09,0x24,
|
|
0xE2,0x05,0x00,
|
|
fiID,fiWORD(FI_RFT),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| SamnaTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x1A,0x53,
|
|
fiSKIP,0x02,
|
|
0x03,0x00,
|
|
fiID,fiWORD(FI_SAMNA),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| PfsWriteBTest
|
|
*/
|
|
fiSEEK,fiLONG(640),
|
|
0x06,'W','R','D',' ','P','C',
|
|
fiSKIP,0x02,
|
|
'2','.','0','0',
|
|
fiID,fiWORD(FI_PFSWRITEB),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| PfsWriteCTest
|
|
*/
|
|
fiSEEK,fiLONG(640),
|
|
0x06,'T','Y','P','E',' ','2',
|
|
fiSKIP,0x02,
|
|
'2','.','0','0',
|
|
fiID,fiWORD(FI_PFSWRITEB),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| PfsWriteATest
|
|
*/
|
|
fiSEEK,fiLONG(640),
|
|
0x06,'W','R','D',' ','P','C',
|
|
fiID,fiWORD(FI_PFSWRITEA),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| IbmWritingTest
|
|
*/
|
|
fiSEEK,fiLONG(640),
|
|
0x06,'I','B','M',' ',' ',' ',
|
|
fiID,fiWORD(FI_IBMWRITING),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| ProWrite1Test
|
|
*/
|
|
fiSEEK,fiLONG(640),
|
|
0x06,'T','Y','P','E',' ','3',
|
|
fiID,fiWORD(FI_PROWRITE1),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| ProWrite2Test
|
|
*/
|
|
fiSEEK,fiLONG(640),
|
|
0x06,'T','Y','P','E',' ','4',
|
|
fiID,fiWORD(FI_PROWRITE2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| FirstChoice3Test
|
|
*/
|
|
fiSEEK,fiLONG(8),
|
|
0x0C,'G','E','R','B','I',
|
|
'L','D','O','C','3',
|
|
fiID,fiWORD(FI_FIRSTCHOICE3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| FirstChoiceTest
|
|
*/
|
|
fiSEEK,fiLONG(8),
|
|
0x0C,'G','E','R','B','I',
|
|
'L','D','O','C',
|
|
fiID,fiWORD(FI_FIRSTCHOICE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| OfficeWriterTest
|
|
*/
|
|
fiSEEKTOP,
|
|
fiRANGE,0x01,'4','6',
|
|
'.','0',
|
|
fiSEEK,fiLONG(512),
|
|
0xB3,
|
|
fiSEEK,fiLONG(1024),
|
|
0xB3,
|
|
fiSEEK,fiLONG(1536),
|
|
0xB3,
|
|
fiID,fiWORD(FI_OFFICEWRITER),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWpfBTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,
|
|
fiSEEK,fiLONG(65),
|
|
'W','P','D','0','S','S','I','W',
|
|
fiID,fiWORD(FI_MACWORDPERFECT),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWpf2BTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,
|
|
fiSEEK,fiLONG(65),
|
|
'W','P','D','1','W','P','C','2',
|
|
fiID,fiWORD(FI_MACWORDPERFECT2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWorks2BTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,
|
|
fiSEEK,fiLONG(65),
|
|
'A','W','W','P','P','S','I','2',
|
|
fiID,fiWORD(FI_MACWORKSWP2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWorks2Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x00,
|
|
fiRANGE,0x01,0x00,0x08,
|
|
fiSEEK,fiLONG(0x0c),
|
|
0x00,0x00,0x00,0x00,0x00,0x01,
|
|
fiID,fiWORD(FI_MACWORKSWP2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWorks2DBBTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,
|
|
fiSEEK,fiLONG(65),
|
|
'A','W','D','B','P','S','I','2',
|
|
fiID,fiWORD(FI_MACWORKSDB2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWorks2DBTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x00,
|
|
fiRANGE,0x01,0x00,0x08,
|
|
fiSEEK,fiLONG(0x10),
|
|
0x00,0x02,
|
|
fiID,fiWORD(FI_MACWORKSDB2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWorks2SSBTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,
|
|
fiSEEK,fiLONG(65),
|
|
'A','W','S','S','P','S','I','2',
|
|
fiID,fiWORD(FI_MACWORKSSS2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWorks2SSTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x00,
|
|
fiRANGE,0x01,0x00,0x08,
|
|
fiSEEK,fiLONG(0x10),
|
|
0x00,0x03,
|
|
fiID,fiWORD(FI_MACWORKSSS2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Rtf J
|
|
*/
|
|
fiSEEKTOP,
|
|
'{','\\',
|
|
fiONEOFTWO,'r','R',
|
|
fiONEOFTWO,'t','T',
|
|
fiONEOFTWO,'f','F',
|
|
'1','\\',
|
|
fiONEOFTWO,'j','J',
|
|
fiONEOFTWO,'i','I',
|
|
fiONEOFTWO,'s','S',
|
|
fiID,fiWORD(FI_RTFJ),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| RtfTest
|
|
*/
|
|
fiSEEKTOP,
|
|
'{','\\',
|
|
fiONEOFTWO,'r','R',
|
|
fiONEOFTWO,'t','T',
|
|
fiONEOFTWO,'f','F',
|
|
fiID,fiWORD(FI_RTF),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWord3Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0xFE,0x34,
|
|
fiSEEK,fiLONG(0x78),
|
|
0x00,0x00,0x01,0x00,
|
|
fiID,fiWORD(FI_MACWORD3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWord5Test
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0xFE,0x37,0x00,0x23,
|
|
fiSEEK,fiLONG(0x14),
|
|
0x00,0x00,0x01,0x00,
|
|
fiID,fiWORD(FI_MACWORD5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWord5B Test
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
fiSEEK,fiLONG(65),
|
|
'W','D','B','N','M','S','W','D',
|
|
fiSEEK,fiLONG(0x80),
|
|
0xFE,0x37,0x00,0x23,
|
|
fiSEEK,fiLONG(0x94),
|
|
0x00,0x00,0x01,0x00,
|
|
fiID,fiWORD(FI_MACWORD5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWord4Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0xFE,0x37,
|
|
fiSEEK,fiLONG(0x14),
|
|
0x00,0x00,0x01,0x00,
|
|
fiID,fiWORD(FI_MACWORD4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWord4BTest NOTE This does not separate complex and non complex
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,
|
|
fiSEEK,fiLONG(65),
|
|
'W','D','B','N','M','S','W','D',
|
|
fiSEEK,fiLONG(0x80),
|
|
0xFE,0x37,
|
|
fiSEEK,fiLONG(0x94),
|
|
0x00,0x00,0x01,0x00,
|
|
fiID,fiWORD(FI_MACWORD4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WinWord1Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x9b,0xa5,
|
|
fiSEEK,fiLONG(0x12),
|
|
0x00,0x00,0x00,0x00,0x00,0x00,
|
|
fiID,fiWORD(FI_WINWORD1),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WinWord2Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0xdb,0xa5,0x2d,0x00,
|
|
fiID,fiWORD(FI_WINWORD2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WinWord6 Test (non-DocFile)
|
|
*/
|
|
fiSEEKTOP,
|
|
0xdc,0xa5,
|
|
fiRANGE,0x01,0x60,0x65,
|
|
0x00,0x2d,0xc0,
|
|
fiID,fiWORD(FI_WINWORD6),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WinWord7 Test (as a flat stream)
|
|
*/
|
|
fiSEEKTOP,
|
|
0xdc,0xa5,0x69,0x00,
|
|
fiID,fiWORD(FI_WINWORD7),
|
|
fiENDONE,
|
|
|
|
|
|
/*
|
|
| Professional Write PLUS
|
|
*/
|
|
fiEXT,0x03,'P','W','P',
|
|
fiSEEKTOP,
|
|
'[','v','e','r',']',0x0d,0x0a,
|
|
fiID,fiWORD(FI_PROWRITEPLUS),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| AmiProTest
|
|
*/
|
|
fiSEEKTOP,
|
|
'[','v','e','r',']',0x0d,0x0a,
|
|
fiID,fiWORD(FI_AMIPRO),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| AmiProTest (protected)
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'[','e','n','c','r','y','p','t',']',0x0d,0x0a,
|
|
fiID,fiWORD(FI_AMIPRO),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| LegacyTest
|
|
*/
|
|
fiSEEKTOP,
|
|
'#',' ','V','E',' ','#',' ','4','.','0','0',
|
|
fiID,fiWORD(FI_LEGACY),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Wordstar for Windows
|
|
*/
|
|
fiSEEKTOP,
|
|
'#',' ','V','V',' ','#',' ','5','.','0','0',
|
|
fiID,fiWORD(FI_WINWORDSTAR),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| JustWrite
|
|
*/
|
|
fiSEEKTOP,
|
|
'F','F','F','F','I','I','I','I',
|
|
fiRANGE,0x01,0x00,0x02,
|
|
fiID,fiWORD(FI_JUSTWRITE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Q&A Write
|
|
*/
|
|
fiSEEKTOP,
|
|
'F','F','F','F','I','I','I','I',
|
|
0x08,
|
|
fiID,fiWORD(FI_QAWRITE3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| JustWrite 2
|
|
*/
|
|
fiSEEKTOP,
|
|
'F','F','F','F','I','I','I','I',
|
|
fiNOTRANGE2,0x01,fiWORD(0),fiWORD(6),
|
|
fiID,fiWORD(FI_JUSTWRITE2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Mass11PCTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x5A,0x00,
|
|
fiSEEK,fiLONG(0x5C),
|
|
0xC9,0x00,
|
|
fiSEEK,fiLONG(0x128),
|
|
0xC9,0x00,
|
|
fiID,fiWORD(FI_MASS11PC),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Mass11VAXTest
|
|
*/
|
|
fiSEEK,fiLONG(0x5B),
|
|
0x1C,
|
|
fiSEEK,fiLONG(0x125),
|
|
0x1D,
|
|
fiSEEK,fiLONG(0x1EF),
|
|
0x05,0x81,
|
|
fiID,fiWORD(FI_MASS11VAX),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWriteIITest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x2E,0x00,0x2E,
|
|
fiSEEK,fiLONG(135),
|
|
0x06,0x12,0x01,0x00,
|
|
fiID,fiWORD(FI_MACWRITEII),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacWriteIIBTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,
|
|
fiSEEK,fiLONG(65),
|
|
'M','W','2','D','M','W','I','I',
|
|
fiID,fiWORD(FI_MACWRITEII),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| SmartTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x53,0x04,0x02,0x01,
|
|
fiSPECIAL,fiWORD(FI_SMART),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| ARCTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x1a,0x08,
|
|
fiID,fiWORD(FI_ARC),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| TIFF Intel
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'I','I',0x2A,0x00,
|
|
fiID,fiWORD(FI_TIFF),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| TIFF Motorola
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'M','M',0x00,0x2A,
|
|
fiID,fiWORD(FI_TIFF),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| BMP
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'B','M',
|
|
fiSEEK,fiLONG(14),
|
|
0x28,0x00,0x00,0x00,
|
|
fiID,fiWORD(FI_BMP),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| JPEG JFIF
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
fiFF,0xD8,fiFF,
|
|
fiRANGE,0x01,0xDB,0xEE,
|
|
fiONEOFTWO,0x00,0x01,
|
|
fiID,fiWORD(FI_JPEGFIF),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| JPEG JFIF - with MAC Bin header
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
fiSEEK,fiLONG(65),
|
|
'J','P','E','G','8','B','I','M',
|
|
fiSEEK,fiLONG(128),
|
|
fiFF,0xD8,fiFF,
|
|
fiRANGE,0x01,0xDB,0xEE,
|
|
fiONEOFTWO,0x00,0x01,
|
|
fiID,fiWORD(FI_JPEGFIF),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Microsoft PowerPoint. version 4
|
|
*/
|
|
fiSEEKTOP,
|
|
0xed,0xde,0xad,0x0b,0x04,
|
|
fiID,fiWORD(FI_POWERPOINT),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Microsoft PowerPoint version 3
|
|
*/
|
|
fiSEEKTOP,
|
|
0xed,0xde,0xad,0x0b,0x03,
|
|
fiID,fiWORD(FI_POWERPOINT3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| OS2 DIB
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'B','M',
|
|
fiSEEK,fiLONG(14),
|
|
0x0C,0x00,0x00,0x00,
|
|
fiID,fiWORD(FI_OS2DIB),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Windows Icon or Cursor
|
|
*/
|
|
|
|
fiSPECIAL,fiWORD(FI_WINDOWSICON),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| GIF
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'G','I','F','8',
|
|
fiONEOFTWO,'7','9',
|
|
fiID,fiWORD(FI_GIF),
|
|
fiENDONE,
|
|
|
|
|
|
/*
|
|
| EPS with TIFF header
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0xC5,0xD0,0xD3,0xC6,
|
|
fiID,fiWORD(FI_EPSTIFF),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WPG 2 WordPerfect Graphics
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x04,
|
|
0x01,0x16,0x02,
|
|
fiID,fiWORD(FI_WPG2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WPG WordPerfect Graphics
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiSKIP,0x04,
|
|
0x01,0x16,
|
|
fiID,fiWORD(FI_WPG),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Unknown WordPerfect Product (Must come after all known WPF products.)
|
|
*/
|
|
fiSEEKTOP,
|
|
fiFF,'W','P','C',
|
|
fiID,fiWORD(FI_WPFUNKNOWN),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Macintosh PICT2
|
|
*/
|
|
// JK I removed the first four lines below since they had little
|
|
// to do with PICT2 (first 512 bytes are defined by app creating PICT
|
|
// fiSEEKTOP,
|
|
// 0x00,0x00,0x00,0x00,0x00,
|
|
// fiSEEK,fiLONG(0x1FB),
|
|
// 0x00,0x00,0x00,0x00,0x00,
|
|
fiSEEK,fiLONG(0x20A),
|
|
0x00,0x11,0x02,0xFF,0x0C,0x00,
|
|
fiID,fiWORD(FI_MACPICT2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Macintosh PICT1
|
|
*/
|
|
// JK I removed the first two lines below because the id was too stringent
|
|
// fiSEEKTOP,
|
|
// 0x00,0x00,0x00,0x00,0x00,
|
|
fiSEEK,fiLONG(0x1FB),
|
|
0x00,0x00,0x00,0x00,0x00,
|
|
fiSEEK,fiLONG(0x20A),
|
|
0x11,0x01,
|
|
fiID,fiWORD(FI_MACPICT1),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Lotus PIC
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x01,0x00,0x00,0x00,0x01,
|
|
0x00,0x08,0x00,0x44,0x00,
|
|
0x00,0x00,0x00,0x0C,0x7F,
|
|
0x09,0x06,
|
|
fiID,fiWORD(FI_LOTUSPIC),
|
|
fiENDONE,
|
|
|
|
|
|
/*
|
|
| Lotus Ami Draw
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x53,0x4D,
|
|
fiID,fiWORD(FI_AMIDRAW),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Windows metafile (Aldus placeable)
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0xD7,0xCD,0xC6,0x9A,
|
|
fiID,fiWORD(FI_WINDOWSMETA),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Binary Windows Metafile
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x01,0x00,0x09,0x00,0x00,
|
|
fiRANGE,0x01,0x01,0x03,
|
|
fiID,fiWORD(FI_BINARYMETAFILE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Micrografx product
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x01,fiFF,
|
|
fiONEOFTWO,0x01,0x02,
|
|
0x04,0x03,
|
|
fiID,fiWORD(FI_MICROGRAFX),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Truevision TARGA
|
|
*/
|
|
|
|
fiEXT,0x03,'T','G','A',
|
|
fiID,fiWORD(FI_TARGA),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| HPGL
|
|
*/
|
|
|
|
fiEXT,0x03,'P','G','L',
|
|
fiID,fiWORD(FI_HPGL),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Havard Graphics 3.0 DOS
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'H','G','B','3',0x00,0x00,
|
|
fiID,fiWORD(FI_HARVARDDOS3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Havard Graphics 3.0 DOS Presentation
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'H','G','B','1',0x00,0x00,
|
|
fiID,fiWORD(FI_HARVARDDOS3PRS),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Havard Graphics 2.0 DOS
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'F','a','l','c',0x00,0x00,
|
|
fiID,fiWORD(FI_HARVARDDOS2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Freelance (Windows & OS/2)
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x00,0x01,
|
|
fiSKIP,2,
|
|
0x44,0x45,0x42,0x52,
|
|
fiSKIP,2,
|
|
0x04,0x00,0x01,0x00,
|
|
fiID,fiWORD(FI_FREELANCE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| GEM Image
|
|
*/
|
|
|
|
fiEXT,0x03,'I','M','G',
|
|
fiSEEKTOP,
|
|
0x00,fiONEOFTWO,0x01,0x00,
|
|
0x00,fiONEOFTWO,0x08,0x09,
|
|
fiID,fiWORD(FI_GEMIMG),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| COREL 5.0
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'R','I','F','F',
|
|
fiSKIP,4,
|
|
'C','D','R','5',
|
|
fiID,fiWORD(FI_CORELDRAW5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| COREL 4.0
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'R','I','F','F',
|
|
fiSKIP,4,
|
|
'C','D','R','4',
|
|
fiID,fiWORD(FI_CORELDRAW4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| COREL 3.0
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'R','I','F','F',
|
|
fiSKIP,4,
|
|
'C','D','R',' ',
|
|
fiID,fiWORD(FI_CORELDRAW3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| COREL 2.0
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'W','L',
|
|
fiRANGE,0x01,0x66,0xCA,
|
|
0x00,
|
|
fiID,fiWORD(FI_CORELDRAW2),
|
|
fiENDONE,
|
|
|
|
|
|
/*
|
|
| RIFF Waveform (.WAV)
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'R','I','F','F',
|
|
fiSKIP,4,
|
|
'W','A','V','E',
|
|
fiID,fiWORD(FI_RIFFWAVE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| RIFF AVI (.AVI)
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
'R','I','F','F',
|
|
fiSKIP,4,
|
|
'A','V','I',' ',
|
|
fiID,fiWORD(FI_RIFFAVI),
|
|
fiENDONE,
|
|
|
|
|
|
/*
|
|
| ZIPTest
|
|
*/
|
|
fiSEEKTOP,
|
|
'P','K',0x03,0x04,
|
|
fiID,fiWORD(FI_ZIP),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| ZIPTest (multidisk archive)
|
|
*/
|
|
fiSEEKTOP,
|
|
'P','K',0x07,0x08,
|
|
'P','K',0x03,0x04,
|
|
fiID,fiWORD(FI_ZIP),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| ZipExeTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x4D,0x5A,
|
|
fiSEEK,fiLONG(0x32),
|
|
'P','K','W','A','R','E',
|
|
fiID,fiWORD(FI_ZIPEXE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| ExeTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x4D,0x5A,
|
|
fiID,fiWORD(FI_EXECUTABLE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| ComTest
|
|
*/
|
|
fiEXT,0x03,'C','O','M',
|
|
fiID,fiWORD(FI_COM),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| TxtTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x80,0x00,0x00,0x09,0x20,
|
|
0x00,0x4F,0x7B,0x4A,0x5D,0x02,
|
|
fiID,fiWORD(FI_TXT),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| DisplayWrite4Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x80,0x00,0x00,0x09,0x20,
|
|
0x00,0x4F,0x7B,0x4A,0x5D,0x18,
|
|
fiSEEK,fiLONG(0x1B),
|
|
0x00,
|
|
fiID,fiWORD(FI_DISPLAYWRITE4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| DisplayWrite5Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x80,0x00,0x00,0x09,0x20,
|
|
0x00,0x4F,0x7B,0x4A,0x5D,0x18,
|
|
fiSEEK,fiLONG(0x1B),
|
|
fiNOTBYTE,0x00,
|
|
fiID,fiWORD(FI_DISPLAYWRITE5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| QAWriteTest1
|
|
*/
|
|
fiSEEKTOP,
|
|
'T','B','W','P',0x00,
|
|
fiID,fiWORD(FI_QAWRITE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| QAWriteTest2
|
|
*/
|
|
fiSEEKTOP,
|
|
'T','B','T','X',0x00,
|
|
fiID,fiWORD(FI_QAWRITE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| FrameworkIIITest
|
|
*/
|
|
fiSEEKTOP,
|
|
fiSKIP,6,
|
|
0xED,0xFB,
|
|
fiSKIP,2,
|
|
fiONEOFTWO,0,1,
|
|
fiSKIP,1,
|
|
fiNOTRANGE2,0x01,fiWORD(0),fiWORD(0x00c8),
|
|
fiID,fiWORD(FI_FRAMEWORKIII),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| SmartDataTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x53,0x04,0x03,0x31,0xe0,0x03,
|
|
fiID,fiWORD(FI_SMARTDATA),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| SmartSheetTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x53,0x04,0x01,0x01,0x14,
|
|
fiID,fiWORD(FI_SMARTSHEET),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WorksSheetTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x04,0x04,
|
|
0x05,0x54,0x02,0x00,0x00,0x00,
|
|
fiID,fiWORD(FI_WORKSSHEET),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WinWorksSSTest
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x04,0x04,
|
|
0x05,0x54,0x02,0x00,
|
|
fiSKIP,1,
|
|
fiRANGE,0x01,0x44,0x47,
|
|
fiID,fiWORD(FI_WINWORKSSS),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WinWorksSSTest Vers 3
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
fiFF,0x00,0x02,0x00,0x04,0x04,
|
|
0x05,0x54,0x02,0x00,
|
|
fiSKIP,1,
|
|
fiONEOFTWO,0x4E,0x4D,
|
|
fiID,fiWORD(FI_WINWORKSSS3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WinWorksDBTest
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x20,0x54,0x02,0x00,0x00,0x00,
|
|
0x05,0x54,0x02,0x00,
|
|
fiSKIP,1,
|
|
fiRANGE,0x01,0x44,0x47,
|
|
fiID,fiWORD(FI_WINWORKSDB),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| VpPlannerTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x04,
|
|
0x04,0xF3,0x00,0x02,0x00,
|
|
fiONEOFTWO,0x00,0xFF,
|
|
fiONEOFTWO,0x00,0xFF,
|
|
fiID,fiWORD(FI_VPPLANNER),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Lotus1Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x04,0x04,
|
|
fiID,fiWORD(FI_123R1),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Lotus2Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x06,0x04,
|
|
fiID,fiWORD(FI_123R2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Lotus3Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x1A,0x00,0x00,0x10,
|
|
fiID,fiWORD(FI_123R3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Lotus4Test Windows
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x1A,0x00,0x02,0x10,
|
|
fiID,fiWORD(FI_123R4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Symphony1Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x05,0x04,
|
|
fiID,fiWORD(FI_SYMPHONY1),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| TwinTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,
|
|
fiRANGE,0x01,7,9,
|
|
0x22,
|
|
fiID,fiWORD(FI_TWIN),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| QuattroProWinTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x01,0x10,
|
|
fiID,fiWORD(FI_QUATTROPROWIN),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| QuattroProWin6Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x02,0x10,
|
|
fiID,fiWORD(FI_QUATTROPRO6),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| QuattroProTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x20,0x51,
|
|
fiID,fiWORD(FI_QUATTROPRO),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| QuattroPro 5.0
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x21,0x51,
|
|
fiID,fiWORD(FI_QUATTROPRO5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Quatrro 1.0 Japanese
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x01,0x11,
|
|
fiID,fiWORD(FI_QUATTROPRO1J),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| QuattroTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,0x0B,0x0A,
|
|
fiID,fiWORD(FI_QUATTRO),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| SuperCalc5Test
|
|
*/
|
|
fiSEEKTOP,
|
|
'S','u','p','e','r','C','a','l','c','9','0','b',
|
|
0x02,0x04,
|
|
fiID,fiWORD(FI_SUPERCALC5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| PfsPlanTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x06,0x00,0x0c,0x00,
|
|
'D','o','l','p','h',' ','1','.','0',
|
|
fiID,fiWORD(FI_PFS_PLAN),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| FirstChoiceSSTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,
|
|
'J','E','D',
|
|
fiID, fiWORD(FI_FIRSTCHOICE_SS),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| FirstChoiceDBTest
|
|
*/
|
|
fiSEEK,fiLONG(8),
|
|
0x0c,'G','E','R','B','I','L','D','B',
|
|
fiID, fiWORD(FI_FIRSTCHOICE_DB),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| ExcelTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x09,0x00,0x04,0x00,
|
|
fiSKIP,1,
|
|
0x00,
|
|
0x10,0x00,
|
|
fiID,fiWORD(FI_EXCEL),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Excel 5 Test (as a flat stream)
|
|
*/
|
|
fiSEEKTOP,
|
|
0x09,0x08,0x08,0x00,
|
|
fiID,fiWORD(FI_EXCEL5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Multiplan 4.x Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x0c,0xef,0x4d,0x50,
|
|
fiRANGE,0x01,0x90,0xa4,
|
|
0x01,
|
|
fiID,fiWORD(FI_MULTIPLAN4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MultiPlan Export Chart and Save As Excel
|
|
*/
|
|
fiSEEKTOP,
|
|
fiWORD(0x09),
|
|
fiWORD(0x04),
|
|
fiONEOFTWO,0x40,0x42,
|
|
0x01,
|
|
fiWORD(0x10),
|
|
fiID,fiWORD(FI_EXCEL),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Excel3Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x09,0x02,
|
|
fiNOTBYTE,0x00,0x00,
|
|
0x00,0x00,
|
|
0x10,0x00,
|
|
fiID,fiWORD(FI_EXCEL3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Access Export as Excel3 Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x09,0x02,
|
|
fiNOTBYTE,0x00,0x00,
|
|
0x03,0x00,
|
|
0x10,0x00,
|
|
fiID,fiWORD(FI_EXCEL3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MultiPlan Export Chart and Save As Excel
|
|
*/
|
|
fiSEEKTOP,
|
|
fiWORD(0x09),
|
|
fiWORD(0x04),
|
|
fiONEOFTWO,0x40,0x42,
|
|
0x01,
|
|
fiWORD(0x10),
|
|
fiID,fiWORD(FI_EXCEL),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Excel4Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x09,0x04,
|
|
fiNOTBYTE,0x00,0x00,
|
|
0x00,0x00,
|
|
0x10,0x00,
|
|
fiID,fiWORD(FI_EXCEL4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Excel Chart Test
|
|
*/
|
|
fiSEEKTOP,
|
|
fiWORD(0x09),
|
|
/* fiWORD(0x06), Replaced with tests below. -Geoff 6-13-94 */
|
|
fiONEOFTWO,0x06,0x04,
|
|
0x00,
|
|
fiONEOFTWO,0x02,0x00,
|
|
0x00,
|
|
fiWORD(0x20),
|
|
fiID,fiWORD(FI_EXCELCHART),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Excel3 Chart Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x09,0x02,
|
|
fiNOTBYTE,0x00,0x00,
|
|
0x00,0x00,
|
|
0x20,0x00,
|
|
fiID,fiWORD(FI_EXCEL3CHART),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Excel4 Chart Test
|
|
*/
|
|
fiSEEKTOP,
|
|
0x09,0x04,
|
|
fiWORD(0x06),
|
|
fiSKIP,2,
|
|
0x20,0x00,
|
|
fiID,fiWORD(FI_EXCEL4CHART),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Manuscript1Test
|
|
*/
|
|
fiSEEKTOP,
|
|
'*','R','1',13,10,
|
|
fiID,fiWORD(FI_MANUSCRIPT1),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Manuscript2Test
|
|
*/
|
|
fiSEEKTOP,
|
|
'*','R','2',13,10,
|
|
fiID,fiWORD(FI_MANUSCRIPT2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| EnableWpTest 4.5
|
|
*/
|
|
fiSEEKTOP,
|
|
0x81,
|
|
0xCD,0xAB,
|
|
fiSKIP,2,
|
|
fiRANGE,0x01,0x40,0x46,
|
|
fiID,fiWORD(FI_ENABLEWP4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| EnableWpTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x81,
|
|
0xCD,0xAB,
|
|
fiID,fiWORD(FI_ENABLEWP),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| EnableSheetTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x02,
|
|
0xCD,0xAB,
|
|
fiID,fiWORD(FI_ENABLESHEET),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| PcFileLetter1Test
|
|
*/
|
|
fiSEEKTOP,
|
|
'P','C','F',':','d','B',';',
|
|
fiID,fiWORD(FI_PCFILELETTER),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| PcFileLetter2Test
|
|
*/
|
|
fiSEEKTOP,
|
|
'P','C','F','+','3',';',
|
|
fiID,fiWORD(FI_PCFILELETTER),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WorksDataTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x20,0x54,0x02,0x00,0x00,0x00,
|
|
0x05,0x54,0x02,0x00,0x00,0x00,
|
|
fiID,fiWORD(FI_WORKSDATA),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| DBaseTest
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_DBASE3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| DataEaseTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x17,0x00,
|
|
fiSEEK,fiLONG(0x1f),
|
|
fiRANGE,0x05,0x01,0x02,
|
|
fiID,fiWORD(FI_DATAEASE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| GenericWKSTest
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x02,0x00,
|
|
fiSPECIAL,fiWORD(FI_GENERIC_WKS),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Q&A database
|
|
*/
|
|
fiSEEKTOP,
|
|
0x53,0x59,0x4d,0x41,0x4E,0x54,0x45,0x43,
|
|
0x20,0x54,0x4F,0x55,0x43,0x48,0x42,0x41,
|
|
fiID,fiWORD(FI_QADBASE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Microsoft Access 1.0
|
|
*/
|
|
|
|
fiSEEK,fiLONG(0x406),
|
|
'R','i','c','h',
|
|
fiID,fiWORD(FI_ACCESS1),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Reflex database
|
|
*/
|
|
fiSEEK,fiLONG(0x04),
|
|
0x52,0x65,0x66,0x6C,0x65,0x78,0x32,
|
|
fiID,fiWORD(FI_REFLEX),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| CEO database
|
|
*/
|
|
fiSEEK,fiLONG(0x08),
|
|
0x00,0x00,0x02,0x00,0x00,0x80,
|
|
fiSKIP,0x06,
|
|
0x00,0x07,
|
|
fiID,fiWORD(FI_CEODB),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Ichitaro 4.x (Note: Hanako 2.x has same id bytes but different extention)
|
|
*/
|
|
fiEXT,0x03,'J','S','W',
|
|
fiSEEKTOP,
|
|
'D','O','C',0x00,0x00,0x00,0x00,0x00,
|
|
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
|
fiID,fiWORD(FI_ICHITARO4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MS Word 5 Japanese
|
|
*/
|
|
fiSEEKTOP,
|
|
0x94,0xA6,0x2E,0x00,
|
|
fiID,fiWORD(FI_WINWORD5J),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MS Word 1.2 Japanese
|
|
*/
|
|
fiSEEKTOP,
|
|
0x91,0xA6,0x22,0x00,
|
|
fiID,fiWORD(FI_WINWORD1J),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Matsu 5
|
|
*/
|
|
fiSEEKTOP,
|
|
0x00,0x4D,0x01,0x02,
|
|
fiID,fiWORD(FI_MATSU5),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Matsu 4
|
|
*/
|
|
fiSEEKTOP,
|
|
0x1A,0x4D,0x02,0x01,
|
|
fiID,fiWORD(FI_MATSU4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Hanako 2.x (Note: Ichitaro 4.x has same id bytes but different extention)
|
|
*/
|
|
fiEXT,0x03,'J','S','H',
|
|
fiSEEKTOP,
|
|
'D','O','C',0x00,0x00,0x00,0x00,0x00,
|
|
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
|
fiID,fiWORD(FI_HANAKO2),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Hanako 1.x (Note: some Hanako files have first two bytes of 0x03,0x06
|
|
| but I felt this was insufficient so we will not support such files.
|
|
*/
|
|
fiSEEKTOP,
|
|
0x09,0x06,0x00,0x44,
|
|
fiID,fiWORD(FI_HANAKO1),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Candy 4
|
|
*/
|
|
fiSEEKTOP,
|
|
'C','4','C','A','D',
|
|
fiID,fiWORD(FI_CANDY4),
|
|
fiENDONE,
|
|
|
|
|
|
#ifdef FAREAST
|
|
/*
|
|
| The formats which are id'd by extention only are ifdef'd to avoid
|
|
| problems with this type of id in the US version.
|
|
*/
|
|
/*
|
|
| Ichitaro 3.x
|
|
*/
|
|
fiEXT,0x03,'J','X','W',
|
|
fiID,fiWORD(FI_ICHITARO3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| P1 (Japanese Drawing program)
|
|
*/
|
|
fiEXT,0x02,'P','1',
|
|
fiID,fiWORD(FI_P1),
|
|
fiENDONE,
|
|
|
|
#endif
|
|
|
|
/*
|
|
| SignatureTest
|
|
*/
|
|
fiSEEKBOT,fiLONG(0L-0x07L),
|
|
0x30,0x02,0xfe,0xfc,0xfe,0x01,0x00,
|
|
fiID,fiWORD(FI_SIGNATURE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| CEO Word test
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x00,0x00,0x00,0x00,
|
|
fiSKIP,0x02,
|
|
0x02,0x0a,
|
|
fiSEEK,fiLONG(0x5a),
|
|
0x00,
|
|
fiSEEK,fiLONG(0x200),
|
|
0x06,
|
|
fiID,fiWORD(FI_CEOWORD),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| CEO Write test
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x2E,0x2A,0x2A,0x20,
|
|
fiONEOFTWO,0x31,0x32,
|
|
fiID,fiWORD(FI_CEOWRITE),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| CEO Spreadsheet test (Hopefully it's enough)
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x01,0xc2,
|
|
fiSEEK,fiLONG(0x520),
|
|
0xff, 0xff, 0xff, 0xff,
|
|
fiID,fiWORD(FI_CEOSS),
|
|
fiENDONE,
|
|
|
|
|
|
/*
|
|
| PCX
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
10,
|
|
fiRANGE,0x01,0,5,
|
|
fiONEOFTWO,0x00,0x01,
|
|
fiSEEK,fiLONG(64),0x00,
|
|
fiID,fiWORD(FI_PCX),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| DCX
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0xb1, 0x68, 0xde, 0x3a,
|
|
fiID,fiWORD(FI_DCX),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Paradox3Test
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_PARADOX3),
|
|
fiENDONE,
|
|
|
|
|
|
/*
|
|
| WordPerfect42Test
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_WORDPERFECT42),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordPerfect mail text
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x9d,'F','r','o','m',':',
|
|
fiID,fiWORD(FI_WORDPERFECT42),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Wordstar4Test
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_WORDSTAR4),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| XyWrite_Fft_SprintTest
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_FFT),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| CGM Test
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_CGM),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| DifTest
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_DIF),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| VolkswriterTest
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_VOLKSWRITER),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| WordMarcTest
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_WORDMARC),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| RBaseTest
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_RBASEV),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| DxTest
|
|
*/
|
|
|
|
fiSEEKTOP,
|
|
0x74,0x00,
|
|
fiSEEK,fiLONG(118),
|
|
0x40,0x00,
|
|
fiSPECIAL,fiWORD(FI_DX),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| Dx31Test
|
|
*/
|
|
|
|
fiSEEK,fiLONG(118),
|
|
0x7C,0x4E,
|
|
fiSPECIAL,fiWORD(FI_DX31),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| IwpTest
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_IWP),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| RBaseFile1Test
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_RBASEFILE1),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| RBaseFile3Test
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_RBASEFILE3),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| MacPaint
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_MACPAINT),
|
|
fiENDONE,
|
|
|
|
fiSEEKTOP,
|
|
0x00,
|
|
fiSEEK,fiLONG(65),
|
|
'P','N','T','G',
|
|
fiID,fiWORD(FI_MACPAINT),
|
|
fiENDONE,
|
|
|
|
/*
|
|
| FAX Group 3 test
|
|
*/
|
|
fiSPECIAL,fiWORD(FI_CCITTGRP3),
|
|
fiENDONE,
|
|
|
|
#ifdef VMS_VAXC
|
|
/*
|
|
| WangWpsTest
|
|
*/
|
|
fiSEEKTOP,
|
|
fiRANGE,4,0xB0,0xB9,
|
|
fiRANGE,1,0xFA,0xC1,
|
|
0x00,
|
|
fiSEEK,fiLONG(0x1F),
|
|
0x00,
|
|
fiSEEK,fiLONG(0x34),
|
|
0x00,
|
|
fiSEEK,fiLONG(0x49),
|
|
0x00,
|
|
fiSEEK,fiLONG(0x5E),
|
|
0x00,
|
|
fiSEEK,fiLONG(0x61),
|
|
0x00,
|
|
fiSEEK,fiLONG(0x64),
|
|
0x00,
|
|
fiSEEK,fiLONG(0xC2),
|
|
0x00,
|
|
fiSEEK,fiLONG(0xD0),
|
|
0x00,
|
|
fiSEEK,fiLONG(0xD7),
|
|
0x00,
|
|
fiID,fiWORD(FI_WANGWPS),
|
|
fiENDONE,
|
|
#endif
|
|
fiENDALL
|
|
};
|
|
|