Go to file
Dave Arnold edf4014854 [cff] Implement CFF2 support (2/2).
The font variation code.  All parts dependent on the GX code in the
`truetype' module are guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT.
In other words, you can still compile the `cff' module without
defining TT_CONFIG_OPTION_GX_VAR_SUPPORT (which brings you CFF2
support without font variation).

* src/cff/cf2font.c (cf2_font_setup): Add support for font
variation.
* src/cff/cf2font.h (CF2_Font): Add fields for variation data.

* src/cff/cf2ft.c (cf2_free_instance): Free blend data.
(cf2_getVStore, cf2_getNormalizedVector): New functions.
* src/cff/cf2ft.h: Updated.

* src/cff/cf2intrp.c: Include `cffload.h'.
(cf2_cmdRESERVED_15, cf2_cmdRESERVED_16): Replace with...
(cf2_cmdVSINDEX, cf2_cmdBLEND): ... this new enum values.
(cf2_doBlend): New function.
(cf2_interpT2CharString): Handle `vsindex' and `blend' opcodes.

* src/cff/cffload.c (FT_fdot14ToFixed): New macro.
(cff_vstore_done, cff_vstore_load): New functions.
(cff_blend_clear, cff_blend_doBlend, cff_blend_build_vector,
cff_blend_check_vector): New functions.
(cff_load_private_dict): Add arguments for blend vector.
Handle blend data.
(cff_subfont_load, cff_subfont_done): Updated.
(cff_font_load): Handle CFF2 variation store data.
(cff_font_done): Updated.
* src/cff/cffload.h: Include `cffparse.h'.
Updated.

* src/cff/cffobjs.c (cff_face_done): Updated.

* src/cff/cffparse.c: Include `cffload.h'.
(cff_parse_num): Handle internal value 255.
(cff_parse_vsindex, cff_parse_blend): New functions.
(CFF_FIELD_BLEND): New macro.
(cff_parser_run): Updated.
* src/cff/cffparse.h (cff_kind_blend): New enum value.

* src/cff/cfftoken.h: Handle `vstore', `vsindex', and `blend'
dictionary values.

* src/cff/cfftypes.h (CFF_VarData, CFF_AxisCoords, CFF_VarRegion,
CFF_VStore, CFF_Blend): New structures.
(CFF_FontRecDict): Add `vstore_offset' field.
(CFF_Private): Add `vsindex' field.
(CFF_SubFont): Add fields for blend data.
(CFF_Font): Add `vstore' field.

* src/truetype/ttgxvar.c (TT_Get_MM_Var): `CFF2' is equal to `gvar',
since glyph variation data is directly embedded.
(TT_Set_MM_Blend): Don't load `gvar' table for CFF2 fonts.
2016-12-15 21:56:44 +01:00
builds Better support of LLP64 systems with gcc (and clang). 2016-11-17 12:00:20 +01:00
devel Synchronize `ftoption.h' comments. 2016-09-02 08:21:18 +02:00
docs Introduce a way of quickly retrieving (embedded) bitmap metrics. 2016-11-06 12:32:51 +01:00
include [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
objs Fix Windows build directories. 2014-02-08 11:34:33 +01:00
src [cff] Implement CFF2 support (2/2). 2016-12-15 21:56:44 +01:00
.gitignore [build] Better optimization settings for vc2010 solution file. 2014-10-14 11:35:16 +02:00
.mailmap Whitespace, `.mailmap' update. 2015-12-14 07:02:56 +01:00
CMakeLists.txt * Version 2.7 released. 2016-09-08 09:04:32 +02:00
ChangeLog [cff] Implement CFF2 support (2/2). 2016-12-15 21:56:44 +01:00
ChangeLog.20 Typos. 2016-06-20 23:09:39 -04:00
ChangeLog.21 Typos. 2016-06-21 23:12:54 -04:00
ChangeLog.22 Typos. 2016-06-21 23:12:54 -04:00
ChangeLog.23 Typos. 2016-06-20 23:09:39 -04:00
ChangeLog.24 Typos. 2016-06-20 23:09:39 -04:00
ChangeLog.25 Typos. 2016-06-20 01:09:18 -04:00
ChangeLog.26 Split off ChangeLog.26. 2016-09-08 08:42:10 +02:00
Jamfile * Version 2.7 released. 2016-09-08 09:04:32 +02:00
Jamrules Update copyright year. 2016-01-13 11:54:10 +01:00
Makefile Update copyright year. 2016-01-13 11:54:10 +01:00
README * Version 2.7 released. 2016-09-08 09:04:32 +02:00
README.git Update copyright year. 2016-01-13 11:54:10 +01:00
autogen.sh Update copyright year. 2016-01-13 11:54:10 +01:00
configure Update copyright year. 2016-01-13 11:54:10 +01:00
modules.cfg s/PIC/FT_CONFIG_OPTION_PIC/ to avoid confusion. 2016-08-28 18:51:50 +02:00
version.sed Put version information into the configure script. Reported by Paul 2006-05-08 07:10:29 +00:00
vms_make.com Typos. 2016-04-08 23:21:34 -04:00

README

  FreeType 2.7
  ============

  Homepage: http://www.freetype.org

  FreeType is a freely available software library to render fonts.

  It  is  written  in  C,  designed to  be  small,  efficient,  highly
  customizable, and  portable while capable of  producing high-quality
  output  (glyph  images) of  most  vector  and bitmap  font  formats.

  Please   read   the  docs/CHANGES   file,   it  contains   IMPORTANT
  INFORMATION.

  Read the  files `docs/INSTALL*'  for installation  instructions; see
  the file `docs/LICENSE.TXT' for the available licenses.

  The FreeType 2 API reference is located in `docs/reference'; use the
  file   `ft2-toc.html'   as   the   top  entry   point.    Additional
  documentation is available as a separate package from our sites.  Go
  to

    http://download.savannah.gnu.org/releases/freetype/

  and download one of the following files.

    freetype-doc-2.7.tar.bz2
    freetype-doc-2.7.tar.gz
    ftdoc27.zip

  To view the documentation online, go to

    http://www.freetype.org/freetype2/documentation.html


  Mailing Lists
  =============

  The preferred way  of communication with the FreeType  team is using
  e-mail lists.

    general use and discussion:      freetype@nongnu.org
    engine internals, porting, etc.: freetype-devel@nongnu.org
    announcements:                   freetype-announce@nongnu.org
    git repository tracker:          freetype-commit@nongnu.org

  The lists are moderated; see

    http://www.freetype.org/contact.html

  how to subscribe.


  Bugs
  ====

  Please submit bug reports at

    https://savannah.nongnu.org/bugs/?group=freetype

  Alternatively,    you   might    report    bugs    by   e-mail    to
  `freetype-devel@nongnu.org'.   Don't  forget   to  send  a  detailed
  explanation of the problem --  there is nothing worse than receiving
  a terse message that only says `it doesn't work'.


  Enjoy!


    The FreeType Team

----------------------------------------------------------------------

Copyright 2006-2016 by
David Turner, Robert Wilhelm, and Werner Lemberg.

This  file is  part of  the FreeType  project, and  may only  be used,
modified,  and distributed  under the  terms of  the  FreeType project
license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
this file you  indicate that you have read  the license and understand
and accept it fully.


--- end of README ---