2007-11-17  Peter Baker  <psb6m@virginia.edu>

	* Makefile: Corrected with patch and suggestions from Barry
	Schwartz (thanks, Barry!).

2007-11-17  Peter Baker  <psb6m@virginia.edu>

	* ttx2xgf: A new executable creates an Xgridfit file from a TTX
	file in one step.

	* xgfupdate, xgf-update.xsl, add-blanks.sed: A new executable,
	with supporting scripts, updates any Xgridfit file < version 1.0
	to version 1.0.

	* *.xsl: All container elements (<profile>, <control-values>,
	<functions>, <macros>, <declarations>, <variables>, <params>) are
	no longer necessary and are deprecated.

	* *.xsl: "id" attribute deprecated in function, macro,
	control-value, variable: use "name" instead. "function-id,"
	"macro-id," "param-id" attributes deprecated: use "name"
	instead. The change is required for function, macro and
	control-value.

	* numbers.xsl: "num" attribute for <constant> is deprecated: use
	"value" instead.

	* xgridfit-ttx, misc.xsl: TTX mode is removed. "max-instructions"
	default type is deprecated and is no longer consulted; asm element
	is no longer permitted: use convert-asm.sed script to convert to
	command elements.

	* function.xsl: "param-set" not always required in call-function
	and call-macro if there is only one set of parameters.

	* xgridfit-strict.rnc, xgridfit-transitional.rnc: xgridfit.rnc is
	removed. Now the "strict" schema requires all changes to Xgridfit
	language, while the "transitional" schema allows features that
	have been deprecated but not removed.

	* numbers.xsl, xgridfit.xsl: Variable can be assigned a default
	value via "value" attribute.

	* numbers.xsl: A bug interfered with passing variable name as
	parameter to a macro.

	* *.xsl: Switched to using key (fast indexing) to locate
	control-value, function and macro elements.

	* xgridfit.xsl: "fmflags" attribute on <outfile> passes flags to
	FontForge "Generate" command.

	* xgridfit.xsd, xgridfit.dtd: DTD and XML schemas no longer
	provided. Get Trang and make your own!

2007-10-15  Peter Baker  <psb6m@virginia.edu>

	* move-els.xsl, points.xsl, func-predef.xsl, xgridfit-ttx.xsl,
	xgridfit.xsl: Added flip-on and flip-off elements, which move
	ranges of points on and off of lines; also a new predefined
	function to make sure the parameters to the corresponding TrueType
	instructions are always in the right order.

	* points.xsl: It is now possible to pass a set, line or range to a
	macro by defining it as the child of a with-param element.

	* function.xsl: Function and macro parameters are checked for
	validity by the compiler, since the schema is a bit vague.

	* func-predef.xsl: Fixed a bug that would have kept round states
	from being correctly restored in some circumstances.

2007-09-30  Peter Baker  <psb6m@virginia.edu>

	* *.xsl: Internal cleanups and improvements: conflating templates
	that didn't have to be separate.

	* *.xsl: Implemented new set element: an arbitrary collection of
	points.

	* *.xsl: programming for range and line elements recast, so that
	they (along with set) can now be passed by name to macros as
	parameters.

	* numbers.xsl: new operator nan makes it possible to detect when
	an expression can't be resolved at compile time. Useful for
	detecting macro parameters.

	* *.doc: updated documentation to reflect these changes. Also more
	examples in reference.html.

2007-09-15  Peter Baker  <psb6m@virginia.edu>

	* numbers.xsl: Increased the number of operators evaluated at
	compile time. Includes and or not + - = != &lt; &lt;= &gt; &gt;=.

	* move-els.xsl: multiple delta, align, interpolate, shift and move
	elements are now permitted inside a move element. compile-if
	attributes are implemented for all elements permitted inside a
	move.

	* flow.xsl: a compile-if element permits conditional
	compilation. It can include an else element as the last child.

	* delta.xsl: compile-if attribute now permitted on a delta
	element.

	* functions.xsl: (from July: it somehow didn't get into the
	ChangeLog then). Implemented parameterized macros.
	
2007-01-13  Peter Baker  <psb6m@virginia.edu>

	* move-lib.xsl, graphics.xsl: Fixed a bug that would sometimes
	have prevented round states from being inherited properly when
	move elements were nested.

2007-01-13  Peter Baker  <psb6m@virginia.edu>

	* convert-asm.sed, convert-ttx.xsl: Scripts for creating a new
	Xgridfit program file from a font containing instructions
	(requires TTX).

	* deltas.xsl: It's now possible to embed delta elements in move
	elements. The first delta is executed before any shifts, aligns or
	interpolations; the second is executed after. If a delta within a
	move element lacks a point element, it operates on the point that
	is the child of the move. A delta element may be empty.

	* move-els.xsl: Move elements can now be nested: nested move
	elements take the point in the parent move as a reference point
	(if no reference/point is present), and they do not leave RP0 set
	behind them.

	* deltas.xsl: A long push before a DELTAP or DELTAC instruction
	now is broken into segments; the size of the segments can be set
	via the delta-break param or default.

	* numbers.xsl: A new index operator gets an index of (pointer to)
	a control value or variable in contexts where the value would
	normally be returned. This permits passing function parameters by
	reference rather than by value.

	* xgfdata.xml: A new variable operator treats the argument as the
	index of a variable and returns the value.

	* function.xsl: New legacy-function element contains function
	definitions inherited from a font that was converted for use with
	Xgridfit.

	* primitives.xsl: New to-stack element takes any value and places
	it on the stack: much more flexible than the push element, but it
	cannot push multiple values.

	* xgridfit.xsl, xgridfit-ttx.xsl: Corrected bug that could
	sometimes prevent setting defaults.

2006-03-16  Peter Baker  <peter@localhost.localdomain>

	* xgridfit-ttx.xsl: This file adds TTX mode, which merges compiled
	instructions into a TTX file (an XML representation of a font).

	* xgridfit-ttx: A simple script for running Xgridfit in TTX mode
	in Linux.

	* delta.xsl: Delta code cleaned up to be more portable.

	* xgridfit.xsl: Hook for delta code removed as no longer
	necessary.

	* xgridfit, xgridfit-ttx: Simple scripts revised so that file
	extensions matter less. xgridfit will handle extensions .xgf or
	.xml; xgridfit-ttx will handle .xgf, .xml or .ttx.
	
2006-03-07  Peter Baker  <psb6m@virginia.edu>

	* xgridfit.xsl: The script generated by Xgridfit now can read and
	write TrueType font files as well as FontForge source files.

	* xgridfit.xsl: profile/infile and profile/outfile added so that
	changes need not be written back to the same
	file. profile/font-file is now deprecated.

	* xgridfit.xsl: params always override corresponding entries in
	profile.

	* xgridfit.xsl: param var-max-storage is renamed max-storage. Its
	value can never be less than 24.

	* delta.xsl, xgridfit.xsl: All FontForge-specific code now in
	xgridfit.xsl

	* schemas: profile/infile and profile/outfile added.

	* xgridfit.dtd: Documentation removed from xgridfit.dtd (use
	element reference instead).
