2021-07-18  Werner Lemberg  <wl@gnu.org>

	* Version 2.11.0 released.
	==========================


	Tag sources with `VER-2-11-0.

	* README: Updated.
	* meson.build: Updated.
	* man/*.1: Updated.

2021-07-18  Werner Lemberg  <wl@gnu.org>

	* Makefile (dist): Ignore `subprojects/freetype2`.

2021-07-18  Werner Lemberg  <wl@gnu.org>

	[ftsdf] Add man page, other minor improvement.

	* man/ftsdf.1: New file.
	* src/fdsdf.c (usage): Resolution can't be changed currently.

2021-07-17  Werner Lemberg  <wl@gnu.org>

	Remove code related to warping.

	This synchronizes the demo programs with commit 2f11522a from the
	FreeType repository.

	* src/ftcommon.c (FTDemo_Hinting_Engine_Change, FTDemo_Get_Info):
	Updated.

	* src/ftdiff.c (ColumnStateRec, render_state_init,
	render_state_draw, event_help, process_event): Updated.

	* src/ftgrid.c (event_help): Updated.

	* src/ftinspect/engine/engine.cpp (Engine::Engine, Engine::update),
	src/ftinspect/engine/engine.hpp (Engine): Updated.
	* src/ftinspect/maingui.cpp (MainGUI::checkHinting,
	MainGUI::checkAutoHinting, MainGUI::createLayout),
	src/ftinspect/maingui.hpp (MainGUI): Updated.

2021-07-01  Werner Lemberg  <wl@gnu.org>

	* src/ftlint.c (main): Minor output improvement.

2021-07-01  Werner Lemberg  <wl@gnu.org>

	* meson.build: Fix version string.

2021-07-01  Werner Lemberg  <wl@gnu.org>

	* subprojects/freetype2.wrap (revision): s/head/HEAD/.

2021-06-30  Werner Lemberg  <wl@gnu.org>

	[ftlint] Improve output.

	* src/ftlint.c (main): Add header to output and remove repetitive
	strings.
	(Analyze): Updated.

2021-06-22  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftlint] Improve error reporting.

	* src/ftlint.c (main): Decorate error messages.
	(Error): Take a prefix message argumemt.

2021-06-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftlint.c (main): Use `ft_basename'.

2021-06-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftlint] Improve error handling.

	* src/ftlint.c (main): Never panic, call `Error', and proceed.
	(Error): Desipher and print an error message instead of...
	(Panic): ...removed.

2021-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftlint.c (main): Fix signed/unsigned mismatch.

2021-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftlint.c (main): Fortify custom indexing.

2021-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftlint.c (main, Analyze): Fix signed/unsigned mismatch.

2021-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftlint] Handle font collections.

	* src/ftlint.c (main): Increment face_index when possible.

2021-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftlint] Introduce quiet mode, remove extension guessing.

	With so many supported font formats, it does not make sense to guess
	the `ttf' or `ttc' extensions.

	* src/ftlint.c (main): Add `-q' option and improve output formatting;
	remove extension guessing.
	(Usage): Document it.

2021-06-15  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (Print_Glyfs, Print_Programs): Handle empty glyphs.

2021-06-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftlint] Report integral X- and Y-acutance.

	Acutance is a measure of how quickly the intensity changes between
	the minimum and maximum value at the edges.  We calculate is as a
	ratio of the integrals for the absolute second derivative and the
	absolute first derivative.  It equals to 2.0 for bitmap fonts and
	approaches this value for well-hinted fonts.

	* src/ftlint.c (Analyze): Implement it.
	(main): Use it.

2021-06-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftlint.c (main): Report bitmap size, improve output formatting.
	(Checksum): Updated.

2021-06-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftlint.c (main): Implement limited indexing.
	(Usage): Document it.

2021-06-13  Sarthak Bhardwaj  <1sarthakbhardwaj@gmail.com>
            Anurag Thakur  <devanuragthakur@gmail.com>

	[ftlint] Render and calculate MD5 checksum.

	* src/ftlint.c (main): Handle the load flags and the render mode from
	the command line.
	(Checksum): Calculate MD5 sum.
	* src/md5.c, src/md5.h: MD5 source code.
	* Makefile, messon.build: Update the build systems.

2021-06-06  Anuj Verma  <anujv@iitbhilai.ac.in>

	[ftsdf] Synchronize with the change made in the `sdf` renderer.

	* src/ftsdf.c (draw): Change logic to utilize 8bit SDF instead of 16.

2021-06-04  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/gblender.c (gblender_dump_stats): Fix the lookup rate.

2021-06-02  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grdevice.c (grDoneSurface) [GBLENDER_STATS]: Report stats.
	* graph/gblender.c (gblender_dump_stats): Improve formatting.

2021-05-29  Werner Lemberg  <wl@gnu.org>

	Fix compilation errors and (some) warnings for clang++.

	* graph/gblblit.c (GRGB5[56]5_TO_{RED,GREEN,BLUE}): Add casts.
	(GDST_STOREP): Use `while {} (0)`.
	* graph/gblender.h (GBLENDER_LOOKUP, GBLENDER_LOOKUP_[GBR]): Use
	`while {} (0)`.
	(GBLENDER_CLOSE, GBLENDER_CHANNEL_CLOSE): Remove final semicolon.
	* graph/grblit.c (compose_pixel_full): Use `while {} (0)`.
	(extract5[56]5): Remove final semicolon.
	(blit_gray8_to_24): Fix typo.
	* graph/grfont.c (font): Make it static.

	* src/ftcommon.c (FTDemo_Icon): Don't use obfuscating comma
	operator.
	* src/ftsdf.c (main): Move definition of `flip_y` before `goto`
	instructions.

2021-05-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/win32] Fix double-dealing of some keystrokes.

	* graph/grwin32.c (gr_win32_surface_listen_event): Deprioritize
	`TranslateMessage' to avoid double-dealing of Tab, Esc, Return.

2021-05-23  David Turner  <david@freetype.org>

	* src/ftmemchk.c: Remove minor compiler warning.

	Casting a pointer to (long) isn't always correct.

2021-05-23  David Turner  <david@freetype.org>

	* src/ftpngout.c: Remove compiler warning for Mingw64 toolchain.

	The #pragma statement is only valid with Microsoft Visual C++

2021-05-23  David Turner  <david@freetype.org>

	* graph/win32/grwin32.c: Fix compiler warnings.

	- Redefine the LCS_sRGB macro to properly compile with the Mingw64
	 toolchain and the -Wmultichar warning enabled.

	- Add missing return code paths in function.

2021-05-22  David Turner  <david@freetype.org>

	* src/ftbench.c: Fix get_time() for Mingw64.

	clock_gettime() cannot be used when cross-compiling for Windows
	using the Linux Mingw64 toolchain, so ensure the Win32-specific
	timer code is always used when _WIN32 is defined.

2021-05-24  David Turner  <david@freetype.org>

	[build] Add Meson build files and documentation.

	This commit adds files necessary to build the demo programs,
	including `ftinspect`, with the Meson build system.

	* meson.build, graph/meson.build, src/ftinspect/meson.build: New
	build files for Meson.
	* subprojects/freetype2.wrap, subprojects/libpng.wrap,
	subprojects/zlib.wrap: New subproject files for Meson.
	* README.meson: New file.
	* README, .gitignore: Updated.

2021-05-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* Makefile (LINK_LIBS): Add `-lgdiplus' for PNG saving on Windows.

	Reported by Anuj Verma.

2021-04-30  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (Print_Charmaps): Add hexadecimal FNT charset.

2021-04-30  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (Print_Charmaps): Add PCF/BDF/FNT charset info.

2021-04-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/rules.mk: Warn about missing graphics driver.

2021-03-30  orbea  <orbea@riseup.net>

	[build] Add an `install` target for binaries and man pages.

	* Makefile (MANPAGES): New variable.
	(install) <unix>: New target.

2021-03-26  Werner Lemberg  <wl@gnu.org>

	* man/ftbench.1, man/ftview.1: Improve line breaking.

2021-03-24  orbea  <orbea@riseup.net>

	* Makefile, mac/Makefile (LINK_CMD): Don't hard-code `libtool`.

2021-03-24  orbea  <orbea@riseup.net>

	[graph] Fix build with `slibtool`.

	* graph/rules.mk (GRAPH_LIB): Handle the case specially where
	`LIBTOOL` is defined.
	(COMPILE_GRAPH_LIB) <LIBTOOL>: Enable use of `dlopen`.

2021-03-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftbench] Add Windows performance timers.

	* src/ftbench.c (get_time) [_WIN32]: Add QPC, GPT, and QPCT timing
	tools.
	(main) [_WIN32]: Initialize interval for QPC.

2021-02-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/x11] Gray multiplication tricks.

	* graph/x11/grx11.c (gr_x11_convert_gray_to_rgb{555,565,0888,8880}):
	Combine multiple shifts into multiplication.

2021-02-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftdiff] Make it agnostic to display mode.

	* src/ftdiff.c (main): Let the driver choose the mode.
	(adisplay_init): Call `grFindColor' to set colors.
	(adisplay_clear): Call `grFillRect' to clear display.

2021-02-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/gblany.h, graph/gblblit.c: Multiply by 0x010101U.

2021-02-24  Alexei Podtelezhnikov  <apodtele@gmail.com>

	PNG writing routines using GDI+.

	* src/ftpngout.c (FTDemo_Display_Print) [_WIN32]: Implement it.

2021-02-23  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Split out PNG writing routines.

	* src/ftcommon.c (FTDemo_Display_Print): Move from here...
	* src/ftpngout.c (FTDemo_Display_Print): ... to here.
	* Makefile: Updated accordingly.

2021-02-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_String_Draw): Control pen position better.

2021-02-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c (write_header): Fix header formatting.

2021-02-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grblit.c: Clean up pointer and variable types.

2021-02-03  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Make `-f ... -e ...` work.

	* src/ftgrid.c (parse_cmdline): Use flags to set a default character
	index after option loop.

2021-01-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grblit.c (blit_mono_to_*): Slightly faster variants.

2021-01-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Decouple the legacy and alpha blenders.

	* graph/grblit.c (grBlitGlyphToBitmap): Do not call
	`grBlitGlyphToSurface'.
	* src/*: s/grBlitGlyphToBitmap/grBlitGlyphToSurface/.

2021-01-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grfont.c (gr_charcell): Minor.

2021-01-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Handle mono bitmaps in the main blender.

	* graph/gblany.h (_gblender_blit_mono_*): Implement it.
	* graph/gblblit.c (gblender_blit_init): Recognize mono bitmaps.
	* graph/gblblit.h (GBlenderSourceFormat): Add GBLENDER_SOURCE_MONO.

2021-01-24  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* Makefile (FT_INCLUDES): Drop `$(TOP_DIR)/src/dlg`.

2021-01-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Reduce color conversions in the blender (part 2).

	* graph/gblender.h (GBlenderBGR): Define color channel storage.
	* graph/gblblit.c (GDST_CHANNELS): Redefined.
	(GDST_READ): Merged into...
	(GDST_PIX): Redefined.
	* graph/gblany.h (*): Major revisions.

2021-01-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/gblender.h (GBLENDER_CHANNEL_VARS): Squash reintroduced bug.

2021-01-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grfill.c (gr_fill_hline_4): Clean up.

2021-01-15  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Implement much faster vertical grid lines.

	* graph/grfill.c (gr_fill_hline_*): Accept pitch increment as
	additional argument and act accordingly.
	(grFillVLine, grFillHLine, grFillRect): Updated all callers.

2021-01-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/gblany.h (*): Blend a bit faster.

2021-01-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Check blending cache earlier.

	This slightly reworks commit bfbd78261beff2d6 by moving the cache
	check into the initialization functions. this is especially important
	to keep the direct span rendering light.

	* graph/gblany.h (*): Move the cache check from here...
	* graph/gblblit.c (gblender_blit_init, grSetTargetPenBrush): ... to
	here.
	* graph/gblender.h (GBLANDER_VARS, GBLENDER_CHANNEL_VARS): Restore old
	macros.

2021-01-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Reduce color conversions in the blender.

	* graph/gblblit.c (GDST_COPY_VAR): Removed.
	(GDST_PIX, GDST_CHANNEL): New macros to convert color.
	(grBlitGlyphToSurface, grSetTargetPenBrush): Pass `grColor' unchanged.
	* graph/gblany.h (*): Use new marcos here.
	* graph/gblblit.h (GBlenderBlitFunc): Accept `grColor'.
	* graph/grobjs.h (grSurface): Use `grColor'.

2021-01-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/gblany.h: Consolidate for easier editing.
	* graph/gblhbgr.h, graph/gblhrgb.h, graph/gblvbgr.h, graph/gblvrgb.h,
	graph/gblcolor.h, graph/gblbgra.h, graph/gblspans.h: Deleted.

2021-01-12  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftmulti.c (main): Fix crash.

2021-01-11  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Do not preset blending cache.

	* graph/gblender.c (gblender_init, gblender_use_channels):
	Use `gblender_clear' instead of...
	(gblender_reset): Removed.

2021-01-07  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/win32] Use faster Set/GetWindowLongPtr.

	* graph/win32/grwin32.c (Message_Process): s/SetProp/SetWindowLongPtr/
	and s/GetProp/GetWindowLongPtr/ essentially.
	(gr_win32_device_init, gr_win32_device_done): Get rid of `ourAtom'.

2021-01-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/win32] Use top-down DIBs.

	* graph/win32/grwin32.c (Message_Process): Tweak WM_PAINT.
	(gr_win32_surface_{init,resize}): Set negative `biHeight'.

2021-01-05  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/win32/grwin32.c (gr_win32_surface_init): Clean up.

2021-01-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/win32] Improve driver.

	* graph/win32/grwin32.c (gr_win32_surface_refresh_rectangle):
	Explicitly UpdateWindow to avoid delays and minor clean-up.
	(gr_win32_surface_listen_event): Minor clean-up.

2020-08-24  Anuj Verma  <anujv@iitbhilai.ac.in>

	[ftsdf] Add better usage section.

	* src/ftsdf.c (usage): New function.
	(main): Use it.

2020-08-22  Anuj Verma  <anujv@iitbhilai.ac.in>

	Add `ftsdf` to the build system.

	* Makefile (EXES): Add `ftsdf`.
	Add compile and link rules for `ftsdf`.

2020-08-22  Anuj Verma  <anujv@iitbhilai.ac.in>

	[graph] Add function to pass custom color for writing headers.

	* graph/grfont.h, graph/grfont.c (grGotobitmapColor): New function.

2020-08-22  Anuj Verma  <anujv@iitbhilai.ac.in>

	[ftsdf] Add main function.

	* src/ftsdf.c (main): New function.

2020-08-22  Anuj Verma  <anujv@iitbhilai.ac.in>

	[ftsdf] Draw SDF to display.

	* src/ftsdf.c (clamp, smoothstep, draw): New function.

2020-08-22  Anuj Verma  <anujv@iitbhilai.ac.in>

	[ftsdf] Handle window events.

	* src/ftsdf.c (Process_Event): New function.

2020-08-22  Anuj Verma  <anujv@iitbhilai.ac.in>

	[ftsdf] Add function to display some information.

	* src/ftsdf.c (write_header): New function.

2020-08-22  Anuj Verma  <anujv@iitbhilai.ac.in>

	[ftsdf] Handle some events.

	* src/ftsdf.c (event_font_update, event_color_change, event_help):
	New functions.

2020-08-22  Anuj Verma  <anujv@iitbhilai.ac.in>

	[ftsdf] New demo program to view SDF glyphs.

	* src/ftsdf.c: New file, with first templates.

2020-12-01  Priyesh Kumar  <priyeshkkumar@gmail.com>

	Synchronize with recent FreeType changes.

	* Makefile (FT_INCLUDES): Add `$(TOP_DIR)/src/dlg` to include 'dlg'
	header files.
	(LINK_LIBS): Add `-lpthread'.

2020-11-18  Werner Lemberg  <wl@gnu.org>

	[ftmulti]: Keys 'i' and 'I' now control the axis increment.

	* src/ftmulti.c (increment): New global variable.
	(Help): Updated.
	(Process_Event): Handle 'i' and 'I' keys.
	Update related code.
	(main): Show axis increment in header.

2020-11-18  Werner Lemberg  <wl@gnu.org>

	* src/ftmulti.c (main): Fix header re-display.

	The `header` string buffer must always be reset.

2020-11-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_Draw_Header): Always show encoding.

2020-11-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_Get_Info): Improve formatting.

2020-11-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Add engine management.

	* src/ftview.c (Process_Event): Use `FTDemo_Hinting_Engine_Change'.
	(event_help): Document 'H'.

2020-11-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Simplify engine management.

	* src/ftview.c (Process_Event): Use `FTDemo_Hinting_Engine_Change'.
	(main): Remove engine accounting.

2020-11-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Simplify engine management.

	* src/ftview.c (Process_Event): Use `FTDemo_Hinting_Engine_Change'.
	(write_header): Do not report engine and reformat to make more room.
	(main): Remove engine accounting.

2020-11-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Universal hinting engine switch.

	* src/ftcommon.[ch] (FTDemo_Hinting_Engine_Change): Implement it.
	(FTDemo_Get_Info): Minor.

2020-11-12  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_Get_Info): Simplify the code.

2020-11-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftmemchk.c: Remove internal dependency.

2020-11-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Revert 6ef15ce5aecc, FT_UNUSED is public again.

	* mac/ftoldmac.c, src/ftbench.c, src/ftchkwd.c, src/ftcommon.c:
	Do not need `compiler-macros.h'.

2020-11-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Add hinting info to the standard header.

	* src/ftcommon.c (FTDemo_Get_Info): Extract some driver settings.
	(FTDemo_Draw_Header): Report hinting and target info.

2020-11-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftmulti.c (Clear_Display): Use size_t.

2020-11-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid,ftmulti,ftdiff] Fix up layout for the larger font.

	* src/ftgrid.c (DO_DOTNUMBERS): Rely on GR_FONT_SIZE.
	* src/ftmulti.c, src/ftdiff.c: Use HEADER_HEIGHT equal to 12.

2020-11-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Switch to larger 8x14 font.

	* graph/grconfig.h (GR_FONT_SIZE): New option defined as 14.
	* graph/grfont.[ch]: Add another font size.

2020-11-05  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgamma.c (main): Enforce rgb24.

2020-11-05  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/*, graph/*: s/unsigned int/size_t/ where appropriate.

2020-11-04  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/*.*: s/0/NULL/ where appropriate.

2020-11-04  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/*.*: Rearrange some headers.

2020-11-04  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ttdebug.c (Cur_U_Line, RunIns): Reset buffers explicitly.

2020-11-04  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Fix typos introduced 2020-09-17.

	* src/ttdebug.c (display_changed_points): Use correct point arrays
	again.

2020-11-02  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grblit.c (blit_gray8_to_{555,565}): Fix color.

2020-11-02  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Add 15-bit mode to `gblblit'.

	No target depths left for legacy `grblit' except mono, pal4, pal8.

	* graph/gblblit.[ch]: Set up rgb555 target mode (instead of bgr565).

2020-10-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (gr_x11_surface_done): Free the bitmap here...
	* src/ftcommon.c (FTDemo_Display_Done): ... rather than here.

2020-10-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Fix PNG dump from 32-bit display.

	* src/ftcommon.c (FTDemo_Display_Print): The 32-bit mode needs
	transformations to account for endianness and skip the top byte.

2020-10-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/win32/grwin32.c (gr_win32_surface_init): Default to BITSPIXEL.

2020-10-27  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Let the driver set convenient depth.

	Let the driver change `gr_pixel_mode_none' to whatever depth is
	convenient and make that the default.  You can still force an
	alternative depth from the command line.

	* graph/batch/grbatch.c (gr_batch_surface_init): Default to rgb24.
	* graph/win32/grwin32.c (gr_win32_surface_init): Default to rgb32.
	* graph/x11/grx11.c (gr_x11_surface_init): Match the visual depth.

	* graph/graph.h (grNewSurface): Document `gr_pixel_mode_none' request.
	* src/ftcommon.c (FTDemo_Display_New): Use `gr_pixel_mode_none'.

2020-10-27  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/x11] Zero-copy 15/16/32-bit modes.

	We opportunistically rely on XPutImage that can perform minimal
	conversions if ZPixmap matches depth and bits_per_pixel.  We check if
	the requested 15/16/32-bit mode matches the visual format and send
	the data as is.

	* graph/x11/grx11.c (gr_x11_surface_init): Handle 15/16/32-bit modes.
	(gr_x11_surface_resize): Ditto.
	(gr_x11_surface_done): Unlink the data before `XDestroyImage'.
	(gr_x11_surface_refresh_rect): Check if conversion is requested.

2020-10-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/win32] Zero-copy 15/16/32-bit modes.

	We can use the data in 15/16/32-bit formats directly without copying
	into a shadow buffer. It is only 24-bit mode that needs conversion
	rgb24 -> bgr24, back to little endian order typical for Windows.

	* graph/win32/grwin32.c (grWin32Surface): s/bgrBitmap/shadow_bitmap/.
	(gr_win32_surface_{init,resize,refresh_rect,done}): Handle it
	conditionally for rgb24 only, and link the data otherwise.
	(Message_Process): Updated.

2020-10-23  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.[ch]: Header clean-up.

2020-10-23  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grobjs.c (grNewBitmap): Add padding to 15/16-bit bitmaps.

2020-10-23  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/win32] Enable 15/16/32-bit modes.

	The rgb555 mode uses legacy blitting and is somewhat broken.

	* src/win32/grwin32.c (gr_win32_surface_refresh_rectangle,
	gr_win32_surface_init): Updated.

2020-10-22  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Rearrange 32-bit color.

	Both Windows and X11 interpret 32-bit color using masks rather than
	byte order. We ned to align with that.

	* graph.h (grColor): Update value type.
	* graph/grobjs.c (grFindColor),
	graph/grfill.c (gr_fill_hline_32),
	graph/gblblit.c (grSetTargetPenBrush),
	graph/grblit.c (blit_mono_to_rgb32): Updated.

2020-10-22  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] s/uint32/uint32_t/ and popularize it.

	* graph/grconfig.h: Define uint32_t here...
	* graph/x11/grx11.c: ...  instead of uint32 here and update all users.
	* graph/graph.h: Include "grconfig.h".

2020-10-20  Werner Lemberg  <wl@gnu.org>

	* Version 2.10.4 released.
	==========================


	Tag sources with `VER-2-10-4.

	* README: Updated.
	* man/*.1: Updated.

2020-10-19  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_Icon): Decrease the glyph height.

2020-10-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/win32] Explicitly use BITMAPINFO.

	* graph/win32/grwin32.c (grWin32Surface): Replace `pbmi' and `bmi'
	with `bmiHeader' and `bmiColors'.
	(gr_win32_surface_{init,resize}, Message_Process): Updated.

2020-10-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/strbuf.c (strbuf_init): Adjust to fix `FTDemo_Version'.
	* src/ftcommon.[ch] (FTDemo_Version): Clarify argument.

2020-10-15  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid,ftview,ftstring] Add icons.

	* src/ftcommon.[ch] (FTDemo_Icon, icon_span): Draw and set icons.
	* src/ftgrid.c, src/ftview.c, src/ftstring.c (main): Add icons.

2020-10-15  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/win32] Icon support.

	* graph/win32/grwin32.c (gr_win32_surface_set_icon): Implement it.
	(gr_win32_surface_init): Initialize the driver backend.
	(gr_win32_surface_done): Destroy icons.

2020-10-15  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/x11] Icon support.

	* graph/x11/grx11.c (gr_x11_surface_set_icon): Implement it.
	(gr_x11_surface_init): Initialize the driver backend.

2020-10-15  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Icon support framework.

	* graph/grdevice.c (grSetIcon): Define new function.
	* graph/graph.h (grSetIcon): Declare it.
	* graph/grobjs.c (grSetIconFunc): Declare the driver backend.
	(grSurface): Add it.

2020-10-11  Werner Lemberg  <wl@gnu.org>

	* src/ftmemchk.c: Include `compiler-macros.h'.

2020-10-10  Werner Lemberg  <wl@gnu.org>

	* Version 2.10.3 released.
	==========================


	Tag sources with `VER-2-10-3.

	* README: Updated.
	* man/*.1: Updated.

2020-09-29  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (event_grid_zoom): Pretty scale formatting.

2020-09-29  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Implement reversible floating zoom.

	The floating zoom is neccessary to display extremely large sizes
	after scaling them down, but it has to stay rounded to integers when
	displaying grids and bitmaps for small sizes. All this can be
	achievied by truncating and bit-adjusting numbers in IEEE 754 format.
	To make it portable too, we rely on C99 `frexpf' and `ldexpf'.

	* src/ftgid.c (status): Change type of `scale'.
	(ZOOM, grid_status_init, grid_status_rescale,
	grid_status_draw_{grid,outline}): Updated accordingly.
	(event_grid_zoom): Implement truncated reversible zoom.

2020-09-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (ZOOM, *): Macro to zoom metrics.

2020-09-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (grid_status_rescale): Move and rename.

2020-09-17  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Introduce 64th format for displaying values.

	* src/ttdebug.c (FORMAT_INTEGER, FORMAT_FLOAT, FORMAT_64TH): New
	enum values.
	(use_float): Global variable replaced by...
	(num_format): ... this one.  Update all caller.
	(print_number): New function.
	(display_changed_points, show_points_table): Use it.
	(RunIns) <'h'>: Update help screen.
	(RunIns) <'F'>: Replace toggling by cycling.
	(RunIns) <'V'>, <'G'>, <'C'>, <'S'>, <'K'>: Updated.

2020-09-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftbench] Permit reverse order of indices.

	Some compressed streams are really bad in rewinding.

	* src/ftbench.c (FOREACH): General loop in either direction.
	(test_*): Use it.
	(main): Parse forward and reverse index ranges.
	(usage): Document it.
	* man/ftbench.1: Ditto.

2020-09-16  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/*: Fix some -Wformat-signedness warnings.

2020-09-12  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (grid_status_rescale_initial): Deal with low ascender.

2020-08-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (Process_Event): Rescale after resize.

2020-08-22  Werner Lemberg  <wl@gnu.org>

	ttdebug: Make it work again.

	* src/ttdebug.c (temqStr): New global array.
	(RunIns): Use it.

2020-08-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grevents.h (grKey): Recode function keys as 0xF1, etc.

	Use bash ANSI-C quoting $'\xF1' to pass them from the command line.

2020-08-21  Werner Lemberg  <wl@gnu.org>

	Improve help for command line option `-d'.

	* src/ftgrid.c, src/ftstring.c, src/ftview.c (usage): Depth value is
	optional.

	* man/ftgrid.1, man/ftstring.1, man/ftview.1: Updated.

2020-08-21  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c (FTDemo_Version): Correctly call `strbuf_init'.

2020-07-27  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftdump] Report flagged overlaps.

	* src/ftdump.c (Print_Glyfs): New function to count simple and
	composite glyphs and report flagged overlaps.
	(main): Use it along with glyph count earlier.

2020-07-24  Werner Lemberg  <wl@gnu.org>

	Make new code from David work.

	* src/strbuf.c (strbuf_value): Fix assertion.
	(strbuf_vformat): Shortcut if no space is available.
	Set `pos'.

	* src/ftcommon.c (FTDemo_Draw_Header): Add missing call to
	`strbuf_skip_over'.

2020-07-24  David Turner  <david@freetype.org>

	Use new string functions to replace remaining `sprintf' calls.

	This also removes calls to `strncat' and friends.

	* src/ftcommon.c: Include `strbuf.h'.
	(FTDemo_Version, FTDemo_DrawHeader): Do it.

	* src/ftmulti.c: Include `strbuf.h'.
	(main): Do it.

	* src/ttdebug.c: Include `strbuf.h'.
	(tempStr): Increase size to 256 bytes.
	(Cur_U_Line): Do it.
	(RunIns): Make `round_str' static.

2020-07-24  David Turner  <david@freetype.org>

	Add functions to safely append strings to fixed-size buffers.

	Not used yet.

	* src/strbuf.c, src/strbuf.h: New files.

	* Makefile: Updated to compile `strbuf.c'.

2020-07-24  David Turner  <david@freetype.org>

	* src/ftcommon.c (my_face_requester): Improve code readability.

2020-07-24  David Turner  <david@freetype.org>

	Add `ft_strdup' function.

	This simplifies compilation on Windows, which doesn't have this
	function.

	* src/common.c: Include `ftstring.h'.
	(ft_strdup): New function.
	* src/common.h: Updated.

	* src/ftcommon.c (FTDemo_Install_Font), src/ftdiff.c
	(render_state_set_files): Use it.

2020-07-24  David Turner  <david@freetype.org>

	* src/*: Replace simple usage of `sprintf' with `snprintf'.

	Recent gcc compiler versions produce warnings for potentially unsafe
	functions like `sprintf'.

2020-07-06  Werner Lemberg  <wl@gnu.org>

	Synchronize with recent FreeType changes.

	* mac/ftoldmac.c, src/ftbench.c, src/ftchkwd.c, src/ftcommon.c:
	Include `compiler-macros.h', which now contains the definition of
	`FT_UNUSED'.

2020-06-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c (event_color_change): Cycle color by luminance.

2020-06-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (grX11Surface): Remove redundant fields.
	(gr_win32_surface_{refresh_rectangle,listen_event}): Updated.

2020-06-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/win32] Clean up refresh.

	* graph/win32/grwin32.c (gr_win32_surface_refresh_rectangle): Copy
	only requested rectangle, remove dead code.

2020-06-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (gr_x11_device_init): Fix up 03707489a839.

2020-06-24  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/win32] Grayscale fixes.

	* graph/win32/grwin32.c (gr_win32_surface_init): Straighten mapping.
	(gr_win32_surface_refresh_rectangle): Use `memcpy'.

	* graph/grobjs.c (grNewBitmap): Add padding to gray required by GDI.

2020-06-24  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grobjs.c (grFindColor): Fortify gray luminance.
	* graph/gblblit.c (GRGB*_TO_GRAY8): Synchronize with `grFindColor'.

2020-06-24  Jan Alexander Steffens  <jan.steffens@gmail.com>

	* Makefile (COMPILE): Prioritize FreeType path.

	This ensures the includedir for the built FreeType comes first,
	before any flags for a system FreeType which might be pulled in
	through pkg-config for harfbuzz.

2020-06-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (gr_x11_device_init): Prioritize 32-bit formats.

2020-06-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (gr_x11_convert_*): Clean up `uint32'.
	(gr_x11_device_init): Display logging.

2020-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/x11] Ignore redundant Expose from resizing.

	* graph/x11/grx11.c (gr_x11_surface_init): Enable VisibilityNotify.
	(gr_x11_surface_listen_event): Track recent Expose events and ignore
	redundant ones.

2020-06-16  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/x11] Miscellaneous clean-ups.

	* graph/x11/grx11.c (gr_x11_surface_refresh_rect): Generate Expose
	instead of `XPutImage'.
	(gr_x11_blitter_reset): Signedness.
	(gr_x11_surface_listen_event): Logging.

2020-06-12  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Simplify X11 driver.

	* graph/x11/grx11.c (grX11Surface): Remove redundant fields.
	(gr_x11_blitter_reset, gr_x11_surface_{resize,init}): Work directly
	with `XImage'.
	(gr_x11_surface_listen_event): Make sure resize succeeds.

2020-06-11  David Turner  <david@freetype.org>

	*/*: Include internal headers by their real names.

	The FT_INTERNAL_XXX_H macros are going to disappear.

2020-06-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (gr_x11_surface_listen_event): No need to flush.

2020-06-07  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftmulti.c (Process_Event) Handle resizing.
	* src/ftdiff.c (main): Ditto.

2020-06-04  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Fix color management bugs including `ftmulti'.

	* graph/gblblit.c (grSetTargetPenBrush): New function to manage color
	and other parameters required for direct rendering.
	(grBlitGlyphToSurface): Use it here to decode color only.
	* src/ftcommon.h (FTDemo_Sketch_Glyph_Color): Use it here in full.
	* graph/graph.h: Update docs.

2020-06-01  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid,ftstring,ftview] Avoid uninitialized `event.type'.

	* src/ftgrid.c, src/ftstring.c, src/ftview.c (Process_Event): Updated.

2020-06-01  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgamma.c (event_gamma_grid): Fix oscure resizing crash.

2020-05-31  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c (Process_Event): Process resizing.

2020-05-31  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (gr_x11_surface_init): Remove some settings.

2020-05-31  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/win32] Miscellaneous clean-ups.

	* graph/win32/grwin32.c
	(gr_win32_surface_refresh_rect): Don't `UpdateWindow' and move
	`ShowWindow' from here...
	(gr_win32_surface_init): ... to here.
	(gr_win32_surface_listen_event): Make sure size really changes and
	move `SetWindowText' from here...
	(gr_win32_surface_set_title): ...to here.

2020-05-29  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (Print_Name): Fix timestamps on Windows.

2020-05-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgamma.c: Center and clip the bitmap to fix resizing.

2020-05-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph/x11] Stop double-dealing BackSpace, Tab, Return, and Esc.

	* graph/x11/grx11.c (gr_x11_surface_listen_event): Do not reset the
	cursor prematurely.

2020-05-27  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (gr_x11_surface_init): Register WM_DELETE_WINDOW.
	(gr_x11_surface_listen_event): Handle it to exit gracefully.

2020-05-27  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (grX11Surface): Remove unused field.

2020-05-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Rework GDI message handling.

	* graph/win32/grwin32.c (WM_RESIZE): New custom message.
	(gr_win32_surface_listen_event): Simplify and handle keystroke events
	and window resizing here.
	(grWin32Surface): Remove no longer neccessary fields.
	(Message_Process): Handle WM_PAINT and post WN_RESIZE as needed.

2020-05-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grevents.c (grKey): Utilize some ASCII control codes.

2020-05-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Use size_t in memory allocations, handle zero-size bitmap.

	* graph/grblit.c, graph/grdevice.c, graph/grdevice.h,
	graph/x11/grx11.c: s/unsigned long/size_t/
	* graph/grobjs.h: Ditto and inclide <stdlib.h>
	* graph/grobjs.c (grAlloc): Ditto.
	(grNewBitmap): Handle zero height or width.

2020-05-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grfill.c (grFillRect): Small bug.

2020-05-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Implement resizable GDI windows.

	* graph/win32/grwin32.c (gr_win32_surface_resize): Implement resizing.
	(Nessage_Process): Add WM_SIZE handling.
	(gr_win32_surface_init): Change window style and streamline.

2020-05-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Clean up win32 driver.

	This removes `BitBlt' and a related bitmap copy. Instead the driver
	now uses direct `SetDIBitsToDevice' which is similar to `XPutImage'.

	* graph/win32/grwin32.c (grWin32Surface): Remove `hbn'.
	(gr_win32_surface_refresh_rectangle): Do not call `SetDIBits'.
	(Message_Process): Use `SetDIBitsToDevice' in WM_PAINT and do not
	handle WM_CREATE and simplify WM_DESTROY.
	(gr_win32_surface_init): Remove unnecessary code.
	(gr_win32_surface_listen_event): Minor.

	* graph/grobjs.c (grNewBitmap): Add padding to rgb24 required by GDI.

2020-05-19  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph]: Implement resizable X11 windows.

	* graph/grevents.h (gr_event_resize): New event defined.
	* graph/x11/grx11.c (gr_x11_surface_init): Configure window.
	(gr_x11_surface_listen_event): Capture resizing events.
	(gr_x11_surface_resize): Implement resizing.

	* src/ftview.c (Process_Event): Redraw on resizing.
	* src/ftgrid.c (Process_Event): Ditto.

2020-05-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grobjs.c (grNewBitmap): Implement bitmap resizing.
	* graph/graph.h (grNewBitmap): Document it.

	* graph/grdevice.c (grNewSurface): Prevent accidental resizing.
	* graph/win32/grwin32.c: Ditto.

2020-05-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (gr_x11_device_init): Remove one nested cycle.

2020-05-01  David Turner  <david@freetype.org>

	Remove obsolete Jamfiles from the tree.

	These are not used anymore.

	* Jamrules, src/Jamfile, graph/Jamfile, graph/*/Jamfile: Delete.

2020-05-16  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (gr_x11_device_init): Reduce nesting and clean up.

2020-05-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_Display_Gamma_Change): Improve readability.

2020-05-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview,ftstring,ftgrid] Unify gamma adjustments.

	* src/ftcommon.[ch] (FTDemo_Display_Gamma_Change): New function to
	adjust gamma with sRGB between 2.2 and 2.3.
	* src/ftview.c, src/ftstring.c, src/ftgrid.c (Process_Event): Use it.

2020-05-11  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Keep custom LCD filters normalized and balanced.

	Unorthodox filters are still available through the `-L' option.

	* src/ftview.c (event_fw_change): New function with distributed delta.
	(Process_Event): Updated.

