revert between 56095 -> 55830 in arch
[AROS.git] / developer / debug / test / freetype / ChangeLog
blob99894c56b82c8cd474a78765a900eed72bfa9f67
1 2019-03-15  Werner Lemberg  <wl@gnu.org>
3         * Version 2.10.0 released.
4         ==========================
7         Tag sources with `VER-2-10-0.
9         * README: Updated.
10         * src/*.1: Updated.
11         * src/ftinspect/ftinspect.pro: Updated.
13         * Makefile (version, winversion): Since the minor version number has
14         two digits now, never omit the patch number.  We would get ambiguous
15         zip file names otherwise.
17         * src/ftdump.c (main): Avoid compiler warning.
19 2019-03-07  Werner Lemberg  <wl@gnu.org>
21         * src/ttdebug.c (RunIns): Fix signature.
23 2019-02-24  Werner Lemberg  <wl@gnu.org>
25         [ftview] Fix LCD rendering of color-layered glyphs.
27         * src/ftview.c (Render_All): Always use normal rendering for
28         color-layered glyphs.
30 2019-02-23  Werner Lemberg  <wl@gnu.org>
32         [ftview] Add more control for color-layered glyphs.
34         Key `z' toggles color-layered glyph usage.
35         Keys `i' and `I' cycle through color palettes.
37         * src/ftcommon.h (TFont): Add `palette_index' field.
38         (FTDemo_Handle): Add `use_layers' field.
39         * src/ftcommon.c (FTDemo_New, FTDemo_Install_Font): Initialize new
40         structure elements.
42         * src/ftview.c (Render_All): Select palette; use `use_layers'.
43         (event_help): Updated.
44         (event_palette_change): New function.
45         (Process_Event): Handle keys `z', `i', and `I'.
46         (write_header): Updated.
48 2019-02-22  Werner Lemberg  <wl@gnu.org>
50         Minor doc string fixes.
52         * src/ftgrid.c (usage), src/ftstring.c (usage), src/ftview.c
53         (event_help, usage): Improve.
55 2018-11-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
57         [ftdiff] Tweak adjustment of spacing.
59         Align with b82405eda. We want to avoid changing or adjusting usual
60         rounding of advances.
62         * src/ftdiff.c (render_state_draw): Tweak conditionals.
64 2018-10-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
66         * src/ftdump.c (Print_Name): Ignore exuberant timestamps.
68 2018-10-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
70         * src/ftdump.c (Print_Name): Use ISO 8601 datestamps.
72 2018-10-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
74         * src/ftdump.c (Print_Name): Report `head' revision and timestamps.
76 2018-10-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
78         * src/ftdump.c (Print_Charmaps): Rework without \b.
80 2018-10-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
82         * src/ftcommon.c (FTDemo_String_Draw): Avoid endless loop.
83         * src/ftstring.c (main): Don't disable sbits.
85 2018-10-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
87         * src/ftstring.c (Render_Waterfall): Color the size marks.
88         (event_color_change): Manipulate the warning color.
90 2018-10-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
92         [ftdump] New compact charmap coverage format.
94         * src/ftdump.c (Print_Charmaps): Implement it.
95         (main): Change corresponding options.
96         * src/ftdump.1, src/ftdump.c (usage): Document it.
98 2018-10-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
100         * graph/x11/grx11.c: Remove unused fields and function.
102 2018-10-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
104         * graph/x11/grx11.c (gr_x11_surface_init): Clean up window creation.
106 2018-09-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
108         * src/ftstring.c (Render_Waterfall): Mark the status size.
110 2018-09-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
112         * graph/grfill.c (grFillHLine): Fix cropping.
113         (grFillVLine): Refactor in line with `grFillHLine'.
115 2018-09-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
117         * src/ftstring.c (Process_Event, event_help): Implement flushing.
119 2018-09-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
121         * src/ftstring.c: Polished.
123 2018-09-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
125         [ftstring] Implement text carpeting mode.
127         * src/ftstring.c (main): Add text-carpeting mode implemented in...
128         (Render_Text): ... this new function.
129         (Render_CmpKern, Render_Waterfall): Minor updates and refactoring.
131 2018-09-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
133         Teach `FT_String_Draw' to recycle glyphs.
135         * src/ftcommon.h (FTDemo_String_Context): New fields for offset glyph
136         and extent to fill.
137         (FTDemo_String_Draw): Return the number of glyphs drawn.
138         * src/ftcommon.c (FTDemo_String_Draw): Implement glyph recycling until 
139         the extent is full.
141 2018-09-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
143         [ftstring] Load glyphs and advances explicitly.
145         * src/ftcommon.h (FTDemo_Handle): Remove `string_reload' flag.
146         (TGlyph): Split `delta' into original `lsb_delta' and `rsb_delta'.
147         (FTDemo_String_Load): Declare new function.
148         * src/ftcommon.c (string_load, string_render_prepare): Merge into...
149         (FTDemo_String_Load): ... this function.
150         (FTDemo_String_Draw): Devoid of string loading.
152         * src/ftstring.c (main, Process_Event,Render_{Waterfall,KernCmp}):
153         Call `FTDemo_String_Load' explicitly.
155 2018-09-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
157         [ftstring] Keep all advances together.
159         * src/ftcommon.h (TGlyph): New `hadvance' field for kerned advance.
160         * src/ftcommon.c (string_load): Initialize it here.
161         (string_render_prepare): Modify it here.
162         (FTDemo_String_Draw): Use it here.
164 2018-09-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
166         [ftview] Draw warning box for zero-width glyphs.
168         * src/ftview.c ({X,Y}_TOO_LONG): Reworked the macros.
169         (Render_{Stroke,Fancy,All}): Fill the added space with a warning box
170         for zero-width glyphs.
171         (Render_{Waterfall,Text}): Updated accordingly.
173 2018-09-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
175         [ftview] Extra space for zero-width glyphs.
177         * src/ftview.c (Render_{Stroke,Fancy,All}): Add half ppem to
178         zero-width glyphs.
180 2018-09-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
182         [ftview] Handle extra space differently.
184         * src/ftcommon.c (FTDemo_Draw_{Index,Glyph_Color}): Move extra pixel
185         from here...
186         * src/ftview.c (Render_{Stroke,Fancy,All}): ... to here.
187         (Render_{Waterfall,Text}): Do not compensate.
189 2018-08-23  Werner Lemberg  <wl@gnu.org>
191         [ftdiff] New keys `A' to `E' to select hinting mode directly.
193         * src/ftdiff.c (process_event): Handle keys `A' to `E'.
194         (event_help): Updated.
196 2018-08-04  Werner Lemberg  <wl@gnu.org>
198         Fix clang warnings.
200         * src/ftstring.c (Process_Event), src/ftview.c (Process_Event): Add
201         cast.
203 2018-07-23  Hin-Tak Leung <htl10@users.sourceforge.net>
205         [ttdebug] Add option `-f' to access non-first member of TTC.
207         * src/ttdebug.1, src/ttdebug.c: Add a `-f face_index' switch to
208         access non-first member of a TTC, plus updating the man page.
210 2018-07-05  Alexei Podtelezhnikov  <apodtele@gmail.com>
212         * graph/grfont.c (grGotobitmap): Initialize color here...
213         (grWrite): ... instead of here.
215 2018-07-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
217         [ftstring] Implement waterfall as mode 2.
219         * src/ftstring.c (Render_String, Render_KernCmp): Extracted from ...
220         (main): ... here.
221         (Render_Waterfall): New mode function based on ftview.
222         (event_help): Updated.
224 2018-07-03  Werner Lemberg  <wl@gnu.org>
226         Fix some clang warnings.
228         * graph/grfill.c (grFillRect): Use `int' for `size'.
230         * src/ftstring.c (flower_init): Use `unsigned int' for `i'.
231         Simplify some loops.
233         * src/ftview.c (parse_cmdline) <'L'>: Use `unsigned char' casts.
234         (main): Add `FT_LcdFilter' cast.
236 2018-07-02  Hugh McMaster  <hugh.mcmaster@outlook.com>
238         Fix memory leak (patch #9666).
240         * src/ftcommon.c (FTDemo_Install_Font): Always free
241         `font->filepathname'.
243 2018-07-02  Werner Lemberg  <wl@gnu.org>
245         * src/ftview.c (Render_All): Update `FT_Get_Color_Glyph_Layer' call.
247         The function's signature was changed on 2018-07-02.
249 2018-06-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
251         [ftstring] Implement string shifts.
253         * src/ftstring.c (event_center_change): New function.
254         (Process_Event): Shift the string with left-right arrows, rotate it
255         with F5-F6.
256         (event_help): Document it.
258 2018-06-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
260         * src/ftcommon.c (FTDemo_Get_Index): Handle `FT_ENCODING_ORDER'.
262         * src/ftcommon.c (FTDemo_Draw_Header, FTDemo_String_Set),
263         src/ftview.c (Render_{All,Stroke,Fancy}),
264         src/ftgrid.c (grid_status_draw_outline): Simplified accordingly.
266 2018-06-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
268         [ftstring] Ditch gamma ramp.
270         * src/ftstring.c (status): `gamma_ramp' removed.
271         (gamma_ramp_draw): Remove.
272         (event_gamma_change): Remove setting `gamma_ramp'.
274         * src/ftstring.1: Mention stress test glyphs.
276 2018-06-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
278         [ftgrid, ftview, ftstring] Update font and encoding handling.
280         * src/ftcommon.c (my_face_requester): Check `cmap_index' range.
281         (FTDemo_Install_Font): `cmap_index' obeys `handle->encoding' here,
282         and postpone setting `num_indices'.
283         (FTDemo_Set_Current_Font): `handle->encoding' obeys `cmap_index' here,
284         also set `num_indices' accordingly.
286         * src/ftview.c (event_encoding_change): Simplify by calling
287         `FTDemo_Set_Current_Font'.
289 2018-06-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
291         [ftstring] Improve stress test glyphs.
293         * src/ftstring.c (wheel_init): Integrate into...
294         (flower_init): ...this function.
295         (main): Improve appearance of stress test glyphs.
297 2018-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
299         [ftstring] Display glyphs to stress test rendering.
301         * src/ftstring.c (wheel_init, flower_init): New functions to
302         initialize stress test glyphs.
303         (main): Display them.
305 2018-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
307         [ftgrid] Draw dots using `FT_New_Glyph'.
309         * src/ftgrid.c (circle_init): Make a custom glyph with a circle.
310         (circle_draw): Render it using `FTDemo_Draw_Glyph_Color'.
311         (ft_bitmap_draw, ft_outline_draw, ft_outline_new_circle): Removed.
313 2018-06-16  Werner Lemberg  <wl@gnu.org>
315         [ftview] First shot at colored glyph layer support.
317         This is basically a proof of concept.  Still missing: Switching off
318         color layers and controlling palette selection.  Additionally, only
319         `Render_All' handles color layers.
321         Some code should be moved to `ftcommon' so that other demo programs
322         can show colored glyph layers also.
324         * src/ftview: Include FT_COLOR_H and FT_BITMAP_H.
325         (Render_All): Handle colored glyph layers.
327 2018-06-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
329         [ftview] Control subpixel rendering from command line.
331         * src/ftview.c (parse_cmdline): New `-L' option to set subpixel filter
332         weights or geometry depending on the implemented method.
333         (write_header, Process_Event): Hide filtering if not implemented.
334         (main): Set default filter only if command line is not used.
335         (usage): Document it.
336         * src/ftview.1: Document it.
338 2018-06-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
340         * src/ftbench.c (benchmark): Output formatting.
342 2018-05-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
344         * graph/x11/grx11.c (gr_x11_device_init): Organize logging.
346 2018-05-27  Werner Lemberg  <wl@gnu.org>
348         Separate color support from sbit handling.
350         * src/ftcommon.h (FTDemo_Handle): New boolean field `use_color'.
352         * src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags): Updated.
354         * src/ftview.c (Process_Event): Use key `c' to toggle color support.
355         (write_header, event_help): Updated.
357 2018-05-25  Werner Lemberg  <wl@gnu.org>
359         Update manpages.
361         * src/ftgrid.1, src/ftstring.1, stc/ftview: Document option `-d'.
363 2018-05-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
365         [graph] Implement grayscale target surface.
367         * graph/grblit.c (grBlitGlyphToBitmap): Enable gray target.
368         * graph/gblblit.c (gblender_blit_init, GRGB_TO_GRAY, GRGB24_TO_GRAY):
369         Implement gray target.
371 2018-05-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
373         [ftview, ftstring, ftgrid] Change dimension options.
375         * src/ftcommon.[hc] (FTDemo_Dispay_New): Use single dimension string as
376         an argument, parse it, and initialize accordingly.
378         * src/ftgrid.c (usage, parse_cmdline, status): Use single dimension
379         string option.
380         * src/ftstring.c (usage, parse_cmdline, status): Ditto.
381         * src/ftview.c (usage, parse_cmdline, status): Ditto, rename variable
382         axis option.
384         * src/ftdiff.c, src/ftgamma.c: Updated.
386 2018-05-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
388         * Makefile [unixdev]: Uncouple harfbuzz and libpng.
390 2018-05-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
392         * graph/gblbgra.h: Gamma-corrected variant (disabled).
394 2018-05-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
396         * graph/gblbgra.h: Make it wotk for all destination targets.
398 2018-05-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
400         [graph] Fast "powerless" gamma ramps.
402         We calculate the lookup tables for the power function using finite
403         differences. This is 10 times faster and accurate enough for gamma
404         correction.
406         * graph/gblender.c (gblender_set_gamma_table): Reimplement using
407         finite differences.
408         * src/ftstring.c (event_gamma_change): Ditto for the decoration ramp.
410 2018-05-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
412         * src/ftgrid.c (bitmap_scale): Mark centers of mono pixels.
414 2018-05-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
416         * graph/grfill.c (grFillRect): Thinko.
418 2018-05-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
420         [ftgrid] Update FT_DEBUG_AUTOFIT mode.
422         * src/ftgrid.c (grid_status_draw_outline) [FT_DEBUG_AUTOFIT]:
423         Show active segments only when autohinter is forced. Minor tweaks.
425 2018-05-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
427         [ftgrid] Accept bitmap fonts.
429         * src/ftgrid.c (main): Accept bitmap fonts.
430         (grid_status_draw_outline): Do bitmap for any font.
431         (grid_status_rescale_initial): Bitmap-compatible improved layout.
433 2018-05-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
435         * src/ftgrid.c (main): Fail to open font earlier.
437 2018-05-01  Werner Lemberg  <wl@gnu.org>
439         * Version 2.9.1 released.
440         =========================
443         Tag sources with `VER-2-9-1.
445         * README: Updated.
446         * src/*.1: Updated.
447         * src/ftinspect/ftinspect.pro: Updated.
449 2018-04-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
451         * src/ftstring.c (main): Update initializations.
453 2018-04-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
455         * src/ftstring.c (main): Use size metrics instead of resolution.
456         * src/ftview.c (Render_Fancy, Render_Stroke): Ditto.
458 2018-04-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
460         * src/ftgrid.c (gitd_status_init): Set default resolution here...
461         (parse_cmdline): ... instead of here.
463 2018-04-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
465         * src/ftcommon.c (FTDemo_Draw_Header): Hide redundant point size.
467 2018-04-22  Werner Lemberg  <wl@gnu.org>
469         * src/ftview.c (Render_Stroke): Avoid double-free in case of error.
471 2018-04-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
473         * src/ftview.c (Render_Waterfall): Reformulate the step.
475 2018-04-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
477         [ftview] Display more dramatic waterfalls.
479         * src/ftview.c (Render_Waterfall): Start from a small size and
480         increment so that the requested size is in the middle.
482 2018-04-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
484         * graph/grobjs.c (grFindColor): Missing case added.
486 2018-04-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
488         Recycle some code.
490         * graph/grfill.c (grFillRect): Call `memcpy' to speed it up.
491         * src/ftcommon.c (FTDemo_Display_Clear): Call `grFillRect'.
493 2018-04-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
495         [ftdump] Special case for copyright sign.
497         * src/output.c (put_ascii_string{,_size}): Implement it.
499 2018-04-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
501         * Makefile: Use `info' function of make 3.81.
503 2018-04-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
505         * src/gbench.c: Missing variable types.
507 2018-04-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
509         * src/Jamfile: Mention `output.c'.
510         * objs/.gitignore: Ignore almost everything.
512 2018-04-18  Werner Lemberg  <wl@gnu.org>
514         * Jamrules (FT2_LIB), src/Jamfile (COMMON_LIB): Don't use $(SUFLIB).
516         Jam automatically uses them.
518 2018-04-17  Werner Lemberg  <wl@gnu.org>
520         Move `obj' directory to `objs'.
522         This is both for consistency with the FreeType library tree and
523         better jam support.
525         * Makefile (OBJ_DIR_2, clean_demo, distclean_demo), mac/Makefile
526         (OBJ_DIR_2), mac/ftoldmac.m68k_far.make.txt (ObjDir),
527         mac/ftoldmac.ppc_classic.make.txt (ObjDir), vms_make.com (OBJDIR,
528         grinit.obj, grx11.obj): Updated.
530 2018-01-26  Ben Wagner  <bungeman@google.com>
532         * src/ftmulti.c (LOG) [DEBUG]: Modernize.
534 2018-01-08  Werner Lemberg  <wl@gnu.org>
536         * Version 2.9 released.
537         =======================
540         Tag sources with `VER-2-9.
542         * README: Updated.
543         * src/*.1: Updated.
544         * src/ftinspect/ftinspect.pro: Updated.
546 2018-01-07  Werner Lemberg  <wl@gnu.org>
548         * Makefile (LINK_LIBS): Add `LIB_CLOCK_GETTIME' (#52824).
550 2018-01-06  Werner Lemberg  <wl@gnu.org>
552         Use new `FT_Done_Var_MM' function.
554         * src/ftdump.c (Print_MM_Axes), src/ftgrid.c (main), src/ftmulti.c
555         (main): Do it.
557 2017-12-31  Werner Lemberg  <wl@gnu.org>
559         [ttdebug] Fix compiler warnings and run-time errors.
561         * src/ttdebug.c (Cur_U_Line): Remove useless casts to `unsigned' and fix
562         the necessary ones.
563         (RunIns): Protect `FT_MEM_COPY' calls.
565 2017-12-30  Werner Lemberg  <wl@gnu.org>
567         [ttdebug] Key `K' shows full stack.
569         * src/ttdebug.c (RunIns): Update help display.
570         Handle key `K'.
572 2017-12-30  Werner Lemberg  <wl@gnu.org>
574         [ttdebug] Key `I' toggles hexadecimal/decimal numbers display.
576         * src/ttdebug.c (use_hex): New global variable.
577         (Cur_U_Line): Use it.
578         (RunIns): Use it.
579         Update help display.
580         Handle key `I'.
582 2017-12-27  Werner Lemberg  <wl@gnu.org>
584         Fix compiler warnings.
586         * src/ftcommon.c, src/ftcommon.h
587         (FTDemo_Event_{Cff,Type1,T1cid}_Hinting_Engine_Change): Change
588         return type to `int'.
590         * src/ftdiff.c (HINTING_ENGINE_MAX): Removed.
591         * src/ftgrid.c, src/ftmulti.c, src/ftview.c (N_HINTING_ENGINES):
592         Removed.
594 2017-12-16  Alexei Podtelezhnikov  <apodtele@gmail.com>
596         * bin/.gitignore: Ignore almost everything.
598 2017-12-14  Ewald Hew  <ewaldhew@gmail.com>
599             Werner Lemberg  <wl@gnu.org>
601         Finish hinting engine selection code for Type 1 and CID fonts.
603         * src/ftview.c (event_cff_hinting_engine_change,
604         event_type1_hinting_engine_change,
605         event_t1cid_hinting_engine_change): Moved and renamed to...
607         * src/ftcommon.c (FTDemo_Event_Cff_Hinting_Engine_Change,
608         FTDemo_Event_Type1_Hinting_Engine_Change,
609         FTDemo_Event_T1cid_Hinting_Engine_Change): ...these.
610         Include FT_MODULE_H.
612         * src/ftcommon.h: Declarations.
613         * src/ftmulti.c: Forward declarations.
615         * Makefile: Updated to link above.
617         * src/ftview.c (event_tt_interpreter_version_change): Updated.
618         (Process_Event) <'H'>: Updated.
620         * src/ftbench.c: s/cff_hinting_/ps_hinting_/.
621         (main): Set `hinting-engine' property for all PostScript format
622         drivers.
624         * src/ftdiff.c (ColumnStateRec): New fields `type1_hinting_engine'
625         and `t1cid_hinting_engine'.
626         (render_state_init): Initialize new fields.
627         (render_state_draw): Use new fields.
628         Update footer string.
629         (process_event) <'H'>: Updated.
631         * src/ftgrid.c (GridStatusRec): New fields `type1_hinting_engine'
632         and `t1cid_hinting_engine'.
633         (main): Initialize new fields.
634         (event_cff_hinting_engine_change): Removed.
635         (Process_Event) <'H'>: Updated.
637         * src/ftmulti.c (type1_hinting_engine, t1cid_hinting_engine): New
638         fields.
639         (main): Initialize new fields.
640         Update header string.
641         (cff_hinting_engine_change): Removed.
642         (Process_Event) <'H'>: Updated.
644 2017-12-08  Werner Lemberg  <wl@gnu.org>
646         [ftview] Allow hinting engine selection for Type 1 and CID fonts.
648         * src/ftview.c (status): New fields `type1_hinting_engine' and
649         `t1cid_hinting_engine'.
650         (main): Initialize new fields.
651         (event_type1_hinting_engine_change,
652         event_t1cid_hinting_engine_change): New functions.
653         (Process_Event) <'H'>: Use them.
654         (write_header): Updated.
656 2017-12-08  Werner Lemberg  <wl@gnu.org>
658         Update to Freetype changes from 2017-12-08.
660         * src/*.c: s/FT_{CFF,TRUETYPE}_DRIVER_H/FT_DRIVER_H/.
661         s/FT_CFF_HINTING_/FT_HINTING_/.
662         s/N_CFF_HINTING_ENGINES/N_HINTING_ENGINES/.
664 2017-12-02  Werner Lemberg  <wl@gnu.org>
666         [ftview] Fix `-l' option.
668         * src/ftview.c (usage): Fix reported range.
669         (parse_cmdline) <l>: Fix range checking.
670         Set `handle->lcd_mode'; without this, there is no effect at
671         start-up.
673         * src/ftview.1: Fix argument range of `-l'.
675 2017-10-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
677         * src/ttdebug.c: Fix compilation on Windows.
679 2017-10-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
681         * src/ftgrid.c: Use integer for `scale'. Other tweaks.
683 2017-10-16  Colin Fahey  <cpfahey@gmail.com>
685         * src/output.c (put_unicode_be16_string): Fix UTF16 default.
687 2017-10-14  Werner Lemberg  <wl@gnu.org>
689         [ftbench] Add new test for creating face and loading glyph together.
691         This will be test `k'.
693         * src/ftbench.c (FT_BENCH_NEW_FACE_AND_LOAD_GLYPH): New enum value.
694         (bench_desc): Updated.
695         (test_new_face_and_load_glyph): New function.
696         (main): Handle it.
698         (test_image_cache, test_sbit_cache): Tag unused variables.
700         * src/ftbench.1: Updated.
702 2017-10-14  Werner Lemberg  <wl@gnu.org>
704         [ftbench] New option `-j' to specify last glyph index.
706         * src/ftbench.c (last_index): New global variable.
707         (test_load, test_load_advances, test_render, test_embolden,
708         test_get_glyph, test_get_cbox, test_get_bbox, test_image_cache,
709         test_sbit_cache, get_charset): Use it.
710         (usage): Updated.
711         (main): Handle `-j'.
712         Initialize `last_index'.
713         Update test output.
715 2017-10-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
717         * src/ftgrid.c (grid_status_draw_outline): Show ascender and descender.
719 2017-10-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
721         * src/ftgamma.c (Render_Bitmap): Ignore target flow.
723 2017-10-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
725         * graph/win32/grwin32.c (gr_win32_surface_set_title): Small fix.
727 2017-10-04  Werner Lemberg  <wl@gnu.org>
729         [ftgrid] Correctly handle MM data.
731         We have to reload the MM data after the cache gets reset.
733         * src/ftgrid.c (event_font_change): Move source code up in file.
734         (event_cff_hinting_engine_change,
735         event_tt_interpreter_version_change, event_warping_change,
736         event_lcd_mode_change, Process_Event <'h'>): Call
737         `event_font_change'.
739 2017-10-03  Werner Lemberg  <wl@gnu.org>
741         [ftgrid] Fix crash.
743         * src/ftgrid.c (grid_status_draw_outline): Avoid a crash if a font
744         can no longer be opened.
746 2017-10-03  Werner Lemberg  <wl@gnu.org>
748         Correctly handle Type1 font names without extension.
750         * src/ftcommon.c (my_face_requester): Unset the suffix if the font
751         file doesn't have an extension.
753 2017-09-21  Werner Lemberg  <wl@gnu.org>
755         * src/ftmulti.c (main): Fix memory leak.
757 2017-09-18  Werner Lemberg  <wl@gnu.org>
759         [ftgrid] New option `-n' suppresses display of named instances.
761         * src/ftgrid.c (GridStatus): New field `no_named_instances'.
762         (grid_status_init, usage): Updated.
763         (parse_cmdline): Handle `-n'.
764         (main): Use `no_named_instances'.
766         * src/ftgrid.1: Document it.
768 2017-09-17  Werner Lemberg  <wl@gnu.org>
770         [ftgrid] Fix crash if MM and non-MM fonts are viewed together.
772         * src/ftgrid.c (event_font_change): Reset `status.mm' after
773         deallocation.
775 2017-09-16  Werner Lemberg  <wl@gnu.org>
777         * Version 2.8.1 released.
778         =========================
781         Tag sources with `VER-2-8-1.
783         * README: Updated.
784         * src/*.1: Updated.
785         * src/ftinspect/ftinspect.pro: Updated.
787 2017-09-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
789         * src/ftdump.c (main): Remove unnecessary `printf'.
791 2017-09-10  Werner Lemberg  <wl@gnu.org>
793         [ftgrid] Key `C' now changes to a different color palette.
795         This gives better support for color-blind people.
797         * src/ftgrid.c (GridStatus): New member `do_alt_colors'.
798         (grid_status_init, event_help): Updated.
799         (grid_status_display): Move color code to...
800         (grid_status_colors): ... this new function.
801         (grof_status_alt_colors): New function.
802         (Process_Event): Handle key `C'.
803         (main): Updated.
805 2017-09-09  Werner Lemberg  <wl@gnu.org>
807         Fix clang compiler warnings.
809         * src/ftcommon.c (PanicZ): Use `const'.
810         (FTDemo_Draw_Header): Add a cast.
812         * src/ftdump.c (PanicZ): Use `const'.
814 2017-09-09  Werner Lemberg  <wl@gnu.org>
816         [ftgrid] Key `G' now toggles the display of grid lines.
818         * src/ftgrid.c (GridStatus): New member `do_grid'.
819         (grid_status_init, event_help): Updated.
820         (grid_status_draw_outline, main): Use `do_grid'.
821         (Process_Event): Handle key `G'.
823 2017-09-09  Werner Lemberg  <wl@gnu.org>
825         [ftgrid] Fix display of segment lines.
827         `af_glyph_hints_get_segment_offset' now returns values in font
828         units.  Previously, values were scaled to the device resolution but
829         with x height correction applied, which caused a mismatch to the
830         displayed unhinted outlines.
832         * src/ftgrid.c (grid_hint_draw_segment): Add new argument for
833         `FT_Size' object.
834         Scale return values of `af_glyph_hints_get_segment_offset' manually.
835         (grid_status_draw_outline): Updated.
837 2017-09-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
839         * src/{ftdump.c,ftcommon.c} (PanicZ): Handle error messages.
841 2017-08-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
843         * src/ftdump.c (Print_Charmaps): Decorate with glyph names.
845 2017-07-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
847         [ftstring] Tweak adjustment of spacing.
849         The advance width rounding in light hinting is reflected in
850         `rsb_delta' and ranges from -31 to 32. These conventional limits
851         should also define when the spacing adjustment is warranted.
853         * src/ftcommon.c (string_load): Tweak conditionals.
855 2017-06-29  Werner Lemberg  <wl@gnu.org>
857         * src/ftview.c (Render_Stroke): Avoid memory leaks.
859 2017-06-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
861         [ftdump] List SFNT tables.
863         * src/ftdump.c (Print_Sfnt_Tables): New feature, list SFNT tables with
864         their first 4 bytes with version for some tables.
865         (usage, main): Updated.
867         * src/ftdump.1: Updated
869 2017-06-22  Werner Lemberg  <wl@gnu.org>
871         [compos] Make it compile.
873         * src/compos.c (FT2_BUILD_LIBRARY): Define; we need access to
874         FT_SubGlyphRec.
875         Include FT_INTERNAL_GLYPH_LOADER_H.
876         (main): Updated.
878 2017-06-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
880         * src/ftcommon.c (FTDemo_Draw_Header): Simplify.
882 2017-06-10  Werner Lemberg  <wl@gnu.org>
884         * src/ftcommon.c (FTDemo_Draw_Header): Fix compiler warning.
886 2017-06-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
888         * src/ftview.c (event_encoding_change, main): Minor updates.
890 2017-06-10  Werner Lemberg  <wl@gnu.org>
892         * src/ftcommon.c (FTDemo_Draw_Header): Show gamma in second line.
894         Otherwise it clashes with long file names.
896 2017-06-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
898         [ftview] Merge gray and color sbits controls.
900         * src/ftcommon.h (FTDemo_Handle): Merge `color' into `use_sbits'.
901         * src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags): Updated.
902         * src/ftview.c (Process_Event, event_help, write_header): Updated.
904 2017-06-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
906         [ftgrid] Teach encodings.
908         * src/ftgrid.c (grid_status_draw_outline): Use encoding.
909         (parse_cmdline, usage): New option to specify encoding.
910         (Process_Event): Use hexadecimal steps through index.
912 2017-06-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
914         [ftgrid] Minor.
916         * src/ftgrid.c (grid_status_draw_outline): Move the stroker
917         initialization from here...
918         (main): ... to here.
920 2017-06-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
922         [ftview] Clean up charmap handling.
924         * src/ftcommon.h (FT_ENCODING_ORDER): Introduce this special encoding
925         for glyph order because `FT_ENCODING_NONE' has other meanings.
926         * src/ftcommon.c (FTDemo_Install_Font): Fall back to
927         `FT_ENCODING_ORDER' if encoding is not recognized.
928         (FTDemo_Draw_Header): Updated.
930         * src/ftview.c (status): Remove redundant `encoding' field and update
931         all references.
932         (FT_ENCODING_OTHER): Removed in favor of `FT_ENCODING_NONE'.
934 2017-06-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
936         [ftgrid, ftstring, ftview] Further top header consolidation.
938         * src/ftview.c (event_encoding_change): Update `handle'.
939         (write_header): Move instance, encoding, and the first glyph code
940         reporting from here...
941         * src/ftgrid.c (write_header): ... and from here...
942         * src/ftcommon.c (FTDemo_Draw_Header): ... to here.
943         * src/ftcommon.h (FTDemo_Draw_Header): Update prototype.
944         * src/ftstring.c (write_header): Updated.
946 2017-05-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
948         [ftgrid, ftstring, ftview] Migrate gamma to `FTDemo_Display'.
950         * src/ftcommon.h (FTDemo_Display): Add new field `gamma'.
951         * src/ftcommon.c (FTDemo_Display_New): Initialize it.
952         (FTDemo_Draw_Header): Updated.
954         * src/ftgrid.c (GridStatusRec): Remove field `gamma'.
955         (event_gamma_change): Updated.
957         * src/ftstring.c (status): Remove field `gamma'.
958         (event_gamma_change): Updated.
960         * src/ftgrid.c (status): Remove field `gamma'.
961         (event_gamma_change): Updated.
963 2017-05-28  Werner Lemberg  <wl@gnu.org>
965         * src/ftbench.c (BENCH_TIME): Use `double' literal.
967 2017-05-27  Philipp Kerling  <pkerling@casix.org>
969         [ftinspect] Split sources; change face index type to `long'.
971         * src/ftinspect.cpp, src/ftinspect.h: Split into...
972         * src/ftinspect/*: ...these new files.
973         Do face index type change.
975         * src/ftinspect/.gitignore: New file.
977 2017-05-24  Werner Lemberg  <wl@gnu.org>
979         Minor `fread' coding issues.
981         * src/ftbench.c (get_face), src/ftcommon.c (FTDemo_Install_Font):
982         Make `nmemb' argument of `fread' equal 1; this allows a
983         simplification of the return value test (you get either 0 or 1).
985         * src/ftdiff.c (main): Handle `fread' errors.
986         Problem reported by Kushal K S V S (కుషల్ కే ఎస్ వీ ఎస్)
987         <kkushal32@gmail.com>.
989 2017-05-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
991         [ftgrid, ftstring, ftview] Unify top header lines.
993         * src/ftcommon.[ch] (FTDemo_Draw_Header): New function that displays
994         information about face, size, resolution, and gamma to be used in...
996         * src/ftview.c (write_header): ... here.
997         * src/ftstring.c (write_header): ... here.
998         * src/ftgrid.c (write_header): ... and here.
999         (event_gamma_change): Updated.
1001 2017-05-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
1003         * src/ftgrid.c (main): Fix segmentation fault.
1005 2017-05-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
1007         [ftdiff, ftgrid, ftview] Make autohint warping NORMAL option.
1009         * src/ftdiff.c (render_state_draw, event_help): Updated.
1010         * src/ftgrid.c (event_help, event_warping_change): Updated.
1011         * src/ftview.c (event_help, event_warping_change, write_header):
1012         Updated.
1014 2017-05-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
1016         [ftstring, ftview] Loosely match bitmap font sizes.
1018         * src/ftcommon.c (FTDemo_Set_Current_Size,
1019         FTDemo_Set_Current_Charsize): Round requested size to the closest
1020         available ppem for bitmap fonts.
1022         * src/ftview.c (Render_Waterfall): Simplify accordingly.
1023         (write_header): Highlight ppem that does not match the point size.
1025         * src/ftstring.c (write_header): Report ppem.
1027 2017-05-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
1029         * src/ftview.c (Render_Stroke): Fix segmentation fault.
1031 2017-05-13  Werner Lemberg  <wl@gnu.org>
1033         * Version 2.8 released.
1034         =======================
1037         Tag sources with `VER-2-8.
1039         * README: Updated.
1040         * src/*.1: Updated.
1041         * src/ftinspect.pro: Updated.
1043 2017-05-11  Werner Lemberg  <wl@gnu.org>
1045         * src/ftinspect.cpp: Don't include `cstdint', which is C++11.
1047         Right now, we still want to be able to compile with older C++
1048         compilers.
1050 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1052         [ftinspect] Check glyph index before discarding sign.
1054         * src/ftinspect.cpp (Engine:glyphName, Engine::loadOutline): Do it.
1056 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1058         * src/ftinspect.cpp (GlyphPointNumbers::paint): Fix `ptIdx' type.
1060 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1062         [ftinspect] Mark float literals as float.
1064         * src/ftinspect.cpp (GlyphPointNumbers::paint): Do it.
1066 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1068         [ftinspect] Insert explicit casts where warranted.
1070         This avoids compiler warnings.
1072         * src/ftinspect.cpp (Engine::numberOfNamedInstances,
1073         Engine::glyphName, Engine::loadOutline, GlyphBitmap::GlyphBitmap,
1074         GlyphBitmap::paint, QGraphicsViewx::resizeEvent): Do it.
1076 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1078         [ftinspect] Replace old-style casts with C++ casts.
1080         * src/ftinspect.cpp (Engine::update, GlyphPointNumbers::paint): Do
1081         it.
1083 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1085         [ftinspect] Make color tables and settings more readable.
1087         * src/ftinspect.cpp (MainGUI::setGraphicsDefaults): Use Qt
1088         constants and `qRgba'.
1090 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1092         [ftinspect] Use symbolic constant for TrueType interpreter v40.
1094         v40 is implemented meanwhile.
1096         * src/ftinspect.cpp (Engine::Engine, MainGUI::setDefaults): Use
1097         `TT_INTERPRETER_VERSION_40'.
1099 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1101         [ftinspect] Remove unneeded explicit array sizes.
1103         * src/ftinspect.cpp (Engine::Engine): Do it.
1105 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1107         [ftinspect] Make `ftcFaceID' conversion safe.
1109         * src/ftinspect.cpp: Include `stdint.h'.
1110         (faceRequester): Implement it.
1112 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1114         [ftinspect] Synchronize dpi, target, pxlMode types with FreeType.
1116         * src/ftinspect.h (Engine): Make `dpi' unsigned int.
1117         Make `loadFlags' unsigned long.
1118         (GlyphBitmap): Use `FT_Pixel_Mode' for `pixelMode' and constructor.
1120         * src/ftinspect.c: Include `cstdint', `cmath', `limits',
1121         `stdexcept', needed by forthcoming commits.
1122         (Engine::update, GlyphBitmap::GlyphBitmap, MainGUI::drawGlyph):
1123         Updated.
1125 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1127         [ftinspect] Change freetype2 include path to system include path.
1129         This avoids warnings.
1131         * src/ftinspect.pro: Do it.
1133 2017-05-11  Philipp Kerling  <pkerling@casix.org>
1135         [ftinspect] Remove `const_cast'.
1137         * src/ftinspect.cpp (GlyphBitmap::paint): `const_cast' is
1138         potentially dangerous and should only be used as a last resort.
1139         Here, the mutable data can just be accessed with `.bits()' instead.
1141 2017-05-11  Werner Lemberg  <wl@gnu.org>
1143         Fix clang warnings.
1145         * src/ftbench.c (main): Use cast.
1147         * src/ftview.c (N_LCD_IDXS): Cast to `int'.
1148         (usage, parse_cmdline): Updated.
1150 2017-05-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
1152         [ftview] Report fractional ppem for scalable fonts.
1154         * src/ftview.c (write_header): Updated, ppem and errors consolidated.
1156 2017-05-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
1158         * src/ftview.c (write_header): Revert due to segmentation fault.
1160 2017-05-02  Werner Lemberg  <wl@gnu.org>
1162         Remove `slight' auto-hinting mode.  Add sub-pixel `light' mode.
1164         * src/ftcommon.h (LCD_MODE_SLIGHT): Replace with...
1165         (LCD_MODE_LIGHT_SUBPIXEL): ...this new enum value.
1167         * src/ftcommon.c (FTDemo_Update_Current_Flags,
1168         FTDemo_Glyph_To_Bitmap): Updated.
1169         (string_load): Handle `LCD_MODE_LIGHT_SUBPIXEL'.
1170         Make integer delta support actually work.
1171         (string_render_prepare): Support `LCD_MODE_LIGHT_SUBPIXEL'.
1173         * src/ftdiff.c (HintMode): Replace HINT_MODE_AUTOHINT_SLIGHT with
1174         HINT_MODE_AUTOHINT_LIGHT_SUBPIXEL.
1175         (render_mode_names, render_state_draw, event_help): Updated.
1177         * src/ftgrid.c (grid_status_draw_outline): Show fractional advance
1178         width.
1179         (event_lcd_mode_change, Process_Event): Updated.
1181         * src/ftstring.c (event_lcdmode_change): Updated.
1183         * src/ftview.c (lcd_modes): New array to map indices (as produced by
1184         key presses) to LCD modes; we omit LCD_MODE_LIGHT_SUBPIXEL, which
1185         doesn't make much sense within ftview.
1186         (N_LCD_IDXS): New macro.
1187         (status): Replace `lcd_mode' with `lcd_idx'.
1188         (event_help): Revert change from 2017-04-19.
1189         (Process_Event): Updated to use `lcd_modes' array.
1190         Remove references to LCD_MODE_LIGHT.
1191         (write_header, usage, parse_cmdline, main): Updated.
1193         * src/ftinspect.h (AntiAliasing): Remove `AntiAliasing_Slight'.
1195         * src/ftinspect.cpp (Engine::update, MainGUI::checkHinting,
1196         MainGUI::checkAutoHinting, MainGUI::checkAntiAliasing,
1197         MainGUI::createLayout): Updated.
1199 2017-04-19  Werner Lemberg  <wl@gnu.org>
1201         Support new `slight' auto-hinting mode.
1203         Note that currently only `ftdiff' shows what the new mode really can
1204         do – `ftview' uses integer advance values, which doesn't work well
1205         with the `slight' mode.
1207         * src/ftcommon.h (LCD_MODE_SLIGHT): New enumeration.
1209         * src/ftcommon.c (FTDemo_Update_Current_Flags,
1210         FTDemo_Glyph_To_Bitmap): Handle `LCD_MODE_SLIGHT'.
1212         * src/ftdiff.c (HintMode): Add `HINT_MODE_AUTOHINT_SLIGHT'.
1213         (render_mode_names): Updated.
1214         (render_state_draw): Handle `HINT_MODE_AUTOHINT_SLIGHT'.
1216         * src/ftgrid.c (event_lcd_mode_change): Handle `LCD_MODE_SLIGHT'.
1217         (Process_Event): Updated.
1219         * src/ftstring.c (event_lcdmode_change): Handle `LCD_MODE_SLIGHT'.
1221         * src/ftview.c (event_help): Updated; we now have keys A-H to
1222         directly select rendering modes.
1223         (Process_Event, write_header): Updated.
1225         * src/ftinspect.h (AntiAliasing): Add `AntiAliasing_Light'.
1227         * src/ftinspect.cpp (Engine::update): Handle `AntiAliasing_Light',
1228         update `AntiAliasing_Slight'.
1229         (MainGUI::checkHinting, MainGUI::checkAutoHinting,
1230         MainGUI::checkAntiAliasing, MainGUI::createLayout): Updated.
1232 2014-04-19  Werner Lemberg  <wl@gnu.org>
1234         [ftgrid] Fix out-of-array memory access.
1236         * src/ftgrid.c (bitmap_scale) [gr_pixel_mode_lcd]: We handle input
1237         pixel by pixel, not the full line; consequently, we have to use
1238         `width', not `pitch'.
1240 2017-04-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
1242         * src/ftview.c (write_header): Report fractional ppem differently.
1244         To convince Werner.
1246 2017-04-16  Alexei Podtelezhnikov  <apodtele@gmail.com>
1248         * src/ftview.c (write_header): Report fractional ppem.
1250 2017-04-16  Werner Lemberg  <wl@gnu.org>
1252         * src/ftdump.c (Print_Charmaps): Better show synthetic cmaps.
1254 2017-04-09  Werner Lemberg  <wl@gnu.org>
1256         * src/ftmulti.c (Render_All, Render_Text): Round advance widths.
1258         Problem spotted by Nikolaus.
1260 2017-03-30  Werner Lemberg  <wl@gnu.org>
1262         * src/ftview.c (write_header): Show current instance index.
1264 2017-03-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
1266         Use `LCD_MODE_XXX' enum values.
1268         * src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags,
1269         FTDemo_Glyph_To_Bitmap, FTDemo_Index_To_Bitmap): Ditto.
1270         * src/ftgrid.c (event_lcd_filter_change): Ditto.
1271         * src/ftstring.c (event_lcdmode_change): Ditto.
1273 2017-03-29  Werner Lemberg  <wl@gnu.org>
1275         * src/ftview.c (INIT_SIZE): Improve vertical start position.
1277 2017-03-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
1279         [ftview] Stuff right margin.
1281         * src/ftview.c (X_TOO_LONG): Rely on `horiAdvance' when available.
1282         (Render_All): Use `FTDemo_Draw_Slot' so that updated X_TOO_LONG works.
1283         (Render_Stroke, Render_Fancy): Updated.
1285 2017-03-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
1287         [ftview] Hide LCD filter from grayscale modes.
1289         * src/ftview.c (Process_Event, write_header): Check the LCD mode
1290         before adjusting or reporting the LCD filter.
1292 2017-03-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
1294         [ftview, ftstring, ftgrid] Remove anti-aliasing toggle.
1296         * src/ftcommon.h (FTDemo_Handle): Replace `antialias' field with
1297         `LCD_MODE_MONO' enumerator.
1298         * src/ftcommon.c (FTDemo_Update_Current_Flags, FTDemo_Glyph_To_Bitmap,
1299         FTDemo_Index_To_Bitmap): Updated.
1300         * src/ftgrid.c (Process_Event, event_help, event_lcd_mode_change,
1301         event_lcd_filter_change): Ditto.
1302         * src/ftstring.c (Process_Event, event_help, event_lcdmode_change):
1303         Ditto.
1304         * src/ftview.c (Process_Event, event_help, write_header): Ditto.
1306 2017-03-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
1308         * src/ftview.c (Render_*): Improve readability.
1310 2017-03-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
1312         [ftview] Consolidate emboldening and slanting modes.
1314         * src/ftview.c (Render_Slanted, Render_Embolden): Merged into...
1315         (Render_Fancy): ... this new function.
1316         (event_help, Process_Event, write_header, main): Updated.
1317         * src/ftview.1: Updated.
1319 2017-03-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
1321         * src/ftmulti.c (Process_Event, main): Use `FT_RoundFix'.
1323 2017-03-23  Werner Lemberg  <wl@gnu.org>
1325         * src/ftmulti.c (Process_Event, main): Fix rounding.
1327 2017-03-23  Werner Lemberg  <wl@gnu.org>
1329         [ftmulti] Show PS name.
1331         * src/ftmulti.c (Render_All): Adjust vertical start position.
1332         (Render_Text): Make arguments similar to `Render_All'.
1333         Adjust vertical start position.
1334         (Process_Event): Round non-integer axis values to two decimal
1335         digits.
1336         (main): Updated.
1337         Print PostScript name.
1339 2017-03-20  Brian Nixon  <nixonb@yahoo.com>
1341         [ftview] Improve waterfall mode (#50586).
1343         * src/ftview.c (Render_Waterfall): Stop repeating of the default
1344         glyph to the end of each line after the display text.
1346 2017-03-20  Brian Nixon  <nixonb@yahoo.com>
1348         * graph/win32/grwin32.c(syskey_translators): Fix F10 key (#50585).
1350         `F10' does not work as advertised in the demos because the
1351         message-handling code expects it to arrive as a `normal' key but
1352         Windows sends it as a `system' key (because it is reserved for
1353         activating the menu bar, per the IBM Common User Access standard).
1355         Fix this by adding `F10' to the ‛syskey_translators’ table.
1357         (We also remove the existing handling of `F1' as a `system' key,
1358         because this does not appear to be necessary.  `F1' is sent as a
1359         `normal' key and is correctly handled by the ‛key_translators’
1360         table.)
1362 2017-03-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
1364         * src/ftbench.c (main, usage): Add optional LCD filtering.
1366 2017-03-19  Brian Nixon  <nixonb@yahoo.com>
1368         [graph] Make demo windows minimise-able on Win32 (#50582).
1370         * graph/win32/grwin32.c (gr_win32_surface_init): Implement it.
1372 2017-03-13  Werner Lemberg  <wl@gnu.org>
1374         [ftdump] Show ID numbers for standard `name' table entries.
1376         * src/ftdump.c (EXPAND, XEXPAND, NAME_ID): New macros.
1377         (name_id): Use new macros.
1379 2017-02-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
1381         * src/ftgamma.c (main): Label images.
1383 2017-02-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
1385         [ftgamma] Add box-filtered subpixel pattern.
1387         Two alternative patterns now demonstrate the importance of correct
1388         gamma for both grayscale and subpixel anti-aliasing, where it helps
1389         normalize thickness in the former and remove color fringes in the
1390         latter.
1392         * src/ftgamma.*: Updated.
1394 2017-01-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
1396         [ftstring] Improve gamma ramp appearance.
1398         * src/ftstring.c (event_gamma_change, gamma_ramp_draw): Updated.
1400 2017-01-28  Werner Lemberg  <wl@gnu.org>
1402         [ftdump] Always finalize FreeType.
1404         * src/ftdump.c (PanicZ, usage): Add `library' argument so that we
1405         can call `FT_Done_FreeType'.
1406         (main): Updated.
1408 2017-01-28  Werner Lemberg  <wl@gnu.org>
1410         [ftdump] Sync with current FreeType.
1412         * src/ftdump.c (name_id): Use updated ID macros.
1413         Add new ID macros.
1415 2017-01-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
1417         [ftview] Align with current FreeType.
1419         * src/ftview.c (write_header): s/GB2312/PRC/.
1420         (Process_Event): `FT_Library_SetLcdFilterWeights' now enables
1421         filtering without `FT_Library_SetLcdFilter'.
1423 2016-12-30  Werner Lemberg  <wl@gnu.org>
1425         * Version 2.7.1 released.
1426         =========================
1429         Tag sources with `VER-2-7-1'.
1431         * README: Updated.
1432         * src/*.1: Updated.
1433         * src/ftinspect.pro: Updated.
1435 2016-12-27  Werner Lemberg  <wl@gnu.org>
1437         [ftmulti] Minor.
1439         * src/ftmulti.c (Process_Event, main): If MM, round design
1440         coordinates.
1442 2016-12-25  Werner Lemberg  <wl@gnu.org>
1444         Fixes for clang++.
1446         * Makefile (COMPILE): Don't add `-std=c99' if using a C++ compiler.
1448         * src/ftbench.c (_GNU_SOURCE): Declare only if not already defined.
1450         * src/ftcommon.c (_GNU_SOURCE): Declare only if not already defined.
1451         (FTDemo_Install_Font): Use proper case for `FT_Select_Charmap'.
1453         * src/ftmulti.c (main): Use proper case for `FT_Select_Charmap'.
1455 2016-12-20  Werner Lemberg  <wl@gnu.org>
1457         * src/ftmulti.c: Minor clang fixes.
1459 2016-12-19  Werner Lemberg  <wl@gnu.org>
1461         [ftmulti] Support multiple engines.
1463         Similar to other programs, use the `H' key to cycle through engines
1464         (if available).
1466         * src/ftmulti.c: Include FT_FONT_FORMATS_H, FT_MODULE_H,
1467         FT_TRUETYPE_DRIVER_H, FT_CFF_DRIVER_H.
1468         (N_CFF_HINTING_ENGINES): New macro.
1469         (cff_hinting_engine, tt_interpreter_versions,
1470         num_tt_interpreter_versions, tt_interpreter_version_idx,
1471         font_format): New global variables.
1472         (Help): Updated.
1473         (cff_hinting_engine_change, tt_interpreter_version_change): New
1474         functions.
1475         (Process_Event): Handle key `H'.
1476         (main): Set up selection of CFF and TrueType engine versions.
1477         Display selected engine.
1478         Force redisplay of current font if `H' key was pressed.
1480 2016-11-06  Werner Lemberg  <wl@gnu.org>
1482         * src/ftbench.c (main): Adjust size argument for bitmap strikes.
1484         For bitmap-only fonts we enforce the selection of the first bitmap
1485         strike size.
1486         This commit also fixes the `size' value itself.
1488 2016-10-29  Werner Lemberg  <wl@gnu.org>
1490         Minor compilation issues.
1492         * Makefile: Use ANSIFLAGS and select C99 for GNU-like compilers.
1494         * src/ftbench.c, src/ftcommon.c (_GNU_SOURCE): Define.  We use
1495         functionality not covered by ANSI.
1497 2016-10-29  Werner Lemberg  <wl@gnu.org>
1499         Fix clang warnings.
1501         We now have a new `FT_ENCODING_OTHER' tag used for internal
1502         purposes.  Since it is not possible to extend an enumeration after
1503         its definition, replace `FT_Encoding' types with `unsigned long'.
1505         * src/ftcommon.c (FTDemo_Make_Encoding_Tag): Updated.
1506         * src/ftcommon.h (FTDemo_Handle): Ditto.
1508         * src/ftmulti.c (encoding): Use `unsigned long'.
1509         (main): Updated.
1511         * src/ftstring.c (Sample): Make array of type `const char*'.
1512         (status): Use `unsigned long' for `encoding' field.
1513         Use `const char*' for `text' field.
1515         * src/ftview.c (status): Use `unsigned long' for `encoding'.
1516         (FT_ENCODING_OTHER): Use `unsigned long'.
1518 2016-10-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
1520         [graph] Untested legacy 15/16-bit color fixes.
1522         Our tools do not use the legacy 15/16-bit color modes. This is mostly
1523         for the sake of correctness. We might also remove the code.
1525         * graph/grblit.c (blit_gray{8,}_to_{555,565}): Updated.
1526         * graph/x11/grx11.c (gr_x11_format_{bgr565,rgb555,bgr555}): Updated.
1528 2016-10-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
1530         * graph/grblit.c (blit_lcd28_to_24): Typo.
1532 2016-10-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
1534         * src/ftdump.c (Print_Charmaps): Dump format info.
1536 2016-10-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
1538         [ftview] Recognize other charmaps.
1540         * src/ftview.c (event_change_encoding): Recognize when
1541         FT_ENCODING_NONE has special other meaning.
1542         (write_header): Default case for `status.encoding'.
1544 2016-10-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
1546         [ftview] Fix charmap cycling.
1548         * src/ftview.c (event_change_encoding): Reimplement relying on
1549         `cmap_index' field in TFont structure.
1551 2016-10-05  Alexei Podtelezhnikov  <apodtele@gmail.com>
1553         [ftview] Implement cycling through available charmaps.
1555         * src/ftview.c (event_change_encoding): New function.
1556         (Process_Event): New [Tab] event to cycle through available charmaps,
1557         also increase index steps to 16, 256, and 4096.
1558         (event_help): Updated.
1560 2016-10-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
1562         * graph/grevents.h (grKey): Typo.
1564 2016-10-01  İsmail Dönmez  <idonmez@suse.com>
1566         * src/ftinspect.pro (LIBS): Fix default value.
1568 2016-09-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
1570         [ftstring] Add LGC and CJK sample strings.
1572         * src/ftstring.c (event_text_change): New function.
1573         (Process_Event): New [Tab] event to cycle through sample strings.
1574         (event_help): Offer it.
1575         (status, event_font_change, main): Updated.
1577 2016-09-16  Werner Lemberg  <wl@gnu.org>
1579         * src/ftbench.1: Improve.
1581 2016-09-08  Werner Lemberg  <wl@gnu.org>
1583         * Version 2.7 released.
1584         =======================
1587         Tag sources with `VER-2-7'.
1589         * README: Updated.
1590         * src/*.1: Updated.
1591         * src/ftinspect.pro: Updated.
1593 2016-08-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
1595         * src/ftdump.c (Print_Programs): Use fewer casts.
1597 2018-08-19  Werner Lemberg  <wl@gnu.org>
1599         [ftdump] Fix clang compiler warnings.
1601         * src/ftdump.c (Print_Bytecode): Use cast instead of printf length
1602         modifier – we would need `hh', which only glibc offers.
1603         (Print_Programs): Use proper casts for constant strings and 16bit
1604         integer types.
1606 2018-08-19  Werner Lemberg  <wl@gnu.org>
1608         [ftgamma] Fix compiler warnings.
1610         * src/ftgamma.c (bit1, bit2, bit): Make them static.
1612 2016-08-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
1614         [ftdump] Hexdump composite glyf instructions too.
1616         * src/ftdump.c (Print_Programs): Updated.
1617         (Print_Bytecode): Cleaned up.
1619 2016-08-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
1621         [ftdump] Implement hexdump of TrueType instructions.
1623         This is useful when searching for interesting instructions. Pushed
1624         values come with underscore prefix to distinguish them from actual
1625         opcodes.
1627         * src/ftdump.c (Print_Bytecode, Print_Programs): Implement this.
1628         (usage): New option `-p' described.
1629         (main): Updated.
1630         * src/ftdump.1: Updated.
1632 2016-08-06  Werner Lemberg  <wl@gnu.org>
1634         Move Mark Leisher's `getopt' implementation to a separate file.
1636         We need this since `ftbench.c' now includes `unistd.h', which in
1637         turn declares `getopt'.
1639         * src/common.c, src/common.h: Move `getopt' stuff to...
1640         * src/mlgetopt.c, src/mlgetopt.h: ... these new files.
1641         Update all callers.
1643         * src/common.c, src/common.h: Use standard C only.
1644         Replace `CONST' with `const'.
1646         * Makefile (COMMON_OBJ): Add `mlgetopt'.
1648 2016-08-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
1650         * src/ftbench.c (get_time, benchmark): Clean up timers.
1652 2016-08-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
1654         [ftbench] Use POSIX timers when available.
1656         * src/ftbench.c (get_time): Use `clock_gettime' instead of obsolete
1657         and less accurate `gettimeofday'.
1658         (benchmark): Updated.
1660 2016-07-14  Werner Lemberg  <wl@gnu.org>
1662         [ftgrid] New option `-d' to give start-up design coordinates.
1664         This code is similar to the one from `ftmulti'.
1666         * src/ftgrid.c: Include `stdlib.h'.
1667         (GridStatusRec): Add `requested_pos' and `requested_cnt' to hold the
1668         design coordinate data from the command line.
1669         (event_font_change): Handle them.
1670         (parse_cmdline): Handle option `-d'.
1671         (usage): Document `-d'.
1672         (main): Don't load named instances if we have start-up design
1673         coordinates.
1675         * src/ftgrid.1: Updated.
1677 2016-07-14  Werner Lemberg  <wl@gnu.org>
1679         Prepare suppression of named instances.
1681         No functional change.
1683         * src/ftcommon.c (FTDemo_Install_Font): Add boolean parameter to
1684         avoid loading of instances.
1685         * src/ftcommon.h: Updated.
1686         * src/ftgrid.c (main), src/ftstring.c (main), src/ftview.c (main):
1687         Updated.
1689 2016-07-14  Werner Lemberg  <wl@gnu.org>
1691         [ftgrid] Properly handle named instances.
1693         * src/ftgrid.c (event_font_change): Properly initialize the design
1694         positions with the named instance's value, if appropriate.
1696 2016-07-12  Werner Lemberg  <wl@gnu.org>
1698         * Version 2.6.5 released.
1699         =========================
1702         Tag sources with `VER-2-6-5'.
1704         * README: Updated.
1705         * src/*.1: Updated.
1706         * src/ftinspect.pro: Updated.
1708 2016-07-05  Werner Lemberg  <wl@gnu.org>
1710         * Version 2.6.4 released.
1711         =========================
1714         Tag sources with `VER-2-6-4'.
1716         * README: Updated.
1717         * src/*.1: Updated.
1718         * src/ftinspect.pro: Updated.
1720 2016-06-26  Werner Lemberg  <wl@gnu.org>
1722         [ftinspect] Fix pixel box drawing.
1724         This commit circumvents a problem with Qt's `QPainter::drawImage'
1725         function; it seems that the alignment of the output becomes
1726         imprecise at high magnification values.
1728         * src/ftinspect.c (GlyphBitmap::paint): Manually draw pixel boxes
1729         with `fillRect'.
1731 2016-05-29  Werner Lemberg  <wl@gnu.org>
1733         * src/ftbench.c (main): Add cast to remove compiler warning.
1735 2016-05-29  Werner Lemberg  <wl@gnu.org>
1737         [ftinspect] Mark pixel centers in the grid with a cross.
1739         * src/ftinspect.c (Grid::paint): Implement it.
1741 2016-05-29  Werner Lemberg  <wl@gnu.org>
1743         [ftinspect] Prepare zoom for drawing pixel center.
1745         This change makes the zoom use only even values larger than a given
1746         threshold; it also implements (kind of) logarithmic zooming.
1748         * src/ftinspect.h (QSpinBoxx): New class, derived from `QSpinBox'.
1749         (MainGUI): Updated.
1751         * src/ftinspect.cpp (MainGUI::createLayout): Updated.
1752         (QSpinBoxx::valueFromText, QSpinBoxx::stepBy): New methods.
1754 2016-05-26  Werner Lemberg  <wl@gnu.org>
1756         [ftbench] Add support for third TrueType interpreter version.
1758         Option `-H' now takes an argument to select the CFF hinting engine,
1759         and new option `-I' selects the TT interpreter version.
1761         * src/ftbench.c (default_hinting_engine,
1762         default_interpreter_version): Replaced with...
1763         (tt_interpreter_versions, num_tt_interpreter_versions,
1764         dflt_tt_interpreter_version, cff_hinting_engines,
1765         num_cff_hinting_engines, dflt_cff_hinting_engine,
1766         cff_hinting_engine_names): ...  these new global variables.
1767         (main): Expand check for alternative TrueType interpreter versions
1768         and CFF hinting engines.
1769         Add argument to option `-H'.
1770         Add new option `-I'.
1771         (usage): Updated.
1773         * src/ftbench.1: Updated.
1775 2016-05-26  Werner Lemberg  <wl@gnu.org>
1777         [ttdebug] Rename option `-H' to `-I'.
1779         This is for consistency with a forthcoming change to `ftbench'.
1781         * src/ttdebug.c (main): Implement it.
1782         (Usage): Updated.
1784         * src/ttdebug.1: Updated.
1786 2016-05-26  Werner Lemberg  <wl@gnu.org>
1788         [ttdebug] Add support for third TrueType interpreter version.
1790         Option `-H' now takes an argument.
1792         * src/ttdebug.c (default_version, alternative_version): Replaced
1793         with...
1794         (tt_interpreter_versions, num_tt_interpreter_versions,
1795         dflt_tt_interpreter_version): ... these new global variables.
1796         (main): Expand check for alternative TrueType interpreter versions.
1797         Add argument to option `-H'.
1798         (Usage): Updated.
1800         * src/ttdebug.1: Updated.
1802 2016-05-21  Werner Lemberg  <wl@gnu.org>
1804         [ftgrid] Add support for third TrueType interpreter version.
1806         * src/ftgrid.c (GridStatusRec): Replace `tt_interpreter_version'
1807         with `tt_interpreter_versions' array.
1808         Add `num_tt_interpreter_versions' and `tt_interpreter_version_idx'.
1809         (event_tt_interpreter_version_change): Updated.
1810         (main): Expand check for alternative TrueType interpreter versions.
1812 2016-05-21  Werner Lemberg  <wl@gnu.org>
1814         [ftdiff] Add support for third TrueType interpreter version.
1816         * src/ftdiff.c (ColumnStateRec):  Replace `tt_interpreter_version'
1817         with `tt_interpreter_versions' array.
1818         Add `num_tt_interpreter_versions' and `tt_interpreter_version_idx'.
1819         (render_state_init): Expand check for alternative TrueType
1820         interpreter versions.
1821         (render_state_draw): Updated.
1822         (process_event) <'H'>: Updated.
1824 2016-05-21  Werner Lemberg  <wl@gnu.org>
1826         [ftview] Add support for third TrueType interpreter version.
1828         * src/ftview.c (status): Replace `tt_interpreter_version' with
1829         `tt_interpreter_versions' array.
1830         Add `num_tt_interpreter_versions' and `tt_interpreter_version_idx'.
1831         (event_tt_interpreter_version_change, write_header): Updated.
1832         (main): Expand check for alternative TrueType interpreter versions.
1834 2016-05-21  Werner Lemberg  <wl@gnu.org>
1836         Make compilation work with clang++.
1838         Also fix some warning messages.
1840         * src/ftcommon.c (FTDemo_Display_Clear): Use proper cast.
1841         (string_load): Replace shifts with multiplication.
1843         * src/ftgamma.c: (bit1, bit2): Complete initializer.
1844         (do_ptrn, do_fill): Use proper casts.
1845         (Render_Bitmap): s/bitmap/out/, s/bit/in/, to avoid shadowing global
1846         variable `bit'.
1848         * src/ftgrid.c (GridStatus): Make `lcd_filter' of type
1849         `FT_LcdFilter'.
1850         (bitmap_scale): Use proper casts.
1851         (grid_status_draw_outline): Fix int vs. short warnings.
1852         (event_cff_hinting_engine_change): Add initializer.
1853         (event_lcd_filter_change): Properly handle `status.lcd_filter'.
1855         * src/ftmulti.c (requested_cnt, used_num_axis): Make them `unsigned
1856         int'.
1857         (Process_Event, main): Updated.
1859         * src/ftstring.c (status): Complete initializer.
1861         * src/ftvalid.c (ValidatorType): Fix enum syntax.
1863         * src/ftview.c (event_cff_hinting_engine_change): Add initializer.
1864         (Process_Event) <'L'>: Fix call to FT_Library_SetLcdFilter.
1866         * src/output.c (put_ascii_string, put_unicode_be16_string): Add
1867         casts.
1869 2016-05-19  Werner Lemberg  <wl@gnu.org>
1871         [ftinspect] Use bottom left as the viewport anchor for resizing.
1873         We store the last bottom left corner point of the viewport rectangle
1874         and adjust the verticalScrollBar value by the delta relative to the
1875         current bottom left corner position.
1877         * src/ftinspect.h (QGraphicsViewx): New class, derived from
1878         `QGraphicsView'.
1879         (MainGUI): Updated.
1881         * src/ftinspect.cpp (MainGUI::createLayout): Updated.
1882         (QGraphicsViewx::QGraphicsViewx, QGraphicsViewx::scrollContentsBy,
1883         QGraphicsView::resizeEvent): New methods.
1885 2016-05-18  Werner Lemberg  <wl@gnu.org>
1887         [ftinspect] Re-implement file watching.
1889         * src/ftinspect.cpp (MainGUI::MainGUI): Initialize file watcher and
1890         timer.
1891         (MainGUI::closeFont): Updated.
1892         (MainGUI::watchCurrentFont): New method.
1893         (MainGUI::showFont): Handle file watching for both real files and
1894         softlinks.
1895         Display a softlink name as italic font.
1896         (MainGUI::createConnections): Updated.
1898         * src/ftinspect.h (MainGUI): Updated.
1900 2016-05-15  Werner Lemberg  <wl@gnu.org>
1902         [ftinspect] Redesign file/face/instance navigation.
1904         Instead of peeking into a font with a negative argument to
1905         `FT_Face_New', we now directly load appropriate (font, face,
1906         instance) triplets.
1908         The new code also tries a bit harder to separate the font stuff in
1909         the `Engine' class from the GUI navigation control in `MainGUI'.
1911         * src/ftinspect.h (Font): Removed.
1912         (MainGUI): Make `fontList' a `QStringList'.
1913         New members `currentNumberOfFaces' and
1914         `currentNumberOfNamedInstances'.
1915         Move `faceCounter' and `faceIDMap' members to...
1916         (Engine): ...this class.
1917         Make `faceRequester' a friend.
1919         * src/ftinspect.cpp (faceRequester): Check font index.
1920         Updated.
1921         (Engine::Engine): Updated.
1922         (Engine::numberOfFaces, Engine::numberOfNamedInstances,
1923         Engine::loadFont, Engine::removeFont): Rewritten.
1924         (MainGUI::loadFonts, MainGUI::closeFont, MainGUI::showFont,
1925         MainGUI::adjustGlyphIndex, MainGUI::checkCurrentFaceIndex,
1926         MainGUI::checkCurrentNamedInstanceIndex):
1927         Simplified.
1928         (MainGUI::nextFace, MainGUI::nextNamedInstance, MainGUI::drawGlyph,
1929         MainGUI::setDefaults): Updated.
1931 2016-05-15  Werner Lemberg  <wl@gnu.org>
1933         [ftinspect] Minor issues.
1935         * src/ftinspect.cpp (Engine::loadFont): More readable code.
1936         (MainGUI::showFont): Remove no longer needed argument.
1937         Updated.
1938         (MainGUI::checkCurrentFontIndex, MainGUI::checkCurrentFaceIndex,
1939         MainGUI::checkCurrentNamedInstanceIndex): Minor generalization.
1941         * src/ftinspect.h (MainGUI): Updated.
1943 2016-05-15  Werner Lemberg  <wl@gnu.org>
1945         [ftinspect] Replace face ID hash with a map.
1947         We need this for later changes that will rely on ordered data.
1949         * src/ftinspect.cpp (FaceID::operator==): Replace with...
1950         (FaceID::operator<): ... this method.
1951         (qHash): Removed.
1952         (faceRequester, Engine::loadFont, Engine::removeFont,
1953         MainGUI::closeFont, MainGUI::showFont): Updated.
1955         * src/ftinspect.h (FaceID): Updated.
1956         (Main): Rename member `faceIDHash' to `faceIDMap'.
1958 2016-05-15  Werner Lemberg  <wl@gnu.org>
1960         [ftinspect] More variable and function renamings.
1962         Mainly for consistency.
1964         * src/ftinspect.cpp (faceRequester): s/faceID/ftcFaceID/,
1965         s/id/faceID/.
1966         (Engine::numberOfFaces): s/result/numFaces/.
1967         (Engine::numberOfNamedInstances): s/result/numNamedInstances/.
1968         (Engine::loadFont): s/instanceIndex/namedInstanceIndex/.
1969         (Engine::removeFont): s/face_id/ftcFaceID/,
1970         s/instanceIndex/namedInstanceIndex/.
1971         (MainGUI::showFont): s/numberOfFaces/currentNumberOfFaces/,
1972         s/numberOfNamedInstances/currentNumberOfNamedInstances/.
1973         Updated.
1974         (MainGUI::checkCurrentFaceIndex):
1975         s/numberOfFaces/currentNumberOfFaces/.
1976         (MainGUI::checkCurrentInstanceIndex): Renamed to...
1977         (MainGUI::checkCurrentNamedInstanceIndex): ...this.
1978         s/numberOfNamedInstances/currentNumberOfNamedInstances/.
1979         Updated.
1980         (MainGUI::nextFace): s/numberOfFaces/currentNumberOfFaces/.
1981         (MainGUI::nextInstance): Renamed to...
1982         (MainGUI::nextNamedInstance): ... this.
1983         s/numberOfNamedInstances/currentNumberOfNamedInstances/.
1984         (MainGUI::previousInstance): Renamed to...
1985         (MainGUI::previousNamedInstance): ...this.
1986         (MainGUI::createLayout, MainGUI::createConnections,
1987         MainGUI::setDefaults): Updated.
1989         * src/ftinspect.h (Engine): Updated.
1990         (MainGUI): s/nextInstanceButton/nextNamedInstanceButton/
1991         s/previousInstanceButton/previousNamedInstanceButton/.
1993 2016-05-14  Werner Lemberg  <wl@gnu.org>
1995         [ftinspect] Remove file watching.
1997         This approach doesn't work well.  A new, improved implementation
1998         will follow.
2000         * src/ftinspect.h (Engine): Remove `currentFontFileInfo',
2001         `currentFontFileDate', `maxRetries', and `currentRetry'.
2002         Updated.
2003         (MainGUI): Remove `timer'.
2004         Updated.
2006         * src/ftinspect.cpp (Engine::watchCurrentFont): Removed.
2007         (Engine::loadFont, Engine::update): Updated.
2008         (MainGUI::MainGUI): Updated.
2009         (MainGUI::watchCurrentFont): Removed.
2010         (MainGUI::createConnections): Updated.
2012 2016-05-14  Werner Lemberg  <wl@gnu.org>
2014         [ftinspect] Variable renaming.
2016         * src/ftinspect.cpp, src/ftinspect.h (FaceID):
2017         s/instanceIndex/namedInstanceIndex/.
2019 2016-05-12  Werner Lemberg  <wl@gnu.org>
2021         [ftinspect] Variable renamings.
2023         For consistency.
2025         * src/ftinspect.cpp, src/ftinspect.h: s/numFaces/numberOfFaces/,
2026         s/numNamedInstancesList/numberOfNamedInstancesList/,
2027         s/numNamedInstances/numberOfNamedInstances/,
2028         s/currentInstanceIndex/currentNamedInstanceIndex/.
2029         s/currentNumGlyphs/currentNumberOfGlyphs/.
2031 2016-05-12  Werner Lemberg  <wl@gnu.org>
2033         [ftinspect] Display more glyph and font information.
2035         * src/ftinspect.cpp (Engine::loadFont): Update `curFamilyName' and
2036         `curStyleName'.
2037         (Engine::currentFamilyName, Engine::currentStyleName,
2038         Engine::glyphName): New methods.
2040         (MainGUI::closeFont, MainGUI::showFont, MainGUI::adjustGlyphIndex,
2041         MainGUI::createLayout): Updated.
2043         * src/ftinspect.h (Engine): New members `curFamilyName' and
2044         `curStyleName'.
2045         Updated.
2046         (MainGUI): New `fontFilenameLabel', `fontNameLabel', and
2047         `glyphNameLabel' members.
2048         Use `QGridLayout' for `infoRightLayout'.
2050 2016-05-12  Werner Lemberg  <wl@gnu.org>
2052         [ftinspect] Fix logical mistakes in font navigation.
2054         * src/ftinspect.cpp (Engine::Engine): Initialize `ftSize'.
2055         (MainGUI::showFont): Don't let exceed indices the number of
2056         available index values if `preserveIndices' is active.
2057         Always call `engine->loadFont' even for invalid fonts so that
2058         various font-global variables are set correctly.
2060 2016-05-11  Werner Lemberg  <wl@gnu.org>
2062         [ftinspect] Minor.
2064         * src/ftinspect.cpp, src/ftinspect.h: s/Instances/NamedInstances/.
2065         Also display `Previous/Next Named Instance' on the buttons.
2067 2016-05-11  Werner Lemberg  <wl@gnu.org>
2069         [ftinspect] Minor.
2071         * src/ftinspect.cpp, src/ftinspect.h: s/fonts/fontList/.
2073 2016-05-11  Werner Lemberg  <wl@gnu.org>
2075         [ftinspect] Display glyph index.
2077         * src/ftinspect.cpp (MainGUI::createLayout): Add `infoLeftLayout'
2078         and `infoRightLayout' at the top of the window; add
2079         `glyphIndexLabel' to the right.
2080         (MainGUI::adjustGlyphIndex): Set text for `glyphIndexLabel'
2081         (MainGUI::setDefaults): Call `adjustGlyphIndex'.
2083         * src/ftinspect.h: Updated.
2085 2016-05-11  Werner Lemberg  <wl@gnu.org>
2087         [ftinspect] Only use integer values for size if units are px.
2089         * src/ftinspect.cpp (MainGUI::checkUnits): Implement it.
2090         (MainGUI::createLayout): Updated.
2092 2016-05-11  Werner Lemberg  <wl@gnu.org>
2094         [ftinspect] Add file watching; remove watch button.
2096         * src/ftinspect.cpp (Engine::loadFont): Initialize file info.
2097         (Engine::watchCurrentFont): New method.
2098         (Engine::update): Updated.
2099         (MainGUI::MainGUI): Set up timer.
2100         (MainGUI::showFont): Add parameter to control updating of current
2101         indices.
2102         (MainGUI::watchCurrentFont): New method.
2103         (MainGUI::createLayout): Remove watch button code.
2104         (MainGUI::createConnections): Handle timer.
2106         * src/ftinspect.h (Engine): Add `currentFontFileInfo',
2107         `currentFontDateTime', `maxRetries', and `currentRetry'.
2108         Updated.
2109         (MainGUI): Updated.
2111 2016-05-10  Werner Lemberg  <wl@gnu.org>
2113         * src/ftinspect.cpp, src/ftinspect.h (MainGUI): Provide `aboutQt'.
2115         This removes a warning at start-up.
2117 2016-05-10  Werner Lemberg  <wl@gnu.org>
2119         [ftinspect] Display rendered glyph bitmaps.
2121         * src/ftinspect.cpp (Engine::update): Updated.
2122         (GlyphBitmap::GlyphBitmap, GlyphBitmap::~GlyphBitmap,
2123         GlyphBitmap::boundRect, GlyphBitmap::paint): New methods
2124         for constructing a rendered bitmap of the glyph.
2125         (MainGUI::checkAntiAliasing): Updated.
2126         (MainGUI::setGraphicsDefaults): Create color mapping tables for 8bit
2127         and 1bit pixmaps as needed by Qt.
2128         (MainGUI::drawGlyph): Honor `show bitmap' check box.
2129         (MainGUI::createLayout, MainGUI::setDefaults): Updated.
2130         (MainGUI::createConnections): Handle `showBitmapCheckBox'.
2132         * src/ftinspect.h (GlyphBitmap): New class, derived from
2133         `QGraphicsItem'.
2134         (MainGUI): Mew member `currentGlyphBitmapItem'.
2135         New members `grayColorTable' and `monoColorTable'.
2136         Updated.
2137         (Engine): Remove unused `showBitmap' member.
2139 2016-05-10  Werner Lemberg  <wl@gnu.org>
2141         [ftinspect] Make hinting mode selection work.
2143         * src/ftinspect.cpp (Engine::loadFont): Set font type.
2144         (Engine::setCFFHintingMode, Engine::setTTInterpreterVersion): New
2145         methods.
2146         (MainGUI::showFont): Updated.
2147         (MainGUI::checkHinting): Gray out hinting mode combo box items
2148         depending on font type.
2149         (MainGUI::checkHintingMode): Implemented.
2150         (MainGUI::checkAutoHinting): Updated.
2151         (MainGUI::setDefaults): Updated.
2153         * src/ftinspect.h: Include some internal FreeType header files.
2154         (Engine): New member `fontType'.
2155         New enumeration `FontType'.
2156         Updated.
2157         (MainGUI): New members `currentCFFHintingMode' and
2158         `currentTTInterpreterVersion'.
2160         * ftinspect.pro (DEFINES): Add `FT2_BUILD_LIBRARY' to enable access
2161         to internal FreeType headers.
2163 2016-05-10  Werner Lemberg  <wl@gnu.org>
2165         [ftinspect] Minor.
2167         * src/ftinspect.cpp, src/ftinspect.h: Rename `point indices' to
2168         `point numbers'.
2170 2016-05-10  Werner Lemberg  <wl@gnu.org>
2172         [ftinspect] Display glyph point numbers.
2174         * src/ftinspect.cpp (GlyphPointNumbers::GlyphPointNumbers,
2175         GlyphPointNumbers::boundRect, GlyphPointNumbers::paint): New methods
2176         for constructing the set of glyph point numbers.
2177         (MainGUI::drawGlyph): Honor `glyph point indices' check box.
2178         (MainGUI::createLayout): Updated.
2179         (MainGUI::createConnections): Handle `showPointIndicesCheckBox'.
2181         * src/ftinspect.h (GlyphPoints): New class, derived from
2182         `QGraphicsItem'.
2183         (MainGUI): Mew member `currentGlyphPointNumbersItem'.
2184         Updated.
2186 2016-05-09  Werner Lemberg  <wl@gnu.org>
2188         [ftinspect] Display glyph points.
2190         Also fix other minor issues.
2192         * src/ftinspect.cpp (GlyphPoints::GlyphPoints,
2193         GlyphPoints::boundRect, GlyphPoints::paint): New methods for
2194         constructing the set of glyph points.
2195         (MainGUI::checkShowPoints, MainGUI::setGraphicsDefaults): Updated.
2196         (MainGUI::drawGlyph): Honor `glyph outlines' and `glyph points'
2197         check boxes.
2198         (MainGUI::createLayout): Updated.
2199         (MainGUI::createConnections): Handle `showOutlinesCheckBox'.
2201         (GlyphOutline::GlyphOutline): Improve computation of bounding
2202         rectangle.
2203         (Engine::update): Updated.
2205         * src/ftinspect.h (Engine): Remove unused members which are handled
2206         in MainGUI.
2207         (GlyphPoints): New class, derived from `QGraphicsItem'.
2208         (MainGUI): Mew member `currentGlyphPointsItem'.
2210 2016-05-09  Werner Lemberg  <wl@gnu.org>
2212         [ftinspect] Minor.
2214         * src/ftinspect.cpp, src/ftinspect.h: s/loadGlyph/loadOutline/.
2215         s/Glyph/GlyphOutline/.
2216         s/drawGlyphOutline/drawGlyph/.
2218 2016-05-09  Werner Lemberg  <wl@gnu.org>
2220         [ftinspect] Display glyphs outlines.
2222         * src/ftinspect.cpp (Engine::loadGlyph): New method.
2223         (moveTo, lineTo, conicTo, cubicTo): New wrapper functions for
2224         `QPainterPath' methods.
2225         (outlineFuncs): New structure, used as an interface to
2226         `FT_Outline_Decompose'.
2227         (Glyph::Glyph, Glyph::boundRect, Glyph::paint): New methods for
2228         constructing a glyph object.
2229         (MainGUI::drawGlyphOutline): New method.
2230         (MainGUI::showFont, MainGUI::checkUnits, MainGUI::adjustGlyphIndex,
2231         MainGUI::createLayout): Updated.
2232         (MainGUI::createConnections): Handle `sizeDoubleSpinBox' and
2233         `dpiSpinBox'.
2235         * src/ftinspect.h (Engine): Updated.
2236         (Glyph): New class, derived from `QGraphicsItem'.
2237         (MainGUI): New member `currentGlyphOutlineItem'.
2238         Updated.
2240 2016-05-09  Werner Lemberg  <wl@gnu.org>
2242         [ftinspect] Fix a bunch of glitches.
2244         * src/ftinspect.cpp (FaceID::FaceID): Initialize members with `-1'.
2245         While not needed, it better indicates an invalid lookup in the hash
2246         for debugging purposes.
2247         (Engine::Engine): Don't call `update' here, since
2248         `MainGUI::setDefaults' wasn't called yet.
2249         (Engine::loadFont): Call `update'.
2250         Return -1 for an invalid face ID.
2251         (Engine::removeFont): Properly handle invalid face ID.
2252         (Engine::update): Fix code reversal for pixels vs. points.
2253         (MainGUI::MainGUI): Initialize `engine'.
2254         (MainGUI::closeFont): First remove the font, then the face ID.
2255         Handle invalid font also.
2256         (MainGUI::showFont): Handle invalid font also.
2257         (MainGUI::setGraphicsDefaults): Set width of outline pen.
2259 2016-05-08  Werner Lemberg  <wl@gnu.org>
2261         [ftinspect] Display axes.
2263         * src/ftinspect.cpp (Grid::Grid): Add second parameter to pass axis
2264         pen.
2265         (Grid::paint): Add axes.
2266         Increase grid size.
2267         (Grid::boundingRect):Updated.
2268         (MainGUI::createLayout): Updated.
2270         * src/ftinspect.h: Updated.
2272 2016-05-08  Werner Lemberg  <wl@gnu.org>
2274         [ftinspect] Display grid.
2276         The dimensions are still arbitrary, though.
2278         We now need Qt 4.6 or newer.
2280         * src/ftinspect.h (Engine): Remove `zoom' member.  It doesn't belong
2281         here.
2282         (Grid): New class, derived from `QGraphicsItem'.  We need this to
2283         disable drawing of the grid if the zoom factor is too small.
2284         (MainGUI): Add a `QGraphicsScene' member.
2285         Add a `zoom' method.
2287         * src/ftinspect.cpp (Engine::update): Updated.
2288         (Grid::Grid, Grid::boundingRect, Grid::paint): New methods.
2289         (MainGUI::createLayout): Initialize `glyphView' and `glyphScene';
2290         add a grid object.
2291         Change zoomSpinBox to display an integer zoom factor instead of a
2292         percentage.  This simplifies code since we don't have to bother with
2293         scaling values < 1.
2294         (MainGUI::createConnections, MainGUI::setDefaults): Updated.
2296 2016-05-08  Werner Lemberg  <wl@gnu.org>
2298         [ftinspect] Provide some drawing pens.
2300         * src/ftinspect.h (MainGUI): Provide colored pens for axes, blue
2301         zones, grid lines, on and off points, outlines, and segment lines.
2303         * src/ftinspect.cpp (MainGUI::setGraphicsDefaults): New method.
2304         (MainGUI::MainGUI): Updated.
2306 2016-05-07  Werner Lemberg  <wl@gnu.org>
2308         [ftinspect] Make glyph navigation work.
2310         * src/ftinspect.cpp (MainGUI::showFont): Don't use local variable.
2311         (MainGUI::adjustGlyphIndex): New method.
2312         (MainGUI::createConnections): Use `QSignalMapper' class to map all
2313         navigation button signals to a single receiver function (namely
2314         `adjustGlyphIndex').
2315         (MainGUI::setDefaults): Updated.
2317         * src/ftinspect.h (MainGUI): New `currentGlyphIndex' member.
2318         Updated.
2320 2016-05-07  Werner Lemberg  <wl@gnu.org>
2322         [ftinspect] Really load fonts.
2324         * src/ftinspect.cpp (Engine::loadFont, Engine::removeFont): New
2325         methods.
2326         (Engine::update): Set font-independent scaler values.
2327         (MainGUI::closeFont): Remove font ID from hash and font from cache.
2328         (MainGUI::showFOnt): Call `loadFont'.
2329         (MainGUI::setDefaults): Set initial value of `faceCounter' to 1 to
2330         circumvent a FreeType buglet.
2332         * src/ftinspect.h (Engine): New `scaler' and `ftSize' members.
2333         Updated.
2334         (MainGUI): New member `currentNumGlyphs'.
2336 2016-05-07  Werner Lemberg  <wl@gnu.org>
2338         * src/ftinspect.cpp (MainGUI::showFont): Another logic fix.
2340 2016-05-07  Werner Lemberg  <wl@gnu.org>
2342         [ftinspect] s/maxFaces/faceCounter/.
2344         * src/ftinspect.cpp, src/ftinspect.h: Do it.
2346 2016-05-07  Werner Lemberg  <wl@gnu.org>
2348         [ftinspect] Another try to implement `faceRequester'.
2350         * src/ftinspect.h (FaceID): Extend structure to make it suitable as
2351         key to Qt's `QHash' class.
2352         (qHash): Also needed for `QHash'.
2353         (MainGUI): Provide running ID number in `maxFaces'.
2354         New `faceIDHash' to map between (font,face,instance) index triplets
2355         and IDs.
2357         * src/ftinspect.cpp (FaceID::FaceID, FaceID::operator==, qHash):
2358         Implement.
2359         (faceRequester): Use `faceIDHash'.
2360         (MainGUI::showFont): Fill `faceIDHash'.
2361         (MainGUI::setDefaults): Updated.
2363 2016-05-06  Werner Lemberg  <wl@gnu.org>
2365         * src/ftinspect.cpp (MainGUI::showFont): Fix logic.
2367 2016-05-06  Werner Lemberg  <wl@gnu.org>
2369         [ftinspect] Simplify code.
2371         * src/ftinspect.cpp (MainGUI::createConnections,
2372         MainGUI::createActions): Use `connect' variant that doesn't need
2373         `this' parameter.
2375 2016-05-06  Werner Lemberg  <wl@gnu.org>
2377         [ftinspect] Compute load flags for `FT_Load_Glyph'.
2379         * src/ftinspect.cpp (Engine::update): Compute `doHinting' and
2380         `doAutoHinting', and `loadFlags'.
2382         * src/ftinspect.h (Engine): Updated.
2384 2016-05-06  Werner Lemberg  <wl@gnu.org>
2386         [ftinspect] Add general hinting check button.
2388         * src/ftinspect.cpp (MainGUI::checkHinting): New method.
2389         (MainGUI::createLayout, MainGUI::createConnections,
2390         MainGUI::setDefaults): Updated.
2391         (MainGUI::checkAutoHinting): Also handle `hintingModeLabel'.
2393         * src/ftinspect.h: Updated.
2395 2016-05-06  Werner Lemberg  <wl@gnu.org>
2397         [ftinspect] More gamma slider settings.
2399         * src/ftinspect.cpp (MainGUI::createLayout): Set gamma slider tick
2400         intervals.
2402         (MainGUI::setDefaults): Set default value for gamma slider.
2403         Also move other spin box default values to this function.
2405 2016-05-06  Werner Lemberg  <wl@gnu.org>
2407         [ftinspect] Handle LCD filter change.
2409         * src/ftinspect.cpp (MainGUI::checkLcdFilter): New method.
2410         (MainGUI::setDefaults): Set up LCD filter mapping.
2411         Call `checkLcdFilter'.
2412         (MainGUI::createConnections): Register `checkLcdFilter'.
2414         * src/ftinspect.h (MainGUI): Updated.
2416 2016-05-06  Werner Lemberg  <wl@gnu.org>
2418         [ftinspect] Indent `show point indices' check box.
2420         * src/ftinspect.cpp (MainGUI::createLayout): Implement it.
2422         * src/ftinspect.h: Updated.
2424 2016-05-06  Werner Lemberg  <wl@gnu.org>
2426         [ftinspect] Minor.
2428         * src/ftinspect.cpp (MainGUI::checkAutoHinting): Fix logic for
2429         warping check box.
2431 2016-05-06  Werner Lemberg  <wl@gnu.org>
2433         [ftinspect] Add check box for auto-hinting.
2435         This allows easier hinting mode switch than having it in the hinting
2436         mode combo box.
2438         * src/ftinspect.cpp (MainGUI::checkAutoHinting): New method,
2439         containing almost stuff from ...
2440         (MainGUI::checkHintingMode): Updated.
2441         (MainGUI::createLayout): Updated; we also indent check boxes
2442         dependent on auto-hinting.
2443         (MainGUI::createConnections, MainGUI::setDefaults): Updated.
2445         * src/ftinspect.h: Updated.
2446         (HintingModes): Remove `HintingMode_AutoHinting' enum value.
2448 2016-05-06  Werner Lemberg  <wl@gnu.org>
2450         [ftinspect] Disable unavailable items in anti-aliasing combo box.
2452         * src/ftinspect.h (MainGUI): Make `setDefaults' public.
2453         (hintingModesTrueTypeHash, hintingModesCFFHash): New maps.
2454         (hintingModesAlwaysDisabled): New list.
2456         * src/ftinspect.cpp (MainGUI::setDefaults): Set up mappings between
2457         GUI enumerations and FreeType property values.
2459         Use them to create `hintingModesAlwaysDisabled', a list of enum
2460         values that gets fed to the anti-alias combo box's `setItemDisabled'
2461         method.
2462         (MainGUI::MainGUI): Don't call `setDefaults'
2463         here but...
2464         (main): ... here, after FreeType initialization.
2466 2016-05-05  Werner Lemberg  <wl@gnu.org>
2468         [ftinspect] Handle engine properties.
2470         * src/ftinspect.cpp (Engine::Engine): Handle CFF's `hinting-engine',
2471         TrueType's `interpreter-version', and the auto-hinter's `warping'
2472         properties.
2474         * src/ftinspect.h (Engine): Updated.
2476 2016-05-05  Werner Lemberg  <wl@gnu.org>
2478         [ftinspect] Start implementation of `showFont'.
2480         * src/ftinspect.cpp (MainGUI::loadFonts): Call `showFont'.
2481         (MainGUI:closeFont): Fix logic and call `showFont'.
2482         (MainGUI::showFont): New method.  Doesn't display something yet, but
2483         font navigation buttons are fully functional now.
2484         (MainGUI::previousFont, MainGUI::nextFont, MainGUI::previousFace,
2485         MainGUI::nextFace, MainGUI::previousInstance,
2486         MainGUI::nextInstance): Call `showFont'.
2488         * src/ftinspect.h (MainGUI): Updated.
2490 2016-05-05  Werner Lemberg  <wl@gnu.org>
2492         [ftinspect] Add methods to get number of faces and instances.
2494         * src/ftinspect.cpp (Engine::numFaces, Engine::numInstances): New
2495         methods.
2497         * src/ftinspect.h (Engine): Updated.
2499 2016-05-05  Werner Lemberg  <wl@gnu.org>
2501         [ftinspect] Minor.
2503         * src/ftinspect.cpp (faceRequester): Use reference.
2504         (MainGUI::loadFonts): Simplify.
2506 2016-05-05  Werner Lemberg  <wl@gnu.org>
2508         [ftinspect] Make `MainGUI' and `Engine' classes more symmetric.
2510         Also avoid `const' issues.
2512         * src/ftinspect.h (Engine): Add `gui' field.
2513         Updated.
2514         (MainGUI): Don't use `const' for `engine'.
2515         Updated.
2517         * src/ftinspect.cpp (Engine::Engine, Engine::update): Updated.
2518         (MainGUI::update, main): Updated.
2520 2016-05-04  Werner Lemberg  <wl@gnu.org>
2522         [ftinspect] Add buttons for instances.
2524         * src/ftinspect.cpp (MainGUI::checkCurrentInstanceIndex,
2525         MainGUI::previousInstance, MainGUI::nextInstance): New methods.
2526         (MainGUI::createLayout): Updated.  We now use a grid layout for the
2527         font buttons.
2528         (MainGUI::createConnections, MainGUI::setDefaults): Updated.
2530         * src/ftinspect.h: Updated.
2532 2016-05-04  Werner Lemberg  <wl@gnu.org>
2534         [ftinspect] Redesign font handling.
2536         At this early stage, it's not always clear to me how to do things
2537         correctly, so here's another try.
2539         * src/ftinspect.h (Font): Redesigned, using a list of
2540         instance numbers.
2541         (FaceID): New structure, for communication with the face requester.
2542         (Engine): We need the `MainGUI' structure for initializing the face
2543         requester.
2544         (MainGUI): Make `faceRequester' a friend.
2545         Replace string list `fontFileNames' with `fonts', which is a list of
2546         `Font' elements.
2547         Add `currentInstanceIndex'.
2549         * src/ftinspect.cpp (faceRequester): Replace dummy code with
2550         something more serious.
2551         (Engine::Engine, Engine::update): Updated.
2552         (MainGUI::loadFonts, MainGUI::closeFont,
2553         MainGUI::checkCurrentFontIndex, MainGUI::checkCurrentFaceIndex,
2554         MainGUI::nextFont, MainGUI::nextFace):
2555         Updated to use new `fonts' member.
2556         (MainGUI::setDefaults, main): Updated.
2558 2016-05-04  Werner Lemberg  <wl@gnu.org>
2560         [ftinspect] Minor.
2562         * src/ftinspect.h, src/ftinspect.cpp:
2563         s/checkCurrentFontFileIndex/checkCurrentFontIndex/,
2564         s/currentFontFileIndex/currentFontIndex/.
2566 2016-05-04  Werner Lemberg  <wl@gnu.org>
2568         [ftinspect] Minor.
2570         * src/ftinspect.h (Engine): Add destructor.
2571         (MainGUI): Use point to `engine'.
2573         * src/ftinspect.cpp (Engine::~Engine): Implement.
2574         (MainGUI::update): Updated.
2576 2016-05-04  Werner Lemberg  <wl@gnu.org>
2578         [ftinspect] Better intertwine `Engine' and `MainGUI'.
2580         * src/ftinspect.cpp (MainGUI::update): New method.
2581         (main): Use it.
2583         * src/ftinspect.h (Engine): Make it a friend of `MainGUI'.
2584         (MainGUI): New member `engine'.
2585         Updated.
2587 2016-05-04  Werner Lemberg  <wl@gnu.org>
2589         * src/ftinspect.cpp (MainGUI::loadFonts): Improve logic.
2591 2016-05-04  Werner Lemberg  <wl@gnu.org>
2593         [ftinspect] Make `previous face' and `next face' button logic work.
2595         It still does nothing, though.
2597         * src/ftinspect.h (MainGUI): New slots `checkCurrentFaceIndex',
2598         `previousFace, and `nextFace'.
2599         New members `numFaces' and `currentFaceIndex'.
2601         * src/ftinspect.cpp
2602         (MainGUI::checkCurrentFaceIndex, MainGUI::previousFace,
2603         MainGUI::nextFace): New methods.
2604         (MainGUI::createConnections): Register connections for
2605         `previousFaceButton' and `nextFaceButton'.
2606         (MainGUI::setDefaults): Updated.
2608 2016-05-04  Werner Lemberg  <wl@gnu.org>
2610         * src/ftinspect.cpp (MainGUI::checkCurrentFontFileIndex): Fix logic.
2612 2016-05-04  Werner Lemberg  <wl@gnu.org>
2614         [ftinspect] Add buttons for faces.
2616         * src/ftinspect.cpp (MainGUI::createLayout): New buttons for
2617         `previous face' and `next face'; they are put into a separate row
2618         (`fontLayout') together with the buttons for `previous font' and
2619         `next font'.
2620         s/fontSizeLayout/sizeLayout/.
2622         * src/ftinspect.h: Updated.
2624 2016-05-04  Werner Lemberg  <wl@gnu.org>
2626         [ftinspect] Don't use size in pixels for navigation buttons.
2628         Instead, derive the width from the displayed text.
2630         * src/ftinspect.h (QPushButtonx): New class, derived from
2631         `QPushButton'.
2633         * src/ftinspect.cpp (QPushButtonx::QPushButtonx): New constructor.
2634         (MainGUI::createLayout): Use `QPushButtonx' for navigation buttons.
2636 2016-05-03  Werner Lemberg  <wl@gnu.org>
2638         [ftinspect] Make `previous font' and `next font' button logic work.
2640         * src/ftinspect.h (MainGUI): New slots `checkCurrentFontFileIndex',
2641         `previousFont, and `nextFont'.
2643         * src/ftinspect.cpp
2644         (MainGUI::checkCurrentFontFileIndex, MainGUI::previousFont,
2645         MainGUI::nextFont): New methods.
2646         (MainGUI::createConnections): Register connections for
2647         `previousFontButton' and `nextFontButton'.
2648         (MainGUI::loadFonts, MainGUI::closeFont, MainGUI::setDefaults):
2649         Updated.
2651 2016-05-03  Werner Lemberg  <wl@gnu.org>
2653         [ftinspect] Add file dialogs.
2655         * src/ftinspect.h: Include some more Qt headers.
2656         (MainGUI): Add `fontFileNames' and `currentFontFileIndex'.
2657         Add actions to load and close font files.
2659         * src/ftinspect.cpp (MainGUI::loadFonts, MainGUI::closeFont): New
2660         methods.
2661         (MainGUI::createActions, MainGUI::createMenus,
2662         MainGUI::setDefaults): Updated.
2664 2016-05-03  Werner Lemberg  <wl@gnu.org>
2666         [ftinspect] Better code.
2668         * src/ftinspect.h (QComboBoxx): New class, derived from `QComboBox';
2669         we add one method `setItemEnabled' to enable (or disable) an item
2670         with a given index.
2671         (MainGUI): Use `QComboBoxx' for `antiAliasingComboBoxx' (was:
2672         `antiAliasingComboBox') and `hintingModeComboBoxx' (was:
2673         `hintingModeComboBox').
2674         Update all users.
2676         * src/ftinspect.cpp (MainGUI::checkHintingMode): Simplified.
2677         (QComboBoxx::setItemEnabled): New method.
2679 2016-05-03  Werner Lemberg  <wl@gnu.org>
2681         [ftinspect] Start with FreeType initialization.
2683         * src/ftinspect.h: Include some FreeType headers.
2684         (Font): New structure for holding a (physical) font.
2685         (Engine): New class for communication with FreeType library.
2686         (MainGUI): Make `engine' a friend.
2688         * src/ftinspect.cpp (faceRequester): New function for FreeType's
2689         cache manager.
2690         (Engine::Engine, Engine::update): Some basic functions; to be
2691         extensively revised in later commits.
2692         (main): Updated.
2694         * src/ftinspect.pro: Add support for FreeType and dependent
2695         libraries.  Right now, you have to adjust paths manually.
2697 2016-05-02  Werner Lemberg  <wl@gnu.org>
2699         [ftinspect] Minor.
2701         * src/ftinspect.h, src/ftinspect.cpp:
2702         s/showBitmapsCheckBox/showBitmapCheckBox/.
2704 2016-05-02  Werner Lemberg  <wl@gnu.org>
2706         [ftinspect] Adjust layout.
2708         * src/ftinspect.cpp (MainGUI::createLayout): Move size, dpi, and
2709         zoom stuff one row down.
2710         s/fontLayout/fontSizeLayout/.
2712         * src/ftinspect.h: Updated.
2714 2016-05-02  Werner Lemberg  <wl@gnu.org>
2716         [ftinspect] Add DPI control.
2718         * src/ftinspect.cpp (MainGUI::createLayout): Add `unitsComboBox' to
2719         select between px and pt.
2720         Add `dpiLabel' and `dpiSpinBox' to select the DPI value.
2721         (MainGUI::checkUnits): New function.
2722         (MainGUI::createConnections, MainGUI::setDefaults): Updated.
2724         * src/ftinspect.h: Updated.
2726 2016-05-01  Werner Lemberg  <wl@gnu.org>
2728         [ftinspect] Some more GUI initialization defaults.
2730         * src/ftinspect.cpp (MainGUI::setDefaults): Updated.
2732 2016-05-01  Werner Lemberg  <wl@gnu.org>
2734         [ftinspect] Avoid parameters for signal functions.
2736         This makes the code a bit more elegant.
2738         * src/ftinspect.cpp (MainGUI::checkHintingMode,
2739         MainGUI::checkAntiAliasing): Implement.
2740         (MainGUI::createConnections, MainGUI::setDefaults): Updated.
2742         * src/ftinspect.h: Updated.
2744 2016-05-01  Werner Lemberg  <wl@gnu.org>
2746         [ftinspect] Rename some enum values.
2748         * src/ftinspect.cpp, src/ftinspect.h: Updated.
2750 2016-05-01  Werner Lemberg  <wl@gnu.org>
2752         [ftinspect] Provide dummy default values for GUI initialization.
2754         * src/ftinspect.cpp (MainGUI::setDefaults): Set some values.
2756 2016-05-01  Werner Lemberg  <wl@gnu.org>
2758         [ftinspect] Add signal for showPointsCheckBox.
2760         * src/ftinspect.cpp (MainGUI::checkShowPoints): New function.
2761         (MainGUI::createConnections): Add signal.
2763         * src/ftinspect.h: Updated.
2765 2016-05-01  Werner Lemberg  <wl@gnu.org>
2767         [ftinspect] Add signal for antiAliasingComboBox.
2769         * src/ftinspect.cpp (MainGUI::checkAntiAliasing): New function.
2770         (MainGUI::createConnections): Add signal.
2772         * src/ftinspect.h: Updated.
2774 2016-05-01  Werner Lemberg  <wl@gnu.org>
2776         [ftinspect] Refine signal for hintingModeComboBox.
2778         * src/ftinspect.cpp (MainGUI::checkHintingMode): Grey out `slight'
2779         hinting item in antiAliasingComboBox if not in auto-hinting mode.
2780         Also set a different anti aliasing value for this case if `slight'
2781         was the current value.
2783         * src/ftinspect.h: Updated.
2785 2016-05-01  Werner Lemberg  <wl@gnu.org>
2787         [ftinspect] Add signal for hintingModeComboBox.
2789         Also fix typo `hortizontal' -> `horizontal'.
2791         * src/ftinspect.cpp (MainGUI::checkHintingMode): New function.
2792         (MainGUI::createConnections): Add signal.
2794         * src/ftinspect.h: Updated.
2796 2016-05-01  Werner Lemberg  <wl@gnu.org>
2798         [ftinspect] Improve combo box setup.
2800         * src/ftinspect.h (MainGUI): New enums `AntiAliasing',
2801         `HintingModes', and `LCDFilter'.
2803         * src/ftinspect.cpp (MainGUI::createLayout): Use new enums to set
2804         items in combo boxes.
2805         Also simplify computation of maximum width.
2807 2016-04-30  Werner Lemberg  <wl@gnu.org>
2809         * src/ftinspect.cpp (MainGUI::createLayout): Fix memory leak.
2811 2016-04-30  Werner Lemberg  <wl@gnu.org>
2813         [ftinspect] A new Qt based variant for ftgrid.  GUI draft only.
2815         The idea is to eventually integrate the functionality of ftview,
2816         ftkern, and ftdiff also.
2818         The code compiles fine with both Qt4 and Qt5; it doesn't do anything
2819         yet beyond showing how the GUI looks like.
2821         * src/ftinspect.cpp, src/ftinspect.h: New source code files.
2823         * src/ftinspect.pro: New qmake input file.
2825 2016-04-08  Werner Lemberg  <wl@gnu.org>
2827         [ftview] Avoid hangs with bitmap only fonts.
2829         Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
2831         * src/ftview.c (Render_Text, Render_Waterfall): Escape loop if not a
2832         single glyph could be rendered.
2834 2016-03-18  Werner Lemberg  <wl@gnu.org>
2836         * graph/x11/rules.mk (X11_LIB): Also append `/lib64'.
2838 2016-03-02  Werner Lemberg  <wl@gnu.org>
2840         [ftgrid] Use colors for dot numbers.
2842         We now have bitmap rendering also, and black numbers on a black
2843         background are ... not optimal.
2845         * src/ftgrid.c (grid_status_draw_outline): Implement it.
2847 2016-03-01  Werner Lemberg  <wl@gnu.org>
2849         [ftgrid] Exchange movement directions of `i' and `k' keys.
2851         This synchronizes the actions with its descriptions in the help
2852         screen.
2854         * src/ftgrid.c (Process_Event): Implement it.
2856 2016-03-01  Werner Lemberg  <wl@gnu.org>
2858         * src/ftgrid.c (grid_status_draw_outline): Fix memory leak.
2860 2016-02-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
2862         [ftgrid] Touch up.
2864         * src/ftgrid.c (status): Initialize `header' as NULL to display font
2865         name initially. Use bits of new field `work' to control...
2866         (grid_status_draw_outline, main, Process_Event): Updated accordingly.
2867         * src/ftgrid.1: Updated.
2869 2016-02-21  Werner Lemberg  <wl@gnu.org>
2871         * src/ftgrid.c (event_grid_zoom): Make zoom up always work.
2873 2016-02-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
2875         [ftgrid] Enable LCD filtering.
2877         * src/ftgrid.c (event_lcd_filter_change): New function.
2878         (status, main, Process_Event, event_help): Updated.
2880 2016-02-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
2882         [ftgrid] Improve stroked path appearance.
2884         * src/ftgrid.c (grid_status_draw_outline): Hint scaled outline to
2885         follow gridlines and cover entire pixels.
2887 2016-02-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
2889         [ftgrid] Display monochrome and LCD bitmaps.
2891         * src/ftgrid.c (grid_status_draw_outline): Rework to use...
2892         (bitmap_scale): New function that implements bitmap scaling.
2894 2016-02-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
2896         [graph] Actually clear cache when full.
2898         * graph/gblender.c (gblender_lookup, gblender_lookup_channel):
2899         Updated.
2901 2016-02-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
2903         [ftgrid] Display rendered bitmap (new feature).
2905         * src/ftgrid.c (status): New field to control new feature.
2906         (grid_status_draw_outline): Implement new feature here.
2907         (Process_Event, usage): Updated.
2909 2016-02-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
2911         * src/ftgrid.c (grid_status_draw_outline): Use simpler line join.
2913 2016-02-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
2915         [ftgrid] Use fixed-point scale and integer origin.
2917         * src/ftgrid.c (status): Change field types.
2918         (grid_status_init, grid_status_rescale_initial, grid_status_draw_grid,
2919         grid_hint_draw_segment, grid_status_draw_outline): Updated.
2921 2016-02-07  Werner Lemberg  <wl@gnu.org>
2923         * Version 2.6.3 released.
2924         =========================
2927         Tag sources with `VER-2-6-3'.
2929         * README: Updated.
2930         * src/*.1: Updated.
2932 2016-02-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
2934         * src/ftcommon.c (FTDemo_String_Draw): Typo.
2936 2016-02-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
2938         * src/ftgrid.c, src/ftview.c, src/testname.c: Remove math.h.
2940 2016-02-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
2942         [ftgrid] Fix dot position and shape.
2944         * src/ftgrid.c (circle_draw): Correct subpixel positioning.
2945         (ft_outline_new_circle): Correct circle approximation.
2947 2016-02-01  Nikolaus Waxweiler  <madigens@gmail.com>
2949         [ftview] Fix toggling of `force auto-hinter' in light mode.
2951         Light mode does not imply auto-hinter anymore.
2953         * src/ftview.c (Process event) <'f'>: Update code.
2955 2016-01-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
2957         * src/ftdiff.c (render_state_init): Update default LCD filter.
2959 2016-01-14  Werner Lemberg  <wl@gnu.org>
2961         Don't use macro names that start with `_[A-Z]' or contain `__'.
2963         Such macro names are reserved for both C and C++.
2965         * *.h: Harmonize ID macros so that file `foo.h' uses `FOO_H_'.
2966         * *.c: s/_Translator/Translator_'.
2968         * graph/x11/grx11.c (gr_x11_surface_init):
2969         s/_NET_WM_PID/NET_WM_PID/.
2970         * src/ftdiff.c: Replace structure names `_foo' with `foo_'.
2972 2016-01-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
2974         [ftview] Cycle through available LCD filtering.
2976         * src/ftview.c (status, Process_Event): Implement cycle through
2977         `FT_LcdFilter'.
2979 2016-01-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
2981         * src/ftview.c (status, Process_Event): Update default LCD filter.
2983 2016-01-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
2985         [ftgamma] Provide alternative pattern.
2987         * src/ftgamma.c (do_ptrn, GammaPtrn): Implement slightly slanted
2988         anti-aliased lines.
2989         (Process_Event, event_help, main): Updated.
2990         * src/ftgamma.1: Updated.
2992 2016-01-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
2994         [ftgamma] Enable color.
2996         * src/ftgamma.c (Render_GammaGrid): Split into...
2997         (Render_Bitmap): ... this renderer with color controls.
2998         (GammaGrid): ... and this grayscale bitmap builder.
2999         (event_color_change): New function.
3000         (Process_Event, event_help, main): Updated.
3001         * src/ftgamma.1: Updated.
3003 2015-12-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
3005         [ftgamma] Minor refactoring.
3007         * src/ftgamma.c (Render_GammaGrid): Move labels from here...
3008         (main): ... to here.
3010 2015-12-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
3012         Relocate gamma grid display from [ftview] to [ftgamma].
3014         * src/ftview.c (Process_Event): Remove event `G'.
3015         (event_help): Update.
3016         (event_gamma_grid): Move to...
3017         * src/ftgamma.c (event_gamma_grid): ... here.
3018         (Process_Event): New function.
3019         (event_help): New function.
3020         (main): Update to handle events.
3022 2015-12-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
3024         [ftstring, ftview] Auxiliary gamma rounding fixes.
3026         * src/ftstring.c (event_gamma_change): Updated.
3027         * src/ftview.c (event_gamma_grid): Updated.
3029 2015-12-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
3031         * graph/gblender.c (gblender_set_gamma_table): Rounding, formatting.
3033 2015-12-15  Werner Lemberg  <wl@gnu.org>
3035         * src/ftgamma.c (do_fill): Fix compiler warning.
3037 2015-12-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
3039         [ftgamma] Modernize appearance.
3041         * src/ftgamma.c: Major renovations.
3042         * src/ftgamma.1: Update.
3044 2015-12-10  Werner Lemberg  <wl@gnu.org>
3046         * src/ftcommon.c (FTDemo_Install_Font): Handle alloc/file errors.
3048         Problem reported by Alexei.
3050 2015-12-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
3052         * src/ftstring.c (event_angle_change): Wrap angle differently.
3054 2015-12-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
3056         [ftstring] Miscellaneous updates.
3058         * src/ftstring.c (event_gamma_change): Do not report gamma updates.
3059         (write_header): Permanently display gamma.
3060         (gamma_ramp_draw): Brighten the curve.
3062 2015-12-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
3064         [graph] Small improvements.
3066         * graph/gblender.h (GBLENDER_SHADE_INDEX): Round to nearest grid.
3067         * graph/gblender.c (gblender_lookup, gblender_lookup_channel): Minor.
3069 2015-12-05  Alexei Podtelezhnikov  <apodtele@gmail.com>
3071         [graph] Unravel blending, part 2.
3073         * graph/gblender.c (gblender_reset_key, gblender_reset_channel_key):
3074         Set alpha grid values explicitly.
3076 2015-12-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
3078         [graph] Unravel blending.
3080         * graph/gblender.c (gblender_reset_key, gblender_reset_channel_key):
3081         Entrust optimizations to modern compilers, remove unused variables.
3083 2015-11-30  Werner Lemberg  <wl@gnu.org>
3085         [graph] Initialize local variables after checking channel change.
3087         This fixes a crash if foreground color == background color.
3089         Problem reported by Alexei.
3091         * graph/gblender.h (GBLENDER_VARS): Split off initialization to...
3092         (GBLENDER_VARS_SET): ...this new macro.
3093         (GBLENDER_CHANNEL_VARS): Split off initialization to...
3094         (GBLENDER_CHANNEL_VARS_SET): ...this new macro.
3096         * graph/gblcolor.h, graph/gblhbgr.h, graph/gblhrgb.h,
3097         graph/gblvbgr.h, graph/gblvrgb.h: Updated.
3099 2015-11-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
3101         * graph/gblender.c (gblender_clear): Fix typo.
3103 2015-11-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
3105         * src/fttimer.c (main): Remove unused variable.
3107 2015-11-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
3109         * src/ftcommon.c (FTDemo_Display_Clear): Speed up.
3111 2015-11-28  Werner Lemberg  <wl@gnu.org>
3113         * Version 2.6.2 released.
3114         =========================
3117         Tag sources with `VER-2-6-2'.
3119         * README: Updated.
3120         * src/*.1: Updated.
3122 2015-11-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
3124         [ftstring, ftview] Small clean-ups.
3126         * src/ftstring.c (event_lcdmode_change): Robustify the switch.
3127         * src/ftview.c (write_header): Ditto.
3129 2015-11-25  Werner Lemberg  <wl@gnu.org>
3131         * src/ftstring.c: Fix compilation warnings.
3133 2015-11-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
3135         [ftstring] Enable sub-pixel rendering.
3137         * src/ftstring.c (event_lcdmode_change): New function.
3138         (Process_Event): New event to change LCD mode.
3139         (event_help): Offer it.
3140         (main): Select light LCD filter.
3142 2015-11-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
3144         * src/ftstring.c (main): Move gamma curve in the background.
3146 2015-11-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
3148         [ftstring] Enable changing display color.
3150         * src/ftstring.c (event_color_change): New function.
3151         (Process_Event) [grKeySpace]: New event to change color.
3152         (event_help): Offer it.
3153         (main): Updated.
3154         * src/ftstring.1: Updated.
3156 2015-11-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
3158         [ftstring] Use shared `grSetGlyphGamma'.
3160         * src/ftcommon.h (FTDemo_String_Context): Remove `gamma_ramp'.
3161         * src/ftcommon.c (apply_gamma_ramp): Remove.
3162         (FTDemo_String_Draw): Do not apply gamma correction here.
3163         * src/ftstring.c (event_gamma_change): Call `grSetGlyphGamma' here.
3164         (main): Switch from gray to rgb24; update.
3166 2015-11-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
3168         [ftstring] Remove gamma toggle.
3170         * src/ftstring.c (event_help, Process_Event): Updated.
3172 2015-11-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
3174         Copy-paste typos.
3176         * src/ftstring.1: Updated.
3177         * src/ftstring.c: Updated.
3179 2015-11-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
3181         Cosmetic improvements.
3183         * src/ftdiff.c (write_global_info): Do not display zero gamma.
3184         * src/ftgrid.c (event_gamma_change): Ditto.
3185         * src/ftview.c (write_header): Ditto.
3187 2015-11-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
3189         * graph/gblender.c (gblender_reset_key): Fix typo.
3191 2015-11-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
3193         Define and use GAMMA.
3195         * src/ftcommon.h (GAMMA): Define new macro.
3196         * src/ftdiff.c (adisplay_init): Use it.
3197         * src/ftgrid.c (grid_status_init): Use it.
3198         * src/ftstring.c (status): Use it.
3199         * src/ftview.c (status): Use it.
3201 2015-11-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
3203         [ftdiff,ftgrid] Default to gamma = 1.8.
3205         * src/ftcommon.c (FTDemo_Display_New): Do not set gamma.
3206         * graph/grblit.c (gr_glyph_gamma): Updated.
3207         * src/ftdiff.c (adisplay_init): Updated.
3208         * src/ftgrid.c (grid_status_init): Updated.
3210 2015-11-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
3212         [graph] Minor sRGB accuracy update.
3214         * graph/gblender.c (gblender_set_gamma_table): Updated.
3216 2015-11-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
3218         [ftview,ftstring] Default to gamma = 1.8.
3220         * src/ftview.c (status): Updated.
3221         * src/ftstring.c (status, main): Updated.
3223 2015-10-16  Werner Lemberg  <wl@gnu.org>
3225         Don't use `aux' as a file name.
3227         This should be avoided under Windows.
3228         Problem reported by Dave Arnold <darnold@adobe.com>.
3230         * src/aux.c, src/aux.h: Renamed to...
3231         * src/output.c, src/output.h: ... these file names.
3233         * Makefile, src/ftdump.c, src/ftgrid.c: Updated.
3235 2015-10-04  Werner Lemberg  <wl@gnu.org>
3237         * Version 2.6.1 released.
3238         =========================
3241         Tag sources with `VER-2-6-1'.
3243         * README: Updated.
3244         * src/*.1: Updated.
3246 2015-09-13  Werner Lemberg  <wl@gnu.org>
3248         * Makefile (FT_H): Updated to recent directory changes (#45954).
3250         The patch is taken from the anonymous Savannah bug report.
3252 2015-08-13  Werner Lemberg  <wl@gnu.org>
3254         [ftcommon] Support named instances of GX variation fonts.
3256         * src/ftcommon.c (FTDemo_Install_Font): Add inner loop for named
3257         instances.
3259 2015-08-05  Werner Lemberg  <wl@gnu.org>
3261         [ftgrid] Avoid invalid left-shift of negative values.
3263         * src/ftgrid.c (grid_status_draw_outline): Don't use left-shift but
3264         multiplication.
3266 2015-08-04  Werner Lemberg  <wl@gnu.org>
3268         * src/ftmulti.c (main): Fix double-free in case of invalid font.
3270 2015-07-08  Werner Lemberg  <wl@gnu.org>
3272         [ftcommon] Improve loading of font collections.
3274         * src/ftcommon.c (FTDemo_Install_Font): Don't exit if first face of
3275         a font is invalid.
3276         Don't exit if we want outline fonts only and the first face isn't.
3277         Don't exit if there are problems with the cmap.
3279         In all three cases, simply skip the font face.
3281 2015-06-07  Werner Lemberg  <wl@gnu.org>
3283         * Version 2.6 released.
3284         =======================
3287         Tag sources with `VER-2-6'.
3289         * README: Updated.
3290         * src/*.1: Updated.
3292         * Makefile: Omit a zero patch level in computation of `version'.
3294 2015-06-06  Werner Lemberg  <wl@gnu.org>
3296         [ftgrid] Key `D' now toggles display of point numbers.
3298         * src/ftgrid.c: Include FT_TRIGONOMETRY_H.
3299         (GridStatusRec): Add field `do_dotnumbers'.
3300         (grid_status_init): Updated.
3301         (grid_status_draw_outline): Implement point number display.
3302         (event_help): Updated.
3303         (Process_Event): Handle `D' key.
3304         (main): Updated.
3306 2015-04-22  Werner Lemberg  <wl@gnu.org>
3308         * src/ftdiff.c (process_event): Add missing `break' statement.
3310 2015-04-21  Werner Lemberg  <wl@gnu.org>
3312         [ftview] Key `w' now toggles warper (if compiled-in).
3314         * src/ftview.c (status): Add `warping' field.
3315         (event_help): Updated.
3316         (event_warping_change): New function.
3317         (Process_Event): Handle `w' key.
3318         (write_header, main): Updated.
3320 2015-04-21  Werner Lemberg  <wl@gnu.org>
3322         [ftgrid] Key `w' now toggles warper (if compiled-in).
3324         This replaces the no longer existing debugging hook with a generic
3325         solution that uses the `warping' auto-hinter module property.
3327         * src/ftgrid.c (_af_debug_disable_warper): Removed.
3328         (GridStatusRec): s/do_warp/warping/.
3329         (grid_status_init, grid_status_draw_outline, event_help): Updated.
3330         (event_warping_change): New function.
3331         (Process_Event): Handle `w', not `W', and use
3332         `event_warping_change'.
3333         (main): Updated.
3335 2015-04-21  Werner Lemberg  <wl@gnu.org>
3337         [ftdiff] Key `w' now toggles warper (if compiled-in).
3339         * src/ftdiff.c (render_mode_names): Updated.
3340         (ColumnStateRec): Add `warping' field.
3341         (render_state_init, render_state_draw, event_help): Updated.
3342         (process_event): Handle `w' key.
3344 2015-04-19  Werner Lemberg  <wl@gnu.org>
3346         [ftdiff] Correctly reload face after changing hinting engine.
3348         In most cases, calling `FT_Property_Set' acts globally on the
3349         FT_Library object.
3351         * src/ftdiff.c (RenderStateRec): Remove `need_rescale', since we
3352         always rescale now after reloading the face.
3353         Update all users.
3354         (render_state_set_face_index): New function.
3355         (render_state_set_file): Remove `idx' argument.  Instead, (re)load
3356         font with index `state->face_index'.
3357         (render_state_draw): Call `render_state_set_file'.
3358         (event_change_face_index): New function.
3359         (process_event): s/render_state_set_file/event_change_face_index/.
3360         (main): Updated.
3362 2015-04-18  Werner Lemberg  <wl@gnu.org>
3364         [ftgrid] Show advance width.
3366         * src/ftgrid.c (grid_status_draw_outline): Display vertical line at
3367         advance width position.
3369 2015-04-16  Werner Lemberg  <wl@gnu.org>
3371         [ftgrid] Key `W' now toggles warper (if compiled-in).
3373         * src/ftgrid.c [FT_DEBUG_AUTOFIT]: New extern variable
3374         `_af_debug_disable_warper'.
3375         (GridStatusRec): Add `do_warp' member.
3376         (grid_status_init): Updated.
3377         (grid_status_draw_outline): Set `_af_debug_disable_warper'.
3378         (event_help): Updated.
3379         (Process_Event): Handle `W' key.
3381 2015-04-16  Werner Lemberg  <wl@gnu.org>
3383         [ftgrid] Make blue zone toggling actually work.
3385         * src/ftgrid.c (grid_status_draw_outline) [FT_DEBUG_AUTOFIT]: Set
3386         `_af_debug_disable_blue_hints'.
3388 2015-04-16  Werner Lemberg  <wl@gnu.org>
3390         * src/ftgrid.c (Process_Event) <' '>: Don't reset debugging flags.
3392 2015-04-16  Werner Lemberg  <wl@gnu.org>
3394         [ftgrid] Cycle through AA rendering modes with F5 and F6.
3396         * src/ftgrid.c (event_lcd_mode_change): New function.
3397         (Process_Event) [FT_DEBUG_AUTOFIT]: Enable debug stuff for light AA
3398         mode also.
3399         Handle `F5' and `F6' keys.
3400         (event_help): Updated.
3402 2015-04-14  Werner Lemberg  <wl@gnu.org>
3404         [ftgrid] Fix memory leak.
3406         * src/ftgrid.c (event_font_change): Free `status.mm' before calling
3407         `FT_Get_MM_Var' (again).
3409 2015-04-14  Werner Lemberg  <wl@gnu.org>
3411         [ftgrid] Show proper names for GX axes.
3413         * src/ftgrid.c: Include `aux.h', FT_SFNT_NAMES_H, and
3414         FT_TRUETYPE_IDS_H.
3415         (GridStatusRec): Add `axis_name' array.
3416         (event_font_change): Set GX axis name if possible.
3417         (write_header): Use `axis_name' if non-NULL.
3418         (main): Add clean-up code for `axis_name' array.
3420 2015-04-14  Werner Lemberg  <wl@gnu.org>
3422         [aux] Add functions for outputting strings.
3424         * src/aux.c (hexdigit): New static array.
3425         (put_ascii_string, put_ascii_string_size, put_unicode_be16_string,
3426         put_unicode_be16_string_size): New functions.
3427         (put_ascii, put_unicode_be16): Use new functions to implement it.
3429         * src/aux.h: Updated.
3431 2015-04-14  Werner Lemberg  <wl@gnu.org>
3433         Move some output functions to a separate file.
3435         * src/aux.c, src/aux.h: New files, holding `put_ascii' and
3436         `put_unicode_be16' from...
3437         * src/ftdump.c: ... this file, which now includes `aux.h'.
3439         * Makefile (COMMON_OBJ): Add `aux.c'.
3440         Fix rule.
3442 2015-04-11  Werner Lemberg  <wl@gnu.org>
3444         [ftbench] Check unscaled advance widths also.
3446         * src/ftbench.c (main) <FT_BENCH_LOAD_ADVANCES>: Add test.
3448 2015-04-05  Werner Lemberg  <wl@gnu.org>
3450         [ftdump] Simplify code.
3452         * src/ftdump.c (put_unicode_be16_as_utf8): Fold into...
3453         (put_unicode_be16): This function, with an additional argument.
3454         Update all callers.
3456 2015-04-03  Werner Lemberg  <wl@gnu.org>
3458         [ftdump] Remove dead code.
3460         * src/ftdump.c (debug, trace_level): Remove.
3461         (usage): Remove #ifdef'ed code.
3462         (main): Don't handle obsolete options `-d' and `-l'.
3463         Remove #ifdef'ed code.
3465 2015-04-03  Werner Lemberg  <wl@gnu.org>
3467         [ftdump] Add option `-u' to emit data in UTF-8 encoding.
3469         * src/ftdump.c (utf8): New global variable.
3470         (usage): Updated.
3471         (put_unicode_be16): Only emit characters < 0x80 as-is.
3472         (put_unicode_be_as_utf8): New function.
3473         (Print_Sfnt_Names, Print_MM_Axes): Use it.
3474         (main): Handle new option `-u'.
3476         * src/ftdump.1: Updated.
3478 2015-04-02  Werner Lemberg  <wl@gnu.org>
3480         [ftmulti] Make the first six axes accessible.
3482         We now use keys F1-F6 and 1-6.  F7 and F8 get its original function
3483         back (this is, adjusting the glyph index by 10).
3485         * src/ftmulti.c (MAX_MM_AXES): New macro.  Replaces `T1_MAX_MM_AXIS'
3486         everywhere.
3487         (Render_All): Adjust vertical position depending on number of axes.
3488         (Help): Updated.
3489         (Process_Event): Handle new keys.
3490         (main): Use two lines for axes if we have more than three.
3492 2015-04-01  Werner Lemberg  <wl@gnu.org>
3494         [ftgrid] Fix minor memory leak.
3496         * src/ftgrid.c (GridStatusRec): Add `stroker' field.
3497         (grid_status_draw_outline): Updated.
3498         (main): Call `FT_Stroker_Done'.
3500 2015-03-30  Werner Lemberg  <wl@gnu.org>
3502         [ftdump] Show proper names for GX axes.
3504         * src/ftdump.c (Print_MM_Axes): Try to find and display English
3505         versions of the GX axis names (stored in the `name' table) instead
3506         of 4-letter tags.
3508 2015-03-29  Werner Lemberg  <wl@gnu.org>
3510         [ftgrid, ftmulti]: Handle GX fonts with more than 4 axes.
3512         ftgrid now handles up to 32 axes, while ftmulti will ignore all axes
3513         but the first four.
3515         * src/ftgrid.c (MAX_MM_AXES): New macro.
3516         (GridStatusRec): New field `used_num_axis'.
3517         (event_axis_change, event_font_change, Process_Event): Use it.
3519         * src/ftmulti.c (used_num_axis): New global variable.
3520         (Process_Event, main): Use it.
3522 2015-03-29  Werner Lemberg  <wl@gnu.org>
3524         [ftdump] Display info about MM axes.
3526         * src/ftdump.c: Include FT_MULTIPLE_MASTERS_H.
3527         (Print_MM_Axes): New function.
3528         (main): Use it.
3530 2015-03-19  Werner Lemberg  <wl@gnu.org>
3532         [ftdump] Various minor improvements.
3534         * src/ftdump.c (name_id): Handle WWS entries also.
3535         Return NULL for not pre-defined entries.
3536         (put_ascii): Display characters >= 0x80 as hex escape sequence.
3537         (Print_Sfnt_Names): Improve output.
3539 2015-03-11  Werner Lemberg  <wl@gnu.org>
3541         Update to latest FreeType library changes.
3543         * src/ftcommon.c: s/FT_XFREE86_H/FT_FONT_FORMATS_H/.
3544         (my_face_requester): s/FT_Get_X11_Font_Format/FT_Get_Font_Format/.
3546 2015-03-07  Werner Lemberg  <wl@gnu.org>
3548         * src/ftvalid.c: Various minor compiler warning fixes.
3550 2015-03-07  Werner Lemberg  <wl@gnu.org>
3552         * src/ftview.c: Various minor compiler warning fixes.
3554         * src/ftcommon.c, src/ftcommon.h (FTDemo_Draw_Index): Change type of
3555         `gindex' to unsigned.
3557 2015-03-07  Werner Lemberg  <wl@gnu.org>
3559         * src/ftstring.c: Various minor compiler warning fixes.
3561 2015-03-07  Werner Lemberg  <wl@gnu.org>
3563         [ftmulti] Various minor compiler warning fixes.
3565         * src/ftmulti.c: Fix signedness issues.
3566         Add `static' keyword where appropriate.
3567         (CENTER_X, CENTER_Y, autorun, use_grays, raster_buff, FLOOR, CEIL,
3568         TRUNC): Removed.  Unused.
3570 2015-03-06  Werner Lemberg  <wl@gnu.org>
3572         [ftgrid] Various minor compiler warning fixes.
3574         * src/ftgrid.c: Fix signedness issues.
3575         (event_axis_change, event_font_change): Avoid variable shadowing.
3576         (CEIL, X_TOO_LONG, Y_TOO_LONG): Removed.  Unused.
3578 2015-03-06  Werner Lemberg  <wl@gnu.org>
3580         * src/ftgamma.c: Various minor compiler warning fixes.
3582 2015-03-06  Werner Lemberg  <wl@gnu.org>
3584         [ftcommon] Various minor compiler warning fixes.
3586         * src/ftcommon.c: Fix signedness issues.
3587         (my_face_requester): Remove dead code.
3588         (FTDemo_Install_Font): Protect against stream failure.
3589         (string_render_prepare): Add `static' keyword.
3590         * src/ftcommon.h: Updated.
3592 2015-03-05  Werner Lemberg  <wl@gnu.org>
3594         * src/ftdiff.c: Various minor compiler warning fixes.
3596 2015-03-05  Werner Lemberg  <wl@gnu.org>
3598         [graph] Many compiler warning fixes.
3600         * graph/*, graph/x11/*: Fix signedness issues.
3601         Unified handling of unused variables.
3602         Add `static' keyword where appropriate.
3603         Include `foo.h' into `foo.c' where appropriate.
3605         * graph/grobjs.c, graph/grobjs.h (grRealloc): Removed.  Unused.
3607 2015-03-04  Werner Lemberg  <wl@gnu.org>
3609         [ttdebug] Various compiler warning fixes.
3611         * src/ttdebug.c: Decorate global variables/functions with `static'.
3612         Signedness fixes.
3613         (main): Protect various command line arguments against invalid
3614         values.
3616 2015-03-04  Werner Lemberg  <wl@gnu.org>
3618         * src/ftlint.c: Various minor compiler warning fixes.
3620 2015-03-04  Werner Lemberg  <wl@gnu.org>
3622         * src/ftdump.c: Various minor compiler warning fixes.
3624 2015-03-04  Werner Lemberg  <wl@gnu.org>
3626         [ftbench] Various compiler warning fixes.
3628         * src/ftbench.c: Decorate global variables/functions with `static'.
3629         Signedness fixes.
3630         (main): Protect various command line arguments against invalid
3631         values.
3633 2015-03-03  Werner Lemberg  <wl@gnu.org>
3635         [ftgrid] Add support for MM (and GX) fonts.
3637         F2 selects the axis, F3 and F4 change the axis value.
3639         The new code is adapted from `ftmulti.c'.
3641         * src/ftgrid.c: Include FT_MULTIPLE_MASTERS_H.
3642         (GridStatusRec): Add `mm', `design_pos', and `current_axis' fields.
3643         (grid_status_init): Initialize new fields.
3644         (event_help): Updated.
3645         (event_axis_change): New function.
3646         (event_font_change): Handle MM data.
3647         (Process_Event): Handle new keys.
3648         (write_header, main): Updated.
3650 2015-03-03  Werner Lemberg  <wl@gnu.org>
3652         [ftgrid] Less verbose header line.
3654         * src/ftgrid.c (BUFSIZE): New macro.
3655         (GridStatusRec, event_help): Use it.
3656         (write_header): Use it.
3657         Emit more compact header line.
3659 2015-03-03  Werner Lemberg  <wl@gnu.org>
3661         * src/ftmulti.c (main): Always display 1/100ths for axis values.
3663 2015-03-03  Werner Lemberg  <wl@gnu.org>
3665         [ftmulti] Use F1-F8 keys to handle four axes.
3667         Previously, we used F1 for help and F3-F8 for three axes.
3669         * src/ftmulti.c (Process_Event): Implement.
3670         (Help): Updated.
3672 2015-03-03  Werner Lemberg  <wl@gnu.org>
3674         Recommend `?' instead of `F1' for help.
3676         Usually, both `F1' and `?' map to the help screen.  However, not all
3677         display managers provide the F1 key to the application.
3679         * src/ftdiff.c (main), src/ftgrid.c (main), src/ftmulti.c (main),
3680         src/ftstring.c (main), src/ftview.c (main): Apply.
3682 2014-12-30  Werner Lemberg  <wl@gnu.org>
3684         * Version 2.5.5 released.
3685         =========================
3688         Tag sources with `VER-2-5-5'.
3690         * README: Updated.
3691         * src/*.1: Updated.
3693         * Makefile (dist): Fix typos.
3695 2014-12-11  Werner Lemberg  <wl@gnu.org>
3697         * Makefile (dist): Use older POSIX standard for `tar'.
3699         Apparently, BSD tar isn't capable yet of handling POSIX-1.2001
3700         (contrary to GNU tar), so force the POSIX-1.1988 format.
3702         Problem reported by Stephen Fisher <sfisher@SDF.ORG>.
3704 2014-12-06  Werner Lemberg  <wl@gnu.org>
3706         * Version 2.5.4 released.
3707         =========================
3710         Tag sources with `VER-2-5-4'.
3712         * README: Updated.
3713         * src/*.1: Updated.
3715 2014-11-22  Werner Lemberg  <wl@gnu.org>
3717         Show FreeType version in demo program help screens.
3719         * src/ftdiff.c (event_help), src/ftgrid.c (event_help),
3720         src/ftmulti.c (Help), src/ftstring.c (event_help), src/ftview.c
3721         (event_help): Implement it.
3723 2014-05-11  Werner Lemberg  <wl@gnu.org>
3725         Fix Savannah bug #42182.
3727         * src/ttdebug.c (main): Fix typos.
3729 2014-03-06  Werner Lemberg  <wl@gnu.org>
3731         * Version 2.5.3 released.
3732         =========================
3735         Tag sources with `VER-2-5-3'.
3737         * README: Updated.
3738         * src/*.1: Updated.
3740 2014-03-04  Werner Lemberg  <wl@gnu.org>
3742         * Makefile (LINK_LIBS) [unixdev]: Don't use pkg-config for bzip2.
3744         Not all platforms have `bzip2.pc'.  We also add `-lz' just for
3745         completeness.
3747 2014-01-30  Werner Lemberg  <wl@gnu.org>
3749         [ftbench] Allow `-s 0' for better testing of FT_LOAD_NO_SCALE.
3751         * src/ftbench.c (main) <'s'>: Don't alter value 0.
3752         Don't call `FT_Set_Pixel_Sizes' for size == 0.
3753         Don't call tests for size == 0 that need valid scaling factors.
3754         (usage): Updated.
3755         (benchmark): Return meaningful timer value for error-only calls.
3756         (test_embolden): Enable test.  I think there is no longer a reason
3757         to not run it.
3759         * src/ftbench.1: Updated.
3761 2014-01-28  Werner Lemberg  <wl@gnu.org>
3763         * src/ftgrid.c (grid_status_rescale_initial): Avoid NaN values.
3764         Remove forgotten debug message.
3766 2014-01-28  Werner Lemberg  <wl@gnu.org>
3768         * graph/grblit.c (grBlitGlyphToBitmap): Don't crash on empty glyphs.
3769         Problem reported by Dave Arnold <darnold@adobe.com>.
3771 2014-01-03  Werner Lemberg  <wl@gnu.org>
3773         [ftgrid] Show (some) blue zones.
3775         * src/ftgrid.c (af_glyph_hints_get_segment_offset): Update
3776         prototype.
3777         (GridStatusRec): New member `blue_color'.
3778         (grid_status_display): Change `on' color to red.
3779         Set `blue' color.
3780         (grid_hint_draw_segment): Show associated blue zones.
3781         (event_help): Updated.
3783 2014-01-03  Werner Lemberg  <wl@gnu.org>
3785         [ftgrid] Minor.
3787         * src/ftgrid.c (GridStatusRec): Rename `conic_color' to `off_color'.
3788         Remove unused `cubic_color' member.
3789         (grid_status_display, grid_status_draw_outline): Updated.
3791 2013-12-22  Werner Lemberg  <wl@gnu.org>
3793         * Makefile (LINK_LIBS) [unixdev]: Use pkg-config to get link flags.
3795         This corresponds to a similar change in current FreeType to link
3796         with HarfBuzz in development mode.
3798 2013-12-08  Werner Lemberg  <wl@gnu.org>
3800         * Version 2.5.2 released.
3801         =========================
3804         Tag sources with `VER-2-5-2'.
3806         * README: Updated.
3807         * src/*.1: Updated.
3809 2013-11-27  Werner Lemberg  <wl@gnu.org>
3811         [ftgrid] Fix compilation in non-debug mode.
3813         * src/ftgrid.c: Guard autofit dump functions with FT_DEBUG_AUTOFIT
3814         clause.
3815         Update prototypes.
3816         (grid_hint_draw_segment): Guard with FT_DEBUG_AUTOFIT clause.
3817         (grid_status_draw_outline): Guard call to `grid_hint_draw_segment'
3818         with FT_DEBUG_AUTOFIT clause.
3819         (Process_Event) <'1'>, <'2'>, <'3'>: Don't mess around with trace
3820         levels, which should always stay internal to the FreeType library.
3821         Update calls to dump functions.
3823 2013-11-25  Werner Lemberg  <wl@gnu.org>
3825         * Version 2.5.1 released.
3826         =========================
3829         Tag sources with `VER-2-5-1'.
3831         * README: Updated.
3832         * src/*.1: Updated.
3834 2013-11-21  Werner Lemberg  <wl@gnu.org>
3836         [ftgrid] Make keys `1', `2', and `3' work again.
3838         * src/ftgrid.c (Process_Event) <'1'>, <'2'>, <'3'>: Set
3839         `trace_afhints' trace level to value 7 temporarily since the autofit
3840         dumping functions use `FT_TRACE7' since 2012-07-06.
3842 2013-11-21  Werner Lemberg  <wl@gnu.org>
3844         [ftgrid] Fix compilation with C++.
3846         * src/ftgrid.c (_af_debug_*): Add `extern' keyword.
3848 2013-11-20  Werner Lemberg  <wl@gnu.org>
3850         Increase file path size.
3852         * src/compos.c (main), src/ftchkwd.c (main), src/ftdump.c (main),
3853         src/ftlint.c (main), src/ftmemchk.c (main), src/ftsbit.c (main),
3854         src/fttimer.c (main), src/fttry.c (main): Increase array size of
3855         `filename' and `alt_filename' to 1024.
3857 2013-11-13  Werner Lemberg  <wl@gnu.org>
3859         * Makefile (FT_H): Update to new header layout of FreeType.
3861 2013-11-05  Werner Lemberg  <wl@gnu.org>
3863         [ttdebug] Improve display of point tags.
3865         * src/ttdebug.c (old_tag_to_new): Removed, no longer used.
3866         (display_changed_points, show_points_table): Display tags with
3867         mnemonic characters instead of ORed numbers.
3868         (RunIns) <'h'>: Updated.
3870 2013-11-05  Werner Lemberg  <wl@gnu.org>
3872         [ttdebug] Enable debugging of composite glyphs (again).
3874         This was lost while improving key handling.
3876         * src/ttdebug.c (RunIns): Introduce variable `really_leave' to
3877         insert one stop before really leaving the current glyph range.
3878         Without that, inspecting the current data right after finishing the
3879         hinting of a subglyph wouldn't be possible.
3880         (main): Stay in loop even if `FT_Load_Glyph' returns zero.
3882 2013-11-04  Werner Lemberg  <wl@gnu.org>
3884         [ttdebug] Provide man page and compile program by default.
3886         * Makefile (EXES): Add `ttdebug'.
3888         * src/ttdebug.1: New file.
3890 2013-11-01  Werner Lemberg  <wl@gnu.org>
3892         [ttdebug] Make `B' emit a function backtrace.
3894         This needs the today's version of the FreeType library.
3896         * src/ttdebug (RunIns) <'h'>: Updated.
3897         <'B'>: Print backtrace.
3899 2013-11-01  Werner Lemberg  <wl@gnu.org>
3901         [ttdebug] Make `p' set a breakpoint at previous position.
3903         * src/ttdebug.c (RunIns): Store information about last position in
3904         `last_IP' and `last_range'.
3905         <'h'>, <'c'>, <'f'>, <'n'>, <'s'>: Updated.
3906         <'p'>: Set breakpoint at previous instruction.
3908 2013-10-31  Werner Lemberg  <wl@gnu.org>
3910         [ttdebug] Minor.
3912         * src/ttdebug.c: Make full-sentence messages where appropriate.
3913         (RunIns): Make help screen more compact vertically.
3915 2013-10-31  Werner Lemberg  <wl@gnu.org>
3917         [ttdebug] Make `b' set a breakpoint.
3919         * src/ttdebug.c (Breakpoint): New structure.
3920         (RunIns): Handle breakpoint.
3921         <'h'>, <'c'>, <'f'>, <'n'>: Updated.
3922         <'b'>: Set breakpoint.
3924 2013-10-31  Werner Lemberg  <wl@gnu.org>
3926         [ttdebug] Improve help; add key `h' to show it.
3928         * src/ttdebug.c (RunIns) <'?'>: Update and redesign help screen.
3929         <'h'>: Same as key `?'.
3930         (main): Show version string and help info at start-up.
3932 2013-10-31  Werner Lemberg  <wl@gnu.org>
3934         [ttdebug] Make key `R' restart the debugger.
3936         * src/ttdebug.c (Restart): New macro.
3937         (RunIns) <'Q'>: Set `pedantic_hinting' flag.
3938         <'R'>: Set error to `Restart'.
3939         (main): Add loop.
3941 2013-10-30  Werner Lemberg  <wl@gnu.org>
3943         [ttdebug] Make key `f' finish current function.
3944         Change old `f' key to `F'.
3946         * src/ttdebug.c (RunIns)
3947         <'f'>: Renamed to ...
3948         <'F'>: ... this.
3949         <'f'>: Loop until current function is finished.
3950         <'?'>: Updated.
3952 2013-10-28  Werner Lemberg  <wl@gnu.org>
3954         Add manual pages.
3955         Originally contributed (but heavily modified) by Nis Martensen
3956         <nis.martensen@web.de>.
3958         * src/ftbench.1, src/ftdiff.1, src/ftdump.1, src/ftgamma.1,
3959         src/ftgrid.1, src/ftlint.1, src/ftmulti.1, src/ftstring.1,
3960         src/ftvalid.1, src/ftview.1: New files.
3962 2013-10-28  Werner Lemberg  <wl@gnu.org>
3964         [ftbench, ftmulti, ftvalid] Improve and correct usage output.
3966         This commit also changes key mappings in ftvalid ('L' -> 'l', 'v' ->
3967         'V'), adds option -v to display the version, and removes dead code.
3969         * src/ftbench.c (bench_desc): Fix typo.
3971         * src/ftmulti.c (usage): Do it.
3973         * src/ftvalid.c (validators, print_usage): Do it.
3974         (main): Updated.
3976 2013-10-27  Werner Lemberg  <wl@gnu.org>
3978         * src/ttdebug.c (main, RunIns): Fix memory leaks.
3980 2013-10-26  Werner Lemberg  <wl@gnu.org>
3982         [ttdebug] Display storage are data; key 'S' shows all of them.
3984         * src/ttdebug.c (Storage): New structure.  We need to handle storage
3985         area data specially since we have to make a distinction between
3986         initialized and uninitialized values.
3987         (handle_WS): New function.  Since it is not necessary for the
3988         bytecode interpreter to trace whether a value is uninitialized or
3989         not, we have to do it manually right before every debugging step.
3990         (RunIns): After executing a step, storage area data different to
3991         before is displayed.
3992         <'?'>: Help updated.
3993         <'S'>: Show storage area data.
3994         <'c'>, <'s'>, <'n'>: Call `handle_WS'.
3996 2013-10-26  Werner Lemberg  <wl@gnu.org>
3998         [ttdebug] Fix code range detection.
4000         * src/ttdebug.c (RunIns): The `code_range' string identifies the
4001         code range where `RunIns' has been called, so it's best to use it
4002         throughout the code for this purpose.
4003         <'C'>, <'P'>, <'S'>: Updated accordingly.
4004         (show_points_table): Updated accordingly.
4006 2013-10-25  Werner Lemberg  <wl@gnu.org>
4008         [ttdebug] Display CVT data; key `C' shows all Control Values.
4010         * src/ttdebug.c (RunIns): New array `save_cvt'.
4011         After executing a step, CVT data different to before is displayed.
4012         <'C'>: Show CVT data.
4013         <'?'>: Help updated.
4015 2013-10-25  Werner Lemberg  <wl@gnu.org>
4017         [ttdebug] Change some key assignments from lowercase to uppercase.
4019         * src/ttdebug.c (RunIns) <'v'>: Use 'V' instead.
4020         <'g'>: Use 'G' instead.
4021         <'p'>: Use 'P' instead.
4022         <'t'>: Use 'T' instead.
4023         <'q'>: Use 'Q' instead.
4024         <'?'>: Help updated.
4026 2013-10-25  Werner Lemberg  <wl@gnu.org>
4028         * src/ttdebug.c (RunIns) <'n'>: Handle ranges correctly.
4030 2013-10-16  Werner Lemberg  <wl@gnu.org>
4032         * src/ttdebug.c (RunIns): Handle `Enter' key correctly.
4034 2013-10-16  Werner Lemberg  <wl@gnu.org>
4036         [ttdebug] Display twilight data; key `t' shows twilight point table.
4038         * src/ttdebug.c (display_changed_points, show_points_table): Pass
4039         flag for twilight zone and handle it accordingly.
4040         (RunIns): Track twilight data.
4041         Handle key `t'.
4042         Update help.
4044 2013-10-16  Werner Lemberg  <wl@gnu.org>
4046         [ttdebug] Some refactorization.
4048         * src/ttdebug.c (display_changed_points, show_points_table): New
4049         functions, extracted from...
4050         (RunIns): ... this one.
4052 2013-10-16  Werner Lemberg  <wl@gnu.org>
4054         * src/ttdebug.c: s/save/save_pts/.
4056 2013-10-16  Werner Lemberg  <wl@gnu.org>
4058         [ttdebug] Display improvements.
4060         * src/ttdebug.c (exec): Removed, unused.
4061         (RunIns): Increase size of `temp' buffer.
4062         Display negative hex numbers.
4063         Correctly display hex numbers with more than 4 digits.
4064         (RunIns) <'g'>: Display interpreter version.
4066 2013-10-09  Werner Lemberg  <wl@gnu.org>
4068         * src/ftview.c (Render_Waterfall): Avoid `%n' in `snprintf'.
4070         MSVC disables this by default, and compilation would fail otherwise.
4072 2013-09-28  Dave Arnold  <darnold@adobe.com>
4074         * src/ftdiff.c (Process_Event) <'H'>: Fix typo.
4076         If FT_DEBUG_AUTOFIT is false, then the command `H' had a side-effect
4077         of decrementing the glyph index.
4079 2013-09-23  Werner Lemberg  <wl@gnu.org>
4081         [ftdiff] Improve text display at small sizes.
4083         * src/ftdiff.c (render_state_draw): Loop over the text.  This also
4084         avoids problems if the .notdef character has zero width (for
4085         whatever reasons).
4087 2013-07-21  Behdad Esfahbod  <behdad@google.com>
4089         * src/ftcommon.c (FTDemo_Index_To_Bitmap): Add BGRA support.
4091 2013-07-21  Werner Lemberg  <wl@gnu.org>
4093         * graph/rules.mk (GRAPH_H): Add missing files.
4095 2013-07-21  Behdad Esfahbod  <behdad@google.com>
4097         * src/ftcommon.c (FTDemo_Index_To_Bitmap): Remove unneeded code.
4099 2013-07-21  Behdad Esfahbod  <behdad@google.com>
4101         [graph] Fix BGRA blending.
4103         * graph/gblbgra.h: Simplify and correct blending operation.
4105 2013-07-20  Werner Lemberg  <wl@gnu.org>
4107         Fix Savannah bug #39537.
4109         */* s/FALSE/0/, s/TRUE/1/.
4111 2013-07-20  Werner Lemberg  <wl@gnu.org>
4113         Improve font loading.
4115         In particular, avoid a crash in ftgrid for fonts without outlines.
4117         * src/ftcommon.c (FTDemo_Install_Font): Provide argument to load
4118         fonts with outlines only.
4119         * src/ftcommon.h, src/ftview.c, src/ftstring.c: Updated.
4120         * src/ftgrid.c (main): Updated.
4121         Emit warning message for skipped fonts.
4123 2013-07-05  Werner Lemberg  <wl@gnu.org>
4125         [ftbench] Be more verbose in reporting results.
4127         * src/ftbench.c (benchmark): Indent trace output.
4128         (usage): Minor improvement.
4129         (main): Add some option value guards.
4130         Print information on test setup.
4132 2013-07-02  Werner Lemberg  <wl@gnu.org>
4134         [ftbench] Improve `usage' text.
4136         * src/ftbench.c (default_hinting_engine,
4137         default_interpreter_version): New global variables.
4138         (usage): Improve text for `-H' and `-f'.
4139         (main): Updated.
4141 2013-06-26  Werner Lemberg  <wl@gnu.org>
4143         [ftgrid] Implement CFF and TTF engine change support.
4145         Key `H' toggles this.
4147         * src/ftgrid.c: Include FT_MODULE_H, FT_INTERNAL_OBJECTS_H,
4148         FT_INTERNAL_DRIVER_H, FT_CFF_DRIVER_H, and FT_TRUETYPE_DRIVER_H.
4149         (N_CFF_HINTING_ENGINES): Define macro.
4150         (GridStatusRec): Add `cff_hinting_engine' and
4151         `tt_interpreter_version'.
4152         (event_help): New layout similar to ftview.
4153         (event_cff_hinting_engine_change,
4154         event_tt_interpreter_version_change): New functions.
4155         (Process_Event): Extend handling of `H' key.
4156         (main): Get default properties of CFF and TTF drivers.
4158 2013-06-26  Werner Lemberg  <wl@gnu.org>
4160         * src/ftview.c (event_help): Mention `q' and `ESC' keys.
4162 2013-06-19  Werner Lemberg  <wl@gnu.org>
4164         * Version 2.5.0 released.
4165         =========================
4168         Tag sources with `VER-2-5-0'.
4170         * README: Updated.
4172 2013-06-12  Werner Lemberg  <wl@gnu.org>
4174         [ftbench] Allow arbitrary sizes.
4176         * src/ftbench.c (main): Remove size limit.
4178 2013-06-10  Werner Lemberg  <wl@gnu.org>
4180         [ftview] Use key `K' for toggling small cache.
4182         Key `C' is already in use.
4184         * src/ftview.c (Process_Event) <'C'>: Replace with...
4185         <'K'>: This key.
4186         Add missing `break'.
4187         (event_help): Updated.
4189 2013-06-09  Werner Lemberg  <wl@gnu.org>
4191         [ttdebug] Add command `f' to select number format.
4193         * src/ttdebug.c (use_float): New global variable.
4194         (RunIns): Add `f' key to toggle between floating and fixed point
4195         number formats.
4196         Update all affected print commands.
4198 2013-06-09  Werner Lemberg  <wl@gnu.org>
4200         [ttdebug] Add command `l', improve help and output.
4202         * src/ttdebug.c (RunIns): Display message if entering a new code
4203         range.
4204         Improve output of `?' and `p' keys.
4205         Add `l' key to show last bytecode instruction.
4207 2013-06-09  Werner Lemberg  <wl@gnu.org>
4209         [ttdebug] Add command line option `-H' to select hinting engine.
4211         * src/ttdebug.c: Include FT_TRUETYPE_DRIVER_H.
4212         (default_version, alternative_version): New global variables.
4213         (Usage): Updated.
4214         (main): Handle option `-H'.
4216 2013-06-09  Werner Lemberg  <wl@gnu.org>
4218         [ftview] Fix cache handling.
4220         * src/ftview.c (event_cff_hinting_engine_change,
4221         event_tt_interpreter_version_change): Reset the cache to flush the
4222         glyph image cache.  Otherwise, the cache lookup functions get
4223         confused since info about module properties is not stored in the
4224         glyph cache nodes.
4226 2013-06-03  Werner Lemberg  <wl@gnu.org>
4228         [ftview, ftdiff, ftbench] Update CFF and TT property handling.
4230         * src/ftbench.c (main): Make option `-H' use the non-default
4231         properties and warning if there is a problem.
4233         * src/ftdiff (render_state_init): At startup, use default
4234         properties.
4235         (process_event) <'H'>: Do nothing if non-default `hinting-engine'
4236         property is not available.
4238         * src/ftview.c (event_cff_hinting_engine_change): Do nothing if
4239         non-default `hinting-engine' property is not available.
4240         (Process_Event) <'H'>: Updated.
4241         (main): At startup, use default properties.
4243 2013-05-22  Behdad Esfahbod  <behdad@google.com>
4245         Add support for color glyphs.
4247         In ftview, key `c' toggles color, while use of sbits cache is now
4248         mapped to key `C'.
4250         The premultiplied bgra blending is still off.
4252         * graph/gblany.h (_gblender_blit_bgra_): New template.
4253         * graph/graph.h (grPixelMode): Add gr_pixel_mode_bgra.
4254         * graph/gblblit.h (GBlenderSourceFormat): Add GBLENDER_SOURCE_BGRA.
4255         * graph/gblblit.c (gblender_blit_init): Handle GBLENDER_SOURCE_BGRA.
4256         * graph/grblit.c (grBlitGlyphToBitmap): Updated.
4257         * graph/gblbgra.h: New header file.
4259         * src/ftcommon.h (FTDemo_Handle): New member `color'.
4260         * src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags): Updated.
4261         (FTDemo_Glyph_To_Bitmap): Handle FT_PIXEL_MODE_BGRA.
4263         * src/ftview.c (Process_Event) <'c'>: Handle color.
4264         <'C'>: Handle sbits cache.
4265         (help): Updated.
4266         (write_header): Updated.
4268         * Makefile (LINK_LIBS): Add -lpng.
4270 2013-05-17  Werner Lemberg  <wl@gnu.org>
4272         [ftview, ftdiff, ftbench] Support `interpreter-version' property.
4274         * src/ftbench.c: Include FT_TRUETYPE_DRIVER_H.
4275         (usage): Updated.
4276         (main): Update `-H' option.
4278         * src/ftdiff.c: Include FT_TRUETYPE_DRIVER_H.
4279         s/hinting_engine/cff_hinting_engine/.
4280         (ColumnStateRec): Add `tt_interpreter_version' member.
4281         (render_state_init, render_state_draw): Updated.
4282         (event_help): Updated.
4283         (process_event) <'H'>: Handle new property.
4285         * src/ftview.c: Include FT_TRUETYPE_DRIVER_H.
4286         s/hinting_engine/cff_hinting_engine/.
4287         s/HINTING_ENGINES/CFF_HINTING_ENGINES/.
4288         (status): Add `tt_interpreter_version' member.
4289         (event_tt_interpreter_version_change): New function.
4290         (Process_Event) <'H'>: Use it.
4291         (write_header): Updated.
4292         (main): Set default value for `interpreter-version'.
4294 2013-05-13  Sebastien Bacher  <seb128@ubuntu.com>
4296         * src/ftview.c (write_header): Fix uninitialized variables.
4298 2013-05-08  Werner Lemberg  <wl@gnu.org>
4300         * Version 2.4.12 released.
4301         ==========================
4304         Tag sources with `VER-2-4-12'.
4306         * README: Updated.
4308         * src/x11/grx11.c: s/read/lread/, s/write/lwrite/ where appropriate
4309         to avoid variable shadow warnings.
4311 2013-05-03  Werner Lemberg  <wl@gnu.org>
4313         [ftbench] New command line option `-H' to select Adobe's CFF engine.
4315         * src/ftbench.c: Include FT_MODULE_H and FT_CFF_DRIVER_H.
4316         (main): Handle `H' key.
4317         (usage): Updated.
4319 2013-04-27  Werner Lemberg  <wl@gnu.org>
4321         [ftview] Don't show encoding in `text' and `waterfall' modes.
4323         Those two modes always use UTF-8 (or rather, they use
4324         FTDemo_Get_Index).
4326         * src/ftview.c (write_header): Implement it.
4328 2013-04-26  Werner Lemberg  <wl@gnu.org>
4330         [ftview] Allow engine change for non-hinted modes also.
4332         This is useful to demonstrate the stem darkening of the Adobe's CFF
4333         engine.
4335         * src/ftview.c (Process_Event) <'H'>, (write_header): Adjust
4336         conditions.
4338 2013-04-23  Werner Lemberg  <wl@gnu.org>
4340         [ftview] Improve waterfall and text mode.
4342         * src/ftview.c (status): New member `topleft'.
4343         (Text): Convert string to UTF-8 encoding.  Now the whole string is
4344         displayed again.
4345         (Render_Stroke, Render_Slanted, Render_Embolden, Render_All): Set
4346         `status.topleft' to the first offset which gets really displayed.
4347         (Render_Text, Render_Waterfall): Set `status.topleft' to the first
4348         offset which gets really displayed.
4349         If characters from the `Text' string have been exhausted, start
4350         again from the beginning.
4351         (write_header): Always assume UTF-8 encoding for displaying header
4352         in `text' and `waterfall' modes.
4354 2013-04-23  Werner Lemberg  <wl@gnu.org>
4356         [ftview] Rename some variables.
4358         * src/ftview.c (status): s/font_index/font_idx/.
4359         s/Num/offset/.
4360         s/Fail/num_fails/.
4361         s/fw_index/fw_idx/.
4362         Update all callers.
4363         (Render_Stroke, Render_Slanted, Render_Embolden, Render_All,
4364         Render_Text, Render_Waterfall): s/first_index/offset/.
4365         (event_index_change): s/old_Num/old_offset/.
4366         (write_header): s/gindex/glyph_idx/.
4368 2013-04-20  Werner Lemberg  <wl@gnu.org>
4370         [ftdiff] New `x' key to toggle layout modes. (cbox vs. adv. width).
4372         Using the advance width is the new default.
4374         * src/ftdiff.c (ColumnStateRec): New member `use_cboxes'.
4375         (render_state_init): Updated.
4376         (render_state_draw): Use advance width instead of the maximum x
4377         value of the cbox if `use_cboxes' is set to 0.
4378         (event_help): Updated.
4379         (process_event): Handle `x' key.
4381 2013-04-18  Werner Lemberg  <wl@gnu.org>
4383         [ftdiff] Implement key `H' to select CFF hinting engine.
4385         * src/ftdiff.c: Include FT_CFF_DRIVER_H.
4386         Include FT_MODULE_H, FT_INTERNAL_OBJECTS_H, and
4387         FT_INTERNAL_DRIVER_H.
4388         (HINTING_ENGINE_MAX): New macro.
4389         (ColumnStateRec): New member `hinting_engine'.
4390         (render_state_init): Updated.
4391         (render_state_draw): Select hinting engine.
4392         Display hinting engine if we have CFF font.
4393         (event_help): Updated.
4394         (process_event): Handle `H' key.
4396         * Makefile (ftdiff.$(SO)): Enable inclusion of internal header
4397         files.
4399 2013-04-17  Werner Lemberg  <wl@gnu.org>
4401         Support display of no anti-aliasing, no hinting.
4403         * src/ftcommon.c (FTDemo_Update_Current_Flags): Handle this by
4404         setting FT_LOAD_MONOCHROME for this combination.
4406 2013-04-17  Werner Lemberg  <wl@gnu.org>
4408         [ftview] Be more intelligent in updating the display.
4410         This improves readability of tracing messages.
4412         * src/ftview.c (event_bold_change, event_change_radius,
4413         event_slant_change, event_size_change, event_index_change,
4414         event_font_change): Return update status.
4415         (Process_Event): Update display only if an event causes a change.
4417 2013-04-17  Werner Lemberg  <wl@gnu.org>
4419         [ftview] Minor GUI improvements.
4421         * src/ftview.c (event_hinting_engine_change,
4422         event_render_mode_change): Simplify.
4423         (Process_Event): Make keys `A'-`F' work only if AA is active.
4424         Disable keys `f' and `H' if in light hinting mode.
4425         (write_header): Ditto for header messages.
4427 2013-04-17  Werner Lemberg  <wl@gnu.org>
4429         [ftview] Key `H' should be active only if we have a CFF.
4431         * src/ftview.c (Process_Event): Do it.
4433 2013-04-13  Werner Lemberg  <wl@gnu.org>
4435         [ftview] Add keys `A'-`F' to select LCD mode.
4437         * src/ftview.c (event_help): Updated and rewritten to provide a
4438         two-column layout.
4439         (Process_Event): Handle `A'-`F'; former key `F' is now mapped to
4440         `L'.
4442 2013-04-13  Werner Lemberg  <wl@gnu.org>
4444         [ftview] Key `H' switches CFF hinting engines.
4446         * src/ftview.c: Include FT_MODULE_H, FT_INTERNAL_OBJECTS_H,
4447         FT_INTERNAL_DRIVER_H, and FT_CFF_DRIVER_H.
4448         (N_HINTING_ENGINES): New macro.
4449         (status): New member `hinting_engine'.
4450         (event_help): Updated.
4451         (event_hinting_engine_change): New function.
4452         (Process_Event): Handle `H' key.
4453         (main): Set default CFF engine.
4455 2013-04-21  Werner Lemberg  <wl@gnu.org>
4457         [graph/x11] Set _NET_WM_PID property.
4459         * graph/X11/x11/grx11.c: Include `sys/types.h', `unistd.h', and
4460         `XAtom.h'.
4461         (gr_x11_surface_init): Get process ID and set _NET_WM_PID property.
4463 2013-03-27  Werner Lemberg  <wl@gnu.org>
4465         Makefile (COMPILE): Add `CPPFLAGS'.
4467         Two reasons:
4469           (a) for orthogonality with freetype.mk
4470           (b) users can pass additional stuff to the compiler
4472 2013-03-24  Werner Lemberg  <wl@gnu.org>
4474         [ftview] Improve rendering mode switching.
4476         * src/ftview.c (status): Add `update' field.
4477         (Process_Event): Set `update' to 1 only if we really have to do an
4478         update.
4479         (main): Updated.
4481 2013-03-24  Werner Lemberg  <wl@gnu.org>
4483         [ftview] Use `l' and `k' keys instead of `L' and `K'.
4485         * src/ftview.c (event_help, Process_Event): Implement it.
4487 2013-03-24  Werner Lemberg  <wl@gnu.org>
4489         Don't try to handle rendering precision.
4491         This is a non-functional remnant of FreeType 1.  All font drivers
4492         using B/W rendering activate this at ppem < 24.
4494         * src/ftcommon.h (FTDemo_Handle): Remove `low_prec' field.
4495         * src/ftcommon.c (FTDemo_New): Updated.
4496         * src/ftmulti.c (low_prec): Removed.
4497         (Help, Process_Event): Updated.
4498         * src/ftstring.c (event_help, Process_Event): Updated.
4499         * src/ftview.c (event_help, Process_Event, write_header): Updated.
4501 2013-03-17  Werner Lemberg  <wl@gnu.org>
4503         [ftview] Remove options -d and -L.
4505         Not documented and no longer working.  This functionality is now
4506         available via FreeType's FT2_DEBUG environment variable.
4508         * src/ftview.c (status): Remove `debug' and `trace_level'.
4509         (parse_cmdline, main): Updated.
4511 2013-03-17  Werner Lemberg  <wl@gnu.org>
4513         [ftview] Remove option -D.
4515         This no longer works because the used cache values are now internal.
4517         * src/ftview.c (status): Remove `dump_cache_stats'.
4518         (usage, parse_cmdline, main): Updated.
4520 2013-02-16  Alexei Podtelezhnikov  <apodtele@gmail.com>
4522         [ftbench] Make BBox test harder.
4524         Rotating an outline puts more off-points outside of its bounding box.
4526         * src/ftbench.c: Include FT_OUTLINE_H.
4527         (test_get_bbox): Rotate outline by 30 degrees.
4529 2013-02-12  Werner Lemberg  <wl@gnu.org>
4531         [ftbench] Add test for `FT_Outline_Get_BBox'.
4533         * src/ftbench.c: Include FT_BBOX_H.
4534         (FT_BENCH_GET_BBOX): New enumeration value.
4535         (bench_desc): Updated.
4536         (test_get_bbox): New function.
4537         (main): Handle FT_BENCH_GET_BBOX.
4539 2013-02-08  Werner Lemberg  <wl@gnu.org>
4541         Implement `-v' to show version.
4543         Rename ftdump's `verbose' option to `-V'.
4544         Beautify and harmonize usage strings.
4546         * src/ftbench.c (bench_desc): Improve.
4547         (usage): Updated.
4548         (main): Handle `-v'.
4550         * src/ftdiff.c (usage): Updated.
4551         (render_state_init): Pass `library' argument.
4552         Move FreeType initialization to...
4553         (main): Here.
4554         Handle `-v'.
4556         * src/ftdump.c (usage): Updated.
4557         (main): Handle `-v', rename old `-v' to `-V'.
4559         * src/ftmulti.c (usage): Updated.
4560         (main): Handle `-v'.
4562         * src/ftgrid.c, src/ftstring.c, src/ftview (usage): Updated.
4563         (parse_cmdline): Handle `-v'.
4564         (main): Updated.
4566 2013-02-08  Werner Lemberg  <wl@gnu.org>
4568         [ftdiff] Simplify option handling.
4570         * src/ftdiff.c (get_option_arg): Removed.
4571         (main): Use `getopt'.
4573 2013-02-08  Werner Lemberg  <wl@gnu.org>
4575         * src/ftcommon.c, src/ftcommon.h (FTDemo_New): Take no parameter.
4577         * src/ftgrid.c, src/ftstring.c, src/ftview.c: Updated.
4579 2013-02-06  Werner Lemberg  <wl@gnu.org>
4581         [ttdebug] Remove options `-n' and `d'; add `-v' to show version.
4583         * src/ttdebug.c: Include `common.h'.
4584         (Panic): Renamed to...
4585         (Abort): This to avoid name clash.
4586         (dump_mode, non_interactive_mode): Removed.  Unused.
4587         (main): Use `getopt'.
4588         Implement `-v' to show FreeType version.
4589         (Usage): Updated and synchronized with other usage messages from
4590         FreeType demo programs.
4592         * Makefile (ttdebug$E): Updated to use `common.c'.
4594 2013-02-06  Werner Lemberg  <wl@gnu.org>
4596         [ttdebug] Make `q' work correctly.
4598         * src/ttdebug.c (Quit): New macro.
4599         (RunIns, main): Handle `Quit'.
4601 2013-02-06  Werner Lemberg  <wl@gnu.org>
4603         * src/ttdebug.c (RunIns): Slightly beautify output.
4604         (Usage): Mention help key.
4606 2013-02-06  Werner Lemberg  <wl@gnu.org>
4608         [ttdebug] Make it work again (partially).
4610         Since we now have lazy execution of the `prep' bytecode, the old
4611         ttdebug code no longer could debug it.
4613         The new code debugs `fpgm', `prep', and the glyph's bytecode in one
4614         run.  To facilitate it,  it also adds a new `c' key to continue to
4615         the next code range.
4617         * src/ttdebug.c (debug_coderange): Removed.
4618         (RunIns): Always run debugger.
4619         Report `end of program' only after glyph program.
4620         Update output of `?' key.
4621         Handle `c' key to loop until end of code range is reached.
4622         (Usage): Updated.
4623         (main): Don't handle negative glyph indices.
4625 2013-02-06  Werner Lemberg  <wl@gnu.org>
4627         * src/ttdebug.c: s/exc->/CUR./.
4629 2013-02-05  Werner Lemberg  <wl@gnu.org>
4631         * src/ttdebug.c (OpStr): Oops!  Add commas back.
4633 2013-02-05  Werner Lemberg  <wl@gnu.org>
4635         [ttdebug] Fix compilation warnings.
4637         * src/ttdebug.c (Cur_U_Line): Use `CUR' macro.
4638         (RunIns): Use global `error' variable.
4639         Use a const `temp' pointer locally.
4640         (Usage): Fix declaration.
4642 2013-02-05  Werner Lemberg  <wl@gnu.org>
4644         * src/ttdebug.c: Formatting, improving messages.
4646 2013-01-28  Werner Lemberg  <wl@gnu.org>
4648         [ftview] Make waterfall display -m string.
4650         Also make leftArrow key and friends functional.
4652         * src/ftview.c (Text): Make it `const char*'.
4653         (Render_Waterfall): Add argument to pass first index.
4654         Use -m option if given, and handle it as UTF-8.
4655         (Render_Text, parse_cmdline, main): Updated.
4657 2013-01-28  Werner Lemberg  <wl@gnu.org>
4659         * src/ftview.c (write_header): Show rendering mode number.
4661 2013-01-03  Werner Lemberg  <wl@gnu.org>
4663         [ftdiff] Slightly redesign layout to display all options.
4665         Also some other, minor changes.
4667         * src/ftdiff.c: Include <string.h>.
4668         (RenderStateRec): Remove `message' and `message0'.
4669         Update all users.
4670         (render_state_draw): Display one more line for status information.
4671         (write_message): Renamed to...
4672         (write_global_info): This.
4673         Also display family and style name; we thus no longer need to
4674         display the number of subfonts.
4675         Also display dpi, ppem, and gamma.
4676         (main): Slightly improve column layout.
4678         (event_help): Minor improvement.
4679         (adisplay_change_gamma): Use epsilons.
4680         (render_state_set_file): Don't loop around the start or end of the
4681         face list.  Other FreeType demo programs don't do this either.
4683 2013-01-03  Werner Lemberg  <wl@gnu.org>
4685         [ftdiff] Store family and style name of loaded fonts.
4687         To be used in a following commit.
4689         * src/ftdiff.c (FontFaceRec): New members `family_name' and
4690         `style_name'.
4691         (render_state_set_files): Fill new FontFaceRec members.
4693 2013-01-03  Werner Lemberg  <wl@gnu.org>
4695         * src/ftdiff (event_help): Improve text.
4697 2013-01-03  Werner Lemberg  <wl@gnu.org>
4699         [ftgrid] Make it work again.
4701         * src/ftgrid.c (grid_status_init): Don't initialize variables
4702         related to `display'.  Do this...
4703         (grid_status_display): ... in this new function instead.
4704         (main): Use new function to handle command line arguments before
4705         initializing the display.
4707 2013-01-02  Werner Lemberg  <wl@gnu.org>
4709         Increase line height in help texts.
4711         * src/ftview.c (event_help): Increase line height.
4712         Improve text.
4713         * src/ftdiff.c (event_help), src/ftgrid.c (event_help),
4714         src/ftmulti.c (Help), src/ftstring.c (event_help): Increase line
4715         height.
4717 2013-01-02  Werner Lemberg  <wl@gnu.org>
4719         [graph] Implement adjustable line height.
4721         * graph/grfont.c (gr_line_height): New global variable.
4722         (grSetLineHeight): New function.
4723         (grWrite): Use gr_line_height.
4725         * graph/grfont.h: Updated.
4727 2013-01-02  Werner Lemberg  <wl@gnu.org>
4729         * src/ftview.c (write_header): Improve displayed strings.
4731 2013-01-02  Werner Lemberg  <wl@gnu.org>
4733         [ftview] Better input key handling.
4735         * src/ftview.c (Process_Event): Don't handle key events if not
4736         in a mode where they change something visible.
4738 2013-01-02  Werner Lemberg  <wl@gnu.org>
4740         * src/ftdiff.c (render_state_set_files): Skip non-scalable fonts.
4742 2013-01-02  Werner Lemberg  <wl@gnu.org>
4744         * src/ftview.c (main) Remove redundant code.
4746 2013-01-02  Werner Lemberg  <wl@gnu.org>
4748         [ftview] Redesign layout.
4750         It now displays all options, not only the changes, in a structured
4751         way.
4753         * src/ftview.c (START_X, START_Y): New macros.
4754         (INIT_SIZE): Use them.
4755         (status): Remove `header' and `header_buffer' members.
4756         (Render_Waterfall): Use START_X and START_Y.
4757         (event_gamma_change, event_bold_change, event_radius_change,
4758         event_slant_change, event_render_mode_change, Process_Event): Don't
4759         set `status.header'.
4760         (write_header): Display all options.
4762         (main): Updated.
4764 2012-12-31  Werner Lemberg  <wl@gnu.org>
4766         Introduce a warn color.
4768         * src/ftcommon.h (FTDemo_Display): Add `warn_color' member.
4770         * src/ftcommon.c (FTDemo_Display_New): Initialize it.
4772 2012-12-31  Werner Lemberg  <wl@gnu.org>
4774         * src/ftdiff.c (render_state_draw, main): Use HEADER_HEIGHT.
4776 2012-12-27  Werner Lemberg  <wl@gnu.org>
4778         Increase header line distances.
4780         * src/ftgrid.c, src/ftview.c (HEADER_HEIGHT): Move to...
4781         * src/ftcommon.h: ... this file.  Set it to value 12.
4783 2012-12-27  Werner Lemberg  <wl@gnu.org>
4785         * Makefile: Add dependencies on `ftcommon.h'.
4787 2012-12-26  Werner Lemberg  <wl@gnu.org>
4789         Implement -w and -h options to specify window width and height.
4791         * src/ftcommon.c (FTDemo_Display_New): Two new parameters to pass
4792         width and height.
4793         (DIM_X, DIM_Y): Moved to ...
4794         * src/ftcommon.h: ... this.
4796         * src/ftdiff.c (usage): Updated.
4797         (ADisplayRec): Add `width' and `height' elements.
4798         (adisplay_init): Two new parameters to pass width and height.
4799         (write_message): Updated.
4800         (main): Handle `-w' and `-h' options.
4802         * src/ftgamma.c (DIM_X, DIM_Y): Removed.
4804         * src/ftgrid.c (GridStatusRec): Add `width' and `height' elements.
4805         (grid_status_init): Updated.
4806         (usage): Updated.
4807         (parse_cmdline): Handle `-w' and `-h' options.
4808         (main): Updated.
4810         * src/ftmulti.c (DIM_X, DIM_Y): Use the same (new) values as in
4811         other demo programs.
4812         (width, height): New global variables.
4813         (Init_Display): Updated.
4814         (usage): Updated.
4815         (main): Handle `-w' and `-h' options.
4817         * src/ftstring.c (status): Add `width' and `height' elements.
4818         (usage): Updated.
4819         (parse_cmdline): Handle `-w' and `-h' options.
4820         (main): Updated.
4822         * src/ftview.c (status): Add `width' and `height' elements.
4823         (usage): Updated.
4824         (parse_cmdline): Handle `-w' and `-h' options.
4825         (main): Updated.
4827 2012-12-20  Werner Lemberg  <wl@gnu.org>
4829         * bin/.cvsignore: Renamed to...
4830         * bin/.gitignore: ... this.
4832         * Makefile (dist): Don't include `.mailmap' and `.gitignore'
4834 2012-12-19  Werner Lemberg  <wl@gnu.org>
4836         * Version 2.4.11 released.
4837         ==========================
4840         Tag sources with `VER-2-4-11'.
4842         * README: Updated.
4844 2012-11-27  Werner Lemberg  <wl@gnu.org>
4846         * src/ftdiff.c (usage): Updated.
4848 2012-11-26  Werner Lemberg  <wl@gnu.org>
4850         [ftdiff] Accept UTF-8 encoded input files.
4852         * src/ftdiff.c (default_text): Use `char*' instead of `unsigned
4853         char*'.
4854         (main): Ditto for `text' variable.
4855         (RenderStateRec): Ditto for `text' member.
4856         (render_state_draw): Ditto for `text' argument.
4857         Use `utf8_next' to parse UTF-8 encoded text.
4859 2012-11-04  Werner Lemberg  <wl@gnu.org>
4861         [ftdump] Improve output of cmap tables.
4863         * src/ftdump.c (Print_Charmaps): Indicate Unicode Variation
4864         Sequences.
4866 2012-10-20  Werner Lemberg  <wl@gnu.org>
4868         * src/ftdump.c: (main): Minor output formatting.
4870 2012-09-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
4872         [ftview] Use pixel size calculation that works for bitmap fonts too.
4874         * src/ftview.c (Render_Stroke, Render_Embolden): Rely on the status
4875         point size and resolution to get the pixel size.
4877 2012-08-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
4879         [ftview] Implement adjustable stroker radius.
4881         * src/ftview.c (status): New field 'radius'.
4882         (Render_Stroke): Updated.
4883         (Process_Event): Add the keys `r' and `R' to handle the change.
4884         (event_radius_change): Implement it.
4885         (event_help): Updated.
4887 2012-08-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
4889         [ftview] Use more readable loop.
4891         * src/ftview.c (main): use do-while instead of for-break.
4893 2012-07-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
4895         [ftview] Clean up the code.
4897         * src/ftview.c (Render_Slanted): Move the shear matrix setup out of
4898         the loop.
4899         * src/ftview.c (Render_Embolden): Move the emboldening strength
4900         calculation out of the loop.
4902 2012-07-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
4904         [ftview] Further code homogenization.
4906         * src/ftview.c (Render_Stroke): Stroker constructor and destructor
4907         are moved to...
4908         * src/ftcommon.c (FTDemo_New, FTDemo_Done): Here.
4909         * src/ftcommon.h (FTDemo_Handle): New field `stroker'.
4911 2012-07-11  Werner Lemberg  <wl@gnu.org>
4913         Avoid crashes in case of failure.
4915         * src/ftcommon.c (FTDemo_Draw_Slot), src/ftgrid.c
4916         (grid_status_draw_outline), src/ftview.c (Render_Stroke): Only call
4917         `FT_Done_Glyph' in case of success.
4919 2012-07-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
4921         [ftview] Clean up and homogenize the code.
4923         * src/ftview.c (Render_Stroke): Replace while-loop with for-loop.
4924         (Render_Slanted): Ditto.
4925         (Render_Embolden): Ditto.
4926         (Render_All): Ditto.
4927         (Render_Waterfall): Ditto.
4928         (Render_Stroke): Homogenize with other similar functions.
4929         (Render_Text): Code cleanup.
4930         (event_gamma_grid): Ditto.
4932 2012-06-15  Werner Lemberg  <wl@gnu.org>
4934         * Version 2.4.10 released.
4935         ==========================
4938         Tag sources with `VER-2-4-10'.
4940         * README: Updated.
4942 2012-05-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
4944         [ftview] Implement handling of FT_Outline_EmboldenXY.
4946         * src/ftview.c (status): Replace `bold_factor' with `xbold_factor'
4947         and `ybold_factor'.
4948         (Render_Embolden): Updated.
4949         (Process_Event): Replacing handling of `e', `E' keys with `x', `X',
4950         `y', and `Y'.
4951         (event_bold_change): Implement it.
4952         (event_help): Updated.
4954 2012-03-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
4956         [ftview] Improve spacing for bold rendering mode.
4958         * src/ftview.c (Render_Embolden): Fix algorithm to reduce spacing.
4960 2012-03-08  Werner Lemberg  <wl@gnu.org>
4962         * Version 2.4.9 released.
4963         =========================
4966         Tag sources with `VER-2-4-9' (the previous commit has this tag).
4968         * README: Updated.
4970 2012-03-03  Werner Lemberg  <wl@gnu.org>
4972         [ftstring] Fix display of kern compare mode.
4974         * src/ftstring.c (main) <RENDER_MODE_KERNCMP>: Fix scaling of
4975         `height'.
4977 2012-03-03  Werner Lemberg  <wl@gnu.org>
4979         Fix handling of track kerning.
4981         * src/ftcommon.c (string_render_prepare): Fix scaling for
4982         `FT_Get_Track_Kerning'.
4984 2012-03-03  Werner Lemberg  <wl@gnu.org>
4986         Remove unused function.
4988         * src/ftcommon.[ch] (FTDemo_Set_Current_Pointsize): Remove.
4990 2012-03-02  Werner Lemberg  <wl@gnu.org>
4992         Fix Savannah bug #33660.
4994         * src/ftcommon.c: Include `FT_XFREE86_H'.
4995         (file_suffixes): Remove.
4996         (my_face_requester): Check whether font driver is `Type 1' instead
4997         of relying on the file suffix.
4998         Additionally, prefer `.afm' over `.pfm'.
4999         (FTDemo_Install_Font): Don't try various suffixes.
5000         Allocate more memory for `font->filepathname' as needed by
5001         `my_face_requester'.
5003         * src/ftdiff.c: Include `ftcommon.h' and `common.h'.
5004         Remove declaration of `error' everywhere.
5005         (usage): Updated.
5006         Add argument for binary name.
5007         Update all callers.
5008         (event_help): Updated.
5010         * src/ftgrid.c (usage): Updated.
5012         * src/ftstring.c (event_help, usage): Updated.
5014         * src/ftview.c (usage): Updated.
5016 2012-03-02  Werner Lemberg  <wl@gnu.org>
5018         * src/ftstring.c: Remove redundant code; formatting.
5020 2012-03-02  Werner Lemberg  <wl@gnu.org>
5022         * src/ftdiff.c: Formatting.
5024 2012-03-02  Werner Lemberg  <wl@gnu.org>
5026         * src/ftgrid.c: Remove redundant code; formatting.
5028 2012-03-02  Werner Lemberg  <wl@gnu.org>
5030         * src/ftcommon.c: Remove dead code; formatting.
5032 2012-02-13  Peter Grandi  <pg_mh@mh.to.sabi.co.UK>
5034         [ftview] Implement cycling backwards for rendering and LCD modes.
5036         * src/ftview.c (Process_Event): Handle keys `K' and `backspace'.
5037         (event_help): Updated.
5039 2012-02-13  Werner Lemberg  <wl@gnu.org>
5041         Fix X11 keyboard handling.
5043         * graph/grevents.h (grKey): Shift special keys to a higher range,
5044         otherwise it can happen that they are processed twice.  For example,
5045         `grKeyBackSpace' also returns key code 8 under X11, and this was
5046         previously mapped to `grKeyF8'.
5048 2011-12-07  Antoine Leca  <Antoine-Freetype@Leca-Marti.org>
5050         Fix printf specifications and parameters.
5052         * src/ttdebug.c (Cur_U_Line, RunIns): Use "%hu" for FT_UShort,
5053         "%ld" for FT_Pos; drop the "h" in "%hx" for FT_Byte parameters
5054         and cast the parameters to (unsigned) ("%hhx" is C99 only, and
5055         often unimplemented). Noticed by clang.
5057 2011-12-02  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
5059         Use $(LIBTOOL) to make graph.a, if it is defined.
5061         If configure script in FreeType2 library directory creates GNU
5062         Libtool, using it is better than using raw `ar'.  For example,
5063         Mac OS X archive library is required to be processed by ranlib.
5064         See discussion in
5065         http://lists.gnu.org/archive/html/freetype-devel/2011-10/msg00034.html
5067         * graph/rules.mk: Change the object suffix $(SO) to $(O) for
5068         the sake of GNU Libtool.  If $(LIBTOOL) is defined, use it to
5069         compile the objects and make the library.
5070         * graph/x11/rules.mk: Ditto.
5071         * graph/beos/rules.mk: Ditto.
5073         * Makefile: `clean' target erases the object, the library and
5074         GNU Libtool related files in .libs/ directory.
5076 2011-11-15  Werner Lemberg  <wl@gnu.org>
5078         * Version 2.4.8 released.
5079         =========================
5082         Tag sources with `VER-2-4-8'.
5084         * README: Updated.
5086 2011-10-18  Werner Lemberg  <wl@gnu.org>
5088         * Version 2.4.7 released.
5089         =========================
5092         Tag sources with `VER-2-4-7'.
5094         * README: Updated.
5096 2011-08-14  Werner Lemberg  <wl@gnu.org>
5098         Improve usage messages.
5100         This should fix Savannah bug #33660.
5102         * src/ftgrid.c, src/ftstring.c, src/ftview.c (usage): Reword and
5103         extend.
5105 2011-07-29  Werner Lemberg  <wl@gnu.org>
5107         * Version 2.4.6 released.
5108         =========================
5111         Tag sources with `VER-2-4-6'.
5113         * README: Updated.
5115 2011-06-24  Werner Lemberg  <wl@gnu.org>
5117         * Version 2.4.5 released.
5118         =========================
5121         Tag sources with `VER-2-4-5'.
5123         * README: Updated.
5125 2011-06-01  Werner Lemberg  <wl@gnu.org>
5127         Fix gcc 4.6 warnings.
5129         * graph/grblit.c (blit_gray_to_gray): Remove unused variables.
5130         (blit_gray_to_gray_simple): Declare and set `max' conditionally.
5132         * src/ftcommon.c (FTDemo_Index_To_Bitmap): Remove unused variable.
5133         * src/ftmulti.c (Render_All, Render_Text): Ditto.
5134         * src/ftview.c (INIT_SIZE, Render_Stroke, Render_Slanted,
5135         Render_Embolden, Render_All, Render_Text, Render_Waterfall): Ditto.
5137 2011-05-01  Just Fill Bugs  <mozbugbox@yahoo.com.au>
5138             Werner Lemberg  <wl@gnu.org>
5140         [ftgrid] Show autohinter segments.  Toggle with key `s'.
5142         * src/ftgrid.c: Add declarations for
5143         `af_glyph_hints_get_num_segments' and
5144         `af_glyph_hints_get_segments_offset'.
5145         (GridStatus): Add `segment_color' and `do_segment'.
5146         (grid_status_init): Updated.
5147         (grid_hint_draw_segment): New function.
5148         (grid_status_draw_outline): Call it.
5149         (Process_Event) <'s'>: Toggle display of segment lines.
5150         (event_help): Updated.
5152 2011-04-24  Werner Lemberg  <wl@gnu.org>
5154         * src/ftgrid.c (event_grid_zoom): Fix status message.
5156 2011-04-21  Werner Lemberg  <wl@gnu.org>
5158         FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH is deprecated and ignored.
5160         * src/ftchkwd.c (check_face): Update load flags.
5161         * src/ftcommon.h (FTDemo_Handle): Remove `use_global_advance_width'.
5162         * src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags): Updated.
5163         * src/ftmulti.c (LoadChar): Update load flags.
5165         * src/ftdiff.c (ColumnStateRec): Remove `use_global_advance_width'.
5166         (render_state_init, render_state_draw): Updated.
5167         (process_event): No longer handle key `a'.
5168         (event_help): Updated.
5170         * src/ftview.c (Process_Event): No longer handle key `A'.
5171         (event_help): Updated.
5173 2011-04-20  Werner Lemberg  <wl@gnu.org>
5175         [ftgrid]: Prevent incorrect output of `1', `2', and `3' keys.
5177         * src/ftgrid.c (Process_Event) <'1', '2', '3'>: Ensure that hinting
5178         is active, otherwise old table data could be emitted.
5180 2011-04-19  Werner Lemberg  <wl@gnu.org>
5182         * Makefile (FT_INCLUDES): Simplify.
5184 2011-04-18  Werner Lemberg  <wl@gnu.org>
5186         [ftgrid]: Limit autofit control even more.
5188         * src/ftgrid.c (Process_Event) <'H', 'V', 'B'> [FT_DEBUG_AUTOFIT]:
5189         Limit visibility and improve status messages.
5190         (event_help): Updated.
5192 2011-04-18  Werner Lemberg  <wl@gnu.org>
5194         [ftgrid] Add forced autohinting and limit autofit dumping.
5196         * src/ftgrid.c (_af_debug): Remove, unused.
5197         (Process_Event) <'f'>: Toggle autohinting.
5198         [FT_DEBUG_AUTOFIT] <'1', '2', '3'>: Limit visibility and improve
5199         status messages.
5200         (event_help): Updated.
5201         (main): Updated.
5203 2011-04-18  Werner Lemberg  <wl@gnu.org>
5205         Honor DEVEL_DIR.
5207         * Makefile (FT_INCLUDES) [DEVEL_DIR]: Add $DEVEL_DIR.
5209 2011-03-19  Werner Lemberg  <wl@gnu.org>
5211         C++ compilation fixes.
5213         * src/ftcommon.c, src/ftdiff.c: `strrchr' returns `const char *'.
5215         * src/ftview.c (status): Fix initialization.
5217 2011-01-30  Werner Lemberg  <wl@gnu.org>
5219         Add flag `A' to ftview for toggling the global advance width flag.
5221         * src/ftcommon.h (FTDemo_Handle): New field
5222         `use_global_advance_width'.
5223         * src/ftcommon.c (FTDemo_New): Set it.
5224         (FTDemo_Update_Current_Flags): Handle it.
5226         * src/ftview.c (Process_Event): Handle key `A'.
5227         (event_help): Updated.
5229 2010-12-31  Werner Lemberg  <wl@gnu.org>
5231         * Makefile: Add -lbz2 for development builds.
5233 2010-11-28  Werner Lemberg  <wl@gnu.org>
5235         * Version 2.4.4 released.
5236         =========================
5239         Tag sources with `VER-2-4-4'.
5241         * README: Updated.
5243 2010-10-03  Werner Lemberg  <wl@gnu.org>
5245         * Version 2.4.3 released.
5246         =========================
5249         Tag sources with `VER-2-4-3'.
5251         * README: Updated.
5253 2010-08-29  Steve Langasek  <steve.langasek@linaro.org>
5255         Make `grKey' enum comprehensive for gcc 4.5 compatibility.
5257         * graph/grevents.h (grKey): Avoid the situation of trying to compare
5258         an enum variable with a value not included in that enum in a case
5259         statement.  An enum needs to be declared to include the list of all
5260         possible values (which in the case of keypresses is quite a few),
5261         not just the most convenient ones.
5263 2010-08-17  Werner Lemberg  <wl@gnu.org>
5265         [ftbench] Add option `-i' to specify first used glyph index.
5267         * src/ftbench.c (first_index): New global variable.
5268         (test_load, test_load_advances, test_render, test_embolden,
5269         test_get_cbox, test_get_glyph, test_image_cache, test_sbit_cache,
5270         get_charset): Use it.
5271         (usage): Updated.
5272         (main): Handle `-i'.
5274 2010-08-06  Werner Lemberg  <wl@gnu.org>
5276         * Version 2.4.2 released.
5277         =========================
5280         Tag sources with `VER-2-4-2'.
5282         * README: Updated.
5284 2010-07-23  Werner Lemberg  <wl@gnu.org>
5286         ftmulti: Oops!  Patch has been applied incorrectly.
5288         * src/ftmulti.c (main): Really limit axis name length.
5290 2010-07-19  Werner Lemberg  <wl@gnu.org>
5292         * Version 2.4.1 released.
5293         ==========================
5296         Tag sources with `VER-2-4-1'.
5298         * README: Updated.
5300 2010-07-17  Werner Lemberg  <wl@gnu.org>
5302         ftmulti: Fix possible buffer overflow.
5303         Based on a patch from Marek Kašík <mkasik@redhat.com>.
5305         * src/ftmulti.c (main): Limit axis name length in `Header'.
5307 2010-07-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
5309         ftdump: Show language ID for all cmap subtables.
5311         * src/ftdump.c (Print_Charmaps): Print the language IDs obtained by
5312         FT_Get_CMap_Language_ID().  The language IDs is cast to FT_UInt, so
5313         broken IDs (> 0xFFFF) will not be shown correctly.
5315 2010-07-12  Werner Lemberg  <wl@gnu.org>
5317         * Version 2.4.0 released.
5318         ==========================
5321         Tag sources with `VER-2-4-0'.
5323         * README: Updated.
5325 2010-06-28  Werner Lemberg  <wl@gnu.org>
5327         ftbench: Fix suboptions of `-b'.
5329         * src/ftbench.c (bench_desc): Add missing description for
5330         FT_BENCH_LOAD_ADVANCES.
5332 2010-06-07  Werner Lemberg  <wl@gnu.org>
5334         Fix Savannah bug #30054.
5336         * src/ftdiff.c, src/ftgrid.c, src/ftmulti.c, src/ftstring.c,
5337         src/ftview.c: Use precision for `%s' where appropriate to avoid
5338         buffer overflows.
5340 2010-04-14  Werner Lemberg  <wl@gnu.org>
5342         ftdiff: Add support for LCD filter control.
5344         Key `l' cycles through the filter modes, `[' and `]' select the
5345         custom filter weight, `-' and `+' (or `=') adjust the selected
5346         filter weight.
5348         This is based on code written by Lifter
5349         <http://unixforum.org/index.php?showuser=11691>.
5351         * src/ftdiff.c (ColumnStateRec): Add members for LCD filter control.
5352         (render_state_init): Updated.
5353         (render_state_draw): Add support for custom LCD filter.
5354         (event_help): Document new keys.
5355         Make help screen more compact.
5356         (process_event): Handle new keys.
5358 2010-04-14  Werner Lemberg  <wl@gnu.org>
5360         ftview: Add support for LCD filter control.
5362         Key `F' toggles custom LCD filter mode, `[' and `]' select the
5363         custom filter weight, `-' and `+' (or `=') adjust the selected
5364         filter weight.
5366         This is based on code written by Lifter
5367         <http://unixforum.org/index.php?showuser=11691>.
5369         * src/ftview.c (INIT_SIZE, Render_Waterfall): Add space for a third
5370         header line.
5371         (status_): Add members for LCD filter control.
5372         (event_help): Document new keys.
5373         Make help screen more compact.
5374         (Process_Event): Handle new keys.  Use FTC_Manager_RemoveFaceID to
5375         flush the bitmap caches, forcing a redraw.  I'm not sure whether
5376         this is the right thing, but it seems to work...
5377         (write_header): Display custom filter weights.
5379 2010-02-11  Werner Lemberg  <wl@gnu.org>
5381         * Version 2.3.12 released.
5382         ==========================
5385         Tag sources with `VER-2-3-12'.
5387         * README: Updated.
5389 2009-10-10  Werner Lemberg  <wl@gnu.org>
5391         * Version 2.3.11 released.
5392         ==========================
5395         Tag sources with `VER-2-3-11'.
5397         * README: Updated.
5399 2009-10-06  Werner Lemberg  <wl@gnu.org>
5401         * Version 2.3.10 released.
5402         ==========================
5405         Tag sources with `VER-2-3-10'.
5407         * README: Updated.
5409         * Makefile (major, minor, patch): Fix regexp to allow more
5410         than a single digit.
5411         (dist): We now use git.
5413 2009-07-30  Boris Letocha  <b.letocha@gmc.net>
5415         [graph] Fix rendering on Windows.
5417         * graph/win32/grwin32.c (gr_win32_surface_refresh_rectangle):
5418         Handle `gr_pixel_mode_gray' correctly.
5420 2009-06-17  Werner Lemberg  <wl@gnu.org>
5422         Reduce number of automatically compiled programs.
5423         Many GNU/Linux distributions install those programs, and most of
5424         them are completely useless or very specialized.
5426         * Makefile (LINK): Define.
5427         (EXES): Reduce list to retain only generally useful programs.
5428         (ftsbit): Comment out.  Program doesn't compile (but may be useful).
5429         (ttdebug.o): Make it compile again.
5431 2009-06-17  Werner Lemberg  <wl@gnu.org>
5433         * Makefile: Handle `EXTRAFLAGS' for platform `unixdev' also.
5435 2009-04-30  Werner Lemberg  <wl@gnu.org>
5437         ftview: Make slant and boldness controllable.
5439         Keys `e' and `E' adjust emboldening, keys `s' and `S' the slant.
5441         * src/ftview.c (status): Add `bold_factor' and `slant' members.
5442         (Render_Slanted): Use `status.slant'.
5443         (Render_Embolden): Copy code from `FT_GlyphSlot_Embolden' and use
5444         `status.bold_factor'.
5445         (event_bold_change, event_slant_change): New functions.
5446         (Process_Event): Handle keys `s', `S', `e', and `E'.
5447         (event_help): Updated.
5449 2009-04-26  Werner Lemberg  <wl@gnu.org>
5451         * graph/grblit.c (blit_lcd8_to_24): Fix typo.
5452         Reported by suyu@cooee.cn.
5454 2009-04-22  Werner Lemberg  <wl@gnu.org>
5456         Fix crash in ftgrid.
5458         * src/ftgrid.c (grid_status_draw_outline): Handle return value of
5459         FT_Load_Glyph.
5461 2009-03-12  Werner Lemberg  <wl@gnu.org>
5463         * Version 2.3.9 released.
5464         =========================
5467         Tag sources with `VER-2-3-9'.
5469         * README: Updated.
5471 2009-03-10  Werner Lemberg  <wl@gnu.org>
5473         * src/common.c (CONST): New macro, defined depending on __STDC__.
5474         Use it where necessary.
5476 2009-03-10  Werner Lemberg  <wl@gnu.org>
5478         Fix C++ compilation.
5480         * src/ftbench.c (test_load_advances): Use cast.
5481         * src/ftgrid.c: Protect `extern' declarations with `extern "C"'.
5483 2009-03-03  Werner Lemberg  <wl@gnu.org>
5485         Fix signedness issues.
5487         * src/ftcommon.c (FTDemo_String_Set): Fix signedness.
5488         Update callers.
5489         Include `common.h'.
5490         Use __STDC__ macro.
5491         * src/ftcommon.h (FTDemo_String_Set): Fix signedness.
5493         * src/common.h, src/common.c: Use __STDC__ macro.
5495 2009-03-03  David Turner  <david@freetype.org>
5497         Add utf-8 support to ftview.  Fixes Savannah BUG #18225.
5499         * src/common.h, src/common.c: Add `utf8_next' function.
5500         * src/ftcommon.c (FTDemo_String_Set), src/ftview.c (Render_Text):
5501         Use `utf8_next'.
5503 2009-01-14  Werner Lemberg  <wl@gnu.org>
5506         * Version 2.3.8 released.
5507         =========================
5510         Tag sources with `VER-2-3-8'.
5512         * README: Updated.
5514 2009-01-07  Werner Lemberg  <wl@gnu.org>
5516         ftdiff: Add `a' key to toggle global advance width.
5518         * src/ftdiff.c (ColumnStateRec): Add `use_global_advance_width'
5519         field.
5520         (render_state_init): Updated.
5521         (render_state_draw): Control FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH.
5522         Update screen output.
5523         (event_help): Document `a' key.
5524         Sort output.
5525         (process_keys): Handle `a' key.
5526         Sort entries in `case' block.
5528 2008-12-05  Werner Lemberg  <wl@gnu.org>
5530         * src/ftbench.c: Remove #if FT_ADVANCES_H ... conditionals.
5532 2008-09-02  David Turner  <david@freetype.org>
5534         * src/ftbench.c: Include FT_ADVANCES_H.
5535         (FT_BENCH_LOAD_ADVANCES): New enumeration value.
5536         (test_load_advances): New function.
5537         (main) <FT_BENCH_LOAD_ADVANCES>: New case.
5539 2008-06-29  Werner Lemberg  <wl@gnu.org>
5542         * Version 2.3.7 released.
5543         =========================
5546         Tag sources with `VER-2-3-7'.
5548         * README: Updated.
5550 2008-06-10  Werner Lemberg  <wl@gnu.org>
5553         * Version 2.3.6 released.
5554         =========================
5557         Tag sources with `VER-2-3-6'.
5559         * README: Updated.
5561 2008-05-18  Werner Lemberg  <wl@gnu.org>
5563         * src/ftdiff.c (render_mode_names): Use better strings.
5565 2008-05-13  Werner Lemberg  <wl@gnu.org>
5567         * src/ftcommon.c (string_render_prepare): Always set extent in last
5568         slot.
5570 2008-01-10  Allan Yang, Jian Hua - SH  <Allan.Yang@fmc.fujitsu.com>
5572         * graph/grfill.c: Include <stdlib.h>.
5574 2007-12-29  Allan Yang, Jian Hua - SH  <Allan.Yang@fmc.fujitsu.com>
5575             Werner Lemberg  <wl@gnu.org>
5577         * src/ftview.c: Implement slanting.
5579 2007-08-08  Werner Lemberg  <wl@gnu.org>
5581         * src/ftvalid.c (print_usage): Add option `-f'.
5583 2007-08-08  George Williams  <gww@silcom.com>
5585         * src/ftvalid.c (ot_table_spec): Handle `MATH' table also.
5586         (main): Add option `-f' to select font index.
5588 2007-07-07  Werner Lemberg  <wl@gnu.org>
5590         * src/ftview.c (parse_cmdline): Remove C++ compiler warning.
5592         * src/ftcommon.c (my_file_requester), src/ftgrid.c
5593         (grid_status_draw_grid, ft_outline_draw, ft_outline_new_circle,
5594         grid_status_draw_outline, _af_debug_hints), src/ftdiff.c
5595         (_render_state_rescale, render_state_set_files,
5596         render_state_set_file, adisplay_draw_glyph, adisplay_draw_text,
5597         event_help, event_change_gamma, process_event, write_message, main):
5598         Fix compilation with C++ compiler.
5600 2007-07-02  Werner Lemberg  <wl@gnu.org>
5603         * Version 2.3.5 released.
5604         =========================
5607         Tag sources with `VER-2-3-5'.
5609         * README: Updated.
5611 2007-06-19  Werner Lemberg  <wl@gnu.org>
5613         * src/ftview.c (usage): Make it more readable.
5615 2007-06-16  Werner Lemberg  <wl@gnu.org>
5617         * src/ftpatentcheck.c: Renamed to...
5618         * src/ftpatchk.c: This.
5619         Minor fixes.
5621         * src/Jamfile (PROGRAMS), Makefile: Updated.
5623 2007-06-10  David Turner  <david@freetype.org>
5625         Add the new `ftpatentcheck' program; it is a simple wrapper of the
5626         new FT_Face_CheckTrueTypePatents function.
5628         * src/ftpatentcheck.c: New file.
5629         * src/Jamfile (PROGRAMS), Makefile: Updated.
5631 2007-06-09  Werner Lemberg  <wl@gnu.org>
5633         * src/ftgrid.c (Process_Event): Assign usual actions to keys F7-F12.
5634         (event_help): Updated.
5635         (main): Don't expect a Unicode encoded font -- we are only working
5636         with glyph indices currently.
5638 2007-06-01  Werner Lemberg  <wl@gnu.org>
5640         * src/ftcommon.c (FTDemo_Index_To_Bitmap): Initialize `*x_advance'.
5642 2007-05-28  David Turner  <david@freetype.org>
5644         * src/ftcommon.h: fix compilation warning
5646         * src/ftview.c: fix size bugs in waterfall mode
5648 2007-05-11  David Turner  <david@freetype.org>
5650         * src/ftcommon.h, src/ftcommon.c, src/ftview.c, src/ftgrid.c,
5651         src/ftstring.c: adapt test programs to use the new
5652         FTC_ImageCache_LookupScaler and FTC_SBitCache_LookupScaler
5653         functions. This allows you to specify fractional pixel/point
5654         sizes on the command line (e.g. ftview 13.5 ~/fonts/*)
5656 2007-05-09  Ryan Hill  <dirtyepic@gentoo.org>
5658         * Makefile: Fix rules for fttimer which doesn't use graphical
5659         output.
5660         Fix rule for ftdump to make it work with parallel builds.
5662 2007-04-09  Werner Lemberg  <wl@gnu.org>
5665         * Version 2.3.4 released.
5666         =========================
5669         Tag sources with `VER-2-3-4'.
5671         * README: Updated.
5673         * src/ftdiff.c (process_event): Handle `?' key.
5675 2007-04-04  Werner Lemberg  <wl@gnu.org>
5678         * Version 2.3.3 released.
5679         =========================
5682         Tag sources with `VER-2-3-3'.
5684         * README: Updated.
5686 2007-04-03  Werner Lemberg  <wl@gnu.org>
5688         * src/ftdiff.c (usage): Make message similar to other ftdemo
5689         programs.
5691 2007-04-02  David Turner  <david@freetype.org>
5693         * graph/win32/grwin32.c (gr_win32_surface_init): Fix the Win32
5694         window size computations to properly adjust border thickness and
5695         other extras.  Fix by Sébastien Leix <s.leix@sdi.fr>.
5697         * src/ftdiff.c (render_state_draw): Fix small bug that prevented
5698         unhinted rendering from working as expected with embedded bitmaps.
5700         (adisplay_init): Fix small bug that occurred when the
5701         call to grNewSurface() failed.  Reported by Sébastien Leix
5702         <s.leix@sdi.fr>.
5704         (usage): Move up in file.
5706         (FontFaceRec): New structure.
5707         (RenderStateRec): Integrate it.
5708         Update all users.
5710         (render_state_set_files, render_state_set_file): Handle all faces in
5711         a multi-face font file.
5713         (write_message): Handle multi-face font files.
5715 2007-04-01  Werner Lemberg  <wl@gnu.org>
5717         * src/ftdiff.c: Remove compiler warnings.
5718         Formatting.
5720 2007-03-30  David Turner  <david@freetype.org>
5722         Change interface keys to allow you to change settings for a single
5723         column only.  Press F1 for details.
5725         * src/ftdiff.c: Include FT_LCD_FILTER_H.
5726         (DisplayMode): Add DISPLAY_MODE_LCD.
5728         (Display_textFunc): New function pointer.
5729         (DisplayRec): Add it.
5731         (RenderMode): Replace it with...
5732         (HintMode): This.  Update all users.
5734         (render_mode_names): New array.
5736         (ColumnStateRec): New struct.
5737         (RenderStateRec): Use it.
5738         (render_state_init): Initialize it.
5740         (render_state_draw): Pass index as argument.
5741         Use ColumnStateRec.
5742         Implement sub-pixel positioning for unhinted mode.
5743         Add column footers, showing current rendering state.
5745         (adisplay_draw_glyph): Handle DISPLAY_MODE_LCD.
5746         (adisplay_draw_text): New function.
5748         (event_help): Updated.
5749         (process_event): Add many keys to control rendering modes in more
5750         detail.
5752         (main): Updated.
5754 2007-03-28  Werner Lemberg  <wl@gnu.org>
5756         * src/ftdiff.c: Remove many compiler warnings.
5757         Fix some typos.
5758         Improve and fix help texts.
5759         Formatting.
5761 2007-03-26  David Turner  <david@freetype.org>
5763         * src/ftdiff.c: New proofing program that displays text in three
5764         columns: bytecode-hinted, auto-hinted with rsb/lsb delta
5765         adjustments, and unhinted/subpixel-positioned.  For comparison
5766         purposes.
5768         * Makefile, Jamfile: Add ftdiff.
5770 2007-03-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
5772         * src/ftvalid.c (print_usage): Fix a typo in the help message.
5774 2007-03-09  Werner Lemberg  <wl@gnu.org>
5777         * Version 2.3.2 released.
5778         =========================
5781         Tag sources with `VER-2-3-2'.
5783         * README: Updated.
5785 2007-02-14  David Turner  <david@freetype.org>
5787         * src/ttdebug.c: another refresh of the debugger. Minor improvements
5788         to be able to display more useful information during debugging
5790 2007-02-12  David Turner  <david@freetype.org>
5792         * src/ttdebug.c: refresh the TrueType debugger code
5794 2007-02-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
5796         * src/ftstring.c (event_render_mode_change): Fix spelling.
5798 2007-01-31  Werner Lemberg  <wl@gnu.org>
5801         * Version 2.3.1 released.
5802         =========================
5805         Tag sources with `VER-2-3-1-FINAL'.
5807         * README: Updated.
5809 2007-01-17  Werner Lemberg  <wl@gnu.org>
5812         * Version 2.3.0 released.
5813         =========================
5816         Tag sources with `VER-2-3-0-FINAL'.
5818 2007-01-11  Masatake YAMATO  <jet@gyve.org>
5820         * src/ftvalid.c (run_ot_validator, run_gx_validator,
5821         run_ckern_validator): Return FT_Error value instead of int value.
5822         (main): Return value returned from validator's run method.
5823         (report_result): Don't show `invalid' message if there is no target
5824         table.
5826 2006-12-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
5828         * mac/ftoldmac.c: Fix conditional macros of FSSpec/FSRef and
5829         QuickDraw/ATS functionalities.
5831 2006-12-10  Werner Lemberg  <wl@gnu.org>
5833         * Makefile (dist): Extract version number from freetype.h.
5835 2006-11-15  David Turner  <david@freetype.org>
5837         * graph/x11/rules.mk (X11_PATH): Check /usr also.
5838         Search for `Xlib.h'.
5840 2006-11-03  Werner Lemberg  <wl@gnu.org>
5842         * src/ftgrid.c: Fix external function declarations.
5843         (event_help): Document `1', `2', and `3' keys.
5844         (grid_status_init, grid_status_rescale_initial,
5845         grid_status_draw_grid, grid_status_draw_outline, event_grid_reset):
5846         s/status/st/, s/error/err/ where appropriate to avoid shadowed
5847         variables.
5848         (GridStatusRec): Add `const' to `header'.
5849         Update all assignments.
5851         * Makefile: Add ftgrid.
5853 2006-11-02  David Turner  <david@freetype.org>
5855         Add `B' key to ftgrid for toggling blue zone hinting.
5856         Add `1', `2', and `3' keys to dump hints for edges, segments, and
5857         points, respectively.
5859         * src/ftgrid.c: Add some externs.
5860         (_af_debug, _af_debug_disable_blue_hints, _af_debug_hints): New
5861         global variables.
5862         (GridStatusRec): Add `do_blue_hints' variable.
5863         (grid_status_init): Set do_blue_hints.
5864         (event_help): Updated.
5865         (Process_Event): Updated.
5866         (main): Set _af_debug.
5868 2006-10-23  Zhe Su  <zsu@novell.com>
5870         Add a benchmark for the emboldening algorithm.
5872         * src/ftbench.c: Include FT_SYNTHESIS_H.
5873         (FT_BENCH_EMBOLDEN): New enumeration value.
5874         (bench_desc): Add `Embolden'.
5875         (test_embolden): New function.
5876         (main): Add it.
5878 2006-10-23  David Turner  <david@freetype.org>
5880         * src/ftgrid.c: Make the file compile again.
5882 2006-10-11  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
5884         * mac/ftoldmac.c (print_help): Renamed to...
5885         (print_help_and_exit): This.  Update callers.
5886         Improve the conditionals in source to separate Toolbox QuickDraw and
5887         Carbon QuickDraw.
5888         (reserveToolBoxQuickDrawFontName, test_face_quickdraw,
5889         test_font_list_quickdraw_old, test_font_list_quickdraw,
5890         test_font_list_ats): Ditto.
5892 2006-10-11  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
5894         * mac/Makefile: Synchronize with the changes of top-level Makefile
5895         on 2006-02-01.
5897 2006-09-27  David Turner  <david@freetype.org>
5899         Add support for LCD color filtering to ftview.
5901         * src/ftview.c: Include FT_LCD_FILTER_H.
5902         (status): Initialize it completely.
5903         (main): Call FT_Library_SetLcdFilter.
5905         * src/ftcommon.c (FT_Demo_Draw_Glyph): Renamed to...
5906         (FT_Demo_Draw_Glyph_Color): This.  Add an argument to pass the
5907         colour.
5908         (FT_Demo_Draw_Glyph): New function, calling
5909         FT_Demo_Draw_Glyph_Color.
5911         * src/ftcommon.h (FT_Demo_Draw_Glyph_Color): New declaration.
5913         * src/ftgrid.c: New file, implementing an auto-fitter debugger.
5914         This is a very preliminary version.  It only compiles with Jam at
5915         the moment, and you must have AF_DEBUG defined in your
5916         `src/autofit/aftypes.h' file to be able to link it.
5918         * src/Jamfile (GRAPHIC_PROGRAMS): Add ftgrid.
5920         * graph/graph.h (grFindColor, grFillHLine, grFillVLine, grFillRect):
5921         New declarations.
5923         * graph/grfill.c: New file which implements `grFillHLine',
5924         `grFillVLine', and `grFillRect'.  They are mainly used by the
5925         auto-fitter debugger.
5927         * graph/grobjs.c (grFindColor): New function for the auto-fitter
5928         debugger.
5930         * graph/gblender.c (gblender_set_gamma_table): Set
5931         `gamma_ramp_inv[gmax]'.
5933         * graph/gblender.h (GBLENDER_STAT_HIT, GBLENDER_LOOKUP): Move them
5934         up in source file.
5936         * graph/Jamfile (graph_sources), graph/rules.mk (GRAPH_OBJS): Add
5937         `grfill'.
5939 2006-09-11  David Turner  <david@freetype.org>
5941         Add support for OLPC swizzle simulation (must define SWIZZLE at
5942         compile time for this to work).
5944         * graph/grswizzle.c, graph/grswizzle.h: New files.
5946         * graph/grdevice.h (gr_swizzle_rgb24): Declare.
5948         * graph/Jamfile (graph_sources): Add `grswizzle'.
5950         * graph/win32/grwin32.c [SWIZZLE]: Include `grswizzle.h'.
5951         (gr_win32_surface_refresh_rectangle) [SWIZZLE]: Don't call
5952         gr_swizzle_rgb24 but gr_rect_swizzle_rgb24.
5953         Remove unused variables.
5955 2006-09-01  David Turner  <david@freetype.org>
5957         Fix various bugs in the glyph blender/blitter.
5959         * graph/gblcolor.h, graph/gblhbgr.h, graph/gblhrgb.h,
5960         graph/gblvbgr.h, graph/gblvrgb.h: Fix off-by-one
5961         error.
5963         * graph/gblender.c (gblender_lookup): Fix computation of key->cells.
5964         (gblender_lookup_channel): Fix computation of key->index.
5966         * graph/win32/grwin32.c: Fix RGB/BGR ordering -- Win32 uses BGR
5967         ordering for its 24-bit bitmaps.
5968         (SWIZZLE): New macro (set to undefined).
5969         (grWin32SurfaceRec): Add `bgrBitmap'.
5970         [SWIZZLE]: Add `swizzle_bitmap'.
5971         (gr_win32_surface_done) [SWIZZLE]: Handle `swizzle_bitmap'.
5972         (gr_win32_surface_refresh_rectangle): Do conversion RGB->BGR.
5973         (gr_win32_surface_init): Initialize `bgrBitmap'.
5974         [SWIZZLE]: Initialize `swizzle_bitmap'.
5976 2006-07-03  Masatake YAMATO  <jet@gyve.org>
5978         * src/ftvalid.c (library): Move this global variable to main as a
5979         local variable.
5980         (print_usage): Introduce function static variable `library'.
5981         Add one argument for initializing the static variable.
5982         (main): Call print_usage with `library'.
5983         (main, else, parse_table_specs, find_validation_flag): Call
5984         print_usage with NULL.
5986 2006-06-17  Masatake YAMATO  <jet@gyve.org>
5988         * src/ftvalid.c: Rearrange code.
5989         (library): Make variable having global scope.
5990         (OT_VALIDATOR_SYMBOL): Remove.
5991         (GX_VALIDATOR_SYMBOL): Remove.
5992         (CKERN_VALIDATOR_SYMBOL): Remove.
5993         (validator_symbols): Remove.
5994         (ValidatorType::LAST_VALIDATE): New enum element used in loop
5995         sentinel.
5996         (ot_table_spec): Remove const modifier.
5997         (gx_table_spec): Remove const modifier.
5998         (Validator): New data type.
5999         (validators): New variable.
6000         (print_usage): Use validators.
6001         (report_header, report_result): Use validators.
6002         (is_ot_validator_implemented): New function.
6003         (is_gx_validator_implemented): New function.
6004         (is_ckern_validator_implemented): New function.
6005         (run_ckern_validator): Use validators.
6006         (main): Initialize library at the beginning of main.
6007         Use validators.
6008         Report messages and exit if the validator specified by command line
6009         is not implemented in libfreetype2 linked to ftvalid.  Suggested by
6010         George Williams.
6012 2006-06-09  Werner Lemberg  <wl@gnu.org>
6014         * src/ftcommon.c (FTDemo_Install_Font): Fix index range for MS
6015         Symbol.
6017 2006-06-07  Werner Lemberg  <wl@gnu.org>
6019         * src/ftcommon.c (FTDemo_Display_Done, FTDemo_Done): Protect against
6020         NULL argument.
6022         * src/ftview.c (Fatal): New function to finalize FreeType library.
6023         This allows using FreeType's memory debugger in case of errors.
6024         s/PanicZ/Fatal/.
6026 2006-06-04  David Turner  <david@freetype.org>
6028         * src/ftbench.c (main): fixed a subtle memory corruption bug
6029         at program exit.  Reported by <luoy.li@gmail.com>.
6031 2006-05-21  Werner Lemberg  <wl@gnu.org>
6033         * src/ftdump.c (Print_Type): Fix type for `module'.  Reported by
6034         Mark Wang.
6036 2006-05-17  Werner Lemberg  <wl@gnu.org>
6038         * src/ftcommon.c, src/ftview.c [_WIN32]: Define `strcasecmp' and
6039         `snprintf'.
6041 2006-05-17  yi luo  <luoyi.ly@gmail.com>
6043         * graph/win32/rules.mk: Add support for icl compiler.
6045         * src/ftcommon.c (strcasecmp): Define to `_stricmp' if not
6046         available.
6048         * src/ftview.c (snprintf): Define to `_snprintf' if not available.
6050 2006-05-12  Werner Lemberg  <wl@gnu.org>
6053         * Version 2.2.1 released.
6054         =========================
6057 2006-05-10  Werner Lemberg  <wl@gnu.org>
6059         * Makefile (clean distclean) [no_config_mk]: Fix warning message.
6060         (dist): New target to build .tar.bz2, .tar.gz, and .zip bundles.
6061         Note that there are still many hard-coded version strings.
6063 2006-05-06  Werner Lemberg  <wl@gnu.org>
6065         * src/ftdump.c (main): Fix compiler warning.
6067 2006-05-02  David Turner  <david@freetype.org>
6069         Add support for font preloading with the `-p' flag, simulating
6070         memory-mapped file access.
6072         * src/ftcommon.h (TFont): New elements `file_address' and
6073         `file_size'.
6074         (FTDemo_Handle): New element `preload'.
6075         (FTDemo_Set_Preload): New prototype.
6077         * src/ftcommon.c (my_face_requester): Use FT_New_Memory_Face for
6078         preloaded font.
6079         Handle PFM files also.
6080         (FTDemo_Install_Font): Handle preloading (this is, load font into a
6081         buffer).
6082         (FTDemo_Set_Preload): New function.
6084         * src/ftview.c (status): Add `preload' field.
6085         (parse_cmdline): Handle `-p' command line option.
6086         (usage): Updated.
6087         (main):
6089         * src/ftdump.c (main): Add glyph count dump.
6091 2006-04-26  David Turner  <david@freetype.org>
6094         * Version 2.2 released.
6095         =======================
6098 2006-04-24  Werner Lemberg  <wl@gnu.org>
6100         * src/ftview.c (Render_Stroke): Update parameters in call to
6101         FT_Stroker_New.
6103 2006-03-20  David Turner  <david@freetype.org>
6105         Disable cache statistics dump, since the cache
6106         internals are not available anymore.
6107         Rename `-l' to `-L'.
6108         Add new command line options `-m text' and `-l render_mode'.
6110         * src/ftview.c (status): Add member `lcd_mode'.
6111         (Render_Text): Compensate the additional empty pixels inserted by
6112         Draw_Index.
6113         Handle number of glyph indices better.
6114         (parse_cmdline): Handle `-m' and `-l'.
6115         Updated.
6116         (usage): Updated.
6117         (main): Handle `status.lcd_mode'.
6118         Updated.
6119         Print cache statistics only conditionally (for FreeType versions
6120         lower than 2.2).
6122 2006-03-02  Chia-I Wu  <b90201047@ntu.edu.tw>
6124         * src/ftcommon.c (string_render_prepare): Fix a possible crash.
6126 2006-02-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
6128         * Makefile: include modules.cfg to reflect module configuration,
6129         and ftvalid is built when required stubs (ftgxval and ftotval)
6130         are built in libfreetype.
6132 2006-02-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
6134         * mac/ftoldmac.m68k_far.make.txt, mac/ftoldmac.ppc_classic.make.txt:
6135         Update to new header inclusion introduced on 2006-02-16.
6137 2006-02-27  Chia-I Wu  <b90201047@ntu.edu.tw>
6139         * src/ftcommon.c (my_face_requester): Attach the AFM only for PFA
6140         and PFB.
6142 2006-02-25  Werner Lemberg  <wl@gnu.org>
6144         * src/ftbench.c, src/ftcommon.c, src/ftvalid.c: Add proper casts
6145         where necessary to allow compilation with C++.
6146         Other minor fixes to remove compiler warnings.
6148 2006-02-01  Werner Lemberg  <wl@gnu.org>
6150         * Makefile (PLATFORM): Define to `unixdev' if PLATFORM=unix and
6151         DEVEL_DIR is defined.
6152         (BIN_DIR, OBJ_DIR): Replaced with...
6153         (BIN_DIR_2, OBJ_DIR_2): New variables, set with `?='.
6154         Update all callers.
6155         (BIN_DIR): Set also.
6156         (COMPILE): Add definition for FT_CONFIG_MODULES_H since we always
6157         build with an uninstalled FreeType version.
6158         (ftdump.$(SO), ftvalid.$(SO), ftview.$(SO)): Add -DFT2_BUILD_LIBRARY
6159         since these programs use internal headers.
6161         * graph/rules.mk, graph/*/rules.mk: s/OBJ_DIR/OBJ_DIR_2/.
6163         * src/ftcommon.c (string_render_prepare): Fix compiler warnings.
6165 2006-01-16  Chia-I Wu  <b90201047@ntu.edu.tw>
6167         Add support for track kerning and a new rendering mode for kerning
6168         comparison to ftstring.
6170         * src/ftcommon.c (my_face_requester): Try to attach the file having
6171         the same name as the font, but with suffix `.afm'.
6172         (FTDemo_New): Updated.
6173         (FTDemo_String_Set_Kerning, FTDemo_String_Set_Vertical): Removed.
6174         (string_load): Rewritten.
6175         (string_render_prepare): New function.
6176         (FTDemo_String_Draw): Rewritten to have more flexibility.  For
6177         example, we can now draw the string twice with different kerning
6178         modes without reloading the glyphs.
6180         * src/ftcommon.h (TGlyph): Add more data, mainly taken from
6181         FTDemo_Handle structure.
6182         (KERNING_DEGREE_XXX): New enumerations.
6183         (FTDemo_String_Context): New structure.
6184         (FTDemo_Handle): Updated.
6185         (FTDemo_String_Set_Kerning, FTDemo_String_Set_Vertical): Removed.
6186         (FTDemo_String_Draw): Updated.
6188         * src/ftstring.c: Updated along with many cleanups.
6189         (CELLSTRING_HEIGHT): New macro.
6190         (RENDER_MODE_XXX): New enumeration values.
6191         (status): Add more fields.
6192         (event_help, event_angle_change): Updated.
6193         (event_render_mode_change): New function.
6194         (Process_Event): Handle `1', `2', and `t' events.
6195         Update handling of `g', `k', and `V' events.
6196         (error_message): Renamed to...
6197         (write_header): This.
6198         Display point size and rotation angle.
6199         (main): Handle new render mode.
6201 2006-01-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
6203         Add `ftoldmac' commandline program to test MacOS specific feature:
6204         font file access by FSSpec, font file search by old/new QuickDraw,
6205         and font name or ATS font name.
6207         * mac/ftoldmac.c: Added.
6208         * mac/Makefile: Unix Makefile for MacOS X.
6209         * mac/ftoldmac.m68k_far.make.txt: MPW Makefile skeleton.
6210         * mac/ftoldmac.ppc_carbon.make.txt: MPW Makefile skeleton.
6211         * mac/ascii2mpw.py: Python script to generate MPW Makefile from
6212         the skeletons.
6213         * mac/README: Add note about ftoldmac, because ft2demos/mac was
6214         originally for demos built by CodeWarrior.
6216 2005-12-08  Chia-I Wu  <b90201047@ntu.edu.tw>
6218         * src/ftview.c (error_message): Renamed to write_header.
6219         Also write face size, first glyph index.
6220         Write glyph name if available.
6221         (main): Updated to use write_header.
6223 2005-12-04  Chia-I Wu  <b90201047@ntu.edu.tw>
6225         * src/ftbench.c: Update copyright date.
6226         Use `getopt' from `common.h'.
6228 2005-12-04  Chia-I Wu  <b90201047@ntu.edu.tw>
6230         * src/ftbench.c: Formatting.
6231         Make `face' and `charset' local variables.
6232         (btest_t): Use `const' qualifier for `title'.
6233         (bcharset_t): Change the type of `size' to `FT_Int'.
6234         (face_requester, benchmark): Updated because `face' is no longer
6235         global.
6236         (test_get_char_index, test_cmap_cache, get_charset): Updated because
6237         `charset' is no longer global.
6238         (main): New variables, `face' and `charset'.
6239         Updated because `face' and `charset' are local now.
6240         `get_charset' only when perform FT_BENCH_CMAP.
6242 2005-12-02  Chia-I Wu  <b90201047@ntu.edu.tw>
6244         Overhaul `ftbench.'  Now it can perform tests with arbitrary load
6245         flags and render mode.  Testing `Render' instead of `Load + Render',
6246         for example, is also possible now.
6248         * src/ftbench.c: Overhauled.
6250 2005-11-30  Werner Lemberg  <wl@gnu.org>
6252         Replace flag `-c' with `-v' to indicate verbosity.
6254         * src/ftdump.c (verbose): New global variable.
6255         (usage): Updated.
6256         (Print_Charmaps): Only take a single argument.  Update caller.
6257         Always show some charmap info.
6258         Use `verbose'.
6259         (main): Remove verbose_cmap.
6260         Handle `-v' instead of `-c'.
6262         * src/common.c (getopt): s/illegal/invalid/.
6264 2005-11-30  Chia-I Wu  <b90201047@ntu.edu.tw>
6266         * src/ftdump.c (Print_Charmaps): face->charmap might be NULL.
6268 2005-11-30  Chia-I Wu  <b90201047@ntu.edu.tw>
6270         * src/ftdump.c (main): New command line option `c' to show the
6271         contents of charmaps.
6272         (Print_Charmaps): Take one more argument: `verbose'.
6273         (usage): Updated.
6275 2005-11-21  Werner Lemberg  <wl@gnu.org>
6277         * graph/grinit.c (grDoneDevices): New function.
6279         * graph/graph.h (grInit, grDone): Remove unused declarations.
6280         (grDoneDevices): New declaration.
6282         * src/ftcommon.c (FTDemo_Display_Done): Call grDoneDevices.
6283         (FTDemo_Done): Free `handle'.
6285         * src/ftmulti.c (main): Call grDoneSurface and grDoneDevices.
6287 2005-11-18  Werner Lemberg  <wl@gnu.org>
6289         * src/ftvalid.c (run_ot_validator, run_gx_validator,
6290         run_ckern_validator): Remove unused variable `memory'.
6292 2005-11-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
6294         * src/ftvalid.c: Use FT_TrueTypeGX_Validate, FT_ClassicKern_Validate
6295         and FT_OpenType_Validate instead of FT_FREE (it calls FT_Free_Debug
6296         of libfreetype, which is not a public function).
6298 2005-11-16  David Turner  <david@freetype.org>
6300         * graph/graph.h: Updated.
6302         * graph/grdevice.c (grSurfaceDone): New function to free surface
6303         correctly.  This was commented out previously.
6305         * graph/x11/grx11.c (gr_x11_device_done): Call XFreeCursor.
6306         (gr_x11_surface_done): Call XFreeGC to fix memory leak.
6308         * src/ftcommon.c (FTDemo_Display_Done): Call `grDoneSurface' instead
6309         of `free' to fix memory leak.
6311         * src/ftbench.c (main): Add the `-c' flag to specify maximum
6312         iteration count.  Useful for repeat profiling.
6313         (usage): Updated.
6315 2005-09-29  Werner Lemberg  <wl@gnu.org>
6317         * src/ftcommon.c (FTDemo_Update_Current_Flags): Fix variable
6318         shadowing.
6320 2005-09-27  David Turner  <david@freetype.org>
6322         Fix gamma handling, mainly for LCD modes.
6324         * graph/gblgblit.c (GRGB_TO_RGB565): Protect arguments correctly.
6326         * graph/gblcolor.h, graph/gblhbgr.h, graph/gblhrgb.h,
6327         graph/gblvbgr.h, graph/gblvrgb.h: Call gblender_use_channels.
6329         * graph/gblender.c (gblender_clear, gblender_reset): Handle blender
6330         cache.
6331         (gblender_use_channels): New function.
6332         (gblender_reset_key): Improve.
6333         (gblender_lookup, gblender_lookup_channel): Comment possible call to
6334         gblender_reset.
6335         Fix computation of `idx'.
6336         (gblender_reset_channel_key): Fix computation of `a' and `r'.
6338         * graph/gblender.h (GBLENDER_SHADE_INDEX): Corrected definition.
6339         (gblender_use_channels): New declaration.
6341         * src/Jamfile: Include ftcommon.c.
6342         Fix order of link libraries.
6344 2005-09-22  David Turner  <david@freetype.org>
6346         * src/ftcommon.c (FTDemo_Update_Current_Flags): Fix load flags
6347         computation to mimic libXft's behaviour.
6349 2005-08-30  Werner Lemberg  <wl@gnu.org>
6351         * graph/graph.h (grFillRectangle): Comment out -- we don't have an
6352         implementation.
6354 2005-08-23  Masatake YAMATO  <jet@gyve.org>
6356         * src/ftvalid.c: Add gxvalid support.
6357         (GX_VALIDATOR_SYMBOL): New definition.
6358         (CKERN_VALIDATOR_SYMBOL): New definition.
6359         (ValidatorType::GX_VALIDATE): New enum member.
6360         (ValidatorType::CKERN_VALIDATE): New enum member.
6361         (validator_symbols): Added GX_VALIDATOR_SYMBOL and
6362         CKERN_VALIDATOR_SYMBOL.
6363         (gx_table_spec): New const.
6364         (N_GX_TABLE_SPEC): New definition.
6365         (print_usage): Write about gxvalid and ckern valid.
6366         (run_gx_validator): New function.
6367         (list_gx_tables): Ditto.
6368         (run_ckern_validator): Ditto.
6369         (list_ckern_tables): Ditto.
6370         (main): Call new validators.
6372         * src/ftvalid.c: Following are misc modifications.
6373         (report_result): Use printf instead fprintf. Fix incorrect message.
6374         (main): Use switch/case instead of if/else
6375         when calling per validator functions.
6376         Call FT_Done_Face. Use a loop to set validator.
6377         (print_usage): Insert empty line in usage strings.
6378         (validator_symbols): Added NULL as the last
6379         array element.
6381 2005-07-04  Chia I Wu  <b90201047@ntu.edu.tw>
6383         * src/ftcommon.i: Removed.
6385         * src/ftgamma.c: Updated to use api provided by ftcommon.c.
6387         * Makefile: Make ftgamma depend on ftcommon.c.
6388         Remove dependency of ftmulti.c on ftcommon.i.
6390 2005-06-17  Werner Lemberg  <wl@gnu.org>
6392         * Makefile: Update rules for ftview and ftstring which no longer
6393         depend on ftcommon.i but on ftcommon.c.
6395         (LINK_ITEMS, LINK_CMD, LINK_LIBS): New variables.
6396         (GRAPH_LINK2): Removed.
6397         (COMMON_LINK, GRAPH_LINK): Replace with...
6398         (LINK_COMMON, LINK_GRAPH): This.  Use LINK_ITEMS, LINK_CMD, and
6399         LINK_LIBS.
6400         Update all affected targets.
6401         (LINK_NEW): Temporary new link command to handle executables which
6402         use ftcommon.c.
6403         (FTCOMMON_OBJ): New variable to handle ftcommon.c.
6405 2005-06-17  Chia I Wu  <b90201047@ntu.edu.tw>
6407         * src/ftcommon.c, src/ftcommon.h: New files.
6409         * src/ftstring.c: Rewritten.
6410         Make the function keys more compatible with ftview.c.
6411         New key 'V' for vertical rendering.
6413         * src/ftview.c: Rewritten.
6414         Now we can use number keys (i.e. 1, 2, ...) to select rendering mode.
6416 2005-06-08  Werner Lemberg  <wl@gnu.org>
6419         * Version 2.1.10 released.
6420         ==========================
6423 2005-05-26  Werner Lemberg  <wl@gnu.org>
6425         * src/ftcommon.i (get_glyph_bitmap, glyph_to_bitmap): Initialize
6426         `target->grays' even for FT_PIXEL_MODE_MONO since it is tested in
6427         grBlitGlyphToBitmap.
6429         * graph/x11/grx11.c (gr_x11_surface_init): Initialize
6430         `xswa.border_pixel'.
6432 2005-05-25  Chia I Wu  <b90201047@ntu.edu.tw>
6434         * src/ftcommon.i: Include FT_SYNTHESIS_H.
6435         Make `render_mode' an enumeration.
6437         * src/ftview.c (Render_Embolden): New function.
6438         (Process_Event, main): Update to `render_mode' enumeration.
6440 2005-05-23  Werner Lemberg  <wl@gnu.org>
6442         * src/ftvalid (main) <'v'>: Add cast to make it compile with C++.
6444 2005-04-24  YAMATO Masatake  <jet@gyve.org>
6446         * src/ftvalid.c: New file.
6448         * Makefile, src/Jamfile: Add ftvalid.
6450 2005-03-04  Werner Lemberg  <wl@gnu.org>
6452         * src/ftgamma.c (Render_GammaGrid), src/ftmulti.c
6453         (parse_design_coords), src/ftview.c (Render_GammaGrid): Fix compiler
6454         warnings.
6456 2005-02-28  David Turner  <david@freetype.org>
6458         * src/ftbench.c (preload, memory_file, memory_size): New global
6459         variables.
6460         (bench_open_close): Handle `preload' by using `FT_New_Memory_Face'.
6461         (main): Remove `preload', `memory_file', and `memory_size'.
6463 2005-02-23  David Turner  <david@freetype.org>
6465         * src/ftbench.c (fetch_test, cbox_test): Fix memory leaks.
6467 2005-02-12  Werner Lemberg  <wl@gnu.org>
6469         Make ft2demos support a separate build directory.
6471         * Makefile (have_makefile): New variable.  Set if the build
6472         directory is the same as the source directory.
6473         (GRAPH_DIR): Give full path.
6474         (BIN_DIR, OBJ_DIR): Updated.
6475         (FT_INCLUDES): Include $(OBJ_BUILD).
6476         (LINK) <unix>: Fix path to `libtool'.
6478         * README: Updated.
6480 2004-12-15  Werner Lemberg  <wl@gnu.org>
6482         * src/ftcommon.i (glyph_to_bitmap): Don't convert 1bpp bitmaps.
6484 2004-12-14  Werner Lemberg  <wl@gnu.org>
6486         * src/ftcommon.i: Include new FT_BITMAP_H.
6487         Remove dead code.
6488         (ft_bitmap): New global variable.
6489         (init_freetype): Call FT_Bitmap_New.
6490         (done_freetype): Call FT_Bitmap_Done.
6491         (glyph_to_bitmap, get_glyph_bitmap): Handle 2bpp and 4bpp bitmaps
6492         using FT_Bitmap_Convert.
6494 2004-12-12  Steve Hartwell  <shspamsink@comcast.net>
6496         * graph/grblit.c (blit_mono_to_rgb32): Advance read buffer properly.
6498 2004-11-26  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>
6500         * vms_make.com: Don't assume that the ft2demos package is a
6501         subdirectory of freetype2.
6502         Fix `ccopt'.
6504 2004-11-19  Werner Lemberg  <wl@gnu.org>
6506         * src/ftview.c (Render_Waterfall): Handle size as points, not as
6507         pixels.
6509         * src/ftstring.c (layout_glyphs), src/ftmulti.c (LoadChar),
6510         src/ftcommon.i (set_current_image_type): Always use
6511         FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH.
6513 2004-11-16  Dr. Martin P.J. Zinser  <zinser@decus.de>
6515         * vms_make.com: Updated to be in sync with vms_make.com from FT2.
6517 2004-10-18  Werner Lemberg  <wl@gnu.org>
6519         * graph/gblblit.c (gblender_blit_init): Fix blit test.
6521 2004-09-08  Jouk Jansen  <joukj@hrem.stm.tudelft.nl>
6523         * graph/x11/grx11.c [__VMS]: Include vms_x_fix.h.
6525         * vms_make.com: Updated.
6527 2004-08-29  Werner Lemberg  <wl@gnu.org>
6529         * graph/gblender.c (gblender_lookup, gblender_lookup_channel):
6530         s/index/idx/ to avoid compiler warnings.
6532 2004-08-19  Werner Lemberg  <wl@gnu.org>
6534         * src/ftstring.c (prepare_text): Handle encoding = 0.
6536 2004-07-14  Werner Lemberg  <wl@gnu.org>
6538         * src/ftcommon.i (get_glyph_bitmap): Don't accept a `missing'
6539         character with zero or negative width.
6541 2004-07-13  David Turner  <david@freetype.org>
6543         * graph/x11/grx11.c (gr_x11_device_init): Fix memory leak.
6545         * src/ftbench.c (bench_cmap_parse): New function, assigned to
6546         key `j'.
6547         (usage, main): Updated.
6549         * src/ftcommon.i (install_font_file): Initialize `cmap_index' here.
6550         (my_face_requester): Don't initialize `cmap_index'.
6551         (glyph_to_bitmap): Add new argument to get glyph reference.
6552         (get_glyph_bitmap): Updated.
6554         * src/ftview.c (Render_Stroke): Increase stroker limit.
6555         Fix glyph indices.
6556         Fix memory leaks.
6558 2004-06-24  David Turner  <david@freetype.org>
6561         * Version 2.1.9 released.
6562         =========================
6565 2004-06-24  Werner Lemberg  <wl@gnu.org>
6567         * Makefile (GRAPH_LINK): Add $(MATH).
6568         Remove $(MATH) from link rule for ftstring.
6570 2004-06-23  Werner Lemberg  <wl@gnu.org>
6572         * src/ftbench.c: Fix compiler warnings.
6573         (usage): Updated.
6575 2004-06-23  David Turner  <david@freetype.org>
6577         * src/ftbench.c (bench_open_close): New benchmark to measure face
6578         open/close performance (controlled by the `i' flag for the `-b'
6579         command-line option flag).
6580         (main): Use it.
6582 2004-06-11  Werner Lemberg  <wl@gnu.org>
6584         * src/ftstring.c (layout_glyphs): Updated to latest FreeType library
6585         changes.
6587 2004-06-03  Werner Lemberg  <wl@gnu.org>
6589         Add autohinting toggling (using the `f' key) to ftstring.
6590         Handle new inter-letter spacing support for autohinting.
6592         * src/ftstring.c (autohint): New global variable.
6593         (layout_glyphs): Handle `autohint' variable.
6594         Handle new `lsb_delta' and `rsb_delta' elements of
6595         face->glyph->metrics.
6596         Remove some dead code.
6597         (Help): Updated.
6598         (Process_Event): Handle key `f'.
6599         Extend key `k'.
6601 2004-05-23  Werner Lemberg  <wl@gnu.org>
6603         * graph/gblender_blit.c: Renamed to...
6604         * graph/gblblit.c: This.
6605         Updated to use new include file names.
6606         (gblender_blit_init): Change 11th argument to `unsigned char*'
6608         * graph/gblender_blit.h: Renamed to...
6609         * graph/gblblit.h: This.
6610         Updated.
6612         * graph/gblender_blit_any.h: Renamed to...
6613         * graph/gblany.h: This.
6614         Updated to use new include file names.
6616         * graph/gblender_blit_hbgr.h: Renamed to...
6617         * graph/gblhbgr.h: This.
6619         * graph/gblender_blit_hrgb.h: Renamed to...
6620         * graph/gblhrgb.h: This.
6622         * graph/gblender_blit_vbgr.h: Renamed to...
6623         * graph/gblvbgr.h: This.
6625         * graph/gblender_blit_vrgb.h: Renamed to...
6626         * graph/gblvrgb.h: This.
6628         * graph/gblender.h (GBLENDER_CHANNEL_VARS): Remove final `;'.
6629         * graph/grblit.c: Updated to use new include file names.
6631         * graph/rules.mk, graph/Jamfile: Updated.
6633         * Makefile: Build `ftgamma'.
6635         * src/ftview.c (Render_GammaGrid): Fix compiler warnings.
6636         (Help): Updated.
6638         * src/ftgamma.c: Fix compiler warnings.
6640 2004-05-20  David Turner  <david@freetype.org>
6642         Adding support for fast gamma-corrected alpha-blending.
6643         New test program `ftgamma'.
6645         * graph/grblit.c: Include gblender_blit.h.
6646         (GRAY8): New macro.
6647         (blit_gray8_to_555, blit_gray8_to_565, blit_gray8_to_24,
6648         blit_lcd8_to_24, blit_lcd28_to_24) [GRAY8]: New functions.
6649         (blit_gray8_to_32): New function.
6650         (gr_gray8_blitters) [GRAY8]: New function table.
6651         (grSetGlyphGamma): New function.
6652         (grBlitGlyphToBitmap): Implement blending.
6653         * graph/graph.h (grSetGlyphGamma): New declaration.
6655         * graph/grfont.c, graph/grfont.h (grSetPixelMargin): New function.
6657         * graph/gblender.c, graph/gblender.h, graph/gblender_blit.c,
6658         graph/gblender_blit.h, graph/gblender_blit_any.h,
6659         gblender_blit_color.h, gblender_blit_hbgr.h, gblender_blit_hrgb.h,
6660         gblender_blit_vbgr.h, gblender_blit_vrgb.h: New files.
6662         * graph/Jamfile (graph_sources): Add gblender and gblender_bnit.
6663         * graph/rules.mk (GRAPH_H, GRAPH_OBJS): Updated.
6665         * src/ftcommon.i (the_gamma): New global variable.
6666         (Init_Display): Call grSetGlyphGamma.
6668         * src/ftgamma.c: New demo program.
6670         * src/ftview.c: Include math.h.
6671         (Render_GammaGrid): New function.
6672         (Help): Updated.
6673         (Process_Event): Assign increase and decrease of gamma value to
6674         keys `g' and `G'.
6675         Assign gamma grid rendering mode to key `K'.
6676         (main): Updated.
6678         * src/Jamfile (LINKLIBS): Add -lm.
6679         (GRAPHIC_PROGRAMS): Add ftgamma.c.
6680         Add LINKLIBS for all GRAPHIC_PROGRAMS.
6681         * vms_make.com: Updated.
6683 2004-05-19  George Williams  <gww@silcom.com>
6685         * src/ftmulti.c (main): Use default axis values.
6687 2004-05-09  Werner Lemberg  <wl@gnu.org>
6689         * src/ftdump.c (put_unicode_be16): Initialize `ch'.
6691 2004-04-29  Flavio Stanchina  <flavio@stanchina.net>
6693         Parse SFNT `name' table in ftdump if new option -n is given.
6695         * src/ftdump.c: Include FT_SFNT_NAMES_H and FT_TRUETYPE_IDS_H.
6696         (name_tables): New global variable.
6697         (usage): Show -d and -i info conditionally.
6698         Add -n info.
6699         (platform_id, name_id, put_ascii, put_unicode_be16,
6700         Print_Sfnt_Names): New functions.
6701         (main): Handle -n.
6703 2004-04-24  George Williams  <gww@silcom.com>
6705         Add GX var font support to ftmulti.
6706         Add command line option `-d' to ftmulti to select design
6707         coordinates.
6709         * src/ftmulti.c: New global variables `requested_pos' and
6710         `requested_cnt'.
6711         Make `multimaster' a pointer.
6712         (parse_design_coords): New function.
6713         (Help, usage): Updated.
6714         (Process_Event) <do_axis>: Don't use fixed 20 unit steps but a
6715         proportional granularity.
6716         Use FT_Set_Var_Design_Coordinates instead of
6717         FT_Set_MM_Design_Coordinates.
6718         (main): Handle new option `-d'.
6719         Use FT_Get_MM_Var and FT_Set_Var_Design_Coordinates instead of
6720         FT_Get_Multi_Master and FT_Set_MM_Design_Coordinates.
6722 2004-04-23  Werner Lemberg  <wl@gnu.org>
6724         * src/ftcommon.i (TFont): Add `cmap_index'.
6725         (my_face_requester): Set `font->cmap_index'.
6726         (get_glyph_index): Properly set third argument.
6728 2004-04-21  David Turner  <david@freetype.org>
6731         * Version 2.1.8 released.
6732         =========================
6735 2004-04-10  Werner Lemberg  <wl@gnu.org>
6737         * src/ftbench.c (cmap_cache_test, main): Use proper cast for
6738         `face_id'.
6740 2004-03-26  Ulrich  <ulrich@infopuls.com>
6742         * graph/x11/grx11.c (grX11DeviceRec): Add `visual' member.
6743         (gr_x11_device_init): Directly manipulate `x11dev'.
6744         Use XGetVisualInfo.
6745         (gr_x11_surface_init): Directly use `x11dev'.
6746         Fix other visual selection problems.
6748 2004-03-20  Steve Hartwell  <shspamsink@comcast.net>
6750         Updated to make it compile with newer MacOS versions.
6752         * graph/mac: Don't include Windows.h but MacWindows.h.
6753         Include SIOUX.h only if __MWERKS__ is defined.
6754         (refresh_rectangle): Updated.
6755         (listen_event): Remove `theEventMask'.
6756         Updated.
6757         Make code conditional to __MWERKS__ which is related to SIOUX.
6758         (init_surface): Handle gr_pixel_mode_rgb24.
6759         Updated.
6761 2004-02-20  Werner Lemberg  <wl@gnu.org>
6763         Add `light' render mode to ftview (using key `L').
6765         * src/ftcommon.i (set_current_image_type): Handle
6766         FT_LOAD_TARGET_LIGHT.
6767         (glyph_to_bitmap, get_glyph_bitmap): Updated.
6768         * src/ftview.c (Process_Event): Provide proper header for `light'
6769         render mode.
6770         (Help): Updated.
6772 2004-02-18  Werner Lemberg  <wl@gnu.org>
6774         * src/ftcommon.i: Include FT_CACHE_MANAGER_H and FT_STROKER_H.
6775         Don't include obsolete FT_CACHE_* macros.
6776         (glyph_to_bitmap): Remove declaration of `error'.
6778         * src/ftview.c: Don't include FT_CACHE_MANAGER_H.
6779         (Render_Stroke): Remove declaration of `error'.
6780         Fix other compiler warnings.
6781         (Render_Waterfall): Remove declaration of `face'.
6783 2004-01-29  David Turner  <david@freetype.org>
6785         * src/ftcommon.i (get_glyph_bitmap): Rewritten for new cache code.
6786         (glyph_to_bitmap): New function.
6788         * src/ftview.c (Render_Stroke): New function.
6789         (Render_Waterfall): Use FTC_Manager_LookupFace.
6790         (Process_Event) <' '>: Provide header text for stroked text.
6791         (main): Add Render_Stroke.
6793 2003-12-26  Werner Lemberg  <wl@gnu.org>
6795         * src/ftcommon.i (set_current_size): Don't allow values larger than
6796         0xFFFF.
6797         * src/ftview.c (main): Set `face'.
6798         (Render_Waterfall): Don't set `face'.
6799         use precomputed value instead.
6800         (main): Don't use `face->' but `size->face->'.
6801         Use `exit' in case of fatal error.
6802         Don't test `face' but `size' for printing error messages.
6803         Print proper error message for FT_Err_Invalid_PPem.
6805 2003-12-21  David Turner  <david@freetype.org>
6807         * graph/graph.h (grPixelMode): Add `gr_pixel_mode_lcd2' and
6808         `gr_pixel_mode_lcdv2' modes.
6809         (grBlitGlyphToBitmap): Remove `is_bgr' argument.
6810         Updated all callers.
6811         * graph/grblit.c (blit_mono_to_pal8): Speed up loop.
6812         (blit_lcd_to_24, blit_lcdv_to_24): Remove `is_bgr' argument.
6813         (blit_lcd2_to_24, blit_lcdv2_to_24): New functions.
6814         (compute_clips): Updated.
6815         (grBlitGlyphToBitmap): Remove `is_bgr' argument.
6816         Use new blitter functions for the two new modes.
6818         * graph/win32/Jamfile: s/TOOLSET/JAM_TOOLSET/.
6820         * src/gbench.c, src/gbench.h: New files.
6822         * src/Jamfile: Handle `gbench'.
6824         * src/ftbench.c, src/ftcommon.i, src/ftview.c: Updated to use new
6825         FreeType cache implementation and new blitter modes.
6827 2003-11-10  Werner Lemberg  <wl@gnu.org>
6829         Add display of bitmap fonts to ftstring.
6831         * src/ftstring.c (layout_glyphs): Call FT_Vector_Transform for
6832         scalable fonts only.
6833         (render_string): Handle bitmap fonts.
6835 2003-11-07  Werner Lemberg  <wl@gnu.org>
6838         * Version 2.1.7 released.
6839         =========================
6842 2003-11-06  David Turner  <david@freetype.org>
6845         * Version 2.1.6 released.
6846         =========================
6849 2003-11-01  Werner Lemberg  <wl@gnu.org>
6851         * src/testname.c: Include ft2build.h.
6853 2003-10-22  Werner Lemberg  <wl@gnu.org>
6855         * src/ftdump.c (usage): Fix typo.
6857 2003-10-17  Werner Lemberg  <wl@gnu.org>
6859         * src/ftmulti.c (main): Call `FT_Done_Face'.
6861         * src/ftstring.c (main): Clean up glyph and face objects, then
6862         finish FreeType library.
6864 2003-10-10  Werner Lemberg  <wl@gnu.org>
6866         * src/ftmulti.c (Help): Document all keys.
6867         (main): Call FT_Done_FreeType.
6869 2003-09-02  David Turner  <david@freetype.org>
6872         * Version 2.1.5 released.
6873         =========================
6876 2003-06-30  Werner Lemberg  <wl@gnu.org>
6878         * src/ftdump.c (Print_Fixed): Print all elements of
6879         face->available_sizes.
6881 2003-06-17  Werner Lemberg  <wl@gnu.org>
6883         * src/*.c: s/ft_glyph_format_*/FT_GLYPH_FORMAT_*/.
6884         s/ft_pixel_mode_*/FT_PIXEL_MODE_*/.
6885         s/ft_glyph_bbox_*/FT_GLYPH_BBOX_*/.
6887 2003-06-16  YAMANO-UCHI Hidetoshi  <mer@din.or.jp>
6889         * graph/x11/rules.mk (GRAPH_LINK): Add run-time search path on
6890         Unix systems.
6892 2003-06-16  Werner Lemberg  <wl@gnu.org>
6894         * src/ftcheckfixedwidth.c: Renamed to...
6895         * src/ftchkwd.c: This.
6896         * src/testnames.c: Renamed to...
6897         * src/testname.c: This.
6898         * src/Jamfile, Makefile: Updated.
6900 2003-06-15  Werner Lemberg  <wl@gnu.org>
6902         * *.mk: Updated and revised to latest changes in FreeType 2.
6904 2003-06-13  Werner Lemberg  <wl@gnu.org>
6906         * src/ftdump.c (Print_Type): Don't emit bbox, ascender, descender,
6907         and height for non-scalable fonts.
6909 2003-06-08  Werner Lemberg  <wl@gnu.org>
6911         * graph/x11/grx11.c (gr_x11_surface_init): Add proper cast in call
6912         to grAlloc.
6914         * src/ftbench.c (main): Add proper cast in call to malloc.
6915         Use FT_ENCODING_NONE, not 0.
6917 2003-06-01  Werner Lemberg  <wl@gnu.org>
6919         * src/ftview.c (Render_Waterfall): Handle fixed-sized fonts better.
6921 2003-05-27  Martin Zinser  <zinser@decus.de>
6923         * vms_make.com: Handle ftbench.
6925 2003-05-21  Werner Lemberg  <wl@gnu.org>
6927         * src/ftcommon.i (install_font_file): Initialize new elements of
6928         reallocated `fonts' array with zero bytes.
6930 2003-05-20  Martin Zinser  <zinser@decus.de>
6932         * descrip.mms: Removed.  Now created by...
6934         * vms_make.com: New file.
6936 2003-05-19  Werner Lemberg  <wl@gnu.org>
6938         * src/ftcommon.i (install_font_file): Use calloc to allocate
6939         `fonts'.
6940         (done_freetype): Deallocate `fonts'.
6942 2003-04-28  Werner Lemberg  <wl@gnu.org>
6944         * src/ftcheckfixedwidth.c: Remove unused global variables; make
6945         global variables local to `main' if possible.
6946         Fixed compiler warnings (s/index/idx/).
6948 2003-04-25  Davor Buvinic  <davor@vtr.net>
6950         * Makefile: Add rules to build ftcheckfixedwidth.
6952 2003-04-24  Anthony Fok  <anthony@thizlinux.com>
6954         * src/ftcommon.i: Replace `ft_encoding_*' with `FT_ENCODING_*'.
6955         (file_suffixes): Add `.otf'.
6956         (install_font_file): Set font->num_indices depending on encoding.
6957         * src/ftmulti.c, src/ftstring.c, src/fttimer.c, src/ftview.c:
6958         Replace `ft_encoding_*' with `FT_ENCODING_*'.
6959         * src/testnames.c: Replace `ft_render_mode_mono' with
6960         `FT_RENDER_MODE_MONO'.
6962 2003-04-09  David Turner  <david@freetype.org>
6964         * Jamfile: Set FT2_TOP.
6965         * src/ftbench.c (main): Use `long' for `max_bytes'.
6966         * src/ftcheckfixedwidth.c: New test program.
6967         * src/ftstring.c: (prepare_text): Remove unused variable `codepoint'.
6968         (apply_gamma): Fix initialization of `buffer'.
6969         * src/ftview.c (Render_Waterfall): Print more characters.
6971 2003-04-08  David Turner  <david@freetype.org>
6974         * Version 2.1.4 released.
6975         =========================
6978 2002-12-02  Antoine Leca  <Antoine-Freetype@Leca-Marti.org>
6980         * src/ftstring.c: Use `FT_ENCODING_*' everywhere instead of
6981         deprecated lowercase variants.
6982         (prepare_text): 'message' for the -m option is now expected to be
6983         encoded with UTF-8.  This allows testing of Unicode chars, including
6984         non-BMP characters.
6986 2002-12-01  Antoine Leca  <Antoine-Freetype@Leca-Marti.org>
6988         * graph/win32/rules.mk: Adding link rules for Borland C++.
6990 2002-11-18  David Turner  <david@freetype.org>
6993         * Version 2.1.3 released.
6994         =========================
6997 2002-11-10  David Turner  <david@freetype.org>
6999         * src/Jamfile (PROGRAMS): Add `ftcheckfixedwidth'.
7001 2002-09-25  David Turner  <david@freetype.org>
7003         * graph/win32/grwin32.c: Removing compiler warnings.
7005         * descrip.mms: Removing 'ftmemchk' and 'testnames' from the list
7006         of programs to compile, these are now obsolete.
7008 2002-09-25  Anthony Fok  <anthony@thizlinux.com>
7010         * src/ftbench.c: The program did perform out-of-bound memory writes
7011         with certain fonts containing a buggy charmap.
7013 2002-09-18  Werner Lemberg  <wl@gnu.org>
7015         Add LCD BGR support.
7017         * graph/grblit.c (blit_lcd_to_24, blit_lcdv_to_24): Add parameter
7018         `is_bgr' to assign color components in reversed order.
7019         (grBlitGlyphToBitmap): Add parameter `is_bgr' passed on to
7020         `blit_lcd_lcd*'.
7021         Updated all callers.
7022         Remove unused label.
7023         * graph/graph.h, graph/grfont.c: Updated.
7025         * src/ftcommon.i (set_current_image_type), src/ftview.c (Render_All,
7026         Render_Text, Render_Waterfall, Process_Event): Handle LCD modes
7027         3 and 4.
7028         * src/ftstring.c, src/ftmulti.c: Updated.
7030         * graph/x11/grx11.c (gr_x11_device_init, gr_x11_surface_init):
7031         Remove unused variables.
7032         (gr_x11_format_rgb555): Fix typos.
7034 2002-09-08  David Turner  <david@freetype.org>
7036         Add support for sub-pixel rendering.
7038         * graph/x11/grx11.c, graph/win32/grwin32.c: Completely rewritten to
7039         support 24-bits RGB surfaces.  This is needed to test sub-pixel
7040         rendering.
7042         Note that other drivers haven't been touched yet.  The X11 driver
7043         doesn't work with 8-bit displays for now, but a reduced mode will
7044         probably be introduced in the near future.
7046         * graph/graph.h (grPixelMode): Add `gr_pixel_mode_lcd' and
7047         `gr_pixel_mode_lcdv'.
7048         * graph/grblit.c (compute_clips): Use `gr_pixel_mode_lcd' and
7049         `gr_pixel_mode_lcdv'.
7050         (compose_pixel_full): New macro.
7051         (compose_pixel): Use it.
7052         (blit_lcd_to_24, blit_lcdv_to_24): New functions. for RGB-decimated
7053         modes (BGR not yet implemented).
7054         (gr_color_blitters): Updated.
7055         (grBlitGlyphToBitmap): Support new pixel modes.
7057         * src/Jamfile (PROGRAMS): Don't include fttimer, fttry, and
7058         testnames.
7060         * src/ftbench.c: Updated to latest changes in FreeType library.
7061         * src/ftcommon.i (Init_Display): New default mode is
7062         `gr_pixel_mode_rgb24'.
7063         (set_current_image_type, get_glyph_bitmap): Add support for LCD
7064         modes (horizontal and vertical).
7065         * src/ftview.c (Render_Waterfall): Call `set_current_size'.
7066         (Help): Document new `L' key for cycling through the pixel modes.
7067         (Process_Event): Handle `L' key.
7069 2002-08-04  Vincent Caron  <v.caron@zerodeux.net>
7071         * src/ftcommon.i (Text), src/ftmulti.c (Text): s/jumped/jumps/.
7072         * src/ftview.c (Render_Waterfall): Remove unused variable.
7074 2002-07-03  David Turner  <david@freetype.org>
7076         * src/ftview.c (Render_Waterfall): New function, adding a
7077         "waterfall" rendering mode (accessible by cycling modes with the
7078         space bar).
7079         (Process_Event, main): Use it.
7081 2002-07-01  David Turner  <david@freetype.org>
7083         * src/ftbench.c: Adding the "-p" option to pre-load font files in
7084         memory.  This is a very useful thing to quantify the performance
7085         improvements achieved by many of FreeType internal optimizations
7086         regarding stream i/o.
7088         * src/ftstring.c (reset_transform): Fix Werner's incorrect fix.
7090 2002-06-25  Werner Lemberg  <wl@gnu.org>
7092         * src/ftstring.c (reset_transform): Fix transformation matrix.
7094 2002-06-23  Vincent Caron  <v.caron@zerodeux.net>
7096         Adding support for gamma-corrected display to ftstring (assigned to
7097         `g', F9, and F10 keys).
7099         * src/ftstring.c (use_gamma, gamma_value, gamma_ramp): New global
7100         variables.
7101         (init_gamma, apply_gamma, draw_gamma_ramp): New functions.
7102         (render_string): Use apply_gamma.
7103         (Help): Updated.
7104         (Process_Event): Handle `g', F9, and F10 keys.
7105         (main): Call init_gamma and draw_gamma_ramp.
7107 2002-06-21  David Turner  <david@freetype.org>
7110         * Version 2.1.2 released.
7111         =========================
7114 2002-06-14  Werner Lemberg  <wl@gnu.org>
7116         * Makefile, graph/rules.mk: s/TOP/TOP_DIR/, s/TOP2/TOP_DIR_2/.
7118 2002-06-10  Werner Lemberg  <wl@gnu.org>
7120         * src/ftbench.c: s/index/idx/.
7121         Fixed more gcc compiler warnings.
7123 2002-06-10  David Turner  <david@freetype.org>
7125         * src/ftbench.c: Removing compiler warnings.
7127         * src/ttdebug.c: Updating to latest internal changes.
7129 2002-06-09  David Turner  <david@freetype.org>
7132         * Version 2.1.1 released.
7133         =========================
7136 2002-06-07  David Turner  <david@freetype.org>
7138         Adding Vincent Caron's benchmark program.
7140         * src/ftbench.c: New file.
7141         * Makefile, src/Jamfile: Updated.
7142         Other minor fixes.
7144         * src/ftview.c (Render_Text): Call get_glyph_index() conditionally.
7146 2002-05-20  Werner Lemberg  <wl@gnu.org>
7148         * src/ftcommon.i (get_glyph_bitmap): Use `sbit->num_grays'.
7149         Handle `sbit->buffer == 0' correctly.
7151 2002-05-17  Michael Pfeiffer  <michael.pfeiffer@utanet.at>
7153         * graph/beos/Jamfile: New file.
7155 2002-05-12  Werner Lemberg  <wl@gnu.org>
7157         * README: Updated.
7159 2002-05-12  Michael Pfeiffer  <michael.pfeiffer@utanet.at>
7161         * graph/Jamfile: Add support for BeOS.
7163 2002-04-28  Werner Lemberg  <wl@gnu.org>
7165         * src/ftview.c (Render_Text): Don't call `get_glyph_index'.  This
7166         is done in `get_glyph_bitmap'.
7168         * src/ftstring.c (encoding): New global variable, initialized to
7169         `ft_encoding_unicode'.
7170         (render_mode): Removed.
7171         (make_tag): New utility function (copied from ftcommon.i).
7172         (prepare_text): Call `FT_Select_Charmap'.
7173         (Process_Event): Don't handle ` '.
7174         (main): Add option -e to select encoding.
7175         (usage): Document it.
7177         * src/ftmulti.c (encoding): New global variable.
7178         (make_tag): New utility function (copied from ftcommon.i).
7179         (main): Add option -e to select encoding.
7180         (usage): Document it.
7182 2002-04-28  Martin Zinser  <zinser@decus.de>
7184         * descrip.mms: Add clean target.
7185         Handle compiler options better.
7187 2002-04-17  David Turner  <david@freetype.org>
7190         * Version 2.1.0 released.
7191         =========================
7194 2002-04-01  Werner Lemberg  <wl@gnu.org>
7196         * graph/x11/grx11.c: Use `c_class' instead of `class' if compiling
7197         with C++.
7198         * src/ftcommon.i (encoding): Use `FT_Encoding' type.  Update all
7199         using code.
7200         (done_glyph_bitmap): Use cast.
7201         * src/ftview.c: Updated to changes in `ftcommon.i'.
7202         (main): Use cast for `encoding'.
7204 2002-03-30  Werner Lemberg  <wl@gnu.org>
7206         * src/ftdump.c (Print_Type): Use `%ld' for some fields.
7207         * src/testnames.c (main): Exit if no parameter.
7209 2002-03-21  David Turner  <david@freetype.org>
7211         * graph/grblit.c, graph/win32/grwin32.c, src/common.c,
7212         src/ftcommon.i, src/ftdump.c: Getting rid of compiler warnings.
7214 2002-03-08  David Turner  <david@freetype.org>
7217         * Version 2.0.9 released.
7218         =========================
7221 2002-03-06  David Turner  <david@freetype.org>
7223         * src/ftdump.c: Added display of ascender/descender/text height.
7225         * Jamfile: Support the FT2_TOP environment variable to indicate
7226         where the FreeType 2 sources are located.  This is very useful for
7227         switching between the STABLE and HEAD branches of the library.
7229 2002-03-05  David Turner  <david@freetype.org>
7231         * src/ftdump.c: Added the display of a font's Postscript name,
7232         EM size and global Bbox.  Now supports the debugging mode of
7233         2.1.x.
7235         * src/ftview.c: Minor change to support debugging mode of 2.1.x.
7237 2002-02-14  Detlef Würkner  <tetisoft@apg.lahn.de>
7239         * src/fttimer.c (ConvertRaster): Handle embedded bitmaps properly.
7240         * src/ftstring.c (use_sbits): Default value is no 0.
7241         (layout_glyphs): Handle `use_sbits'.
7242         (Process_Event): Make friendlier error messages.
7244 2002-02-09  David Turner  <david@freetype.org>
7247         * Version 2.0.8 released.
7248         =========================
7251 2002-02-02  David Turner  <david@freetype.org>
7254         * Version 2.0.7 released.
7255         =========================
7258 2002-01-25  Martin Zinser  <zinser@decus.de>
7260         * src/common.h ([VMS]): Alias stuff specific to getopt.
7261         * graph/grinit.c ([DEVICE_X11]): Handle VMS.
7262         * descrip.mms: New file for compiling the demo programs with
7263         OpenVMS.
7265 2002-01-07  David Turner  <david@freetype.org>
7268         * Version 2.0.6 released.
7269         =========================
7272 2001-12-31  Werner Lemberg  <wl@gnu.org>
7274         * graph/x11/rules.mk: Fix typo (wilcard -> wildcard).
7276 2001-12-30  David Turner  <david@freetype.org>
7278         * README: Updated to version 2.0.6.
7280         * graph/x11/rules.mk: Updated X11 detection rules: "/usr/X11R6" and
7281         "/usr/local/X11R6" are now probed as a fallback.  This allows the
7282         test programs to work automatically on Debian Linux systems (which
7283         only use "/usr/bin/X11" in the path).
7285 2001-12-21  David Turner  <david@freetype.org>
7287         * src/ftcommon.i (get_glyph_bitmap): Added a missing error check.
7288         Make the function return an error code if necessary.
7289         * src/testnames.c (main): Fix typo.
7291 2001-12-15  Werner Lemberg  <wl@gnu.org>
7293         * Makefile: Add `testnames' program.
7294         * src/testnames.c (main): Remove unused variable.
7295         First command line parameter is now used as the font to be tested
7296         instead of a fixed string.
7298 2001-12-14  David Turner  <david@freetype.org>
7300         * src/ftstring.c (layout_glyphs): Fix centering bug.
7302 2001-12-12  David Turner  <david@freetype.org>
7304         * src/testnames.c: New test program.
7306 2001-12-08  David Turner  <david@freetype.org>
7308         Use new charmap cache.
7310         * src/ftcommon.i: Include FT_CACHE_CHARMAP_H.
7311         (cmap_cache): New global variable.
7312         (encoding): Change type to FT_UInt32.
7313         (init_freetype): Initialize charmap cache.
7314         (get_glyph_index): New function.
7315         (get_glyph_bitmap): Use it.
7316         Increase pixel dimensions to 48 for sbit cache.
7317         Add ftc_image_format_outline flag if not a bitmap glyph.
7318         * src/ftview.c: Use `get_glyph_index'.
7320 2001-12-06  David Turner  <david@freetype.org>
7322         An update to use the new cache manager code.
7324         * src/ftcommon.i: s/FTC_Image_Cache/FTC_ImageCache/.
7325         s/FTC_SBit_Cache/FTC_SBitCache/.
7326         s/FTC_Image_Desc/FTC_ImageDesc/.
7327         s/image_type/type/.
7328         (done_glyph_bitmap): New function.
7329         (get_glyph_bitmap): Add new argument.
7330         Use sbits cache only of pixel size <= 32.
7331         Other fixes.
7332         * src/ftview.c (Render_All, Render_Text): Updated to changes in
7333         ftcommon.i.
7335 2001-12-05  Werner Lemberg  <wl@gnu.org>
7337         * src/ftcommon.i, src/ftview.c: s/manager/cache_manager/ to avoid
7338         compiler warnings.
7340 2001-12-05  Taiji Yamada  <taiji@aihara.co.jp>
7342         * src/graph/x11/grx11.c (done_surface): Free and reset color map.
7343         (init_surface): Use private colormap if there are no more shared
7344         colormap entries.
7346 2001-10-27  David Turner  <david@freetype.org>
7348         * src/ftcommon.i (use_sbits_cache): Set to 1.
7350 2001-10-26  Leonard Rosenthol  <leonardr@lazerware.com>
7352         * mac/codewarrior/carbonprefix.h: New file to define building
7353         the demos Carbonized.
7354         * mac/codewarrior/ftview.prj: Updated for CW7 and to build a
7355         Carbonized version.
7356         * mac/getargv.c: Updated to build Carbonized.
7357         * mac/ftview_m.c: Updated to build Carbonized.
7359 2001-10-18  David Turner  <david@freetype.org>
7361         * Jamrules: Define X11_LINKLIBS.
7362         * README: Updated.
7363         * graph/os2/Jamfile: Define GROS2_PATH and GRAPH_LINKLIBS.
7364         * src/Jamfile (PROGRAMS): Add fttry.
7365         Fix order of libraries.
7366         * src/ftview.c (main): Update cache dump code.
7367         * src/ftlint.c (main) [TEST_PSNAMES]: Add some debugging code.
7368         * src/fttry.c (main) [DUMP_NAME]: Add some glyph name debugging code.
7370 2001-10-17  David Turner  <david@freetype.org>
7373         * Version 2.0.5 released.
7374         =========================
7377 2001-09-21  Eric Olson  <eric.olson@sympatico.ca>
7379         * graph/os2/gros2pm.c: Remove global variable `window_created'.
7380         (LOCK): Fix typo.
7381         (refresh_rectangle): Use LOCK() and UNLOCK().
7382         (init_surface): Don't use `window_created'.
7383         Use LOCK() and UNLOCK().
7384         (RunPMWindow): Use LOCK() and UNLOCK().
7385         Fix typo.
7386         Don't use `window_created'.
7387         (Message_Process): Allow F9, F10, and others keys to pass through
7388         the application.
7389         Use LOCK() and UNLOCK().
7391 2001-09-10  Werner Lemberg  <wl@gnu.org>
7393         * README: Slight update.
7395 2001-08-25  Werner Lemberg  <wl@gnu.org>
7397         Added CMap support to ftview: The new flag `-e' accepts an encoding
7398         tag as defined in freetype.h (e.g. `unic') to select a character
7399         map.  Only fonts with a valid character map are selected.
7401         * src/ftcommon.i: s/num_glyphs/num_indices/.
7402         (encoding): New global variable.
7403         (make_tag): New function.
7404         (install_font_file): If a cmap tag has been specified, load
7405         functions only which have a valid cmap.
7406         (my_face_requester): Select cmap also if `encoding' is non-zero.
7407         (get_glyph_bitmap): Map char index to glyph if `encoding' is
7408         non-zero.
7410         * src/ftview.c: s/first_glyph/first_index/.
7411         (Help): Adjust help text.
7412         (usage): Document -e switch.
7413         (main): Implement -e switch.
7414         Adjust `Header'.
7417         * Version 2.0.4 released.
7418         =========================
7421 2001-06-27  Werner Lemberg  <wl@gnu.org>
7423         * src/ftmemchk.c: s/memtest/ftmemchk/.
7425 2001-06-27  David Turner  <david@freetype.org>
7427         * src/ftcommon.i, src/ftmemchk.c: Changes due to the modification of
7428         the FT_CALLBACK_DEF macro definition.
7430 2001-06-24  David Turner  <david@freetype.org>
7432         Renamed the test program "memtest" to "ftmemchk".
7434         * src/memtest.c: Renamed to ...
7435         * src/ftmemchk.c: This file.
7436         * Makefile, src/Jamfile: Updated.
7439         * Version 2.0.3 released.
7440         =========================
7443 2001-05-28  David Turner  <david@freetype.org>
7445         * Jamfile, src/Jamfile, graph/os2/Jamfile, graph/win32/Jamfile,
7446         graph/x11/Jamfile: Updating Jamfiles to correctly link the graphics
7447         programs on all platforms with Jam.
7449         * src/ftstring.c: Removing debugging output.
7451 2001-04-25  David Turner  <david@freetype.org>
7453         * graph/beos/grbeos.cpp, graph/beos/grbeos.h, graph/beos/rules.mk,
7454         graph/grinit.c: added BeOS graphics driver to MiGS.
7456 2001-04-04  Werner Lemberg  <wl@gnu.org>
7458         * graph/allegro/gralleg.c, graph/mac/grmac.c, graph/os2/gros2pm.c,
7459         graph/x11/grx11.c: Don't include system-specific header but
7460         `grobjs.h'.
7461         * graph/x11/grx11.c: Some structural reorderings.
7462         Include `grdevice.h'.
7463         * graph/grinit.c: Use subdirectories for #include.
7464         * graph/rules.mk, graph/*/rules.mk (DEVICE_INCLUDE): Removed.
7466         * Jamrules, Jamfile, */Jamfile: Updated.  It now compiles with
7467         X11 also (no checking for X header and lib locations yet).
7469 2001-04-04  David Turner  <david@freetype.org>
7471         * Jamrules, Jamfile, graph/Jamfile, graph/x11/Jamfile,
7472         graph/win32/Jamfile, graph/os2/Jamfile, src/Jamfile: Added Jamfiles
7473         to build the FreeType 2 demos with Jam.  Be careful, they probably
7474         don't work on Unix and OS/2 yet.
7476 2000-03-24  David Turner  <david.turner@freetype.org>
7479         * Version 2.0.2 released.
7480         =========================
7483 2001-03-23  David Turner  <david@freetype.org>
7485         * Makefile, src/*.c: Changed to new header inclusion scheme.
7487 2001-03-13  Werner Lemberg  <wl@gnu.org>
7489         * graph/x11/grx11.c: Increase MAX_PIXEL_MODES to 100.
7491 2001-03-06  Werner Lemberg  <wl@gnu.org>
7493         * src/memtest.c (my_memory): Add cast to remove C++ compiler error.
7495 2001-02-22  David Turner  <david.turner@freetype.org>
7497         * src/memtest.c: Fixed the debug memory allocator.  The constant
7498         "my_memory" was replaced by a function that allocates a new "memory
7499         allocator through "my_alloc()" and returns it.
7501 2001-02-06  James H. Cloos Jr.  <cloos@jhcloos.com>
7503         * src/ftview.c (Render_Text): Fix rendering of test string.
7505 2001-01-31  Werner Lemberg  <wl@gnu.org>
7507         * src/ftstring.c (Help): Added `void' type.
7509 2000-12-09  Werner Lemberg  <wl@gnu.org>
7511         * Makefile: Added $(LDFLAGS) variable for `unix' link target.
7513 2000-12-01  David Turner  <david.turner@freetype.org>
7516         * Version 2.0.1 released.
7517         =========================
7520 2000-11-09  David Turner  <david@freetype.org>
7523         * Version 2.0 released.
7524         =======================
7527 Local Variables:
7528 version-control: never
7529 coding: utf-8
7530 End: