1 2019-03-15 Werner Lemberg <wl@gnu.org>
3 * Version 2.10.0 released.
4 ==========================
7 Tag sources with `VER-2-10-0.
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
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
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
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
137 (FTDemo_String_Draw): Return the number of glyphs drawn.
138 * src/ftcommon.c (FTDemo_String_Draw): Implement glyph recycling until
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
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
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>
200 * src/ftstring.c (Process_Event), src/ftview.c (Process_Event): Add
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 ...
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'.
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
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>
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
380 * src/ftstring.c (usage, parse_cmdline, status): Ditto.
381 * src/ftview.c (usage, parse_cmdline, status): Ditto, rename variable
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
406 * graph/gblender.c (gblender_set_gamma_table): Reimplement using
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.
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>
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
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.
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
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
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.
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.
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):
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.
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
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
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
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.
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.
712 Initialize `last_index'.
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
739 2017-10-03 Werner Lemberg <wl@gnu.org>
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
775 2017-09-16 Werner Lemberg <wl@gnu.org>
777 * Version 2.8.1 released.
778 =========================
781 Tag sources with `VER-2-8-1.
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'.
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
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
875 Include FT_INTERNAL_GLYPH_LOADER_H.
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>
916 * src/ftgrid.c (grid_status_draw_outline): Move the stroker
917 initialization from 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
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):
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.
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++
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
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):
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>
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
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.
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):
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
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’
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
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'.
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.
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'.
1433 * src/ftinspect.pro: Updated.
1435 2016-12-27 Werner Lemberg <wl@gnu.org>
1439 * src/ftmulti.c (Process_Event, main): If MM, round design
1442 2016-12-25 Werner Lemberg <wl@gnu.org>
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
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.
1473 (cff_hinting_engine_change, tt_interpreter_version_change): New
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
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>
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'.
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'.
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
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
1627 * src/ftdump.c (Print_Bytecode, Print_Programs): Implement this.
1628 (usage): New option `-p' described.
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.
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
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):
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'.
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'.
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
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'.
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'.
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.
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
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'.
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
1848 * src/ftgrid.c (GridStatus): Make `lcd_filter' of type
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
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
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
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
1891 (MainGUI::closeFont): Updated.
1892 (MainGUI::watchCurrentFont): New method.
1893 (MainGUI::showFont): Handle file watching for both real files and
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,
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.
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):
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.
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.
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/,
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/.
1974 (MainGUI::checkCurrentFaceIndex):
1975 s/numberOfFaces/currentNumberOfFaces/.
1976 (MainGUI::checkCurrentInstanceIndex): Renamed to...
1977 (MainGUI::checkCurrentNamedInstanceIndex): ...this.
1978 s/numberOfNamedInstances/currentNumberOfNamedInstances/.
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
2000 * src/ftinspect.h (Engine): Remove `currentFontFileInfo',
2001 `currentFontFileDate', `maxRetries', and `currentRetry'.
2003 (MainGUI): Remove `timer'.
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.
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
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
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>
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>
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
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'.
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
2134 (MainGUI): Mew member `currentGlyphBitmapItem'.
2135 New members `grayColorTable' and `monoColorTable'.
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
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'.
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>
2167 * src/ftinspect.cpp, src/ftinspect.h: Rename `point indices' to
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
2183 (MainGUI): Mew member `currentGlyphPointNumbersItem'.
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'
2198 (MainGUI::createLayout): Updated.
2199 (MainGUI::createConnections): Handle `showOutlinesCheckBox'.
2201 (GlyphOutline::GlyphOutline): Improve computation of bounding
2203 (Engine::update): Updated.
2205 * src/ftinspect.h (Engine): Remove unused members which are handled
2207 (GlyphPoints): New class, derived from `QGraphicsItem'.
2208 (MainGUI): Mew member `currentGlyphPointsItem'.
2210 2016-05-09 Werner Lemberg <wl@gnu.org>
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
2235 * src/ftinspect.h (Engine): Updated.
2236 (Glyph): New class, derived from `QGraphicsItem'.
2237 (MainGUI): New member `currentGlyphOutlineItem'.
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
2265 (Grid::paint): Add axes.
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
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';
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
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.
2320 2016-05-07 Werner Lemberg <wl@gnu.org>
2322 [ftinspect] Really load fonts.
2324 * src/ftinspect.cpp (Engine::loadFont, Engine::removeFont): New
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.
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
2357 * src/ftinspect.cpp (FaceID::FaceID, FaceID::operator==, qHash):
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
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
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>
2428 * src/ftinspect.cpp (MainGUI::checkAutoHinting): Fix logic for
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
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'
2462 (MainGUI::MainGUI): Don't call `setDefaults'
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'
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
2497 * src/ftinspect.h (Engine): Updated.
2499 2016-05-05 Werner Lemberg <wl@gnu.org>
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.
2514 (MainGUI): Don't use `const' for `engine'.
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
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
2541 (FaceID): New structure, for communication with the face requester.
2542 (Engine): We need the `MainGUI' structure for initializing the face
2544 (MainGUI): Make `faceRequester' a friend.
2545 Replace string list `fontFileNames' with `fonts', which is a list of
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>
2562 * src/ftinspect.h, src/ftinspect.cpp:
2563 s/checkCurrentFontFileIndex/checkCurrentFontIndex/,
2564 s/currentFontFileIndex/currentFontIndex/.
2566 2016-05-04 Werner Lemberg <wl@gnu.org>
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.
2583 * src/ftinspect.h (Engine): Make it a friend of `MainGUI'.
2584 (MainGUI): New member `engine'.
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'.
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
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
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'.
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):
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
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
2671 (MainGUI): Use `QComboBoxx' for `antiAliasingComboBoxx' (was:
2672 `antiAliasingComboBox') and `hintingModeComboBoxx' (was:
2673 `hintingModeComboBox').
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
2690 (Engine::Engine, Engine::update): Some basic functions; to be
2691 extensively revised in later commits.
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>
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
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>
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):
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'.
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
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
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'.
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.
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>
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'.
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
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
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
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'.
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.
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'.
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
3351 * src/ftdiff.c (RenderStateRec): Remove `need_rescale', since we
3352 always rescale now after reloading the face.
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/.
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
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
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'.
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.
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.
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'
3487 (Render_All): Adjust vertical position depending on number of axes.
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
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
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.
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'.
3613 (main): Protect various command line arguments against invalid
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'.
3630 (main): Protect various command line arguments against invalid
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.
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'.
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'.
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'.
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
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.
3755 (benchmark): Return meaningful timer value for error-only calls.
3756 (test_embolden): Enable test. I think there is no longer a reason
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
3777 (GridStatusRec): New member `blue_color'.
3778 (grid_status_display): Change `on' color to red.
3780 (grid_hint_draw_segment): Show associated blue zones.
3781 (event_help): Updated.
3783 2014-01-03 Werner Lemberg <wl@gnu.org>
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'.
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
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'.
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>
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'.
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 ...
3949 <'f'>: Loop until current function is finished.
3952 2013-10-28 Werner Lemberg <wl@gnu.org>
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.
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.
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
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'.
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'.
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...
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
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
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.
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
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
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
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.
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.
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'.
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.
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
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
4335 * src/ftview.c (Process_Event) <'H'>, (write_header): Adjust
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
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/.
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
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
4439 (Process_Event): Handle `A'-`F'; former key `F' is now mapped to
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
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'.
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
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.
4548 (main): Handle `-v'.
4550 * src/ftdiff.c (usage): Updated.
4551 (render_state_init): Pass `library' argument.
4552 Move FreeType initialization to...
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'.
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.
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'.
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
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.
4713 * src/ftdiff.c (event_help), src/ftgrid.c (event_help),
4714 src/ftmulti.c (Help), src/ftstring.c (event_help): Increase line
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
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.
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
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.
4807 (parse_cmdline): Handle `-w' and `-h' options.
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.
4815 (main): Handle `-w' and `-h' options.
4817 * src/ftstring.c (status): Add `width' and `height' elements.
4819 (parse_cmdline): Handle `-w' and `-h' options.
4822 * src/ftview.c (status): Add `width' and `height' elements.
4824 (parse_cmdline): Handle `-w' and `-h' options.
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'.
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
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
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
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
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'.
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'
4948 (Render_Embolden): Updated.
4949 (Process_Event): Replacing handling of `e', `E' keys with `x', `X',
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).
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
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.
5006 Add argument for binary name.
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.
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'.
5086 2011-10-18 Werner Lemberg <wl@gnu.org>
5088 * Version 2.4.7 released.
5089 =========================
5092 Tag sources with `VER-2-4-7'.
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
5105 2011-07-29 Werner Lemberg <wl@gnu.org>
5107 * Version 2.4.6 released.
5108 =========================
5111 Tag sources with `VER-2-4-6'.
5115 2011-06-24 Werner Lemberg <wl@gnu.org>
5117 * Version 2.4.5 released.
5118 =========================
5121 Tag sources with `VER-2-4-5'.
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
5200 (event_help): Updated.
5203 2011-04-18 Werner Lemberg <wl@gnu.org>
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'.
5243 2010-10-03 Werner Lemberg <wl@gnu.org>
5245 * Version 2.4.3 released.
5246 =========================
5249 Tag sources with `VER-2-4-3'.
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.
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'.
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'.
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'.
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
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
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
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
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'.
5389 2009-10-10 Werner Lemberg <wl@gnu.org>
5391 * Version 2.3.11 released.
5392 ==========================
5395 Tag sources with `VER-2-3-11'.
5399 2009-10-06 Werner Lemberg <wl@gnu.org>
5401 * Version 2.3.10 released.
5402 ==========================
5405 Tag sources with `VER-2-3-10'.
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
5461 2009-03-12 Werner Lemberg <wl@gnu.org>
5463 * Version 2.3.9 released.
5464 =========================
5467 Tag sources with `VER-2-3-9'.
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.
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):
5503 2009-01-14 Werner Lemberg <wl@gnu.org>
5506 * Version 2.3.8 released.
5507 =========================
5510 Tag sources with `VER-2-3-8'.
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'
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.
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'.
5550 2008-06-10 Werner Lemberg <wl@gnu.org>
5553 * Version 2.3.6 released.
5554 =========================
5557 Tag sources with `VER-2-3-6'.
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
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'.
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.
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
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'.
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'.
5686 2007-04-03 Werner Lemberg <wl@gnu.org>
5688 * src/ftdiff.c (usage): Make message similar to other ftdemo
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
5704 (usage): Move up in file.
5706 (FontFaceRec): New structure.
5707 (RenderStateRec): Integrate it.
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.
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.
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
5754 2007-03-28 Werner Lemberg <wl@gnu.org>
5756 * src/ftdiff.c: Remove many compiler warnings.
5758 Improve and fix help texts.
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
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'.
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'.
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
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
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
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.
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
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
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
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):
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
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
5936 * graph/Jamfile (graph_sources), graph/rules.mk (GRAPH_OBJS): Add
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
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
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
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.
6008 Report messages and exit if the validator specified by command line
6009 is not implemented in libfreetype2 linked to ftvalid. Suggested by
6012 2006-06-09 Werner Lemberg <wl@gnu.org>
6014 * src/ftcommon.c (FTDemo_Install_Font): Fix index range for MS
6017 2006-06-07 Werner Lemberg <wl@gnu.org>
6019 * src/ftcommon.c (FTDemo_Display_Done, FTDemo_Done): Protect against
6022 * src/ftview.c (Fatal): New function to finalize FreeType library.
6023 This allows using FreeType's memory debugger in case of errors.
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
6036 2006-05-17 Werner Lemberg <wl@gnu.org>
6038 * src/ftcommon.c, src/ftview.c [_WIN32]: Define `strcasecmp' and
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
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
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
6079 Handle PFM files also.
6080 (FTDemo_Install_Font): Handle preloading (this is, load font into a
6082 (FTDemo_Set_Preload): New function.
6084 * src/ftview.c (status): Add `preload' field.
6085 (parse_cmdline): Handle `-p' command line option.
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
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
6113 Handle number of glyph indices better.
6114 (parse_cmdline): Handle `-m' and `-l'.
6117 (main): Handle `status.lcd_mode'.
6119 Print cache statistics only conditionally (for FreeType versions
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
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 `?='.
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
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
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.
6256 (Print_Charmaps): Only take a single argument. Update caller.
6257 Always show some charmap info.
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'.
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.
6315 2005-09-29 Werner Lemberg <wl@gnu.org>
6317 * src/ftcommon.c (FTDemo_Update_Current_Flags): Fix variable
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
6331 (gblender_use_channels): New function.
6332 (gblender_reset_key): Improve.
6333 (gblender_lookup, gblender_lookup_channel): Comment possible call to
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
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
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
6400 Update all affected targets.
6401 (LINK_NEW): Temporary new link command to handle executables which
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
6456 2005-02-28 David Turner <david@freetype.org>
6458 * src/ftbench.c (preload, memory_file, memory_size): New global
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'.
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.
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.
6504 2004-11-19 Werner Lemberg <wl@gnu.org>
6506 * src/ftview.c (Render_Waterfall): Handle size as points, not as
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
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.
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.
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).
6582 2004-06-11 Werner Lemberg <wl@gnu.org>
6584 * src/ftstring.c (layout_glyphs): Updated to latest FreeType library
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.
6598 (Process_Event): Handle key `f'.
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.
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.
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.
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.
6673 (Process_Event): Assign increase and decrease of gamma value to
6675 Assign gamma grid rendering mode to key `K'.
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.
6699 (platform_id, name_id, put_ascii, put_unicode_be16,
6700 Print_Sfnt_Names): New functions.
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
6709 * src/ftmulti.c: New global variables `requested_pos' and
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
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'.
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'.
6757 Make code conditional to __MWERKS__ which is related to SIOUX.
6758 (init_surface): Handle gr_pixel_mode_rgb24.
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'
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
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
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
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
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
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
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
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
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
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
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
7101 (init_gamma, apply_gamma, draw_gamma_ramp): New functions.
7102 (render_string): Use apply_gamma.
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.
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>
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
7198 * src/ftcommon.i (encoding): Use `FT_Encoding' type. Update all
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
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
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/.
7328 (done_glyph_bitmap): New function.
7329 (get_glyph_bitmap): Add new argument.
7330 Use sbits cache only of pixel size <= 32.
7332 * src/ftview.c (Render_All, Render_Text): Updated to changes in
7335 2001-12-05 Werner Lemberg <wl@gnu.org>
7337 * src/ftcommon.i, src/ftview.c: s/manager/cache_manager/ to avoid
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
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
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.
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'.
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().
7386 Don't use `window_created'.
7387 (Message_Process): Allow F9, F10, and others keys to pass through
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
7410 * src/ftview.c: s/first_glyph/first_index/.
7411 (Help): Adjust help text.
7412 (usage): Document -e switch.
7413 (main): Implement -e switch.
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
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 =======================
7528 version-control: never