2020-05-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_Install_Font): Remove unused buffer.

2020-05-09  Werner Lemberg  <wl@gnu.org>

	* Version 2.10.2 released.
	==========================


	Tag sources with `VER-2-10-2.

	* README: Updated.
	* man/*.1: Updated.
	* src/ftinspect/ftinspect.pro: Updated.

2020-05-08  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c (main): Fix thinko introduced in commit from
	2020-05-01.

2020-05-04  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* ftcommon.c (FTDemo_Draw_Header): Right-flush filename.

2020-05-04  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Move man pages: src/*.1 -> man/*.1

2020-05-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* Makefile (unixdev): Do not call pkg-config repeatedly.

2020-05-01  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* Makefile (FT_INCLUDES): Remove redundant BUILD_DIR.

2020-05-01  David Turner  <david@freetype.org>

	Fix compilation warnings (#58257).

	* graph/x11/grx11.c (gr_x11_surface_listen_event): Change return
	type of to match the expected type.

	* src/compos.c, src/ftchkwd.c, src/ftdump.c, src/ftlint.c,
	src/ftmemchk.c, src/ftsbit.c, src/fttimer.c, src/fttry.c (main):
	Remove problematic uses of `strncpy' and replace them with
	`snprintf', which takes the size of the target buffer.

	Remove un-needed uses of the `alt_filename' array.

2020-04-16  Anuj Verma  <anujv@iitbhilai.ac.in>

	* Makefile (FT_INCLUDES): Remove configuration directory since
	its content is included by `ft2build.h'.

2020-04-16  Werner Lemberg  <wl@gnu.org>

	* Makefile (CC) [unix]: Synchronize with recent change in FreeType.

2020-04-15  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* Makefile (COMPILE): ... and remove defines.

2020-04-14  Anuj Verma  <anujv@iitbhilai.ac.in>

	Fix compilation under Windows.

	* Makefile (FT_INCLUDES): Add configuration directory.  Without
	that, the file `ftoption.h' that is added to the $(COMPILE) variable
	gets found only if it is located in $(DEVEL_DIR), this is, if we do
	a `make devel' build.

	* graph/win32/rules.mk: s/win32/windows/ to synchronize test for
	Windows platform with FreeType's build system.

2020-03-08  Thomas E. Dickey  <dickey@invisible-island.net>

	[ftdump] Show max-advance width/height and underline info.

	Also reformat output to account for these wider labels.

	* src/ftdump.c (Name_Field): New function.
	(Print_Number_Type): New macro.
	(Print_Name, Print_Type, main): Updated.

2019-12-23  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c (FTDemo_Display_Print): Fix compiler warning.

2019-12-23  Noel Benzinger  <noelbenzinger@gmail.com>

	* src/Jamfile (Library): Add `mlgetopt.c' as a dependency (#57466).

2019-09-27  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Standalone stroker test.

	* src/string.c (dinkus_init): Stroke an open path.
	(main, Render_String): Use it.

2019-09-27  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c (Print_Programs): Check glyf offset and length.

	Problem reported by Marc Schönefeld <marc.schoenefeld@gmx.org>.

2019-09-23  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftbench.c (test_stroke): Implement stroker test.
	(FT_BENCH_STROKE, bench_desc, main): Register it.

2019-09-20  Werner Lemberg  <wl@gnu.org>

	* graph/x11/grx11.c (gr_x11_surface_init): Initialize `xswa'.

	This removes two valgrind warnings about

	  Conditional jump or move depends on uninitialised value(s)

2019-08-27  Werner Lemberg  <wl@gnu.org>

	* Makefile (PLATFORM==unixdev): Add `libbrotlidec'.

	This is needed for the new WOFF2 support.

2019-07-01  Werner Lemberg  <wl@gnu.org>

	* Version 2.10.1 released.
	==========================


	Tag sources with `VER-2-10-1.

	* README: Updated.
	* src/*.1: Updated.
	* src/ftinspect/ftinspect.pro: Updated.

2019-07-01  Werner Lemberg  <wl@gnu.org>

	* graph/x11/grx11.c (gr_x11_surface_init): Fix C++ warnings.

2019-06-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (bitmap_scale): Gray alternative to LCD bitmap...
	(Process_Event): ... after repeated bitmap toggles.

2019-06-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Tweak direct rendering.

	* src/ftcommon.c (FT_Demo_Sketch_Glyph_Color): Redefine surface origin
	and clipping box instead of shifting outline.
	* src/ftgrid.c (grid_status_draw_outline): Tweaked.
	* graph/gblspans.h: Simplify.
	* graph/grobjs.h (grSurface): Introduce `origin' byte.
	* graph/gblblit.c: Silence compilation warning.

2019-06-19  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Direct outline drawing.

	Now we can test `FT_RASTER_FLAG_DIRECT' and it is also faster because
	the glyph outline image is extremely sparse.

	* src/ftcommon.[hc] (FTDemo_Sketch_Glyph_Color): Implement rendering
	in direct mode.
	* src/ftgrid.c (grid_status_draw_outline): Use it.

2019-06-19  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Implement and register gray_span function.

	* graph/gblspans.h, graph/gblany.h (_gblender_spans_*): New functions.
	* graph/grobjs.h (grSurface): New fields `gray_spans' and `gcolor'.
	* graph/gblblit.c (grSetSurfaceGamma): Initialize `gray_spans'.
	* graph/rules.mk: Add new file.

2019-06-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Clearly separate two blenders.

	* graph/gblblit.[hc] (grBlitGlyphToSurface): Declare and define it.
	* graph/grblit.c (grBlitGlyphToBitmap): Call `grBlitGlyphToSurface'.
	* graph/gblender.c: Minor.

2019-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftmulti.c (bit): Surface bitmap must belong to surface.
	* graph/graph.h (grBlitGlyphToBitmap): Clarify documentation.
	* graph/grdevice.c (grNewSurface): Initialize default blender.

