2001-09-03 Frederic Bonnet  <fbonnet@users.sourceforge.net>
	* ChangeLog: Again, a lot of font-related changes and fixes, mostly due to the Xlib implementation.
	* src/Makefile.am: Added tkgsTkFont.(c|h).
	* src/generic/tkgsTk.h: Added ported APIs TkGSTk_GetFont and 
	TkGSTk_GetFontFromObj.
	* src/generic/tkgs.h: Changed definition of TkGS_GCAll. Temporarily 
	replaced opaque tokens by pointers to TkGS objects. 
	* src/generic/tkgsInt.h: Temporarily replaced opaque tokens by pointers 
	to TkGS objects. 
	* src/generic/tkgsFont.c: Added "newspaper" to the global font 
	fallbacks. This font family is often present on some Unixes.
	* src/generic/tkgsFont.c (TkGS_DrawCharsUni, TkGS_DrawCharsUtf, 
	TkGS_DrawCharsSys): Corrected GC value mask.
	* src/generic/tkgsFont.c (TkGSFontMapLookup, TkGSFontMapInsert):
	* src/generic/tkgsFont.h: Added TkGSFontMapInitPage.
	* src/generic/tkgsFont.c (TkGSInitFontFamily): Changed initial refCount 
	from 2 to 1, since it gets incremented by driver code afterwards.
	* src/generic/tkgsFont.c (TkGSMultiFontMeasureCharsUni, 
	TkGSMultiFontMeasureCharsUtf, TkGSMultiFontDrawCharsUni, 
	TkGSMultiFontDrawCharsUtf, TkGSFindSubFontForChar, FontCanUseProc, 
	CanUseFallbackWithAliases): 
	* src/generic/tkgsFont.h (TkGSFreeSubFontProc, TkGSFindSubFontForChar, 
	TkGSSetDrawableSubFont): 
	* src/generic/tkgsDriver.h: Replaced TkGSSubFont by TkGSSubFontId. 
	TkGSSubFont pointers became invalid when subfont arrays were realloced. 
	Now use integer indices instead. Added related TkGSGetSubFont internal 
	API and driver getSubFont member.
	* src/drivers/canvas/tkgsCanvas.c (CanvasTkGS_DrawCharsUtf): Improved 
	font output.
	* src/drivers/win32/Makefile.am: Added tkgsWinInt.h, 
	tkgsWinDrawable.(c|h), tkgsWinColor.(c|h), tkgsWinFont.(c|h).
	* src/drivers/win32/tkgsWinFont.h: Replaced TkGSSubFont by 
	TkGSSubFontId. Added related accessor macros.
	* src/drivers/win32/tkgsWinDrawable.c: Removed useless forward 
	declaration of SetWinColorFromAny.
	* src/drivers/win32/tkgsWinDrawable.h: Changed TkGSSubFont to 
	TkGSSubFontId.
	* src/drivers/win32/tkgsWin.c (WinTkGSUpdateDrawableState): Corrected 
	bug with GC value mask.
	* src/drivers/win32/tkgsWin.c (WinTkGSInit):
	* src/drivers/win32/tkgsWinInt.h:
	* src/drivers/win32/tkgsWinFont.c (WinTkGSInitFontPackage): Moved font 
	package initialization from WinTkGSInit to WinTkGSInitFontPackage.
	* src/drivers/win32/tkgsWin.c (WinTkGSInit):
	* src/drivers/win32/tkgsWinInt.h:
	* src/drivers/win32/tkgsWinFont.c (AllocFontFamily, 
	WinTkGSCanUseFallback): Replaced face name UIDs by hash tables, and 
	reworked related functions WinTkGSGetFaceNameUid(Uni|Sys).
	* src/drivers/win32/tkgsWinFont.c (InitFont, WinTkGSCanUseFallback, 
	WinTkGSSetDrawableSubFont, WinTkGSDefaultSubFont, WinTkGSCanUseFont): 
	Changed TkGSSubFont to TkGSSubFontId and reworked several functions 
	accordingly.
	* src/drivers/win32/tkgsWinFont.c (WinTkGS_GetWinFontFromFont, 
	CreateClosestFont, GetDrawableSubFont): Added functions 
	CreateClosestFont and GetDrawableSubFont.
	* src/drivers/win32/tkgsWinFont.c (FreeWinSubFont): Added font 
	parameter.
	* src/drivers/win32/tkgsWinFont.c (WinTkGS_MeasureCharsUni, 
	WinTkGS_DrawCharsUni, WinTkGS_DrawCharsUtf, WinTkGS_TextWidthSys, 
	WinTkGS_DrawCharsSys): Removed useless code.
	* src/drivers/win32/tkgsWinFont.c (WinTkGSFontMapLoadPage): Removed 
	memory initialization (now in core).
	* src/drivers/xlib/Makefile.am:
	* src/drivers/xlib/tkgsXlib.c:
	* src/drivers/xlib/tkgsXlibColor.c:
	* src/drivers/xlib/tkgsXlibColor.h:
	* src/drivers/xlib/tkgsXlibDrawable.c:
	* src/drivers/xlib/tkgsXlibDrawable.h:
	* src/drivers/xlib/tkgsXlibFont.c:
	* src/drivers/xlib/tkgsXlibFont.h:
	* src/drivers/xlib/tkgsXlibInt.h: Splitted code into several files, 
	following the same model as the xlib driver. Implemented font support.
	* demos/tkgsSquare.c: Only access borders and font through Tcl_Obj APIs.

