Go to file
Werner Lemberg 24aa9c665e [autofit] Rewrite HarfBuzz interface to support character clusters.
Scripts like Khmer have blue zones that can't be directly
represented by Unicode characters.  Instead, it is necessary to let
HarfBuzz convert character clusters into proper glyph representation
forms, then deriving the blue zone information from the resulting
glyphs.

* src/autofit/hbshim.c, src/autofit/hbshim.h: Replaced by...
* src/autofit/afshaper.c, src/autofit/afshaper.h: ... these two new
files, providing a new API to access HarfBuzz.

The new API manages a HarfBuzz buffer with `af_shaper_buf_create'
and `af_shaper_buf_destroy'.  The buffer receives a UTF8 encoded
string with function `af_shaper_get_cluster', and the resulting
glyph data (indices, advance widths, vertical offsets) can be
iteratively accessed with function `af_shaper_get_elem'.

* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.

* src/autofit/aflatin.c (af_latin_metrics_init_widths,
af_latin_metrics_init_blues, af_latin_metrics_check_digits):
Updated.

* include/freetype/internal/fttrace.h: s/afharfbuzz/afshaper/.

* src/autofit/afglobal.c: s/hbshim.h/afshaper.h/.
(af_face_globals_compute_style_coverage): Updated.

* src/autofit/afglocal.h: s/hbshim.h/afshaper.h/.

* src/autofit/autofit.c: s/hbshim.c/afshaper.c/.

* src/autofit/Jamfile, src/autofit/rules.mk (AUTOF_DRV_SRC):
Updated.
2015-12-06 18:52:41 +01:00
builds * builds/unix/install.mk (install): Remove stale `ft2build.h'. 2015-12-03 07:49:46 +01:00
devel [truetype] Improve TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46223). 2015-10-18 18:15:04 +02:00
docs * Version 2.6.2 released. 2015-11-28 19:08:05 +01:00
include [autofit] Rewrite HarfBuzz interface to support character clusters. 2015-12-06 18:52:41 +01:00
objs Fix Windows build directories. 2014-02-08 11:34:33 +01:00
src [autofit] Rewrite HarfBuzz interface to support character clusters. 2015-12-06 18:52:41 +01:00
.gitignore [build] Better optimization settings for vc2010 solution file. 2014-10-14 11:35:16 +02:00
.mailmap Add .mailmap file. 2012-12-08 12:30:37 +01:00
CMakeLists.txt * Version 2.6.2 released. 2015-11-28 19:08:05 +01:00
ChangeLog [autofit] Rewrite HarfBuzz interface to support character clusters. 2015-12-06 18:52:41 +01:00
ChangeLog.20 Run `src/tools/update-copyright'. 2015-01-17 20:41:43 +01:00
ChangeLog.21 Stray character in ChangeLog.21. 2015-09-26 14:57:27 +02:00
ChangeLog.22 Run `src/tools/update-copyright'. 2015-01-17 20:41:43 +01:00
ChangeLog.23 Run `src/tools/update-copyright'. 2015-01-17 20:41:43 +01:00
ChangeLog.24 Run `src/tools/update-copyright'. 2015-01-17 20:41:43 +01:00
ChangeLog.25 Split off ChangeLog.25. 2015-10-11 05:50:07 +02:00
Jamfile * Version 2.6.2 released. 2015-11-28 19:08:05 +01:00
Jamrules Run `src/tools/update-copyright'. 2015-01-17 20:41:43 +01:00
Makefile Run `src/tools/update-copyright'. 2015-01-17 20:41:43 +01:00
README * Version 2.6.2 released. 2015-11-28 19:08:05 +01:00
README.git Minor copyright and e-mail address issues. 2015-03-11 08:48:15 +01:00
autogen.sh Replace `mkinstalldirs' with AC_PROG_MKDIR_P. 2015-09-13 23:53:16 +02:00
configure Run `src/tools/update-copyright'. 2015-01-17 20:41:43 +01:00
modules.cfg Another adjustment to header locations. 2015-06-26 06:48:00 +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 Minor copyright and e-mail address issues. 2015-03-11 08:48:15 +01:00

README

  FreeType 2.6.2
  ==============

  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.2.tar.bz2
    freetype-doc-2.6.2.tar.gz
    ftdoc262.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-2015 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 ---