rtf2troff: You need bcopy. If you don't have one, you can write it easily. The prototype is: bcopy (char *src, char *dest, int nBytes); copy nButes from source "src" to destination "dest". Some implementations work for overlapping source and destination, but that is not necessary for rtf2troff. If you don't have bcopy, but you do have memcpy, bcopy can be implemented as # define bcopy(a,b,c) (void) memcpy(b,a,c) On a Macintosh you can use # define bcopy(a,b,c) BlockMove(a,b,c) ------------------- Some functions take a variable number of arguments; varargs.h is used if you have it. This is all controlled by VARARGS in the Makefile. If you use imake, the correct value should be selected automatically, otherwise you'll have to set it by hand. ------------------- The table used to translate non-ASCII (> 127) characters are incomplete, and it is possible that the special sequences used to represent special characters are not present in all troff's. Check against your local documentation. Take a look at trf-charmap.c. -------------------