fig2sxd (1) - Linux Manuals

fig2sxd: utility to convert .fig to .sxd


fig2sxd - utility to convert .fig to .sxd


fig2sxd [-w] [-l(ine)w(idth)1 l] figfile sxdfile


The program tries to convert the given file in xfig format into a sxd file for Draw. If figfile ends with .fig or .xfig and sxdfile is omitted, the output file will be named like figfile ending with .sxd instead of .(x)fig. Using - for figfile makes the program read from stdin so that it is possible to use

pstoedit -f fig - | fig2sxd - file.sxd

to convert ps files. (For files with many objects you might want to use something like

pstoedit -f 'fig:-startdepth 9999' - | fig2sxd - file.sxd

to get more layers; the output of pstoedit then is no longer a valid xfig file, but it makes the z ordering of the objects in Draw stay correct.) Using - for sxdfile makes the program write to stdout. With the -linewidth1 (or -lw1) option, the width of lines with thickness 1 in xfig can be set, unit is 1 cm. Using 0 here gives fine lines. Example:

pstoedit -f 'fig:-startdepth 9999' - | fig2sxd -lw1 0 - file.sxd

With the -w option, out-of-specification values are only warnings but will be sanitized.


Not all of the .fig objects are converted correctly: splines look quite similar, but are not exactly the same; text placement might be a little bit wrong, especially for very small font sizes; hatches look different in many cases; hollow arrows are not supported and replaced by their filled counterparts. There are various other things that could be improved.

It looks like cannot read xml attribute values longer than 64kB as they might appear for very long polygons/-lines. For unfilled polylines, fig2sxd therefore creates several smaller polylines of 500 points each and groups them together. Splitting an arbitrary filled polygon is not trivial and not implemented.


Program and manual page were written by Alexander B[:u]rger <acfb [at]>.


pstoedit(1), xfig(1) and (for updates).