[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Devel] Some fixes and bug reports.
From: |
山内 英敏 |
Subject: |
[Devel] Some fixes and bug reports. |
Date: |
Tue, 28 Nov 2000 23:10:29 +0900 |
Hello,
Here are few fixes on freetype2
* fix FT_Get_Sfnt_Name_Count works correctly.
* fix to compile with #undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
And I found a bug on truetype driver.
When FT_LOAD_NO_SCALE is true in load_flags (e.g. when we using
autohiner), *ALL* embedded bitmaps are ignored. I found the reason in
Load_Glyph on freetype2/src/truetype/ttdriver.c:313,
-----
if ( load_flags & FT_LOAD_NO_SCALE )
size = NULL;
-----
in this case, we cannot find appropriate size of embedded bitmaps.
We should fix this bug but I do not know any good solutions yet.
And I am busy now.....
---- YAMANO-UCHI Hidetoshi
diff -ur ../freetype2/src/base/ftnames.c freetype2/src/base/ftnames.c
--- ../freetype2/src/base/ftnames.c Thu Nov 23 00:58:11 2000
+++ freetype2/src/base/ftnames.c Sun Nov 26 22:32:49 2000
@@ -30,7 +30,7 @@
FT_EXPORT_DEF( FT_UInt ) FT_Get_Sfnt_Name_Count( FT_Face face )
{
- return face && ( FT_IS_SFNT( face ) ? ((TT_Face)face)->num_names : 0 );
+ return (face && FT_IS_SFNT( face )) ? ((TT_Face)face)->num_names : 0;
}
diff -ur ../freetype2/src/truetype/ttobjs.c freetype2/src/truetype/ttobjs.c
--- ../freetype2/src/truetype/ttobjs.c Tue Nov 7 12:24:52 2000
+++ freetype2/src/truetype/ttobjs.c Sun Nov 26 22:08:34 2000
@@ -453,8 +453,7 @@
size->ttmetrics.valid = FALSE;
return error;
-#if defined( TT_CONFIG_OPTION_BYTECODE_INTERPRETER ) || \
- defined( TT_CONFIG_OPTION_EMBEDDED_BITMAPS )
+#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
Fail_Exec:
if ( !size->debug )
@@ -585,13 +584,13 @@
metrics->max_advance = ( FT_MulFix( face->root.max_advance_width,
metrics->x_scale ) + 32 ) & -64;
-#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
-
#ifdef TT_CONFIG_OPTION_EMBEDDED_BITMAPS
/* set to `invalid' by default */
size->strike_index = 0xFFFF;
#endif
+#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+
{
TT_ExecContext exec;
FT_UInt i, j;
@@ -795,16 +794,11 @@
if ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
{
- FT_Size_Metrics* sbit_metrics;
-
-
if ( size->strike_index == 0xFFFF )
error = Reset_SBit_Size( size );
- sbit_metrics = &size->strike_metrics;
-
if ( !error && !( face->face_flags & FT_FACE_FLAG_SCALABLE ) )
- size->root.metrics = *sbit_metrics;
+ size->root.metrics = size->strike_metrics;
}
#endif /* TT_CONFIG_OPTION_EMBEDDED_BITMAPS */
- [Devel] Some fixes and bug reports.,
山内 英敏 <=