v 0.1.21 * F.J. Franklin patch cleaning up header files (add common.h, region.h). * F.J. Franklin patch improves TTF config. * Bob Bell syntax fixes. v 0.1.20 * Bob Bell patch to remove ctime warning in wmftoeps. * Bob Bell patch to prevent buffer ovfl in wmftoeps. * Option scale-bmp to xwmf also. * Removed gdImageColorResolveRich again, and implemented a better solution in gdxpm.c based on gridding the colour cube. * MV: Improved routine gdImageColorResolve (introducing a gdImageColorResolveRich version) to better handle color rich XPM files. Could be improved still. * Added option scale-bmp to wmftopng. v 0.1.19 * Vivien: embedded bitmaps "stack" now handled (apparently) correctly. cell.wmf works, test.wmf appears to as well! * Lots and lots of fixes/development on .fig graphics elements output, line styles, colour use, etc etc. "Depth hack". * Added use of lpDx[i] (explicit char placement). * Better font finder/fallback routines in .fig, .eps and .png. * Fixed text output in wmftopng, especially placement. * Added rudimentary wmftoeps. * Extensive text support for wmftofig. v 0.1.18 * A beginning of text support for the wmftofig export. Badly broken still. Some cleanup and documentation in libxfig. * Fixed the function names clash of read_32ubit (...16...) with wvware. * Fixes to realclean in gd-1.7.3 directory in two Makefile.in's. v 0.1.17 * moved codebase over the gd-1.7.3, * sent some patches to gd maintainer, hopefully in a release or two I won't have to distribute my own patched version of gd. * wmftogif is now gone, and wmftopng is there instead, because of the changes in gd. TODO * extra space for XRot, probably should create an XRotDrawText. * underline and strike-through have to be done as well. * test Text Support for X & gd, with all the extras, like bold/italic/ extra space for chars and breaks/rotated letters/escarpment etc. * run purify over it again to fully debug clipping * internal resizing support, the ppm utils do bad things to the colors, and dont support xpm files with > 256 colors, and i might as well try and support the resizing flags of windows, so ill try and patch in wine source again. * 1 created a clipping wmf file that demoed that stuff. * 2 clean up so that bitblt has all the bitblt calls and patblt calls, give it a proper SetDIBits as well. Test the x and y src on both those types of call as well. * 3 create a single wmf file with the frame and fill etc regions. * 4 single wmf that demos all the pen stuff with rectangles. * 5 single wmf that demos all the brush stuff with rectangles. * 6 single wmf with all graphic drawing primitives. * 7 one awful wmf that does all the font and text stuff ? * bring gd up to speed with X binding. * patch in the wine handling for text for X, SetTextJustification etc. * extend gd rectangle pen and brush to all shapes. * fully support all dib depths. * im still not happy with the MAPMODE setting, out.wmf looks too small, but otherwise dancers.wmf and Eg.wmf become too huge, but it looks like the same set of opcodes. * fiddle with join styles and all the other pen things. * we need to get the docs for this ability of X11R6 to do rotated text, as i cant work it out fully from the wine source, implement that, look at wine for orientation as well. * do a better api for clipping in gd, see if the maintainer will take a patch for it, i dont really want to haul around a special version of gd with me. v 0.1.16 * Albert Chin-A-Young , noted that there was a few syntatical errors, missing include , unended comment block and an empty struct v 0.1.15 Sam Sirlin reports that -L. before the -l lines doesn't appear to guarantee that the new libs get linked, and that old ones do instead, so i added -L. to the beginning as well. v 0.1.14 * added patches from (Raj Manandhar) to fix gdttf to find symbol font, and to be able to zoom in with xwmf, use + to zoom in and - to zoom out v 0.1.13 * bugfix patch from Bob Van Valzah v 0.1.12 * David.Airlie@ul.ie began and implemented a large chunk of functionality to convert wmf files to fig format. I'd like to request aid to finish off this area. v 0.1.11 * added patched from Albert Chin-A-Young for configure file and a NULL check. v 0.1.10 * removed c++ comment * stripped ^M's out * cast a few things to void pointers before assigning them to userdata. v 0.1.9 * added more bullet proffing against the sort of nightmare wmf's that come out of mswordview. * some better error checking for missing fonts, (doh !) * broke tt, fixed tt * removd debugging messages. v 0.1.8 * trivial change to wmfapi.h to make life easier with blip handling in mswordview * made configure script get heroic when searching for components, checks for for includes and libs both below a --with-stuff dir, and also inside it as well. v 0.1.7 * added ability to gd to read xbm's from data, rather than file, changed source accordingly, dont need to carry xbm's around anymore. * changed configure script to agressively find the xpm header file, * tested to work under aix (of all things :-)) * tested to work under solaris. * checked that it reports lack of xpm lib, and fails to go any further. * fiddled a bit more, and libwmf now works cleanly with mswordview, all cheer. v 0.1.6 * fixed tendency to blank out the area underneath it, this is due to the attempt to paint the bgcolor underneath the text. * configure script check for freetype is in. * forced to move gd1.3 back into the main tree, as i need custom clipping. * made sure that realwidth and realheight are always in positive units. * added TOP/BOTTOM/BASELINE positioning to gd version. * added better handling of background color for rotated text. * added better handling of the two types of putting extra space between letters to the gd binding. * added text background color for gd for text that doesnt include a rect. * changed gd to xgd, make gd, gdextras and gdttf all into one lib called libxgd, then only require a client app to link against that + libdib + libXpm + libX11, and only to include the dib include * made libdib a self contained entity. * the wmfapi include file and the gdwmfapi file can be used from other apps now. * tidied things up so that it can be used as a library properly, added a make install for all the components. v 0.1.5 * patched in wines clipping for INTERSECTCLIP and OFFSETCLIP * patched in EXCLUDECLIP * added SelectClippingRgn, untested. * Added basic TEXTOUT support, * stuck in some sensible aliases for common windows fonts, still you're so much better off runnning xfsft over your windows fonts, i think they make most of them freely available if you dont have windows, check out http://www.freetype.org for links to them. * the gd stuff has to be told the location of the ttf font dir, get all the font names and fontfaces, and then for the moment use the ttftopnm thing. * set up the region handlers so that clipping doesnt affect them, which appears to be the right road to go down, i.e. for region based calls, save the clipping region, and then do the call, and then restore the clipping. * added paint rgn to gd. * added (broken) clipping to gd. * finished and fixed clipping for gd * the gd stuff can be told the location of the tt fonts, and it will find the correct font to use from the fontname. * added some code from xvertext to allow me to do rotated text, i probably should use the X11R6 stuff, but this code was available already. * sent off some patches to the gd maintainer on the clipping code. * put in the support for rotated text from Gdtclft, added extra space code for it, ttf support is now integrated into the gd binding. v 0.1.4 * purify run again. * implemeted FRAMEREGION, it might even be right, who knows. * do clipping ala wine, INTERSECT and EXCLUDE and MODE that'll give us everything except full font support and palettes, which we're going to ignore i think. * supported META_SETDIBTODEV, im pretty sure ive got it right, its a bit tricky, and win95 appears to ignore it so its hard to be sure ive got it right, on the other hand, its probably not used at all in the real world. * documented all the supported wmf operations, and they are available in the doc subdir, or on http://www.csn.ul.ie/~caolan/docs/libwmf.html Id ask for everyone's help in reading the docs and fixing metafile operations thatyou know to be wrong, or just to fix my grammer and give better explanations than what i have etc etc. v 0.1.3 * rats, my changelog got corrupted, would you believe that linux 2.2.2 still has a bug with vfat floppies, dammit. anyhow * added viewportorg, and viewportext, fiddled with a few things that should sort out the scaling correctly in these cases, but untested, and quite possibly never to be tested in reallife. * added offset and scale opcodes, all untested. * added META_SETMAPPERFLAGS to ignore. * added simple test for being a metafile or not, reran purify over xwmf, removed a few more leaks and dodginess. * added DIBBITBLT pretty much fully, figured out the silliness involved there. * added some ROPS for DIBBITBLT, extented the stretch ones to use them. * from my investigations patched wine to fix their dashed lines > 1 & floodfill & a patch for the other varient of DibBitBlt thats equivalent to PatBlt * src offset in DIB handling. * added some SETDIBTODEVICE handling. * patched in the wine CREATEREGION code. * added PAINTREGION & INVERTREGION, must test these 3. v 0.1.2 * fixed leaks and some bugs with purify. * added META_STRETCHDIB * changed the system call to netpbm to quantize the colors after a shrink if necessary. * fixed xpm importation into gif binding. * fixed gd binding in relation to non-placeable wmf files. * fixed crash under solaris, removed all mem leaks for X, cleaned up the gd binding substationally. * added PATBLT, same top parsing i believe. * added the PALETTE operands, but ignored them all, i think thats ok. * patched in some of the wine handling for ExtTextOut for X, i.e the spacing support for that op. * X polyline color issue. * settled opaque for text, not exactly perfect in the text box. * i went to all the hassle of putting in the wine text code coz i thought rotated text would work, and it doesnt ! (no in wine either, whats gives ?) * add X support for OPAQUE and Transparent handling for pens in the area of line drawing, brushes for stippled brushes and background for text (done). * added wine ROP support to X pen and brush, maybe it worksm who knows. * placed winding in the fillcode, dont know if it works though. * added SetPixel to X and gd. * successfully converted all of the win3.1 word 6 and msworks clipart files in X mode, and they all look right, my god !, this calls for a release v 0.1.1 * forgot to set gd binding to use new polygon filling code v 0.1.0 * renamed 0.1.0, uploaded to sunsite and announced it v 0.0.9 * moved out all but one reference to X stuff to the X bindings * create function pointers for all the graphic etc calls in wmfapi and * finish making size code indenpendant of X. remove X code into Xwmf1api.c * create void pointer in CSTRUCT for userdata i.e display and drawable in X, im_out etc in gd. * make gd load the image from DIBSTRETCH as well. * seperated X and gd. * configure script to get the right AR command and to search for gd * make the gd section more modular for this setup. v 0.0.8 * changed gd color alloc to the one in the tcl gdttf. * added some ROP support to gd and X. * make Xinit and gd_init into just init. * created void pointer in CSTRUCT for userdata i.e display and drawable in X, im_out etc in gd. v 0.0.7 * INSIDE and ellipse for X and gd completed. * polypolygon for X and gd completed. * added completely arbitrary switch between 1440 / 100 units per inch when given no other clues based upon the width in metafile units. * pies, arcs and chords done for X. * figured out the equation for gd arcs. * chords, arcs and pies for gd, implemented by using a temporary image and floodfill. v 0.0.6 * seperated dib code to a libdib library. * patch for gd for polygon fill. * quick and dirty patch for gd to to import xpms. * hacked in DibBrushes for gd lib. * added ExtTextOut support to X version. * added OPAQUE for ExtTextOut to gd version. * set vertical text align done. * X round rect completed. v 0.0.5 * pen becomes solid if we're using any of the dashes, but are > 1 in width. * primitive pen width implemented in gd. * implemented insideframe for X and gd rectangles. * implemented two of the hatching styles in both X and gd. * finished hatching styles for X and gd. * added 24,8,4 and 1 bit dib to xpm handling. v 0.0.4 * lineto,moveto and clipping regions done, dc saving and restoration minimally done, windoworg and ext done. * selecting & deleting objects done. * fixed it so it wont crash on non-placeable wmf files. * added the other objects to my lists to make sure i dont loose count of the various objects. * fixed which to use, pen vs brush. * pulled down wine, and began to compare and add according to wine. * added line width to pen calls. * added line styles, join styles, and dashing to pen, i think :-) i havent tested. * ellipses back in again. * added part imple of MAPMODE * support 1 pixel wide line for drawing in gd and X, dashing done. * all pen styles done in X, except for INSIDEFRAME which doesnt mean very much to me yet. all pen styles done in gd as well, except that lines wider than 1 pixel arent supported yet :-). * using flat joining for X rectangles as well. v 0.0.3 arcs and ellipses done. v 0.0.2 found a graphics lib that i can use instead of X for drawing, so that i can do it offline. began to seperate code up so that i can plugin X code or gd code easily to do one or the other. v 0.0.1 does something, parses standard wmf files, differenciates between placeable and nonplaceable. Can extract rectangle, SetText and polygon details. With a direct hook-up to X calls can draw then too. funnily enough with polygon implemented you can basically get the outline of nearly all the wmf example that came with the old win 3.1 version of word 6 that im stuck with out here at home for christmas. TODO & THOUGHTS * compile as a standalone gtk app. * divide into 2 portions, lib and frontend hooks for draw commands. * create straight X drawing commands for it. * maybe create straight -> xfig calls for it.