SHA256
1
0
forked from pool/freetype2
freetype2/fix-compile-in-non-debug.patch

187 lines
5.6 KiB
Diff
Raw Normal View History

From 23d47f17fdb963fb0722a4ad2d9eb8fd150aba5a Mon Sep 17 00:00:00 2001
From: Werner Lemberg <wl@gnu.org>
Date: Wed, 27 Nov 2013 09:23:44 +0000
Subject: [ftgrid] Fix compilation in non-debug mode.
* src/ftgrid.c: Guard autofit dump functions with FT_DEBUG_AUTOFIT
clause.
Update prototypes.
(grid_hint_draw_segment): Guard with FT_DEBUG_AUTOFIT clause.
(grid_status_draw_outline): Guard call to `grid_hint_draw_segment'
with FT_DEBUG_AUTOFIT clause.
(Process_Event) <'1'>, <'2'>, <'3'>: Don't mess around with trace
levels, which should always stay internal to the FreeType library.
Update calls to dump functions.
---
diff --git a/ChangeLog b/ChangeLog
index 2cd9331..676a7db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2013-11-27 Werner Lemberg <wl@gnu.org>
+
+ [ftgrid] Fix compilation in non-debug mode.
+
+ * src/ftgrid.c: Guard autofit dump functions with FT_DEBUG_AUTOFIT
+ clause.
+ Update prototypes.
+ (grid_hint_draw_segment): Guard with FT_DEBUG_AUTOFIT clause.
+ (grid_status_draw_outline): Guard call to `grid_hint_draw_segment'
+ with FT_DEBUG_AUTOFIT clause.
+ (Process_Event) <'1'>, <'2'>, <'3'>: Don't mess around with trace
+ levels, which should always stay internal to the FreeType library.
+ Update calls to dump functions.
+
2013-11-25 Werner Lemberg <wl@gnu.org>
* Version 2.5.1 released.
diff --git a/src/ftgrid.c b/src/ftgrid.c
index e5967e6..37e168f 100644
--- a/src/ftgrid.c
+++ b/src/ftgrid.c
@@ -47,6 +47,7 @@
#define N_CFF_HINTING_ENGINES 2
+#ifdef FT_DEBUG_AUTOFIT
/* these variables, structures and declarations are for */
/* communication with the debugger in the autofit module; */
/* normal programs don't need this */
@@ -62,11 +63,14 @@
extern "C" {
#endif
extern void
- af_glyph_hints_dump_segments( AF_GlyphHints hints );
+ af_glyph_hints_dump_segments( AF_GlyphHints hints,
+ FT_Bool to_stdout );
extern void
- af_glyph_hints_dump_points( AF_GlyphHints hints );
+ af_glyph_hints_dump_points( AF_GlyphHints hints,
+ FT_Bool to_stdout );
extern void
- af_glyph_hints_dump_edges( AF_GlyphHints hints );
+ af_glyph_hints_dump_edges( AF_GlyphHints hints,
+ FT_Bool to_stdout );
extern FT_Error
af_glyph_hints_get_num_segments( AF_GlyphHints hints,
FT_Int dimension,
@@ -80,6 +84,8 @@
}
#endif
+#endif /* FT_DEBUG_AUTOFIT */
+
typedef struct GridStatusRec_
{
int width;
@@ -263,6 +269,8 @@
}
+#ifdef FT_DEBUG_AUTOFIT
+
static void
grid_hint_draw_segment( GridStatus st,
AF_GlyphHints hints )
@@ -305,6 +313,8 @@
}
}
+#endif /* FT_DEBUG_AUTOFIT */
+
static void
ft_bitmap_draw( FT_Bitmap* bitmap,
@@ -491,6 +501,7 @@
FTDemo_Get_Size( handle, &size );
+#ifdef FT_DEBUG_AUTOFIT
/* Draw segment before drawing glyph. */
if ( status.do_segment )
{
@@ -508,6 +519,7 @@
_af_debug_disable_horz_hints = !st->do_horz_hints;
_af_debug_disable_vert_hints = !st->do_vert_hints;
+#endif
if ( FT_Load_Glyph( size->face, st->Num,
handle->load_flags | FT_LOAD_NO_BITMAP ) )
@@ -849,67 +861,28 @@
break;
#ifdef FT_DEBUG_AUTOFIT
- /* we use some internal FreeType functions and variables */
- /* to manipulate the trace level for the dumping functions */
-
case grKEY( '1' ):
if ( handle->hinted && handle->autohint )
{
- if ( FT_Trace_Get_Count() )
- {
- int old_trace_level = ft_trace_levels[trace_afhints];
-
-
- ft_trace_levels[trace_afhints] = 7;
- status.header = "dumping glyph edges to stdout";
- af_glyph_hints_dump_edges( _af_debug_hints );
- ft_trace_levels[trace_afhints] = old_trace_level;
- }
- else
- status.header = "need FreeType tracing support for dumping";
+ status.header = "dumping glyph edges to stdout";
+ af_glyph_hints_dump_edges( _af_debug_hints, 1 );
}
- else
- status.header = "need autofit mode for edge dumping";
break;
case grKEY( '2' ):
if ( handle->hinted && handle->autohint )
{
- if ( FT_Trace_Get_Count() )
- {
- int old_trace_level = ft_trace_levels[trace_afhints];
-
-
- ft_trace_levels[trace_afhints] = 7;
- status.header = "dumping glyph segments to stdout";
- af_glyph_hints_dump_segments( _af_debug_hints );
- ft_trace_levels[trace_afhints] = old_trace_level;
- }
- else
- status.header = "need FreeType tracing support for dumping";
+ status.header = "dumping glyph segments to stdout";
+ af_glyph_hints_dump_segments( _af_debug_hints, 1 );
}
- else
- status.header = "need autofit mode for segment dumping";
break;
case grKEY( '3' ):
if ( handle->hinted && handle->autohint )
{
- if ( FT_Trace_Get_Count() )
- {
- int old_trace_level = ft_trace_levels[trace_afhints];
-
-
- ft_trace_levels[trace_afhints] = 7;
- status.header = "dumping glyph points to stdout";
- af_glyph_hints_dump_points( _af_debug_hints );
- ft_trace_levels[trace_afhints] = old_trace_level;
- }
- else
- status.header = "need FreeType tracing support for dumping";
+ status.header = "dumping glyph points to stdout";
+ af_glyph_hints_dump_points( _af_debug_hints, 1 );
}
- else
- status.header = "need autofit mode for point dumping";
break;
#endif /* FT_DEBUG_AUTOFIT */
--
cgit v0.9.0.2