2019-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/*/rules.mk: Add missing dependency.

2019-06-16  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grblit.c (grBlitGlyphToBitmap): Move code from here...
	* graph/gblblit.c (gblender_blit_init): ... to here.
	* graph/gblblit.h: Updated.

2019-06-15  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Relocate `gblender' to `grSurface'.

	This will be needed for direct rendering and simplifies gamma setting.

	* graph/grobjs.h (grSurface): Put `bitmap' on top, add `gblender'.
	* graph/graph.h: s/grSetGlyphGamma/grSetTargetGamma/.
	* graph/grblit.c (grSetTargetGamma): Move `gblender_init' here...
	(grBlitGlyphToBitmap): ...from here.
	* src/ftcommon.c (FTDemo_Display_New): Call `grSetTargetGamma'.
	* src/ft{diff,grid,string,view,multi}.c: Updated.

2019-06-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/gblblit.c (gblender_blit_init): Switch to lookup table.
	* graph/gblany.h: Updated.

2019-06-12  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ttdebug.c (RunIns): Return error like `TT_RunIns'.
	(Abort): Add error messages.

2019-06-11  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Fix compilation warnings.

	* src/ft{lint,dump}.c (main): Null-terminate `strncpy'.
	* src/ttdebug.c (main): Reluctantly ditto.

	* src/mlgetopt.c (getopt): Suppress the dropped `const' warning.

2019-06-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/mlgetopt.c (getopt): Permit merged option-argument pairs.

2019-06-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ft{view,grid,string}.c (parse_cmdline): Generalize batch mode...
	(usage): ... and mention it.
	* src/ft{view,grid,string}.1: s/end/contain/.

2019-06-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/batch/grbatch.c (gr_batch_surface_refresh_rect): Remove.

2019-06-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.[hc] (FTDemo_Display_Print): Use `const' qualifier.
	* src/ftdump.c (Print_Bytecode): Ditto.
	* src/ftmulti.c (new_header): Ditto.
	* src/ftstring.c (header): Ditto.
	* src/ft{view,grid,string}.c (Process_Event): Updated.

2019-06-07  Werner Lemberg  <wl@gnu.org>

	Fix compilation warnings.

	Also do some minor formatting.

	* graph/batch/grbatch.c: Suppress warnings about unused variables.

	* src/*: Suppress warnings about dropping `const'.

2019-06-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid,ftview,ftstring] Enable batch mode.

	* src/ftcommon.[hc] (FTDemo_Display_New): Pass `device' argument.
	* src/{ftview,ftstring,ftgrid}.c (status): New `device' field.
	(parse_cmdline): Enable batch mode if keys end with `q'.
	* src/{ftview,ftstring,ftgrid}.1: Document it.

2019-06-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] New batch device.

	This driver maintains the image in memory without displaying it,
	useful for batch processing without GUI.

	* graph/batch/grbatch.[hc]: New implenetation files.
	* graph/batch/rules.mk: Makefile with unconditinal compilation.
	* graph/grinit.c (GR_INIT_DEVICE_CHAIN): Add the driver at the tail.

2019-06-05  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Stay true to linked lists.

	* graph/grinit.c (grInitDevices, grDoneDevices): Properly walk and
	delete entries from the linked list `gr_device_chain'.
	* graph/grdevice.c (find_device): Ditto.
	* graph/grdevice.h (gr_num_devices, gr_max_devices): Removed.
	* graph/grconfig.h (GR_MAX_DEVICES): Ditto.

2019-06-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid,ftview,ftstring] Implement PNG printing.

	* src/ftcommon.[hc] (FT_Display_Print): New function.
	* src/{ftgrid,ftview,ftstring}.c (Process_Event): New event.

	* Makefile: Compile with appropriate <ftoption.h> so that
	FT_CONFIG_OPTION_USE_PNG status is inherited from the library build
	and based on the libPNG avalability.

2019-06-01  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid,ftview,ftstring] Consolidate versioning.

	* src/ftcommon.[ch] (FTDemo_Version): New function.
	* src/{ftgrid,ftview,ftstring}.c (parse_cmdline, event_help): Use it.

2019-05-24  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Add option `-d' to select variation font instance.

	* src/ttdebug.c: Include `ctype.h'.
	(requested_pos, requested_cnt): New global variables.
	(parse_design_coords): New auxiliary function.
	(Usage): Updated.
	(main): Handle option`-d'.

	* src/ttdebug.1: Updated.

2019-05-22  Werner Lemberg  <wl@gnu.org>

	[ttdebug] New key `O' to show opcode help string.

	Also add key `H' to show help on the formatting of data.

	* src/ttdebug.c (OpStrDoc): New global array.
	(RunIns) <'h'>: Move help on format of value changes to...
	<'H'>: ... this key.  Also describe format of opcode syntax.
	<'O'>: Show opcode help string.

2019-05-22  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Add support for GETVARIATION and GETDATA opcodes.

	* src/ttdebug.c: Include FT_MULTIPLE_MASTERS_H.
	(multimaster): New global variable.
	(OpStr): Updated.
	(main): Call `FT_Get_MM_Var' to initialize MM support.

2019-05-22  Werner Lemberg  <wl@gnu.org>

	* src/ttdebug.c (OpStr): Improve opcode mnemonics.

2019-05-22  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview,ftstring,ftgrid] Add keystroke emulator.

	* src/{ftview,ftstring,ftgrid}.c
	(parse_cmdline): New option to pass keystroke sequence.
	(Process_Event): Consume keystrokes from buffer before listening.
	(usage): Document it.
	* src/{ftview,ftstring,ftgrid}.1: Document it.

2019-05-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Prepare for scripting.

	* src/{ftview.c,ftstring.c,ftgrid.c,ftmulti.c,ftgamma.c}
	(main, Process_Event): Consolidate event handling.

2019-04-28  Werner Lemberg  <wl@gnu.org>

	[ftmulti] Add axis grouping.

	If axis grouping (key `A') is active, hidden axes that have the same
	name tag as a visible one are not displayed.  Additionally they
	receive the same values as the corresponding visible axis.

	* src/ftmulti.c (grouping, hidden, shown_axes, num_shown_axes): New
	global variables.
	(set_up_axes): New function to group axes.
	(Render_All, Render_Text, Help): Updated.
	(Process_Event): Handle key `A'.
	Handle grouping of axis values.
	(main): Initialize `shown_axes' and `hidden'; call `set_up_axes'.
	Update code to display axes tags.

2019-04-26  Werner Lemberg  <wl@gnu.org>

	* src/ftmulti.c (Help, main): Mark hidden axes with an asterisk.

2019-04-26  Werner Lemberg  <wl@gnu.org>

	* src/ftmulti.c: Various minor clean-ups.

2019-04-06  Werner Lemberg  <wl@gnu.org>

	For distribution, replace `.tar.bz2' with `.tar.xz' bundles.

	* Makefile (dist): Do it.

2019-03-15  Werner Lemberg  <wl@gnu.org>

	* Version 2.10.0 released.
	==========================


	Tag sources with `VER-2-10-0.

	* README: Updated.
	* src/*.1: Updated.
	* src/ftinspect/ftinspect.pro: Updated.

	* Makefile (version, winversion): Since the minor version number has
	two digits now, never omit the patch number.  We would get ambiguous
	zip file names otherwise.

	* src/ftdump.c (main): Avoid compiler warning.

2019-03-07  Werner Lemberg  <wl@gnu.org>

	* src/ttdebug.c (RunIns): Fix signature.

2019-02-24  Werner Lemberg  <wl@gnu.org>

	[ftview] Fix LCD rendering of color-layered glyphs.

	* src/ftview.c (Render_All): Always use normal rendering for
	color-layered glyphs.

2019-02-23  Werner Lemberg  <wl@gnu.org>

	[ftview] Add more control for color-layered glyphs.

	Key `z' toggles color-layered glyph usage.
	Keys `i' and `I' cycle through color palettes.

	* src/ftcommon.h (TFont): Add `palette_index' field.
	(FTDemo_Handle): Add `use_layers' field.
	* src/ftcommon.c (FTDemo_New, FTDemo_Install_Font): Initialize new
	structure elements.

	* src/ftview.c (Render_All): Select palette; use `use_layers'.
	(event_help): Updated.
	(event_palette_change): New function.
	(Process_Event): Handle keys `z', `i', and `I'.
	(write_header): Updated.

2019-02-22  Werner Lemberg  <wl@gnu.org>

	Minor doc string fixes.

	* src/ftgrid.c (usage), src/ftstring.c (usage), src/ftview.c
	(event_help, usage): Improve.

2018-11-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftdiff] Tweak adjustment of spacing.

	Align with b82405eda. We want to avoid changing or adjusting usual
	rounding of advances.

	* src/ftdiff.c (render_state_draw): Tweak conditionals.

2018-10-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (Print_Name): Ignore exuberant timestamps.

2018-10-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (Print_Name): Use ISO 8601 datestamps.

2018-10-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (Print_Name): Report `head' revision and timestamps.

2018-10-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (Print_Charmaps): Rework without \b.

2018-10-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_String_Draw): Avoid endless loop.
	* src/ftstring.c (main): Don't disable sbits.

2018-10-04  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c (Render_Waterfall): Color the size marks.
	(event_color_change): Manipulate the warning color.

2018-10-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftdump] New compact charmap coverage format.

	* src/ftdump.c (Print_Charmaps): Implement it.
	(main): Change corresponding options.
	* src/ftdump.1, src/ftdump.c (usage): Document it.

2018-10-01  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c: Remove unused fields and function.

2018-10-01  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (gr_x11_surface_init): Clean up window creation.

2018-09-29  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c (Render_Waterfall): Mark the status size.

2018-09-29  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grfill.c (grFillHLine): Fix cropping.
	(grFillVLine): Refactor in line with `grFillHLine'.

2018-09-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c (Process_Event, event_help): Implement flushing.

2018-09-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c: Polished.

2018-09-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Implement text carpeting mode.

	* src/ftstring.c (main): Add text-carpeting mode implemented in...
	(Render_Text): ... this new function.
	(Render_CmpKern, Render_Waterfall): Minor updates and refactoring.

2018-09-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Teach `FT_String_Draw' to recycle glyphs.

	* src/ftcommon.h (FTDemo_String_Context): New fields for offset glyph
	and extent to fill.
	(FTDemo_String_Draw): Return the number of glyphs drawn.
	* src/ftcommon.c (FTDemo_String_Draw): Implement glyph recycling until
	the extent is full.

2018-09-12  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Load glyphs and advances explicitly.

	* src/ftcommon.h (FTDemo_Handle): Remove `string_reload' flag.
	(TGlyph): Split `delta' into original `lsb_delta' and `rsb_delta'.
	(FTDemo_String_Load): Declare new function.
	* src/ftcommon.c (string_load, string_render_prepare): Merge into...
	(FTDemo_String_Load): ... this function.
	(FTDemo_String_Draw): Devoid of string loading.

	* src/ftstring.c (main, Process_Event,Render_{Waterfall,KernCmp}):
	Call `FTDemo_String_Load' explicitly.

2018-09-11  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Keep all advances together.

	* src/ftcommon.h (TGlyph): New `hadvance' field for kerned advance.
	* src/ftcommon.c (string_load): Initialize it here.
	(string_render_prepare): Modify it here.
	(FTDemo_String_Draw): Use it here.

2018-09-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Draw warning box for zero-width glyphs.

	* src/ftview.c ({X,Y}_TOO_LONG): Reworked the macros.
	(Render_{Stroke,Fancy,All}): Fill the added space with a warning box
	for zero-width glyphs.
	(Render_{Waterfall,Text}): Updated accordingly.

2018-09-07  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Extra space for zero-width glyphs.

	* src/ftview.c (Render_{Stroke,Fancy,All}): Add half ppem to
	zero-width glyphs.

2018-09-07  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Handle extra space differently.

	* src/ftcommon.c (FTDemo_Draw_{Index,Glyph_Color}): Move extra pixel
	from here...
	* src/ftview.c (Render_{Stroke,Fancy,All}): ... to here.
	(Render_{Waterfall,Text}): Do not compensate.

2018-08-23  Werner Lemberg  <wl@gnu.org>

	[ftdiff] New keys `A' to `E' to select hinting mode directly.

	* src/ftdiff.c (process_event): Handle keys `A' to `E'.
	(event_help): Updated.

2018-08-04  Werner Lemberg  <wl@gnu.org>

	Fix clang warnings.

	* src/ftstring.c (Process_Event), src/ftview.c (Process_Event): Add
	cast.

2018-07-23  Hin-Tak Leung <htl10@users.sourceforge.net>

	[ttdebug] Add option `-f' to access non-first member of TTC.

	* src/ttdebug.1, src/ttdebug.c: Add a `-f face_index' switch to
	access non-first member of a TTC, plus updating the man page.

2018-07-05  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grfont.c (grGotobitmap): Initialize color here...
	(grWrite): ... instead of here.

2018-07-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Implement waterfall as mode 2.

	* src/ftstring.c (Render_String, Render_KernCmp): Extracted from ...
	(main): ... here.
	(Render_Waterfall): New mode function based on ftview.
	(event_help): Updated.

2018-07-03  Werner Lemberg  <wl@gnu.org>

	Fix some clang warnings.

	* graph/grfill.c (grFillRect): Use `int' for `size'.

	* src/ftstring.c (flower_init): Use `unsigned int' for `i'.
	Simplify some loops.

	* src/ftview.c (parse_cmdline) <'L'>: Use `unsigned char' casts.
	(main): Add `FT_LcdFilter' cast.

2018-07-02  Hugh McMaster  <hugh.mcmaster@outlook.com>

	Fix memory leak (patch #9666).

	* src/ftcommon.c (FTDemo_Install_Font): Always free
	`font->filepathname'.

2018-07-02  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (Render_All): Update `FT_Get_Color_Glyph_Layer' call.

	The function's signature was changed on 2018-07-02.

2018-06-30  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Implement string shifts.

	* src/ftstring.c (event_center_change): New function.
	(Process_Event): Shift the string with left-right arrows, rotate it
	with F5-F6.
	(event_help): Document it.

2018-06-30  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_Get_Index): Handle `FT_ENCODING_ORDER'.

	* src/ftcommon.c (FTDemo_Draw_Header, FTDemo_String_Set),
	src/ftview.c (Render_{All,Stroke,Fancy}),
	src/ftgrid.c (grid_status_draw_outline): Simplified accordingly.

2018-06-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Ditch gamma ramp.

	* src/ftstring.c (status): `gamma_ramp' removed.
	(gamma_ramp_draw): Remove.
	(event_gamma_change): Remove setting `gamma_ramp'.

	* src/ftstring.1: Mention stress test glyphs.

2018-06-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid, ftview, ftstring] Update font and encoding handling.

	* src/ftcommon.c (my_face_requester): Check `cmap_index' range.
	(FTDemo_Install_Font): `cmap_index' obeys `handle->encoding' here,
	and postpone setting `num_indices'.
	(FTDemo_Set_Current_Font): `handle->encoding' obeys `cmap_index' here,
	also set `num_indices' accordingly.

	* src/ftview.c (event_encoding_change): Simplify by calling
	`FTDemo_Set_Current_Font'.

2018-06-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Improve stress test glyphs.

	* src/ftstring.c (wheel_init): Integrate into...
	(flower_init): ...this function.
	(main): Improve appearance of stress test glyphs.

2018-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Display glyphs to stress test rendering.

	* src/ftstring.c (wheel_init, flower_init): New functions to
	initialize stress test glyphs.
	(main): Display them.

2018-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Draw dots using `FT_New_Glyph'.

	* src/ftgrid.c (circle_init): Make a custom glyph with a circle.
	(circle_draw): Render it using `FTDemo_Draw_Glyph_Color'.
	(ft_bitmap_draw, ft_outline_draw, ft_outline_new_circle): Removed.

2018-06-16  Werner Lemberg  <wl@gnu.org>

	[ftview] First shot at colored glyph layer support.

	This is basically a proof of concept.  Still missing: Switching off
	color layers and controlling palette selection.  Additionally, only
	`Render_All' handles color layers.

	Some code should be moved to `ftcommon' so that other demo programs
	can show colored glyph layers also.

	* src/ftview: Include FT_COLOR_H and FT_BITMAP_H.
	(Render_All): Handle colored glyph layers.

2018-06-07  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Control subpixel rendering from command line.

	* src/ftview.c (parse_cmdline): New `-L' option to set subpixel filter
	weights or geometry depending on the implemented method.
	(write_header, Process_Event): Hide filtering if not implemented.
	(main): Set default filter only if command line is not used.
	(usage): Document it.
	* src/ftview.1: Document it.

2018-06-07  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftbench.c (benchmark): Output formatting.

2018-05-31  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/x11/grx11.c (gr_x11_device_init): Organize logging.

2018-05-27  Werner Lemberg  <wl@gnu.org>

	Separate color support from sbit handling.

	* src/ftcommon.h (FTDemo_Handle): New boolean field `use_color'.

	* src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags): Updated.

	* src/ftview.c (Process_Event): Use key `c' to toggle color support.
	(write_header, event_help): Updated.

2018-05-25  Werner Lemberg  <wl@gnu.org>

	Update manpages.

	* src/ftgrid.1, src/ftstring.1, stc/ftview: Document option `-d'.

2018-05-24  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Implement grayscale target surface.

	* graph/grblit.c (grBlitGlyphToBitmap): Enable gray target.
	* graph/gblblit.c (gblender_blit_init, GRGB_TO_GRAY, GRGB24_TO_GRAY):
	Implement gray target.

2018-05-23  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview, ftstring, ftgrid] Change dimension options.

	* src/ftcommon.[hc] (FTDemo_Dispay_New): Use single dimension string as
	an argument, parse it, and initialize accordingly.

	* src/ftgrid.c (usage, parse_cmdline, status): Use single dimension
	string option.
	* src/ftstring.c (usage, parse_cmdline, status): Ditto.
	* src/ftview.c (usage, parse_cmdline, status): Ditto, rename variable
	axis option.

	* src/ftdiff.c, src/ftgamma.c: Updated.

2018-05-23  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* Makefile [unixdev]: Uncouple harfbuzz and libpng.

2018-05-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/gblbgra.h: Gamma-corrected variant (disabled).

2018-05-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/gblbgra.h: Make it wotk for all destination targets.

2018-05-19  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Fast "powerless" gamma ramps.

	We calculate the lookup tables for the power function using finite
	differences. This is 10 times faster and accurate enough for gamma
	correction.

	* graph/gblender.c (gblender_set_gamma_table): Reimplement using
	finite differences.
	* src/ftstring.c (event_gamma_change): Ditto for the decoration ramp.

2018-05-15  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (bitmap_scale): Mark centers of mono pixels.

2018-05-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grfill.c (grFillRect): Thinko.

2018-05-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Update FT_DEBUG_AUTOFIT mode.

	* src/ftgrid.c (grid_status_draw_outline) [FT_DEBUG_AUTOFIT]:
	Show active segments only when autohinter is forced. Minor tweaks.

2018-05-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Accept bitmap fonts.

	* src/ftgrid.c (main): Accept bitmap fonts.
	(grid_status_draw_outline): Do bitmap for any font.
	(grid_status_rescale_initial): Bitmap-compatible improved layout.

2018-05-08  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (main): Fail to open font earlier.

2018-05-01  Werner Lemberg  <wl@gnu.org>

	* Version 2.9.1 released.
	=========================


	Tag sources with `VER-2-9-1.

	* README: Updated.
	* src/*.1: Updated.
	* src/ftinspect/ftinspect.pro: Updated.

2018-04-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c (main): Update initializations.

2018-04-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c (main): Use size metrics instead of resolution.
	* src/ftview.c (Render_Fancy, Render_Stroke): Ditto.

2018-04-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (gitd_status_init): Set default resolution here...
	(parse_cmdline): ... instead of here.

2018-04-23  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_Draw_Header): Hide redundant point size.

2018-04-22  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (Render_Stroke): Avoid double-free in case of error.

2018-04-22  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftview.c (Render_Waterfall): Reformulate the step.

2018-04-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Display more dramatic waterfalls.

	* src/ftview.c (Render_Waterfall): Start from a small size and
	increment so that the requested size is in the middle.

2018-04-19  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grobjs.c (grFindColor): Missing case added.

2018-04-19  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Recycle some code.

	* graph/grfill.c (grFillRect): Call `memcpy' to speed it up.
	* src/ftcommon.c (FTDemo_Display_Clear): Call `grFillRect'.

2018-04-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftdump] Special case for copyright sign.

	* src/output.c (put_ascii_string{,_size}): Implement it.

2018-04-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* Makefile: Use `info' function of make 3.81.

2018-04-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/gbench.c: Missing variable types.

2018-04-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/Jamfile: Mention `output.c'.
	* objs/.gitignore: Ignore almost everything.

2018-04-18  Werner Lemberg  <wl@gnu.org>

	* Jamrules (FT2_LIB), src/Jamfile (COMMON_LIB): Don't use $(SUFLIB).

	Jam automatically uses them.

2018-04-17  Werner Lemberg  <wl@gnu.org>

	Move `obj' directory to `objs'.

	This is both for consistency with the FreeType library tree and
	better jam support.

	* Makefile (OBJ_DIR_2, clean_demo, distclean_demo), mac/Makefile
	(OBJ_DIR_2), mac/ftoldmac.m68k_far.make.txt (ObjDir),
	mac/ftoldmac.ppc_classic.make.txt (ObjDir), vms_make.com (OBJDIR,
	grinit.obj, grx11.obj): Updated.

2018-01-26  Ben Wagner  <bungeman@google.com>

	* src/ftmulti.c (LOG) [DEBUG]: Modernize.

2018-01-08  Werner Lemberg  <wl@gnu.org>

	* Version 2.9 released.
	=======================


	Tag sources with `VER-2-9.

	* README: Updated.
	* src/*.1: Updated.
	* src/ftinspect/ftinspect.pro: Updated.

2018-01-07  Werner Lemberg  <wl@gnu.org>

	* Makefile (LINK_LIBS): Add `LIB_CLOCK_GETTIME' (#52824).

2018-01-06  Werner Lemberg  <wl@gnu.org>

	Use new `FT_Done_Var_MM' function.

	* src/ftdump.c (Print_MM_Axes), src/ftgrid.c (main), src/ftmulti.c
	(main): Do it.

2017-12-31  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Fix compiler warnings and run-time errors.

	* src/ttdebug.c (Cur_U_Line): Remove useless casts to `unsigned' and fix
	the necessary ones.
	(RunIns): Protect `FT_MEM_COPY' calls.

2017-12-30  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Key `K' shows full stack.

	* src/ttdebug.c (RunIns): Update help display.
	Handle key `K'.

2017-12-30  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Key `I' toggles hexadecimal/decimal numbers display.

	* src/ttdebug.c (use_hex): New global variable.
	(Cur_U_Line): Use it.
	(RunIns): Use it.
	Update help display.
	Handle key `I'.

2017-12-27  Werner Lemberg  <wl@gnu.org>

	Fix compiler warnings.

	* src/ftcommon.c, src/ftcommon.h
	(FTDemo_Event_{Cff,Type1,T1cid}_Hinting_Engine_Change): Change
	return type to `int'.

	* src/ftdiff.c (HINTING_ENGINE_MAX): Removed.
	* src/ftgrid.c, src/ftmulti.c, src/ftview.c (N_HINTING_ENGINES):
	Removed.

2017-12-16  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* bin/.gitignore: Ignore almost everything.

2017-12-14  Ewald Hew  <ewaldhew@gmail.com>
	    Werner Lemberg  <wl@gnu.org>

	Finish hinting engine selection code for Type 1 and CID fonts.

	* src/ftview.c (event_cff_hinting_engine_change,
	event_type1_hinting_engine_change,
	event_t1cid_hinting_engine_change): Moved and renamed to...

	* src/ftcommon.c (FTDemo_Event_Cff_Hinting_Engine_Change,
	FTDemo_Event_Type1_Hinting_Engine_Change,
	FTDemo_Event_T1cid_Hinting_Engine_Change): ...these.
	Include FT_MODULE_H.

	* src/ftcommon.h: Declarations.
	* src/ftmulti.c: Forward declarations.

	* Makefile: Updated to link above.

	* src/ftview.c (event_tt_interpreter_version_change): Updated.
	(Process_Event)	<'H'>: Updated.

	* src/ftbench.c: s/cff_hinting_/ps_hinting_/.
	(main): Set `hinting-engine' property for all PostScript format
	drivers.

	* src/ftdiff.c (ColumnStateRec): New fields `type1_hinting_engine'
	and `t1cid_hinting_engine'.
	(render_state_init): Initialize new fields.
	(render_state_draw): Use new fields.
	Update footer string.
	(process_event) <'H'>: Updated.

	* src/ftgrid.c (GridStatusRec): New fields `type1_hinting_engine'
	and `t1cid_hinting_engine'.
	(main): Initialize new fields.
	(event_cff_hinting_engine_change): Removed.
	(Process_Event) <'H'>: Updated.

	* src/ftmulti.c (type1_hinting_engine, t1cid_hinting_engine): New
	fields.
	(main): Initialize new fields.
	Update header string.
	(cff_hinting_engine_change): Removed.
	(Process_Event) <'H'>: Updated.

2017-12-08  Werner Lemberg  <wl@gnu.org>

	[ftview] Allow hinting engine selection for Type 1 and CID fonts.

	* src/ftview.c (status): New fields `type1_hinting_engine' and
	`t1cid_hinting_engine'.
	(main): Initialize new fields.
	(event_type1_hinting_engine_change,
	event_t1cid_hinting_engine_change): New functions.
	(Process_Event) <'H'>: Use them.
	(write_header): Updated.

2017-12-08  Werner Lemberg  <wl@gnu.org>

	Update to Freetype changes from 2017-12-08.

	* src/*.c: s/FT_{CFF,TRUETYPE}_DRIVER_H/FT_DRIVER_H/.
	s/FT_CFF_HINTING_/FT_HINTING_/.
	s/N_CFF_HINTING_ENGINES/N_HINTING_ENGINES/.

2017-12-02  Werner Lemberg  <wl@gnu.org>

	[ftview] Fix `-l' option.

	* src/ftview.c (usage): Fix reported range.
	(parse_cmdline) <l>: Fix range checking.
	Set `handle->lcd_mode'; without this, there is no effect at
	start-up.

	* src/ftview.1: Fix argument range of `-l'.

2017-10-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ttdebug.c: Fix compilation on Windows.

2017-10-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c: Use integer for `scale'. Other tweaks.

2017-10-16  Colin Fahey  <cpfahey@gmail.com>

	* src/output.c (put_unicode_be16_string): Fix UTF16 default.

2017-10-14  Werner Lemberg  <wl@gnu.org>

	[ftbench] Add new test for creating face and loading glyph together.

	This will be test `k'.

	* src/ftbench.c (FT_BENCH_NEW_FACE_AND_LOAD_GLYPH): New enum value.
	(bench_desc): Updated.
	(test_new_face_and_load_glyph): New function.
	(main): Handle it.

	(test_image_cache, test_sbit_cache): Tag unused variables.

	* src/ftbench.1: Updated.

2017-10-14  Werner Lemberg  <wl@gnu.org>

	[ftbench] New option `-j' to specify last glyph index.

	* src/ftbench.c (last_index): New global variable.
	(test_load, test_load_advances, test_render, test_embolden,
	test_get_glyph, test_get_cbox, test_get_bbox, test_image_cache,
	test_sbit_cache, get_charset): Use it.
	(usage): Updated.
	(main): Handle `-j'.
	Initialize `last_index'.
	Update test output.

2017-10-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (grid_status_draw_outline): Show ascender and descender.

2017-10-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgamma.c (Render_Bitmap): Ignore target flow.

2017-10-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/win32/grwin32.c (gr_win32_surface_set_title): Small fix.

2017-10-04  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Correctly handle MM data.

	We have to reload the MM data after the cache gets reset.

	* src/ftgrid.c (event_font_change): Move source code up in file.
	(event_cff_hinting_engine_change,
	event_tt_interpreter_version_change, event_warping_change,
	event_lcd_mode_change, Process_Event <'h'>): Call
	`event_font_change'.

2017-10-03  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Fix crash.

	* src/ftgrid.c (grid_status_draw_outline): Avoid a crash if a font
	can no longer be opened.

2017-10-03  Werner Lemberg  <wl@gnu.org>

	Correctly handle Type1 font names without extension.

	* src/ftcommon.c (my_face_requester): Unset the suffix if the font
	file doesn't have an extension.

2017-09-21  Werner Lemberg  <wl@gnu.org>

	* src/ftmulti.c (main): Fix memory leak.

2017-09-18  Werner Lemberg  <wl@gnu.org>

	[ftgrid] New option `-n' suppresses display of named instances.

	* src/ftgrid.c (GridStatus): New field `no_named_instances'.
	(grid_status_init, usage): Updated.
	(parse_cmdline): Handle `-n'.
	(main): Use `no_named_instances'.

	* src/ftgrid.1: Document it.

2017-09-17  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Fix crash if MM and non-MM fonts are viewed together.

	* src/ftgrid.c (event_font_change): Reset `status.mm' after
	deallocation.

2017-09-16  Werner Lemberg  <wl@gnu.org>

	* Version 2.8.1 released.
	=========================


	Tag sources with `VER-2-8-1.

	* README: Updated.
	* src/*.1: Updated.
	* src/ftinspect/ftinspect.pro: Updated.

2017-09-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (main): Remove unnecessary `printf'.

2017-09-10  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Key `C' now changes to a different color palette.

	This gives better support for color-blind people.

	* src/ftgrid.c (GridStatus): New member `do_alt_colors'.
	(grid_status_init, event_help): Updated.
	(grid_status_display): Move color code to...
	(grid_status_colors): ... this new function.
	(grof_status_alt_colors): New function.
	(Process_Event): Handle key `C'.
	(main): Updated.

2017-09-09  Werner Lemberg  <wl@gnu.org>

	Fix clang compiler warnings.

	* src/ftcommon.c (PanicZ): Use `const'.
	(FTDemo_Draw_Header): Add a cast.

	* src/ftdump.c (PanicZ): Use `const'.

2017-09-09  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Key `G' now toggles the display of grid lines.

	* src/ftgrid.c (GridStatus): New member `do_grid'.
	(grid_status_init, event_help): Updated.
	(grid_status_draw_outline, main): Use `do_grid'.
	(Process_Event): Handle key `G'.

2017-09-09  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Fix display of segment lines.

	`af_glyph_hints_get_segment_offset' now returns values in font
	units.  Previously, values were scaled to the device resolution but
	with x height correction applied, which caused a mismatch to the
	displayed unhinted outlines.

	* src/ftgrid.c (grid_hint_draw_segment): Add new argument for
	`FT_Size' object.
	Scale return values of `af_glyph_hints_get_segment_offset' manually.
	(grid_status_draw_outline): Updated.

2017-09-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/{ftdump.c,ftcommon.c} (PanicZ): Handle error messages.

2017-08-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (Print_Charmaps): Decorate with glyph names.

2017-07-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Tweak adjustment of spacing.

	The advance width rounding in light hinting is reflected in
	`rsb_delta' and ranges from -31 to 32. These conventional limits
	should also define when the spacing adjustment is warranted.

	* src/ftcommon.c (string_load): Tweak conditionals.

2017-06-29  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (Render_Stroke): Avoid memory leaks.

2017-06-24  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftdump] List SFNT tables.

	* src/ftdump.c (Print_Sfnt_Tables): New feature, list SFNT tables with
	their first 4 bytes with version for some tables.
	(usage, main): Updated.

	* src/ftdump.1: Updated

2017-06-22  Werner Lemberg  <wl@gnu.org>

	[compos] Make it compile.

	* src/compos.c (FT2_BUILD_LIBRARY): Define; we need access to
	FT_SubGlyphRec.
	Include FT_INTERNAL_GLYPH_LOADER_H.
	(main): Updated.

2017-06-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_Draw_Header): Simplify.

2017-06-10  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c (FTDemo_Draw_Header): Fix compiler warning.

2017-06-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftview.c (event_encoding_change, main): Minor updates.

2017-06-10  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c (FTDemo_Draw_Header): Show gamma in second line.

	Otherwise it clashes with long file names.

2017-06-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Merge gray and color sbits controls.

	* src/ftcommon.h (FTDemo_Handle): Merge `color' into `use_sbits'.
	* src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags): Updated.
	* src/ftview.c (Process_Event, event_help, write_header): Updated.

2017-06-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Teach encodings.

	* src/ftgrid.c (grid_status_draw_outline): Use encoding.
	(parse_cmdline, usage): New option to specify encoding.
	(Process_Event): Use hexadecimal steps through index.

2017-06-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Minor.

	* src/ftgrid.c (grid_status_draw_outline): Move the stroker
	initialization from here...
	(main): ... to here.

2017-06-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Clean up charmap handling.

	* src/ftcommon.h (FT_ENCODING_ORDER): Introduce this special encoding
	for glyph order because `FT_ENCODING_NONE' has other meanings.
	* src/ftcommon.c (FTDemo_Install_Font): Fall back to
	`FT_ENCODING_ORDER' if encoding is not recognized.
	(FTDemo_Draw_Header): Updated.

	* src/ftview.c (status): Remove redundant `encoding' field and update
	all references.
	(FT_ENCODING_OTHER): Removed in favor of `FT_ENCODING_NONE'.

2017-06-01  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid, ftstring, ftview] Further top header consolidation.

	* src/ftview.c (event_encoding_change): Update `handle'.
	(write_header): Move instance, encoding, and the first glyph code
	reporting from here...
	* src/ftgrid.c (write_header): ... and from here...
	* src/ftcommon.c (FTDemo_Draw_Header): ... to here.
	* src/ftcommon.h (FTDemo_Draw_Header): Update prototype.
	* src/ftstring.c (write_header): Updated.

2017-05-29  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid, ftstring, ftview] Migrate gamma to `FTDemo_Display'.

	* src/ftcommon.h (FTDemo_Display): Add new field `gamma'.
	* src/ftcommon.c (FTDemo_Display_New): Initialize it.
	(FTDemo_Draw_Header): Updated.

	* src/ftgrid.c (GridStatusRec): Remove field `gamma'.
	(event_gamma_change): Updated.

	* src/ftstring.c (status): Remove field `gamma'.
	(event_gamma_change): Updated.

	* src/ftgrid.c (status): Remove field `gamma'.
	(event_gamma_change): Updated.

2017-05-28  Werner Lemberg  <wl@gnu.org>

	* src/ftbench.c (BENCH_TIME): Use `double' literal.

2017-05-27  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Split sources; change face index type to `long'.

	* src/ftinspect.cpp, src/ftinspect.h: Split into...
	* src/ftinspect/*: ...these new files.
	Do face index type change.

	* src/ftinspect/.gitignore: New file.

2017-05-24  Werner Lemberg  <wl@gnu.org>

	Minor `fread' coding issues.

	* src/ftbench.c (get_face), src/ftcommon.c (FTDemo_Install_Font):
	Make `nmemb' argument of `fread' equal 1; this allows a
	simplification of the return value test (you get either 0 or 1).

	* src/ftdiff.c (main): Handle `fread' errors.
	Problem reported by Kushal K S V S (కుషల్ కే ఎస్ వీ ఎస్)
	<kkushal32@gmail.com>.

2017-05-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid, ftstring, ftview] Unify top header lines.

	* src/ftcommon.[ch] (FTDemo_Draw_Header): New function that displays
	information about face, size, resolution, and gamma to be used in...

	* src/ftview.c (write_header): ... here.
	* src/ftstring.c (write_header): ... here.
	* src/ftgrid.c (write_header): ... and here.
	(event_gamma_change): Updated.

2017-05-15  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (main): Fix segmentation fault.

2017-05-15  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftdiff, ftgrid, ftview] Make autohint warping NORMAL option.

	* src/ftdiff.c (render_state_draw, event_help): Updated.
	* src/ftgrid.c (event_help, event_warping_change): Updated.
	* src/ftview.c (event_help, event_warping_change, write_header):
	Updated.

2017-05-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring, ftview] Loosely match bitmap font sizes.

	* src/ftcommon.c (FTDemo_Set_Current_Size,
	FTDemo_Set_Current_Charsize): Round requested size to the closest
	available ppem for bitmap fonts.

	* src/ftview.c (Render_Waterfall): Simplify accordingly.
	(write_header): Highlight ppem that does not match the point size.

	* src/ftstring.c (write_header): Report ppem.

2017-05-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftview.c (Render_Stroke): Fix segmentation fault.

2017-05-13  Werner Lemberg  <wl@gnu.org>

	* Version 2.8 released.
	=======================


	Tag sources with `VER-2-8.

	* README: Updated.
	* src/*.1: Updated.
	* src/ftinspect.pro: Updated.

2017-05-11  Werner Lemberg  <wl@gnu.org>

	* src/ftinspect.cpp: Don't include `cstdint', which is C++11.

	Right now, we still want to be able to compile with older C++
	compilers.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Check glyph index before discarding sign.

	* src/ftinspect.cpp (Engine:glyphName, Engine::loadOutline): Do it.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	* src/ftinspect.cpp (GlyphPointNumbers::paint): Fix `ptIdx' type.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Mark float literals as float.

	* src/ftinspect.cpp (GlyphPointNumbers::paint): Do it.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Insert explicit casts where warranted.

	This avoids compiler warnings.

	* src/ftinspect.cpp (Engine::numberOfNamedInstances,
	Engine::glyphName, Engine::loadOutline, GlyphBitmap::GlyphBitmap,
	GlyphBitmap::paint, QGraphicsViewx::resizeEvent): Do it.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Replace old-style casts with C++ casts.

	* src/ftinspect.cpp (Engine::update, GlyphPointNumbers::paint): Do
	it.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Make color tables and settings more readable.

	* src/ftinspect.cpp (MainGUI::setGraphicsDefaults): Use Qt
	constants and `qRgba'.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Use symbolic constant for TrueType interpreter v40.

	v40 is implemented meanwhile.

	* src/ftinspect.cpp (Engine::Engine, MainGUI::setDefaults): Use
	`TT_INTERPRETER_VERSION_40'.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Remove unneeded explicit array sizes.

	* src/ftinspect.cpp (Engine::Engine): Do it.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Make `ftcFaceID' conversion safe.

	* src/ftinspect.cpp: Include `stdint.h'.
	(faceRequester): Implement it.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Synchronize dpi, target, pxlMode types with FreeType.

	* src/ftinspect.h (Engine): Make `dpi' unsigned int.
	Make `loadFlags' unsigned long.
	(GlyphBitmap): Use `FT_Pixel_Mode' for `pixelMode' and constructor.

	* src/ftinspect.c: Include `cstdint', `cmath', `limits',
	`stdexcept', needed by forthcoming commits.
	(Engine::update, GlyphBitmap::GlyphBitmap, MainGUI::drawGlyph):
	Updated.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Change freetype2 include path to system include path.

	This avoids warnings.

	* src/ftinspect.pro: Do it.

2017-05-11  Philipp Kerling  <pkerling@casix.org>

	[ftinspect] Remove `const_cast'.

	* src/ftinspect.cpp (GlyphBitmap::paint): `const_cast' is
	potentially dangerous and should only be used as a last resort.
	Here, the mutable data can just be accessed with `.bits()' instead.

2017-05-11  Werner Lemberg  <wl@gnu.org>

	Fix clang warnings.

	* src/ftbench.c (main): Use cast.

	* src/ftview.c (N_LCD_IDXS): Cast to `int'.
	(usage, parse_cmdline): Updated.

2017-05-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Report fractional ppem for scalable fonts.

	* src/ftview.c (write_header): Updated, ppem and errors consolidated.

2017-05-08  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftview.c (write_header): Revert due to segmentation fault.

2017-05-02  Werner Lemberg  <wl@gnu.org>

	Remove `slight' auto-hinting mode.  Add sub-pixel `light' mode.

	* src/ftcommon.h (LCD_MODE_SLIGHT): Replace with...
	(LCD_MODE_LIGHT_SUBPIXEL): ...this new enum value.

	* src/ftcommon.c (FTDemo_Update_Current_Flags,
	FTDemo_Glyph_To_Bitmap): Updated.
	(string_load): Handle `LCD_MODE_LIGHT_SUBPIXEL'.
	Make integer delta support actually work.
	(string_render_prepare): Support `LCD_MODE_LIGHT_SUBPIXEL'.

	* src/ftdiff.c (HintMode): Replace HINT_MODE_AUTOHINT_SLIGHT with
	HINT_MODE_AUTOHINT_LIGHT_SUBPIXEL.
	(render_mode_names, render_state_draw, event_help): Updated.

	* src/ftgrid.c (grid_status_draw_outline): Show fractional advance
	width.
	(event_lcd_mode_change, Process_Event): Updated.

	* src/ftstring.c (event_lcdmode_change): Updated.

	* src/ftview.c (lcd_modes): New array to map indices (as produced by
	key presses) to LCD modes; we omit LCD_MODE_LIGHT_SUBPIXEL, which
	doesn't make much sense within ftview.
	(N_LCD_IDXS): New macro.
	(status): Replace `lcd_mode' with `lcd_idx'.
	(event_help): Revert change from 2017-04-19.
	(Process_Event): Updated to use `lcd_modes' array.
	Remove references to LCD_MODE_LIGHT.
	(write_header, usage, parse_cmdline, main): Updated.

	* src/ftinspect.h (AntiAliasing): Remove `AntiAliasing_Slight'.

	* src/ftinspect.cpp (Engine::update, MainGUI::checkHinting,
	MainGUI::checkAutoHinting, MainGUI::checkAntiAliasing,
	MainGUI::createLayout): Updated.

2017-04-19  Werner Lemberg  <wl@gnu.org>

	Support new `slight' auto-hinting mode.

	Note that currently only `ftdiff' shows what the new mode really can
	do – `ftview' uses integer advance values, which doesn't work well
	with the `slight' mode.

	* src/ftcommon.h (LCD_MODE_SLIGHT): New enumeration.

	* src/ftcommon.c (FTDemo_Update_Current_Flags,
	FTDemo_Glyph_To_Bitmap): Handle `LCD_MODE_SLIGHT'.

	* src/ftdiff.c (HintMode): Add `HINT_MODE_AUTOHINT_SLIGHT'.
	(render_mode_names): Updated.
	(render_state_draw): Handle `HINT_MODE_AUTOHINT_SLIGHT'.

	* src/ftgrid.c (event_lcd_mode_change): Handle `LCD_MODE_SLIGHT'.
	(Process_Event): Updated.

	* src/ftstring.c (event_lcdmode_change): Handle `LCD_MODE_SLIGHT'.

	* src/ftview.c (event_help): Updated; we now have keys A-H to
	directly select rendering modes.
	(Process_Event, write_header): Updated.

	* src/ftinspect.h (AntiAliasing): Add `AntiAliasing_Light'.

	* src/ftinspect.cpp (Engine::update): Handle `AntiAliasing_Light',
	update `AntiAliasing_Slight'.
	(MainGUI::checkHinting, MainGUI::checkAutoHinting,
	MainGUI::checkAntiAliasing, MainGUI::createLayout): Updated.

2014-04-19  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Fix out-of-array memory access.

	* src/ftgrid.c (bitmap_scale) [gr_pixel_mode_lcd]: We handle input
	pixel by pixel, not the full line; consequently, we have to use
	`width', not `pitch'.

2017-04-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftview.c (write_header): Report fractional ppem differently.

	To convince Werner.

2017-04-16  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftview.c (write_header): Report fractional ppem.

2017-04-16  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c (Print_Charmaps): Better show synthetic cmaps.

2017-04-09  Werner Lemberg  <wl@gnu.org>

	* src/ftmulti.c (Render_All, Render_Text): Round advance widths.

	Problem spotted by Nikolaus.

2017-03-30  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (write_header): Show current instance index.

2017-03-29  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Use `LCD_MODE_XXX' enum values.

	* src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags,
	FTDemo_Glyph_To_Bitmap, FTDemo_Index_To_Bitmap): Ditto.
	* src/ftgrid.c (event_lcd_filter_change): Ditto.
	* src/ftstring.c (event_lcdmode_change): Ditto.

2017-03-29  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (INIT_SIZE): Improve vertical start position.

2017-03-27  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Stuff right margin.

	* src/ftview.c (X_TOO_LONG): Rely on `horiAdvance' when available.
	(Render_All): Use `FTDemo_Draw_Slot' so that updated X_TOO_LONG works.
	(Render_Stroke, Render_Fancy): Updated.

2017-03-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Hide LCD filter from grayscale modes.

	* src/ftview.c (Process_Event, write_header): Check the LCD mode
	before adjusting or reporting the LCD filter.

2017-03-26  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview, ftstring, ftgrid] Remove anti-aliasing toggle.

	* src/ftcommon.h (FTDemo_Handle): Replace `antialias' field with
	`LCD_MODE_MONO' enumerator.
	* src/ftcommon.c (FTDemo_Update_Current_Flags, FTDemo_Glyph_To_Bitmap,
	FTDemo_Index_To_Bitmap): Updated.
	* src/ftgrid.c (Process_Event, event_help, event_lcd_mode_change,
	event_lcd_filter_change): Ditto.
	* src/ftstring.c (Process_Event, event_help, event_lcdmode_change):
	Ditto.
	* src/ftview.c (Process_Event, event_help, write_header): Ditto.

2017-03-24  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftview.c (Render_*): Improve readability.

2017-03-24  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Consolidate emboldening and slanting modes.

	* src/ftview.c (Render_Slanted, Render_Embolden): Merged into...
	(Render_Fancy): ... this new function.
	(event_help, Process_Event, write_header, main): Updated.
	* src/ftview.1: Updated.

2017-03-23  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftmulti.c (Process_Event, main): Use `FT_RoundFix'.

2017-03-23  Werner Lemberg  <wl@gnu.org>

	* src/ftmulti.c (Process_Event, main): Fix rounding.

2017-03-23  Werner Lemberg  <wl@gnu.org>

	[ftmulti] Show PS name.

	* src/ftmulti.c (Render_All): Adjust vertical start position.
	(Render_Text): Make arguments similar to `Render_All'.
	Adjust vertical start position.
	(Process_Event): Round non-integer axis values to two decimal
	digits.
	(main): Updated.
	Print PostScript name.

2017-03-20  Brian Nixon  <nixonb@yahoo.com>

	[ftview] Improve waterfall mode (#50586).

	* src/ftview.c (Render_Waterfall): Stop repeating of the default
	glyph to the end of each line after the display text.

2017-03-20  Brian Nixon  <nixonb@yahoo.com>

	* graph/win32/grwin32.c(syskey_translators): Fix F10 key (#50585).

	`F10' does not work as advertised in the demos because the
	message-handling code expects it to arrive as a `normal' key but
	Windows sends it as a `system' key (because it is reserved for
	activating the menu bar, per the IBM Common User Access standard).

	Fix this by adding `F10' to the ‛syskey_translators’ table.

	(We also remove the existing handling of `F1' as a `system' key,
	because this does not appear to be necessary.  `F1' is sent as a
	`normal' key and is correctly handled by the ‛key_translators’
	table.)

2017-03-19  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftbench.c (main, usage): Add optional LCD filtering.

2017-03-19  Brian Nixon  <nixonb@yahoo.com>

	[graph] Make demo windows minimise-able on Win32 (#50582).

	* graph/win32/grwin32.c (gr_win32_surface_init): Implement it.

2017-03-13  Werner Lemberg  <wl@gnu.org>

	[ftdump] Show ID numbers for standard `name' table entries.

	* src/ftdump.c (EXPAND, XEXPAND, NAME_ID): New macros.
	(name_id): Use new macros.

2017-02-07  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgamma.c (main): Label images.

2017-02-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgamma] Add box-filtered subpixel pattern.

	Two alternative patterns now demonstrate the importance of correct
	gamma for both grayscale and subpixel anti-aliasing, where it helps
	normalize thickness in the former and remove color fringes in the
	latter.

	* src/ftgamma.*: Updated.

2017-01-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Improve gamma ramp appearance.

	* src/ftstring.c (event_gamma_change, gamma_ramp_draw): Updated.

2017-01-28  Werner Lemberg  <wl@gnu.org>

	[ftdump] Always finalize FreeType.

	* src/ftdump.c (PanicZ, usage): Add `library' argument so that we
	can call `FT_Done_FreeType'.
	(main): Updated.

2017-01-28  Werner Lemberg  <wl@gnu.org>

	[ftdump] Sync with current FreeType.

	* src/ftdump.c (name_id): Use updated ID macros.
	Add new ID macros.

2017-01-27  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Align with current FreeType.

	* src/ftview.c (write_header): s/GB2312/PRC/.
	(Process_Event): `FT_Library_SetLcdFilterWeights' now enables
	filtering without `FT_Library_SetLcdFilter'.

2016-12-30  Werner Lemberg  <wl@gnu.org>

	* Version 2.7.1 released.
	=========================


	Tag sources with `VER-2-7-1'.

	* README: Updated.
	* src/*.1: Updated.
	* src/ftinspect.pro: Updated.

2016-12-27  Werner Lemberg  <wl@gnu.org>

	[ftmulti] Minor.

	* src/ftmulti.c (Process_Event, main): If MM, round design
	coordinates.

2016-12-25  Werner Lemberg  <wl@gnu.org>

	Fixes for clang++.

	* Makefile (COMPILE): Don't add `-std=c99' if using a C++ compiler.

	* src/ftbench.c (_GNU_SOURCE): Declare only if not already defined.

	* src/ftcommon.c (_GNU_SOURCE): Declare only if not already defined.
	(FTDemo_Install_Font): Use proper case for `FT_Select_Charmap'.

	* src/ftmulti.c (main): Use proper case for `FT_Select_Charmap'.

2016-12-20  Werner Lemberg  <wl@gnu.org>

	* src/ftmulti.c: Minor clang fixes.

2016-12-19  Werner Lemberg  <wl@gnu.org>

	[ftmulti] Support multiple engines.

	Similar to other programs, use the `H' key to cycle through engines
	(if available).

	* src/ftmulti.c: Include FT_FONT_FORMATS_H, FT_MODULE_H,
	FT_TRUETYPE_DRIVER_H, FT_CFF_DRIVER_H.
	(N_CFF_HINTING_ENGINES): New macro.
	(cff_hinting_engine, tt_interpreter_versions,
	num_tt_interpreter_versions, tt_interpreter_version_idx,
	font_format): New global variables.
	(Help): Updated.
	(cff_hinting_engine_change, tt_interpreter_version_change): New
	functions.
	(Process_Event): Handle key `H'.
	(main): Set up selection of CFF and TrueType engine versions.
	Display selected engine.
	Force redisplay of current font if `H' key was pressed.

2016-11-06  Werner Lemberg  <wl@gnu.org>

	* src/ftbench.c (main): Adjust size argument for bitmap strikes.

	For bitmap-only fonts we enforce the selection of the first bitmap
	strike size.
	This commit also fixes the `size' value itself.

2016-10-29  Werner Lemberg  <wl@gnu.org>

	Minor compilation issues.

	* Makefile: Use ANSIFLAGS and select C99 for GNU-like compilers.

	* src/ftbench.c, src/ftcommon.c (_GNU_SOURCE): Define.  We use
	functionality not covered by ANSI.

2016-10-29  Werner Lemberg  <wl@gnu.org>

	Fix clang warnings.

	We now have a new `FT_ENCODING_OTHER' tag used for internal
	purposes.  Since it is not possible to extend an enumeration after
	its definition, replace `FT_Encoding' types with `unsigned long'.

	* src/ftcommon.c (FTDemo_Make_Encoding_Tag): Updated.
	* src/ftcommon.h (FTDemo_Handle): Ditto.

	* src/ftmulti.c (encoding): Use `unsigned long'.
	(main): Updated.

	* src/ftstring.c (Sample): Make array of type `const char*'.
	(status): Use `unsigned long' for `encoding' field.
	Use `const char*' for `text' field.

	* src/ftview.c (status): Use `unsigned long' for `encoding'.
	(FT_ENCODING_OTHER): Use `unsigned long'.

2016-10-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Untested legacy 15/16-bit color fixes.

	Our tools do not use the legacy 15/16-bit color modes. This is mostly
	for the sake of correctness. We might also remove the code.

	* graph/grblit.c (blit_gray{8,}_to_{555,565}): Updated.
	* graph/x11/grx11.c (gr_x11_format_{bgr565,rgb555,bgr555}): Updated.

2016-10-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grblit.c (blit_lcd28_to_24): Typo.

2016-10-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (Print_Charmaps): Dump format info.

2016-10-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Recognize other charmaps.

	* src/ftview.c (event_change_encoding): Recognize when
	FT_ENCODING_NONE has special other meaning.
	(write_header): Default case for `status.encoding'.

2016-10-07  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Fix charmap cycling.

	* src/ftview.c (event_change_encoding): Reimplement relying on
	`cmap_index' field in TFont structure.

2016-10-05  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Implement cycling through available charmaps.

	* src/ftview.c (event_change_encoding): New function.
	(Process_Event): New [Tab] event to cycle through available charmaps,
	also increase index steps to 16, 256, and 4096.
	(event_help): Updated.

2016-10-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/grevents.h (grKey): Typo.

2016-10-01  İsmail Dönmez  <idonmez@suse.com>

	* src/ftinspect.pro (LIBS): Fix default value.

2016-09-24  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Add LGC and CJK sample strings.

	* src/ftstring.c (event_text_change): New function.
	(Process_Event): New [Tab] event to cycle through sample strings.
	(event_help): Offer it.
	(status, event_font_change, main): Updated.

2016-09-16  Werner Lemberg  <wl@gnu.org>

	* src/ftbench.1: Improve.

2016-09-08  Werner Lemberg  <wl@gnu.org>

	* Version 2.7 released.
	=======================


	Tag sources with `VER-2-7'.

	* README: Updated.
	* src/*.1: Updated.
	* src/ftinspect.pro: Updated.

2016-08-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdump.c (Print_Programs): Use fewer casts.

2018-08-19  Werner Lemberg  <wl@gnu.org>

	[ftdump] Fix clang compiler warnings.

	* src/ftdump.c (Print_Bytecode): Use cast instead of printf length
	modifier – we would need `hh', which only glibc offers.
	(Print_Programs): Use proper casts for constant strings and 16bit
	integer types.

2018-08-19  Werner Lemberg  <wl@gnu.org>

	[ftgamma] Fix compiler warnings.

	* src/ftgamma.c (bit1, bit2, bit): Make them static.

2016-08-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftdump] Hexdump composite glyf instructions too.

	* src/ftdump.c (Print_Programs): Updated.
	(Print_Bytecode): Cleaned up.

2016-08-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftdump] Implement hexdump of TrueType instructions.

	This is useful when searching for interesting instructions. Pushed
	values come with underscore prefix to distinguish them from actual
	opcodes.

	* src/ftdump.c (Print_Bytecode, Print_Programs): Implement this.
	(usage): New option `-p' described.
	(main): Updated.
	* src/ftdump.1: Updated.

2016-08-06  Werner Lemberg  <wl@gnu.org>

	Move Mark Leisher's `getopt' implementation to a separate file.

	We need this since `ftbench.c' now includes `unistd.h', which in
	turn declares `getopt'.

	* src/common.c, src/common.h: Move `getopt' stuff to...
	* src/mlgetopt.c, src/mlgetopt.h: ... these new files.
	Update all callers.

	* src/common.c, src/common.h: Use standard C only.
	Replace `CONST' with `const'.

	* Makefile (COMMON_OBJ): Add `mlgetopt'.

2016-08-02  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftbench.c (get_time, benchmark): Clean up timers.

2016-08-01  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftbench] Use POSIX timers when available.

	* src/ftbench.c (get_time): Use `clock_gettime' instead of obsolete
	and less accurate `gettimeofday'.
	(benchmark): Updated.

2016-07-14  Werner Lemberg  <wl@gnu.org>

	[ftgrid] New option `-d' to give start-up design coordinates.

	This code is similar to the one from `ftmulti'.

	* src/ftgrid.c: Include `stdlib.h'.
	(GridStatusRec): Add `requested_pos' and `requested_cnt' to hold the
	design coordinate data from the command line.
	(event_font_change): Handle them.
	(parse_cmdline): Handle option `-d'.
	(usage): Document `-d'.
	(main): Don't load named instances if we have start-up design
	coordinates.

	* src/ftgrid.1: Updated.

2016-07-14  Werner Lemberg  <wl@gnu.org>

	Prepare suppression of named instances.

	No functional change.

	* src/ftcommon.c (FTDemo_Install_Font): Add boolean parameter to
	avoid loading of instances.
	* src/ftcommon.h: Updated.
	* src/ftgrid.c (main), src/ftstring.c (main), src/ftview.c (main):
	Updated.

2016-07-14  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Properly handle named instances.

	* src/ftgrid.c (event_font_change): Properly initialize the design
	positions with the named instance's value, if appropriate.

2016-07-12  Werner Lemberg  <wl@gnu.org>

	* Version 2.6.5 released.
	=========================


	Tag sources with `VER-2-6-5'.

	* README: Updated.
	* src/*.1: Updated.
	* src/ftinspect.pro: Updated.

2016-07-05  Werner Lemberg  <wl@gnu.org>

	* Version 2.6.4 released.
	=========================


	Tag sources with `VER-2-6-4'.

	* README: Updated.
	* src/*.1: Updated.
	* src/ftinspect.pro: Updated.

2016-06-26  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Fix pixel box drawing.

	This commit circumvents a problem with Qt's `QPainter::drawImage'
	function; it seems that the alignment of the output becomes
	imprecise at high magnification values.

	* src/ftinspect.c (GlyphBitmap::paint): Manually draw pixel boxes
	with `fillRect'.

2016-05-29  Werner Lemberg  <wl@gnu.org>

	* src/ftbench.c (main): Add cast to remove compiler warning.

2016-05-29  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Mark pixel centers in the grid with a cross.

	* src/ftinspect.c (Grid::paint): Implement it.

2016-05-29  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Prepare zoom for drawing pixel center.

	This change makes the zoom use only even values larger than a given
	threshold; it also implements (kind of) logarithmic zooming.

	* src/ftinspect.h (QSpinBoxx): New class, derived from `QSpinBox'.
	(MainGUI): Updated.

	* src/ftinspect.cpp (MainGUI::createLayout): Updated.
	(QSpinBoxx::valueFromText, QSpinBoxx::stepBy): New methods.

2016-05-26  Werner Lemberg  <wl@gnu.org>

	[ftbench] Add support for third TrueType interpreter version.

	Option `-H' now takes an argument to select the CFF hinting engine,
	and new option `-I' selects the TT interpreter version.

	* src/ftbench.c (default_hinting_engine,
	default_interpreter_version): Replaced with...
	(tt_interpreter_versions, num_tt_interpreter_versions,
	dflt_tt_interpreter_version, cff_hinting_engines,
	num_cff_hinting_engines, dflt_cff_hinting_engine,
	cff_hinting_engine_names): ...  these new global variables.
	(main): Expand check for alternative TrueType interpreter versions
	and CFF hinting engines.
	Add argument to option `-H'.
	Add new option `-I'.
	(usage): Updated.

	* src/ftbench.1: Updated.

2016-05-26  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Rename option `-H' to `-I'.

	This is for consistency with a forthcoming change to `ftbench'.

	* src/ttdebug.c (main): Implement it.
	(Usage): Updated.

	* src/ttdebug.1: Updated.

2016-05-26  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Add support for third TrueType interpreter version.

	Option `-H' now takes an argument.

	* src/ttdebug.c (default_version, alternative_version): Replaced
	with...
	(tt_interpreter_versions, num_tt_interpreter_versions,
	dflt_tt_interpreter_version): ... these new global variables.
	(main): Expand check for alternative TrueType interpreter versions.
	Add argument to option `-H'.
	(Usage): Updated.

	* src/ttdebug.1: Updated.

2016-05-21  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Add support for third TrueType interpreter version.

	* src/ftgrid.c (GridStatusRec): Replace `tt_interpreter_version'
	with `tt_interpreter_versions' array.
	Add `num_tt_interpreter_versions' and `tt_interpreter_version_idx'.
	(event_tt_interpreter_version_change): Updated.
	(main): Expand check for alternative TrueType interpreter versions.

2016-05-21  Werner Lemberg  <wl@gnu.org>

	[ftdiff] Add support for third TrueType interpreter version.

	* src/ftdiff.c (ColumnStateRec):  Replace `tt_interpreter_version'
	with `tt_interpreter_versions' array.
	Add `num_tt_interpreter_versions' and `tt_interpreter_version_idx'.
	(render_state_init): Expand check for alternative TrueType
	interpreter versions.
	(render_state_draw): Updated.
	(process_event) <'H'>: Updated.

2016-05-21  Werner Lemberg  <wl@gnu.org>

	[ftview] Add support for third TrueType interpreter version.

	* src/ftview.c (status): Replace `tt_interpreter_version' with
	`tt_interpreter_versions' array.
	Add `num_tt_interpreter_versions' and `tt_interpreter_version_idx'.
	(event_tt_interpreter_version_change, write_header): Updated.
	(main): Expand check for alternative TrueType interpreter versions.

2016-05-21  Werner Lemberg  <wl@gnu.org>

	Make compilation work with clang++.

	Also fix some warning messages.

	* src/ftcommon.c (FTDemo_Display_Clear): Use proper cast.
	(string_load): Replace shifts with multiplication.

	* src/ftgamma.c: (bit1, bit2): Complete initializer.
	(do_ptrn, do_fill): Use proper casts.
	(Render_Bitmap): s/bitmap/out/, s/bit/in/, to avoid shadowing global
	variable `bit'.

	* src/ftgrid.c (GridStatus): Make `lcd_filter' of type
	`FT_LcdFilter'.
	(bitmap_scale): Use proper casts.
	(grid_status_draw_outline): Fix int vs. short warnings.
	(event_cff_hinting_engine_change): Add initializer.
	(event_lcd_filter_change): Properly handle `status.lcd_filter'.

	* src/ftmulti.c (requested_cnt, used_num_axis): Make them `unsigned
	int'.
	(Process_Event, main): Updated.

	* src/ftstring.c (status): Complete initializer.

	* src/ftvalid.c (ValidatorType): Fix enum syntax.

	* src/ftview.c (event_cff_hinting_engine_change): Add initializer.
	(Process_Event) <'L'>: Fix call to FT_Library_SetLcdFilter.

	* src/output.c (put_ascii_string, put_unicode_be16_string): Add
	casts.

2016-05-19  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Use bottom left as the viewport anchor for resizing.

	We store the last bottom left corner point of the viewport rectangle
	and adjust the verticalScrollBar value by the delta relative to the
	current bottom left corner position.

	* src/ftinspect.h (QGraphicsViewx): New class, derived from
	`QGraphicsView'.
	(MainGUI): Updated.

	* src/ftinspect.cpp (MainGUI::createLayout): Updated.
	(QGraphicsViewx::QGraphicsViewx, QGraphicsViewx::scrollContentsBy,
	QGraphicsView::resizeEvent): New methods.

2016-05-18  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Re-implement file watching.

	* src/ftinspect.cpp (MainGUI::MainGUI): Initialize file watcher and
	timer.
	(MainGUI::closeFont): Updated.
	(MainGUI::watchCurrentFont): New method.
	(MainGUI::showFont): Handle file watching for both real files and
	softlinks.
	Display a softlink name as italic font.
	(MainGUI::createConnections): Updated.

	* src/ftinspect.h (MainGUI): Updated.

2016-05-15  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Redesign file/face/instance navigation.

	Instead of peeking into a font with a negative argument to
	`FT_Face_New', we now directly load appropriate (font, face,
	instance) triplets.

	The new code also tries a bit harder to separate the font stuff in
	the `Engine' class from the GUI navigation control in `MainGUI'.

	* src/ftinspect.h (Font): Removed.
	(MainGUI): Make `fontList' a `QStringList'.
	New members `currentNumberOfFaces' and
	`currentNumberOfNamedInstances'.
	Move `faceCounter' and `faceIDMap' members to...
	(Engine): ...this class.
	Make `faceRequester' a friend.

	* src/ftinspect.cpp (faceRequester): Check font index.
	Updated.
	(Engine::Engine): Updated.
	(Engine::numberOfFaces, Engine::numberOfNamedInstances,
	Engine::loadFont, Engine::removeFont): Rewritten.
	(MainGUI::loadFonts, MainGUI::closeFont, MainGUI::showFont,
	MainGUI::adjustGlyphIndex, MainGUI::checkCurrentFaceIndex,
	MainGUI::checkCurrentNamedInstanceIndex):
	Simplified.
	(MainGUI::nextFace, MainGUI::nextNamedInstance, MainGUI::drawGlyph,
	MainGUI::setDefaults): Updated.

2016-05-15  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Minor issues.

	* src/ftinspect.cpp (Engine::loadFont): More readable code.
	(MainGUI::showFont): Remove no longer needed argument.
	Updated.
	(MainGUI::checkCurrentFontIndex, MainGUI::checkCurrentFaceIndex,
	MainGUI::checkCurrentNamedInstanceIndex): Minor generalization.

	* src/ftinspect.h (MainGUI): Updated.

2016-05-15  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Replace face ID hash with a map.

	We need this for later changes that will rely on ordered data.

	* src/ftinspect.cpp (FaceID::operator==): Replace with...
	(FaceID::operator<): ... this method.
	(qHash): Removed.
	(faceRequester, Engine::loadFont, Engine::removeFont,
	MainGUI::closeFont, MainGUI::showFont): Updated.

	* src/ftinspect.h (FaceID): Updated.
	(Main): Rename member `faceIDHash' to `faceIDMap'.

2016-05-15  Werner Lemberg  <wl@gnu.org>

	[ftinspect] More variable and function renamings.

	Mainly for consistency.

	* src/ftinspect.cpp (faceRequester): s/faceID/ftcFaceID/,
	s/id/faceID/.
	(Engine::numberOfFaces): s/result/numFaces/.
	(Engine::numberOfNamedInstances): s/result/numNamedInstances/.
	(Engine::loadFont): s/instanceIndex/namedInstanceIndex/.
	(Engine::removeFont): s/face_id/ftcFaceID/,
	s/instanceIndex/namedInstanceIndex/.
	(MainGUI::showFont): s/numberOfFaces/currentNumberOfFaces/,
	s/numberOfNamedInstances/currentNumberOfNamedInstances/.
	Updated.
	(MainGUI::checkCurrentFaceIndex):
	s/numberOfFaces/currentNumberOfFaces/.
	(MainGUI::checkCurrentInstanceIndex): Renamed to...
	(MainGUI::checkCurrentNamedInstanceIndex): ...this.
	s/numberOfNamedInstances/currentNumberOfNamedInstances/.
	Updated.
	(MainGUI::nextFace): s/numberOfFaces/currentNumberOfFaces/.
	(MainGUI::nextInstance): Renamed to...
	(MainGUI::nextNamedInstance): ... this.
	s/numberOfNamedInstances/currentNumberOfNamedInstances/.
	(MainGUI::previousInstance): Renamed to...
	(MainGUI::previousNamedInstance): ...this.
	(MainGUI::createLayout, MainGUI::createConnections,
	MainGUI::setDefaults): Updated.

	* src/ftinspect.h (Engine): Updated.
	(MainGUI): s/nextInstanceButton/nextNamedInstanceButton/
	s/previousInstanceButton/previousNamedInstanceButton/.

2016-05-14  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Remove file watching.

	This approach doesn't work well.  A new, improved implementation
	will follow.

	* src/ftinspect.h (Engine): Remove `currentFontFileInfo',
	`currentFontFileDate', `maxRetries', and `currentRetry'.
	Updated.
	(MainGUI): Remove `timer'.
	Updated.

	* src/ftinspect.cpp (Engine::watchCurrentFont): Removed.
	(Engine::loadFont, Engine::update): Updated.
	(MainGUI::MainGUI): Updated.
	(MainGUI::watchCurrentFont): Removed.
	(MainGUI::createConnections): Updated.

2016-05-14  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Variable renaming.

	* src/ftinspect.cpp, src/ftinspect.h (FaceID):
	s/instanceIndex/namedInstanceIndex/.

2016-05-12  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Variable renamings.

	For consistency.

	* src/ftinspect.cpp, src/ftinspect.h: s/numFaces/numberOfFaces/,
	s/numNamedInstancesList/numberOfNamedInstancesList/,
	s/numNamedInstances/numberOfNamedInstances/,
	s/currentInstanceIndex/currentNamedInstanceIndex/.
	s/currentNumGlyphs/currentNumberOfGlyphs/.

2016-05-12  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Display more glyph and font information.

	* src/ftinspect.cpp (Engine::loadFont): Update `curFamilyName' and
	`curStyleName'.
	(Engine::currentFamilyName, Engine::currentStyleName,
	Engine::glyphName): New methods.

	(MainGUI::closeFont, MainGUI::showFont, MainGUI::adjustGlyphIndex,
	MainGUI::createLayout): Updated.

	* src/ftinspect.h (Engine): New members `curFamilyName' and
	`curStyleName'.
	Updated.
	(MainGUI): New `fontFilenameLabel', `fontNameLabel', and
	`glyphNameLabel' members.
	Use `QGridLayout' for `infoRightLayout'.

2016-05-12  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Fix logical mistakes in font navigation.

	* src/ftinspect.cpp (Engine::Engine): Initialize `ftSize'.
	(MainGUI::showFont): Don't let exceed indices the number of
	available index values if `preserveIndices' is active.
	Always call `engine->loadFont' even for invalid fonts so that
	various font-global variables are set correctly.

2016-05-11  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Minor.

	* src/ftinspect.cpp, src/ftinspect.h: s/Instances/NamedInstances/.
	Also display `Previous/Next Named Instance' on the buttons.

2016-05-11  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Minor.

	* src/ftinspect.cpp, src/ftinspect.h: s/fonts/fontList/.

2016-05-11  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Display glyph index.

	* src/ftinspect.cpp (MainGUI::createLayout): Add `infoLeftLayout'
	and `infoRightLayout' at the top of the window; add
	`glyphIndexLabel' to the right.
	(MainGUI::adjustGlyphIndex): Set text for `glyphIndexLabel'
	(MainGUI::setDefaults): Call `adjustGlyphIndex'.

	* src/ftinspect.h: Updated.

2016-05-11  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Only use integer values for size if units are px.

	* src/ftinspect.cpp (MainGUI::checkUnits): Implement it.
	(MainGUI::createLayout): Updated.

2016-05-11  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Add file watching; remove watch button.

	* src/ftinspect.cpp (Engine::loadFont): Initialize file info.
	(Engine::watchCurrentFont): New method.
	(Engine::update): Updated.
	(MainGUI::MainGUI): Set up timer.
	(MainGUI::showFont): Add parameter to control updating of current
	indices.
	(MainGUI::watchCurrentFont): New method.
	(MainGUI::createLayout): Remove watch button code.
	(MainGUI::createConnections): Handle timer.

	* src/ftinspect.h (Engine): Add `currentFontFileInfo',
	`currentFontDateTime', `maxRetries', and `currentRetry'.
	Updated.
	(MainGUI): Updated.

2016-05-10  Werner Lemberg  <wl@gnu.org>

	* src/ftinspect.cpp, src/ftinspect.h (MainGUI): Provide `aboutQt'.

	This removes a warning at start-up.

2016-05-10  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Display rendered glyph bitmaps.

	* src/ftinspect.cpp (Engine::update): Updated.
	(GlyphBitmap::GlyphBitmap, GlyphBitmap::~GlyphBitmap,
	GlyphBitmap::boundRect, GlyphBitmap::paint): New methods
	for constructing a rendered bitmap of the glyph.
	(MainGUI::checkAntiAliasing): Updated.
	(MainGUI::setGraphicsDefaults): Create color mapping tables for 8bit
	and 1bit pixmaps as needed by Qt.
	(MainGUI::drawGlyph): Honor `show bitmap' check box.
	(MainGUI::createLayout, MainGUI::setDefaults): Updated.
	(MainGUI::createConnections): Handle `showBitmapCheckBox'.

	* src/ftinspect.h (GlyphBitmap): New class, derived from
	`QGraphicsItem'.
	(MainGUI): Mew member `currentGlyphBitmapItem'.
	New members `grayColorTable' and `monoColorTable'.
	Updated.
	(Engine): Remove unused `showBitmap' member.

2016-05-10  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Make hinting mode selection work.

	* src/ftinspect.cpp (Engine::loadFont): Set font type.
	(Engine::setCFFHintingMode, Engine::setTTInterpreterVersion): New
	methods.
	(MainGUI::showFont): Updated.
	(MainGUI::checkHinting): Gray out hinting mode combo box items
	depending on font type.
	(MainGUI::checkHintingMode): Implemented.
	(MainGUI::checkAutoHinting): Updated.
	(MainGUI::setDefaults): Updated.

	* src/ftinspect.h: Include some internal FreeType header files.
	(Engine): New member `fontType'.
	New enumeration `FontType'.
	Updated.
	(MainGUI): New members `currentCFFHintingMode' and
	`currentTTInterpreterVersion'.

	* ftinspect.pro (DEFINES): Add `FT2_BUILD_LIBRARY' to enable access
	to internal FreeType headers.

2016-05-10  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Minor.

	* src/ftinspect.cpp, src/ftinspect.h: Rename `point indices' to
	`point numbers'.

2016-05-10  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Display glyph point numbers.

	* src/ftinspect.cpp (GlyphPointNumbers::GlyphPointNumbers,
	GlyphPointNumbers::boundRect, GlyphPointNumbers::paint): New methods
	for constructing the set of glyph point numbers.
	(MainGUI::drawGlyph): Honor `glyph point indices' check box.
	(MainGUI::createLayout): Updated.
	(MainGUI::createConnections): Handle `showPointIndicesCheckBox'.

	* src/ftinspect.h (GlyphPoints): New class, derived from
	`QGraphicsItem'.
	(MainGUI): Mew member `currentGlyphPointNumbersItem'.
	Updated.

2016-05-09  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Display glyph points.

	Also fix other minor issues.

	* src/ftinspect.cpp (GlyphPoints::GlyphPoints,
	GlyphPoints::boundRect, GlyphPoints::paint): New methods for
	constructing the set of glyph points.
	(MainGUI::checkShowPoints, MainGUI::setGraphicsDefaults): Updated.
	(MainGUI::drawGlyph): Honor `glyph outlines' and `glyph points'
	check boxes.
	(MainGUI::createLayout): Updated.
	(MainGUI::createConnections): Handle `showOutlinesCheckBox'.

	(GlyphOutline::GlyphOutline): Improve computation of bounding
	rectangle.
	(Engine::update): Updated.

	* src/ftinspect.h (Engine): Remove unused members which are handled
	in MainGUI.
	(GlyphPoints): New class, derived from `QGraphicsItem'.
	(MainGUI): Mew member `currentGlyphPointsItem'.

2016-05-09  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Minor.

	* src/ftinspect.cpp, src/ftinspect.h: s/loadGlyph/loadOutline/.
	s/Glyph/GlyphOutline/.
	s/drawGlyphOutline/drawGlyph/.

2016-05-09  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Display glyphs outlines.

	* src/ftinspect.cpp (Engine::loadGlyph): New method.
	(moveTo, lineTo, conicTo, cubicTo): New wrapper functions for
	`QPainterPath' methods.
	(outlineFuncs): New structure, used as an interface to
	`FT_Outline_Decompose'.
	(Glyph::Glyph, Glyph::boundRect, Glyph::paint): New methods for
	constructing a glyph object.
	(MainGUI::drawGlyphOutline): New method.
	(MainGUI::showFont, MainGUI::checkUnits, MainGUI::adjustGlyphIndex,
	MainGUI::createLayout): Updated.
	(MainGUI::createConnections): Handle `sizeDoubleSpinBox' and
	`dpiSpinBox'.

	* src/ftinspect.h (Engine): Updated.
	(Glyph): New class, derived from `QGraphicsItem'.
	(MainGUI): New member `currentGlyphOutlineItem'.
	Updated.

2016-05-09  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Fix a bunch of glitches.

	* src/ftinspect.cpp (FaceID::FaceID): Initialize members with `-1'.
	While not needed, it better indicates an invalid lookup in the hash
	for debugging purposes.
	(Engine::Engine): Don't call `update' here, since
	`MainGUI::setDefaults' wasn't called yet.
	(Engine::loadFont): Call `update'.
	Return -1 for an invalid face ID.
	(Engine::removeFont): Properly handle invalid face ID.
	(Engine::update): Fix code reversal for pixels vs. points.
	(MainGUI::MainGUI): Initialize `engine'.
	(MainGUI::closeFont): First remove the font, then the face ID.
	Handle invalid font also.
	(MainGUI::showFont): Handle invalid font also.
	(MainGUI::setGraphicsDefaults): Set width of outline pen.

2016-05-08  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Display axes.

	* src/ftinspect.cpp (Grid::Grid): Add second parameter to pass axis
	pen.
	(Grid::paint): Add axes.
	Increase grid size.
	(Grid::boundingRect):Updated.
	(MainGUI::createLayout): Updated.

	* src/ftinspect.h: Updated.

2016-05-08  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Display grid.

	The dimensions are still arbitrary, though.

	We now need Qt 4.6 or newer.

	* src/ftinspect.h (Engine): Remove `zoom' member.  It doesn't belong
	here.
	(Grid): New class, derived from `QGraphicsItem'.  We need this to
	disable drawing of the grid if the zoom factor is too small.
	(MainGUI): Add a `QGraphicsScene' member.
	Add a `zoom' method.

	* src/ftinspect.cpp (Engine::update): Updated.
	(Grid::Grid, Grid::boundingRect, Grid::paint): New methods.
	(MainGUI::createLayout): Initialize `glyphView' and `glyphScene';
	add a grid object.
	Change zoomSpinBox to display an integer zoom factor instead of a
	percentage.  This simplifies code since we don't have to bother with
	scaling values < 1.
	(MainGUI::createConnections, MainGUI::setDefaults): Updated.

2016-05-08  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Provide some drawing pens.

	* src/ftinspect.h (MainGUI): Provide colored pens for axes, blue
	zones, grid lines, on and off points, outlines, and segment lines.

	* src/ftinspect.cpp (MainGUI::setGraphicsDefaults): New method.
	(MainGUI::MainGUI): Updated.

2016-05-07  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Make glyph navigation work.

	* src/ftinspect.cpp (MainGUI::showFont): Don't use local variable.
	(MainGUI::adjustGlyphIndex): New method.
	(MainGUI::createConnections): Use `QSignalMapper' class to map all
	navigation button signals to a single receiver function (namely
	`adjustGlyphIndex').
	(MainGUI::setDefaults): Updated.

	* src/ftinspect.h (MainGUI): New `currentGlyphIndex' member.
	Updated.

2016-05-07  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Really load fonts.

	* src/ftinspect.cpp (Engine::loadFont, Engine::removeFont): New
	methods.
	(Engine::update): Set font-independent scaler values.
	(MainGUI::closeFont): Remove font ID from hash and font from cache.
	(MainGUI::showFOnt): Call `loadFont'.
	(MainGUI::setDefaults): Set initial value of `faceCounter' to 1 to
	circumvent a FreeType buglet.

	* src/ftinspect.h (Engine): New `scaler' and `ftSize' members.
	Updated.
	(MainGUI): New member `currentNumGlyphs'.

2016-05-07  Werner Lemberg  <wl@gnu.org>

	* src/ftinspect.cpp (MainGUI::showFont): Another logic fix.

2016-05-07  Werner Lemberg  <wl@gnu.org>

	[ftinspect] s/maxFaces/faceCounter/.

	* src/ftinspect.cpp, src/ftinspect.h: Do it.

2016-05-07  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Another try to implement `faceRequester'.

	* src/ftinspect.h (FaceID): Extend structure to make it suitable as
	key to Qt's `QHash' class.
	(qHash): Also needed for `QHash'.
	(MainGUI): Provide running ID number in `maxFaces'.
	New `faceIDHash' to map between (font,face,instance) index triplets
	and IDs.

	* src/ftinspect.cpp (FaceID::FaceID, FaceID::operator==, qHash):
	Implement.
	(faceRequester): Use `faceIDHash'.
	(MainGUI::showFont): Fill `faceIDHash'.
	(MainGUI::setDefaults): Updated.

2016-05-06  Werner Lemberg  <wl@gnu.org>

	* src/ftinspect.cpp (MainGUI::showFont): Fix logic.

2016-05-06  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Simplify code.

	* src/ftinspect.cpp (MainGUI::createConnections,
	MainGUI::createActions): Use `connect' variant that doesn't need
	`this' parameter.

2016-05-06  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Compute load flags for `FT_Load_Glyph'.

	* src/ftinspect.cpp (Engine::update): Compute `doHinting' and
	`doAutoHinting', and `loadFlags'.

	* src/ftinspect.h (Engine): Updated.

2016-05-06  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Add general hinting check button.

	* src/ftinspect.cpp (MainGUI::checkHinting): New method.
	(MainGUI::createLayout, MainGUI::createConnections,
	MainGUI::setDefaults): Updated.
	(MainGUI::checkAutoHinting): Also handle `hintingModeLabel'.

	* src/ftinspect.h: Updated.

2016-05-06  Werner Lemberg  <wl@gnu.org>

	[ftinspect] More gamma slider settings.

	* src/ftinspect.cpp (MainGUI::createLayout): Set gamma slider tick
	intervals.

	(MainGUI::setDefaults): Set default value for gamma slider.
	Also move other spin box default values to this function.

2016-05-06  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Handle LCD filter change.

	* src/ftinspect.cpp (MainGUI::checkLcdFilter): New method.
	(MainGUI::setDefaults): Set up LCD filter mapping.
	Call `checkLcdFilter'.
	(MainGUI::createConnections): Register `checkLcdFilter'.

	* src/ftinspect.h (MainGUI): Updated.

2016-05-06  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Indent `show point indices' check box.

	* src/ftinspect.cpp (MainGUI::createLayout): Implement it.

	* src/ftinspect.h: Updated.

2016-05-06  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Minor.

	* src/ftinspect.cpp (MainGUI::checkAutoHinting): Fix logic for
	warping check box.

2016-05-06  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Add check box for auto-hinting.

	This allows easier hinting mode switch than having it in the hinting
	mode combo box.

	* src/ftinspect.cpp (MainGUI::checkAutoHinting): New method,
	containing almost stuff from ...
	(MainGUI::checkHintingMode): Updated.
	(MainGUI::createLayout): Updated; we also indent check boxes
	dependent on auto-hinting.
	(MainGUI::createConnections, MainGUI::setDefaults): Updated.

	* src/ftinspect.h: Updated.
	(HintingModes): Remove `HintingMode_AutoHinting' enum value.

2016-05-06  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Disable unavailable items in anti-aliasing combo box.

	* src/ftinspect.h (MainGUI): Make `setDefaults' public.
	(hintingModesTrueTypeHash, hintingModesCFFHash): New maps.
	(hintingModesAlwaysDisabled): New list.

	* src/ftinspect.cpp (MainGUI::setDefaults): Set up mappings between
	GUI enumerations and FreeType property values.

	Use them to create `hintingModesAlwaysDisabled', a list of enum
	values that gets fed to the anti-alias combo box's `setItemDisabled'
	method.
	(MainGUI::MainGUI): Don't call `setDefaults'
	here but...
	(main): ... here, after FreeType initialization.

2016-05-05  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Handle engine properties.

	* src/ftinspect.cpp (Engine::Engine): Handle CFF's `hinting-engine',
	TrueType's `interpreter-version', and the auto-hinter's `warping'
	properties.

	* src/ftinspect.h (Engine): Updated.

2016-05-05  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Start implementation of `showFont'.

	* src/ftinspect.cpp (MainGUI::loadFonts): Call `showFont'.
	(MainGUI:closeFont): Fix logic and call `showFont'.
	(MainGUI::showFont): New method.  Doesn't display something yet, but
	font navigation buttons are fully functional now.
	(MainGUI::previousFont, MainGUI::nextFont, MainGUI::previousFace,
	MainGUI::nextFace, MainGUI::previousInstance,
	MainGUI::nextInstance): Call `showFont'.

	* src/ftinspect.h (MainGUI): Updated.

2016-05-05  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Add methods to get number of faces and instances.

	* src/ftinspect.cpp (Engine::numFaces, Engine::numInstances): New
	methods.

	* src/ftinspect.h (Engine): Updated.

2016-05-05  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Minor.

	* src/ftinspect.cpp (faceRequester): Use reference.
	(MainGUI::loadFonts): Simplify.

2016-05-05  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Make `MainGUI' and `Engine' classes more symmetric.

	Also avoid `const' issues.

	* src/ftinspect.h (Engine): Add `gui' field.
	Updated.
	(MainGUI): Don't use `const' for `engine'.
	Updated.

	* src/ftinspect.cpp (Engine::Engine, Engine::update): Updated.
	(MainGUI::update, main): Updated.

2016-05-04  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Add buttons for instances.

	* src/ftinspect.cpp (MainGUI::checkCurrentInstanceIndex,
	MainGUI::previousInstance, MainGUI::nextInstance): New methods.
	(MainGUI::createLayout): Updated.  We now use a grid layout for the
	font buttons.
	(MainGUI::createConnections, MainGUI::setDefaults): Updated.

	* src/ftinspect.h: Updated.

2016-05-04  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Redesign font handling.

	At this early stage, it's not always clear to me how to do things
	correctly, so here's another try.

	* src/ftinspect.h (Font): Redesigned, using a list of
	instance numbers.
	(FaceID): New structure, for communication with the face requester.
	(Engine): We need the `MainGUI' structure for initializing the face
	requester.
	(MainGUI): Make `faceRequester' a friend.
	Replace string list `fontFileNames' with `fonts', which is a list of
	`Font' elements.
	Add `currentInstanceIndex'.

	* src/ftinspect.cpp (faceRequester): Replace dummy code with
	something more serious.
	(Engine::Engine, Engine::update): Updated.
	(MainGUI::loadFonts, MainGUI::closeFont,
	MainGUI::checkCurrentFontIndex, MainGUI::checkCurrentFaceIndex,
	MainGUI::nextFont, MainGUI::nextFace):
	Updated to use new `fonts' member.
	(MainGUI::setDefaults, main): Updated.

2016-05-04  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Minor.

	* src/ftinspect.h, src/ftinspect.cpp:
	s/checkCurrentFontFileIndex/checkCurrentFontIndex/,
	s/currentFontFileIndex/currentFontIndex/.

2016-05-04  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Minor.

	* src/ftinspect.h (Engine): Add destructor.
	(MainGUI): Use point to `engine'.

	* src/ftinspect.cpp (Engine::~Engine): Implement.
	(MainGUI::update): Updated.

2016-05-04  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Better intertwine `Engine' and `MainGUI'.

	* src/ftinspect.cpp (MainGUI::update): New method.
	(main): Use it.

	* src/ftinspect.h (Engine): Make it a friend of `MainGUI'.
	(MainGUI): New member `engine'.
	Updated.

2016-05-04  Werner Lemberg  <wl@gnu.org>

	* src/ftinspect.cpp (MainGUI::loadFonts): Improve logic.

2016-05-04  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Make `previous face' and `next face' button logic work.

	It still does nothing, though.

	* src/ftinspect.h (MainGUI): New slots `checkCurrentFaceIndex',
	`previousFace, and `nextFace'.
	New members `numFaces' and `currentFaceIndex'.

	* src/ftinspect.cpp
	(MainGUI::checkCurrentFaceIndex, MainGUI::previousFace,
	MainGUI::nextFace): New methods.
	(MainGUI::createConnections): Register connections for
	`previousFaceButton' and `nextFaceButton'.
	(MainGUI::setDefaults):	Updated.

2016-05-04  Werner Lemberg  <wl@gnu.org>

	* src/ftinspect.cpp (MainGUI::checkCurrentFontFileIndex): Fix logic.

2016-05-04  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Add buttons for faces.

	* src/ftinspect.cpp (MainGUI::createLayout): New buttons for
	`previous face' and `next face'; they are put into a separate row
	(`fontLayout') together with the buttons for `previous font' and
	`next font'.
	s/fontSizeLayout/sizeLayout/.

	* src/ftinspect.h: Updated.

2016-05-04  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Don't use size in pixels for navigation buttons.

	Instead, derive the width from the displayed text.

	* src/ftinspect.h (QPushButtonx): New class, derived from
	`QPushButton'.

	* src/ftinspect.cpp (QPushButtonx::QPushButtonx): New constructor.
	(MainGUI::createLayout): Use `QPushButtonx' for navigation buttons.

2016-05-03  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Make `previous font' and `next font' button logic work.

	* src/ftinspect.h (MainGUI): New slots `checkCurrentFontFileIndex',
	`previousFont, and `nextFont'.

	* src/ftinspect.cpp
	(MainGUI::checkCurrentFontFileIndex, MainGUI::previousFont,
	MainGUI::nextFont): New methods.
	(MainGUI::createConnections): Register connections for
	`previousFontButton' and `nextFontButton'.
	(MainGUI::loadFonts, MainGUI::closeFont, MainGUI::setDefaults):
	Updated.

2016-05-03  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Add file dialogs.

	* src/ftinspect.h: Include some more Qt headers.
	(MainGUI): Add `fontFileNames' and `currentFontFileIndex'.
	Add actions to load and close font files.

	* src/ftinspect.cpp (MainGUI::loadFonts, MainGUI::closeFont): New
	methods.
	(MainGUI::createActions, MainGUI::createMenus,
	MainGUI::setDefaults): Updated.

2016-05-03  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Better code.

	* src/ftinspect.h (QComboBoxx): New class, derived from `QComboBox';
	we add one method `setItemEnabled' to enable (or disable) an item
	with a given index.
	(MainGUI): Use `QComboBoxx' for `antiAliasingComboBoxx' (was:
	`antiAliasingComboBox') and `hintingModeComboBoxx' (was:
	`hintingModeComboBox').
	Update all users.

	* src/ftinspect.cpp (MainGUI::checkHintingMode): Simplified.
	(QComboBoxx::setItemEnabled): New method.

2016-05-03  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Start with FreeType initialization.

	* src/ftinspect.h: Include some FreeType headers.
	(Font): New structure for holding a (physical) font.
	(Engine): New class for communication with FreeType library.
	(MainGUI): Make `engine' a friend.

	* src/ftinspect.cpp (faceRequester): New function for FreeType's
	cache manager.
	(Engine::Engine, Engine::update): Some basic functions; to be
	extensively revised in later commits.
	(main): Updated.

	* src/ftinspect.pro: Add support for FreeType and dependent
	libraries.  Right now, you have to adjust paths manually.

2016-05-02  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Minor.

	* src/ftinspect.h, src/ftinspect.cpp:
	s/showBitmapsCheckBox/showBitmapCheckBox/.

2016-05-02  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Adjust layout.

	* src/ftinspect.cpp (MainGUI::createLayout): Move size, dpi, and
	zoom stuff one row down.
	s/fontLayout/fontSizeLayout/.

	* src/ftinspect.h: Updated.

2016-05-02  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Add DPI control.

	* src/ftinspect.cpp (MainGUI::createLayout): Add `unitsComboBox' to
	select between px and pt.
	Add `dpiLabel' and `dpiSpinBox' to select the DPI value.
	(MainGUI::checkUnits): New function.
	(MainGUI::createConnections, MainGUI::setDefaults): Updated.

	* src/ftinspect.h: Updated.

2016-05-01  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Some more GUI initialization defaults.

	* src/ftinspect.cpp (MainGUI::setDefaults): Updated.

2016-05-01  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Avoid parameters for signal functions.

	This makes the code a bit more elegant.

	* src/ftinspect.cpp (MainGUI::checkHintingMode,
	MainGUI::checkAntiAliasing): Implement.
	(MainGUI::createConnections, MainGUI::setDefaults): Updated.

	* src/ftinspect.h: Updated.

2016-05-01  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Rename some enum values.

	* src/ftinspect.cpp, src/ftinspect.h: Updated.

2016-05-01  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Provide dummy default values for GUI initialization.

	* src/ftinspect.cpp (MainGUI::setDefaults): Set some values.

2016-05-01  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Add signal for showPointsCheckBox.

	* src/ftinspect.cpp (MainGUI::checkShowPoints): New function.
	(MainGUI::createConnections): Add signal.

	* src/ftinspect.h: Updated.

2016-05-01  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Add signal for antiAliasingComboBox.

	* src/ftinspect.cpp (MainGUI::checkAntiAliasing): New function.
	(MainGUI::createConnections): Add signal.

	* src/ftinspect.h: Updated.

2016-05-01  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Refine signal for hintingModeComboBox.

	* src/ftinspect.cpp (MainGUI::checkHintingMode): Grey out `slight'
	hinting item in antiAliasingComboBox if not in auto-hinting mode.
	Also set a different anti aliasing value for this case if `slight'
	was the current value.

	* src/ftinspect.h: Updated.

2016-05-01  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Add signal for hintingModeComboBox.

	Also fix typo `hortizontal' -> `horizontal'.

	* src/ftinspect.cpp (MainGUI::checkHintingMode): New function.
	(MainGUI::createConnections): Add signal.

	* src/ftinspect.h: Updated.

2016-05-01  Werner Lemberg  <wl@gnu.org>

	[ftinspect] Improve combo box setup.

	* src/ftinspect.h (MainGUI): New enums `AntiAliasing',
	`HintingModes', and `LCDFilter'.

	* src/ftinspect.cpp (MainGUI::createLayout): Use new enums to set
	items in combo boxes.
	Also simplify computation of maximum width.

2016-04-30  Werner Lemberg  <wl@gnu.org>

	* src/ftinspect.cpp (MainGUI::createLayout): Fix memory leak.

2016-04-30  Werner Lemberg  <wl@gnu.org>

	[ftinspect] A new Qt based variant for ftgrid.  GUI draft only.

	The idea is to eventually integrate the functionality of ftview,
	ftkern, and ftdiff also.

	The code compiles fine with both Qt4 and Qt5; it doesn't do anything
	yet beyond showing how the GUI looks like.

	* src/ftinspect.cpp, src/ftinspect.h: New source code files.

	* src/ftinspect.pro: New qmake input file.

2016-04-08  Werner Lemberg  <wl@gnu.org>

	[ftview] Avoid hangs with bitmap only fonts.

	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.

	* src/ftview.c (Render_Text, Render_Waterfall): Escape loop if not a
	single glyph could be rendered.

2016-03-18  Werner Lemberg  <wl@gnu.org>

	* graph/x11/rules.mk (X11_LIB): Also append `/lib64'.

2016-03-02  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Use colors for dot numbers.

	We now have bitmap rendering also, and black numbers on a black
	background are ... not optimal.

	* src/ftgrid.c (grid_status_draw_outline): Implement it.

2016-03-01  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Exchange movement directions of `i' and `k' keys.

	This synchronizes the actions with its descriptions in the help
	screen.

	* src/ftgrid.c (Process_Event): Implement it.

2016-03-01  Werner Lemberg  <wl@gnu.org>

	* src/ftgrid.c (grid_status_draw_outline): Fix memory leak.

2016-02-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Touch up.

	* src/ftgrid.c (status): Initialize `header' as NULL to display font
	name initially. Use bits of new field `work' to control...
	(grid_status_draw_outline, main, Process_Event): Updated accordingly.
	* src/ftgrid.1: Updated.

2016-02-21  Werner Lemberg  <wl@gnu.org>

	* src/ftgrid.c (event_grid_zoom): Make zoom up always work.

2016-02-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Enable LCD filtering.

	* src/ftgrid.c (event_lcd_filter_change): New function.
	(status, main, Process_Event, event_help): Updated.

2016-02-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Improve stroked path appearance.

	* src/ftgrid.c (grid_status_draw_outline): Hint scaled outline to
	follow gridlines and cover entire pixels.

2016-02-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Display monochrome and LCD bitmaps.

	* src/ftgrid.c (grid_status_draw_outline): Rework to use...
	(bitmap_scale): New function that implements bitmap scaling.

2016-02-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Actually clear cache when full.

	* graph/gblender.c (gblender_lookup, gblender_lookup_channel):
	Updated.

2016-02-12  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Display rendered bitmap (new feature).

	* src/ftgrid.c (status): New field to control new feature.
	(grid_status_draw_outline): Implement new feature here.
	(Process_Event, usage): Updated.

2016-02-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c (grid_status_draw_outline): Use simpler line join.

2016-02-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Use fixed-point scale and integer origin.

	* src/ftgrid.c (status): Change field types.
	(grid_status_init, grid_status_rescale_initial, grid_status_draw_grid,
	grid_hint_draw_segment, grid_status_draw_outline): Updated.

2016-02-07  Werner Lemberg  <wl@gnu.org>

	* Version 2.6.3 released.
	=========================


	Tag sources with `VER-2-6-3'.

	* README: Updated.
	* src/*.1: Updated.

2016-02-04  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_String_Draw): Typo.

2016-02-02  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftgrid.c, src/ftview.c, src/testname.c: Remove math.h.

2016-02-02  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgrid] Fix dot position and shape.

	* src/ftgrid.c (circle_draw): Correct subpixel positioning.
	(ft_outline_new_circle): Correct circle approximation.

2016-02-01  Nikolaus Waxweiler  <madigens@gmail.com>

	[ftview] Fix toggling of `force auto-hinter' in light mode.

	Light mode does not imply auto-hinter anymore.

	* src/ftview.c (Process event) <'f'>: Update code.

2016-01-17  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftdiff.c (render_state_init): Update default LCD filter.

2016-01-14  Werner Lemberg  <wl@gnu.org>

	Don't use macro names that start with `_[A-Z]' or contain `__'.

	Such macro names are reserved for both C and C++.

	* *.h: Harmonize ID macros so that file `foo.h' uses `FOO_H_'.
	* *.c: s/_Translator/Translator_'.

	* graph/x11/grx11.c (gr_x11_surface_init):
	s/_NET_WM_PID/NET_WM_PID/.
	* src/ftdiff.c: Replace structure names `_foo' with `foo_'.

2016-01-13  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Cycle through available LCD filtering.

	* src/ftview.c (status, Process_Event): Implement cycle through
	`FT_LcdFilter'.

2016-01-11  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftview.c (status, Process_Event): Update default LCD filter.

2016-01-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgamma] Provide alternative pattern.

	* src/ftgamma.c (do_ptrn, GammaPtrn): Implement slightly slanted
	anti-aliased lines.
	(Process_Event, event_help, main): Updated.
	* src/ftgamma.1: Updated.

2016-01-04  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgamma] Enable color.

	* src/ftgamma.c (Render_GammaGrid): Split into...
	(Render_Bitmap): ... this renderer with color controls.
	(GammaGrid): ... and this grayscale bitmap builder.
	(event_color_change): New function.
	(Process_Event, event_help, main): Updated.
	* src/ftgamma.1: Updated.

2015-12-22  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgamma] Minor refactoring.

	* src/ftgamma.c (Render_GammaGrid): Move labels from here...
	(main): ... to here.

2015-12-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Relocate gamma grid display from [ftview] to [ftgamma].

	* src/ftview.c (Process_Event): Remove event `G'.
	(event_help): Update.
	(event_gamma_grid): Move to...
	* src/ftgamma.c (event_gamma_grid): ... here.
	(Process_Event): New function.
	(event_help): New function.
	(main): Update to handle events.

2015-12-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring, ftview] Auxiliary gamma rounding fixes.

	* src/ftstring.c (event_gamma_change): Updated.
	* src/ftview.c (event_gamma_grid): Updated.

2015-12-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/gblender.c (gblender_set_gamma_table): Rounding, formatting.

2015-12-15  Werner Lemberg  <wl@gnu.org>

	* src/ftgamma.c (do_fill): Fix compiler warning.

2015-12-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftgamma] Modernize appearance.

	* src/ftgamma.c: Major renovations.
	* src/ftgamma.1: Update.

2015-12-10  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c (FTDemo_Install_Font): Handle alloc/file errors.

	Problem reported by Alexei.

2015-12-09  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c (event_angle_change): Wrap angle differently.

2015-12-07  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Miscellaneous updates.

	* src/ftstring.c (event_gamma_change): Do not report gamma updates.
	(write_header): Permanently display gamma.
	(gamma_ramp_draw): Brighten the curve.

2015-12-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Small improvements.

	* graph/gblender.h (GBLENDER_SHADE_INDEX): Round to nearest grid.
	* graph/gblender.c (gblender_lookup, gblender_lookup_channel): Minor.

2015-12-05  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Unravel blending, part 2.

	* graph/gblender.c (gblender_reset_key, gblender_reset_channel_key):
	Set alpha grid values explicitly.

2015-12-03  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Unravel blending.

	* graph/gblender.c (gblender_reset_key, gblender_reset_channel_key):
	Entrust optimizations to modern compilers, remove unused variables.

2015-11-30  Werner Lemberg  <wl@gnu.org>

	[graph] Initialize local variables after checking channel change.

	This fixes a crash if foreground color == background color.

	Problem reported by Alexei.

	* graph/gblender.h (GBLENDER_VARS): Split off initialization to...
	(GBLENDER_VARS_SET): ...this new macro.
	(GBLENDER_CHANNEL_VARS): Split off initialization to...
	(GBLENDER_CHANNEL_VARS_SET): ...this new macro.

	* graph/gblcolor.h, graph/gblhbgr.h, graph/gblhrgb.h,
	graph/gblvbgr.h, graph/gblvrgb.h: Updated.

2015-11-29  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/gblender.c (gblender_clear): Fix typo.

2015-11-29  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/fttimer.c (main): Remove unused variable.

2015-11-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftcommon.c (FTDemo_Display_Clear): Speed up.

2015-11-28  Werner Lemberg  <wl@gnu.org>

	* Version 2.6.2 released.
	=========================


	Tag sources with `VER-2-6-2'.

	* README: Updated.
	* src/*.1: Updated.

2015-11-25  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring, ftview] Small clean-ups.

	* src/ftstring.c (event_lcdmode_change): Robustify the switch.
	* src/ftview.c (write_header): Ditto.

2015-11-25  Werner Lemberg  <wl@gnu.org>

	* src/ftstring.c: Fix compilation warnings.

2015-11-24  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Enable sub-pixel rendering.

	* src/ftstring.c (event_lcdmode_change): New function.
	(Process_Event): New event to change LCD mode.
	(event_help): Offer it.
	(main): Select light LCD filter.

2015-11-22  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c (main): Move gamma curve in the background.

2015-11-22  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Enable changing display color.

	* src/ftstring.c (event_color_change): New function.
	(Process_Event) [grKeySpace]: New event to change color.
	(event_help): Offer it.
	(main): Updated.
	* src/ftstring.1: Updated.

2015-11-22  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Use shared `grSetGlyphGamma'.

	* src/ftcommon.h (FTDemo_String_Context): Remove `gamma_ramp'.
	* src/ftcommon.c (apply_gamma_ramp): Remove.
	(FTDemo_String_Draw): Do not apply gamma correction here.
	* src/ftstring.c (event_gamma_change): Call `grSetGlyphGamma' here.
	(main): Switch from gray to rgb24; update.

2015-11-22  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftstring] Remove gamma toggle.

	* src/ftstring.c (event_help, Process_Event): Updated.

2015-11-21  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Copy-paste typos.

	* src/ftstring.1: Updated.
	* src/ftstring.c: Updated.

2015-11-19  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Cosmetic improvements.

	* src/ftdiff.c (write_global_info): Do not display zero gamma.
	* src/ftgrid.c (event_gamma_change): Ditto.
	* src/ftview.c (write_header): Ditto.

2015-11-12  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* graph/gblender.c (gblender_reset_key): Fix typo.

2015-11-12  Alexei Podtelezhnikov  <apodtele@gmail.com>

	Define and use GAMMA.

	* src/ftcommon.h (GAMMA): Define new macro.
	* src/ftdiff.c (adisplay_init): Use it.
	* src/ftgrid.c (grid_status_init): Use it.
	* src/ftstring.c (status): Use it.
	* src/ftview.c (status): Use it.

2015-11-11  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftdiff,ftgrid] Default to gamma = 1.8.

	* src/ftcommon.c (FTDemo_Display_New): Do not set gamma.
	* graph/grblit.c (gr_glyph_gamma): Updated.
	* src/ftdiff.c (adisplay_init): Updated.
	* src/ftgrid.c (grid_status_init): Updated.

2015-11-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[graph] Minor sRGB accuracy update.

	* graph/gblender.c (gblender_set_gamma_table): Updated.

2015-11-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview,ftstring] Default to gamma = 1.8.

	* src/ftview.c (status): Updated.
	* src/ftstring.c (status, main): Updated.

2015-10-16  Werner Lemberg  <wl@gnu.org>

	Don't use `aux' as a file name.

	This should be avoided under Windows.
	Problem reported by Dave Arnold <darnold@adobe.com>.

	* src/aux.c, src/aux.h: Renamed to...
	* src/output.c, src/output.h: ... these file names.

	* Makefile, src/ftdump.c, src/ftgrid.c: Updated.

2015-10-04  Werner Lemberg  <wl@gnu.org>

	* Version 2.6.1 released.
	=========================


	Tag sources with `VER-2-6-1'.

	* README: Updated.
	* src/*.1: Updated.

2015-09-13  Werner Lemberg  <wl@gnu.org>

	* Makefile (FT_H): Updated to recent directory changes (#45954).

	The patch is taken from the anonymous Savannah bug report.

2015-08-13  Werner Lemberg  <wl@gnu.org>

	[ftcommon] Support named instances of GX variation fonts.

	* src/ftcommon.c (FTDemo_Install_Font): Add inner loop for named
	instances.

2015-08-05  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Avoid invalid left-shift of negative values.

	* src/ftgrid.c (grid_status_draw_outline): Don't use left-shift but
	multiplication.

2015-08-04  Werner Lemberg  <wl@gnu.org>

	* src/ftmulti.c (main): Fix double-free in case of invalid font.

2015-07-08  Werner Lemberg  <wl@gnu.org>

	[ftcommon] Improve loading of font collections.

	* src/ftcommon.c (FTDemo_Install_Font): Don't exit if first face of
	a font is invalid.
	Don't exit if we want outline fonts only and the first face isn't.
	Don't exit if there are problems with the cmap.

	In all three cases, simply skip the font face.

2015-06-07  Werner Lemberg  <wl@gnu.org>

	* Version 2.6 released.
	=======================


	Tag sources with `VER-2-6'.

	* README: Updated.
	* src/*.1: Updated.

	* Makefile: Omit a zero patch level in computation of `version'.

2015-06-06  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Key `D' now toggles display of point numbers.

	* src/ftgrid.c: Include FT_TRIGONOMETRY_H.
	(GridStatusRec): Add field `do_dotnumbers'.
	(grid_status_init): Updated.
	(grid_status_draw_outline): Implement point number display.
	(event_help): Updated.
	(Process_Event): Handle `D' key.
	(main): Updated.

2015-04-22  Werner Lemberg  <wl@gnu.org>

	* src/ftdiff.c (process_event): Add missing `break' statement.

2015-04-21  Werner Lemberg  <wl@gnu.org>

	[ftview] Key `w' now toggles warper (if compiled-in).

	* src/ftview.c (status): Add `warping' field.
	(event_help): Updated.
	(event_warping_change): New function.
	(Process_Event): Handle `w' key.
	(write_header, main): Updated.

2015-04-21  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Key `w' now toggles warper (if compiled-in).

	This replaces the no longer existing debugging hook with a generic
	solution that uses the `warping' auto-hinter module property.

	* src/ftgrid.c (_af_debug_disable_warper): Removed.
	(GridStatusRec): s/do_warp/warping/.
	(grid_status_init, grid_status_draw_outline, event_help): Updated.
	(event_warping_change): New function.
	(Process_Event): Handle `w', not `W', and use
	`event_warping_change'.
	(main): Updated.

2015-04-21  Werner Lemberg  <wl@gnu.org>

	[ftdiff] Key `w' now toggles warper (if compiled-in).

	* src/ftdiff.c (render_mode_names): Updated.
	(ColumnStateRec): Add `warping' field.
	(render_state_init, render_state_draw, event_help): Updated.
	(process_event): Handle `w' key.

2015-04-19  Werner Lemberg  <wl@gnu.org>

	[ftdiff] Correctly reload face after changing hinting engine.

	In most cases, calling `FT_Property_Set' acts globally on the
	FT_Library object.

	* src/ftdiff.c (RenderStateRec): Remove `need_rescale', since we
	always rescale now after reloading the face.
	Update all users.
	(render_state_set_face_index): New function.
	(render_state_set_file): Remove `idx' argument.  Instead, (re)load
	font with index `state->face_index'.
	(render_state_draw): Call `render_state_set_file'.
	(event_change_face_index): New function.
	(process_event): s/render_state_set_file/event_change_face_index/.
	(main): Updated.

2015-04-18  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Show advance width.

	* src/ftgrid.c (grid_status_draw_outline): Display vertical line at
	advance width position.

2015-04-16  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Key `W' now toggles warper (if compiled-in).

	* src/ftgrid.c [FT_DEBUG_AUTOFIT]: New extern variable
	`_af_debug_disable_warper'.
	(GridStatusRec): Add `do_warp' member.
	(grid_status_init): Updated.
	(grid_status_draw_outline): Set `_af_debug_disable_warper'.
	(event_help): Updated.
	(Process_Event): Handle `W' key.

2015-04-16  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Make blue zone toggling actually work.

	* src/ftgrid.c (grid_status_draw_outline) [FT_DEBUG_AUTOFIT]: Set
	`_af_debug_disable_blue_hints'.

2015-04-16  Werner Lemberg  <wl@gnu.org>

	* src/ftgrid.c (Process_Event) <' '>: Don't reset debugging flags.

2015-04-16  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Cycle through AA rendering modes with F5 and F6.

	* src/ftgrid.c (event_lcd_mode_change): New function.
	(Process_Event) [FT_DEBUG_AUTOFIT]: Enable debug stuff for light AA
	mode also.
	Handle `F5' and `F6' keys.
	(event_help): Updated.

2015-04-14  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Fix memory leak.

	* src/ftgrid.c (event_font_change): Free `status.mm' before calling
	`FT_Get_MM_Var' (again).

2015-04-14  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Show proper names for GX axes.

	* src/ftgrid.c: Include `aux.h', FT_SFNT_NAMES_H, and
	FT_TRUETYPE_IDS_H.
	(GridStatusRec): Add `axis_name' array.
	(event_font_change): Set GX axis name if possible.
	(write_header): Use `axis_name' if non-NULL.
	(main): Add clean-up code for `axis_name' array.

2015-04-14  Werner Lemberg  <wl@gnu.org>

	[aux] Add functions for outputting strings.

	* src/aux.c (hexdigit): New static array.
	(put_ascii_string, put_ascii_string_size, put_unicode_be16_string,
	put_unicode_be16_string_size): New functions.
	(put_ascii, put_unicode_be16): Use new functions to implement it.

	* src/aux.h: Updated.

2015-04-14  Werner Lemberg  <wl@gnu.org>

	Move some output functions to a separate file.

	* src/aux.c, src/aux.h: New files, holding `put_ascii' and
	`put_unicode_be16' from...
	* src/ftdump.c: ... this file, which now includes `aux.h'.

	* Makefile (COMMON_OBJ): Add `aux.c'.
	Fix rule.

2015-04-11  Werner Lemberg  <wl@gnu.org>

	[ftbench] Check unscaled advance widths also.

	* src/ftbench.c (main) <FT_BENCH_LOAD_ADVANCES>: Add test.

2015-04-05  Werner Lemberg  <wl@gnu.org>

	[ftdump] Simplify code.

	* src/ftdump.c (put_unicode_be16_as_utf8): Fold into...
	(put_unicode_be16): This function, with an additional argument.
	Update all callers.

2015-04-03  Werner Lemberg  <wl@gnu.org>

	[ftdump] Remove dead code.

	* src/ftdump.c (debug, trace_level): Remove.
	(usage): Remove #ifdef'ed code.
	(main): Don't handle obsolete options `-d' and `-l'.
	Remove #ifdef'ed code.

2015-04-03  Werner Lemberg  <wl@gnu.org>

	[ftdump] Add option `-u' to emit data in UTF-8 encoding.

	* src/ftdump.c (utf8): New global variable.
	(usage): Updated.
	(put_unicode_be16): Only emit characters < 0x80 as-is.
	(put_unicode_be_as_utf8): New function.
	(Print_Sfnt_Names, Print_MM_Axes): Use it.
	(main): Handle new option `-u'.

	* src/ftdump.1: Updated.

2015-04-02  Werner Lemberg  <wl@gnu.org>

	[ftmulti] Make the first six axes accessible.

	We now use keys F1-F6 and 1-6.  F7 and F8 get its original function
	back (this is, adjusting the glyph index by 10).

	* src/ftmulti.c (MAX_MM_AXES): New macro.  Replaces `T1_MAX_MM_AXIS'
	everywhere.
	(Render_All): Adjust vertical position depending on number of axes.
	(Help): Updated.
	(Process_Event): Handle new keys.
	(main): Use two lines for axes if we have more than three.

2015-04-01  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Fix minor memory leak.

	* src/ftgrid.c (GridStatusRec): Add `stroker' field.
	(grid_status_draw_outline): Updated.
	(main): Call `FT_Stroker_Done'.

2015-03-30  Werner Lemberg  <wl@gnu.org>

	[ftdump] Show proper names for GX axes.

	* src/ftdump.c (Print_MM_Axes): Try to find and display English
	versions of the GX axis names (stored in the `name' table) instead
	of 4-letter tags.

2015-03-29  Werner Lemberg  <wl@gnu.org>

	[ftgrid, ftmulti]: Handle GX fonts with more than 4 axes.

	ftgrid now handles up to 32 axes, while ftmulti will ignore all axes
	but the first four.

	* src/ftgrid.c (MAX_MM_AXES): New macro.
	(GridStatusRec): New field `used_num_axis'.
	(event_axis_change, event_font_change, Process_Event): Use it.

	* src/ftmulti.c (used_num_axis): New global variable.
	(Process_Event, main): Use it.

2015-03-29  Werner Lemberg  <wl@gnu.org>

	[ftdump] Display info about MM axes.

	* src/ftdump.c: Include FT_MULTIPLE_MASTERS_H.
	(Print_MM_Axes): New function.
	(main): Use it.

2015-03-19  Werner Lemberg  <wl@gnu.org>

	[ftdump] Various minor improvements.

	* src/ftdump.c (name_id): Handle WWS entries also.
	Return NULL for not pre-defined entries.
	(put_ascii): Display characters >= 0x80 as hex escape sequence.
	(Print_Sfnt_Names): Improve output.

2015-03-11  Werner Lemberg  <wl@gnu.org>

	Update to latest FreeType library changes.

	* src/ftcommon.c: s/FT_XFREE86_H/FT_FONT_FORMATS_H/.
	(my_face_requester): s/FT_Get_X11_Font_Format/FT_Get_Font_Format/.

2015-03-07  Werner Lemberg  <wl@gnu.org>

	* src/ftvalid.c: Various minor compiler warning fixes.

2015-03-07  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c: Various minor compiler warning fixes.

	* src/ftcommon.c, src/ftcommon.h (FTDemo_Draw_Index): Change type of
	`gindex' to unsigned.

2015-03-07  Werner Lemberg  <wl@gnu.org>

	* src/ftstring.c: Various minor compiler warning fixes.

2015-03-07  Werner Lemberg  <wl@gnu.org>

	[ftmulti] Various minor compiler warning fixes.

	* src/ftmulti.c: Fix signedness issues.
	Add `static' keyword where appropriate.
	(CENTER_X, CENTER_Y, autorun, use_grays, raster_buff, FLOOR, CEIL,
	TRUNC): Removed.  Unused.

2015-03-06  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Various minor compiler warning fixes.

	* src/ftgrid.c: Fix signedness issues.
	(event_axis_change, event_font_change): Avoid variable shadowing.
	(CEIL, X_TOO_LONG, Y_TOO_LONG): Removed.  Unused.

2015-03-06  Werner Lemberg  <wl@gnu.org>

	* src/ftgamma.c: Various minor compiler warning fixes.

2015-03-06  Werner Lemberg  <wl@gnu.org>

	[ftcommon] Various minor compiler warning fixes.

	* src/ftcommon.c: Fix signedness issues.
	(my_face_requester): Remove dead code.
	(FTDemo_Install_Font): Protect against stream failure.
	(string_render_prepare): Add `static' keyword.
	* src/ftcommon.h: Updated.

2015-03-05  Werner Lemberg  <wl@gnu.org>

	* src/ftdiff.c: Various minor compiler warning fixes.

2015-03-05  Werner Lemberg  <wl@gnu.org>

	[graph] Many compiler warning fixes.

	* graph/*, graph/x11/*: Fix signedness issues.
	Unified handling of unused variables.
	Add `static' keyword where appropriate.
	Include `foo.h' into `foo.c' where appropriate.

	* graph/grobjs.c, graph/grobjs.h (grRealloc): Removed.  Unused.

2015-03-04  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Various compiler warning fixes.

	* src/ttdebug.c: Decorate global variables/functions with `static'.
	Signedness fixes.
	(main): Protect various command line arguments against invalid
	values.

2015-03-04  Werner Lemberg  <wl@gnu.org>

	* src/ftlint.c: Various minor compiler warning fixes.

2015-03-04  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c: Various minor compiler warning fixes.

2015-03-04  Werner Lemberg  <wl@gnu.org>

	[ftbench] Various compiler warning fixes.

	* src/ftbench.c: Decorate global variables/functions with `static'.
	Signedness fixes.
	(main): Protect various command line arguments against invalid
	values.

2015-03-03  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Add support for MM (and GX) fonts.

	F2 selects the axis, F3 and F4 change the axis value.

	The new code is adapted from `ftmulti.c'.

	* src/ftgrid.c: Include FT_MULTIPLE_MASTERS_H.
	(GridStatusRec): Add `mm', `design_pos', and `current_axis' fields.
	(grid_status_init): Initialize new fields.
	(event_help): Updated.
	(event_axis_change): New function.
	(event_font_change): Handle MM data.
	(Process_Event): Handle new keys.
	(write_header, main): Updated.

2015-03-03  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Less verbose header line.

	* src/ftgrid.c (BUFSIZE): New macro.
	(GridStatusRec, event_help): Use it.
	(write_header): Use it.
	Emit more compact header line.

2015-03-03  Werner Lemberg  <wl@gnu.org>

	* src/ftmulti.c (main): Always display 1/100ths for axis values.

2015-03-03  Werner Lemberg  <wl@gnu.org>

	[ftmulti] Use F1-F8 keys to handle four axes.

	Previously, we used F1 for help and F3-F8 for three axes.

	* src/ftmulti.c (Process_Event): Implement.
	(Help): Updated.

2015-03-03  Werner Lemberg  <wl@gnu.org>

	Recommend `?' instead of `F1' for help.

	Usually, both `F1' and `?' map to the help screen.  However, not all
	display managers provide the F1 key to the application.

	* src/ftdiff.c (main), src/ftgrid.c (main), src/ftmulti.c (main),
	src/ftstring.c (main), src/ftview.c (main): Apply.

2014-12-30  Werner Lemberg  <wl@gnu.org>

	* Version 2.5.5 released.
	=========================


	Tag sources with `VER-2-5-5'.

	* README: Updated.
	* src/*.1: Updated.

	* Makefile (dist): Fix typos.

2014-12-11  Werner Lemberg  <wl@gnu.org>

	* Makefile (dist): Use older POSIX standard for `tar'.

	Apparently, BSD tar isn't capable yet of handling POSIX-1.2001
	(contrary to GNU tar), so force the POSIX-1.1988 format.

	Problem reported by Stephen Fisher <sfisher@SDF.ORG>.

2014-12-06  Werner Lemberg  <wl@gnu.org>

	* Version 2.5.4 released.
	=========================


	Tag sources with `VER-2-5-4'.

	* README: Updated.
	* src/*.1: Updated.

2014-11-22  Werner Lemberg  <wl@gnu.org>

	Show FreeType version in demo program help screens.

	* src/ftdiff.c (event_help), src/ftgrid.c (event_help),
	src/ftmulti.c (Help), src/ftstring.c (event_help), src/ftview.c
	(event_help): Implement it.

2014-05-11  Werner Lemberg  <wl@gnu.org>

	Fix Savannah bug #42182.

	* src/ttdebug.c (main): Fix typos.

2014-03-06  Werner Lemberg  <wl@gnu.org>

	* Version 2.5.3 released.
	=========================


	Tag sources with `VER-2-5-3'.

	* README: Updated.
	* src/*.1: Updated.

2014-03-04  Werner Lemberg  <wl@gnu.org>

	* Makefile (LINK_LIBS) [unixdev]: Don't use pkg-config for bzip2.

	Not all platforms have `bzip2.pc'.  We also add `-lz' just for
	completeness.

2014-01-30  Werner Lemberg  <wl@gnu.org>

	[ftbench] Allow `-s 0' for better testing of FT_LOAD_NO_SCALE.

	* src/ftbench.c (main) <'s'>: Don't alter value 0.
	Don't call `FT_Set_Pixel_Sizes' for size == 0.
	Don't call tests for size == 0 that need valid scaling factors.
	(usage): Updated.
	(benchmark): Return meaningful timer value for error-only calls.
	(test_embolden): Enable test.  I think there is no longer a reason
	to not run it.

	* src/ftbench.1: Updated.

2014-01-28  Werner Lemberg  <wl@gnu.org>

	* src/ftgrid.c (grid_status_rescale_initial): Avoid NaN values.
	Remove forgotten debug message.

2014-01-28  Werner Lemberg  <wl@gnu.org>

	* graph/grblit.c (grBlitGlyphToBitmap): Don't crash on empty glyphs.
	Problem reported by Dave Arnold <darnold@adobe.com>.

2014-01-03  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Show (some) blue zones.

	* src/ftgrid.c (af_glyph_hints_get_segment_offset): Update
	prototype.
	(GridStatusRec): New member `blue_color'.
	(grid_status_display): Change `on' color to red.
	Set `blue' color.
	(grid_hint_draw_segment): Show associated blue zones.
	(event_help): Updated.

2014-01-03  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Minor.

	* src/ftgrid.c (GridStatusRec): Rename `conic_color' to `off_color'.
	Remove unused `cubic_color' member.
	(grid_status_display, grid_status_draw_outline): Updated.

2013-12-22  Werner Lemberg  <wl@gnu.org>

	* Makefile (LINK_LIBS) [unixdev]: Use pkg-config to get link flags.

	This corresponds to a similar change in current FreeType to link
	with HarfBuzz in development mode.

2013-12-08  Werner Lemberg  <wl@gnu.org>

	* Version 2.5.2 released.
	=========================


	Tag sources with `VER-2-5-2'.

	* README: Updated.
	* src/*.1: Updated.

2013-11-27  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Fix compilation in non-debug mode.

	* src/ftgrid.c: Guard autofit dump functions with FT_DEBUG_AUTOFIT
	clause.
	Update prototypes.
	(grid_hint_draw_segment): Guard with FT_DEBUG_AUTOFIT clause.
	(grid_status_draw_outline): Guard call to `grid_hint_draw_segment'
	with FT_DEBUG_AUTOFIT clause.
	(Process_Event) <'1'>, <'2'>, <'3'>: Don't mess around with trace
	levels, which should always stay internal to the FreeType library.
	Update calls to dump functions.

2013-11-25  Werner Lemberg  <wl@gnu.org>

	* Version 2.5.1 released.
	=========================


	Tag sources with `VER-2-5-1'.

	* README: Updated.
	* src/*.1: Updated.

2013-11-21  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Make keys `1', `2', and `3' work again.

	* src/ftgrid.c (Process_Event) <'1'>, <'2'>, <'3'>: Set
	`trace_afhints'	trace level to value 7 temporarily since the autofit
	dumping functions use `FT_TRACE7' since 2012-07-06.

2013-11-21  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Fix compilation with C++.

	* src/ftgrid.c (_af_debug_*): Add `extern' keyword.

2013-11-20  Werner Lemberg  <wl@gnu.org>

	Increase file path size.

	* src/compos.c (main), src/ftchkwd.c (main), src/ftdump.c (main),
	src/ftlint.c (main), src/ftmemchk.c (main), src/ftsbit.c (main),
	src/fttimer.c (main), src/fttry.c (main): Increase array size of
	`filename' and `alt_filename' to 1024.

2013-11-13  Werner Lemberg  <wl@gnu.org>

	* Makefile (FT_H): Update to new header layout of FreeType.

2013-11-05  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Improve display of point tags.

	* src/ttdebug.c (old_tag_to_new): Removed, no longer used.
	(display_changed_points, show_points_table): Display tags with
	mnemonic characters instead of ORed numbers.
	(RunIns) <'h'>: Updated.

2013-11-05  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Enable debugging of composite glyphs (again).

	This was lost while improving key handling.

	* src/ttdebug.c (RunIns): Introduce variable `really_leave' to
	insert one stop before really leaving the current glyph range.
	Without that, inspecting the current data right after finishing the
	hinting of a subglyph wouldn't be possible.
	(main): Stay in loop even if `FT_Load_Glyph' returns zero.

2013-11-04  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Provide man page and compile program by default.

	* Makefile (EXES): Add `ttdebug'.

	* src/ttdebug.1: New file.

2013-11-01  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Make `B' emit a function backtrace.

	This needs the today's version of the FreeType library.

	* src/ttdebug (RunIns) <'h'>: Updated.
	<'B'>: Print backtrace.

2013-11-01  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Make `p' set a breakpoint at previous position.

	* src/ttdebug.c (RunIns): Store information about last position in
	`last_IP' and `last_range'.
	<'h'>, <'c'>, <'f'>, <'n'>, <'s'>: Updated.
	<'p'>: Set breakpoint at previous instruction.

2013-10-31  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Minor.

	* src/ttdebug.c: Make full-sentence messages where appropriate.
	(RunIns): Make help screen more compact vertically.

2013-10-31  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Make `b' set a breakpoint.

	* src/ttdebug.c (Breakpoint): New structure.
	(RunIns): Handle breakpoint.
	<'h'>, <'c'>, <'f'>, <'n'>: Updated.
	<'b'>: Set breakpoint.

2013-10-31  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Improve help; add key `h' to show it.

	* src/ttdebug.c (RunIns) <'?'>: Update and redesign help screen.
	<'h'>: Same as key `?'.
	(main): Show version string and help info at start-up.

2013-10-31  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Make key `R' restart the debugger.

	* src/ttdebug.c (Restart): New macro.
	(RunIns) <'Q'>: Set `pedantic_hinting' flag.
	<'R'>: Set error to `Restart'.
	(main): Add loop.

2013-10-30  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Make key `f' finish current function.
	Change old `f' key to `F'.

	* src/ttdebug.c (RunIns)
	<'f'>: Renamed to ...
	<'F'>: ... this.
	<'f'>: Loop until current function is finished.
	<'?'>: Updated.

2013-10-28  Werner Lemberg  <wl@gnu.org>

	Add manual pages.
	Originally contributed (but heavily modified) by Nis Martensen
	<nis.martensen@web.de>.

	* src/ftbench.1, src/ftdiff.1, src/ftdump.1, src/ftgamma.1,
	src/ftgrid.1, src/ftlint.1, src/ftmulti.1, src/ftstring.1,
	src/ftvalid.1, src/ftview.1: New files.

2013-10-28  Werner Lemberg  <wl@gnu.org>

	[ftbench, ftmulti, ftvalid] Improve and correct usage output.

	This commit also changes key mappings in ftvalid ('L' -> 'l', 'v' ->
	'V'), adds option -v to display the version, and removes dead code.

	* src/ftbench.c (bench_desc): Fix typo.

	* src/ftmulti.c (usage): Do it.

	* src/ftvalid.c (validators, print_usage): Do it.
	(main): Updated.

2013-10-27  Werner Lemberg  <wl@gnu.org>

	* src/ttdebug.c (main, RunIns): Fix memory leaks.

2013-10-26  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Display storage are data; key 'S' shows all of them.

	* src/ttdebug.c (Storage): New structure.  We need to handle storage
	area data specially since we have to make a distinction between
	initialized and uninitialized values.
	(handle_WS): New function.  Since it is not necessary for the
	bytecode interpreter to trace whether a value is uninitialized or
	not, we have to do it manually right before every debugging step.
	(RunIns): After executing a step, storage area data different to
	before is displayed.
	<'?'>: Help updated.
	<'S'>: Show storage area data.
	<'c'>, <'s'>, <'n'>: Call `handle_WS'.

2013-10-26  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Fix code range detection.

	* src/ttdebug.c (RunIns): The `code_range' string identifies the
	code range where `RunIns' has been called, so it's best to use it
	throughout the code for this purpose.
	<'C'>, <'P'>, <'S'>: Updated accordingly.
	(show_points_table): Updated accordingly.

2013-10-25  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Display CVT data; key `C' shows all Control Values.

	* src/ttdebug.c (RunIns): New array `save_cvt'.
	After executing a step, CVT data different to before is displayed.
	<'C'>: Show CVT data.
	<'?'>: Help updated.

2013-10-25  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Change some key assignments from lowercase to uppercase.

	* src/ttdebug.c (RunIns) <'v'>: Use 'V' instead.
	<'g'>: Use 'G' instead.
	<'p'>: Use 'P' instead.
	<'t'>: Use 'T' instead.
	<'q'>: Use 'Q' instead.
	<'?'>: Help updated.

2013-10-25  Werner Lemberg  <wl@gnu.org>

	* src/ttdebug.c (RunIns) <'n'>: Handle ranges correctly.

2013-10-16  Werner Lemberg  <wl@gnu.org>

	* src/ttdebug.c (RunIns): Handle `Enter' key correctly.

2013-10-16  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Display twilight data; key `t' shows twilight point table.

	* src/ttdebug.c (display_changed_points, show_points_table): Pass
	flag for twilight zone and handle it accordingly.
	(RunIns): Track twilight data.
	Handle key `t'.
	Update help.

2013-10-16  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Some refactorization.

	* src/ttdebug.c (display_changed_points, show_points_table): New
	functions, extracted from...
	(RunIns): ... this one.

2013-10-16  Werner Lemberg  <wl@gnu.org>

	* src/ttdebug.c: s/save/save_pts/.

2013-10-16  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Display improvements.

	* src/ttdebug.c (exec): Removed, unused.
	(RunIns): Increase size of `temp' buffer.
	Display negative hex numbers.
	Correctly display hex numbers with more than 4 digits.
	(RunIns) <'g'>: Display interpreter version.

2013-10-09  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (Render_Waterfall): Avoid `%n' in `snprintf'.

	MSVC disables this by default, and compilation would fail otherwise.

2013-09-28  Dave Arnold  <darnold@adobe.com>

	* src/ftdiff.c (Process_Event) <'H'>: Fix typo.

	If FT_DEBUG_AUTOFIT is false, then the command `H' had a side-effect
	of decrementing the glyph index.

2013-09-23  Werner Lemberg  <wl@gnu.org>

	[ftdiff] Improve text display at small sizes.

	* src/ftdiff.c (render_state_draw): Loop over the text.  This also
	avoids problems if the .notdef character has zero width (for
	whatever reasons).

2013-07-21  Behdad Esfahbod  <behdad@google.com>

	* src/ftcommon.c (FTDemo_Index_To_Bitmap): Add BGRA support.

2013-07-21  Werner Lemberg  <wl@gnu.org>

	* graph/rules.mk (GRAPH_H): Add missing files.

2013-07-21  Behdad Esfahbod  <behdad@google.com>

	* src/ftcommon.c (FTDemo_Index_To_Bitmap): Remove unneeded code.

2013-07-21  Behdad Esfahbod  <behdad@google.com>

	[graph] Fix BGRA blending.

	* graph/gblbgra.h: Simplify and correct blending operation.

2013-07-20  Werner Lemberg  <wl@gnu.org>

	Fix Savannah bug #39537.

	*/* s/FALSE/0/, s/TRUE/1/.

