./graphics/freetype2, Font rendering engine and library API

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.8, Package name: freetype2-2.8, Maintainer: pkgsrc-users

FreeType is a portable, high-quality software solution for digital
typography. FreeType 1.3.1 was the last release of the FreeType 1
engine, as the project is now switching to a new version dubbed FreeType
2. It has, among other things, several advantages over FreeType 1:

* A universal and simple API to manage font files
* Support for several font formats through loadable drivers
* Even more portable
* An improved anti-aliasing algorithm


Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 42c6b1f733fe13a3eba135f5025b22cb68450f91
RMD160: 518184d2be032b9807345367265cc7cd49df0da5
Filesize: 1829.615 KB

Version history: (Expand)


CVS history: (Expand)


   2017-05-14 13:02:15 by S.P.Zeidler | Files touched by this commit (4) | Package updated
Log message:
Update from 2.7.1 to 2.8: 3 API additions, no deletions, no changes
fixes CVE-2017-7857 CVE-2017-7858 CVE-2017-7864 CVE-2017-8105 CVE-2017-8287

Upstream change announcement:

  I. IMPORTANT CHANGES

    - Support for OpenType Variation Fonts is now complete.   The last
      missing part was handling the `VVAR' and `MVAR' tables, which is
      available with this release.

    - A new  function `FT_Face_Properties' allows the  control of some
      module  and   library  properties  per  font.    Currently,  the
      following properties can be  handled: stem darkening, LCD filter
      weights, and the random seed for the `random' CFF operator.

    - The PCF change to show more `colourful' family names (introduced
      in version 2.7.1) was too radical; it can now be configured with
      PCF_CONFIG_OPTION_LONG_FAMILY_NAMES   at   compile   time.    If
      activated, it can  be switched off at run time  with the new pcf
      property  `no-long-family-names'.  If  the `FREETYPE_PROPERTIES'
      environment variable is available, you can say

        FREETYPE_PROPERTIES=pcf:no-long-family-names=1

    - Support  for  the  following  scripts  has  been  added  to  the
      auto-hinter.

        Adlam, Avestan, Bamum, Buhid, Carian, Chakma, Coptic, Cypriot,
        Deseret, Glagolitic, Gothic, Kayah, Lisu, N'Ko, Ol Chiki, Old
        Turkic, Osage, Osmanya, Saurashtra, Shavian, Sundanese, Tai
        Viet, Tifinagh, Unified Canadian Syllabics, Vai

  II. IMPORTANT BUG FIXES

    - `Light' auto-hinting  mode no  longer uses TrueType  metrics for
      TrueType  fonts.   This bug  was  introduced  in version  2.4.6,
      causing   horizontal  scaling   also.    Almost  all   GNU/Linux
      distributions (with Fedora as  a notable exception) disabled the
      corresponding patch for good reasons; chances are thus high that
      you won't notice a difference.

      If  optical backward  compatibility for  legacy applications  is
      necessary, you might enable the AF_CONFIG_OPTION_TT_SIZE_METRICS
      configuration option.   However, it  is strongly  recommended to
      avoid that, adjusting font sizes instead.

    - If a TrueType font gets loaded with FT_LOAD_NO_HINTING, FreeType
      now scales  the font linearly  again (bug introduced  in version
      2.4.6).

    - CVE-2017-8105,  CVE-2017-8287:  Older   FreeType  versions  have
      out-of-bounds  writes  caused  by  heap-based  buffer  overflows
      related to Type 1 fonts.

        https://cve.mitre.org/cgi-bin/cvename.c … -2017-8105
        https://cve.mitre.org/cgi-bin/cvename.c … -2017-8287

  III. MISCELLANEOUS

    - A  new function  `FT_Set_Default_Properties' has  been added  to
      parse    the    `FREETYPE_PROPERTIES'    environment    variable
      (previously, it  was internal only).   `FT_Init_FreeType' always
      call this  function, but  `FT_New_Library' does not  (similar to
      `FT_Add_Default_Modules').

    - To be in sync with OpenType version 1.7 and newer, macros

        FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY,
        FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY,
        TT_NAME_ID_PREFERRED_FAMILY
        TT_NAME_ID_PREFERRED_SUBFAMILY

      are renamed to

        FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY,
        FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY,
        TT_NAME_ID_TYPOGRAPHIC_FAMILY
        TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY

      The old macro names are deprecated (but still available).

    - Support for SFNT `name' tables has been improved.

      . Format  1 `name' tables  are now supported.  Use  new function
        `FT_Get_Sfnt_LangTag' to access associated language tags.

      . Language, encoding, and name IDs have been updated to OpenType
        version 1.8.1.

    - The new CFF  engine now handles the `random'  operator.  All CFF
      opcodes are now supported.

    - The CFF module  has a new property `random-seed'  to control the
      pseudo-random number generation for the `random' operator.

    - The `freetype-config' script is now a wrapper of `pkg-config' if
      this program is available in the path.

    - FT_LOAD_TARGET_LCD  is now  a  variant of  FT_LOAD_TARGET_LIGHT;
      this should provide better rendering results.

    - A mode to display  light auto-hinting with sub-pixel positioning
      has been added to `ftdiff'.
   2017-01-19 19:52:30 by Alistair G. Crooks | Files touched by this commit (352)
Log message:
Convert all occurrences (353 by my count) of

	MASTER_SITES= 	site1 \
			site2

style continuation lines to be simple repeated

	MASTER_SITES+= site1
	MASTER_SITES+= site2

lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
   2017-01-16 14:11:46 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
FreeType 2.7.1 has been released. The most important news is preliminary support \ 
of Adobe's new CFF2 font format and variation fonts as specified in the new \ 
OpenType specification version 1.8. It also fixes the handling of raw CID fonts \ 
(which might be found in PDF files)
   2016-10-30 18:07:12 by Thomas Klausner | Files touched by this commit (1) | Package updated
Log message:
Add rpath to freetype-config script.

Bump PKGREVISION.
   2016-09-12 20:06:44 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
Updated freetype2 to 2.7.

Remove subpixel option which is now on by default.

CHANGES BETWEEN 2.6.5 and 2.7

  I. IMPORTANT CHANGES

    - As announced earlier, the 2.7.x series now uses the new subpixel
      hinting  mode as  the  default, emulating  a  modern version  of
      ClearType.

      This change inevitably leads to different rendering results, and
      you   might   change   the   `TT_CONFIG_OPTION_SUBPIXEL_HINTING'
      configuration option to  adapt it to your taste (or  use the new
      `FREETYPE_PROPERTIES'    environment    variable).    See    the
      corresponding entry  below for  version 2.6.4, which  gives more
      information.

    - A new option  `FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES' has been
      introduced.   If  set (which  is  the  default), an  environment
      variable  `FREETYPE_PROPERTIES' can  be used  to control  driver
      properties.  Example:

        FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
                            cff:no-stem-darkening=1 \
                            autofitter:warping=1

      This allows to select, say, the subpixel hinting mode at runtime
      for a given application.  See file `ftoption.h' for more.

  II. IMPORTANT BUG FIXES

    - After  loading a  named instance  of  a GX  variation font,  the
      `face_index'  value  in  the returned  `FT_Face'  structure  now
      correctly holds the named instance  index in the upper 16bits as
      documented.

  III. MISCELLANEOUS

    - A new macro `FT_IS_NAMED_INSTANCE' to  test whether a given face
      is a named instance.

    - More fixes to GX font handling.

    - Apple's   `GETVARIATION'  bytecode   operator  (needed   for  GX
      variation font support) has been implemented.

    - Another round  of fuzzer fixes,  mainly to reject  invalid fonts
      faster.

    - Handling of raw CID fonts  was broken (bug introduced in version
      2.6.4).

    - The smooth rasterizer has been streamlined  to make it faster by
      approx. 20%.

    - The `ftgrid'  demo program now  understands command  line option
      `-d' to give start-up design coordinates.

    - The `ftdump' demo program has  a new command line option `-p' to
      dump TrueType bytecode instructions.
   2016-07-22 12:30:11 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