2001-03-08  Frederic Bonnet  <fredericbonnet@free.fr>
	* ChangeLog: The new font mechanism introduced a huge number
	of changes. Unfortunately the code could not be released until 
	all these changes were applied as too much things were broken.
	* src/generic/tkgsInit.c (unicodeEncoding, Tkgs_Init): Added
	Unicode encoding caching.
	* src/generic/tkgsDriver.h (TkGS_DeviceDriver): Added private
	primitives for the new multi-font Unicode system:
	isUnicodeMultiFont, setDrawableSubFont, fontMapLoadPage, 
	canUseFont, canUseFallback, defaultSubFont, 
	subFontMeasureCharsUni, subFontTextWidthUni, 
	subFontDrawCharsUni, subFontMeasureCharsUtf, subFontTextWidthUtf,
	subFontDrawCharsUtf. Added private primitive access procs:
	TkGSSetDrawableSubFontProc, TkGSFontMapLoadPageProc, 
	TkGSCanUseFontProc, TkGSCanUseFallbackProc, TkGSDefaultSubFontProc.
	* src/generic/tkgsFont.h: 
	* src/generic/tkgsFont.c: Complete rewrite. There are so many
	changes it would be useless to detail them all. Basically, the
	current Tk font mechanism has been added in a wholly reorganized
	form. Generic parts belong to the TkGS core (this file). 
	System-specific parts belong to drivers and are accessed through
	the above mentioned primitives. Key procs include
	TkGSMultiFontMeasureChars and TkGSMultiFontDrawChars that are
	provided as helpers for drivers implementing non-native Unicode 
	font handling. See the Win32 driver as an example. Similar
	helper structures are defined.
	* src/generic/tkgsInt.h: Added definitions for the above font 
	handling-related private opaque tokens.
	* src/generic/tkgs.h: Added TkGS_UniChar type (mapped to
	Tcl_UniChar). Changed definition of TkGS_StringUni accordingly.
	* src/generic/tkgs.h (TkGS_FontMetrics): Made clearer comments.
	Removed linespace (this is the same as ascent+descent) and added 
	other fields (fixed, tabWidth, underlinePos and underlineHeight) 
	that used to belong to TkFont. Since their value is 
	drawable-specific, they really are font metrics and not generic 
	attributes.
	* src/generic/tkgs.h (TkGS_FontAttributes): Changed bitfield types
	from int to unsigned int.
	* src/generic/tkgs.h: Made opaque tokens transparent in build
	mode.
	* src/generic/tkgs.h (TKGS_FS_OBLIQUE): Removed comment about
	XLFD parsing.
	* src/generic/tkgs.h (TkGS_FontFamily, TkGS_FontAttributes,
	TkGS_GetFontFamily, TkGS_GetFontFamilyMult, TkGS_FreeFontFamily): 
	* src/generic/tkgs.c (TkGS_GetFontFamily, TkGS_GetFontFamilyMult, 
	TkGS_FreeFontFamily): Renamed TkGS_FontFamily to TkGS_FontFaces,
	and ditto for relative procs and structures.
	* src/generic/tkgs.h (TkGS_GetNbFontFaces, TkGS_GetFontFaceName): 
	* src/generic/tkgs.c (TkGS_GetNbFontFaces, TkGS_GetFontFaceName): 
	Added procs for accessing multiple font faces.
	* src/generic/tkgs.c (TkGS_GetFont): Renamed argument attributesPtr
	to faPtr.
	* src/generic/tkgs.h (TkGS_GetFontAttributes):
	* src/generic/tkgs.c (TkGS_GetFontAttributes): Renamed argument 
	attributesPtr to faPtr. Implemented proc.
	accessing font attributes.
	* src/generic/tkgs.h (TkGS_GetFontMetrics): Removed proc 
	definition. Replaced by primitive call.
	* src/generic/tkgsDriver.h (TkGS_GetFontMetricsProc, 
	TkGS_GetActualFontAttributesProc, TkGS_FontFamilyExistsProc,
	TkGS_DeviceDriver): Added new primitives.
	* src/generic/tkgsDriver.h (TkGSUpdateDrawableState):
	* src/generic/tkgs.h (TKGS_CALLPRIMITIVE): Replaced call to 
	TKGS_GETDEVICEMEMBER for updateDrawableState with call to
	TkGSUpdateDrawableState. Added macro definition for 
	TkGSUpdateDrawableState.
	* src/generic/tkgsDriver.h (TkGS_EnumerateFontFamiliesProc):
	* src/generic/tkgs.h (TkGS_EnumerateFontFamilies): Added
	name argument for enumerating selected fonts.
	* src/generic/tkgs.h (TkGS_GetActualFontAttributes, 
	TkGS_FontFamilyExists): Added primitives.
	* src/generic/tkgsDriver.h (TkGS_TextWidthUniProc,
	TkGS_TextWidthUtfProc, TkGS_TextWidthSysProc, TkGS_DeviceDriver):
	* src/generic/tkgs.h: Added TkGS_TextWidth primitive and 
	(Uni|Utf|Sys) versions. 
	* src/generic/tkgsDriver.h (TkGS_FontFamiliesEnumProc):
	Added TkGS_Drawable d argument. Removed length argument, as
	the passed strings are NULL-terminated UTF-8 strings.
	* src/generic/tkgsDriver.h (TkGS_MeasureCharsUniProc,
	TkGS_MeasureCharsUtfProc, TkGS_MeasureCharsSysProc):
	* src/generic/tkgs.h (TkGS_MeasureCharsUni, TkGS_MeasureCharsUtf,
	TkGS_MeasureCharsSys): Removed font
	argument. These primitives will use the current drawable font.
	* src/generic/tkgsDriver.h (TkGS_DrawCharsUniProc, 
	TkGS_DrawCharsUtfProc; TkGS_DrawCharsSysProc):
	* src/generic/tkgs.h (TkGS_DrawCharsUni, TkGS_DrawCharsUtf,
	TkGS_DrawCharsSys): Added widthPtr argument for optionally 
	returning the width of drawn string.
	* src/generic/tkgsDriver.h:
	* src/generic/tkgs.h: Replaced const by CONST in text primitives.
	* src/generic/tkgs.c (TkGS_SetDrawableFont): Added test before
	decrementing an object's refcount.
	* demos/tkgsSquare.c (Tkgs_square_Init, 
	EnumerateFontFamiliesObjCmd): Suppressed tkgs::fontfamilies
	Tcl object command.
	* src/generic/tkgsDriver.h (TkGS_UpdateDrawableStateProc,
	TkGS_DeviceDriver): Renamed TkGS_UpdateDrawableStateProc to 
	TkGSUpdateDrawableStateProc as it is a private primitive.
	* src/generic/tkgsObj.c (TkGS_PushInternalRep): Fixed bug with
	TkGS_Obj holding multiple int reps (i++ instead of i-- in
	backward loop).
	* src/generic/tkgsInit.c (Tkgs_Init): 
	* src/generic/tkgsTk.c (TkGSTkInit): Added call to the Tk port
	initialization (TkGSTkInit).
	* src/generic/tkgsTkFont.h:
	* src/generic/tkgsTkFont.c:
	* src/generic/tkgsTkInt.h: New files. Ported old Tk code from
	tkFont.(c|h) to use TkGS instead.
	* src/generic/tkgsTk.c (TkGSTkInit):
	* src/generic/tkgsTkFont.c (TkGSTk_FontObjCmd): Created 
	TkGS-specific version of Tk object command "font", named 
	"tkgs::font".
	* src/generic/tkgsTk3d.c (borderObjType): Renamed obj type name
	from "border" to "tkgsBorder" to avoid conflicts.
	* src/win/tkgsTk.h: Included <tk.h>. Added some more ported stuff
	(font- and border-relative).
	* src/win/tkgsTkWin3d.c:
	* src/win/tkgsWinInit.c: Included <tkWinInt.h>.
	* src/drivers/win32/tkgsWin.c:
	* src/drivers/win32/tkgsWinInt.h:
	* src/drivers/win32/tkgsWinDrawable.h:
	* src/drivers/win32/tkgsWinDrawable.c:
	* src/drivers/win32/tkgsWinColor.h:
	* src/drivers/win32/tkgsWinColor.c:
	* src/drivers/win32/tkgsWinFont.h:
	* src/drivers/win32/tkgsWinFont.c: Created new files, and moved stuff
	from tkgsWin.c. Implemented a working multi-font system. Lots of other
	minor changes.
	* src/drivers/win32/tkgsWin.h: Included <tkWinInt.h>.
	* src/drivers/xlib/tkgsXlib.c:
	* src/drivers/ps/tkgsPS.c:
	* src/drivers/canvas/tkgsCanvas.c: Reflected all the above changes.
	* demos/tkgsSquare.c (Square, configSpecs, SquareObjCmd, 
	SquareConfigure, SquareTkGSDraw): Added -font option for square
	widget. Updated drawing code.