2013-07-20  Werner Lemberg  <wl@gnu.org>

	Improve font loading.

	In particular, avoid a crash in ftgrid for fonts without outlines.

	* src/ftcommon.c (FTDemo_Install_Font): Provide argument to load
	fonts with outlines only.
	* src/ftcommon.h, src/ftview.c, src/ftstring.c: Updated.
	* src/ftgrid.c (main): Updated.
	Emit warning message for skipped fonts.

2013-07-05  Werner Lemberg  <wl@gnu.org>

	[ftbench] Be more verbose in reporting results.

	* src/ftbench.c (benchmark): Indent trace output.
	(usage): Minor improvement.
	(main): Add some option value guards.
	Print information on test setup.

2013-07-02  Werner Lemberg  <wl@gnu.org>

	[ftbench] Improve `usage' text.

	* src/ftbench.c (default_hinting_engine,
	default_interpreter_version): New global variables.
	(usage): Improve text for `-H' and `-f'.
	(main): Updated.

2013-06-26  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Implement CFF and TTF engine change support.

	Key `H' toggles this.

	* src/ftgrid.c: Include FT_MODULE_H, FT_INTERNAL_OBJECTS_H,
	FT_INTERNAL_DRIVER_H, FT_CFF_DRIVER_H, and FT_TRUETYPE_DRIVER_H.
	(N_CFF_HINTING_ENGINES): Define macro.
	(GridStatusRec): Add `cff_hinting_engine' and
	`tt_interpreter_version'.
	(event_help): New layout similar to ftview.
	(event_cff_hinting_engine_change,
	event_tt_interpreter_version_change): New functions.
	(Process_Event): Extend handling of `H' key.
	(main): Get default properties of CFF and TTF drivers.

