Find a file
Dave Arnold 776a712be8 [cff] Add CFF2 blend support to cff parser.
* src/cff/cf2font.c (cf2_font_setup): before rendering a glyph, check
blend vector and reparse private DICT if it has changed.

* src/cff/cf2intrp.c (cf2_interpT2CharString): check blend vector and
build blend vector if needed at cf2_doBlend.

* src/cff/cffload.c (cff_vstore_load): fix bug parsing vstore with > 1
data item.
(cff_load_private_dict): factor out private dict parsing so we can
reparse when vector changes.

Add functions for handling CFF_Blend object.
(cff_blend_clear): clear blend stack
(cff_blend_check_vector): test if inputs have changed and blend vector
needs rebuilding.
(cff_blend_build_vector): construct blend vector from design vector
using algorithm in OpenType Font Variations Overview.
(cff_blend_doBlend): compute blended array, same as in cf2_intrp.c but
with parser blend_stack instead of charstring operand stack.

* src/cff/cffparse.c Add blend_stack alongside parser stack, so we have
a place to write blend results.
(cff_parse_num): add internal number type, opcode 255, for use with
blend_stack. Change limit check on several number parsing functions,
since stack is no longer contiguous.
(cff_parse_blend): check blend vector and re-build it if needed.
(cff_parser_run): ignore opcode 255 if it occurs in a font.

* src/cff/cfftypes.h (CFF_Blend): add object data for cff_blend_*
functions.
(CFF_SubFont): add CFF_Blend and blend_stack.
2016-11-02 15:30:36 -07:00
builds * Version 2.6.5 released. 2016-07-12 06:18:49 +02:00
devel Implement handling of `FREETYPE_PROPERTIES' environment variable. 2016-07-11 00:12:11 +02:00
docs * include/freetype/freetype.h (FT_IS_NAMED_INSTANCE): New macro. 2016-07-14 15:01:55 +02:00
include Preliminary OpenType 1.8 support. 2016-09-14 01:14:29 +02:00
objs Fix Windows build directories. 2014-02-08 11:34:33 +01:00
src [cff] Add CFF2 blend support to cff parser. 2016-11-02 15:30:36 -07: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
autogen.sh Update copyright year. 2016-01-13 11:54:10 +01:00
ChangeLog [sfnt, truetype] Don't abort on invalid `maxComponentDepth'. 2016-07-29 06:43:32 +02: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
CMakeLists.txt * Version 2.6.5 released. 2016-07-12 06:18:49 +02:00
configure Update copyright year. 2016-01-13 11:54:10 +01:00
Jamfile * Version 2.6.5 released. 2016-07-12 06:18:49 +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
modules.cfg Update copyright year. 2016-01-13 11:54:10 +01:00
README Preliminary OpenType 1.8 support. 2016-09-14 01:14:29 +02:00
README.git Update copyright year. 2016-01-13 11:54:10 +01: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

  Branch of FreeType to support OpenType 1.8
  ==========================================

  This branch contains changes for supporting OpenType 1.8.
  The changes will be merged back upstream in September 2016,
  when the specification for OpenType 1.8 is final and has
  been published.


  FreeType 2.6.5
  ==============

  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.6.5.tar.bz2
    freetype-doc-2.6.5.tar.gz
    ftdoc265.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 ---