2001-01-14  Frederic Bonnet  <fredericbonnet@free.fr>

	* src/drivers/xlib/tkgsXlib.c (FreeXlibDrawableIntRep): Fixed
	bug that occured when freeing drawables with uninitialized GC.
	* src/drivers/xlib/tkgsXlib.c (XlibTkGS_GetXColorFromColor,
	XlibTkGS_GetColorGCFromColor): Fixed BadDrawable errors
	(reported by Mo).
	* src/drivers/xlib/tkgsXlib.c (XlibTkGS_EnumerateFontFamilies):
	Fixed bug in font family name enumeration. The string length
	was incorrectly computed.

2000-11-11  Mo DeJong  <mdejong@redhat.com>

	* src/Makefile.am:
	* src/drivers/ps/Makefile.am: Update build
	process to account for new files.
	* src/drivers/xlib/tkgsXlib.c: Include
	string.h to fix compiler error.

2000-10-19  Frederic Bonnet  <fredericbonnet@free.fr>
	* src/drivers/xlib/tkgsXlib.c (XlibTkGS_GetXColorFromColor,
	XlibTkGS_GetColorGCFromColor): Replaced old RGB accessor calls
	by TkGS_GetRGBColorValues.
	* src/unix/tkgsUnixInit.c: Added missing
	TkGSpGetSystemColorRGBValues.