2013-06-26  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (event_help): Mention `q' and `ESC' keys.

2013-06-19  Werner Lemberg  <wl@gnu.org>

	* Version 2.5.0 released.
	=========================


	Tag sources with `VER-2-5-0'.

	* README: Updated.

2013-06-12  Werner Lemberg  <wl@gnu.org>

	[ftbench] Allow arbitrary sizes.

	* src/ftbench.c (main): Remove size limit.

2013-06-10  Werner Lemberg  <wl@gnu.org>

	[ftview] Use key `K' for toggling small cache.

	Key `C' is already in use.

	* src/ftview.c (Process_Event) <'C'>: Replace with...
	<'K'>: This key.
	Add missing `break'.
	(event_help): Updated.

2013-06-09  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Add command `f' to select number format.

	* src/ttdebug.c (use_float): New global variable.
	(RunIns): Add `f' key to toggle between floating and fixed point
	number formats.
	Update all affected print commands.

2013-06-09  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Add command `l', improve help and output.

	* src/ttdebug.c (RunIns): Display message if entering a new code
	range.
	Improve output of `?' and `p' keys.
	Add `l' key to show last bytecode instruction.

2013-06-09  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Add command line option `-H' to select hinting engine.

	* src/ttdebug.c: Include FT_TRUETYPE_DRIVER_H.
	(default_version, alternative_version): New global variables.
	(Usage): Updated.
	(main): Handle option `-H'.

2013-06-09  Werner Lemberg  <wl@gnu.org>

	[ftview] Fix cache handling.

	* src/ftview.c (event_cff_hinting_engine_change,
	event_tt_interpreter_version_change): Reset the cache to flush the
	glyph image cache.  Otherwise, the cache lookup functions get
	confused since info about module properties is not stored in the
	glyph cache nodes.

2013-06-03  Werner Lemberg  <wl@gnu.org>

	[ftview, ftdiff, ftbench] Update CFF and TT property handling.

	* src/ftbench.c (main): Make option `-H' use the non-default
	properties and warning if there is a problem.

	* src/ftdiff (render_state_init): At startup, use default
	properties.
	(process_event) <'H'>: Do nothing if non-default `hinting-engine'
	property is not available.

	* src/ftview.c (event_cff_hinting_engine_change): Do nothing if
	non-default `hinting-engine' property is not available.
	(Process_Event) <'H'>: Updated.
	(main): At startup, use default properties.

