diff options
author | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2013-11-01 16:04:19 +0000 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2013-11-01 16:04:19 +0000 |
commit | 5b18c5874f85aa819ddef822b95a66ca070421dc (patch) | |
tree | c75d7dc57e133b09dc56c1e6e58f74b2f86238ba /include/freetype/ftlcdfil.h | |
parent | 8afe960626dbf326354b836fd4d63e05b6974195 (diff) | |
parent | 899c67b6cfcd2010784fbf08c5415af16c526e0c (diff) | |
download | android_external_freetype-5b18c5874f85aa819ddef822b95a66ca070421dc.tar.gz android_external_freetype-5b18c5874f85aa819ddef822b95a66ca070421dc.tar.bz2 android_external_freetype-5b18c5874f85aa819ddef822b95a66ca070421dc.zip |
Merge tag 'android-4.4_r1' into cm-11.0cm-11.0-XNPH44S-bacon-5fa8c79c0bcm-11.0-XNPH33R-bacon-3628510d76cm-11.0-XNPH30O-bacon-4f280f505acm-11.0-XNPH25R-bacon-d22b777afacm-11.0-XNPH22R-bacon-03d77315eacm-11.0-XNPH05Q-tomato-9828f8e9cccm-11.0-XNPH05Q-bacon-5229c4ef56stable/cm-11.0-XNG2Sstable/cm-11.0-XNF9Xstable/cm-11.0-XNF8Ystable/cm-11.0shipping/cm-11.0
Android 4.4 Release 1.0
Diffstat (limited to 'include/freetype/ftlcdfil.h')
-rw-r--r-- | include/freetype/ftlcdfil.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/include/freetype/ftlcdfil.h b/include/freetype/ftlcdfil.h index 0b55ebe..8b253f1 100644 --- a/include/freetype/ftlcdfil.h +++ b/include/freetype/ftlcdfil.h @@ -53,6 +53,44 @@ FT_BEGIN_HEADER * *not* implemented in default builds of the library. You need to * #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in your `ftoption.h' file * in order to activate it. + * + * FreeType generates alpha coverage maps, which are linear by nature. + * For instance, the value 0x80 in bitmap representation means that + * (within numerical precision) 0x80/0xff fraction of that pixel is + * covered by the glyph's outline. The blending function for placing + * text over a background is + * + * { + * dst = alpha * src + (1 - alpha) * dst , + * } + * + * which is known as OVER. However, when calculating the output of the + * OVER operator, the source colors should first be transformed to a + * linear color space, then alpha blended in that space, and transformed + * back to the output color space. + * + * When linear light blending is used, the default FIR5 filtering + * weights (as given by FT_LCD_FILTER_DEFAULT) are no longer optimal, as + * they have been designed for black on white rendering while lacking + * gamma correction. To preserve color neutrality, weights for a FIR5 + * filter should be chosen according to two free parameters `a' and `c', + * and the FIR weights should be + * + * { + * [a - c, a + c, 2 * a, a + c, a - c] . + * } + * + * This formula generates equal weights for all the color primaries + * across the filter kernel, which makes it colorless. One suggested + * set of weights is + * + * { + * [0x10, 0x50, 0x60, 0x50, 0x10] , + * } + * + * where `a' has value 0x30 and `b' value 0x20. The weights in filter + * may have a sum larger than 0x100, which increases coloration slightly + * but also improves contrast. */ |