FreeType 2.6.5
This release is almost identical to the previous version, with two differences.
* It compiles again on Mac OS X, and
* it reverts the activation of subpixel hinting by default; it will be enabled \ 
by default in the forthcoming 2.7.x series. Main reason for reverting this \ 
feature is the principle of least surprise: a sudden change in appearance of all \ 
fonts (even if the rendering improves for almost all recent fonts) should not be \ 
expected in a new micro version of a series.
   2016-07-09 14:23:16 by Adam Ciarcinski | Files touched by this commit (5)
Log message:
Changes 2.6.4:

FreeType 2.6.4 has been released. The most important change is a new bytecode \ 
hinting mode for TrueType fonts that finally activates subpixel hinting (a.k.a. \ 
ClearType hinting) by default.

The new release also brings support for the following new scripts in the \ 
auto-hinter: Armenian, Cherokee, Ethiopic, Georgian, Gujarati, Gurmukhi, \ 
Malayalam, Sinhala, and Tamil.
   2016-04-07 12:02:13 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
CHANGES BETWEEN 2.6.2 and 2.6.3

  I. IMPORTANT CHANGES

    - Khmer,  Myanmar, Bengali,  and Kannada  script support  has been
      added to the auto-hinter.

  II. MISCELLANEOUS

    - Better  support of  Indic  scripts like  Devanagari  by using  a
      top-to-bottom hinting flow.

    - All  FreeType macros  starting  with two  underscores have  been
      renamed to  avoid a violation of  both the C and  C++ standards.
      Example: Header  macros of the  form `__FOO_H__' are  now called
      `FOO_H_'.  In most cases,  this should be completely transparent
      to the user.   The exception to this  is `__FTERRORS_H__', which
      must be  sometimes undefined by  the user to get  FreeType error
      strings:  Both this  form and  the new  `FTERRORS_H_' macro  are
      accepted for backwards compatibility.

    - Minor improvements mainly to the Type 1 driver.

    - The  new CFF  engine now  supports all  Type 2  operators except
      `random'.

    - The macro `_STANDALONE_', used for  compiling the B/W and smooth
      rasterizers  as   stand-alone  modules,  has  been   renamed  to
      `STANDALONE_', since macro names starting with an underscore and
      followed by an uppercase letter are reserved in both C and C++.

    - Function  `FT_Library_SetLcdFilterWeights'  now  also  activates
      custom LCD filter weights (instead of just adjusting them).

    - Support for  `unpatented hinting'  has been  completely removed:
      Consequently,  the two  functions `FT_Face_CheckTrueTypePatents'
      and  `FT_Face_SetUnpatentedHinting'  now  return  always  false,
      doing nothing.

    - The `ftgamma' demo  program has been modernized;  the gamma grid
      display has been moved from `ftview' to this program.

    - It is now possible to  cycle through the available LCD fitlering
      modes.