2013-05-22  Behdad Esfahbod  <behdad@google.com>

	Add support for color glyphs.

	In ftview, key `c' toggles color, while use of sbits cache is now
	mapped to key `C'.

	The premultiplied bgra blending is still off.

	* graph/gblany.h (_gblender_blit_bgra_): New template.
	* graph/graph.h (grPixelMode): Add gr_pixel_mode_bgra.
	* graph/gblblit.h (GBlenderSourceFormat): Add GBLENDER_SOURCE_BGRA.
	* graph/gblblit.c (gblender_blit_init): Handle GBLENDER_SOURCE_BGRA.
	* graph/grblit.c (grBlitGlyphToBitmap): Updated.
	* graph/gblbgra.h: New header file.

	* src/ftcommon.h (FTDemo_Handle): New member `color'.
	* src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags): Updated.
	(FTDemo_Glyph_To_Bitmap): Handle FT_PIXEL_MODE_BGRA.

	* src/ftview.c (Process_Event) <'c'>: Handle color.
	<'C'>: Handle sbits cache.
	(help): Updated.
	(write_header): Updated.

	* Makefile (LINK_LIBS): Add -lpng.

2013-05-17  Werner Lemberg  <wl@gnu.org>

	[ftview, ftdiff, ftbench] Support `interpreter-version' property.

	* src/ftbench.c: Include FT_TRUETYPE_DRIVER_H.
	(usage): Updated.
	(main): Update `-H' option.

	* src/ftdiff.c: Include FT_TRUETYPE_DRIVER_H.
	s/hinting_engine/cff_hinting_engine/.
	(ColumnStateRec): Add `tt_interpreter_version' member.
	(render_state_init, render_state_draw): Updated.
	(event_help): Updated.
	(process_event) <'H'>: Handle new property.

	* src/ftview.c: Include FT_TRUETYPE_DRIVER_H.
	s/hinting_engine/cff_hinting_engine/.
	s/HINTING_ENGINES/CFF_HINTING_ENGINES/.
	(status): Add `tt_interpreter_version' member.
	(event_tt_interpreter_version_change): New function.
	(Process_Event) <'H'>: Use it.
	(write_header): Updated.
	(main): Set default value for `interpreter-version'.

2013-05-13  Sebastien Bacher  <seb128@ubuntu.com>

	* src/ftview.c (write_header): Fix uninitialized variables.

2013-05-08  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.12 released.
	==========================


	Tag sources with `VER-2-4-12'.

	* README: Updated.

	* src/x11/grx11.c: s/read/lread/, s/write/lwrite/ where appropriate
	to avoid variable shadow warnings.

2013-05-03  Werner Lemberg  <wl@gnu.org>

	[ftbench] New command line option `-H' to select Adobe's CFF engine.

	* src/ftbench.c: Include FT_MODULE_H and FT_CFF_DRIVER_H.
	(main): Handle `H' key.
	(usage): Updated.

2013-04-27  Werner Lemberg  <wl@gnu.org>

	[ftview] Don't show encoding in `text' and `waterfall' modes.

	Those two modes always use UTF-8 (or rather, they use
	FTDemo_Get_Index).

	* src/ftview.c (write_header): Implement it.

2013-04-26  Werner Lemberg  <wl@gnu.org>

	[ftview] Allow engine change for non-hinted modes also.

	This is useful to demonstrate the stem darkening of the Adobe's CFF
	engine.

	* src/ftview.c (Process_Event) <'H'>, (write_header): Adjust
	conditions.

2013-04-23  Werner Lemberg  <wl@gnu.org>

	[ftview] Improve waterfall and text mode.

	* src/ftview.c (status): New member `topleft'.
	(Text): Convert string to UTF-8 encoding.  Now the whole string is
	displayed again.
	(Render_Stroke, Render_Slanted, Render_Embolden, Render_All): Set
	`status.topleft' to the first offset which gets really displayed.
	(Render_Text, Render_Waterfall): Set `status.topleft' to the first
	offset which gets really displayed.
	If characters from the `Text' string have been exhausted, start
	again from the beginning.
	(write_header): Always assume UTF-8 encoding for displaying header
	in `text' and `waterfall' modes.

2013-04-23  Werner Lemberg  <wl@gnu.org>

	[ftview] Rename some variables.

	* src/ftview.c (status): s/font_index/font_idx/.
	s/Num/offset/.
	s/Fail/num_fails/.
	s/fw_index/fw_idx/.
	Update all callers.
	(Render_Stroke, Render_Slanted, Render_Embolden, Render_All,
	Render_Text, Render_Waterfall): s/first_index/offset/.
	(event_index_change): s/old_Num/old_offset/.
	(write_header): s/gindex/glyph_idx/.

2013-04-20  Werner Lemberg  <wl@gnu.org>

	[ftdiff] New `x' key to toggle layout modes. (cbox vs. adv. width).

	Using the advance width is the new default.

	* src/ftdiff.c (ColumnStateRec): New member `use_cboxes'.
	(render_state_init): Updated.
	(render_state_draw): Use advance width instead of the maximum x
	value of the cbox if `use_cboxes' is set to 0.
	(event_help): Updated.
	(process_event): Handle `x' key.

2013-04-18  Werner Lemberg  <wl@gnu.org>

	[ftdiff] Implement key `H' to select CFF hinting engine.

	* src/ftdiff.c: Include FT_CFF_DRIVER_H.
	Include FT_MODULE_H, FT_INTERNAL_OBJECTS_H, and
	FT_INTERNAL_DRIVER_H.
	(HINTING_ENGINE_MAX): New macro.
	(ColumnStateRec): New member `hinting_engine'.
	(render_state_init): Updated.
	(render_state_draw): Select hinting engine.
	Display hinting engine if we have CFF font.
	(event_help): Updated.
	(process_event): Handle `H' key.

	* Makefile (ftdiff.$(SO)): Enable inclusion of internal header
	files.

2013-04-17  Werner Lemberg  <wl@gnu.org>

	Support display of no anti-aliasing, no hinting.

	* src/ftcommon.c (FTDemo_Update_Current_Flags): Handle this by
	setting FT_LOAD_MONOCHROME for this combination.

2013-04-17  Werner Lemberg  <wl@gnu.org>

	[ftview] Be more intelligent in updating the display.

	This improves readability of tracing messages.

	* src/ftview.c (event_bold_change, event_change_radius,
	event_slant_change, event_size_change, event_index_change,
	event_font_change): Return update status.
	(Process_Event): Update display only if an event causes a change.

2013-04-17  Werner Lemberg  <wl@gnu.org>

	[ftview] Minor GUI improvements.

	* src/ftview.c (event_hinting_engine_change,
	event_render_mode_change): Simplify.
	(Process_Event): Make keys `A'-`F' work only if AA is active.
	Disable keys `f' and `H' if in light hinting mode.
	(write_header): Ditto for header messages.

2013-04-17  Werner Lemberg  <wl@gnu.org>

	[ftview] Key `H' should be active only if we have a CFF.

	* src/ftview.c (Process_Event): Do it.

2013-04-13  Werner Lemberg  <wl@gnu.org>

	[ftview] Add keys `A'-`F' to select LCD mode.

	* src/ftview.c (event_help): Updated and rewritten to provide a
	two-column layout.
	(Process_Event): Handle `A'-`F'; former key `F' is now mapped to
	`L'.

2013-04-13  Werner Lemberg  <wl@gnu.org>

	[ftview] Key `H' switches CFF hinting engines.

	* src/ftview.c: Include FT_MODULE_H, FT_INTERNAL_OBJECTS_H,
	FT_INTERNAL_DRIVER_H, and FT_CFF_DRIVER_H.
	(N_HINTING_ENGINES): New macro.
	(status): New member `hinting_engine'.
	(event_help): Updated.
	(event_hinting_engine_change): New function.
	(Process_Event): Handle `H' key.
	(main): Set default CFF engine.

2013-04-21  Werner Lemberg  <wl@gnu.org>

	[graph/x11] Set _NET_WM_PID property.

	* graph/X11/x11/grx11.c: Include `sys/types.h', `unistd.h', and
	`XAtom.h'.
	(gr_x11_surface_init): Get process ID and set _NET_WM_PID property.

2013-03-27  Werner Lemberg  <wl@gnu.org>

	Makefile (COMPILE): Add `CPPFLAGS'.

	Two reasons:

	  (a) for orthogonality with freetype.mk
	  (b) users can pass additional stuff to the compiler

2013-03-24  Werner Lemberg  <wl@gnu.org>

	[ftview] Improve rendering mode switching.

	* src/ftview.c (status): Add `update' field.
	(Process_Event): Set `update' to 1 only if we really have to do an
	update.
	(main): Updated.

2013-03-24  Werner Lemberg  <wl@gnu.org>

	[ftview] Use `l' and `k' keys instead of `L' and `K'.

	* src/ftview.c (event_help, Process_Event): Implement it.

2013-03-24  Werner Lemberg  <wl@gnu.org>

	Don't try to handle rendering precision.

	This is a non-functional remnant of FreeType 1.  All font drivers
	using B/W rendering activate this at ppem < 24.

	* src/ftcommon.h (FTDemo_Handle): Remove `low_prec' field.
	* src/ftcommon.c (FTDemo_New): Updated.
	* src/ftmulti.c (low_prec): Removed.
	(Help, Process_Event): Updated.
	* src/ftstring.c (event_help, Process_Event): Updated.
	* src/ftview.c (event_help, Process_Event, write_header): Updated.

2013-03-17  Werner Lemberg  <wl@gnu.org>

	[ftview] Remove options -d and -L.

	Not documented and no longer working.  This functionality is now
	available via FreeType's FT2_DEBUG environment variable.

	* src/ftview.c (status): Remove `debug' and `trace_level'.
	(parse_cmdline, main): Updated.

2013-03-17  Werner Lemberg  <wl@gnu.org>

	[ftview] Remove option -D.

	This no longer works because the used cache values are now internal.

	* src/ftview.c (status): Remove `dump_cache_stats'.
	(usage, parse_cmdline, main): Updated.

2013-02-16  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftbench] Make BBox test harder.

	Rotating an outline puts more off-points outside of its bounding box.

	* src/ftbench.c: Include FT_OUTLINE_H.
	(test_get_bbox): Rotate outline by 30 degrees.

2013-02-12  Werner Lemberg  <wl@gnu.org>

	[ftbench] Add test for `FT_Outline_Get_BBox'.

	* src/ftbench.c: Include FT_BBOX_H.
	(FT_BENCH_GET_BBOX): New enumeration value.
	(bench_desc): Updated.
	(test_get_bbox): New function.
	(main): Handle FT_BENCH_GET_BBOX.

2013-02-08  Werner Lemberg  <wl@gnu.org>

	Implement `-v' to show version.

	Rename ftdump's `verbose' option to `-V'.
	Beautify and harmonize usage strings.

	* src/ftbench.c (bench_desc): Improve.
	(usage): Updated.
	(main): Handle `-v'.

	* src/ftdiff.c (usage): Updated.
	(render_state_init): Pass `library' argument.
	Move FreeType initialization to...
	(main): Here.
	Handle `-v'.

	* src/ftdump.c (usage): Updated.
	(main): Handle `-v', rename old `-v' to `-V'.

	* src/ftmulti.c (usage): Updated.
	(main): Handle `-v'.

	* src/ftgrid.c, src/ftstring.c, src/ftview (usage): Updated.
	(parse_cmdline): Handle `-v'.
	(main): Updated.

2013-02-08  Werner Lemberg  <wl@gnu.org>

	[ftdiff] Simplify option handling.

	* src/ftdiff.c (get_option_arg): Removed.
	(main): Use `getopt'.

2013-02-08  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c, src/ftcommon.h (FTDemo_New): Take no parameter.

	* src/ftgrid.c, src/ftstring.c, src/ftview.c: Updated.

2013-02-06  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Remove options `-n' and `d'; add `-v' to show version.

	* src/ttdebug.c: Include `common.h'.
	(Panic): Renamed to...
	(Abort): This to avoid name clash.
	(dump_mode, non_interactive_mode): Removed.  Unused.
	(main): Use `getopt'.
	Implement `-v' to show FreeType version.
	(Usage): Updated and synchronized with other usage messages from
	FreeType demo programs.

	* Makefile (ttdebug$E): Updated to use `common.c'.

2013-02-06  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Make `q' work correctly.

	* src/ttdebug.c (Quit): New macro.
	(RunIns, main): Handle `Quit'.

2013-02-06  Werner Lemberg  <wl@gnu.org>

	* src/ttdebug.c (RunIns): Slightly beautify output.
	(Usage): Mention help key.

2013-02-06  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Make it work again (partially).

	Since we now have lazy execution of the `prep' bytecode, the old
	ttdebug code no longer could debug it.

	The new code debugs `fpgm', `prep', and the glyph's bytecode in one
	run.  To facilitate it,  it also adds a new `c' key to continue to
	the next code range.

	* src/ttdebug.c (debug_coderange): Removed.
	(RunIns): Always run debugger.
	Report `end of program' only after glyph program.
	Update output of `?' key.
	Handle `c' key to loop until end of code range is reached.
	(Usage): Updated.
	(main): Don't handle negative glyph indices.

2013-02-06  Werner Lemberg  <wl@gnu.org>

	* src/ttdebug.c: s/exc->/CUR./.

2013-02-05  Werner Lemberg  <wl@gnu.org>

	* src/ttdebug.c (OpStr): Oops!  Add commas back.

2013-02-05  Werner Lemberg  <wl@gnu.org>

	[ttdebug] Fix compilation warnings.

	* src/ttdebug.c (Cur_U_Line): Use `CUR' macro.
	(RunIns): Use global `error' variable.
	Use a const `temp' pointer locally.
	(Usage): Fix declaration.

2013-02-05  Werner Lemberg  <wl@gnu.org>

	* src/ttdebug.c: Formatting, improving messages.

2013-01-28  Werner Lemberg  <wl@gnu.org>

	[ftview] Make waterfall display -m string.

	Also make leftArrow key and friends functional.

	* src/ftview.c (Text): Make it `const char*'.
	(Render_Waterfall): Add argument to pass first index.
	Use -m option if given, and handle it as UTF-8.
	(Render_Text, parse_cmdline, main): Updated.

2013-01-28  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (write_header): Show rendering mode number.

2013-01-03  Werner Lemberg  <wl@gnu.org>

	[ftdiff] Slightly redesign layout to display all options.

	Also some other, minor changes.

	* src/ftdiff.c: Include <string.h>.
	(RenderStateRec): Remove `message' and `message0'.
	Update all users.
	(render_state_draw): Display one more line for status information.
	(write_message): Renamed to...
	(write_global_info): This.
	Also display family and style name; we thus no longer need to
	display the number of subfonts.
	Also display dpi, ppem, and gamma.
	(main): Slightly improve column layout.

	(event_help): Minor improvement.
	(adisplay_change_gamma): Use epsilons.
	(render_state_set_file): Don't loop around the start or end of the
	face list.  Other FreeType demo programs don't do this either.

2013-01-03  Werner Lemberg  <wl@gnu.org>

	[ftdiff] Store family and style name of loaded fonts.

	To be used in a following commit.

	* src/ftdiff.c (FontFaceRec): New members `family_name' and
	`style_name'.
	(render_state_set_files): Fill new FontFaceRec members.

2013-01-03  Werner Lemberg  <wl@gnu.org>

	* src/ftdiff (event_help): Improve text.

2013-01-03  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Make it work again.

	* src/ftgrid.c (grid_status_init): Don't initialize variables
	related to `display'.  Do this...
	(grid_status_display): ... in this new function instead.
	(main): Use new function to handle command line arguments before
	initializing the display.

2013-01-02  Werner Lemberg  <wl@gnu.org>

	Increase line height in help texts.

	* src/ftview.c (event_help): Increase line height.
	Improve text.
	* src/ftdiff.c (event_help), src/ftgrid.c (event_help),
	src/ftmulti.c (Help), src/ftstring.c (event_help): Increase line
	height.

2013-01-02  Werner Lemberg  <wl@gnu.org>

	[graph] Implement adjustable line height.

	* graph/grfont.c (gr_line_height): New global variable.
	(grSetLineHeight): New function.
	(grWrite): Use gr_line_height.

	* graph/grfont.h: Updated.

2013-01-02  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (write_header): Improve displayed strings.

2013-01-02  Werner Lemberg  <wl@gnu.org>

	[ftview] Better input key handling.

	* src/ftview.c (Process_Event): Don't handle key events if not
	in a mode where they change something visible.

2013-01-02  Werner Lemberg  <wl@gnu.org>

	* src/ftdiff.c (render_state_set_files): Skip non-scalable fonts.

2013-01-02  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (main) Remove redundant code.

2013-01-02  Werner Lemberg  <wl@gnu.org>

	[ftview] Redesign layout.

	It now displays all options, not only the changes, in a structured
	way.

	* src/ftview.c (START_X, START_Y): New macros.
	(INIT_SIZE): Use them.
	(status): Remove `header' and `header_buffer' members.
	(Render_Waterfall): Use START_X and START_Y.
	(event_gamma_change, event_bold_change, event_radius_change,
	event_slant_change, event_render_mode_change, Process_Event): Don't
	set `status.header'.
	(write_header): Display all options.

	(main): Updated.

2012-12-31  Werner Lemberg  <wl@gnu.org>

	Introduce a warn color.

	* src/ftcommon.h (FTDemo_Display): Add `warn_color' member.

	* src/ftcommon.c (FTDemo_Display_New): Initialize it.

2012-12-31  Werner Lemberg  <wl@gnu.org>

	* src/ftdiff.c (render_state_draw, main): Use HEADER_HEIGHT.

2012-12-27  Werner Lemberg  <wl@gnu.org>

	Increase header line distances.

	* src/ftgrid.c, src/ftview.c (HEADER_HEIGHT): Move to...
	* src/ftcommon.h: ... this file.  Set it to value 12.

2012-12-27  Werner Lemberg  <wl@gnu.org>

	* Makefile: Add dependencies on `ftcommon.h'.

2012-12-26  Werner Lemberg  <wl@gnu.org>

	Implement -w and -h options to specify window width and height.

	* src/ftcommon.c (FTDemo_Display_New): Two new parameters to pass
	width and height.
	(DIM_X, DIM_Y): Moved to ...
	* src/ftcommon.h: ... this.

	* src/ftdiff.c (usage): Updated.
	(ADisplayRec): Add `width' and `height' elements.
	(adisplay_init): Two new parameters to pass width and height.
	(write_message): Updated.
	(main): Handle `-w' and `-h' options.

	* src/ftgamma.c (DIM_X, DIM_Y): Removed.

	* src/ftgrid.c (GridStatusRec): Add `width' and `height' elements.
	(grid_status_init): Updated.
	(usage): Updated.
	(parse_cmdline): Handle `-w' and `-h' options.
	(main): Updated.

	* src/ftmulti.c (DIM_X, DIM_Y): Use the same (new) values as in
	other demo programs.
	(width, height): New global variables.
	(Init_Display): Updated.
	(usage): Updated.
	(main): Handle `-w' and `-h' options.

	* src/ftstring.c (status): Add `width' and `height' elements.
	(usage): Updated.
	(parse_cmdline): Handle `-w' and `-h' options.
	(main): Updated.

	* src/ftview.c (status): Add `width' and `height' elements.
	(usage): Updated.
	(parse_cmdline): Handle `-w' and `-h' options.
	(main): Updated.

2012-12-20  Werner Lemberg  <wl@gnu.org>

	* bin/.cvsignore: Renamed to...
	* bin/.gitignore: ... this.

	* Makefile (dist): Don't include `.mailmap' and `.gitignore'

2012-12-19  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.11 released.
	==========================


	Tag sources with `VER-2-4-11'.

	* README: Updated.

2012-11-27  Werner Lemberg  <wl@gnu.org>

	* src/ftdiff.c (usage): Updated.

2012-11-26  Werner Lemberg  <wl@gnu.org>

	[ftdiff] Accept UTF-8 encoded input files.

	* src/ftdiff.c (default_text): Use `char*' instead of `unsigned
	char*'.
	(main): Ditto for `text' variable.
	(RenderStateRec): Ditto for `text' member.
	(render_state_draw): Ditto for `text' argument.
	Use `utf8_next' to parse UTF-8 encoded text.

2012-11-04  Werner Lemberg  <wl@gnu.org>

	[ftdump] Improve output of cmap tables.

	* src/ftdump.c (Print_Charmaps): Indicate Unicode Variation
	Sequences.

2012-10-20  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c: (main): Minor output formatting.

2012-09-01  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Use pixel size calculation that works for bitmap fonts too.

	* src/ftview.c (Render_Stroke, Render_Embolden): Rely on the status
	point size and resolution to get the pixel size.

2012-08-19  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Implement adjustable stroker radius.

	* src/ftview.c (status): New field 'radius'.
	(Render_Stroke): Updated.
	(Process_Event): Add the keys `r' and `R' to handle the change.
	(event_radius_change): Implement it.
	(event_help): Updated.

2012-08-18  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Use more readable loop.

	* src/ftview.c (main): use do-while instead of for-break.

2012-07-20  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Clean up the code.

	* src/ftview.c (Render_Slanted): Move the shear matrix setup out of
	the loop.
	* src/ftview.c (Render_Embolden): Move the emboldening strength
	calculation out of the loop.

2012-07-12  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Further code homogenization.

	* src/ftview.c (Render_Stroke): Stroker constructor and destructor
	are moved to...
	* src/ftcommon.c (FTDemo_New, FTDemo_Done): Here.
	* src/ftcommon.h (FTDemo_Handle): New field `stroker'.

2012-07-11  Werner Lemberg  <wl@gnu.org>

	Avoid crashes in case of failure.

	* src/ftcommon.c (FTDemo_Draw_Slot), src/ftgrid.c
	(grid_status_draw_outline), src/ftview.c (Render_Stroke): Only call
	`FT_Done_Glyph' in case of success.

2012-07-10  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Clean up and homogenize the code.

	* src/ftview.c (Render_Stroke): Replace while-loop with for-loop.
	(Render_Slanted): Ditto.
	(Render_Embolden): Ditto.
	(Render_All): Ditto.
	(Render_Waterfall): Ditto.
	(Render_Stroke): Homogenize with other similar functions.
	(Render_Text): Code cleanup.
	(event_gamma_grid): Ditto.

2012-06-15  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.10 released.
	==========================


	Tag sources with `VER-2-4-10'.

	* README: Updated.

2012-05-28  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Implement handling of FT_Outline_EmboldenXY.

	* src/ftview.c (status): Replace `bold_factor' with `xbold_factor'
	and `ybold_factor'.
	(Render_Embolden): Updated.
	(Process_Event): Replacing handling of `e', `E' keys with `x', `X',
	`y', and `Y'.
	(event_bold_change): Implement it.
	(event_help): Updated.

2012-03-14  Alexei Podtelezhnikov  <apodtele@gmail.com>

	[ftview] Improve spacing for bold rendering mode.

	* src/ftview.c (Render_Embolden): Fix algorithm to reduce spacing.

2012-03-08  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.9 released.
	=========================


	Tag sources with `VER-2-4-9' (the previous commit has this tag).

	* README: Updated.

2012-03-03  Werner Lemberg  <wl@gnu.org>

	[ftstring] Fix display of kern compare mode.

	* src/ftstring.c (main) <RENDER_MODE_KERNCMP>: Fix scaling of
	`height'.

2012-03-03  Werner Lemberg  <wl@gnu.org>

	Fix handling of track kerning.

	* src/ftcommon.c (string_render_prepare): Fix scaling for
	`FT_Get_Track_Kerning'.

2012-03-03  Werner Lemberg  <wl@gnu.org>

	Remove unused function.

	* src/ftcommon.[ch] (FTDemo_Set_Current_Pointsize): Remove.

2012-03-02  Werner Lemberg  <wl@gnu.org>

	Fix Savannah bug #33660.

	* src/ftcommon.c: Include `FT_XFREE86_H'.
	(file_suffixes): Remove.
	(my_face_requester): Check whether font driver is `Type 1' instead
	of relying on the file suffix.
	Additionally, prefer `.afm' over `.pfm'.
	(FTDemo_Install_Font): Don't try various suffixes.
	Allocate more memory for `font->filepathname' as needed by
	`my_face_requester'.

	* src/ftdiff.c: Include `ftcommon.h' and `common.h'.
	Remove declaration of `error' everywhere.
	(usage): Updated.
	Add argument for binary name.
	Update all callers.
	(event_help): Updated.

	* src/ftgrid.c (usage): Updated.

	* src/ftstring.c (event_help, usage): Updated.

	* src/ftview.c (usage): Updated.

2012-03-02  Werner Lemberg  <wl@gnu.org>

	* src/ftstring.c: Remove redundant code; formatting.

2012-03-02  Werner Lemberg  <wl@gnu.org>

	* src/ftdiff.c: Formatting.

2012-03-02  Werner Lemberg  <wl@gnu.org>

	* src/ftgrid.c: Remove redundant code; formatting.

2012-03-02  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c: Remove dead code; formatting.

2012-02-13  Peter Grandi  <pg_mh@mh.to.sabi.co.UK>

	[ftview] Implement cycling backwards for rendering and LCD modes.

	* src/ftview.c (Process_Event): Handle keys `K' and `backspace'.
	(event_help): Updated.

2012-02-13  Werner Lemberg  <wl@gnu.org>

	Fix X11 keyboard handling.

	* graph/grevents.h (grKey): Shift special keys to a higher range,
	otherwise it can happen that they are processed twice.  For example,
	`grKeyBackSpace' also returns key code 8 under X11, and this was
	previously mapped to `grKeyF8'.

2011-12-07  Antoine Leca  <Antoine-Freetype@Leca-Marti.org>

	Fix printf specifications and parameters.

	* src/ttdebug.c (Cur_U_Line, RunIns): Use "%hu" for FT_UShort,
	"%ld" for FT_Pos; drop the "h" in "%hx" for FT_Byte parameters
	and cast the parameters to (unsigned) ("%hhx" is C99 only, and
	often unimplemented). Noticed by clang.

2011-12-02  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>

	Use $(LIBTOOL) to make graph.a, if it is defined.

	If configure script in FreeType2 library directory creates GNU
	Libtool, using it is better than using raw `ar'.  For example,
	Mac OS X archive library is required to be processed by ranlib.
	See discussion in
	http://lists.gnu.org/archive/html/freetype-devel/2011-10/msg00034.html

	* graph/rules.mk: Change the object suffix $(SO) to $(O) for
	the sake of GNU Libtool.  If $(LIBTOOL) is defined, use it to
	compile the objects and make the library.
	* graph/x11/rules.mk: Ditto.
	* graph/beos/rules.mk: Ditto.

	* Makefile: `clean' target erases the object, the library and
	GNU Libtool related files in .libs/ directory.

2011-11-15  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.8 released.
	=========================


	Tag sources with `VER-2-4-8'.

	* README: Updated.

2011-10-18  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.7 released.
	=========================


	Tag sources with `VER-2-4-7'.

	* README: Updated.

2011-08-14  Werner Lemberg  <wl@gnu.org>

	Improve usage messages.

	This should fix Savannah bug #33660.

	* src/ftgrid.c, src/ftstring.c, src/ftview.c (usage): Reword and
	extend.

2011-07-29  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.6 released.
	=========================


	Tag sources with `VER-2-4-6'.

	* README: Updated.

2011-06-24  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.5 released.
	=========================


	Tag sources with `VER-2-4-5'.

	* README: Updated.

2011-06-01  Werner Lemberg  <wl@gnu.org>

	Fix gcc 4.6 warnings.

	* graph/grblit.c (blit_gray_to_gray): Remove unused variables.
	(blit_gray_to_gray_simple): Declare and set `max' conditionally.

	* src/ftcommon.c (FTDemo_Index_To_Bitmap): Remove unused variable.
	* src/ftmulti.c (Render_All, Render_Text): Ditto.
	* src/ftview.c (INIT_SIZE, Render_Stroke, Render_Slanted,
	Render_Embolden, Render_All, Render_Text, Render_Waterfall): Ditto.

2011-05-01  Just Fill Bugs  <mozbugbox@yahoo.com.au>
	    Werner Lemberg  <wl@gnu.org>

	[ftgrid] Show autohinter segments.  Toggle with key `s'.

	* src/ftgrid.c: Add declarations for
	`af_glyph_hints_get_num_segments' and
	`af_glyph_hints_get_segments_offset'.
	(GridStatus): Add `segment_color' and `do_segment'.
	(grid_status_init): Updated.
	(grid_hint_draw_segment): New function.
	(grid_status_draw_outline): Call it.
	(Process_Event) <'s'>: Toggle display of segment lines.
	(event_help): Updated.

2011-04-24  Werner Lemberg  <wl@gnu.org>

	* src/ftgrid.c (event_grid_zoom): Fix status message.

2011-04-21  Werner Lemberg  <wl@gnu.org>

	FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH is deprecated and ignored.

	* src/ftchkwd.c (check_face): Update load flags.
	* src/ftcommon.h (FTDemo_Handle): Remove `use_global_advance_width'.
	* src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags): Updated.
	* src/ftmulti.c (LoadChar): Update load flags.

	* src/ftdiff.c (ColumnStateRec): Remove `use_global_advance_width'.
	(render_state_init, render_state_draw): Updated.
	(process_event): No longer handle key `a'.
	(event_help): Updated.

	* src/ftview.c (Process_Event): No longer handle key `A'.
	(event_help): Updated.

2011-04-20  Werner Lemberg  <wl@gnu.org>

	[ftgrid]: Prevent incorrect output of `1', `2', and `3' keys.

	* src/ftgrid.c (Process_Event) <'1', '2', '3'>: Ensure that hinting
	is active, otherwise old table data could be emitted.

2011-04-19  Werner Lemberg  <wl@gnu.org>

	* Makefile (FT_INCLUDES): Simplify.

2011-04-18  Werner Lemberg  <wl@gnu.org>

	[ftgrid]: Limit autofit control even more.

	* src/ftgrid.c (Process_Event) <'H', 'V', 'B'> [FT_DEBUG_AUTOFIT]:
	Limit visibility and improve status messages.
	(event_help): Updated.

2011-04-18  Werner Lemberg  <wl@gnu.org>

	[ftgrid] Add forced autohinting and limit autofit dumping.

	* src/ftgrid.c (_af_debug): Remove, unused.
	(Process_Event) <'f'>: Toggle autohinting.
	[FT_DEBUG_AUTOFIT] <'1', '2', '3'>: Limit visibility and improve
	status messages.
	(event_help): Updated.
	(main): Updated.

2011-04-18  Werner Lemberg  <wl@gnu.org>

	Honor DEVEL_DIR.

	* Makefile (FT_INCLUDES) [DEVEL_DIR]: Add $DEVEL_DIR.

2011-03-19  Werner Lemberg  <wl@gnu.org>

	C++ compilation fixes.

	* src/ftcommon.c, src/ftdiff.c: `strrchr' returns `const char *'.

	* src/ftview.c (status): Fix initialization.

2011-01-30  Werner Lemberg  <wl@gnu.org>

	Add flag `A' to ftview for toggling the global advance width flag.

	* src/ftcommon.h (FTDemo_Handle): New field
	`use_global_advance_width'.
	* src/ftcommon.c (FTDemo_New): Set it.
	(FTDemo_Update_Current_Flags): Handle it.

	* src/ftview.c (Process_Event): Handle key `A'.
	(event_help): Updated.

2010-12-31  Werner Lemberg  <wl@gnu.org>

	* Makefile: Add -lbz2 for development builds.

2010-11-28  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.4 released.
	=========================


	Tag sources with `VER-2-4-4'.

	* README: Updated.

2010-10-03  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.3 released.
	=========================


	Tag sources with `VER-2-4-3'.

	* README: Updated.

2010-08-29  Steve Langasek  <steve.langasek@linaro.org>

	Make `grKey' enum comprehensive for gcc 4.5 compatibility.

	* graph/grevents.h (grKey): Avoid the situation of trying to compare
	an enum variable with a value not included in that enum in a case
	statement.  An enum needs to be declared to include the list of all
	possible values (which in the case of keypresses is quite a few),
	not just the most convenient ones.

2010-08-17  Werner Lemberg  <wl@gnu.org>

	[ftbench] Add option `-i' to specify first used glyph index.

	* src/ftbench.c (first_index): New global variable.
	(test_load, test_load_advances, test_render, test_embolden,
	test_get_cbox, test_get_glyph, test_image_cache, test_sbit_cache,
	get_charset): Use it.
	(usage): Updated.
	(main): Handle `-i'.

2010-08-06  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.2 released.
	=========================


	Tag sources with `VER-2-4-2'.

	* README: Updated.

2010-07-23  Werner Lemberg  <wl@gnu.org>

	ftmulti: Oops!  Patch has been applied incorrectly.

	* src/ftmulti.c (main): Really limit axis name length.

2010-07-19  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.1 released.
	==========================


	Tag sources with `VER-2-4-1'.

	* README: Updated.

2010-07-17  Werner Lemberg  <wl@gnu.org>

	ftmulti: Fix possible buffer overflow.
	Based on a patch from Marek Kašík <mkasik@redhat.com>.

	* src/ftmulti.c (main): Limit axis name length in `Header'.

2010-07-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>

	ftdump: Show language ID for all cmap subtables.

	* src/ftdump.c (Print_Charmaps): Print the language IDs obtained by
	FT_Get_CMap_Language_ID().  The language IDs is cast to FT_UInt, so
	broken IDs (> 0xFFFF) will not be shown correctly.

2010-07-12  Werner Lemberg  <wl@gnu.org>

	* Version 2.4.0 released.
	==========================


	Tag sources with `VER-2-4-0'.

	* README: Updated.

2010-06-28  Werner Lemberg  <wl@gnu.org>

	ftbench: Fix suboptions of `-b'.

	* src/ftbench.c (bench_desc): Add missing description for
	FT_BENCH_LOAD_ADVANCES.

2010-06-07  Werner Lemberg  <wl@gnu.org>

	Fix Savannah bug #30054.

	* src/ftdiff.c, src/ftgrid.c, src/ftmulti.c, src/ftstring.c,
	src/ftview.c: Use precision for `%s' where appropriate to avoid
	buffer overflows.

2010-04-14  Werner Lemberg  <wl@gnu.org>

	ftdiff: Add support for LCD filter control.

	Key `l' cycles through the filter modes, `[' and `]' select the
	custom filter weight, `-' and `+' (or `=') adjust the selected
	filter weight.

	This is based on code written by Lifter
	<http://unixforum.org/index.php?showuser=11691>.

	* src/ftdiff.c (ColumnStateRec): Add members for LCD filter control.
	(render_state_init): Updated.
	(render_state_draw): Add support for custom LCD filter.
	(event_help): Document new keys.
	Make help screen more compact.
	(process_event): Handle new keys.

2010-04-14  Werner Lemberg  <wl@gnu.org>

	ftview: Add support for LCD filter control.

	Key `F' toggles custom LCD filter mode, `[' and `]' select the
	custom filter weight, `-' and `+' (or `=') adjust the selected
	filter weight.

	This is based on code written by Lifter
	<http://unixforum.org/index.php?showuser=11691>.

	* src/ftview.c (INIT_SIZE, Render_Waterfall): Add space for a third
	header line.
	(status_): Add members for LCD filter control.
	(event_help): Document new keys.
	Make help screen more compact.
	(Process_Event): Handle new keys.  Use FTC_Manager_RemoveFaceID to
	flush the bitmap caches, forcing a redraw.  I'm not sure whether
	this is the right thing, but it seems to work...
	(write_header): Display custom filter weights.

2010-02-11  Werner Lemberg  <wl@gnu.org>

	* Version 2.3.12 released.
	==========================


	Tag sources with `VER-2-3-12'.

	* README: Updated.

2009-10-10  Werner Lemberg  <wl@gnu.org>

	* Version 2.3.11 released.
	==========================


	Tag sources with `VER-2-3-11'.

	* README: Updated.

