ref: b96af12eb646534ab4d112e25210bd88812ee420
parent: 68fb4789a582561606fafbe51e7a217598bb35ec
author: Werner Lemberg <[email protected]>
date: Fri Nov 20 11:03:09 EST 2015
Add `FT_LCD_FILTER_LEGACY1' enum value. This does the same as `FT_LCD_FILTER_LEGACY'. See https://bugs.freedesktop.org/show_bug.cgi?id=92981 for the reasoning. * include/freetype/ftlcdfil.h (FT_LcdFilter): New value `FT_LCD_FILTER_LEGACY1'. * src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Use it.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2015-11-20 Werner Lemberg <[email protected]>
+
+ Add `FT_LCD_FILTER_LEGACY1' enum value.
+
+ This does the same as `FT_LCD_FILTER_LEGACY'.
+
+ See
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=92981
+
+ for the reasoning.
+
+ * include/freetype/ftlcdfil.h (FT_LcdFilter): New value
+ `FT_LCD_FILTER_LEGACY1'.
+
+ * src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Use it.
+
2015-11-15 Werner Lemberg <[email protected]>
* src/autofit/afhints.c (af_get_segment_index): Fix it.
--- a/include/freetype/ftlcdfil.h
+++ b/include/freetype/ftlcdfil.h
@@ -126,8 +126,16 @@
* This filter is only provided for comparison purposes, and might be
* disabled or stay unsupported in the future.
*
+ * FT_LCD_FILTER_LEGACY1 ::
+ * For historical reasons, the FontConfig library returns a different
+ * enumeration value for legacy LCD filtering. To make code work that
+ * (incorrectly) forwards FontConfig's enumeration value to
+ * @FT_Library_SetLcdFilter without proper mapping, it is thus easiest
+ * to have another enumeration value, which is completely equal to
+ * `FT_LCD_FILTER_LEGACY'.
+ *
* @since:
- * 2.3.0
+ * 2.3.0 (`FT_LCD_FILTER_LEGACY1' since 2.6.2)
*/
typedef enum FT_LcdFilter_
{
@@ -134,6 +142,7 @@
FT_LCD_FILTER_NONE = 0,
FT_LCD_FILTER_DEFAULT = 1,
FT_LCD_FILTER_LIGHT = 2,
+ FT_LCD_FILTER_LEGACY1 = 3,
FT_LCD_FILTER_LEGACY = 16,
FT_LCD_FILTER_MAX /* do not remove */
--- a/src/base/ftlcdfil.c
+++ b/src/base/ftlcdfil.c
@@ -354,6 +354,7 @@
#ifdef USE_LEGACY
case FT_LCD_FILTER_LEGACY:
+ case FT_LCD_FILTER_LEGACY1:
library->lcd_filter_func = _ft_lcd_filter_legacy;
library->lcd_extra = 0;
break;