[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft-devel] About errors in gf driver.
From: |
Werner LEMBERG |
Subject: |
Re: [ft-devel] About errors in gf driver. |
Date: |
Mon, 02 Jul 2018 08:30:18 +0200 (CEST) |
[commit 11969d558505c338f29b83bbac4d572fb85b3f2b]
Sorry for the delay in answering your questions; I was abroad without
the ability to update the git repository.
> I have found that `ftview' is not allocating
> `handle->current_font->num_indices' correctly for the gf driver,
> [...]
As a rule of thumb: The error is most certainly not in `ftview' but in
your code. It is *very* unlikely that `ftview' works for all formats
but GF...
Attached you can find small fixes to make output of the first `make'
call prettier, and to allow `make devel; make' actually work. I've
also attached the log output of `make devel'; as you can see there are
zillions of warnings that you still have to take care of – if I
remember correctly, I advised you to use `make devel; make' for
development, and it is not clear to me why you didn't follow this
advice... At least you should have analyzed what it does and transfer
the used compiler flags to your build environment.
After fixing those buglets I compiled the demo programs, and the call
ftview 20 cmr10.2602gf
crashed immediately. Running with valgrind gives
Conditional jump or move depends on uninitialised value(s)
at 0x47D79D: gf_free_font (gflib.c:466)
by 0x47D962: GF_Face_Done (gfdrivr.c:145)
by 0x414CA0: open_face (ftobjs.c:1404)
by 0x416971: ft_open_face_internal (ftobjs.c:2447)
by 0x414D53: FT_New_Face (ftobjs.c:1438)
by 0x40AB1B: FTDemo_Install_Font (ftcommon.c:396)
by 0x408B7C: main (ftview.c:1887)
Use of uninitialised value of size 8
at 0x47D7A3: gf_free_font (gflib.c:468)
by 0x47D962: GF_Face_Done (gfdrivr.c:145)
by 0x414CA0: open_face (ftobjs.c:1404)
by 0x416971: ft_open_face_internal (ftobjs.c:2447)
by 0x414D53: FT_New_Face (ftobjs.c:1438)
by 0x40AB1B: FTDemo_Install_Font (ftcommon.c:396)
by 0x408B7C: main (ftview.c:1887)
Invalid read of size 8
at 0x47D7A3: gf_free_font (gflib.c:468)
by 0x47D962: GF_Face_Done (gfdrivr.c:145)
by 0x414CA0: open_face (ftobjs.c:1404)
by 0x416971: ft_open_face_internal (ftobjs.c:2447)
by 0x414D53: FT_New_Face (ftobjs.c:1438)
by 0x40AB1B: FTDemo_Install_Font (ftcommon.c:396)
by 0x408B7C: main (ftview.c:1887)
Address 0x200000008 is not stack'd, malloc'd or (recently) free'd
So you have to find out why this happens. Note that the problem
happens with *any* file not recognized by other drivers as a font.
For example, you can say
ftview 20 make.log
to trigger the bug...
If I remember correctly I also advised you to add calls to the various
`FT_TRACEX' macros, which both helps you and the user in debugging
issues. Now is the time to do that!
BTW, what simple program are you using to check whether the GF module
works? For example, have you adapted
https://www.freetype.org/freetype2/docs/tutorial/example1.c
to your needs? Please post it.
You should work hard to resolve those issues. Second evaluation is
coming soon...
Werner
diff --git a/include/freetype/internal/fttrace.h
b/include/freetype/internal/fttrace.h
index 78b731cab..f59a06ed8 100644
--- a/include/freetype/internal/fttrace.h
+++ b/include/freetype/internal/fttrace.h
@@ -116,6 +116,9 @@ FT_TRACE_DEF( pcfread )
FT_TRACE_DEF( bdfdriver )
FT_TRACE_DEF( bdflib )
+ /* GF font components */
+FT_TRACE_DEF( gfdriver )
+
/* PFR font component */
FT_TRACE_DEF( pfr )
diff --git a/src/gf/module.mk b/src/gf/module.mk
index b64a9370d..1eb534671 100644
--- a/src/gf/module.mk
+++ b/src/gf/module.mk
@@ -16,7 +16,7 @@ FTMODULE_H_COMMANDS += GF_DRIVER
define GF_DRIVER
$(OPEN_DRIVER) FT_Driver_ClassRec, gf_driver_class $(CLOSE_DRIVER)
-$(ECHO_DRIVER)gf $(ECHO_DRIVER_DESC)gf TeX's bitmap
fonts$(ECHO_DRIVER_DONE)
+$(ECHO_DRIVER)gf $(ECHO_DRIVER_DESC)METAFONT bitmap
fonts$(ECHO_DRIVER_DONE)
endef
# EOF
gcc -ansi -pedantic -I/home/wl/git/freetype/freetype2.parth/src/gf
-I/home/wl/git/freetype/freetype2.parth/objs
-I/home/wl/git/freetype/freetype2.parth/devel
-I/home/wl/git/freetype/freetype2.parth/include -I/usr/local/include/harfbuzz
-I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-c -g -O0 -Wall -W -Wundef -Wshadow -Wpointer-arith -Wwrite-strings
-Wredundant-decls -Wno-long-long -Wnested-externs -Wstrict-prototypes
-DFT2_BUILD_LIBRARY -DFT_CONFIG_MODULES_H="<ftmodule.h>" -o
/home/wl/git/freetype/freetype2.parth/objs/gf.o
/home/wl/git/freetype/freetype2.parth/src/gf/gf.c
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22:0,
from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function
‘gf_read_uintn’:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
warning: value computed is not used [-Wunused-value]
error != FT_Err_Ok )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:306:35:
note: in expansion of macro ‘FT_READ_MACRO’
#define FT_READ_BYTE( var ) FT_READ_MACRO( FT_Stream_ReadChar, FT_Byte,
var )
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:72:7: note: in expansion
of macro ‘FT_READ_BYTE’
FT_READ_BYTE(tp);
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function
‘gf_read_intn’:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
warning: value computed is not used [-Wunused-value]
error != FT_Err_Ok )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:306:35:
note: in expansion of macro ‘FT_READ_MACRO’
#define FT_READ_BYTE( var ) FT_READ_MACRO( FT_Stream_ReadChar, FT_Byte,
var )
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:87:5: note: in expansion
of macro ‘FT_READ_BYTE’
FT_READ_BYTE(tp);
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
warning: value computed is not used [-Wunused-value]
error != FT_Err_Ok )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:306:35:
note: in expansion of macro ‘FT_READ_MACRO’
#define FT_READ_BYTE( var ) FT_READ_MACRO( FT_Stream_ReadChar, FT_Byte,
var )
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:95:7: note: in expansion
of macro ‘FT_READ_BYTE’
FT_READ_BYTE(tp);
^
In file included from
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftobjs.h:33:0,
from
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:25,
from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22,
from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function
‘gf_read_glyph’:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:494:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Skip( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:124:7: note: in expansion
of macro ‘FT_STREAM_SKIP’
FT_STREAM_SKIP( 4 );
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:494:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Skip( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:125:7: note: in expansion
of macro ‘FT_STREAM_SKIP’
FT_STREAM_SKIP( 4 );
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:494:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Skip( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:133:7: note: in expansion
of macro ‘FT_STREAM_SKIP’
FT_STREAM_SKIP( 1 );
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:494:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Skip( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:239:11: note: in expansion
of macro ‘FT_STREAM_SKIP’
FT_STREAM_SKIP( k );
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:494:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Skip( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:242:11: note: in expansion
of macro ‘FT_STREAM_SKIP’
FT_STREAM_SKIP( 4 );
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function
‘gf_load_font’:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Seek( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:283:5: note: in expansion
of macro ‘FT_STREAM_SEEK’
FT_STREAM_SEEK( stream->size - 1 );
^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:285:5: warning: suggest
parentheses around assignment used as truth value [-Wparentheses]
while ( d= READ_UINT1( stream ) == 223)
^
In file included from
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftobjs.h:33:0,
from
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:25,
from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22,
from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Seek( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:286:7: note: in expansion
of macro ‘FT_STREAM_SEEK’
FT_STREAM_SEEK( stream->pos -2 );
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Seek( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:289:5: note: in expansion
of macro ‘FT_STREAM_SEEK’
FT_STREAM_SEEK( stream->pos -1 );
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Seek( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:299:5: note: in expansion
of macro ‘FT_STREAM_SEEK’
FT_STREAM_SEEK( stream->pos -6 );
^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22:0,
from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
warning: value computed is not used [-Wunused-value]
error != FT_Err_Ok )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
note: in expansion of macro ‘FT_READ_MACRO’
#define FT_READ_ULONG( var ) FT_READ_MACRO( FT_Stream_ReadULong,
FT_ULong, var )
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:309:5: note: in expansion
of macro ‘FT_READ_ULONG’
FT_READ_ULONG( ptr_post );
^
In file included from
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftobjs.h:33:0,
from
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:25,
from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22,
from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Seek( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:318:5: note: in expansion
of macro ‘FT_STREAM_SEEK’
FT_STREAM_SEEK( ptr_post );
^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22:0,
from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
warning: value computed is not used [-Wunused-value]
error != FT_Err_Ok )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
note: in expansion of macro ‘FT_READ_MACRO’
#define FT_READ_ULONG( var ) FT_READ_MACRO( FT_Stream_ReadULong,
FT_ULong, var )
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:325:5: note: in expansion
of macro ‘FT_READ_ULONG’
FT_READ_ULONG( ptr_p ) ;
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
warning: value computed is not used [-Wunused-value]
error != FT_Err_Ok )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
note: in expansion of macro ‘FT_READ_MACRO’
#define FT_READ_ULONG( var ) FT_READ_MACRO( FT_Stream_ReadULong,
FT_ULong, var )
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:326:5: note: in expansion
of macro ‘FT_READ_ULONG’
FT_READ_ULONG( ds ) ;
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
warning: value computed is not used [-Wunused-value]
error != FT_Err_Ok )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
note: in expansion of macro ‘FT_READ_MACRO’
#define FT_READ_ULONG( var ) FT_READ_MACRO( FT_Stream_ReadULong,
FT_ULong, var )
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:327:5: note: in expansion
of macro ‘FT_READ_ULONG’
FT_READ_ULONG( check_sum );
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
warning: value computed is not used [-Wunused-value]
error != FT_Err_Ok )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
note: in expansion of macro ‘FT_READ_MACRO’
#define FT_READ_ULONG( var ) FT_READ_MACRO( FT_Stream_ReadULong,
FT_ULong, var )
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:328:5: note: in expansion
of macro ‘FT_READ_ULONG’
FT_READ_ULONG( hppp ) ;
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:304:19:
warning: value computed is not used [-Wunused-value]
error != FT_Err_Ok )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:313:35:
note: in expansion of macro ‘FT_READ_MACRO’
#define FT_READ_ULONG( var ) FT_READ_MACRO( FT_Stream_ReadULong,
FT_ULong, var )
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:329:5: note: in expansion
of macro ‘FT_READ_ULONG’
FT_READ_ULONG( vppp ) ;
^
In file included from
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftobjs.h:33:0,
from
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:25,
from /home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:22,
from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Seek( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:430:7: note: in expansion
of macro ‘FT_STREAM_SEEK’
FT_STREAM_SEEK( ptr );
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftmemory.h:43:38:
warning: value computed is not used [-Wunused-value]
( ( error = (expression) ) != 0 )
^
/home/wl/git/freetype/freetype2.parth/include/freetype/internal/ftstream.h:490:11:
note: in expansion of macro ‘FT_SET_ERROR’
FT_SET_ERROR( FT_Stream_Seek( stream, \
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:439:7: note: in expansion
of macro ‘FT_STREAM_SEEK’
FT_STREAM_SEEK( optr );
^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:276:13: warning: unused
variable ‘tp’ [-Wunused-variable]
FT_Byte tp;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:275:21: warning: unused
variable ‘offset’ [-Wunused-variable]
FT_ULong offset;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:273:41: warning: unused
variable ‘error1’ [-Wunused-variable]
FT_Error error = FT_Err_Ok, error1;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:271:49: warning: unused
variable ‘gptr’ [-Wunused-variable]
long ptr_post, ptr_p, ptr, optr, gptr;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:271:31: warning: variable
‘ptr_p’ set but not used [-Wunused-but-set-variable]
long ptr_post, ptr_p, ptr, optr, gptr;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:268:21: warning: variable
‘w’ set but not used [-Wunused-but-set-variable]
INT4 w;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:266:25: warning: variable
‘check_sum’ set but not used [-Wunused-but-set-variable]
UINT4 ds, check_sum, hppp, vppp;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function
‘gf_free_font’:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:465:5: warning: ISO C90
forbids mixed declarations and code [-Wpedantic]
int i=0, nchars =gfface->num_glyphs;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:460:43: warning: unused
parameter ‘memory’ [-Wunused-parameter]
gf_free_font( FT_Face gfface, FT_Memory memory )
^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:24:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c: In function
‘GF_Face_Done’:
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:145:5: warning: passing
argument 1 of ‘gf_free_font’ from incompatible pointer type [enabled by default]
gf_free_font( face->gf_glyph, memory );
^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:460:3: note: expected
‘FT_Face’ but argument is of type ‘GF_Glyph’
gf_free_font( FT_Face gfface, FT_Memory memory )
^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:24:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c: In function
‘GF_Face_Init’:
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:163:20: warning:
assignment from incompatible pointer type [enabled by default]
face->gf_glyph = &go ;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:200:33: warning: unused
variable ‘y_res’ [-Wunused-variable]
FT_UShort x_res, y_res;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:200:26: warning: unused
variable ‘x_res’ [-Wunused-variable]
FT_UShort x_res, y_res;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:223:29: warning:
assignment from incompatible pointer type [enabled by default]
charmap.face = face;
^
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:153:33: warning: unused
parameter ‘face_index’ [-Wunused-parameter]
FT_Int face_index,
^
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c: In function
‘GF_Glyph_Load’:
/home/wl/git/freetype/freetype2.parth/src/gf/gfdrivr.c:327:5: warning:
comparison of unsigned expression < 0 is always false [-Wtype-limits]
if ( glyph_index < 0 )
^
In file included from /home/wl/git/freetype/freetype2.parth/src/gf/gf.c:23:0:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c: In function
‘gf_load_font’:
/home/wl/git/freetype/freetype2.parth/src/gf/gflib.c:456:3: warning: control
reaches end of non-void function [-Wreturn-type]
}
^