2009-10-06  Werner Lemberg  <wl@gnu.org>

	* Version 2.3.10 released.
	==========================


	Tag sources with `VER-2-3-10'.

	* README: Updated.

	* Makefile (major, minor, patch): Fix regexp to allow more
	than a single digit.
	(dist): We now use git.

2009-07-30  Boris Letocha  <b.letocha@gmc.net>

	[graph] Fix rendering on Windows.

	* graph/win32/grwin32.c (gr_win32_surface_refresh_rectangle):
	Handle `gr_pixel_mode_gray' correctly.

2009-06-17  Werner Lemberg  <wl@gnu.org>

	Reduce number of automatically compiled programs.
	Many GNU/Linux distributions install those programs, and most of
	them are completely useless or very specialized.

	* Makefile (LINK): Define.
	(EXES): Reduce list to retain only generally useful programs.
	(ftsbit): Comment out.  Program doesn't compile (but may be useful).
	(ttdebug.o): Make it compile again.

2009-06-17  Werner Lemberg  <wl@gnu.org>

	* Makefile: Handle `EXTRAFLAGS' for platform `unixdev' also.

2009-04-30  Werner Lemberg  <wl@gnu.org>

	ftview: Make slant and boldness controllable.

	Keys `e' and `E' adjust emboldening, keys `s' and `S' the slant.

	* src/ftview.c (status): Add `bold_factor' and `slant' members.
	(Render_Slanted): Use `status.slant'.
	(Render_Embolden): Copy code from `FT_GlyphSlot_Embolden' and use
	`status.bold_factor'.
	(event_bold_change, event_slant_change): New functions.
	(Process_Event): Handle keys `s', `S', `e', and `E'.
	(event_help): Updated.

2009-04-26  Werner Lemberg  <wl@gnu.org>

	* graph/grblit.c (blit_lcd8_to_24): Fix typo.
	Reported by suyu@cooee.cn.

2009-04-22  Werner Lemberg  <wl@gnu.org>

	Fix crash in ftgrid.

	* src/ftgrid.c (grid_status_draw_outline): Handle return value of
	FT_Load_Glyph.

2009-03-12  Werner Lemberg  <wl@gnu.org>

	* Version 2.3.9 released.
	=========================


	Tag sources with `VER-2-3-9'.

	* README: Updated.

2009-03-10  Werner Lemberg  <wl@gnu.org>

	* src/common.c (CONST): New macro, defined depending on __STDC__.
	Use it where necessary.

2009-03-10  Werner Lemberg  <wl@gnu.org>

	Fix C++ compilation.

	* src/ftbench.c (test_load_advances): Use cast.
	* src/ftgrid.c: Protect `extern' declarations with `extern "C"'.

2009-03-03  Werner Lemberg  <wl@gnu.org>

	Fix signedness issues.

	* src/ftcommon.c (FTDemo_String_Set): Fix signedness.
	Update callers.
	Include `common.h'.
	Use __STDC__ macro.
	* src/ftcommon.h (FTDemo_String_Set): Fix signedness.

	* src/common.h, src/common.c: Use __STDC__ macro.

2009-03-03  David Turner  <david@freetype.org>

	Add utf-8 support to ftview.  Fixes Savannah BUG #18225.

	* src/common.h, src/common.c: Add `utf8_next' function.
	* src/ftcommon.c (FTDemo_String_Set), src/ftview.c (Render_Text):
	Use `utf8_next'.

2009-01-14  Werner Lemberg  <wl@gnu.org>


	* Version 2.3.8 released.
	=========================


	Tag sources with `VER-2-3-8'.

	* README: Updated.

2009-01-07  Werner Lemberg  <wl@gnu.org>

	ftdiff: Add `a' key to toggle global advance width.

	* src/ftdiff.c (ColumnStateRec): Add `use_global_advance_width'
	field.
	(render_state_init): Updated.
	(render_state_draw): Control FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH.
	Update screen output.
	(event_help): Document `a' key.
	Sort output.
	(process_keys): Handle `a' key.
	Sort entries in `case' block.

2008-12-05  Werner Lemberg  <wl@gnu.org>

	* src/ftbench.c: Remove #if FT_ADVANCES_H ... conditionals.

2008-09-02  David Turner  <david@freetype.org>

	* src/ftbench.c: Include FT_ADVANCES_H.
	(FT_BENCH_LOAD_ADVANCES): New enumeration value.
	(test_load_advances): New function.
	(main) <FT_BENCH_LOAD_ADVANCES>: New case.

2008-06-29  Werner Lemberg  <wl@gnu.org>


	* Version 2.3.7 released.
	=========================


	Tag sources with `VER-2-3-7'.

	* README: Updated.

2008-06-10  Werner Lemberg  <wl@gnu.org>


	* Version 2.3.6 released.
	=========================


	Tag sources with `VER-2-3-6'.

	* README: Updated.

2008-05-18  Werner Lemberg  <wl@gnu.org>

	* src/ftdiff.c (render_mode_names): Use better strings.

2008-05-13  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c (string_render_prepare): Always set extent in last
	slot.

2008-01-10  Allan Yang, Jian Hua - SH  <Allan.Yang@fmc.fujitsu.com>

	* graph/grfill.c: Include <stdlib.h>.

2007-12-29  Allan Yang, Jian Hua - SH  <Allan.Yang@fmc.fujitsu.com>
	    Werner Lemberg  <wl@gnu.org>

	* src/ftview.c: Implement slanting.

2007-08-08  Werner Lemberg  <wl@gnu.org>

	* src/ftvalid.c (print_usage): Add option `-f'.

2007-08-08  George Williams  <gww@silcom.com>

	* src/ftvalid.c (ot_table_spec): Handle `MATH' table also.
	(main): Add option `-f' to select font index.

2007-07-07  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (parse_cmdline): Remove C++ compiler warning.

	* src/ftcommon.c (my_file_requester), src/ftgrid.c
	(grid_status_draw_grid, ft_outline_draw, ft_outline_new_circle,
	grid_status_draw_outline, _af_debug_hints), src/ftdiff.c
	(_render_state_rescale, render_state_set_files,
	render_state_set_file, adisplay_draw_glyph, adisplay_draw_text,
	event_help, event_change_gamma, process_event, write_message, main):
	Fix compilation with C++ compiler.

2007-07-02  Werner Lemberg  <wl@gnu.org>


	* Version 2.3.5 released.
	=========================


	Tag sources with `VER-2-3-5'.

	* README: Updated.

2007-06-19  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (usage): Make it more readable.

2007-06-16  Werner Lemberg  <wl@gnu.org>

	* src/ftpatentcheck.c: Renamed to...
	* src/ftpatchk.c: This.
	Minor fixes.

	* src/Jamfile (PROGRAMS), Makefile: Updated.

2007-06-10  David Turner  <david@freetype.org>

	Add the new `ftpatentcheck' program; it is a simple wrapper of the
	new FT_Face_CheckTrueTypePatents function.

	* src/ftpatentcheck.c: New file.
	* src/Jamfile (PROGRAMS), Makefile: Updated.

2007-06-09  Werner Lemberg  <wl@gnu.org>

	* src/ftgrid.c (Process_Event): Assign usual actions to keys F7-F12.
	(event_help): Updated.
	(main): Don't expect a Unicode encoded font -- we are only working
	with glyph indices currently.

2007-06-01  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c (FTDemo_Index_To_Bitmap): Initialize `*x_advance'.

2007-05-28  David Turner  <david@freetype.org>

	* src/ftcommon.h: fix compilation warning

	* src/ftview.c: fix size bugs in waterfall mode

2007-05-11  David Turner  <david@freetype.org>

	* src/ftcommon.h, src/ftcommon.c, src/ftview.c, src/ftgrid.c,
	src/ftstring.c: adapt test programs to use the new
	FTC_ImageCache_LookupScaler and FTC_SBitCache_LookupScaler
	functions. This allows you to specify fractional pixel/point
	sizes on the command line (e.g. ftview 13.5 ~/fonts/*)

2007-05-09  Ryan Hill  <dirtyepic@gentoo.org>

	* Makefile: Fix rules for fttimer which doesn't use graphical
	output.
	Fix rule for ftdump to make it work with parallel builds.

2007-04-09  Werner Lemberg  <wl@gnu.org>


	* Version 2.3.4 released.
	=========================


	Tag sources with `VER-2-3-4'.

	* README: Updated.

	* src/ftdiff.c (process_event): Handle `?' key.

2007-04-04  Werner Lemberg  <wl@gnu.org>


	* Version 2.3.3 released.
	=========================


	Tag sources with `VER-2-3-3'.

	* README: Updated.

2007-04-03  Werner Lemberg  <wl@gnu.org>

	* src/ftdiff.c (usage): Make message similar to other ftdemo
	programs.

2007-04-02  David Turner  <david@freetype.org>

	* graph/win32/grwin32.c (gr_win32_surface_init): Fix the Win32
	window size computations to properly adjust border thickness and
	other extras.  Fix by Sébastien Leix <s.leix@sdi.fr>.

	* src/ftdiff.c (render_state_draw): Fix small bug that prevented
	unhinted rendering from working as expected with embedded bitmaps.

	(adisplay_init): Fix small bug that occurred when the
	call to grNewSurface() failed.  Reported by Sébastien Leix
	<s.leix@sdi.fr>.

	(usage): Move up in file.

	(FontFaceRec): New structure.
	(RenderStateRec): Integrate it.
	Update all users.

	(render_state_set_files, render_state_set_file): Handle all faces in
	a multi-face font file.

	(write_message): Handle multi-face font files.

2007-04-01  Werner Lemberg  <wl@gnu.org>

	* src/ftdiff.c: Remove compiler warnings.
	Formatting.

2007-03-30  David Turner  <david@freetype.org>

	Change interface keys to allow you to change settings for a single
	column only.  Press F1 for details.

	* src/ftdiff.c: Include FT_LCD_FILTER_H.
	(DisplayMode): Add DISPLAY_MODE_LCD.

	(Display_textFunc): New function pointer.
	(DisplayRec): Add it.

	(RenderMode): Replace it with...
	(HintMode): This.  Update all users.

	(render_mode_names): New array.

	(ColumnStateRec): New struct.
	(RenderStateRec): Use it.
	(render_state_init): Initialize it.

	(render_state_draw): Pass index as argument.
	Use ColumnStateRec.
	Implement sub-pixel positioning for unhinted mode.
	Add column footers, showing current rendering state.

	(adisplay_draw_glyph): Handle DISPLAY_MODE_LCD.
	(adisplay_draw_text): New function.

	(event_help): Updated.
	(process_event): Add many keys to control rendering modes in more
	detail.

	(main): Updated.

2007-03-28  Werner Lemberg  <wl@gnu.org>

	* src/ftdiff.c: Remove many compiler warnings.
	Fix some typos.
	Improve and fix help texts.
	Formatting.

2007-03-26  David Turner  <david@freetype.org>

	* src/ftdiff.c: New proofing program that displays text in three
	columns: bytecode-hinted, auto-hinted with rsb/lsb delta
	adjustments, and unhinted/subpixel-positioned.  For comparison
	purposes.

	* Makefile, Jamfile: Add ftdiff.

2007-03-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>

	* src/ftvalid.c (print_usage): Fix a typo in the help message.

2007-03-09  Werner Lemberg  <wl@gnu.org>


	* Version 2.3.2 released.
	=========================


	Tag sources with `VER-2-3-2'.

	* README: Updated.

2007-02-14  David Turner  <david@freetype.org>

	* src/ttdebug.c: another refresh of the debugger. Minor improvements
	to be able to display more useful information during debugging

2007-02-12  David Turner  <david@freetype.org>

	* src/ttdebug.c: refresh the TrueType debugger code

2007-02-06  Alexei Podtelezhnikov  <apodtele@gmail.com>

	* src/ftstring.c (event_render_mode_change): Fix spelling.

2007-01-31  Werner Lemberg  <wl@gnu.org>


	* Version 2.3.1 released.
	=========================


	Tag sources with `VER-2-3-1-FINAL'.

	* README: Updated.

2007-01-17  Werner Lemberg  <wl@gnu.org>


	* Version 2.3.0 released.
	=========================


	Tag sources with `VER-2-3-0-FINAL'.

2007-01-11  Masatake YAMATO  <jet@gyve.org>

	* src/ftvalid.c (run_ot_validator, run_gx_validator,
	run_ckern_validator): Return FT_Error value instead of int value.
	(main): Return value returned from validator's run method.
	(report_result): Don't show `invalid' message if there is no target
	table.

2006-12-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>

	* mac/ftoldmac.c: Fix conditional macros of FSSpec/FSRef and
	QuickDraw/ATS functionalities.

2006-12-10  Werner Lemberg  <wl@gnu.org>

	* Makefile (dist): Extract version number from freetype.h.

2006-11-15  David Turner  <david@freetype.org>

	* graph/x11/rules.mk (X11_PATH): Check /usr also.
	Search for `Xlib.h'.

2006-11-03  Werner Lemberg  <wl@gnu.org>

	* src/ftgrid.c: Fix external function declarations.
	(event_help): Document `1', `2', and `3' keys.
	(grid_status_init, grid_status_rescale_initial,
	grid_status_draw_grid, grid_status_draw_outline, event_grid_reset):
	s/status/st/, s/error/err/ where appropriate to avoid shadowed
	variables.
	(GridStatusRec): Add `const' to `header'.
	Update all assignments.

	* Makefile: Add ftgrid.

2006-11-02  David Turner  <david@freetype.org>

	Add `B' key to ftgrid for toggling blue zone hinting.
	Add `1', `2', and `3' keys to dump hints for edges, segments, and
	points, respectively.

	* src/ftgrid.c: Add some externs.
	(_af_debug, _af_debug_disable_blue_hints, _af_debug_hints): New
	global variables.
	(GridStatusRec): Add `do_blue_hints' variable.
	(grid_status_init): Set do_blue_hints.
	(event_help): Updated.
	(Process_Event): Updated.
	(main): Set _af_debug.

2006-10-23  Zhe Su  <zsu@novell.com>

	Add a benchmark for the emboldening algorithm.

	* src/ftbench.c: Include FT_SYNTHESIS_H.
	(FT_BENCH_EMBOLDEN): New enumeration value.
	(bench_desc): Add `Embolden'.
	(test_embolden): New function.
	(main): Add it.

2006-10-23  David Turner  <david@freetype.org>

	* src/ftgrid.c: Make the file compile again.

2006-10-11  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>

	* mac/ftoldmac.c (print_help): Renamed to...
	(print_help_and_exit): This.  Update callers.
	Improve the conditionals in source to separate Toolbox QuickDraw and
	Carbon QuickDraw.
	(reserveToolBoxQuickDrawFontName, test_face_quickdraw,
	test_font_list_quickdraw_old, test_font_list_quickdraw,
	test_font_list_ats): Ditto.

2006-10-11  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>

	* mac/Makefile: Synchronize with the changes of top-level Makefile
	on 2006-02-01.

2006-09-27  David Turner  <david@freetype.org>

	Add support for LCD color filtering to ftview.

	* src/ftview.c: Include FT_LCD_FILTER_H.
	(status): Initialize it completely.
	(main): Call FT_Library_SetLcdFilter.

	* src/ftcommon.c (FT_Demo_Draw_Glyph): Renamed to...
	(FT_Demo_Draw_Glyph_Color): This.  Add an argument to pass the
	colour.
	(FT_Demo_Draw_Glyph): New function, calling
	FT_Demo_Draw_Glyph_Color.

	* src/ftcommon.h (FT_Demo_Draw_Glyph_Color): New declaration.

	* src/ftgrid.c: New file, implementing an auto-fitter debugger.
	This is a very preliminary version.  It only compiles with Jam at
	the moment, and you must have AF_DEBUG defined in your
	`src/autofit/aftypes.h' file to be able to link it.

	* src/Jamfile (GRAPHIC_PROGRAMS): Add ftgrid.

	* graph/graph.h (grFindColor, grFillHLine, grFillVLine, grFillRect):
	New declarations.

	* graph/grfill.c: New file which implements `grFillHLine',
	`grFillVLine', and `grFillRect'.  They are mainly used by the
	auto-fitter debugger.

	* graph/grobjs.c (grFindColor): New function for the auto-fitter
	debugger.

	* graph/gblender.c (gblender_set_gamma_table): Set
	`gamma_ramp_inv[gmax]'.

	* graph/gblender.h (GBLENDER_STAT_HIT, GBLENDER_LOOKUP): Move them
	up in source file.

	* graph/Jamfile (graph_sources), graph/rules.mk (GRAPH_OBJS): Add
	`grfill'.

2006-09-11  David Turner  <david@freetype.org>

	Add support for OLPC swizzle simulation (must define SWIZZLE at
	compile time for this to work).

	* graph/grswizzle.c, graph/grswizzle.h: New files.

	* graph/grdevice.h (gr_swizzle_rgb24): Declare.

	* graph/Jamfile (graph_sources): Add `grswizzle'.

	* graph/win32/grwin32.c [SWIZZLE]: Include `grswizzle.h'.
	(gr_win32_surface_refresh_rectangle) [SWIZZLE]: Don't call
	gr_swizzle_rgb24 but gr_rect_swizzle_rgb24.
	Remove unused variables.

2006-09-01  David Turner  <david@freetype.org>

	Fix various bugs in the glyph blender/blitter.

	* graph/gblcolor.h, graph/gblhbgr.h, graph/gblhrgb.h,
	graph/gblvbgr.h, graph/gblvrgb.h: Fix off-by-one
	error.

	* graph/gblender.c (gblender_lookup): Fix computation of key->cells.
	(gblender_lookup_channel): Fix computation of key->index.

	* graph/win32/grwin32.c: Fix RGB/BGR ordering -- Win32 uses BGR
	ordering for its 24-bit bitmaps.
	(SWIZZLE): New macro (set to undefined).
	(grWin32SurfaceRec): Add `bgrBitmap'.
	[SWIZZLE]: Add `swizzle_bitmap'.
	(gr_win32_surface_done) [SWIZZLE]: Handle `swizzle_bitmap'.
	(gr_win32_surface_refresh_rectangle): Do conversion RGB->BGR.
	(gr_win32_surface_init): Initialize `bgrBitmap'.
	[SWIZZLE]: Initialize `swizzle_bitmap'.

2006-07-03  Masatake YAMATO  <jet@gyve.org>

	* src/ftvalid.c (library): Move this global variable to main as a
	local variable.
	(print_usage): Introduce function static variable `library'.
	Add one argument for initializing the static variable.
	(main): Call print_usage with `library'.
	(main, else, parse_table_specs, find_validation_flag): Call
	print_usage with NULL.

2006-06-17  Masatake YAMATO  <jet@gyve.org>

	* src/ftvalid.c: Rearrange code.
	(library): Make variable having global scope.
	(OT_VALIDATOR_SYMBOL): Remove.
	(GX_VALIDATOR_SYMBOL): Remove.
	(CKERN_VALIDATOR_SYMBOL): Remove.
	(validator_symbols): Remove.
	(ValidatorType::LAST_VALIDATE): New enum element used in loop
	sentinel.
	(ot_table_spec): Remove const modifier.
	(gx_table_spec): Remove const modifier.
	(Validator): New data type.
	(validators): New variable.
	(print_usage): Use validators.
	(report_header, report_result): Use validators.
	(is_ot_validator_implemented): New function.
	(is_gx_validator_implemented): New function.
	(is_ckern_validator_implemented): New function.
	(run_ckern_validator): Use validators.
	(main): Initialize library at the beginning of main.
	Use validators.
	Report messages and exit if the validator specified by command line
	is not implemented in libfreetype2 linked to ftvalid.  Suggested by
	George Williams.

2006-06-09  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c (FTDemo_Install_Font): Fix index range for MS
	Symbol.

2006-06-07  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c (FTDemo_Display_Done, FTDemo_Done): Protect against
	NULL argument.

	* src/ftview.c (Fatal): New function to finalize FreeType library.
	This allows using FreeType's memory debugger in case of errors.
	s/PanicZ/Fatal/.

2006-06-04  David Turner  <david@freetype.org>

	* src/ftbench.c (main): fixed a subtle memory corruption bug
	at program exit.  Reported by <luoy.li@gmail.com>.

2006-05-21  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c (Print_Type): Fix type for `module'.  Reported by
	Mark Wang.

2006-05-17  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c, src/ftview.c [_WIN32]: Define `strcasecmp' and
	`snprintf'.

2006-05-17  yi luo  <luoyi.ly@gmail.com>

	* graph/win32/rules.mk: Add support for icl compiler.

	* src/ftcommon.c (strcasecmp): Define to `_stricmp' if not
	available.

	* src/ftview.c (snprintf): Define to `_snprintf' if not available.

2006-05-12  Werner Lemberg  <wl@gnu.org>


	* Version 2.2.1 released.
	=========================


2006-05-10  Werner Lemberg  <wl@gnu.org>

	* Makefile (clean distclean) [no_config_mk]: Fix warning message.
	(dist): New target to build .tar.bz2, .tar.gz, and .zip bundles.
	Note that there are still many hard-coded version strings.

2006-05-06  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c (main): Fix compiler warning.

2006-05-02  David Turner  <david@freetype.org>

	Add support for font preloading with the `-p' flag, simulating
	memory-mapped file access.

	* src/ftcommon.h (TFont): New elements `file_address' and
	`file_size'.
	(FTDemo_Handle): New element `preload'.
	(FTDemo_Set_Preload): New prototype.

	* src/ftcommon.c (my_face_requester): Use FT_New_Memory_Face for
	preloaded font.
	Handle PFM files also.
	(FTDemo_Install_Font): Handle preloading (this is, load font into a
	buffer).
	(FTDemo_Set_Preload): New function.

	* src/ftview.c (status): Add `preload' field.
	(parse_cmdline): Handle `-p' command line option.
	(usage): Updated.
	(main):

	* src/ftdump.c (main): Add glyph count dump.

2006-04-26  David Turner  <david@freetype.org>


	* Version 2.2 released.
	=======================


2006-04-24  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (Render_Stroke): Update parameters in call to
	FT_Stroker_New.

2006-03-20  David Turner  <david@freetype.org>

	Disable cache statistics dump, since the cache
	internals are not available anymore.
	Rename `-l' to `-L'.
	Add new command line options `-m text' and `-l render_mode'.

	* src/ftview.c (status): Add member `lcd_mode'.
	(Render_Text): Compensate the additional empty pixels inserted by
	Draw_Index.
	Handle number of glyph indices better.
	(parse_cmdline): Handle `-m' and `-l'.
	Updated.
	(usage): Updated.
	(main): Handle `status.lcd_mode'.
	Updated.
	Print cache statistics only conditionally (for FreeType versions
	lower than 2.2).

2006-03-02  Chia-I Wu  <b90201047@ntu.edu.tw>

	* src/ftcommon.c (string_render_prepare): Fix a possible crash.

2006-02-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>

	* Makefile: include modules.cfg to reflect module configuration,
	and ftvalid is built when required stubs (ftgxval and ftotval)
	are built in libfreetype.

2006-02-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>

	* mac/ftoldmac.m68k_far.make.txt, mac/ftoldmac.ppc_classic.make.txt:
	Update to new header inclusion introduced on 2006-02-16.

2006-02-27  Chia-I Wu  <b90201047@ntu.edu.tw>

	* src/ftcommon.c (my_face_requester): Attach the AFM only for PFA
	and PFB.

2006-02-25  Werner Lemberg  <wl@gnu.org>

	* src/ftbench.c, src/ftcommon.c, src/ftvalid.c: Add proper casts
	where necessary to allow compilation with C++.
	Other minor fixes to remove compiler warnings.

2006-02-01  Werner Lemberg  <wl@gnu.org>

	* Makefile (PLATFORM): Define to `unixdev' if PLATFORM=unix and
	DEVEL_DIR is defined.
	(BIN_DIR, OBJ_DIR): Replaced with...
	(BIN_DIR_2, OBJ_DIR_2): New variables, set with `?='.
	Update all callers.
	(BIN_DIR): Set also.
	(COMPILE): Add definition for FT_CONFIG_MODULES_H since we always
	build with an uninstalled FreeType version.
	(ftdump.$(SO), ftvalid.$(SO), ftview.$(SO)): Add -DFT2_BUILD_LIBRARY
	since these programs use internal headers.

	* graph/rules.mk, graph/*/rules.mk: s/OBJ_DIR/OBJ_DIR_2/.

	* src/ftcommon.c (string_render_prepare): Fix compiler warnings.

2006-01-16  Chia-I Wu  <b90201047@ntu.edu.tw>

	Add support for track kerning and a new rendering mode for kerning
	comparison to ftstring.

	* src/ftcommon.c (my_face_requester): Try to attach the file having
	the same name as the font, but with suffix `.afm'.
	(FTDemo_New): Updated.
	(FTDemo_String_Set_Kerning, FTDemo_String_Set_Vertical): Removed.
	(string_load): Rewritten.
	(string_render_prepare): New function.
	(FTDemo_String_Draw): Rewritten to have more flexibility.  For
	example, we can now draw the string twice with different kerning
	modes without reloading the glyphs.

	* src/ftcommon.h (TGlyph): Add more data, mainly taken from
	FTDemo_Handle structure.
	(KERNING_DEGREE_XXX): New enumerations.
	(FTDemo_String_Context): New structure.
	(FTDemo_Handle): Updated.
	(FTDemo_String_Set_Kerning, FTDemo_String_Set_Vertical): Removed.
	(FTDemo_String_Draw): Updated.

	* src/ftstring.c: Updated along with many cleanups.
	(CELLSTRING_HEIGHT): New macro.
	(RENDER_MODE_XXX): New enumeration values.
	(status): Add more fields.
	(event_help, event_angle_change): Updated.
	(event_render_mode_change): New function.
	(Process_Event): Handle `1', `2', and `t' events.
	Update handling of `g', `k', and `V' events.
	(error_message): Renamed to...
	(write_header): This.
	Display point size and rotation angle.
	(main): Handle new render mode.

2006-01-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>

	Add `ftoldmac' commandline program to test MacOS specific feature:
	font file access by FSSpec, font file search by old/new QuickDraw,
	and font name or ATS font name.

	* mac/ftoldmac.c: Added.
	* mac/Makefile: Unix Makefile for MacOS X.
	* mac/ftoldmac.m68k_far.make.txt: MPW Makefile skeleton.
	* mac/ftoldmac.ppc_carbon.make.txt: MPW Makefile skeleton.
	* mac/ascii2mpw.py: Python script to generate MPW Makefile from
	the skeletons.
	* mac/README: Add note about ftoldmac, because ft2demos/mac was
	originally for demos built by CodeWarrior.

2005-12-08  Chia-I Wu  <b90201047@ntu.edu.tw>

	* src/ftview.c (error_message): Renamed to write_header.
	Also write face size, first glyph index.
	Write glyph name if available.
	(main): Updated to use write_header.

2005-12-04  Chia-I Wu  <b90201047@ntu.edu.tw>

	* src/ftbench.c: Update copyright date.
	Use `getopt' from `common.h'.

2005-12-04  Chia-I Wu  <b90201047@ntu.edu.tw>

	* src/ftbench.c: Formatting.
	Make `face' and `charset' local variables.
	(btest_t): Use `const' qualifier for `title'.
	(bcharset_t): Change the type of `size' to `FT_Int'.
	(face_requester, benchmark): Updated because `face' is no longer
	global.
	(test_get_char_index, test_cmap_cache, get_charset): Updated because
	`charset' is no longer global.
	(main): New variables, `face' and `charset'.
	Updated because `face' and `charset' are local now.
	`get_charset' only when perform FT_BENCH_CMAP.

2005-12-02  Chia-I Wu  <b90201047@ntu.edu.tw>

	Overhaul `ftbench.'  Now it can perform tests with arbitrary load
	flags and render mode.  Testing `Render' instead of `Load + Render',
	for example, is also possible now.

	* src/ftbench.c: Overhauled.

2005-11-30  Werner Lemberg  <wl@gnu.org>

	Replace flag `-c' with `-v' to indicate verbosity.

	* src/ftdump.c (verbose): New global variable.
	(usage): Updated.
	(Print_Charmaps): Only take a single argument.  Update caller.
	Always show some charmap info.
	Use `verbose'.
	(main): Remove verbose_cmap.
	Handle `-v' instead of `-c'.

	* src/common.c (getopt): s/illegal/invalid/.

2005-11-30  Chia-I Wu  <b90201047@ntu.edu.tw>

	* src/ftdump.c (Print_Charmaps): face->charmap might be NULL.

2005-11-30  Chia-I Wu  <b90201047@ntu.edu.tw>

	* src/ftdump.c (main): New command line option `c' to show the
	contents of charmaps.
	(Print_Charmaps): Take one more argument: `verbose'.
	(usage): Updated.

2005-11-21  Werner Lemberg  <wl@gnu.org>

	* graph/grinit.c (grDoneDevices): New function.

	* graph/graph.h (grInit, grDone): Remove unused declarations.
	(grDoneDevices): New declaration.

	* src/ftcommon.c (FTDemo_Display_Done): Call grDoneDevices.
	(FTDemo_Done): Free `handle'.

	* src/ftmulti.c (main): Call grDoneSurface and grDoneDevices.

2005-11-18  Werner Lemberg  <wl@gnu.org>

	* src/ftvalid.c (run_ot_validator, run_gx_validator,
	run_ckern_validator): Remove unused variable `memory'.

2005-11-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>

	* src/ftvalid.c: Use FT_TrueTypeGX_Validate, FT_ClassicKern_Validate
	and FT_OpenType_Validate instead of FT_FREE (it calls FT_Free_Debug
	of libfreetype, which is not a public function).

2005-11-16  David Turner  <david@freetype.org>

	* graph/graph.h: Updated.

	* graph/grdevice.c (grSurfaceDone): New function to free surface
	correctly.  This was commented out previously.

	* graph/x11/grx11.c (gr_x11_device_done): Call XFreeCursor.
	(gr_x11_surface_done): Call XFreeGC to fix memory leak.

	* src/ftcommon.c (FTDemo_Display_Done): Call `grDoneSurface' instead
	of `free' to fix memory leak.

	* src/ftbench.c (main): Add the `-c' flag to specify maximum
	iteration count.  Useful for repeat profiling.
	(usage): Updated.

2005-09-29  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.c (FTDemo_Update_Current_Flags): Fix variable
	shadowing.

2005-09-27  David Turner  <david@freetype.org>

	Fix gamma handling, mainly for LCD modes.

	* graph/gblgblit.c (GRGB_TO_RGB565): Protect arguments correctly.

	* graph/gblcolor.h, graph/gblhbgr.h, graph/gblhrgb.h,
	graph/gblvbgr.h, graph/gblvrgb.h: Call gblender_use_channels.

	* graph/gblender.c (gblender_clear, gblender_reset): Handle blender
	cache.
	(gblender_use_channels): New function.
	(gblender_reset_key): Improve.
	(gblender_lookup, gblender_lookup_channel): Comment possible call to
	gblender_reset.
	Fix computation of `idx'.
	(gblender_reset_channel_key): Fix computation of `a' and `r'.

	* graph/gblender.h (GBLENDER_SHADE_INDEX): Corrected definition.
	(gblender_use_channels): New declaration.

	* src/Jamfile: Include ftcommon.c.
	Fix order of link libraries.

2005-09-22  David Turner  <david@freetype.org>

	* src/ftcommon.c (FTDemo_Update_Current_Flags): Fix load flags
	computation to mimic libXft's behaviour.

2005-08-30  Werner Lemberg  <wl@gnu.org>

	* graph/graph.h (grFillRectangle): Comment out -- we don't have an
	implementation.

2005-08-23  Masatake YAMATO  <jet@gyve.org>

	* src/ftvalid.c: Add gxvalid support.
	(GX_VALIDATOR_SYMBOL): New definition.
	(CKERN_VALIDATOR_SYMBOL): New definition.
	(ValidatorType::GX_VALIDATE): New enum member.
	(ValidatorType::CKERN_VALIDATE): New enum member.
	(validator_symbols): Added GX_VALIDATOR_SYMBOL and
	CKERN_VALIDATOR_SYMBOL.
	(gx_table_spec): New const.
	(N_GX_TABLE_SPEC): New definition.
	(print_usage): Write about gxvalid and ckern valid.
	(run_gx_validator): New function.
	(list_gx_tables): Ditto.
	(run_ckern_validator): Ditto.
	(list_ckern_tables): Ditto.
	(main): Call new validators.

	* src/ftvalid.c: Following are misc modifications.
	(report_result): Use printf instead fprintf. Fix incorrect message.
	(main): Use switch/case instead of if/else
	when calling per validator functions.
	Call FT_Done_Face. Use a loop to set validator.
	(print_usage): Insert empty line in usage strings.
	(validator_symbols): Added NULL as the last
	array element.

2005-07-04  Chia I Wu  <b90201047@ntu.edu.tw>

	* src/ftcommon.i: Removed.

	* src/ftgamma.c: Updated to use api provided by ftcommon.c.

	* Makefile: Make ftgamma depend on ftcommon.c.
	Remove dependency of ftmulti.c on ftcommon.i.

2005-06-17  Werner Lemberg  <wl@gnu.org>

	* Makefile: Update rules for ftview and ftstring which no longer
	depend on ftcommon.i but on ftcommon.c.

	(LINK_ITEMS, LINK_CMD, LINK_LIBS): New variables.
	(GRAPH_LINK2): Removed.
	(COMMON_LINK, GRAPH_LINK): Replace with...
	(LINK_COMMON, LINK_GRAPH): This.  Use LINK_ITEMS, LINK_CMD, and
	LINK_LIBS.
	Update all affected targets.
	(LINK_NEW): Temporary new link command to handle executables which
	use ftcommon.c.
	(FTCOMMON_OBJ): New variable to handle ftcommon.c.

2005-06-17  Chia I Wu  <b90201047@ntu.edu.tw>

	* src/ftcommon.c, src/ftcommon.h: New files.

	* src/ftstring.c: Rewritten.
	Make the function keys more compatible with ftview.c.
	New key 'V' for vertical rendering.

	* src/ftview.c: Rewritten.
	Now we can use number keys (i.e. 1, 2, ...) to select rendering mode.

2005-06-08  Werner Lemberg  <wl@gnu.org>


	* Version 2.1.10 released.
	==========================


2005-05-26  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.i (get_glyph_bitmap, glyph_to_bitmap): Initialize
	`target->grays' even for FT_PIXEL_MODE_MONO since it is tested in
	grBlitGlyphToBitmap.

	* graph/x11/grx11.c (gr_x11_surface_init): Initialize
	`xswa.border_pixel'.

2005-05-25  Chia I Wu  <b90201047@ntu.edu.tw>

	* src/ftcommon.i: Include FT_SYNTHESIS_H.
	Make `render_mode' an enumeration.

	* src/ftview.c (Render_Embolden): New function.
	(Process_Event, main): Update to `render_mode' enumeration.

2005-05-23  Werner Lemberg  <wl@gnu.org>

	* src/ftvalid (main) <'v'>: Add cast to make it compile with C++.

2005-04-24  YAMATO Masatake  <jet@gyve.org>

	* src/ftvalid.c: New file.

	* Makefile, src/Jamfile: Add ftvalid.

2005-03-04  Werner Lemberg  <wl@gnu.org>

	* src/ftgamma.c (Render_GammaGrid), src/ftmulti.c
	(parse_design_coords), src/ftview.c (Render_GammaGrid): Fix compiler
	warnings.

2005-02-28  David Turner  <david@freetype.org>

	* src/ftbench.c (preload, memory_file, memory_size): New global
	variables.
	(bench_open_close): Handle `preload' by using `FT_New_Memory_Face'.
	(main): Remove `preload', `memory_file', and `memory_size'.

2005-02-23  David Turner  <david@freetype.org>

	* src/ftbench.c (fetch_test, cbox_test): Fix memory leaks.