2000-10-18  Frederic Bonnet  <fredericbonnet@free.fr>
	* ChangeLog: Corrected bad driver paths in entries (eg
	src/drivers/tkgsWin.c to src/drivers/win32tkgsWin.c). Yeah, I
	know it's bad to make changes a posteriori to the ChangeLog, but
	it's unfortunately the only way I know to correct this error.
	Sorry.
	* src/drivers/win32/tkgsWin.c (WinDeviceDriver):
	* src/drivers/xlib/tkgsXlib.c (XlibDeviceDriver):
	* src/drivers/canvas/tkgsCanvas.c (CanvasDeviceDriver):
	* src/drivers/ps/tkgsPS.c (PSDeviceDriver): Added and
	implemented fillRectangle and fillRectangles.
	* src/generic/tkgs.c:
	* src/generic/tkgsDriver.h (TkGS_DeviceDriver):  Added
	TkGS_FillRectangle, TkGS_FillRectangles and friends.
	* src/drivers/win32/tkgsWin.c (WinTkGS_GetPenFromDrawable,
	WinTkGS_GetPenFromColor, WinTkGS_GetBrushFromColor,
	WinTkGS_GetColorrefFromColor):
	* src/drivers/canvas/tkgsCanvas.c (CanvasTkGS_DrawRectangle,
	CanvasTkGS_DrawEllipse, CanvasTkGS_DrawCharsUtf):
	* src/drivers/ps/tkgsPS.c (PSTkGS_UpdateDrawableState): Replaced
	direct access to color RGB values with call to
	TkGS_GetRGBColorValues. Colors are no longer guaranteed to hold
	these values (eg system or CMYK colors).
	* src/drivers/ps/tkgsPS.c: Moved PostScript prolog to
	"prolog.h".
	* src/drivers/ps/prolog.h: New file.
	* src/drivers/win32/tkgsWin.c (WinTkGS_GetColorrefFromColor,
	WinTkGS_UpdateDrawableState):
	* src/drivers/win32/tkgsWin.h: Removed the unused interp
	argument.
	* src/generic/tkgs.c: Added high-level functions for the
	new color handling, taking into account other formats than RGB.
	Added TkGS_GetColorType, TkGS_GetSystemColor,
	TkGS_GetSystemColorValue, TkGS_GetRGBColorValues.
	* src/generic/tkgs.h: Defined the new color handling constants
	and functions.
	* src/generic/tkgs.c (TkGS_GetRGBColor): Replaced TkGSNewColor
	calls with TkGSNewRGBColor.
	* src/generic/tkgsColor.h:
	* src/generic/tkgsColor.c: Added and modified low-level
	functions and accessors for the new color handling:
	TkGSNewSystemColor, TkGSNewRGBColor, TkGSColor_Type,
	TkGSColor_SystemColor, TkGSColor_RGB. Removed TkGSColor_R,
	TkGSColor_G, TkGSColor_B, TkGSNewColor.
	* src/generic/tkgsColor.h (TkGS_Color_):
	* src/generic/tkgsColor.c (DupColor): Modified for the new color
	handling.
	* src/generic/tkgsInt.h: Defined TkGSpGetSystemColorRGBValues.
	* src/generic/tkgs.c (TkGS_SetGCValues): Corrected typo: font
	instead of values->font.
	* src/unix/tkgsUnixInit.c (TkGSpInit): Removed unused result
	local variable.
	* src/win/tkgsWinInit.c: Added TkGSpGetSystemColorRGBValues.
	* src/drivers/ps/tkgsPS.c (PSTkGS_DrawRectangles,
	PSTkGS_DrawEllipses): Removed useless calls to
	DECLAREDRAWINGVARS.
	* src/drivers/canvas/tkgsCanvas.c (CanvasTkGS_DrawRectangles,
	CanvasTkGS_DrawEllipses):
	* src/drivers/ps/tkgsPS.c (PSTkGS_DrawRectangles,
	PSTkGS_DrawEllipses):
	* src/drivers/win32/tkgsWin.c (WinTkGS_DrawRectangles,
	WinTkGS_DrawEllipses):
	* src/drivers/xlib/tkgsXlib.c (XlibTkGS_DrawRectangles,
	XlibTkGS_DrawEllipses):
	* src/generic/tkgs.h (TkGS_DrawRectangles, TkGS_DrawEllipses): 
	* src/generic/tkgsDriver.h ((TkGS_DrawRectanglesProc,
	TkGS_DrawEllipsesProc): Swapped nb(Rectangles|Ellipses) and
	(rectangles|ellipses) parameters so that they match the Xlib
	version. This makes the porting easier.
	* src/generic/tkgsTk.c:
	* src/generic/tkgsTk.h:
	* src/generic/tkgsTk3d.c:
	* src/generic/tkgsTk3d.h:
	* src/unix/tkgsTkUnix3d.c:
	* src/win/tkgsTkWin3d.c: New files. Ported some of Tk code,
	including border management, from Xlib to TkGS. Now we have a
	totally cross-platform border and system color management.
	* demos/tkgsSquare.c (Square, SquareObjCmd, SquareConfigure, 
	SquareTkGSDraw): Replaced background and foreground colors by
	borders.


2000-09-15  Frederic Bonnet  <fredericbonnet@free.fr>
	* src/generic/tkgs.c (TkGS_GetGCValues, TkGS_SetGCValues):
	Added font support.


2000-09-07  Frederic Bonnet  <fredericbonnet@free.fr>
	* demos/tkgsSquare.c: Rewrote the whole stuff from Tk8.3's
	tkSquare.c instead of Tk8.0's. Replaced the old configuration
	management (Tk_ConfigSpec's) by the new one (Tk_OptionSpec's).
	Wrote new tkgsColor object type and the associated
	TkGS_GetColorFromObj conversion proc.
	* src/generic/tkgs.h: Replaced tkgsDriver.h by tkgsInt.h and
	wrapped the inclusion with proper TCL_STORAGE_CLASS defs.

2000-09-04  Frederic Bonnet  <fredericbonnet@free.fr>
	* src/drivers/win32/tkgsWin.c (WinDeviceDriver):
	* src/drivers/xlib/tkgsXlib.c (XlibDeviceDriver):
	* src/drivers/canvas/tkgsCanvas.c (CanvasDeviceDriver):
	* src/drivers/ps/tkgsPS.c (PSDeviceDriver): Added and
	implemented enumerateFontFamilies in drivers (untested
	except for Windows-9x version).
	* src/demos/tkgsSquare.c (Tkgs_square_Init, 
	EnumerateFontFamiliesObjCmd): Added tkgs::fontfamilies Tcl
	command. This should give the same result as [font families].
	* src/drivers/win32/tkgsWin.c (WinTkGSInit): Added 
	system-specific (ie NT/9x) initialization.
	* src/generic/tkgsDriver.h (TkGS_FontFamiliesEnumProc):
	Changed return type from void to int to allow loop break
	or continuation.
	* src/generic/tkgsDriver.h (TkGS_EnumerateFontFamiliesProc):
	Renamed drawable parameter to d.
	* src/generic/tkgs.h (TkGS_EnumerateFontFamilies): Changed
	TKGS_GETDEVICEMEMBER to TKGS_CALLPRIMITIVE in order for the
	update proc to be called.

2000-08-31  Frederic Bonnet  <fredericbonnet@free.fr>

	* src/drivers/ps.c (PSTkGS_GetDrawable, PSDrawable_Append): 
	* src/drivers/ps.h (PSDrawableCreateData): 
	* src/drivers/canvas.c (CanvasTkGS_GetDrawable, 
	CanvasDrawable_Append): 
	* src/drivers/canvas.h (CanvasDrawableCreateData): Replaced 
	plain string-based mechanism by a callback mechanism.
	* demos/tkgsSquare.c (SquarePostScript, SquareCanvasScript,
	InterpAppendResult): Reflected the above changes. Added the
	InterpAppendResult callback function.
	* src/drivers/canvas.c (CanvasTkGS_DrawCharsUtf): Added cast
	from (const char *) to (char *)
	* src/generic/tkgs.h: Added TkGS_EnumerateFontFamilies for font
	family enumeration on a	given drawable.
	* src/drivers/win32/tkgsWin.c (WinDeviceDriver):
	* src/drivers/xlib/tkgsXlib.c (XlibDeviceDriver):
	* src/drivers/canvas/tkgsCanvas.c (CanvasDeviceDriver):
	* src/drivers/ps/tkgsPS.c (PSDeviceDriver):
	* src/generic/tkgsDevice.h (TkGS_DeviceDriver): Added
	enumerateFontFamilies member.
	* docs/GCs.html:
	* src/generic/tkgs.c:
	* src/generic/tkgs.h: Added TkGS_SetDrawableFont and 
	TkGS_GetDrawableFont drawable attribute accessors. Renamed old
	TkGS_Get<attribute> to TkGS_GetDrawable<attribute> accessors
	to avoid name clash with creation procs such as Tk_GetFont.
	* src/demos/tkgsSquare.c (SquareTkGSDraw): Replaced
	TkGS_SetForeground by TkGS_SetDrawableForeground to reflect the
	above change.
	* src/generic/tkgs.h: Added TkGS_GetFontAttributes and
	TkGS_GetFontMetrics.
	* docs/porting.html: Removed the useless gc variable from the Tk
	porting example code.
	* src/generic/tkgsDrawable.c (FreeDrawable): changed incorrect
	TkGS_FreeColor to TkGS_FreeFont.
	* src/generic/tkgs.h (TkGS_FontAttributes): changed ints to bit
	fields.

2000-08-18  Frederic Bonnet  <fredericbonnet@free.fr>

	* src/generic/tkgs.c:
	* src/generic/tkgs.h: Replaced drawable with d as the name of 
	the TkGS_Drawable argument in line & shape drawing primitives.
	* src/generic/tkgs.c:
	* src/generic/tkgs.h (TkGS_GetFontFamily, 
	TkGS_GetFontFamilyMult, TkGS_FreeFontFamily, TkGS_GetFont, 
	TkGS_FreeFont): Added font and text handling procedures.
	* src/generic/tkgs.c:
	* src/generic/tkgsDriver.h:
	* src/generic/tkgs.h (TkGS_MeasureChars, TkGS_DrawChars, 
	TkGS_UnderlineChars): Added text drawing primitives in both 
	generic and specific versions. Updated driver descriptor.
	* src/generic/tkgs.h (TkGS_GCValues, TkGS_GCAll): Added font
	attribute and its associated mask.
	* src/generic/tkgsDrawable.c (FreeDrawable, TkGSNewDrawable):
	Added font handling for the new attribute.
	* src/generic/tkgsFont.c: 
	* src/generic/tkgsFont.h: Implemented and added font handling
	procs.
	* src/drivers/canvas/tkgsCanvas.c (CanvasDeviceDriver, 
	CanvasTkGS_DrawCharsUtf): Added UTF-8 text drawing proc. Updated 
	driver descriptor.
	* src/drivers/ps/tkgsPS.c (PSDeviceDriver): Updated driver
	descriptor.
	* src/drivers/ps/tkgsPS.c (PSTkGS_UpdateDrawableState): Added
	room for font handling.
	* src/drivers/win32/tkgsWin.c (WinDeviceDriver,
	WinTkGS_DrawCharsSys): Added system-specific text drawing proc.
	Updated driver descriptor.
	* src/drivers/win32/tkgsWin.h:
	* src/drivers/win32/tkgsWin.c (WinTkGS_GetColorrefFromColor):
	Added TkGS_Color to COLORREF conversion procedure.
	* src/drivers/win32/tkgsWin.c (WinTkGS_UpdateDrawableState):
	Added font handling.
	* src/drivers/xlib/tkgsXlib.c: (XlibDeviceDriver,
	XlibTkGS_DrawCharsSys): Added system-specific text drawing proc.
	Updated driver descriptor.
	* src/drivers/xlib/tkgsXlib.c (XlibTkGS_UpdateDrawableState): 
	Added room for font handling.
	* demos/tkgsSquare.c (SquareTkGSDraw): Added code to test the
	new text & font features. It draws Unicode, UTF-8 and system
	strings on top of the widget.
	* docs/FAQs.html: Updated progress FAQ.
	* docs/contribute.html: Added paragraph on Mo's and Ajuba's 
	contributions.
	* docs/index.html: Added sections headers on fonts and text.
	* docs/intGCs.html: Fixed typo in HTML keywords.
	* docs/mailinglist.html: Added hyperlinks.
	* doc/primitives.html:  Replaced drawable with d as the name of
	the TkGS_Drawable argument in line & shape drawing primitives.
	* docs/textdrawing.html:
	* docs/intfonts.html:
	* docs/fonts.html: Added specs for fonts & text handling.
	* docs/changes.html: Listed doc changes.

2000-08-07  Mo DeJong  <mdejong@redhat.com>

	* src/Makefile.am: Add tkgsDriver.c
	* src/generic/tkgsDriver.c: Make
	driverTable static.

2000-08-07  Frederic Bonnet  <fredericbonnet@free.fr>

	* src/generic/tkgs.h:
	* src/generic/tkgsDriver.h:
	* src/generic/tkgsInit.c:
	* src/generic/tkgsInt.h:
	* src/generic/tkgs.c: 
	* src/unix/tkgsUnixInit.c: 
	* src/win/tkgsWinInit.c: 
	* src/driver/canvas/tkgsCanvas.c:
	* src/driver/canvas/tkgsCanvas.h: 
	* src/driver/ps/tkgsPS.c:
	* src/driver/ps/tkgsPS.h: 
	* src/driver/win32/tkgsWin.c: 
	* src/driver/win32/tkgsWin.h: 
	* src/driver/xlib/tkgsXlib.c: 
	* src/driver/xlib/tkgsXlib.h (CanvasTkGS_GetDevice):
	removed device retrieval procedures. Replaced with
	more generic query by device name.Added extra BUILD_xxx stuff.
	* src/generic/tkgsDriver.c (TkGS_RegisterDeviceDriver):
	New file, added driver registration mechanism.

2000-07-25  Mo DeJong  <mdejong@redhat.com>

	* configure.in: Don't use libtool. Add ranlib tool check.
	pass -DUSE_TCL_STUBS and -DUSE_TK_STUBS. Rename
	LIBTKGS_LDFLAGS to LIBTKGS_LIBADD.
	* demos/Makefile.am:
	* src/Makefile.am: Don't use libtool, build both shared
	and static libraries with .a rule and the -shared flag.
	* src/drivers/canvas/Makefile.am: 
	* src/drivers/ps/Makefile.am:
	* src/drivers/win32/Makefile.am:
	* src/drivers/xlib/Makefile.am: Don't use libtool, just
	build a static library for each driver.

2000-07-25  Mo DeJong  <mdejong@redhat.com>

	* docs/FAQs.html:
	* docs/GCs.html:
	* docs/changes.html:
	* docs/colors.html:
	* docs/contribute.html:
	* docs/devices.html:
	* docs/drawables.html:
	* docs/index.html:
	* docs/intGCs.html:
	* docs/intcolors.html:
	* docs/intdevices.html:
	* docs/intdrawables.html:
	* docs/objs.html:
	* docs/primitives.html: Replace .htm with .html to match
	the file names in the CVS.

2000-07-22  Mo DeJong  <mdejong@redhat.com>

	* configure.in: Add tk/win subdir the include path.
	* ltcf-gcj.sh: Removed unused file.
	* ltconfig: Add some private hacks so that libtool
	actually gets run on .a files.
	* ltmain.sh: Add some private hacks so that .a file
	are not dropped from the link line.
	* src/Makefile.am: Reorder declarations. Use CFLAGS
	instead of lib CFLAGS because of automake bug.
	* src/drivers/canvas/Makefile.am:
	* src/drivers/ps/Makefile.am:
	* src/drivers/win32/Makefile.am: Use static build flags.
	* src/drivers/win32/tkgsWin.h: Include tkWinInt.h
	so that we can use a macro defined in it.
	* src/drivers/xlib/Makefile.am: Use static build flags.
	* src/win/tkgsWinInit.c: Add comment about import flag.

2000-07-21  Mo DeJong  <mdejong@redhat.com>

	* configure.in: Remove unneeded backslashes.
	Use CC_FOR_BUILD not HOST_CC. Use Tcl stubs
	and link to stub libs. Pass LDFLAGS arguments
	that are needed for stub libs and building of
	dlls under Windows.
	* src/Makefile.am: Use LIBTKGS_LDFLAGS passed
	in from configure. Remove unused header stuff.

2000-07-08  Mo DeJong  <mdejong@redhat.com>

	* README.txt: Updated build instructions.
	* configure.in: Use AM_MAINTAINER_MODE, add
	check to make sure build is not in cygwin mode.
	Add env var export code so that libtool works
	when doing a cross compile. Move AC_LIBTOOL_WIN32_DLL
	before AC_PROG_LIBTOOL. Don't check for headers
	we will never use. Don't check for string, libtool
	already does that. Fully qualify srcdir so that it
	works when build in src dir. Add FIXME notes.
	* src/drivers/canvas/tkgsCanvas.c:
	* src/drivers/canvas/tkgsCanvas.h:
	* src/drivers/ps/tkgsPS.c:
	* src/drivers/ps/tkgsPS.h:
	* tkgs/src/drivers/win32/tkgsWin.c:
	* src/drivers/win32/tkgsWin.h:
	* tkgs/src/drivers/xlib/tkgsXlib.c:
	* src/drivers/xlib/tkgsXlib.h: Make driver
	functions static since that are not exported,
	this fixes a compiler error under mingw.
	* src/win/tkgsWinInit.c: Remove #include for
	tkWinInt.h, the file does not exist.

2000-06-20  Mo DeJong  <mdejong@redhat.com>

	Major overhaul of directory layout. The
	new layout is as follows:

	demos
	src
	src/generic
	src/unix
	src/win
	src/drivers
	src/drivers/win32
	src/drivers/xlib
	src/drivers/canvas
	src/drivers/ps
	docs

2000-06-05  Mo DeJong  <mdejong@redhat.com>

	* ChangeLog:
	* Makefile.am:
	* Makefile.in: Added to support autoconf build system.
	* README.txt: Added notes about building under Unix.
	* acinclude.m4:
	* aclocal.m4:
	* autogen.sh:
	* config.guess:
	* config.h.in:
	* config.sub:
	* configure:
	* configure.in:
	* install-sh:
	* ltconfig:
	* ltmain.sh:
	* missing:
	* mkinstalldirs: Added to support autoconf build system.
	* tkgsCanvas.c: Fixed up compiler warnings.
	* tkgsDrawable.c: Fixed up compiler warnings.
	* tkgsPS.c: Fixed up compiler warnings.
