freetype2/docs
Behdad Esfahbod 760d342d37 Add support for color embedded bitmaps (eg. color emoji).
A new load flag, FT_LOAD_COLOR, makes FreeType load color
embedded-bitmaps, following this draft specification

  https://color-emoji.googlecode.com/git/specification/v1.html

which defines two new SFNT tables, `CBDT' and `CBLC' (named and
modeled after `EBDT' and `EBLC', respectively).  The color bitmaps
are stored in the new FT_PIXEL_MODE_BGRA format to represent BGRA
pre-multiplied sRGB images.  If PNG support is available, PNG color
images as defined in the same proposed specification are supported
also.

Note that color bitmaps are converted to grayscale if client didn't
ask for color.

* builds/unix/configure.raw: Search for libpng.
Add `--without-png' option.

* devel/ftoption.h, include/freetype/config/ftoption.h
(FT_CONFIG_OPTION_USE_PNG): New macro.

* include/freetype/freetype.h (FT_LOAD_COLOR): New load flag.

* include/freetype/ftimage.h (FT_Pixel_Mode): Add
`FT_PIXEL_MODE_BGRA'.

* include/freetype/tttags.h (TTAG_CBDT, TTAG_CBLC): New tags.

* src/base/ftbitmap.c (FT_Bitmap_Embolden): Updated.
(ft_gray_for_premultiplied_srgb_bgra): New function.
(FT_Bitmap_Convert): Handle FT_PIXEL_MODE_BGRA.

* src/sfnt/pngshim.c, src/sfnt/pngshim.h: New files.

* src/sfnt/sfnt.c: Include `pngshim.c'.

* src/sfnt/ttsbit.c: Include FT_BITMAP_H and `pngshim.h'
(tt_face_load_eblc): Load `CBLC'.
(tt_sbit_decoder_init): Load `CBDT'.
(tt_sbit_decoder_alloc_bitmap): Pass load flags to select between
color and grayscale bitmaps.
Set `num_grays'.  This is used by `ftview' to choose the blending
algorithm.
(tt_sbit_decoder_load_byte_aligned,
tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound,
tt_sbit_decoder_load_image): Pass load flag.
s/write/pwrite/.
Don't call `tt_sbit_decoder_alloc_bitmap'.
Updated.
(tt_sbit_decoder_load_png) [FT_CONFIG_OPTION_USE_PNG]: New function.
(tt_sbit_decoder_load_bitmap): Pass load flag.
Handle new glyph formats 17, 18, and 19.
Call `tt_sbit_decoder_alloc_bitmap'.
Flatten color bitmaps if necessary.
(tt_face_load_sbit_image): Updated.

* src/sfnt/rules.mk (SFNT_DRV_SRC): Add `pngshim.c'.

* docs/CHANGES: Updated.
2013-05-29 11:36:18 +02:00
..
reference We no longer use CVS. 2010-01-23 16:19:33 +01:00
CHANGES Add support for color embedded bitmaps (eg. color emoji). 2013-05-29 11:36:18 +02:00
CUSTOMIZE [doc] Minor improvements. 2012-11-30 15:29:33 +01:00
DEBUG Add a script to check the undefined and unused trace macros. 2009-07-13 00:01:57 +09:00
FTL.TXT Remove trailing whitespace. From Alexei. 2007-01-16 06:11:27 +00:00
GPLv2.TXT Update license documentation. 2011-06-18 08:06:57 +02:00
INSTALL Fix Savannah bug #34022. 2011-08-16 16:04:33 +02:00
INSTALL.ANY Improve bzip2 support. 2010-12-31 17:47:09 +01:00
INSTALL.CROSS [doc] Minor improvements. 2012-11-30 15:29:33 +01:00
INSTALL.GNU Since FreeType uses `$(value ...)', we now need GNU make 3.80 or 2008-07-05 06:35:28 +00:00
INSTALL.MAC * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" 2008-02-14 02:55:16 +00:00
INSTALL.UNIX Fix Savannah patch #7971. 2013-03-21 09:00:27 +01:00
INSTALL.VMS Whitespace and spelling fixes from Alexei. 2007-01-17 12:45:26 +00:00
LICENSE.TXT Add output bitmap checksums. 2013-04-12 20:11:38 +02:00
MAKEPP formatting, minor doc fixes, copyright years 2007-01-05 09:03:31 +00:00
PROBLEMS * docs/PROBLEMS: Mention rendering differences on different 2011-02-24 20:01:00 +01:00
TODO formatting, minor doc fixes, copyright years 2007-01-05 09:03:31 +00:00
VERSION.DLL * Version 2.4.12 released. 2013-05-08 11:39:16 +02:00
formats.txt Remove trailing whitespace. 2013-01-24 13:33:06 +01:00
raster.txt A new set of spelling fixes from Alexei. 2007-02-01 07:58:02 +00:00
release * Version 2.4.11 released. 2012-12-20 08:31:56 +01:00