2005-02-12  Werner Lemberg  <wl@gnu.org>

	Make ft2demos support a separate build directory.

	* Makefile (have_makefile): New variable.  Set if the build
	directory is the same as the source directory.
	(GRAPH_DIR): Give full path.
	(BIN_DIR, OBJ_DIR): Updated.
	(FT_INCLUDES): Include $(OBJ_BUILD).
	(LINK) <unix>: Fix path to `libtool'.

	* README: Updated.

2004-12-15  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.i (glyph_to_bitmap): Don't convert 1bpp bitmaps.

2004-12-14  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.i: Include new FT_BITMAP_H.
	Remove dead code.
	(ft_bitmap): New global variable.
	(init_freetype): Call FT_Bitmap_New.
	(done_freetype): Call FT_Bitmap_Done.
	(glyph_to_bitmap, get_glyph_bitmap): Handle 2bpp and 4bpp bitmaps
	using FT_Bitmap_Convert.

2004-12-12  Steve Hartwell  <shspamsink@comcast.net>

	* graph/grblit.c (blit_mono_to_rgb32): Advance read buffer properly.

2004-11-26  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>

	* vms_make.com: Don't assume that the ft2demos package is a
	subdirectory of freetype2.
	Fix `ccopt'.

2004-11-19  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (Render_Waterfall): Handle size as points, not as
	pixels.

	* src/ftstring.c (layout_glyphs), src/ftmulti.c (LoadChar),
	src/ftcommon.i (set_current_image_type): Always use
	FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH.

2004-11-16  Dr. Martin P.J. Zinser  <zinser@decus.de>

	* vms_make.com: Updated to be in sync with vms_make.com from FT2.

2004-10-18  Werner Lemberg  <wl@gnu.org>

	* graph/gblblit.c (gblender_blit_init): Fix blit test.

2004-09-08  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>

	* graph/x11/grx11.c [__VMS]: Include vms_x_fix.h.

	* vms_make.com: Updated.

2004-08-29  Werner Lemberg  <wl@gnu.org>

	* graph/gblender.c (gblender_lookup, gblender_lookup_channel):
	s/index/idx/ to avoid compiler warnings.

2004-08-19  Werner Lemberg  <wl@gnu.org>

	* src/ftstring.c (prepare_text): Handle encoding = 0.

2004-07-14  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.i (get_glyph_bitmap): Don't accept a `missing'
	character with zero or negative width.

2004-07-13  David Turner  <david@freetype.org>

	* graph/x11/grx11.c (gr_x11_device_init): Fix memory leak.

	* src/ftbench.c (bench_cmap_parse): New function, assigned to
	key `j'.
	(usage, main): Updated.

	* src/ftcommon.i (install_font_file): Initialize `cmap_index' here.
	(my_face_requester): Don't initialize `cmap_index'.
	(glyph_to_bitmap): Add new argument to get glyph reference.
	(get_glyph_bitmap): Updated.

	* src/ftview.c (Render_Stroke): Increase stroker limit.
	Fix glyph indices.
	Fix memory leaks.

2004-06-24  David Turner  <david@freetype.org>


	* Version 2.1.9 released.
	=========================


2004-06-24  Werner Lemberg  <wl@gnu.org>

	* Makefile (GRAPH_LINK): Add $(MATH).
	Remove $(MATH) from link rule for ftstring.

2004-06-23  Werner Lemberg  <wl@gnu.org>

	* src/ftbench.c: Fix compiler warnings.
	(usage): Updated.

2004-06-23  David Turner  <david@freetype.org>

	* src/ftbench.c (bench_open_close): New benchmark to measure face
	open/close performance (controlled by the `i' flag for the `-b'
	command-line option flag).
	(main): Use it.

2004-06-11  Werner Lemberg  <wl@gnu.org>

	* src/ftstring.c (layout_glyphs): Updated to latest FreeType library
	changes.

2004-06-03  Werner Lemberg  <wl@gnu.org>

	Add autohinting toggling (using the `f' key) to ftstring.
	Handle new inter-letter spacing support for autohinting.

	* src/ftstring.c (autohint): New global variable.
	(layout_glyphs): Handle `autohint' variable.
	Handle new `lsb_delta' and `rsb_delta' elements of
	face->glyph->metrics.
	Remove some dead code.
	(Help): Updated.
	(Process_Event): Handle key `f'.
	Extend key `k'.

2004-05-23  Werner Lemberg  <wl@gnu.org>

	* graph/gblender_blit.c: Renamed to...
	* graph/gblblit.c: This.
	Updated to use new include file names.
	(gblender_blit_init): Change 11th argument to `unsigned char*'

	* graph/gblender_blit.h: Renamed to...
	* graph/gblblit.h: This.
	Updated.

	* graph/gblender_blit_any.h: Renamed to...
	* graph/gblany.h: This.
	Updated to use new include file names.

	* graph/gblender_blit_hbgr.h: Renamed to...
	* graph/gblhbgr.h: This.

	* graph/gblender_blit_hrgb.h: Renamed to...
	* graph/gblhrgb.h: This.

	* graph/gblender_blit_vbgr.h: Renamed to...
	* graph/gblvbgr.h: This.

	* graph/gblender_blit_vrgb.h: Renamed to...
	* graph/gblvrgb.h: This.

	* graph/gblender.h (GBLENDER_CHANNEL_VARS): Remove final `;'.
	* graph/grblit.c: Updated to use new include file names.

	* graph/rules.mk, graph/Jamfile: Updated.

	* Makefile: Build `ftgamma'.

	* src/ftview.c (Render_GammaGrid): Fix compiler warnings.
	(Help): Updated.

	* src/ftgamma.c: Fix compiler warnings.

2004-05-20  David Turner  <david@freetype.org>

	Adding support for fast gamma-corrected alpha-blending.
	New test program `ftgamma'.

	* graph/grblit.c: Include gblender_blit.h.
	(GRAY8): New macro.
	(blit_gray8_to_555, blit_gray8_to_565, blit_gray8_to_24,
	blit_lcd8_to_24, blit_lcd28_to_24) [GRAY8]: New functions.
	(blit_gray8_to_32): New function.
	(gr_gray8_blitters) [GRAY8]: New function table.
	(grSetGlyphGamma): New function.
	(grBlitGlyphToBitmap): Implement blending.
	* graph/graph.h (grSetGlyphGamma): New declaration.

	* graph/grfont.c, graph/grfont.h (grSetPixelMargin): New function.

	* graph/gblender.c, graph/gblender.h, graph/gblender_blit.c,
	graph/gblender_blit.h, graph/gblender_blit_any.h,
	gblender_blit_color.h, gblender_blit_hbgr.h, gblender_blit_hrgb.h,
	gblender_blit_vbgr.h, gblender_blit_vrgb.h: New files.

	* graph/Jamfile (graph_sources): Add gblender and gblender_bnit.
	* graph/rules.mk (GRAPH_H, GRAPH_OBJS): Updated.

	* src/ftcommon.i (the_gamma): New global variable.
	(Init_Display): Call grSetGlyphGamma.

	* src/ftgamma.c: New demo program.

	* src/ftview.c: Include math.h.
	(Render_GammaGrid): New function.
	(Help): Updated.
	(Process_Event): Assign increase and decrease of gamma value to
	keys `g' and `G'.
	Assign gamma grid rendering mode to key `K'.
	(main): Updated.

	* src/Jamfile (LINKLIBS): Add -lm.
	(GRAPHIC_PROGRAMS): Add ftgamma.c.
	Add LINKLIBS for all GRAPHIC_PROGRAMS.
	* vms_make.com: Updated.

2004-05-19  George Williams  <gww@silcom.com>

	* src/ftmulti.c (main): Use default axis values.

2004-05-09  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c (put_unicode_be16): Initialize `ch'.

2004-04-29  Flavio Stanchina  <flavio@stanchina.net>

	Parse SFNT `name' table in ftdump if new option -n is given.

	* src/ftdump.c: Include FT_SFNT_NAMES_H and FT_TRUETYPE_IDS_H.
	(name_tables): New global variable.
	(usage): Show -d and -i info conditionally.
	Add -n info.
	(platform_id, name_id, put_ascii, put_unicode_be16,
	Print_Sfnt_Names): New functions.
	(main): Handle -n.

2004-04-24  George Williams  <gww@silcom.com>

	Add GX var font support to ftmulti.
	Add command line option `-d' to ftmulti to select design
	coordinates.

	* src/ftmulti.c: New global variables `requested_pos' and
	`requested_cnt'.
	Make `multimaster' a pointer.
	(parse_design_coords): New function.
	(Help, usage): Updated.
	(Process_Event) <do_axis>: Don't use fixed 20 unit steps but a
	proportional granularity.
	Use FT_Set_Var_Design_Coordinates instead of
	FT_Set_MM_Design_Coordinates.
	(main): Handle new option `-d'.
	Use FT_Get_MM_Var and FT_Set_Var_Design_Coordinates instead of
	FT_Get_Multi_Master and FT_Set_MM_Design_Coordinates.

2004-04-23  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.i (TFont): Add `cmap_index'.
	(my_face_requester): Set `font->cmap_index'.
	(get_glyph_index): Properly set third argument.

2004-04-21  David Turner  <david@freetype.org>


	* Version 2.1.8 released.
	=========================


2004-04-10  Werner Lemberg  <wl@gnu.org>

	* src/ftbench.c (cmap_cache_test, main): Use proper cast for
	`face_id'.

2004-03-26  Ulrich  <ulrich@infopuls.com>

	* graph/x11/grx11.c (grX11DeviceRec): Add `visual' member.
	(gr_x11_device_init): Directly manipulate `x11dev'.
	Use XGetVisualInfo.
	(gr_x11_surface_init): Directly use `x11dev'.
	Fix other visual selection problems.

2004-03-20  Steve Hartwell  <shspamsink@comcast.net>

	Updated to make it compile with newer MacOS versions.

	* graph/mac: Don't include Windows.h but MacWindows.h.
	Include SIOUX.h only if __MWERKS__ is defined.
	(refresh_rectangle): Updated.
	(listen_event): Remove `theEventMask'.
	Updated.
	Make code conditional to __MWERKS__ which is related to SIOUX.
	(init_surface): Handle gr_pixel_mode_rgb24.
	Updated.

2004-02-20  Werner Lemberg  <wl@gnu.org>

	Add `light' render mode to ftview (using key `L').

	* src/ftcommon.i (set_current_image_type): Handle
	FT_LOAD_TARGET_LIGHT.
	(glyph_to_bitmap, get_glyph_bitmap): Updated.
	* src/ftview.c (Process_Event): Provide proper header for `light'
	render mode.
	(Help): Updated.

2004-02-18  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.i: Include FT_CACHE_MANAGER_H and FT_STROKER_H.
	Don't include obsolete FT_CACHE_* macros.
	(glyph_to_bitmap): Remove declaration of `error'.

	* src/ftview.c: Don't include FT_CACHE_MANAGER_H.
	(Render_Stroke): Remove declaration of `error'.
	Fix other compiler warnings.
	(Render_Waterfall): Remove declaration of `face'.

2004-01-29  David Turner  <david@freetype.org>

	* src/ftcommon.i (get_glyph_bitmap): Rewritten for new cache code.
	(glyph_to_bitmap): New function.

	* src/ftview.c (Render_Stroke): New function.
	(Render_Waterfall): Use FTC_Manager_LookupFace.
	(Process_Event) <' '>: Provide header text for stroked text.
	(main): Add Render_Stroke.

2003-12-26  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.i (set_current_size): Don't allow values larger than
	0xFFFF.
	* src/ftview.c (main): Set `face'.
	(Render_Waterfall): Don't set `face'.
	use precomputed value instead.
	(main): Don't use `face->' but `size->face->'.
	Use `exit' in case of fatal error.
	Don't test `face' but `size' for printing error messages.
	Print proper error message for FT_Err_Invalid_PPem.

2003-12-21  David Turner  <david@freetype.org>

	* graph/graph.h (grPixelMode): Add `gr_pixel_mode_lcd2' and
	`gr_pixel_mode_lcdv2' modes.
	(grBlitGlyphToBitmap): Remove `is_bgr' argument.
	Updated all callers.
	* graph/grblit.c (blit_mono_to_pal8): Speed up loop.
	(blit_lcd_to_24, blit_lcdv_to_24): Remove `is_bgr' argument.
	(blit_lcd2_to_24, blit_lcdv2_to_24): New functions.
	(compute_clips): Updated.
	(grBlitGlyphToBitmap): Remove `is_bgr' argument.
	Use new blitter functions for the two new modes.

	* graph/win32/Jamfile: s/TOOLSET/JAM_TOOLSET/.

	* src/gbench.c, src/gbench.h: New files.

	* src/Jamfile: Handle `gbench'.

	* src/ftbench.c, src/ftcommon.i, src/ftview.c: Updated to use new
	FreeType cache implementation and new blitter modes.

2003-11-10  Werner Lemberg  <wl@gnu.org>

	Add display of bitmap fonts to ftstring.

	* src/ftstring.c (layout_glyphs): Call FT_Vector_Transform for
	scalable fonts only.
	(render_string): Handle bitmap fonts.

2003-11-07  Werner Lemberg  <wl@gnu.org>


	* Version 2.1.7 released.
	=========================


2003-11-06  David Turner  <david@freetype.org>


	* Version 2.1.6 released.
	=========================


2003-11-01  Werner Lemberg  <wl@gnu.org>

	* src/testname.c: Include ft2build.h.

2003-10-22  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c (usage): Fix typo.

2003-10-17  Werner Lemberg  <wl@gnu.org>

	* src/ftmulti.c (main): Call `FT_Done_Face'.

	* src/ftstring.c (main): Clean up glyph and face objects, then
	finish FreeType library.

2003-10-10  Werner Lemberg  <wl@gnu.org>

	* src/ftmulti.c (Help): Document all keys.
	(main): Call FT_Done_FreeType.

2003-09-02  David Turner  <david@freetype.org>


	* Version 2.1.5 released.
	=========================


2003-06-30  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c (Print_Fixed): Print all elements of
	face->available_sizes.

2003-06-17  Werner Lemberg  <wl@gnu.org>

	* src/*.c: s/ft_glyph_format_*/FT_GLYPH_FORMAT_*/.
	s/ft_pixel_mode_*/FT_PIXEL_MODE_*/.
	s/ft_glyph_bbox_*/FT_GLYPH_BBOX_*/.

2003-06-16  YAMANO-UCHI Hidetoshi  <mer@din.or.jp>

	* graph/x11/rules.mk (GRAPH_LINK): Add run-time search path on
	Unix systems.

2003-06-16  Werner Lemberg  <wl@gnu.org>

	* src/ftcheckfixedwidth.c: Renamed to...
	* src/ftchkwd.c: This.
	* src/testnames.c: Renamed to...
	* src/testname.c: This.
	* src/Jamfile, Makefile: Updated.

2003-06-15  Werner Lemberg  <wl@gnu.org>

	* *.mk: Updated and revised to latest changes in FreeType 2.

2003-06-13  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c (Print_Type): Don't emit bbox, ascender, descender,
	and height for non-scalable fonts.

2003-06-08  Werner Lemberg  <wl@gnu.org>

	* graph/x11/grx11.c (gr_x11_surface_init): Add proper cast in call
	to grAlloc.

	* src/ftbench.c (main): Add proper cast in call to malloc.
	Use FT_ENCODING_NONE, not 0.

2003-06-01  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (Render_Waterfall): Handle fixed-sized fonts better.

2003-05-27  Martin Zinser  <zinser@decus.de>

	* vms_make.com: Handle ftbench.

2003-05-21  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.i (install_font_file): Initialize new elements of
	reallocated `fonts' array with zero bytes.

2003-05-20  Martin Zinser  <zinser@decus.de>

	* descrip.mms: Removed.  Now created by...

	* vms_make.com: New file.

2003-05-19  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.i (install_font_file): Use calloc to allocate
	`fonts'.
	(done_freetype): Deallocate `fonts'.

2003-04-28  Werner Lemberg  <wl@gnu.org>

	* src/ftcheckfixedwidth.c: Remove unused global variables; make
	global variables local to `main' if possible.
	Fixed compiler warnings (s/index/idx/).

2003-04-25  Davor Buvinic  <davor@vtr.net>

	* Makefile: Add rules to build ftcheckfixedwidth.

2003-04-24  Anthony Fok  <anthony@thizlinux.com>

	* src/ftcommon.i: Replace `ft_encoding_*' with `FT_ENCODING_*'.
	(file_suffixes): Add `.otf'.
	(install_font_file): Set font->num_indices depending on encoding.
	* src/ftmulti.c, src/ftstring.c, src/fttimer.c, src/ftview.c:
	Replace `ft_encoding_*' with `FT_ENCODING_*'.
	* src/testnames.c: Replace `ft_render_mode_mono' with
	`FT_RENDER_MODE_MONO'.

2003-04-09  David Turner  <david@freetype.org>

	* Jamfile: Set FT2_TOP.
	* src/ftbench.c (main): Use `long' for `max_bytes'.
	* src/ftcheckfixedwidth.c: New test program.
	* src/ftstring.c: (prepare_text): Remove unused variable `codepoint'.
	(apply_gamma): Fix initialization of `buffer'.
	* src/ftview.c (Render_Waterfall): Print more characters.

2003-04-08  David Turner  <david@freetype.org>


	* Version 2.1.4 released.
	=========================


2002-12-02  Antoine Leca  <Antoine-Freetype@Leca-Marti.org>

	* src/ftstring.c: Use `FT_ENCODING_*' everywhere instead of
	deprecated lowercase variants.
	(prepare_text): 'message' for the -m option is now expected to be
	encoded with UTF-8.  This allows testing of Unicode chars, including
	non-BMP characters.

2002-12-01  Antoine Leca  <Antoine-Freetype@Leca-Marti.org>

	* graph/win32/rules.mk: Adding link rules for Borland C++.

2002-11-18  David Turner  <david@freetype.org>


	* Version 2.1.3 released.
	=========================


2002-11-10  David Turner  <david@freetype.org>

	* src/Jamfile (PROGRAMS): Add `ftcheckfixedwidth'.

2002-09-25  David Turner  <david@freetype.org>

	* graph/win32/grwin32.c: Removing compiler warnings.

	* descrip.mms: Removing 'ftmemchk' and 'testnames' from the list
	of programs to compile, these are now obsolete.

2002-09-25  Anthony Fok  <anthony@thizlinux.com>

	* src/ftbench.c: The program did perform out-of-bound memory writes
	with certain fonts containing a buggy charmap.

2002-09-18  Werner Lemberg  <wl@gnu.org>

	Add LCD BGR support.

	* graph/grblit.c (blit_lcd_to_24, blit_lcdv_to_24): Add parameter
	`is_bgr' to assign color components in reversed order.
	(grBlitGlyphToBitmap): Add parameter `is_bgr' passed on to
	`blit_lcd_lcd*'.
	Updated all callers.
	Remove unused label.
	* graph/graph.h, graph/grfont.c: Updated.

	* src/ftcommon.i (set_current_image_type), src/ftview.c (Render_All,
	Render_Text, Render_Waterfall, Process_Event): Handle LCD modes
	3 and 4.
	* src/ftstring.c, src/ftmulti.c: Updated.

	* graph/x11/grx11.c (gr_x11_device_init, gr_x11_surface_init):
	Remove unused variables.
	(gr_x11_format_rgb555): Fix typos.

2002-09-08  David Turner  <david@freetype.org>

	Add support for sub-pixel rendering.

	* graph/x11/grx11.c, graph/win32/grwin32.c: Completely rewritten to
	support 24-bits RGB surfaces.  This is needed to test sub-pixel
	rendering.

	Note that other drivers haven't been touched yet.  The X11 driver
	doesn't work with 8-bit displays for now, but a reduced mode will
	probably be introduced in the near future.

	* graph/graph.h (grPixelMode): Add `gr_pixel_mode_lcd' and
	`gr_pixel_mode_lcdv'.
	* graph/grblit.c (compute_clips): Use `gr_pixel_mode_lcd' and
	`gr_pixel_mode_lcdv'.
	(compose_pixel_full): New macro.
	(compose_pixel): Use it.
	(blit_lcd_to_24, blit_lcdv_to_24): New functions. for RGB-decimated
	modes (BGR not yet implemented).
	(gr_color_blitters): Updated.
	(grBlitGlyphToBitmap): Support new pixel modes.

	* src/Jamfile (PROGRAMS): Don't include fttimer, fttry, and
	testnames.

	* src/ftbench.c: Updated to latest changes in FreeType library.
	* src/ftcommon.i (Init_Display): New default mode is
	`gr_pixel_mode_rgb24'.
	(set_current_image_type, get_glyph_bitmap): Add support for LCD
	modes (horizontal and vertical).
	* src/ftview.c (Render_Waterfall): Call `set_current_size'.
	(Help): Document new `L' key for cycling through the pixel modes.
	(Process_Event): Handle `L' key.

2002-08-04  Vincent Caron  <v.caron@zerodeux.net>

	* src/ftcommon.i (Text), src/ftmulti.c (Text): s/jumped/jumps/.
	* src/ftview.c (Render_Waterfall): Remove unused variable.

2002-07-03  David Turner  <david@freetype.org>

	* src/ftview.c (Render_Waterfall): New function, adding a
	"waterfall" rendering mode (accessible by cycling modes with the
	space bar).
	(Process_Event, main): Use it.

2002-07-01  David Turner  <david@freetype.org>

	* src/ftbench.c: Adding the "-p" option to pre-load font files in
	memory.  This is a very useful thing to quantify the performance
	improvements achieved by many of FreeType internal optimizations
	regarding stream i/o.

	* src/ftstring.c (reset_transform): Fix Werner's incorrect fix.

2002-06-25  Werner Lemberg  <wl@gnu.org>

	* src/ftstring.c (reset_transform): Fix transformation matrix.

2002-06-23  Vincent Caron  <v.caron@zerodeux.net>

	Adding support for gamma-corrected display to ftstring (assigned to
	`g', F9, and F10 keys).

	* src/ftstring.c (use_gamma, gamma_value, gamma_ramp): New global
	variables.
	(init_gamma, apply_gamma, draw_gamma_ramp): New functions.
	(render_string): Use apply_gamma.
	(Help): Updated.
	(Process_Event): Handle `g', F9, and F10 keys.
	(main): Call init_gamma and draw_gamma_ramp.

2002-06-21  David Turner  <david@freetype.org>


	* Version 2.1.2 released.
	=========================


2002-06-14  Werner Lemberg  <wl@gnu.org>

	* Makefile, graph/rules.mk: s/TOP/TOP_DIR/, s/TOP2/TOP_DIR_2/.

2002-06-10  Werner Lemberg  <wl@gnu.org>

	* src/ftbench.c: s/index/idx/.
	Fixed more gcc compiler warnings.

2002-06-10  David Turner  <david@freetype.org>

	* src/ftbench.c: Removing compiler warnings.

	* src/ttdebug.c: Updating to latest internal changes.

2002-06-09  David Turner  <david@freetype.org>


	* Version 2.1.1 released.
	=========================


2002-06-07  David Turner  <david@freetype.org>

	Adding Vincent Caron's benchmark program.

	* src/ftbench.c: New file.
	* Makefile, src/Jamfile: Updated.
	Other minor fixes.

	* src/ftview.c (Render_Text): Call get_glyph_index() conditionally.

2002-05-20  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.i (get_glyph_bitmap): Use `sbit->num_grays'.
	Handle `sbit->buffer == 0' correctly.

2002-05-17  Michael Pfeiffer  <michael.pfeiffer@utanet.at>

	* graph/beos/Jamfile: New file.

2002-05-12  Werner Lemberg  <wl@gnu.org>

	* README: Updated.

2002-05-12  Michael Pfeiffer  <michael.pfeiffer@utanet.at>

	* graph/Jamfile: Add support for BeOS.

2002-04-28  Werner Lemberg  <wl@gnu.org>

	* src/ftview.c (Render_Text): Don't call `get_glyph_index'.  This
	is done in `get_glyph_bitmap'.

	* src/ftstring.c (encoding): New global variable, initialized to
	`ft_encoding_unicode'.
	(render_mode): Removed.
	(make_tag): New utility function (copied from ftcommon.i).
	(prepare_text): Call `FT_Select_Charmap'.
	(Process_Event): Don't handle ` '.
	(main): Add option -e to select encoding.
	(usage): Document it.

	* src/ftmulti.c (encoding): New global variable.
	(make_tag): New utility function (copied from ftcommon.i).
	(main): Add option -e to select encoding.
	(usage): Document it.

2002-04-28  Martin Zinser  <zinser@decus.de>

	* descrip.mms: Add clean target.
	Handle compiler options better.

2002-04-17  David Turner  <david@freetype.org>


	* Version 2.1.0 released.
	=========================


2002-04-01  Werner Lemberg  <wl@gnu.org>

	* graph/x11/grx11.c: Use `c_class' instead of `class' if compiling
	with C++.
	* src/ftcommon.i (encoding): Use `FT_Encoding' type.  Update all
	using code.
	(done_glyph_bitmap): Use cast.
	* src/ftview.c: Updated to changes in `ftcommon.i'.
	(main): Use cast for `encoding'.

2002-03-30  Werner Lemberg  <wl@gnu.org>

	* src/ftdump.c (Print_Type): Use `%ld' for some fields.
	* src/testnames.c (main): Exit if no parameter.

2002-03-21  David Turner  <david@freetype.org>

	* graph/grblit.c, graph/win32/grwin32.c, src/common.c,
	src/ftcommon.i, src/ftdump.c: Getting rid of compiler warnings.

2002-03-08  David Turner  <david@freetype.org>


	* Version 2.0.9 released.
	=========================


2002-03-06  David Turner  <david@freetype.org>

	* src/ftdump.c: Added display of ascender/descender/text height.

	* Jamfile: Support the FT2_TOP environment variable to indicate
	where the FreeType 2 sources are located.  This is very useful for
	switching between the STABLE and HEAD branches of the library.

2002-03-05  David Turner  <david@freetype.org>

	* src/ftdump.c: Added the display of a font's Postscript name,
	EM size and global Bbox.  Now supports the debugging mode of
	2.1.x.

	* src/ftview.c: Minor change to support debugging mode of 2.1.x.

2002-02-14  Detlef Würkner  <tetisoft@apg.lahn.de>

	* src/fttimer.c (ConvertRaster): Handle embedded bitmaps properly.
	* src/ftstring.c (use_sbits): Default value is no 0.
	(layout_glyphs): Handle `use_sbits'.
	(Process_Event): Make friendlier error messages.

2002-02-09  David Turner  <david@freetype.org>


	* Version 2.0.8 released.
	=========================


2002-02-02  David Turner  <david@freetype.org>


	* Version 2.0.7 released.
	=========================


2002-01-25  Martin Zinser  <zinser@decus.de>

	* src/common.h ([VMS]): Alias stuff specific to getopt.
	* graph/grinit.c ([DEVICE_X11]): Handle VMS.
	* descrip.mms: New file for compiling the demo programs with
	OpenVMS.

2002-01-07  David Turner  <david@freetype.org>


	* Version 2.0.6 released.
	=========================


2001-12-31  Werner Lemberg  <wl@gnu.org>

	* graph/x11/rules.mk: Fix typo (wilcard -> wildcard).

2001-12-30  David Turner  <david@freetype.org>

	* README: Updated to version 2.0.6.

	* graph/x11/rules.mk: Updated X11 detection rules: "/usr/X11R6" and
	"/usr/local/X11R6" are now probed as a fallback.  This allows the
	test programs to work automatically on Debian Linux systems (which
	only use "/usr/bin/X11" in the path).

2001-12-21  David Turner  <david@freetype.org>

	* src/ftcommon.i (get_glyph_bitmap): Added a missing error check.
	Make the function return an error code if necessary.
	* src/testnames.c (main): Fix typo.

2001-12-15  Werner Lemberg  <wl@gnu.org>

	* Makefile: Add `testnames' program.
	* src/testnames.c (main): Remove unused variable.
	First command line parameter is now used as the font to be tested
	instead of a fixed string.

2001-12-14  David Turner  <david@freetype.org>

	* src/ftstring.c (layout_glyphs): Fix centering bug.

2001-12-12  David Turner  <david@freetype.org>

	* src/testnames.c: New test program.

2001-12-08  David Turner  <david@freetype.org>

	Use new charmap cache.

	* src/ftcommon.i: Include FT_CACHE_CHARMAP_H.
	(cmap_cache): New global variable.
	(encoding): Change type to FT_UInt32.
	(init_freetype): Initialize charmap cache.
	(get_glyph_index): New function.
	(get_glyph_bitmap): Use it.
	Increase pixel dimensions to 48 for sbit cache.
	Add ftc_image_format_outline flag if not a bitmap glyph.
	* src/ftview.c: Use `get_glyph_index'.

2001-12-06  David Turner  <david@freetype.org>

	An update to use the new cache manager code.

	* src/ftcommon.i: s/FTC_Image_Cache/FTC_ImageCache/.
	s/FTC_SBit_Cache/FTC_SBitCache/.
	s/FTC_Image_Desc/FTC_ImageDesc/.
	s/image_type/type/.
	(done_glyph_bitmap): New function.
	(get_glyph_bitmap): Add new argument.
	Use sbits cache only of pixel size <= 32.
	Other fixes.
	* src/ftview.c (Render_All, Render_Text): Updated to changes in
	ftcommon.i.

2001-12-05  Werner Lemberg  <wl@gnu.org>

	* src/ftcommon.i, src/ftview.c: s/manager/cache_manager/ to avoid
	compiler warnings.

2001-12-05  Taiji Yamada  <taiji@aihara.co.jp>

	* src/graph/x11/grx11.c (done_surface): Free and reset color map.
	(init_surface): Use private colormap if there are no more shared
	colormap entries.

2001-10-27  David Turner  <david@freetype.org>

	* src/ftcommon.i (use_sbits_cache): Set to 1.

2001-10-26  Leonard Rosenthol  <leonardr@lazerware.com>

	* mac/codewarrior/carbonprefix.h: New file to define building
	the demos Carbonized.
	* mac/codewarrior/ftview.prj: Updated for CW7 and to build a
	Carbonized version.
	* mac/getargv.c: Updated to build Carbonized.
	* mac/ftview_m.c: Updated to build Carbonized.

2001-10-18  David Turner  <david@freetype.org>

	* Jamrules: Define X11_LINKLIBS.
	* README: Updated.
	* graph/os2/Jamfile: Define GROS2_PATH and GRAPH_LINKLIBS.
	* src/Jamfile (PROGRAMS): Add fttry.
	Fix order of libraries.
	* src/ftview.c (main): Update cache dump code.
	* src/ftlint.c (main) [TEST_PSNAMES]: Add some debugging code.
	* src/fttry.c (main) [DUMP_NAME]: Add some glyph name debugging code.

2001-10-17  David Turner  <david@freetype.org>


	* Version 2.0.5 released.
	=========================


2001-09-21  Eric Olson  <eric.olson@sympatico.ca>

	* graph/os2/gros2pm.c: Remove global variable `window_created'.
	(LOCK): Fix typo.
	(refresh_rectangle): Use LOCK() and UNLOCK().
	(init_surface): Don't use `window_created'.
	Use LOCK() and UNLOCK().
	(RunPMWindow): Use LOCK() and UNLOCK().
	Fix typo.
	Don't use `window_created'.
	(Message_Process): Allow F9, F10, and others keys to pass through
	the application.
	Use LOCK() and UNLOCK().

2001-09-10  Werner Lemberg  <wl@gnu.org>

	* README: Slight update.

2001-08-25  Werner Lemberg  <wl@gnu.org>

	Added CMap support to ftview: The new flag `-e' accepts an encoding
	tag as defined in freetype.h (e.g. `unic') to select a character
	map.  Only fonts with a valid character map are selected.

	* src/ftcommon.i: s/num_glyphs/num_indices/.
	(encoding): New global variable.
	(make_tag): New function.
	(install_font_file): If a cmap tag has been specified, load
	functions only which have a valid cmap.
	(my_face_requester): Select cmap also if `encoding' is non-zero.
	(get_glyph_bitmap): Map char index to glyph if `encoding' is
	non-zero.

	* src/ftview.c: s/first_glyph/first_index/.
	(Help): Adjust help text.
	(usage): Document -e switch.
	(main): Implement -e switch.
	Adjust `Header'.


	* Version 2.0.4 released.
	=========================


2001-06-27  Werner Lemberg  <wl@gnu.org>

	* src/ftmemchk.c: s/memtest/ftmemchk/.

2001-06-27  David Turner  <david@freetype.org>

	* src/ftcommon.i, src/ftmemchk.c: Changes due to the modification of
	the FT_CALLBACK_DEF macro definition.

2001-06-24  David Turner  <david@freetype.org>

	Renamed the test program "memtest" to "ftmemchk".

	* src/memtest.c: Renamed to ...
	* src/ftmemchk.c: This file.
	* Makefile, src/Jamfile: Updated.


	* Version 2.0.3 released.
	=========================


2001-05-28  David Turner  <david@freetype.org>

	* Jamfile, src/Jamfile, graph/os2/Jamfile, graph/win32/Jamfile,
	graph/x11/Jamfile: Updating Jamfiles to correctly link the graphics
	programs on all platforms with Jam.

	* src/ftstring.c: Removing debugging output.

2001-04-25  David Turner  <david@freetype.org>

	* graph/beos/grbeos.cpp, graph/beos/grbeos.h, graph/beos/rules.mk,
	graph/grinit.c: added BeOS graphics driver to MiGS.

2001-04-04  Werner Lemberg  <wl@gnu.org>

	* graph/allegro/gralleg.c, graph/mac/grmac.c, graph/os2/gros2pm.c,
	graph/x11/grx11.c: Don't include system-specific header but
	`grobjs.h'.
	* graph/x11/grx11.c: Some structural reorderings.
	Include `grdevice.h'.
	* graph/grinit.c: Use subdirectories for #include.
	* graph/rules.mk, graph/*/rules.mk (DEVICE_INCLUDE): Removed.

	* Jamrules, Jamfile, */Jamfile: Updated.  It now compiles with
	X11 also (no checking for X header and lib locations yet).

2001-04-04  David Turner  <david@freetype.org>

	* Jamrules, Jamfile, graph/Jamfile, graph/x11/Jamfile,
	graph/win32/Jamfile, graph/os2/Jamfile, src/Jamfile: Added Jamfiles
	to build the FreeType 2 demos with Jam.  Be careful, they probably
	don't work on Unix and OS/2 yet.

2000-03-24  David Turner  <david.turner@freetype.org>


	* Version 2.0.2 released.
	=========================


2001-03-23  David Turner  <david@freetype.org>

	* Makefile, src/*.c: Changed to new header inclusion scheme.

2001-03-13  Werner Lemberg  <wl@gnu.org>

	* graph/x11/grx11.c: Increase MAX_PIXEL_MODES to 100.

2001-03-06  Werner Lemberg  <wl@gnu.org>

	* src/memtest.c (my_memory): Add cast to remove C++ compiler error.

2001-02-22  David Turner  <david.turner@freetype.org>

	* src/memtest.c: Fixed the debug memory allocator.  The constant
	"my_memory" was replaced by a function that allocates a new "memory
	allocator through "my_alloc()" and returns it.

2001-02-06  James H. Cloos Jr.  <cloos@jhcloos.com>

	* src/ftview.c (Render_Text): Fix rendering of test string.

2001-01-31  Werner Lemberg  <wl@gnu.org>

	* src/ftstring.c (Help): Added `void' type.

2000-12-09  Werner Lemberg  <wl@gnu.org>

	* Makefile: Added $(LDFLAGS) variable for `unix' link target.

2000-12-01  David Turner  <david.turner@freetype.org>


	* Version 2.0.1 released.
	=========================


2000-11-09  David Turner  <david@freetype.org>


	* Version 2.0 released.
	=======================


Local Variables:
version-control: never
coding: utf-8
End:
