summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2016-07-08 06:58:46 +0200
committerWerner Lemberg <wl@gnu.org>2016-07-08 06:58:46 +0200
commit109d1662d414e880daf509d7e36be4c2bdf443d9 (patch)
tree372b874bd6f7d3cc7ba2df1b106aee97d5b3c1bc
parenta0f3a1f25a69a7c5268e87ee6e7a9238c26e6242 (diff)
downloadfreetype2-109d1662d414e880daf509d7e36be4c2bdf443d9.tar.gz
Revert "Formatting."
This reverts commit a0f3a1f25a69a7c5268e87ee6e7a9238c26e6242.
-rw-r--r--ChangeLog32
-rw-r--r--include/freetype/config/ftstdlib.h3
-rw-r--r--src/base/ftinit.c119
-rw-r--r--src/smooth/ftgrays.c2
4 files changed, 18 insertions, 138 deletions
diff --git a/ChangeLog b/ChangeLog
index 199ed91db..e5bbe83fc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,25 +2,25 @@
[smooth] Sub-banding protocol revision.
- Rasterization sub-banding is utilized at large sizes while using a
- rather small fixed memory pool. Indeed it is possible to make an
+ Rasterization sub-banding is utilized at large sizes while using
+ rather small fixed memory pool. Indeed it is possible to make an
educated guess how much memory is necessary at a given size for a
- given glyph. It turns out that, for a large majority of European
- glyphs, you should store about 8 times more boundary pixels than
- their height. Or, vice versa, if your memory pool can hold 800
- pixels the band height should be 100 and you should sub-band
- anything larger than that. Should you still run out of memory,
- FreeType bisects the band but you have wasted some time. This is
- what has been implemented in FreeType since the beginning.
-
- It was overlooked, however, that the top band could grow to twice
- the default band size leading to unnecessary memory overflows there.
- This commit fixes that. Now the bands are distributed more evenly
- and cannot exceed the default size.
+ given glyph. It turns out that, for large majority of European glyphs,
+ you should store about 8 times more boundary pixels than their height.
+ Or, vice versa, if your memory pool can hold 800 pixels the band
+ height should be 100 and you should sub-band anything larger than
+ that. Should you still run out of memory, FreeType bisects the band
+ but you have wasted some time. This is what has been implemented in
+ FreeType since the beginning.
+
+ It was overlooked, however, that the top band could grow to twice the
+ default band size leading to unnecessary memory overflows there. This
+ commit fixes that. Now the bands are distributed more evenly and
+ cannot exceed the default size.
Now the magic number 8 is really suitable for rather simple European
- scripts. For complex Chinese logograms the magic number should be
- 13 but that is subject for another day.
+ scripts. For complex Chinese logograms the magic number should be 13
+ but that is subject for another day.
* src/smooth/ftgrays.c (gray_convert_glyph): Revise sub-banding
protocol.
diff --git a/include/freetype/config/ftstdlib.h b/include/freetype/config/ftstdlib.h
index 58b95a75d..562e25581 100644
--- a/include/freetype/config/ftstdlib.h
+++ b/include/freetype/config/ftstdlib.h
@@ -142,8 +142,7 @@
/**********************************************************************/
-#define ft_atol atol
-#define ft_getenv getenv
+#define ft_atol atol
/**********************************************************************/
diff --git a/src/base/ftinit.c b/src/base/ftinit.c
index a0a09db35..c2dd0a7b3 100644
--- a/src/base/ftinit.c
+++ b/src/base/ftinit.c
@@ -226,123 +226,6 @@
}
-#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
-
-#define MAX_LENGTH 128
-
- /*
- * The `FREETYPE_PROPERTIES' environment variable has the following
- * syntax form (broken here into multiple lines for better readability)
- *
- * <whitespace>
- * <module-name1> ':'
- * <property-name1> '=' <property-value1>
- * <whitespace>
- * <module-name2> ':'
- * <property-name2> '=' <property-value2>
- * ...
- *
- * Example:
- *
- * FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
- * cff:no-stem-darkening=1 \
- * autofitter:warping=1
- *
- */
-
- static void
- ft_get_default_properties( FT_Library library )
- {
- const char* env;
- const char* p;
- const char* q;
-
- char module_name[MAX_LENGTH + 1];
- char property_name[MAX_LENGTH + 1];
- char property_value[MAX_LENGTH + 1];
-
- int i;
-
-
- env = getenv( "FREETYPE_PROPERTIES" );
- if ( !env )
- return;
-
- for ( p = env; *p; p++ )
- {
- module_name[0] = '\0';
- property_name[0] = '\0';
- property_value[0] = '\0';
-
- /* skip leading whitespace and separators */
- if ( *p == ' ' || *p == '\t' )
- continue;
-
- /* read module name, followed by `:' */
- q = p;
- for ( i = 0; i < MAX_LENGTH; i++ )
- {
- if ( !*p || *p == ':' )
- break;
- module_name[i] = *p++;
- }
- module_name[i] = '\0';
-
- if ( !*p )
- break;
- if ( *p != ':' || p == q )
- break;
-
- /* read property name, followed by `=' */
- q = p;
- for ( i = 0; i < MAX_LENGTH; i++ )
- {
- if ( !*p || *p == '=' )
- break;
- property_name[i] = *p++;
- }
- property_name[i] = '\0';
-
- if ( !*p )
- break;
- if ( *p != '=' || p == q )
- break;
-
- /* read property value, followed by whitespace (if any) */
- q = p;
- for ( i = 0; i < MAX_LENGTH; i++ )
- {
- if ( !*p || *p == ' ' || *p == '\t' )
- break;
- property_value[i] = *p++;
- }
- property_value[i] = '\0';
-
- if ( !( *p == '\0' || *p == ' ' || *p == '\t' ) || p == q )
- break;
-
- /* we have all data; resolve them into a call to FT_Property_Set */
- /* if possible */
-
- /* we completely ignore errors */
- FT_Property_Set( library,
- module_name,
- property_name,
- property_value );
- }
- }
-
-#else
-
- static void
- ft_get_default_properties( FT_Library library )
- {
- FT_UNUSED( library );
- }
-
-#endif
-
-
/* documentation is in freetype.h */
FT_EXPORT_DEF( FT_Error )
@@ -373,8 +256,6 @@
else
FT_Add_Default_Modules( *alibrary );
- ft_get_default_properties( *alibrary );
-
return error;
}
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index 0bf3ac6ff..12df14dc4 100644
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -1911,7 +1911,7 @@ typedef ptrdiff_t FT_PtrDist;
min = ras.min_ey;
max_y = ras.max_ey;
- for ( ; min < max_y; min = max )
+ for (; min < max_y; min = max )
{
max = min + band_size;
if ( max > max_y )