"Fossies" - the Fresh Open Source Software Archive

Member "firefox-69.0.1/modules/freetype2/ChangeLog.25" (17 Sep 2019, 162296 Bytes) of package /linux/www/firefox-69.0.1.source.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "ChangeLog.25": 68.0.2_vs_69.0.

    1 2014-12-30  Werner Lemberg  <wl@gnu.org>
    2 
    3 	* Version 2.5.5 released.
    4 	=========================
    5 
    6 
    7 	Tag sources with `VER-2-5-5'.
    8 
    9 	* docs/VERSION.DLL: Update documentation and bump version number to
   10 	2.5.5.
   11 
   12 	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
   13 	builds/windows/vc2005/index.html,
   14 	builds/windows/vc2008/freetype.vcproj,
   15 	builds/windows/vc2008/index.html,
   16 	builds/windows/vc2010/freetype.vcxproj,
   17 	builds/windows/vc2010/index.html,
   18 	builds/windows/visualc/freetype.dsp,
   19 	builds/windows/visualc/freetype.vcproj,
   20 	builds/windows/visualc/index.html,
   21 	builds/windows/visualce/freetype.dsp,
   22 	builds/windows/visualce/freetype.vcproj,
   23 	builds/windows/visualce/index.html,
   24 	builds/wince/vc2005-ce/freetype.vcproj,
   25 	builds/wince/vc2005-ce/index.html,
   26 	builds/wince/vc2008-ce/freetype.vcproj,
   27 	builds/wince/vc2008-ce/index.html: s/2.5.4/2.5.5/, s/254/255/.
   28 
   29 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
   30 
   31 	* builds/unix/configure.raw (version_info): Set to 17:4:11.
   32 	* CMakeLists.txt (VERSION_PATCH): Set to 5.
   33 	* docs/CHANGES: Updated.
   34 
   35 	* builds/toplevel.mk (dist): Fix typos.
   36 
   37 2014-12-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
   38 
   39 	[base] Formatting and nanooptimizations.
   40 
   41 	* src/base/ftcalc.c,
   42 	* src/base/fttrigon.c: Revise sign restoration.
   43 
   44 2014-12-13  Werner Lemberg  <wl@gnu.org>
   45 
   46 	* src/pcf/pcfread.c (pcf_read_TOC): Improve fix from 2014-12-08.
   47 
   48 2014-12-11  Werner Lemberg  <wl@gnu.org>
   49 
   50 	* builds/toplevel.mk (dist): Use older POSIX standard for `tar'.
   51 
   52 	Apparently, BSD tar isn't capable yet of handling POSIX-1.2001
   53 	(contrary to GNU tar), so force the POSIX-1.1988 format.
   54 
   55 	Problem reported by Stephen Fisher <sfisher@SDF.ORG>.
   56 
   57 2014-12-11  Werner Lemberg  <wl@gnu.org>
   58 
   59 	* src/type42/t42parse.c (t42_parse_sfnts): Reject invalid TTF size.
   60 
   61 2014-12-11  Werner Lemberg  <wl@gnu.org>
   62 
   63 	* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix off-by-one check.
   64 
   65 	Problem reported by Dennis Felsing <dennis@felsin9.de>.
   66 
   67 2014-12-11  Werner Lemberg  <wl@gnu.org>
   68 
   69 	* src/type42/t42parse.c (t42_parse_sfnts): Check `string_size'.
   70 
   71 	Problem reported by Dennis Felsing <dennis@felsin9.de>.
   72 
   73 2014-12-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
   74 
   75 	[gxvalid] Fix a naming convention conflicting with ftvalid.
   76 
   77 	See previous changeset for otvalid.
   78 
   79 	* src/gxvalid/{gxvcommn.h, gxvmort.h, gxvmorx.h}: Replace
   80 	`valid' by `gxvalid'.
   81 	* src/gxvalid/{gxvbsln.c, gxvcommn.c, gxvfeat.c, gxvjust.c,
   82 	gxvkern.c, gxvlcar.c, gxvmort.c, gxvmort0.c, gxvmort1.c,
   83 	gxvmort2.c, gxvmort4.c, gxvmort5.c, gxvmorx.c, gxvmorx0.c,
   84 	gxvmorx1.c, gxvmorx2.c, gxvmorx4.c, gxvmorx5.c, gxvopbd.c,
   85 	gxvprop.c, gxvtrak.c}: Replace `valid' by `gxvalid' if
   86 	it is typed as GXV_Validator.
   87 
   88 2014-12-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
   89 
   90 	[otvalid] Fix a naming convention conflicting with ftvalid.
   91 
   92 	Some prototypes in ftvalid.h use `valid' for the variables
   93 	typed as FT_Validator.  Their implementations in src/base/
   94 	ftobjs.c and utilizations in src/sfnt/ttcmap.c do similar.
   95 
   96 	Some macros in otvcommn.h assume the exist of the variable
   97 	`valid' typed as OTV_Validator in the caller.
   98 
   99 	Mixing these two conventions cause invalid pointer conversion
  100 	and unexpected SEGV in longjmp.  To prevent it, all variables
  101 	typed as OTV_Validator are renamed to `otvalid'.
  102 
  103 	* src/otvalid/otvcommn.h: Replace `valid' by `otvalid'.
  104 	* src/otvalid/{otvcommn.c, otvbase.c, otvgdef.c, otvgpos.c,
  105 	otvgsub.c, otvjstf.c, otvmath.c}: Replace `valid' by `otvalid'
  106 	if it is typed as OTV_Validator.
  107 
  108 2014-12-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  109 
  110 	[ftvalid] Introduce FT_THROW() in FT_INVALID_XXX macros.
  111 
  112 	Original patch is designed by Werner Lemberg.  Extra part
  113 	for otvalid and gxvalid are added by suzuki toshiya, see
  114 	discussion:
  115 	https://lists.nongnu.org/archive/html/freetype-devel/2014-12/msg00002.html
  116 	https://lists.nongnu.org/archive/html/freetype-devel/2014-12/msg00007.html
  117 
  118 	* include/internal/ftvalid.h: Introduce FT_THROW() in FT_INVALID_().
  119 	* src/gxvalid/gxvcommn.h: Ditto.
  120 	* src/otvalid/otvcommn.h: Ditto.
  121 
  122 2014-12-08  Werner Lemberg  <wl@gnu.org>
  123 
  124 	[pcf] Fix Savannah bug #43774.
  125 
  126 	Work around `features' of X11's `pcfWriteFont' and `pcfReadFont'
  127 	functions.  Since the PCF format doesn't have an official
  128 	specification, we have to exactly follow these functions' behaviour.
  129 
  130 	The problem was unveiled with a patch from 2014-11-06, fixing issue
  131 	#43547.
  132 
  133 	* src/pcf/pcfread.c (pcf_read_TOC): Don't check table size for last
  134 	element.  Instead, assign real size.
  135 
  136 2014-12-07  Werner Lemberg  <wl@gnu.org>
  137 
  138 	Work around a bug in Borland's C++ compiler.
  139 
  140 	See
  141 
  142 	  http://qc.embarcadero.com/wc/qcmain.aspx?d=118998
  143 
  144 	for Borland's bug tracker entry.
  145 
  146 	Reported by Yuliana Zigangirova <zigangirova@inbox.ru>,
  147 	https://lists.gnu.org/archive/html/freetype-devel/2014-04/msg00001.html.
  148 
  149 	* include/internal/ftvalid.h (FT_ValidatorRec), src/smooth/ftgrays.c
  150 	(gray_TWorker_): Move `ft_jmp_buf' field to be the first element.
  151 
  152 2014-12-07  Werner Lemberg  <wl@gnu.org>
  153 
  154 	*/*: Decorate hex constants with `U' and `L' where appropriate.
  155 
  156 2014-12-07  Werner Lemberg  <wl@gnu.org>
  157 
  158 	[truetype] Prevent memory leak for buggy fonts.
  159 
  160 	* src/truetype/ttobjs.c (tt_size_done): Unconditionally call
  161 	`tt_size_done_bytecode'.
  162 
  163 2014-12-06  Werner Lemberg  <wl@gnu.org>
  164 
  165 	* Version 2.5.4 released.
  166 	=========================
  167 
  168 
  169 	Tag sources with `VER-2-5-4'.
  170 
  171 	* docs/VERSION.DLL: Update documentation and bump version number to
  172 	2.5.4.
  173 
  174 	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
  175 	builds/windows/vc2005/index.html,
  176 	builds/windows/vc2008/freetype.vcproj,
  177 	builds/windows/vc2008/index.html,
  178 	builds/windows/vc2010/freetype.vcxproj,
  179 	builds/windows/vc2010/index.html,
  180 	builds/windows/visualc/freetype.dsp,
  181 	builds/windows/visualc/freetype.vcproj,
  182 	builds/windows/visualc/index.html,
  183 	builds/windows/visualce/freetype.dsp,
  184 	builds/windows/visualce/freetype.vcproj,
  185 	builds/windows/visualce/index.html,
  186 	builds/wince/vc2005-ce/freetype.vcproj,
  187 	builds/wince/vc2005-ce/index.html,
  188 	builds/wince/vc2008-ce/freetype.vcproj,
  189 	builds/wince/vc2008-ce/index.html: s/2.5.3/2.5.4/, s/253/254/.
  190 
  191 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
  192 
  193 	* builds/unix/configure.raw (version_info): Set to 17:3:11.
  194 	* CMakeLists.txt (VERSION_PATCH): Set to 4.
  195 	* docs/CHANGES: Updated.
  196 
  197 2014-12-04  Werner Lemberg  <wl@gnu.org>
  198 
  199 	docs/CHANGES: Updated, formatted.
  200 
  201 2014-12-04  Dave Arnold  <darnold@adobe.com>
  202 
  203 	[cff] Modify an FT_ASSERT.
  204 
  205 	* src/cff/cf2hints.c (cf2_hintmap_map): After the fix for Savannah
  206 	bug #43661, the test font `...aspartam.otf' still triggers an
  207 	FT_ASSERT.  Since hintmap still works with count==0, ...
  208 	(cf2_glyphpath_lineTo, cf2_glyphpath_curveTo): ... add that term to
  209 	suppress the assert.
  210 
  211 2014-12-04  Dave Arnold  <darnold@adobe.com>
  212 
  213 	[cff] Fix Savannah bug #43661.
  214 
  215 	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
  216 	cf2_cmdVSTEM, cf2_cmdHINTMASK>: Don't append to stem arrays after
  217 	hintmask is constructed.
  218 
  219 	* src/cff/cf2hints.c (cf2_hintmap_build): Add defensive code to
  220 	avoid reading past end of hintmask.
  221 
  222 2014-12-03  Werner Lemberg  <wl@gnu.org>
  223 
  224 	docs/CHANGES: Updated.
  225 
  226 2014-12-03  Werner Lemberg  <wl@gnu.org>
  227 
  228 	[autofit] Better fix for conversion specifiers in debug messages.
  229 
  230 	Using `%ld' for pointer differences causes warnings on 32bit
  231 	platforms.  The correct type would be (the relatively new) `%td',
  232 	however, this is missing on some important platforms.
  233 
  234 	This patch improves the change from 2014-11-28.
  235 
  236 	* src/autofit/afhints.c (AF_INDEX_NUM): Use `int' typecast.  Our
  237 	pointer differences are always sufficiently small.
  238 	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
  239 	af_glyph_hints_dump_edge): Revert to `%d' and use `AF_INDEX_NUM'.
  240 
  241 2014-12-03  Werner Lemberg  <wl@gnu.org>
  242 
  243 	FT_Sfnt_Tag: s/ft_sfnt_xxx/FT_SFNT_XXX/ for orthogonality.
  244 
  245 	All public FreeType enumeration and flag values are uppercase...
  246 
  247 	* include/tttables.h (FT_Sfnt_Tag): Implement it.  For backward
  248 	compatibility, retain the old values as macros.
  249 
  250 	* src/base/ftfstype.c (FT_Get_FSType_Flags), src/sfnt/sfdriver.c
  251 	(get_sfnt_table): Updated.
  252 
  253 2014-12-02  Werner Lemberg  <wl@gnu.org>
  254 
  255 	* include/*: Improve structure of documentation.
  256 
  257 	. Add and update many `<Order>' tags.
  258 	. Apply various documentation fixes.
  259 	. Remove details to deprecated (or never implemented) data.
  260 
  261 2014-12-02  Werner Lemberg  <wl@gnu.org>
  262 
  263 	[docmaker] Always handle `<Order>' section elements.
  264 
  265 	Previously, those elements were handled only for sections present in
  266 	a `<Sections>' chapter element.
  267 
  268 	* src/tools/docmaker/content.py (ContentProcessor::finish):
  269 	Implement it.
  270 
  271 2014-12-02  Werner Lemberg  <wl@gnu.org>
  272 
  273 	[docmaker] Properly handle empty rows in Synopsis.
  274 
  275 	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit
  276 	`&nbsp;' for empty fields.
  277 
  278 2014-12-02  Werner Lemberg  <wl@gnu.org>
  279 
  280 	[docmaker] Thinko.
  281 
  282 	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
  283 	Emit `/empty/' string for first element also.
  284 
  285 2014-12-02  Werner Lemberg  <wl@gnu.org>
  286 
  287 	[docmaker] Honour empty lines in `<Order>' section element.
  288 
  289 	This greatly improves the readability of the `Synopsis' links.
  290 
  291 	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
  292 	Insert string `/empty/' between items.
  293 
  294 	* src/tools/docmaker/formatter.py (Formatter::section_dump): Make it
  295 	robust against nonexistent keys.
  296 
  297 	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit
  298 	empty <td> elements for `/empty/'.
  299 
  300 2014-12-02  Werner Lemberg  <wl@gnu.org>
  301 
  302 	[docmaker] Ensure Python 3 compatibility.
  303 
  304 	* src/tools/docmaker/content.py (ContentProcessor::set_section,
  305 	ContentProcessor::finish): Replace `has_key' function with `in'
  306 	keyword.
  307 
  308 	* src/tools/docmaker/formatter.py (Formatter::__init__): Replace
  309 	sorting function with a key generator.
  310 	(Formatter::add_identifier): Replace `has_key' function with `in'
  311 	keyword.
  312 
  313 	* src/tools/docmaker/tohtml.py (HtmlFormatter::html_source_quote):
  314 	Replace `has_key' function with `in' keyword.
  315 	(HtmlFormatter::index_exit, HtmlFormatter::section_enter): Use
  316 	integer division.
  317 	s/<>/>/.
  318 
  319 	* src/tools/docmaker/utils.py: Import `itertools'.
  320 	(index_sort): Replaced by...
  321 	(index_key): ... this new key generator (doing exactly the same).
  322 
  323 2014-11-29  Werner Lemberg  <wl@gnu.org>
  324 
  325 	[docmaker] Don't output a block multiple times.
  326 
  327 	This bug was hidden by not processing all lines of `<Order>' blocks.
  328 
  329 	* src/tools/docmaker/formatter.py (Formatter::section_dump): Filter
  330 	out field names.
  331 
  332 2014-11-29  Werner Lemberg  <wl@gnu.org>
  333 
  334 	[docmaker] Use field values as HTML link targets where possible.
  335 
  336 	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_block_url):
  337 	Accept second, optional argument to specify a name.
  338 	(HtmlFormatter::html_source_quote): Link to field ID if possible.
  339 	(HtmlFormatter::print_html_field_list): Emit `id' attribute.
  340 
  341 2014-11-29  Werner Lemberg  <wl@gnu.org>
  342 
  343 	[docmaker] Allow empty lines in `<Order>' blocks.
  344 
  345 	Before this patch, the suggested order of entries stopped at the
  346 	first empty line.
  347 
  348 	Obviously, nobody noticed that this problem caused a much reduced
  349 	set of links in the `Synopsis' sections; in particular, the
  350 	`<Order>' blocks contain a lot of entries that wouldn't be listed
  351 	otherwise...
  352 
  353 	* src/tools/docmaker/content.py (DocBlock::get_markup_words_all):
  354 	New function to iterate over all items.
  355 	(DocSection::process): Use it.
  356 
  357 2014-11-29  Werner Lemberg  <wl@gnu.org>
  358 
  359 	* src/tools/docmaker/sources.py (column) [Format 2]: Fix regexp.
  360 
  361 	After the single asterisk there must be no other immediately following
  362 	asterisk.
  363 
  364 2014-11-29  Werner Lemberg  <wl@gnu.org>
  365 
  366 	* src/tools/docmaker/tohtml.py: Improve CSS for vertical spacing.
  367 
  368 2014-11-29  Werner Lemberg  <wl@gnu.org>
  369 
  370 	[docmaker] Improve HTML code for table of contents.
  371 
  372 	* src/tools/docmaker/tohtml.py: Introduce a new table class `toc',
  373 	together with proper CSS.
  374 
  375 2014-11-29  Werner Lemberg  <wl@gnu.org>
  376 
  377 	[docmaker] Provide higher-level markup and simplify HTML.
  378 
  379 	* src/tools/docmaker/tohtml.py: Instead of using extraneous `<div>'
  380 	elements, use CSS descendants (of class `section') to format the
  381 	data.
  382 
  383 	Also remove redundant <p> and <br> elements, replacing them with
  384 	proper CSS.
  385 
  386 	Globally reduce page width to 75%.
  387 
  388 	(block_header): Rename <div> class to `section'.
  389 
  390 2014-11-29  Werner Lemberg  <wl@gnu.org>
  391 
  392 	[docmaker] Add `top' links after blocks.
  393 
  394 	* src/tools/docmaker/tohtml.py (block_footer_middle): Implement it.
  395 
  396 2014-11-29  Werner Lemberg  <wl@gnu.org>
  397 
  398 	* src/tools/docmaker/tohtml.py: Improve CSS for fields.
  399 
  400 	Make fields align horizontally relative to full line width.
  401 
  402 2014-11-29  Werner Lemberg  <wl@gnu.org>
  403 
  404 	* src/tools/docmaker/tohtml.py: Fix index and TOC templates.
  405 
  406 	This thinko was introduced 2014-11-27.
  407 
  408 2014-11-28  Werner Lemberg  <wl@gnu.org>
  409 
  410 	[docmaker] Format field lists with CSS.
  411 
  412 	This also simplifies the inserted HTML code.
  413 
  414 	* src/tools/docmaker/tohtml.py
  415 	(HtmlFormatter::print_html_field_list): Do it.
  416 
  417 2014-11-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  418 
  419 	Fix compiler warning to the comparison between signed and
  420 	unsigned variable.
  421 
  422 	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix the comparison
  423 	between `ypos + ysize' and FT_INT_{MAX,MIN}.
  424 
  425 2014-11-28  Werner Lemberg  <wl@gnu.org>
  426 
  427 	[docmaker] Replace empty `<td>' with CSS.
  428 
  429 	* src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Do
  430 	it.
  431 
  432 2014-11-28  Werner Lemberg  <wl@gnu.org>
  433 
  434 	[docmaker] Replace some `<table>' tags with `<h4>' and `<div>'.
  435 
  436 	* src/tools/docmaker/tohtml.py (marker_*): Use `<h4>'.
  437 	(source_*): Use `<div>'.
  438 	(HtmlFormatter::block_enter): s/<h4>/<h3>/.
  439 
  440 2014-11-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  441 
  442 	Fix compiler warning to conversion specifiers in debug messages.
  443 
  444 	* src/autofit/afhints.c (af_glyph_hints_dump_points): Add length
  445 	modifier to dump long integers.
  446 	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Ditto.
  447 
  448 2014-11-27  Werner Lemberg  <wl@gnu.org>
  449 
  450 	* src/tools/docmaker/tohtml.py: Use more CSS for index.
  451 
  452 2014-11-27  Werner Lemberg  <wl@gnu.org>
  453 
  454 	[docmaker] Replace `name' attribute of `<a>' with `id'.
  455 
  456 	* src/tools/docmaker/tohtml.py (HtmlFormatter::block_enter): Do it.
  457 
  458 2014-11-27  Werner Lemberg  <wl@gnu.org>
  459 
  460 	* src/tools/docmaker/tohtml.py: Remove remaining `width' attributes.
  461 
  462 	For `Index' and `TOC' links, we now simply use the `text-align' CSS
  463 	property of `<td>' to enforce flush-left and flush-right,
  464 	eliminating the hack with an empty, full-width `<td>' element
  465 	inbetween.
  466 
  467 	The change also enforces the same (smaller) size for all index and
  468 	TOC links.
  469 
  470 2014-11-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  471 
  472 	* src/cff/cf2font.c: Include `ftcalc.h' to use FT_MSB(),
  473 	cf2font.c could not find it under `make multi' build.
  474 
  475 2014-11-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  476 
  477 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove
  478 	unrequired negative value check for `width' and `height'.
  479 
  480 2014-11-27  Werner Lemberg  <wl@gnu.org>
  481 
  482 	* src/tools/docmaker/tohtml.py: More HTML table refactoring.
  483 
  484 	Replace some `<table>' tags with `<div>' to simplify structure.
  485 
  486 	Move `bgcolor' attribute to CSS.
  487 
  488 	Replace most `width' attributes with CSS.  The remaining instances
  489 	(providing a similar effect as LaTeX's `\hfill' command) are removed
  490 	in a later patch.
  491 
  492 2014-11-27  Werner Lemberg  <wl@gnu.org>
  493 
  494 	* src/tools/docmaker/tohtml.py: Replace <font> with CSS.
  495 
  496 2014-11-27  Werner Lemberg  <wl@gnu.org>
  497 
  498 	* src/tools/docmaker/tohtml.py: Center <table> with CSS.
  499 
  500 2014-11-27  Werner Lemberg  <wl@gnu.org>
  501 
  502 	* src/tools/docmaker/tohtml.py: Replace `<center>' with `<div>'.
  503 
  504 2014-11-27  Werner Lemberg  <wl@gnu.org>
  505 
  506 	* src/tools/docmaker/tohtml.py: Remove redundant `<center>' tags.
  507 
  508 	This starts a series of commits into the direction of generating
  509 	valid HTML 5 code, especially using much more CSS.
  510 
  511 2014-11-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  512 
  513 	Prevent too negative values (< FT_INT_MIN) in bitmap metrics,
  514 	suggested by Alexei.
  515 
  516 	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Prevent too
  517 	negative values in `xpos' and `ypos + ysize'.
  518 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Prevent
  519 	too negative values in `x_left' and `y_top'.  Either negative
  520 	values in `width' and `height' are checked.
  521 
  522 2014-11-27  Werner Lemberg  <wl@gnu.org>
  523 
  524 	[docmaker] Produce better HTML code.
  525 
  526 	* src/tools/docmaker/tohtml.py: Always use double quotes for
  527 	attribute values.
  528 	(source_footer): Close `td' and `tr' groups.
  529 
  530 2014-11-27  Werner Lemberg  <wl@gnu.org>
  531 
  532 	Use better way to disable creation of .pyc files for `make refdoc'.
  533 
  534 	Python 2.6 was released in 2008...
  535 
  536 	* builds/freetype.mk (refdoc): Use python's `-B' option.
  537 
  538 	* builds/detect.mk (std_setup, dos_setup): Mention required python
  539 	version for `refdoc' target.
  540 
  541 2014-11-27  Werner Lemberg  <wl@gnu.org>
  542 
  543 	* src/tools/docmaker/sources.py (re_bold, re_italic): Use
  544 	non-grouping parentheses.
  545 	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word):
  546 	Updated.
  547 
  548 2014-11-27  Werner Lemberg  <wl@gnu.org>
  549 
  550 	* src/base/ftobjs.c (FT_Get_Glyph_Name): Fix compiler warning.
  551 
  552 	Introduced in previous change.  Reported by Alexei.
  553 
  554 2014-11-26  Werner Lemberg  <wl@gnu.org>
  555 
  556 	* src/*: Add checks for parameters of API functions where missing.
  557 
  558 	`API functions' are functions tagged with `FT_EXPORT_DEF'.
  559 
  560 	Besides trivial fixes, the following changes are included, too.
  561 
  562 	* src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Set
  563 	error code if no service is available.
  564 
  565 	* src/base/ftinit.c (FT_Done_FreeType): Change return value for
  566 	invalid `library' parameter to `Invalid_Library_Handle'.
  567 
  568 	* src/base/ftobjs.c (FT_New_Size): Change return value for invalid
  569 	`asize' parameter to `Invalid_Argument'.
  570 
  571 	* src/base/ftoutln.c (FT_Outline_Copy): Change return value for
  572 	invalid `source' and `target' parameters to `Invalid_Outline'.
  573 	(FT_Outline_Done_Internal): Change return value for invalid
  574 	`outline' parameter to `Invalid_Outline'.
  575 
  576 2014-11-26  Werner Lemberg  <wl@gnu.org>
  577 
  578 	* src/cache/ftcbasic.c: Use single calls to `FT_TRACE'.
  579 
  580 2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  581 
  582 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Additional
  583 	overflow check in the summation of POST fragment lengths,
  584 	suggested by Mateusz Jurczyk <mjurczyk@google.com>.
  585 
  586 2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  587 
  588 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Insert comments
  589 	and fold too long tracing messages.
  590 
  591 2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  592 
  593 	Fix Savannah bug #43540.
  594 
  595 	* src/base/ftmac.c (parse_fond): Prevent a buffer overrun
  596 	caused by a font including too many (> 63) strings to store
  597 	names[] table.
  598 
  599 2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  600 
  601 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Use unsigned long
  602 	variables to read the lengths in POST fragments.  Suggested by
  603 	Mateusz Jurczyk <mjurczyk@google.com>.
  604 
  605 2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  606 
  607 	Fix Savannah bug #43539.
  608 
  609 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
  610 	by a broken POST table in resource-fork.
  611 
  612 2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  613 
  614 	Fix Savannah bug #43538.
  615 
  616 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow
  617 	by a broken POST table in resource-fork.
  618 
  619 2014-11-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  620 
  621 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Avoid memory leak
  622 	by a broken POST table in resource-fork.  Return after freeing
  623 	the buffered POST table when it is found to be broken.
  624 
  625 2014-11-25  Werner Lemberg  <wl@gnu.org>
  626 
  627 	*/*: s/Invalid_Argument/Invalid_Size_Handle/ where appropriate.
  628 
  629 2014-11-25  Werner Lemberg  <wl@gnu.org>
  630 
  631 	*/*: s/Invalid_Argument/Invalid_Stream_Handle/ where appropriate.
  632 
  633 2014-11-25  Werner Lemberg  <wl@gnu.org>
  634 
  635 	*/*: s/Invalid_Argument/Invalid_Library_Handle/ where appropriate.
  636 
  637 2014-11-25  Werner Lemberg  <wl@gnu.org>
  638 
  639 	*/*: s/Invalid_Argument/Invalid_Outline/ where appropriate.
  640 
  641 2014-11-25  Werner Lemberg  <wl@gnu.org>
  642 
  643 	*/*: s/Invalid_Argument/Invalid_Face_Handle/ where appropriate.
  644 
  645 2014-11-24  Werner Lemberg  <wl@gnu.org>
  646 
  647 	[Savannah bug #43682] Adjust some renderer callbacks.
  648 
  649 	* src/raster/ftraster.c (ft_black_set_mode): Change return type to
  650 	`int' to stay in sync with `FT_Renderer_SetModeFunc' prototype.
  651 
  652 	* src/smooth/ftgrays.c (gray_raster_set_mode): New dummy function
  653 	for orthogonality.
  654 	(ft_grays_raster): Use it.
  655 
  656 2014-11-25  Werner Lemberg  <wl@gnu.org>
  657 
  658 	[Savannah bug #43682] Properly handle missing return errors.
  659 
  660 	The functions in this patch *do* return non-trivial errors that must
  661 	be taken care of.
  662 
  663 	* src/autofit/afloader.c (af_loader_load_g), src/base/ftobjs.c
  664 	(FT_Render_Glyph_Internal), src/base/ftoutln.c (FT_Outline_Render),
  665 	src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_endchar>,
  666 	src/psaux/psobjs.c (ps_parser_load_field_table), src/psaux/t1decode
  667 	(t1_decoder_parse_charstrings) <op_endchar>, src/truetype/ttgload.c
  668 	(load_truetype_glyph <subglyph loop>, tt_loader_init,
  669 	TT_Load_Glyph), src/truetype/ttgxvar.c (TT_Set_MM_Blend),
  670 	src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Do it.
  671 
  672 2014-11-25  Werner Lemberg  <wl@gnu.org>
  673 
  674 	[Savannah bug #43682] Add/remove `void' casts to some functions.
  675 
  676 	We use a cast to indicate that we intentionally ignore a function's
  677 	return value.  However, this doesn't apply to API functions where
  678 	errors can only happen for trivially invalid input.
  679 
  680 	* src/base/ftstroke.c (FT_Glyph_Stroke, FT_Glyph_StrokeBorder),
  681 	src/base/ftsynth.c (FT_GlyphSlot_Embolden), src/cff/cffgload.c
  682 	(cff_slot_load), src/pfr/pfrdrivr.c (pfr_get_kerning),
  683 	src/type1/t1load.c (parse_encoding), src/type42/t42parse.c
  684 	(t42_parse_encoding): Do it.
  685 
  686 2014-11-25  Werner Lemberg  <wl@gnu.org>
  687 
  688 	[Savannah bug #43682] Change some signatures to `void' return type.
  689 
  690 	* include/internal/pshints.h (PSH_Globals_SetScaleFunc),
  691 	include/internal/sfnt.h (TT_Get_Metrics_Func),
  692 	src/pshinter/pshglob.c (psh_globals_set_scale),
  693 	src/pshinter/pshrec.c (ps_hints_init), src/sfnt/ttmtx.c
  694 	(tt_face_get_metrics), src/truetype/ttinterp.c (TT_Goto_CodeRange,
  695 	TT_Set_CodeRange, TT_Clear_CodeRange, TT_Done_Context,
  696 	TT_Save_Context): Do it.
  697 
  698 	* src/pshinter/pshglob.h, src/pshinter/pshrec.h, src/sfnt/ttmtx.h,
  699 	src/truetype/ttgload.c (TT_Hint_Glyph), src/truetype/ttinterp.c
  700 	(TT_Run_Context), src/truetype/ttinterp.h, src/truetype/ttobjs.c
  701 	(tt_size_run_fpgm, tt_size_run_prep): Updated.
  702 
  703 2014-11-24  Werner Lemberg  <wl@gnu.org>
  704 
  705 	Remove all code related to FT_MAX_CHARMAP_CACHEABLE.
  706 
  707 	This is no longer used.
  708 
  709 	* src/base/ftobjs.c, src/cache/ftccmap.c, src/cff/cffobjs.c,
  710 	src/sfnt/ttcmap.c: Do it.
  711 
  712 2014-11-24  Werner Lemberg  <wl@gnu.org>
  713 
  714 	[sfnt] Fix Savannah bug #43680.
  715 
  716 	This adds an additional constraint to make the fix from 2013-01-25
  717 	really work.
  718 
  719 	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_image) <index_format==4>:
  720 	Check `p' before `num_glyphs'.
  721 
  722 2014-11-24  Werner Lemberg  <wl@gnu.org>
  723 
  724 	[truetype] Fix Savannah bug #43679.
  725 
  726 	* src/truetype/ttpload.c (tt_face_load_hdmx): Check minimum size of
  727 	`record_size'.
  728 
  729 2014-11-24  Jarkko Pöyry  <jarkko.poyry@gmail.com>
  730 
  731 	[cff, pfr, psaux, winfonts] Fix Savannah bug #43676.
  732 
  733 	Don't cast cmap init function pointers to an incompatible type.
  734 
  735 	Without this patch, the number of parameters between declaration and
  736 	the real signature differs.  Calling such a function results in
  737 	undefined behavior.
  738 
  739 	  ISO/IEC 9899:TC3 (Committee Draft September 7, 2007)
  740 	    6.5.2.2 Function calls
  741 	      9 If the function is defined with a type that is not
  742 	        compatible with the type (of the expression) pointed to by
  743 	        the expression that denotes the called function, the
  744 	        behavior is undefined.
  745 
  746 	On certain platforms (c -> js with emscripten) this causes
  747 	termination of execution or invalid calls because in the emscripten
  748 	implementation, function pointers of different types are stored in
  749 	different pointer arrays.  Incorrect pointer type here results in
  750 	indexing of an incorrect array.
  751 
  752 	* src/cff/cffcmap.c (cff_cmap_encoding_init, cff_cmap_unicode_init),
  753 	src/pfr/pfrcmap.c (pfr_cmap_init), src/psaux/t1cmap.c
  754 	t1_cmap_standard_init, t1_cmap_expert_init, t1_cmap_custom_init,
  755 	t1_cmap_unicode_init), src/winfonts/winfnt.c (fnt_cmap_init): Fix
  756 	signature.
  757 
  758 2014-11-24  Werner Lemberg  <wl@gnu.org>
  759 
  760 	[sfnt] Fix Savannah bug #43672.
  761 
  762 	* src/sfnt/ttkern.c (tt_face_load_kern): Use correct value for
  763 	minimum table length test.
  764 
  765 2014-11-24  Werner Lemberg  <wl@gnu.org>
  766 
  767 	[type1, type42] Another fix for Savannah bug #43655.
  768 
  769 	* src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c
  770 	(t42_parse_charstrings): Add another boundary testing.
  771 
  772 2014-11-24  Werner Lemberg  <wl@gnu.org>
  773 
  774 	[docmaker] Formatting, copyright, improved documentation.
  775 
  776 	* src/tools/docmaker/*: No code changes besides trivial
  777 	modifications.
  778 
  779 2014-11-22  Werner Lemberg  <wl@gnu.org>
  780 
  781 	[bdf] Fix Savannah bug #43660.
  782 
  783 	* src/bdf/bdflib.c (_bdf_parse_glyphs) <"ENDFONT">: Check
  784 	`_BDF_GLYPH_BITS'.
  785 
  786 2014-11-22  Werner Lemberg  <wl@gnu.org>
  787 
  788 	[type42] Allow only embedded TrueType fonts.
  789 
  790 	This is a follow-up to Savannah bug #43659.
  791 
  792 	* src/type42/t42objs.c (T42_Face_Init): Exclusively use the
  793 	`truetype' font driver for loading the font contained in the `sfnts'
  794 	array.
  795 
  796 2014-11-22  Werner Lemberg  <wl@gnu.org>
  797 
  798 	[type42] Fix Savannah bug #43659.
  799 
  800 	* src/type42/t42objs.c (T42_Open_Face): Initialize `face->ttf_size'.
  801 
  802 	* src/type42/t42parse.c (t42_parse_sfnts): Always set
  803 	`face->ttf_size' directly.  This ensures a correct stream size in
  804 	the call to `FT_Open_Face', which follows after parsing, even for
  805 	buggy input data.
  806 	Fix error messages.
  807 
  808 2014-11-22  Werner Lemberg  <wl@gnu.org>
  809 
  810 	[cff] Fix Savannah bug #43658.
  811 
  812 	* src/cff/cf2ft.c (cf2_builder_lineTo, cf2_builder_cubeTo): Handle
  813 	return values of point allocation routines.
  814 
  815 2014-11-22  Werner Lemberg  <wl@gnu.org>
  816 
  817 	[sfnt] Fix Savannah bug #43656.
  818 
  819 	* src/sfnt/ttcmap.c (tt_cmap4_validate): Fix order of validity
  820 	tests.
  821 
  822 2014-11-21  Werner Lemberg  <wl@gnu.org>
  823 
  824 	[type1, type42] Fix Savannah bug #43655.
  825 
  826 	* src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c
  827 	(t42_parse_charstrings): Fix boundary testing.
  828 
  829 2014-11-21  Werner Lemberg  <wl@gnu.org>
  830 
  831 	* src/pcf/pcfread.c (pcf_get_metrics): Sanitize invalid metrics.
  832 
  833 2014-11-21  Werner Lemberg  <wl@gnu.org>
  834 
  835 	[ftlcdfil] Obey flow direction.
  836 
  837 	* src/base/ftlcdfil.c (_ft_lcd_filter_fir, _ft_lcd_filter_legacy):
  838 	Handle `up' flow.
  839 
  840 2014-11-21  Werner Lemberg  <wl@gnu.org>
  841 
  842 	* src/base/ftbitmap.c (FT_Bitmap_Convert): Improve.
  843 
  844 	This commit completes argument checks and adds support for different
  845 	flow directions.
  846 
  847 2014-11-21  Werner Lemberg  <wl@gnu.org>
  848 
  849 	* src/base/ftbitmap.c (FT_Bitmap_Copy): Improve.
  850 
  851 	This commit adds argument checks and support for different flow
  852 	directions.
  853 
  854 2014-11-20  Werner Lemberg  <wl@gnu.org>
  855 
  856 	* src/base/ftbitmap.c (FT_Bitmap_New): Check argument.
  857 
  858 2014-11-19  Werner Lemberg  <wl@gnu.org>
  859 
  860 	Change some fields in `FT_Bitmap' to unsigned type.
  861 
  862 	This doesn't break ABI.
  863 
  864 	* include/ftimage.h (FT_Bitmap): Make `rows', `width', `num_grays',
  865 	`pixel_mode', and `palette_mode' unsigned types.
  866 
  867 	* src/base/ftbitmap.c: Updated.
  868 	(FT_Bitmap_Copy): Fix casts.
  869 
  870 	* src/cache/ftcsbits.c, src/raster/ftraster.c, src/sfnt/pngshim.c:
  871 	Updated.
  872 
  873 2014-11-19  Werner Lemberg  <wl@gnu.org>
  874 
  875 	Make `FT_Bitmap_Convert' correctly handle negative `pitch' values.
  876 
  877 	* src/base/ftbitmap.c (FT_Bitmap_Convert): Always use positive value
  878 	for the pitch while copying data.
  879 	Correctly set pitch sign in target bitmap.
  880 
  881 2014-11-19  Werner Lemberg  <wl@gnu.org>
  882 
  883 	Minor code improvement in `FT_Bitmap_Embolden'.
  884 
  885 	* src/base/ftbitmap.c (FT_Bitmap_Embolden) <FT_PIXEL_MODE_GRAY[24]>:
  886 	Fix thinko.
  887 
  888 2014-11-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
  889 
  890 	* src/base/fttrigon.c: Use dedicated `FT_Angle' for arctan table.
  891 
  892 2014-11-19  Behdad Esfahbod  <behdad@behdad.org>
  893 
  894 	Avoid compiler warnings on x86-64 for `FT_MulFix'.
  895 
  896 	`FT_MulFix' takes `FT_Long' parameters as defined in `freetype.h',
  897 	but several inline implementations of it in `ftcalc.h' take
  898 	`FT_Int32' arguments.  This is causing compiler warnings on x86-64:
  899 	If parameters of type `FT_Fixed' (= `FT_Long') are passed to the
  900 	inline implementation of this function, integer values are truncated
  901 	from 64bit to 32bit.
  902 
  903 	* include/internal/ftcalc.h (FT_MulFix) [FT_MULFIX_ASSEMBLER]: Add
  904 	casts.
  905 
  906 2014-11-15  Werner Lemberg  <wl@gnu.org>
  907 
  908 	[sfnt] Fix Savannah bug #43597.
  909 
  910 	* src/sfnt/pngshim.c (Load_SBit_Png): Protect against too large
  911 	bitmaps.
  912 
  913 2014-11-12  Werner Lemberg  <wl@gnu.org>
  914 
  915 	[sfnt] Fix Savannah bug #43591.
  916 
  917 	* src/sfnt/ttsbit.c (tt_sbit_decoder_init): Protect against addition
  918 	and multiplication overflow.
  919 
  920 2014-11-12  Werner Lemberg  <wl@gnu.org>
  921 
  922 	[sfnt] Fix Savannah bug #43590.
  923 
  924 	* src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir):
  925 	Protect against addition overflow.
  926 
  927 2014-11-12  Werner Lemberg  <wl@gnu.org>
  928 
  929 	[sfnt] Fix Savannah bug #43589.
  930 
  931 	* src/sfnt/sfobjs.c (woff_open_font): Protect against addition
  932 	overflow.
  933 
  934 2014-11-12  Werner Lemberg  <wl@gnu.org>
  935 
  936 	[sfnt] Fix Savannah bug #43588.
  937 
  938 	* src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
  939 	tt_cmap12_validate, tt_cmap13_validate, tt_cmap14_validate): Protect
  940 	against overflow in additions and multiplications.
  941 
  942 2014-11-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
  943 
  944 	[base] CORDIC improvements.
  945 
  946 	The scaling between the hypotenuse and its CORDIC approximation is
  947 	based on regression analysis. The smaller padding for `theta' is
  948 	justified by its maximum error of less than 6.
  949 
  950 	* src/base/fttrigon.c (ft_trig_downscale): Borrow code from
  951 	./ftcalc.c (ft_multo64), change linear intercept.
  952 	(ft_trig_pseudo_polarize): Decrease `theta' padding.
  953 
  954 2014-11-09  Werner Lemberg  <wl@gnu.org>
  955 
  956 	* src/base/ftstroke.c (ft_stroker_inside): Fix border intersections.
  957 
  958 	One more place to check whether `radius' is zero.
  959 
  960 	Problem reported by Marco Wertz <marco.wertz@gmx.de>.
  961 
  962 2014-11-07  Werner Lemberg  <wl@gnu.org>
  963 
  964 	[bdf] Fix Savannah bug #43535.
  965 
  966 	* src/bdf/bdflib.c (_bdf_strncmp): New macro that checks one
  967 	character more than `strncmp'.
  968 	s/ft_strncmp/_bdf_strncmp/ everywhere.
  969 
  970 2014-11-06  Werner Lemberg  <wl@gnu.org>
  971 
  972 	[pcf] Fix Savannah bug #43548.
  973 
  974 	* src/pcf/pcfread.c (pcf_get_encodings): Add sanity checks for row
  975 	and column values.
  976 
  977 2014-11-06  Werner Lemberg  <wl@gnu.org>
  978 
  979 	[pcf] Fix Savannah bug #43547.
  980 
  981 	* src/pcf/pcfread.c (pcf_read_TOC): Check `size' and `offset'
  982 	values.
  983 
  984 2014-11-06  Werner Lemberg  <wl@gnu.org>
  985 
  986 	* src/pcf/pcfread.c (pcf_read_TOC): Avoid memory leak.
  987 
  988 2014-11-03  Infinality  <infinality@infinality.net>
  989 
  990 	* src/truetype/ttsubpix.c (COMPATIBILITY_MODE_Rules): Updated.
  991 
  992 	The previous commit deteriorates rendering of DejaVu and similar
  993 	fonts; this gets compensated with this rule.
  994 
  995 2014-11-03  Werner Lemberg  <wl@gnu.org>
  996 
  997 	* src/truetype/ttinterp.c (Ins_DELTAP): Fix subpixel hinting.
  998 
  999 	Before this patch, it was impossible to ever call DELTAP[123] in
 1000 	subpixel hinting mode as described in the ClearType whitepaper; it
 1001 	only worked if in `compatibility mode'.  However, compatibility mode
 1002 	essentially disables SHPIX, completely ruining hinting of
 1003 	ttfautohint output, for example.
 1004 
 1005 	We now follow the whitepaper more closely so that DELTAP[123]
 1006 	instructions for touched points in the non-subpixel direction are
 1007 	executed.
 1008 
 1009 2014-10-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1010 
 1011 	[smooth] Improve code readability.
 1012 
 1013 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code.
 1014 
 1015 2014-10-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1016 
 1017 	[smooth] Reduce outline translations during rendering.
 1018 
 1019 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Translate origin
 1020 	virtually by modifying cbox, actually translate outline if cumulative
 1021 	shift is not zero.
 1022 
 1023 2014-10-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1024 
 1025 	[smooth] Fix Savannah bug #35604 (cont'd).
 1026 
 1027 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove checks and
 1028 	casts that became unnecessary after the variable type upgrades.
 1029 
 1030 2014-10-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1031 
 1032 	[smooth] Improve code readability.
 1033 
 1034 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code.
 1035 
 1036 2014-10-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1037 
 1038 	Unify hypotenuse approximations.
 1039 
 1040 	* include/internal/ftcalc.h (FT_HYPOT): Move macro from here...
 1041 	* include/internal/ftobjs.h: ... to here, next to required `FT_ABS'.
 1042 	* src/smooth/ftgrays.c (gray_render_cubic): Use it here.
 1043 
 1044 2014-10-25  Werner Lemberg  <wl@gnu.org>
 1045 
 1046 	[cff] Test valid darkening parameter macros in `ftoption.h'.
 1047 
 1048 	We no longer need an otherwise unused typedef that can cause a gcc
 1049 	warning.
 1050 	Problem reported by Alexei.
 1051 
 1052 	* src/cff/cffobjs.c (cff_driver_init): Use
 1053 	`CFF_CONFIG_OPTION_DARKENING_PARAMETER_XXX' macros directly.
 1054 	(SET_DARKENING_PARAMETERS): Removed.
 1055 	Compile time tests are now ...
 1056 
 1057 	* devel/ftoption.h, include/config/ftoption.h: ... here.
 1058 
 1059 2014-10-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1060 
 1061 	Improve flat corner definition.
 1062 
 1063 	* include/internal/ftcalc.h (FT_HYPOT): Macro to approximate Euclidean
 1064 	distance with the alpha max plus beta min algorithm.
 1065 	* src/base/ftcalc.c (ft_corner_is_flat): Use it instead of Taxicab
 1066 	metric.
 1067 
 1068 2014-10-23  David Weiß  <David.Weiss@ptvgroup.com>
 1069 
 1070 	[build] Improve property file for vc2010.
 1071 
 1072 	User-defined properties should be empty by default to prevent linker
 1073 	failures.
 1074 
 1075 	* builds/windows/vc2010/freetype.user.props,
 1076 	builds/windows/vc2010/freetype.vcxproj:
 1077 	s/OptionsDirectory/UserOptionDirectory/.
 1078 	Comment out all user options.
 1079 
 1080 2014-10-23  Werner Lemberg  <wl@gnu.org>
 1081 
 1082 	[cff] Work around bug in preprocessor of MSVC 2010.
 1083 
 1084 	We have been hit by
 1085 
 1086 	  https://connect.microsoft.com/VisualStudio/feedback/details/718976/msvc-pr
 1087 
 1088 	* devel/ftoption.h, include/config/ftoption.h: Replace
 1089 	`CFF_CONFIG_OPTION_DARKENING_PARAMETERS' with eight macros
 1090 	`CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}'.
 1091 
 1092 	* src/cff/cffobjs.c (SET_DARKENING_PARAMETERS): Removed.  We no
 1093 	longer need double expansion.
 1094 	(SET_DARKENING_PARAMETERS_0): Renamed to ...
 1095 	(SET_DARKENING_PARAMETERS): ... this.
 1096 	Update call.
 1097 
 1098 2014-10-20  Werner Lemberg  <wl@gnu.org>
 1099 
 1100 	[sbit] Minor fixes.
 1101 
 1102 	* src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]:
 1103 	Accept overlay format also, but emit warning message in that case.
 1104 	(tt_sbit_decoder_load_metrics): Add missing newline to error
 1105 	message.
 1106 	(tt_sbit_load_sbix_image): Add `rgbl' graphic type (as used on iOS
 1107 	7.1) to the list of unsupported formats.
 1108 
 1109 2014-10-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1110 
 1111 	[truetype] Clean up bytecode rounding.
 1112 
 1113 	Zero distance does not have to be treated specially if you follow
 1114 	specifications and check the sign as the very last step of rounding.
 1115 
 1116 	* src/truetype/ttinterp.c (Round_None, Round_To_Grid,
 1117 	Round_Down_To_Grid, Round_Up_To_Grid, Round_To_Double_Grid): Use
 1118 	macros when available, do not check for non-zero distance.
 1119 	(Round_To_Half_Grid, Round_Super, Round_Super_45): Ditto, return phase
 1120 	if sign changed.
 1121 
 1122 2014-10-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1123 
 1124 	[truetype] Unwrap engine compensation settings.
 1125 
 1126 	* src/truetype/ttobjs.c (tt_size_init_bytecode): Updated.
 1127 
 1128 2014-10-18  David Weiß  <David.Weiss@ptvgroup.com>
 1129 
 1130 	[build] Add property file to vc2010 project.
 1131 
 1132 	This simplifies custom build configurations, especially for
 1133 	automated build environments.
 1134 
 1135 	* builds/windows/vc2010/freetype.user.props: New configuration file.
 1136 
 1137 	* builds/windows/vc2010/freetype.vcxproj: Include
 1138 	`freetype.user.props' and use its data fields.
 1139 
 1140 	* builds/windows/vc2010/index.html: Updated.
 1141 
 1142 2014-10-18  Werner Lemberg  <wl@gnu.org>
 1143 
 1144 	[autofit] Add blue-zone support for Telugu.
 1145 
 1146 	This essentially moves the Telugu script from the `Indic' hinter to
 1147 	the `Latin' hinter.
 1148 
 1149 	Note that this is a first shot and quite certainly needs
 1150 	refinements.
 1151 
 1152 	* src/autofit/afblue.dat: Add blue zone data for Telugu.
 1153 
 1154 	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
 1155 
 1156 	* src/autofit/afscript.h: Add Telugu standard characters and move
 1157 	data out of AF_CONFIG_OPTION_INDIC block.
 1158 
 1159 	* src/autofit/afranges.c: Move Telugu data out of
 1160 	AF_CONFIG_OPTION_INDIC block.
 1161 
 1162 	* src/autofit/afstyles.h: Update Telugu data; in particular, use
 1163 	AF_WRITING_SYSTEM_LATIN.
 1164 
 1165 2014-10-18  David Wimsey  <david@wimsey.us>
 1166 
 1167 	[cmake] Add iOS build support.
 1168 	From Savannah patch #8497.
 1169 
 1170 	* builds/cmake/iOS.cmake: New file.  Universal binaries are built
 1171 	with both 32 and 64 bit arm architectures.
 1172 
 1173 	* CMakeLists.txt (IOS_PLATFORM): New variable for running the iOS
 1174 	toolchain.  Possible values are `OS' to build on iOS, or
 1175 	`SIMULATOR' to build on APPLE.
 1176 
 1177 2014-10-16  Behdad Esfahbod  <behdad@behdad.org>
 1178 	    Werner Lemberg  <wl@gnu.org>
 1179 
 1180 	[cff] Add `CFF_CONFIG_OPTION_DARKENING_PARAMETERS' config macro.
 1181 
 1182 	* devel/ftoption.h, include/config/ftoption.h
 1183 	(CFF_CONFIG_OPTION_DARKENING_PARAMETERS): New macro.
 1184 
 1185 	* src/cff/cffobjs.c (SET_DARKENING_PARAMETERS,
 1186 	SET_DARKENING_PARAMETERS_0): New macros.
 1187 	(cff_driver_init): Use new macros.
 1188 
 1189 2014-10-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1190 
 1191 	[truetype] Limit delta shift range.
 1192 
 1193 	The valid range for delta shift is zero through six.  Negative values
 1194 	are invalid according to
 1195 
 1196 	  https://developer.apple.com/fonts/TrueType-Reference-Manual/RM04/Chap4.html#delta%20shift
 1197 
 1198 	* src/truetype/ttobjs.h (delta_shift, delta_base): Make unsigned.
 1199 	* src/truetype/ttinterp.h (DO_SDS): Throw an error if `delta_shift'
 1200 	is out of range.
 1201 	(Ins_DELTAP, Ins_DELTAC): Optimize for valid `delta_shift'.
 1202 
 1203 2014-10-16  Werner Lemberg  <wl@gnu.org>
 1204 
 1205 	A better fix for Savannah bug #43392.
 1206 	Suggested by Doug Felt <dougfelt@gmail.com>.
 1207 
 1208 	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Set
 1209 	`vertAdvance' to zero...
 1210 
 1211 	* src/truetype/ttgload.c (TT_Load_Glyph): ... and set here a default
 1212 	value for `vertAdvance' based on `linearVertAdvance' in case
 1213 	`vertAdvance' is zero.  Note that the previous computed ad-hoc value
 1214 	for `linearVertAdvance' was apparently not tested in a real-life
 1215 	situation.
 1216 
 1217 2014-10-14  David Weiß  <David.Weiss@ptvgroup.com>
 1218 
 1219 	[build] Better optimization settings for vc2010 solution file.
 1220 
 1221 	* builds/windows/vc2010/freetype.sln,
 1222 	builds/windows/vc2010/freetype.vcxproj: Updated.
 1223 
 1224 2014-10-14  Werner Lemberg  <wl@gnu.org>
 1225 
 1226 	[autofit] Adjust Devanagari character range.
 1227 
 1228 	* src/autofit/afranges.c (af_deva_uniranges): Omit characters that
 1229 	are common to all other Indic scripts.
 1230 
 1231 2014-10-12  Werner Lemberg  <wl@gnu.org>
 1232 
 1233 	[sfnt] Fix Savannah bug #43392.
 1234 
 1235 	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Don't let
 1236 	vertical metrics uninitialized.
 1237 
 1238 2014-10-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1239 
 1240 	[base] Small bbox correction.
 1241 
 1242 	* src/base/ftbbox.c (FT_Outline_Get_BBox): Start from nonsense bbox
 1243 	instead of initial point that could be `off' in conic outlines.
 1244 
 1245 2014-10-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1246 
 1247 	[base] Fix Savannah bug #43356.
 1248 
 1249 	* src/base/ftbbox.c (BBox_Move_To, BBox_Conic_To): Update bbox in case
 1250 	of implicit `to'.
 1251 	(BBox_Line_To): New emitter that does not update bbox.
 1252 
 1253 2014-10-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1254 
 1255 	[base] Introduce and use new macro `FT_UPDATE_BBOX'
 1256 
 1257 	* src/base/ftbbox.c (FT_UPDATE_BBOX): New macro.
 1258 	(FT_Outline_Get_BBox): Use it here.
 1259 
 1260 2014-10-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1261 
 1262 	[base] Significant optimization of `ft_div64by32'
 1263 
 1264 	We shift as many bits as we can into the high register, perform
 1265 	32-bit division with modulo there, then work through the remaining
 1266 	bits with long division. This optimization is especially noticeable
 1267 	for smaller dividends that barely use the high register.
 1268 
 1269 	* src/base/ftcalc.c (ft_div64by32): Updated.
 1270 
 1271 2014-10-02  Dave Arnold  <darnold@adobe.com>
 1272 
 1273 	[cff] Fix Savannah bug #43271.
 1274 
 1275 	* src/cff/cf2font.c (cf2_computeDarkening): Change overflow
 1276 	detection to use logarithms and clamp `scaledStem'.
 1277 
 1278 2014-10-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1279 
 1280 	* src/base/ftcalc.c: Remove miscellaneous type casts.
 1281 
 1282 2014-10-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1283 
 1284 	[base] Use more common `FT_MSB' implementation with masks.
 1285 
 1286 	* src/base/ftcalc.c (FT_MSB): Updated.
 1287 
 1288 2014-09-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1289 
 1290 	[base] Clean up.
 1291 
 1292 	* src/base/ftcalc.c (FT_MOVE_SIGN): New macro for frequently used
 1293 	code.
 1294 
 1295 2014-09-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1296 
 1297 	[base] Avoid unnecessary long division.
 1298 
 1299 	This applies to `FT_MulDiv' but not to `FT_DivFix', where overflows or
 1300 	lack thereof are predicted accurately.
 1301 
 1302 	* src/base/ftcalc.c (ft_div64by32): Improve readability.
 1303 	(FT_MulDiv, FT_MulDiv_No_Round) [!FT_LONG64]: Use straight division
 1304 	when multiplication stayed within 32 bits.
 1305 
 1306 2014-09-24  Werner Lemberg  <wl@gnu.org>
 1307 
 1308 	[autofit] Minor clean-ups.
 1309 
 1310 	* src/autofit/afhints.c (AF_FLAGS): Remove obsolete values.
 1311 
 1312 	* src/autofit/afhints.c (af_glyph_hints_dump_points,
 1313 	af_glyph_hints_align_strong_points): Updated.
 1314 
 1315 	* src/autofit/aflatin.c (af_latin_hints_link_segments,
 1316 	af_latin_hints_compute_segments), src/autofit/afcjk.c
 1317 	(af_cjk_hints_link_segments), src/autofit/aflatin2.c
 1318 	(af_latin2_hints_link_segments, af_latin2_hints_compute_segments):
 1319 	There are no longer fake segments since more than 10 years...
 1320 
 1321 2014-09-22  Werner Lemberg  <wl@gnu.org>
 1322 
 1323 	[autofit] Minor code streamlining.
 1324 
 1325 	* src/autofit/afhints.c (af_axis_hints_new_edge): Remove redundant
 1326 	initialization.
 1327 
 1328 2014-09-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1329 
 1330 	* src/base/ftcalc.c: Harmonize code.
 1331 
 1332 2014-09-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1333 
 1334 	[base] Tighten the overflow check in `FT_MulDiv'.
 1335 
 1336 	* src/base/ftcalc.c (FT_MulDiv) [!FT_LONG64]: Updated.
 1337 
 1338 2014-09-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1339 
 1340 	Fix Savannah bug #43153.
 1341 
 1342 	* src/psaux/psconv.c (PS_Conv_ToFixed): Add protection against
 1343 	overflow in `divider'.
 1344 
 1345 2014-09-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1346 
 1347 	[base] Tighten the overflow check in `FT_DivFix'.
 1348 
 1349 	This fixes a 13-year old bug. The original overflow check should have
 1350 	been updated when rounding was introduced into this function
 1351 	(c2cd00443b).
 1352 
 1353 	* src/base/ftcalc.c (FT_DivFix) [!FT_LONG64]: Updated.
 1354 	* include/freetype.h (FT_DivFix): Updated documentation.
 1355 
 1356 2014-09-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1357 
 1358 	[base] Tighten the overflow check in `FT_MulFix'.
 1359 
 1360 	* src/base/ftcalc.c (FT_MulFix) [!FT_LONG64]: Updated.
 1361 
 1362 2014-09-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1363 
 1364 	[truetype] Shortcut ppem calculations for square pixels.
 1365 
 1366 	* src/truetype/ttinterp.h (TT_ExecContextRec): New field
 1367 	`cur_ppem_func' with a function pointer.
 1368 	* src/truetype/ttinterp.c (TT_RunIns): Initialize `cur_ppem_func'
 1369 	depending on the pixel geometry to either...
 1370 	(Current_Ppem_Stretched): ... this for stretched pixels.
 1371 	(Current_Ppem): ... or this for square pixels.
 1372 	(DO_MPPEM, DO_MPS, Ins_DELTAP, Ins_DELTAC): Use `cur_ppem_func'.
 1373 
 1374 2014-08-31  Behdad Esfahbod  <behdad@behdad.org>
 1375 
 1376 	Don't use `register' keyword.  Fixes compiler warnings.
 1377 
 1378 	* src/base/ftcalc.c (FT_Add64) [!FT_LONG64]: Do it.
 1379 	* src/gzip/inftrees.c (huft_build): Ditto.
 1380 	* src/truetype/ttinterp.c (TT_MulFix14_arm): Ditto.
 1381 
 1382 2014-08-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1383 
 1384 	[truetype] Optimize DELTAP and DELTAC.
 1385 
 1386 	* src/truetype/ttinterp.c (Ins_DELTAP, Ins_DELTAC): Move ppem
 1387 	calculations outside of the loop.
 1388 
 1389 2014-08-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1390 
 1391 	Fix Savannah bug #43033.
 1392 
 1393 	* include/config/ftconfig.h, builds/unix/ftconfig.in,
 1394 	builds/vms/ftconfig.h [FT_LONG64]: Do not disable the macro when
 1395 	64-bit type is `long'.
 1396 
 1397 2014-08-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1398 
 1399 	[base] Small optimization of `FT_MulFix'.
 1400 
 1401 	* src/base/ftcalc.c (FT_MulFix): Loosen up the condition for direct
 1402 	32-bit calculations.
 1403 
 1404 2014-08-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1405 
 1406 	[base] Use unsigned calculation in `FT_MulDiv'.
 1407 
 1408 	* src/base/ftcalc.c (FT_MulDiv): Updated to expand 32-bit range.
 1409 
 1410 2014-08-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1411 
 1412 	[base] Remove truncation in `FT_DivFix'.
 1413 
 1414 	* src/base/ftcalc.c (FT_DivFix): Updated.
 1415 
 1416 2014-08-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1417 
 1418 	Minor refactoring.
 1419 
 1420 	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Updated.
 1421 
 1422 2014-08-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1423 
 1424 	Turn FT_MSB into a macro when using gcc builtins.
 1425 
 1426 	* src/base/ftcalc.c, include/internal/ftcalc.h: Updated.
 1427 
 1428 2014-08-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1429 
 1430 	[base] Avoid undefined FT_MSB in `BBox_Cubic_Check'.
 1431 
 1432 	* src/base/ftbbox.c (BBox_Cubic_Check): Update.
 1433 	(update_cubic_max): Replace with...
 1434 	(cubic_peak): ... this, which now handles upscaling.
 1435 
 1436 2014-08-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1437 
 1438 	[base] Handle collapsed outlines to avoid undefined FT_MSB.
 1439 
 1440 	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Update.
 1441 
 1442 2014-08-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1443 
 1444 	[base] Restore FT_MulFix inlining.
 1445 
 1446 	* include/freetype.h (FT_MulFix): Unconditionally defined.
 1447 
 1448 	* src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: Move code from here...
 1449 
 1450 	* include/internal/ftcalc.h [FT_MULFIX_ASSEMBLER]: ... to here,
 1451 	which conditionally replaces the function with an inline version
 1452 	through the macro.
 1453 
 1454 2014-08-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1455 
 1456 	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Refactor.
 1457 
 1458 2014-07-26  Werner Lemberg  <wl@gnu.org>
 1459 
 1460 	[cff] Fix typo.
 1461 
 1462 	* src/cff/cf2hints.c (cf2_glyphpath_computeOffset): Use correct
 1463 	offsets in third quadrant.
 1464 
 1465 	Reported by maks <maksqwe1@ukr.net>.
 1466 
 1467 2014-07-17  Werner Lemberg  <wl@gnu.org>
 1468 
 1469 	Fix Savannah bug #42788.
 1470 
 1471 	* src/pfr/pfrobjs.c: Include `ftcalc.h'.
 1472 
 1473 2014-07-16  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1474 
 1475 	Replace `ft_highpow2' function.
 1476 
 1477 	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Use `FT_MSB' instead of
 1478 	`ft_highpow2'.
 1479 
 1480 	* src/base/ftutil.c, include/internal/ftobjs.h (ft_highpow2): Remove
 1481 	it.
 1482 
 1483 2014-07-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1484 
 1485 	* src/base/ftcalc.c (FT_MSB): Utilize gcc builtins.
 1486 
 1487 2014-07-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1488 
 1489 	[base] Move assembler code back in the source file.
 1490 
 1491 	FT_MulFix assembler used to reside in ftcalc.c before f47d263f1b.
 1492 
 1493 	* include/config/ftconfig.h, builds/unix/ftconfig.in,
 1494 	builds/vms/ftconfig.h [FT_MULFIX_ASSEMBLER]: Move code from here...
 1495 
 1496 	* src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: ... to here.
 1497 
 1498 2014-07-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1499 
 1500 	[base] Further clean up color bitmap conversion.
 1501 
 1502 	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Stop
 1503 	using FT_MulFix and FT_DivFix since all calculations fit into 32 bits.
 1504 
 1505 2014-07-13  Werner Lemberg  <wl@gnu.org>
 1506 
 1507 	[truetype] Improve handling of buggy `prep' tables.
 1508 
 1509 	In case of an error in the `prep' table, no longer try to execute it
 1510 	again and again.  This makes FreeType handle endless loops in buggy
 1511 	fonts much faster.
 1512 
 1513 	* src/truetype/ttobjs.h (TT_SizeRec): The fields `bytecode_ready'
 1514 	and `cvt_ready' are now negative if not initialized yet, otherwise
 1515 	they indicate the error code of the last run.
 1516 
 1517 	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep,
 1518 	tt_size_done_bytecode, tt_size_init_bytecode,
 1519 	tt_size_ready_bytecode, tt_size_init, tt_size_done, tt_size_reset):
 1520 	Updated.
 1521 
 1522 	* src/truetype/ttgload.c (tt_loader_init): Updated.
 1523 	* src/truetype/ttinterp.c (TT_RunIns): Force reexecution of `fpgm'
 1524 	and `prep' only if we are in the `glyf' table.
 1525 
 1526 2014-07-12  Werner Lemberg  <wl@gnu.org>
 1527 
 1528 	* builds/vms/ftconfig.h: Synchronize.
 1529 	Problem reported by Alexei.
 1530 
 1531 2014-07-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1532 
 1533 	[base] Clean up bitmap conversion.
 1534 
 1535 	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
 1536 	appropriate FT_DivFix and remove superfluous upscaling.
 1537 
 1538 2014-07-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1539 
 1540 	[base] Small optimization of the ancient code.
 1541 
 1542 	* src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Loosen up the
 1543 	condition for direct 32-bit calculations.
 1544 
 1545 2014-06-27  Werner Lemberg  <wl@gnu.org>
 1546 
 1547 	Fix Apple standard glyph names.
 1548 
 1549 	* src/sfnt/ttpost.c (tt_post_default_names): Synchronize with
 1550 	`tools/glnames.py'
 1551 
 1552 	Problem reported by Adam Twardoch <adam@fontlab.com>.
 1553 
 1554 2014-06-17  Werner Lemberg  <wl@gnu.org>
 1555 
 1556 	Partially revert commit from 2014-06-13.
 1557 
 1558 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Move
 1559 	declaration of `p_first' and `p_last' out of the loop.
 1560 
 1561 2014-06-17  Werner Lemberg  <wl@gnu.org>
 1562 
 1563 	* builds/unix/freetype2.m4: s/AC_PATH_PROG/AC_PATH_TOOL/.
 1564 
 1565 	This simplifies cross-compiling.
 1566 
 1567 2014-06-13  Werner Lemberg  <wl@gnu.org>
 1568 
 1569 	Fix more compiler warnings.
 1570 	Reported by Wojciech Mamrak <wmamrak@gmail.com>.
 1571 
 1572 	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
 1573 	Make integer constant unsigned.
 1574 
 1575 	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
 1576 	<TT_SBIT_TABLE_TYPE_SBIX>: Fix types.
 1577 	(tt_sbit_decoder_load_compound, tt_face_load_sbix_image): Add proper
 1578 	casts.
 1579 
 1580 2014-06-13  Werner Lemberg  <wl@gnu.org>
 1581 
 1582 	Fix compiler warnings.
 1583 	Reported by Wojciech Mamrak <wmamrak@gmail.com>.
 1584 
 1585 	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage),
 1586 	src/autofit/afmodule.c (af_property_set): Fix `signed' vs.
 1587 	`unsigned' issues.
 1588 
 1589 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Make compiler
 1590 	happy.
 1591 
 1592 	* src/base/ftlcdfil.c (_ft_lcd_filter_fir): Use only four elements
 1593 	for `fir'.
 1594 	Fix `signed' vs. `unsigned' issues.
 1595 
 1596 	* src/sfnt/sfobjs.c (WRITE_BYTE): Removed, unused.
 1597 	(WRITE_USHORT, WRITE_ULONG): Add proper casts.
 1598 
 1599 	* src/truetype/ttgload.c (TT_Get_VMetrics): Add proper casts.
 1600 
 1601 	* src/truetype/ttinterp.c (Ins_DELTAP): Add proper casts for `B1'
 1602 	and `B2'.
 1603 
 1604 2014-05-16  Alexey Petruchik  <alexey.petruchik@gmail.com>
 1605 
 1606 	[cmake] Add option to build OS X framework.
 1607 
 1608 	* CMakeLists.txt: Update accordingly.
 1609 
 1610 	* builds/mac/freetype-Info.plist: New file.
 1611 
 1612 2014-05-13  Pavel Koshevoy  <pkoshevoy@gmail.com>
 1613 
 1614 	* CMakeLists.txt (BASE_SRCS): Add missing `ftbdf.c'.
 1615 
 1616 2014-05-11  Werner Lemberg  <wl@gnu.org>
 1617 
 1618 	[autofit] Fix variable initializations.
 1619 
 1620 	* src/autofit/afhints.c (af_glyph_hints_reload): Assign default
 1621 	values to `in_dir' and `out_dir' for all points.
 1622 
 1623 2014-05-11  Werner Lemberg  <wl@gnu.org>
 1624 
 1625 	[autofit] Fix crash with font `CabinSketch-Bold.ttf'.
 1626 
 1627 	Problem reported by Ralf S. Engelschall <rse@engelschall.com>.
 1628 
 1629 	* src/autofit/afhints.c (af_glyph_hints_reload): Fix threshold for
 1630 	finding first non-near point.
 1631 	Properly initialize non-near point deltas.
 1632 
 1633 2014-05-01  Werner Lemberg  <wl@gnu.org>
 1634 
 1635 	[autofit] Add blue-zone support for Devanagari.
 1636 
 1637 	This essentially moves the Devanagari script from the `Indic' hinter
 1638 	to the `Latin' hinter.  Thanks to Girish Dalvi
 1639 	<girish.dalvi@gmail.com> for guidance with blue zone characters!
 1640 
 1641 	* src/autofit/afblue.dat: Add blue zone data for Devanagari.
 1642 
 1643 	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
 1644 
 1645 	* src/autofit/afscript.h: Add Devanagari standard characters and
 1646 	move data out of AF_CONFIG_OPTION_INDIC block.
 1647 
 1648 	* src/autofit/afranges.c: Move Devanagari data out of
 1649 	AF_CONFIG_OPTION_INDIC block.
 1650 	Move U+20B9, (new) Rupee sign, from Latin to Devanagari.
 1651 
 1652 	* src/autofit/afstyles.h: Update Devanagari data; in particular, use
 1653 	AF_WRITING_SYSTEM_LATIN.
 1654 
 1655 2014-05-01  Werner Lemberg  <wl@gnu.org>
 1656 
 1657 	[autofit] Fix handling of neutral blue zones in stems.
 1658 
 1659 	* src/autofit/afhints.h (AF_Edge_Flags): New value
 1660 	`AF_EDGE_NEUTRAL'.
 1661 
 1662 	* src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Trace
 1663 	neutral blue zones with AF_EDGE_NEUTRAL.
 1664 	(af_latin_hint_edges): Skip neutral blue zones if necessary.
 1665 
 1666 2014-04-28  Werner Lemberg  <wl@gnu.org>
 1667 
 1668 	[autofit] Introduce neutral blue zones to the latin module.
 1669 
 1670 	Such blue zones match either the top or the bottom of a contour.  We
 1671 	need them for scripts where accent-like elements directly touch the
 1672 	base character (for example, some vowel signs in Devanagari, cf.
 1673 	U+0913 or U+0914).
 1674 
 1675 	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_NEUTRAL): New
 1676 	property.
 1677 
 1678 	* src/autofit/afblue.h: Regenerated.
 1679 
 1680 	* src/autofit/aflatin.h (AF_LATIN_IS_NEUTRAL_BLUE): New macro.
 1681 	(AF_LATIN_BLUE_NEUTRAL): New enumeration value.
 1682 
 1683 	* src/autofit/aflatin.c (af_latin_metrics_init_blues,
 1684 	af_latin_hints_compute_blue_edges): Handle neutral blue zones.
 1685 
 1686 2014-04-25  Werner Lemberg  <wl@gnu.org>
 1687 
 1688 	* src/autofit/hbshim.c: Partially revert commit from 2014-04-17.
 1689 
 1690 	Using input glyph coverage data is simply wrong.
 1691 
 1692 	Problem reported by Nikolaus Waxweiler <madigens@gmail.com> and
 1693 	Mantas Mikulėnas <grawity@gmail.com>.
 1694 
 1695 2014-04-23  Werner Lemberg  <wl@gnu.org>
 1696 
 1697 	* src/raster/ftraster.c (Vertical_Sweep_Span): Use drop-out mode.
 1698 
 1699 	This spot has been missed while introducing support for various
 1700 	drop-out modes years ago (including no drop-out mode, which this
 1701 	commit fixes).
 1702 
 1703 	Problem reported by Patrick Thomas <pthomas505@gmail.com>.
 1704 
 1705 2014-04-22  Werner Lemberg  <wl@gnu.org>
 1706 
 1707 	* src/sfnt/pngshim.c (error_callback): s/longjmp/ft_longjmp/.
 1708 
 1709 2014-04-20  Werner Lemberg  <wl@gnu.org>
 1710 
 1711 	[autofit] Fix Savannah bug #42148.
 1712 
 1713 	The adaptation of the cjk auto-hinter module to blue stringsets in
 1714 	2013-08-25 had three severe bugs.  Mea culpa.
 1715 
 1716 	1. Contrary to the latin auto-hinter, characters for reference and
 1717 	   overshoot values of a blue zone are specified separately.  Due to
 1718 	   the screwed-up change it didn't work at all.
 1719 
 1720 	2. A boolean comparison was erroneously replaced with a cast,
 1721 	   causing invalid results with the `^' operator later on.  The
 1722 	   visual artifact caused by this problem is the topic of the bug
 1723 	   report.
 1724 
 1725 	3. Two flag values were inverted, causing incorrect assignment of
 1726 	   reference and overshoot values.
 1727 
 1728 	* src/autofit/afblue.dat: Fix CJK bluestrings, introducing a new
 1729 	syntax to have both reference and overshoot characters in a single
 1730 	string.  This is error #1.
 1731 	Add extensive comments.
 1732 
 1733 	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_CJK_FILL): Removed, no
 1734 	longer used.
 1735 	(AF_BLUE_PROPERTY_CJK_TOP, AF_BLUE_PROPERTY_CJK_HORIZ): Fix values.
 1736 	This is error #3.
 1737 
 1738 	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
 1739 
 1740 	* src/autofit/afcjk.c (af_cjk_metrics_init_blues): Correct error #1.
 1741 	Use character `|' to separate characters for reference and overshoot
 1742 	values.
 1743 	Improve tracing messages, synchronizing them with the latin
 1744 	auto-hinter.
 1745 	(af_cjk_hints_compute_blue_edges): Fix value of `is_top_right_blue'.
 1746 	This is error #2.
 1747 	(af_cjk_align_linked_edge): Add tracing message.
 1748 
 1749 	* src/autofit/afcjk.h (AF_CJK_IS_FILLED_BLUE): Removed, no longer
 1750 	used.
 1751 
 1752 2014-04-17  Werner Lemberg  <wl@gnu.org>
 1753 
 1754 	[autofit] More coverage fixes for complex scripts.
 1755 
 1756 	* src/autofit/hbshim.c (af_get_coverage): Merge input glyph coverage
 1757 	of GSUB lookups into output coverage.  Otherwise, ligatures are not
 1758 	handled properly.
 1759 	Don't check blue zone characters for default coverage.
 1760 
 1761 2014-04-17  Werner Lemberg  <wl@gnu.org>
 1762 
 1763 	Make `FT_Get_SubGlyph_Info' actually work.
 1764 
 1765 	* src/base/ftobjs.c (FT_Get_SubGlyph_Info): Return FT_Err_Ok
 1766 	if there is no error.
 1767 
 1768 2014-04-15  Werner Lemberg  <wl@gnu.org>
 1769 
 1770 	[afblue.pl]: Minor improvements.
 1771 
 1772 	* src/tools/afblue.pl: Allow whitespace before comments.
 1773 	Ignore whitespace in strings.
 1774 
 1775 2014-04-14  Werner Lemberg  <wl@gnu.org>
 1776 
 1777 	[autofit] Improve coverage handling.
 1778 
 1779 	* src/autofit/hbshim.c (af_get_coverage): Don't exclude glyphs
 1780 	appearing in the GPOS table if we are processing the default
 1781 	coverage.
 1782 
 1783 2014-04-13  David Weber  <weber.aulendorf@googlemail.com>
 1784 
 1785 	[smooth] Fix stand-alone compilation.
 1786 
 1787 	* src/smooth/ftgrays.c (FT_BEGIN_STMNT, FT_END_STMNT): Define.
 1788 
 1789 2014-04-12  Werner Lemberg  <wl@gnu.org>
 1790 
 1791 	[autofit] Redesign the recognition algorithm of strong points.
 1792 
 1793 	In particular, local extrema without horizontal or vertical segments
 1794 	are better recognized:
 1795 
 1796 	  + A                + D
 1797 	   \                /
 1798 	    \              /
 1799 	     \            /
 1800 	      \          /
 1801 	       \        + C
 1802 	        \    /
 1803 	       B +/
 1804 
 1805 	If the distances AB and CD are large, point B wasn't previously
 1806 	detected as an extremum since the `ft_corner_is_flat' function
 1807 	`swallowed' BC regardless of its direction, tagging point B as weak.
 1808 	The next iteration started at B and made `ft_corner_is_flat' swallow
 1809 	point C, tagging it as weak also, et voilà.
 1810 
 1811 	To improve that, another pass gets now performed before calling
 1812 	`ft_corner_is_flat' to improve the `topology' of an outline: A
 1813 	sequence of non-horizontal or non-vertical vectors that point into
 1814 	the same quadrant are handled as a single, large vector.
 1815 
 1816 	Additionally, distances of near points are now accumulated, which
 1817 	makes the auto-hinter handle them as if they were prepended to the
 1818 	next non-near vector.
 1819 
 1820 	This generally improves the auto-hinter's rendering results.
 1821 
 1822 	* src/autofit/afhints.c (af_glyph_hints_reload): Implement it.
 1823 
 1824 	* src/autofit/afhints.h (AF_FLAGS): Remove no longer used flag
 1825 	`AF_FLAG_NEAR'.
 1826 
 1827 2014-04-05  Werner Lemberg  <wl@gnu.org>
 1828 
 1829 	[autofit] Improve scoring algorithm for identifying stems.
 1830 
 1831 	Problem reported by Karsten Lücke <karsten.luecke@kltf.de>.
 1832 
 1833 	The new algorithm takes care of the width of stems: If the distance
 1834 	between two segments is larger than the largest stem width, the
 1835 	demerits quickly increase for larger distances.  This improves
 1836 	hinting of slanted fonts (especially if the inner parts of serifs
 1837 	have non-horizontal `shoulders'), avoiding false stem links.
 1838 
 1839 	* src/autofit/aflatin.c (af_latin_hints_link_segments): Use largest
 1840 	stem width (if available) to compute better demerits for distances
 1841 	between stems.
 1842 	(af_latin_hints_detect_features): Pass stem width array and array
 1843 	size.
 1844 	(af_latin_metrics_init_widths): Updated to use original algorithm.
 1845 	(af_latin_hints_apply): Updated to use new algorithm.
 1846 
 1847 	* src/autofit/aflatin.h: Updated.
 1848 	* src/autofit/afcjk.c: Updated.
 1849 
 1850 2014-04-03  Werner Lemberg  <wl@gnu.org>
 1851 
 1852 	Don't require `gzip' module for `sfnt'.
 1853 
 1854 	Reported by Preet <prismatic.project@gmail.com>.
 1855 
 1856 	* src/sfnt/sfobjs.c (woff_open_font): Guard use of
 1857 	FT_Gzip_Uncompress with FT_CONFIG_OPTION_USE_ZLIB.
 1858 
 1859 2014-03-27  Werner Lemberg  <wl@gnu.org>
 1860 
 1861 	Fix Savannah bug #38235.
 1862 
 1863 	Work around a bug in pkg-config version 0.28 and earlier: If a
 1864 	variable value gets surrounded by doublequotes (in particular values
 1865 	for the `prefix' variable), the prefix override mechanism fails.
 1866 
 1867 	* builds/unix/freetype2.in: Don't use doublequotes.
 1868 	* builds/unix/unix-def.in (freetype.pc): Escape spaces in directory
 1869 	names with backslashes.
 1870 
 1871 2014-03-24  Werner Lemberg  <wl@gnu.org>
 1872 
 1873 	Fix Savannah bug #41946.
 1874 
 1875 	Based on a patch from Marek Kašík <mkasik@redhat.com>.
 1876 
 1877 	* builds/unix/configure.raw (LIBS_CONFIG): Remove.
 1878 	* builds/unix/freetype-config.in (libs): Hard-code value.
 1879 	* builds/unix/unix-def.in: Updated.
 1880 
 1881 2014-03-22  Werner Lemberg  <wl@gnu.org>
 1882 
 1883 	Another revert for the change from 2014-03-18.
 1884 
 1885 	Problem reported by Nikolaus Waxweiler <madigens@gmail.com>.
 1886 
 1887 	* src/base/ftcalc.c (FT_MulFix): Ensure that an `FT_MulFix' symbol
 1888 	gets always exported.
 1889 
 1890 2014-03-20  Werner Lemberg  <wl@gnu.org>
 1891 
 1892 	CMakeLists.txt: Another fix for include directories.
 1893 
 1894 	Problem reported by Taylor Holberton <taylorcholberton@gmail.com>.
 1895 
 1896 2014-03-19  Werner Lemberg  <wl@gnu.org>
 1897 
 1898 	CMakeLists.txt: Fix include directories.
 1899 
 1900 	Problem reported by Taylor Holberton <taylorcholberton@gmail.com>.
 1901 
 1902 2014-03-19  Werner Lemberg  <wl@gnu.org>
 1903 
 1904 	Partially revert last commit.
 1905 
 1906 	Found by Alexei.
 1907 
 1908 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initializing
 1909 	those variables is plain wrong, since we are in a loop.
 1910 
 1911 2014-03-18  Sean McBride  <sean@rogue-research.com>
 1912 	    Werner Lemberg  <wl@gnu.org>
 1913 
 1914 	Fix clang warnings.
 1915 
 1916 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
 1917 	some variables.
 1918 
 1919 	* src/base/ftcalc.c (FT_MulFix): Only use code if
 1920 	`FT_MULFIX_INLINED' is not defined.
 1921 
 1922 	* src/bdf/bdfdrivr.c (bdf_cmap_class), src/cache/ftcbasic.c
 1923 	(ftc_basic_image_family_class, ftc_basic_image_cache_class,
 1924 	ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class),
 1925 	src/cache/ftccmap.c (ftc_cmap_cache_class), src/cache/ftcmanag.c
 1926 	(ftc_size_list_class, ftc_face_list_class), src/pcf/pcfdrivr.c
 1927 	(pcf_cmap_class), src/pfr/pfrdrivr.c (pfr_metrics_service_rec): Make
 1928 	function static.
 1929 
 1930 	* src/type1/t1driver.c (t1_ps_get_font_value): Remove redundant
 1931 	code.
 1932 
 1933 2014-03-17  Werner Lemberg  <wl@gnu.org>
 1934 
 1935 	Fix Savannah bug #41869.
 1936 
 1937 	This works around a problem with HarfBuzz (<= 0.9.26), which doesn't
 1938 	validate glyph indices returned by
 1939 	`hb_ot_layout_lookup_collect_glyphs'.
 1940 
 1941 	* src/autofit/hbshim.c (af_get_coverage): Guard `idx'.
 1942 
 1943 	* docs/CHANGES: Updated.
 1944 
 1945 2014-03-14  Werner Lemberg  <wl@gnu.org>
 1946 
 1947 	* builds/unix/configure.raw: Don't show error messages of `which'.
 1948 
 1949 2014-03-09  Alan Coopersmith  <alan.coopersmith@oracle.com>
 1950 
 1951 	Fix cppcheck 1.64 warning.
 1952 
 1953 	* src/autofit/afglobal.c (af_face_globals_new): Catch NULL pointer
 1954 	dereference in case of error.
 1955 
 1956 2014-03-09  Sean McBride  <sean@rogue-research.com>
 1957 
 1958 	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove clang warning.
 1959 
 1960 2014-03-06  Werner Lemberg  <wl@gnu.org>
 1961 
 1962 	* Version 2.5.3 released.
 1963 	=========================
 1964 
 1965 
 1966 	Tag sources with `VER-2-5-3'.
 1967 
 1968 	* docs/VERSION.DLL: Update documentation and bump version number to
 1969 	2.5.3.
 1970 
 1971 	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
 1972 	builds/windows/vc2005/index.html,
 1973 	builds/windows/vc2008/freetype.vcproj,
 1974 	builds/windows/vc2008/index.html,
 1975 	builds/windows/vc2010/freetype.vcxproj,
 1976 	builds/windows/vc2010/index.html,
 1977 	builds/windows/visualc/freetype.dsp,
 1978 	builds/windows/visualc/freetype.vcproj,
 1979 	builds/windows/visualc/index.html,
 1980 	builds/windows/visualce/freetype.dsp,
 1981 	builds/windows/visualce/freetype.vcproj,
 1982 	builds/windows/visualce/index.html,
 1983 	builds/wince/vc2005-ce/freetype.vcproj,
 1984 	builds/wince/vc2005-ce/index.html,
 1985 	builds/wince/vc2008-ce/freetype.vcproj,
 1986 	builds/wince/vc2008-ce/index.html: s/2.5.2/2.5.3/, s/252/253/.
 1987 
 1988 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
 1989 
 1990 	* builds/unix/configure.raw (version_info): Set to 17:2:11.
 1991 	* CMakeLists.txt (VERSION_PATCH): Set to 3.
 1992 	* docs/CHANGES: Updated.
 1993 
 1994 2014-03-06  Werner Lemberg  <wl@gnu.org>
 1995 
 1996 	Fixes for compilation with C++.
 1997 
 1998 	* src/autofit/hbshim.c (scripts): Change type to `hb_script_t'.
 1999 	(af_get_coverage): Updated.
 2000 	(COVERAGE): Add cast.
 2001 
 2002 2014-03-06  Sean McBride  <sean@rogue-research.com>
 2003 
 2004 	Remove more clang analyzer warnings.
 2005 
 2006 	* src/bdf/bdflib.c (_bdf_readstream), src/truetype/ttgload.c
 2007 	(TT_Load_Glyph): Remove dead stores.
 2008 
 2009 2014-03-05  Werner Lemberg  <wl@gnu.org>
 2010 
 2011 	* builds/unix/configure.raw: Simplify.
 2012 
 2013 2014-03-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2014 
 2015 	Fix a bug in configure in library dependency setting
 2016 	Reported in https://bugs.freedesktop.org/show_bug.cgi?id=75652.
 2017 
 2018 	* builds/unix/configure.raw: Use `x"${xxx}" != xno' style.
 2019 
 2020 2014-03-04  Werner Lemberg  <wl@gnu.org>
 2021 
 2022 	Minor fix for `make devel'.
 2023 
 2024 	* builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Don't use
 2025 	pkg-config for bzip2 since not all GNU/Linux distributions have
 2026 	`bzip2.pc' (and the header file `bzlib.h' is located in /usr/include
 2027 	normally).
 2028 
 2029 2014-03-04  Sean McBride  <sean@rogue-research.com>
 2030 
 2031 	Fix several clang static analyzer dead store warnings.
 2032 
 2033 	* src/autofit/afhints.c (af_glyph_hints_reload,
 2034 	af_glyph_hints_align_weak_points): Remove unnecessary assignments.
 2035 
 2036 	* src/bdf/bdflib.c (bdf_font_load): Ditto.
 2037 
 2038 	* src/pshinter/pshalgo.c (psh_glyph_compute_extrema,
 2039 	psh_glyph_interpolate_other_points): Ditto.
 2040 
 2041 	* src/type1/t1load.c (T1_Set_MM_Blend): Ditto.
 2042 
 2043 2014-03-03  Werner Lemberg  <wl@gnu.org>
 2044 
 2045 	Rewrite library option handling in `configure'.
 2046 
 2047 	o Introduce `auto' value for `--with-XXX' library options; this is
 2048 	  now the default.
 2049 
 2050 	o First use `pkg-config' for library detection, then fall back to
 2051 	  other tests.
 2052 
 2053 	* builds/unix/configure.raw (--with-zlib, --with-bzip2, --with-png,
 2054 	--with-harfbuzz): Rewrite.
 2055 	Use new `xxx_reqpriv', `xxx_libpriv', and `xxx_libstaticconf'
 2056 	variables to collect data for `freetype2.pc' and `freetype-config'.
 2057 	(FT2_EXTRA_LIBS): Renamed to ...
 2058 	(ft2_extra_libs): This since it gets no longer substituted.
 2059 	(REQUIRES_PRIVATE, LIBS_PRIVATE, LIBS_CONFIG, LIBSSTATIC_CONFIG):
 2060 	New output variables, replacing `XXX_PKG' and `LIBXXX'.
 2061 	Add notice at the end of `configure' showing the library
 2062 	configuration.
 2063 
 2064 	* builds/unix/freetype-config.in (--static): New command line
 2065 	option.
 2066 	(libs): Updated.
 2067 	(staticlibs): New variable, to be used if `--static' is given.
 2068 	* docs/freetype-config.1: Document `--static'.
 2069 
 2070 	* builds/unix/freetype2.in, builds/unix/unix-def.in: Updated.
 2071 
 2072 2014-03-01  Werner Lemberg  <wl@gnu.org>
 2073 
 2074 	Avoid `long long' warnings with older gcc compilers.
 2075 	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
 2076 
 2077 	* builds/unix/configure.raw: Don't use gcc's `-pedantic' flag for
 2078 	versions < 4.6.  This is especially needed for Max OS X since this
 2079 	OS runs a gcc variant (or emulation) based on version 4.2.1.
 2080 
 2081 2014-03-01  Werner Lemberg  <wl@gnu.org>
 2082 
 2083 	* docs/INSTALL.CROSS: Revised and updated.
 2084 
 2085 2014-03-01  Werner Lemberg  <wl@gnu.org>
 2086 
 2087 	Make `make clean' remove `freetype2.pc'.
 2088 
 2089 	This is a generated file at build time, not configure time.
 2090 
 2091 	* builds/unix/unix-def.in (DISTCLEAN): Move `freetype2.pc' to ...
 2092 	(CLEAN): This variable.
 2093 
 2094 2014-03-01  Werner Lemberg  <wl@gnu.org>
 2095 
 2096 	Use pkg-config for detecting libpng and libbz2 also.
 2097 
 2098 	* builds/unix/configure.raw (HAVE_PKG): New variable.
 2099 	Search for libbz2 using `pkg-config'; s/BZ2/BZIP2/.
 2100 	Search for libpng using `pkg-config'.
 2101 	Fix definition of `LIBHARFBUZZ' variable.
 2102 	* builds/unix/freetype-config.in ($libs): Updated.
 2103 	* builds/unix/freetype2.in: Add `URL' field.
 2104 	Update `Requires.private' and `Libs.private'.
 2105 	* builds/unix/unix-def.in: Updated.
 2106 
 2107 2014-03-01  Werner Lemberg  <wl@gnu.org>
 2108 
 2109 	Add configure support for HarfBuzz.
 2110 
 2111 	* builds/unix/pkg.m4: New file.
 2112 	* builds/unix/configure.raw: Search for libharfbuzz using
 2113 	`pkg-config'.
 2114 	Add `--without-harfbuzz' option.
 2115 	* builds/unix/freetype-config.in, builds/unix/freetype2.in,
 2116 	builds/unix/unix-def.in (freetype-config, freetype2.pc): Handle
 2117 	HarfBuzz.
 2118 
 2119 	* docs/INSTALL.UNIX: Document interdependency of FreeType with
 2120 	HarfBuzz.
 2121 
 2122 2014-02-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
 2123 
 2124 	[cff] Math simplifications.
 2125 
 2126 	* src/cf2blues.c (cf2_blues_init): Use `FT_MulDiv'.
 2127 	* src/cf2ft.c (cf2_getScaleAndHintFlag): Use simple division.
 2128 
 2129 2014-02-28  Dave Arnold  <darnold@adobe.com>
 2130 
 2131 	[cff] Fix Savannah bug #41697, part 2.
 2132 
 2133 	* src/cff/cf2ft.c (cf2_initLocalRegionBuffer,
 2134 	cf2_initGlobalRegionBuffer): It is possible for a charstring to call
 2135 	a subroutine if no subroutines exist.  This is an error but should
 2136 	not trigger an assert.  Split the assert to account for this.
 2137 
 2138 2014-02-28  Dave Arnold  <darnold@adobe.com>
 2139 
 2140 	[cff] Fix Savannah bug #41697, part 1.
 2141 
 2142 	* src/cff/cf2hints.c (cf2_hintmap_build): Return when `hintMask' is
 2143 	invalid.  In this case, it is not safe to use the length of
 2144 	`hStemHintArray'; the exception has already been recorded in
 2145 	`hintMask'.
 2146 
 2147 2014-02-26  Werner Lemberg  <wl@gnu.org>
 2148 
 2149 	[sfnt] Fix Savannah bug #41696.
 2150 
 2151 	* src/sfnt/ttcmap.c (tt_cmap0_validate, tt_cmap2_validate,
 2152 	tt_cmap4_validate, tt_cmap14_validate): Fix limit tests.
 2153 
 2154 2014-02-26  Werner Lemberg  <wl@gnu.org>
 2155 
 2156 	[winfnt] Fix Savannah bug #41694.
 2157 
 2158 	* src/winfonts/winfnt.c (FNT_Load_Glyph): Check glyph offset.
 2159 
 2160 2014-02-26  Werner Lemberg  <wl@gnu.org>
 2161 
 2162 	[cff] Fix Savannah bug #41693.
 2163 
 2164 	* src/cff/cffload.c (CFF_Load_FD_Select): Reject empty array.
 2165 
 2166 2014-02-26  Werner Lemberg  <wl@gnu.org>
 2167 
 2168 	[bdf] Fix Savannah bug #41692.
 2169 
 2170 	bdflib puts data from the input stream into a buffer in chunks of
 2171 	1024 bytes.  The data itself gets then parsed line by line, simply
 2172 	increasing the current pointer into the buffer; if the search for
 2173 	the final newline character exceeds the buffer size, more data gets
 2174 	read.
 2175 
 2176 	However, in case the current line's end is very near to the buffer
 2177 	end, and the keyword to compare with is longer than the current
 2178 	line's length, an out-of-bounds read might happen since `memcmp'
 2179 	doesn't stop properly at the string end.
 2180 
 2181 	* src/bdf/bdflib.c: s/ft_memcmp/ft_strncmp/ to make comparisons
 2182 	stop at string ends.
 2183 
 2184 2014-02-17  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2185 
 2186 	[autofit] Fix `make multi' compilation.
 2187 
 2188 	* src/autofit/hbshim.c: Include `afglobal.h' and `aftypes.h'.
 2189 
 2190 2014-02-19  Werner Lemberg  <wl@gnu.org>
 2191 	    Simon Bünzli  <zeniko@gmail.com>
 2192 
 2193 	Fix Savannah bug #32902.
 2194 
 2195 	Patch taken from
 2196 
 2197 	  https://code.google.com/p/sumatrapdf/source/browse/trunk/ext/_patches/freetype2.patch?spec=svn8620&r=8620#87
 2198 
 2199 	with slight modifications.
 2200 
 2201 	* src/type1/t1parse.c (T1_Get_Private_Dict): Add heuristic test to
 2202 	handle fonts that incorrectly use \r at the beginning of an eexec
 2203 	block.
 2204 
 2205 2014-02-19  Simon Bünzli  <zeniko@gmail.com>
 2206 
 2207 	Fix Savannah bug #41590.
 2208 
 2209 	* src/type1/t1load.c (parse_encoding): Protect against invalid
 2210 	number.
 2211 
 2212 2014-02-12  Dave Arnold  <darnold@adobe.com>
 2213 
 2214 	[cff] Optimize by using `FT_MulDiv'.
 2215 	Suggested by Alexei.
 2216 
 2217 	* src/cff/cf2font.c (cf2_computeDarkening): Do it.
 2218 
 2219 2014-02-12  Werner Lemberg  <wl@gnu.org>
 2220 
 2221 	Fix Savannah bug #41465.
 2222 
 2223 	* builds/unix/unix-def.in (CLEAN): Add `freetype-config'.
 2224 	(DISTCLEAN): Remove `freetype-config'.
 2225 
 2226 2014-02-08  Sean McBride  <sean@rogue-research.com>
 2227 
 2228 	Fix clang static analyzer and compiler warnings.
 2229 
 2230 	* src/autofit/afhints.c (af_glyph_hints_align_weak_points),
 2231 	src/autofit/afloader (af_loader_load_g) <FT_GLYPH_FORMAT_COMPOSITE>,
 2232 	src/base/ftcalc.c (FT_MSB), src/base/ftoutln.c
 2233 	(FT_Outline_Decompose), src/bdf/bdfdrivr.c (bdf_interpret_style),
 2234 	src/cff/cffparse.c (cff_parse_integer), src/cid/cidparse.c
 2235 	(cid_parser_new), src/pfr/pfrload.c (pfr_phy_font_load),
 2236 	src/raster/ftraster.c (Decompose_Curve), src/sfnt/sfdriver.c
 2237 	(sfnt_get_ps_name), src/sfnt/ttcmap.c (tt_cmap12_next,
 2238 	tt_cmap13_next), src/smooth/ftgrays.c (gray_hline): Remove dead
 2239 	code.
 2240 
 2241 	* src/autofit/afmodule.c (af_property_get_face_globals,
 2242 	af_property_set, af_property_get), src/base/ftbitmap.c
 2243 	(ft_gray_for_premultiplied_srgb_bgra): Make functions static.
 2244 
 2245 	* src/base/ftobjs.c (ft_remove_renderer): Protect against
 2246 	library == NULL.
 2247 	(ft_property_do): Make function static.
 2248 
 2249 	* src/base/ftrfork.c: Include `ftbase.h'.
 2250 
 2251 	* src/sfnt/ttsbit.c (tt_face_load_sbix_image)
 2252 	[!FT_CONFIG_OPTION_USE_PNG], src/type1/t1gload.c
 2253 	(T1_Compute_Max_Advance): Avoid compiler warning.
 2254 
 2255 	* src/truetype/ttinterp.c (TT_New_Context): Reduce scope of
 2256 	variable.
 2257 
 2258 2014-02-08  Werner Lemberg  <wl@gnu.org>
 2259 
 2260 	Fix Windows build directories.
 2261 
 2262 	The build target is now `windows' instead of `win32'.
 2263 
 2264 	Problem reported by Nickolas George <darknova.clan@gmail.com>.
 2265 
 2266 	* builds/modules.mk: Don't use `win32' and `win16' (!) but
 2267 	`windows'.
 2268 
 2269 	* builds/windows/detect.mk, builds/windows/win32-def.mk:
 2270 	s/win32/windows/.
 2271 
 2272 2014-02-08  Eugen Sawin  <esawin@mozilla.com>
 2273 
 2274 	Fix Savannah bug #41507.
 2275 
 2276 	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap)
 2277 	[!FT_CONFIG_OPTION_USE_PNG] <17, 17, 19>: Fix error handling.
 2278 
 2279 2014-02-08  Dave Arnold  <darnold@adobe.com>
 2280 
 2281 	[cff] Fix minor performance bug.
 2282 
 2283 	* src/cff/cf2font.c (cf2_font_setup): Darkening amount and blue zone
 2284 	calculations are now cached and not recomputed on each glyph.
 2285 
 2286 2014-02-05  Werner Lemberg  <wl@gnu.org>
 2287 
 2288 	Fix problems with perl 5.8.8 as distributed with current MinGW.
 2289 
 2290 	* src/tools/afblue.pl: Work-around for Perl bug #63402.
 2291 	(string_re): Avoid `possessive quantifiers', which have been
 2292 	introduced in Perl version 5.10.
 2293 
 2294 2014-02-04  Werner Lemberg  <wl@gnu.org>
 2295 
 2296 	Fix compilation with MinGW.
 2297 
 2298 	Right now, compilation out of the box with latest MinGW is broken
 2299 	due to bugs in header files of mingwrt 4.0.3 in strict ANSI mode,
 2300 	cf.
 2301 
 2302 	  https://sourceforge.net/p/mingw/bugs/2024/
 2303 	  https://sourceforge.net/p/mingw/bugs/2046/
 2304 
 2305 	* builds/unix/configure.raw: Don't set `-ansi' flag for MinGW.
 2306 
 2307 2014-02-04  Werner Lemberg  <wl@gnu.org>
 2308 
 2309 	[autofit] Minor fix.
 2310 
 2311 	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
 2312 	src/autofit/aflatin.c (af_latin_metrics_init_widths): Fix handling
 2313 	of alternative standard characters.
 2314 	This also fixes a compilation warning in non-debug mode.
 2315 
 2316 2014-02-03  Werner Lemberg  <wl@gnu.org>
 2317 
 2318 	[cff] Fix Savannah bug #41363.
 2319 
 2320 	* src/cff/cf2ft.c (cf2_checkTransform): Convert assertion into
 2321 	parameter check.
 2322 	(cf2_decoder_parse_charstrings): Call `cf2_checkTransform' only if
 2323 	we are scaling the outline.
 2324 	(cf2_getPpemY): Remove problematic assertion.
 2325 
 2326 2014-01-26  Werner Lemberg  <wl@gnu.org>
 2327 
 2328 	[autofit] Introduce two more slots for standard characters.
 2329 
 2330 	This is useful for OpenType features like `c2sc' (caps to small
 2331 	caps) that don't have lowercase letters by definition, or other
 2332 	features that mainly operate on numerals.
 2333 
 2334 	* src/autofit/afscript.h: Add more standard characters.
 2335 
 2336 	* src/autofit/aftypes.h: Update use of `SCRIPT' macro.
 2337 	(AF_ScriptClassRec): Add members to hold two more standard
 2338 	characters.
 2339 	(AF_DEFINE_SCRIPT_CLASS): Updated.
 2340 
 2341 	* src/autofit/afglobal.c, src/autofit/afglobal.h,
 2342 	* src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/hbshim.c:
 2343 	Update use of `SCRIPT' macro.
 2344 
 2345 	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
 2346 	src/autofit/aflatin.c (af_latin_metrics_init_widths): Scan two more
 2347 	standard characters.
 2348 
 2349 2014-01-24  Werner Lemberg  <wl@gnu.org>
 2350 
 2351 	Fix Savannah bug #41320.
 2352 
 2353 	* src/autofit/aflatin.c (af_latin_metrics_init_blues)
 2354 	<AF_LATIN_IS_LONG_BLUE>: Avoid negative index of `last'.
 2355 
 2356 2014-01-23  Werner Lemberg  <wl@gnu.org>
 2357 
 2358 	Fix Savannah bug #41310.
 2359 
 2360 	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap) <glyph_format==5>:
 2361 	Don't check metrics, which this format doesn't have.
 2362 	This is another correction to the commit from 2013-11-21.
 2363 
 2364 2014-01-23  Werner Lemberg  <wl@gnu.org>
 2365 
 2366 	Fix Savannah bug #41309.
 2367 
 2368 	* src/type1/t1load.c (t1_parse_font_matrix): Properly handle result
 2369 	of `T1_ToFixedArray'.
 2370 
 2371 	* src/cid/cidload.c (cid_parse_font_matrix): Synchronize with
 2372 	`t1_parse_font_matrix'.
 2373 
 2374 	* src/type42/t42parse.c (t42_parse_font_matrix): Synchronize with
 2375 	`t1_parse_font_matrix'.
 2376 	(t42_parse_encoding): Synchronize with `t1_parse_encoding'.
 2377 
 2378 	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>,
 2379 	<T1_FIELD_TYPE_MMOX>: Properly handle result of `ps_tofixedarray'.
 2380 
 2381 2014-01-22  Werner Lemberg  <wl@gnu.org>
 2382 
 2383 	* src/autofit/hbshim.c (af_get_coverage): Fix memory leaks.
 2384 
 2385 2014-01-16  Werner Lemberg  <wl@gnu.org>
 2386 
 2387 	[autofit] Improve tracing of style coverages.
 2388 
 2389 	* include/internal/fttrace.h: Add `afglobal' for tracing style
 2390 	coverages.
 2391 
 2392 	* src/autofit/afglobal.c: Include FT_INTERNAL_DEBUG_H.
 2393 	(FT_COMPONENT): Define.
 2394 	(af_face_globals_compute_style_coverage): Trace `gstyles' array
 2395 	data.
 2396 
 2397 2014-01-09  Werner Lemberg  <wl@gnu.org>
 2398 
 2399 	Fix Savannah bug #41158.
 2400 
 2401 	* builds/unix/install.mk (install): Create man page directory.
 2402 
 2403 2014-01-08  Chongyu Zhu  <lembacon@gmail.com>
 2404 
 2405 	[arm] Fix Savannah bug #41138, part 2.
 2406 
 2407 	* builds/unix/ftconfig.in (FT_MulFix_arm), include/config/ftconfig.h
 2408 	(FT_MulFix_arm), src/truetype/ttinterp.c (TT_MulFix14_arm): Fix
 2409 	preprocessor conditionals for `add.w'.
 2410 
 2411 2014-01-08  Werner Lemberg  <wl@gnu.org>
 2412 
 2413 	[autofit] Fix Savannah bug #41138, part 1.
 2414 
 2415 	* src/tools/afblue.pl <Handling #endif>: Produce correct auxiliary
 2416 	enumeration names for generated `#else'.
 2417 
 2418 	* src/autofit/afblue.h: Regenerated.
 2419 
 2420 2014-01-06  Werner Lemberg  <wl@gnu.org>
 2421 
 2422 	Add manual page for `freetype-config'.
 2423 	Contributed by Nis Martensen <nis.martensen@web.de>.
 2424 
 2425 	* docs/freetype-config.1: New file.
 2426 
 2427 	* builds/unix/unix-def.in (mandir): Define.
 2428 	* builds/unix/install.mk (install, uninstall): Handle manpage.
 2429 
 2430 2014-01-05  Werner Lemberg  <wl@gnu.org>
 2431 
 2432 	[autofit] Minor fixes for `afblue.pl'.
 2433 
 2434 	* src/tools/afblue.pl (aux_name): Don't use `reverse'.
 2435 	<Handling #endif>: Use proper indentation for generated `#else'.
 2436 
 2437 	* src/autofit/afblue.h: Regenerated.
 2438 
 2439 2014-01-04  Werner Lemberg  <wl@gnu.org>
 2440 
 2441 	[autofit] Fix Indic scripts.
 2442 
 2443 	Split the single, incorrect Indic entry into separate scripts so
 2444 	that the covered ranges are the same: Bengali, Devanagari, Gujarati,
 2445 	Gurmukhi, Kannada, Limbu, Malayalam, Oriya, Sinhala, Sundanese,
 2446 	Syloti Nagri, Tamil, Telugu, and Tibetan.  At the same time, remove
 2447 	entries for Meetei Mayek and Sharada – the Unicode ranges were
 2448 	incorrect (and nobody has complained about that), fonts are scarce
 2449 	for those scripts, and the Indic auto-hinter support is rudimentary
 2450 	anyways.
 2451 
 2452 	* src/autofit/afscript.h: Updated, using AF_CONFIG_OPTION_INDIC and
 2453 	AF_CONFIG_OPTION_CJK.
 2454 
 2455 	* src/autofit/afstyles.h (STYLE_DEFAULT_INDIC): New auxiliary macro.
 2456 	Use it, together with AF_CONFIG_OPTION_INDIC and
 2457 	AF_CONFIG_OPTION_CJK, to update.
 2458 
 2459 	* src/autofit/afranges.c [AF_CONFIG_OPTION_INDIC]: Updated.
 2460 	[!AF_CONFIG_OPTION_INDIC, !AF_CONFIG_OPTION_CJK]: Removed.
 2461 	Sort entries by tags.
 2462 
 2463 2014-01-03  Werner Lemberg  <wl@gnu.org>
 2464 
 2465 	[autofit] Thinko.
 2466 
 2467 	* src/autofit/hbshim.c (af_get_char_index): Similar to
 2468 	`af_get_coverage', reject glyphs which are not substituted.
 2469 
 2470 2014-01-03  Werner Lemberg  <wl@gnu.org>
 2471 
 2472 	[autofit] Fix handling of default coverages.
 2473 
 2474 	With this commit, the implementation of coverage handling is
 2475 	completed.
 2476 
 2477 	* src/autofit/hbshim.c (af_get_coverage): Exit early if nothing to
 2478 	do.
 2479 	Reject coverages which don't contain appropriate glyphs for blue
 2480 	zones.
 2481 
 2482 2014-01-03  Werner Lemberg  <wl@gnu.org>
 2483 
 2484 	[autofit] Fix handling of default coverages.
 2485 
 2486 	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
 2487 	First handle non-default coverages, then the default coverage of the
 2488 	default script, and finally the other default coverages.
 2489 
 2490 2014-01-03  Werner Lemberg  <wl@gnu.org>
 2491 
 2492 	[autofit] Fix scaling of HarfBuzz shaping.
 2493 
 2494 	* src/autofit/hbshim.c (af_get_char_index): Scale to units per EM.
 2495 
 2496 2014-01-03  Werner Lemberg  <wl@gnu.org>
 2497 
 2498 	[autofit] Better ftgrid support.
 2499 
 2500 	* src/autofit/afhints.c (af_glyph_hints_get_segment_offset): Add
 2501 	parameters `is_blue' and `blue_offset'.
 2502 
 2503 2014-01-01  Werner Lemberg  <wl@gnu.org>
 2504 
 2505 	[autofit] Remove some styles.
 2506 
 2507 	* src/autofit/afcover.h: Remove coverages for alternative fractions,
 2508 	denominators, numerators, and fractions.
 2509 
 2510 	* src/autofit/afstyles.h (META_STYLE_LATIN): Updated.
 2511 
 2512 2014-01-01  Werner Lemberg  <wl@gnu.org>
 2513 
 2514 	[autofit] Add more styles.
 2515 
 2516 	* src/autofit/afstyles.h (STYLE_LATIN, META_STYLE_LATIN): New
 2517 	auxiliary macros; use them to define styles for Cyrillic, Greek, and
 2518 	Latin.
 2519 
 2520 	* src/autofit/afcover.h: Remove coverage for oldstyle figures.
 2521 	Since those digits are used in combination with ordinary letters, it
 2522 	makes no sense to handle them separately.
 2523 
 2524 	* src/autofit/afglobal.c (af_face_globals_get_metrics): Don't limit
 2525 	`options' parameter to 4 bits.
 2526 
 2527 2014-01-01  Werner Lemberg  <wl@gnu.org>
 2528 
 2529 	[autofit] Fix style assignments to glyphs.
 2530 
 2531 	* src/autofit/hbshim.c (af_get_coverage)
 2532 	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Scan GPOS coverage of features also
 2533 	so that we can skip glyphs that have both GSUB and GPOS data.
 2534 
 2535 2014-01-01  Werner Lemberg  <wl@gnu.org>
 2536 
 2537 	* src/autofit/hbshim.c: s/{lookups,glyphs}/gsub_{lookups,glyphs}/.
 2538 
 2539 2014-01-01  Werner Lemberg  <wl@gnu.org>
 2540 
 2541 	[autofit] Implement and use `af_get_char_index' with HarfBuzz.
 2542 
 2543 	* src/autofit/hbshim.c (COVERAGE) [FT_CONFIG_OPTION_USE_HARFBUZZ]:
 2544 	Redefine to construct HarfBuzz features.
 2545 	(af_get_char_index) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Rewritten.
 2546 
 2547 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Use
 2548 	`y_offset' to adjust `best_y'.
 2549 
 2550 2013-12-31  Werner Lemberg  <wl@gnu.org>
 2551 
 2552 	[autofit] s/AF_STYLE_...._DEFAULT/AF_STYLE_...._DFLT/i.
 2553 
 2554 2013-12-31  Werner Lemberg  <wl@gnu.org>
 2555 
 2556 	[autofit] Fix interface of `af_get_char_index'.
 2557 
 2558 	* src/autofit/hbshim.c (af_get_char_index): Return error value.
 2559 	Add argument for y offset (to be used in a yet-to-come patch).
 2560 
 2561 	* src/autofit/hbshim.h, src/autofit/afcjk.c,
 2562 	src/autofit/aflatin.c: Updated.
 2563 
 2564 2013-12-30  Werner Lemberg  <wl@gnu.org>
 2565 
 2566 	[autofit] Don't combine multiple features into one set.
 2567 
 2568 	Combining them, as originally envisioned, would lead to much more
 2569 	complicated code, as investigations have shown meanwhile.  The major
 2570 	drawback is that we run out of available style slots much earlier.
 2571 	However, this is only a theoretical issue since we don't support a
 2572 	large number of scripts currently.
 2573 
 2574 	* src/autofit/afcover.h: Replace `COVERAGE_{1,2,3}' macros with
 2575 	a single-element `COVERAGE' macro, sort the elements by the feature
 2576 	tags, and add entry for `ruby'.
 2577 
 2578 	* src/autofit/aftypes.h: Updated.
 2579 	* src/autofit/hbshim.c: Updated.
 2580 
 2581 2013-12-28  Werner Lemberg  <wl@gnu.org>
 2582 
 2583 	[autofit] Code shuffling to reduce use of cpp macros.
 2584 
 2585 	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
 2586 	Call `af_get_coverage' unconditionally.
 2587 
 2588 	* src/autofit/autofit.c: Include `hbshim.c' unconditionally.
 2589 
 2590 	* src/autofit/hbshim.c (af_get_coverage)
 2591 	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Provide dummy function.
 2592 
 2593 	* src/autofit/hbshim.h: Provide function declarations
 2594 	unconditionally.
 2595 
 2596 2013-12-28  Werner Lemberg  <wl@gnu.org>
 2597 
 2598 	[autofit] Add wrapper function for `FT_Get_Char_Index'.
 2599 
 2600 	Yet-to-come changes will provide HarfBuzz functionality for the new
 2601 	function.
 2602 
 2603 	* src/autofit/hbshim.c (af_get_char_index): New function.
 2604 	* src/autofit/hbshim.h: Updated.
 2605 
 2606 	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
 2607 	af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
 2608 
 2609 	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
 2610 	af_latin_metrics_init_blues, af_latin_metrics_check_digits):
 2611 	Updated.
 2612 
 2613 2013-12-28  Werner Lemberg  <wl@gnu.org>
 2614 
 2615 	[autofit] Use `global' HarfBuzz font object.
 2616 
 2617 	We now use `hb_font' instead of `hb_face' since yet-to-come changes
 2618 	need this.
 2619 
 2620 	* src/autofit/afglobal.h: Include `hbshim.h'.
 2621 	(AF_FaceGlobalsRec) [FT_CONFIG_OPTION_USE_HARFBUZZ]: New member
 2622 	`hb_font'.
 2623 
 2624 	* src/autofit/afglobal.c (af_face_globals_new)
 2625 	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Create `hb_font'.
 2626 	(af_face_globals_free) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Destroy
 2627 	`hb_font'.
 2628 
 2629 	* src/autofit/hbshim.h: Include HarfBuzz headers.
 2630 
 2631 	* src/autofit/hbshim.c: Include `hbshim.h' instead of HarfBuzz
 2632 	headers.
 2633 	(af_get_coverage): Updated.
 2634 
 2635 2013-12-27  Werner Lemberg  <wl@gnu.org>
 2636 
 2637 	[autofit] Handle `DFLT' OpenType script for coverages.
 2638 
 2639 	* include/ftautoh.h: Document new `default-script' property.
 2640 
 2641 	* src/autofit/hbshim.c (af_get_coverage): Use `AF_FaceGlobals' for
 2642 	type of first parameter.
 2643 	(script_tags): Add one more element.
 2644 	(af_get_coverage): Adjust `script_tags' to handle `DFLT' script tag.
 2645 
 2646 	* src/autofit/hbshim.h: Updated.
 2647 
 2648 	* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
 2649 	Updated.
 2650 
 2651 	* src/autofit/afglobal.h (AF_SCRIPT_DEFAULT): New macro.
 2652 
 2653 	* src/autofit/afmodule.h (AF_ModuleRec): New `default_script'
 2654 	member.
 2655 
 2656 	* src/autofit/afmodule.c (af_property_set, af_property_get): Handle
 2657 	`default-script' property.
 2658 	(af_autofitter_init): Updated.
 2659 
 2660 2013-12-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2661 
 2662 	[ftrfork] Fix the face order difference between POSIX and Carbon.
 2663 
 2664 	The fragmented resources in Suitcase and .dfont should be reordered
 2665 	when `POST' resource for Type1 is being restored, but reordering of
 2666 	sfnt resources induces the different face order.  Now the ordering
 2667 	is restricted to `POST' resource only, to prevent the different
 2668 	order issue (e.g. the face index in the fontconfig cache generated
 2669 	with Carbon framework is incompatible with that by FreeType 2
 2670 	without Carbon framework.)  Found by Khaled Hosny and Hin-Tak Leung.
 2671 
 2672 	https://lists.gnu.org/archive/html/freetype-devel/2013-02/msg00035.html
 2673 	https://lists.gnu.org/archive/html/freetype-devel/2013-12/msg00027.html
 2674 
 2675 	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Add a switch
 2676 	`sort_by_res_id' to control the fragmented resource ordering.
 2677 	* include/internal/ftrfork.h: Declare new switch.
 2678 	* src/base/ftobjs.c (IsMacResource): Enable the sorting for `POST'
 2679 	resource, and disable the sorting for `sfnt' resource.
 2680 
 2681 2013-12-25  Werner Lemberg  <wl@gnu.org>
 2682 
 2683 	Fix Savannah bug #40997.
 2684 
 2685 	* src/bdf/bdfdrivr.c (BDF_Face_Init): Only use OR operator to
 2686 	adjust face flags since FT_FACE_FLAG_EXTERNAL_STREAM might already
 2687 	be set.
 2688 	* src/cff/cffobjs.c (cff_face_init): Ditto.
 2689 	* src/cid/cidobjs.c (cid_face_init): Ditto.
 2690 	* src/pcf/pcfread.c (pcf_load_font): Ditto.
 2691 	* src/pfr/pfrobjs.c (pfr_face_init): Ditto.
 2692 	* src/type1/t1objs.c (T1_Face_Init): Ditto.
 2693 	* src/type42/t42objs.c (T42_Face_Init): Ditto.
 2694 	* src/winfonts/winfnt.c (FNT_Face_Init): Ditto.
 2695 
 2696 2013-12-21  Werner Lemberg  <wl@gnu.org>
 2697 
 2698 	[autofit] Introduce `coverages'.
 2699 
 2700 	Coverages are the interface to the HarfBuzz library to access
 2701 	OpenType features for handling glyphs not addressable by the cmap.
 2702 
 2703 	Right now, compilation of HarfBuzz is only added to the development
 2704 	build.  A solution for standard build mode will be delayed until
 2705 	HarfBuzz gets split into two libraries to avoid mutual dependencies
 2706 	between FreeType and HarfBuzz.
 2707 
 2708 	Note that this is only a first step in handling coverages, basically
 2709 	providing the framework only.  Code for handling selected OpenType
 2710 	features (this is, actually using the data in `afcover.h') will
 2711 	follow.
 2712 
 2713 	* devel/ftoption.h, include/config/ftoption.h
 2714 	(FT_CONFIG_OPTION_USE_HARFBUZZ): New macro.
 2715 
 2716 	* src/autofit/hbshim.c, src/autofit/hbshim.h, src/autofit/afcover.h:
 2717 	New files.
 2718 
 2719 	* src/autofit/afscript.h: Add HarfBuzz script name tags.
 2720 
 2721 	* src/autofit/afstyles.h: Add default coverage enumeration values.
 2722 
 2723 	* src/autofit/aftypes.h: Update use of `SCRIPT' and `STYLE' macros.
 2724 	(AF_Coverage): New enumeration (generated by `afcover.h').
 2725 	(AF_StyleClassRec): New member `coverage'.
 2726 	(AF_DEFINE_STYLE_CLASS): Updated.
 2727 
 2728 	* include/internal/fttrace.h: Add `afharfbuzz' for tracing coverage
 2729 	data.
 2730 
 2731 	* src/autofit/afglobal.h: Update use of `SCRIPT' and `STYLE' macros.
 2732 	(AF_SCRIPT_FALLBACK): Renamed to ...
 2733 	(AF_STYLE_FALLBACK): ... this.
 2734 
 2735 	* src/autofit/afglobal.c: Include `hbshim.c'.
 2736 	Update use of `SCRIPT' and `STYLE' macros.
 2737 	(af_face_globals_compute_style_coverage)
 2738 	[FT_CONFIG_OPTION_USE_HARFBUZZ]: Call `af_get_coverage'.
 2739 	Update.
 2740 
 2741 	* src/autofit/afmodule.h (AF_ModuleRec):
 2742 	s/fallback_script/fallback_style/.
 2743 
 2744 	* src/autofit/afmodule.c (af_property_set): Adapt handling of
 2745 	`fallback-script' property to set a fallback style.
 2746 	(af_property_get, af_autofitter_init): Updated.
 2747 
 2748 	* src/autofit/afpic.c: Update use of `SCRIPT' and `STYLE' macros.
 2749 
 2750 	* src/autofit/afranges.h: Update use of `SCRIPT' macro.
 2751 
 2752 	* src/autofit/autofit.c [FT_CONFIG_OPTION_USE_HARFBUZZ]: Include
 2753 	`hbshim.c'.
 2754 
 2755 	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `hbshim.c'.
 2756 	(AUTOF_DRV_H): Add `afcover.h'.
 2757 
 2758 	* builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Use pkg-config for
 2759 	all libraries needed by FreeType.
 2760 
 2761 2013-12-21  Werner Lemberg  <wl@gnu.org>
 2762 
 2763 	Fix Savannah bug #40975 (sort of).
 2764 
 2765 	* src/truetype/ttinterp.c (Ins_IP): Fix sign typo to make FreeType
 2766 	behave the same as the Windows TrueType engine for the invalid case.
 2767 
 2768 2013-12-21  Werner Lemberg  <wl@gnu.org>
 2769 
 2770 	[autofit] Make PIC mode work actually.
 2771 
 2772 	* src/autofit/afpic.h (AFModulePIC): Fix array sizes to fit the
 2773 	enumeration values automatically generated by including `afscript.h'
 2774 	and friends.
 2775 
 2776 	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
 2777 
 2778 2013-12-21  Werner Lemberg  <wl@gnu.org>
 2779 
 2780 	Fix PIC linking.
 2781 
 2782 	* include/internal/ftrfork.h (CONST_FT_RFORK_RULE_ARRAY_BEGIN): Fix
 2783 	generated function name.
 2784 
 2785 	* src/base/basepic.c (FT_Init_Table_raccess_guess_table): Rename
 2786 	to ...
 2787 	(FT_Init_Table_ft_raccess_guess_table): ... this so that the
 2788 	function name correctly corresponds to what the macro framework
 2789 	expects.
 2790 
 2791 	* src/psnames/rules.mk (PSNAMES_DRV_SRC_S): Use correct file name so
 2792 	that PIC functions are compiled also.
 2793 
 2794 2013-12-21  Werner Lemberg  <wl@gnu.org>
 2795 
 2796 	[base] Add missing dependencies to Makefile.
 2797 
 2798 	* src/base/rules.mk (BASE_SRC): Add `basepic.c' and `ftpic.c'.
 2799 	(BASE_H): Add `basepic.h'.
 2800 
 2801 2013-12-20  Werner Lemberg  <wl@gnu.org>
 2802 
 2803 	[autofit] Fix PIC compilation.
 2804 
 2805 	* src/autofit/afcjk.c (af_cjk_metrics_init_widths),
 2806 	src/autofit/aflatin.c (af_latin_metrics_init_widths)
 2807 	[FT_CONFIG_OPTION_PIC]: Declare `globals'.
 2808 
 2809 	* src/autofit/afglobal.c: Always call AF_DEFINE_SCRIPT_CLASS, and
 2810 	AF_DEFINE_STYLE_CLASS.
 2811 
 2812 	* src/autofit/afpic.c: Include `afglobal.h'.
 2813 	(autofit_module_class_pic_init): Typo.
 2814 
 2815 	* src/autofit/aftypes.h (AF_DEFINE_SCRIPT_CLASS,
 2816 	AF_DEFINE_STYLE_CLASS): Don't use the same identifier for macro
 2817 	parameter and structure member.
 2818 
 2819 2013-12-20  Werner Lemberg  <wl@gnu.org>
 2820 
 2821 	[autofit] Introduce `styles'.
 2822 
 2823 	This is the new top-level structure for handling glyph input data;
 2824 	scripts are now defined separately.
 2825 
 2826 	* src/autofit/aftypes.h (SCRIPT): Updated.
 2827 	(AF_ScriptClassRec): Move `blue_stringset' and `writing_system'
 2828 	members to ...
 2829 	(AF_Style_ClassRec): ... this new structure.
 2830 	(AF_Style): New enumeration.
 2831 	(AF_StyleMetricsRec): Replace `script' enumeration with
 2832 	`style_class' pointer.
 2833 	(AF_DEFINE_SCRIPT_CLASS, AF_DECLARE_SCRIPT_CLASS): Updated.
 2834 	(AF_DEFINE_STYLE_CLASS, AF_DECLARE_STYLE_CLASS): New macros.
 2835 
 2836 	* src/autofit/afstyles.h: New file, using data from `afscript.h'.
 2837 	* src/autofit/afscript.h: Updated.
 2838 
 2839 	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
 2840 	af_cjk_metrics_init_blues, af_cjk_hint_edges): Updated.
 2841 
 2842 	* src/autofit/afglobal.c (SCRIPT): Updated.
 2843 	(STYLE): Redefine macro to load `afstyles.h'.
 2844 	(af_script_names) [FT_DEBUG_LEVEL_TRACE]: Replace with...
 2845 	(af_style_names): ... this array.
 2846 	(af_face_globals_compute_script_coverage): Renamed to...
 2847 	(af_face_globals_compute_style_coverage): ... this.
 2848 	Updated.
 2849 	(af_face_globals_new, af_face_globals_free,
 2850 	af_face_globals_get_metrics): Updated.
 2851 
 2852 	* src/autofit/afglobal.h (SCRIPT): Updated.
 2853 	(STYLE): Redefine macro to load `afstyles.h'.
 2854 	(AF_SCRIPT_FALLBACK): Update definition.  This will get more
 2855 	refinements with later on.
 2856 	(AF_SCRIPT_UNASSIGNED): Replace with...
 2857 	(AF_STYLE_UNASSIGNED): ... this macro.
 2858 	(AF_FaceGlobalsRec): Updated.
 2859 
 2860 	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
 2861 	af_latin_metrics_init_blues, af_latin_metrics_scale_dim,
 2862 	af_latin_hint_edges): Updated.
 2863 
 2864 	* src/autofit/aflatin2.c (af_latin2_metrics_init_widths): Updated.
 2865 	(af_ltn2_uniranges): Removed.
 2866 
 2867 	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
 2868 	Updated.
 2869 
 2870 	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
 2871 	* src/autofit/afpic.h (AF_STYLE_CLASSES_GET): New macro.
 2872 	(AFModulePIC): Add `af_style_classes' and `af_style_classes_rec'
 2873 	members.
 2874 
 2875 	* src/autofit/afranges.h: Updated.
 2876 
 2877 	* src/autofit/rules.mk (AUTOF_DRV_H): Add `afstyles.h'.
 2878 
 2879 2013-12-19  Werner Lemberg  <wl@gnu.org>
 2880 
 2881 	[autofit] Factor scripts and uniranges out of writing system files.
 2882 
 2883 	* src/autofit/afranges.c, src/autofit/afranges.h: New files.
 2884 
 2885 	* src/autofit/afscript.h: Extend `SCRIPT' macro with more
 2886 	parameters, taking data from the writing system files.
 2887 
 2888 	* src/autofit/aftypes.h: Updated.
 2889 
 2890 	* src/autofit/afglobal.c: Include `afranges.h'.
 2891 	Load `afscript.h' to call AF_DEFINE_SCRIPT_CLASS.
 2892 	* src/autofit/afglobal.c: Include `afranges.h'.
 2893 	Load `afscript.h' to call AF_DECLARE_SCRIPT_CLASS.
 2894 
 2895 	* src/autofit/afcjk.c, src/autofit/afcjk.h: Updated.
 2896 	* src/autofit/afdummy.c, src/autofit/afdummy.h: Updated.
 2897 	* src/autofit/afindic.c, src/autofit/afindic.h: Updated.
 2898 	* src/autofit/aflatin.c, src/autofit/aflatin.h: Updated.
 2899 	* src/autofit/aflatin2.c, src/autofit/aflatin2.h: Updated.
 2900 
 2901 	* src/autofit/afpic.c: Updated.
 2902 
 2903 	* src/autofit/autofit.c: Include `afranges.c'.
 2904 	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afranges.c'.
 2905 
 2906 2013-12-18  Werner Lemberg  <wl@gnu.org>
 2907 
 2908 	[autofit] More code orthogonality.
 2909 
 2910 	* src/autofit/aftypes.h (AF_StyleMetrics): Replace `script_class'
 2911 	pointer to an `AF_ScriptClass' structure with `script' index of type
 2912 	`AF_Script'.
 2913 	Move some code around.
 2914 
 2915 	* src/autofit/afcjk.c: Include `afpic.h'.
 2916 	(af_cjk_metrics_init_widths, af_cjk_metrics_init_blues,
 2917 	af_cjk_hint_edges): Updated.
 2918 
 2919 	* src/autofit/aflatin.c: Include `afpic.h'.
 2920 	(af_latin_metrics_init_widths, af_latin_metrics_init_blues,
 2921 	af_latin_metrics_scale_dim, af_latin_hint_edges): Updated.
 2922 
 2923 	* src/autofit/afglobal.c (af_face_globals_get_metrics): Updated.
 2924 
 2925 	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
 2926 	Updated.
 2927 
 2928 2013-12-18  Werner Lemberg  <wl@gnu.org>
 2929 
 2930 	[autofit] s/ScriptMetrics/StyleMetrics/.
 2931 
 2932 2013-12-18  Werner Lemberg  <wl@gnu.org>
 2933 
 2934 	[autofit] s/script_{metrics,hints}/style_{metrics,hints}/
 2935 
 2936 2013-12-18  Werner Lemberg  <wl@gnu.org>
 2937 
 2938 	[autofit] s/gscripts/gstyles/.
 2939 
 2940 2013-12-18  Werner Lemberg  <wl@gnu.org>
 2941 
 2942 	[autofit] s/glyph_scripts/glyph_styles/.
 2943 
 2944 	This is the first commit of a series to create a new top-level
 2945 	structure (a `style') for handling scripts, writing_systems, and
 2946 	soon-to-be-added coverages.
 2947 
 2948 2013-12-17  Werner Lemberg  <wl@gnu.org>
 2949 
 2950 	[autofit] s/AF_Script_/AF_WritingSystem_/ where appropriate.
 2951 
 2952 2013-12-11  Infinality  <infinality@infinality.net>
 2953 
 2954 	[truetype] Simplify logic of rendering modes.
 2955 
 2956 	This patch unifies the subpixel and non-subpixel cases.
 2957 
 2958 	* src/truetype/ttinterp.h (TT_ExecContextRec): Remove
 2959 	`grayscale_hinting'; all code should refer to `grayscale' instead.
 2960 	Remove unused `native_hinting' member.
 2961 	Rename `subpixel_hinting' member to `subpixel.
 2962 
 2963 	* src/truetype/ttgload.c (TT_LOADER_SET_PP): Updated.
 2964 	(tt_loader_init): Updated.
 2965 
 2966 	* src/truetype/ttinterp.c (Ins_GETINFO): Simplify.
 2967 	Updated.
 2968 
 2969 2013-12-11  Werner Lemberg  <wl@gnu.org>
 2970 
 2971 	[documentation] Add section how to include FreeType header files.
 2972 	Problem reported by David Kastrup <dak@gnu.org>.
 2973 
 2974 	Surprisingly, a description how to do that was completely missing in
 2975 	the API reference.
 2976 
 2977 	* include/freetype.h, include/ftchapters.h: New documentation
 2978 	section `header_inclusion'.
 2979 
 2980 2013-12-10  Werner Lemberg  <wl@gnu.org>
 2981 
 2982 	[autofit] s/DFLT/NONE/, s/dflt/none/.
 2983 
 2984 2013-12-10  Werner Lemberg  <wl@gnu.org>
 2985 
 2986 	[autofit] s/AF_SCRIPT_NONE/AF_SCRIPT_UNASSIGNED/.
 2987 
 2988 2013-12-10  Werner Lemberg  <wl@gnu.org>
 2989 
 2990 	[truetype] Fix scaling of vertical phantom points.
 2991 
 2992 	* src/truetype/ttgload.c (load_truetype_glyph): Scale pp3.x and
 2993 	pp4.x also.
 2994 
 2995 2013-12-10  Werner Lemberg  <wl@gnu.org>
 2996 
 2997 	[truetype] Fix positioning of composite glyphs.
 2998 	Problem reported by Nigel Tao <nigeltao@golang.org>.
 2999 
 3000 	* src/truetype/ttgload.c (TT_Hint_Glyph): Remove code that shifts
 3001 	the glyph (component) by a fractional value computed from the LSB
 3002 	phantom point.  This is wrong, since the horizontal phantom points
 3003 	get rounded horizontally later on.
 3004 
 3005 2013-12-08  Werner Lemberg  <wl@gnu.org>
 3006 
 3007 	* Version 2.5.2 released.
 3008 	=========================
 3009 
 3010 
 3011 	Tag sources with `VER-2-5-2'.
 3012 
 3013 	* docs/VERSION.DLL: Update documentation and bump version number to
 3014 	2.5.2.
 3015 
 3016 	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
 3017 	builds/windows/vc2005/index.html,
 3018 	builds/windows/vc2008/freetype.vcproj,
 3019 	builds/windows/vc2008/index.html,
 3020 	builds/windows/vc2010/freetype.vcxproj,
 3021 	builds/windows/vc2010/index.html,
 3022 	builds/windows/visualc/freetype.dsp,
 3023 	builds/windows/visualc/freetype.vcproj,
 3024 	builds/windows/visualc/index.html,
 3025 	builds/windows/visualce/freetype.dsp,
 3026 	builds/windows/visualce/freetype.vcproj,
 3027 	builds/windows/visualce/index.html,
 3028 	builds/wince/vc2005-ce/freetype.vcproj,
 3029 	builds/wince/vc2005-ce/index.html,
 3030 	builds/wince/vc2008-ce/freetype.vcproj,
 3031 	builds/wince/vc2008-ce/index.html: s/2.5.1/2.5.2/, s/251/252/.
 3032 
 3033 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
 3034 
 3035 	* builds/unix/configure.raw (version_info): Set to 17:1:11.
 3036 	* CMakeLists.txt (VERSION_PATCH): Set to 2.
 3037 	* docs/CHANGES: Updated.
 3038 
 3039 2013-12-07  Werner Lemberg  <wl@gnu.org>
 3040 
 3041 	[truetype] Next round in phantom point handling.
 3042 
 3043 	Greg Hitchcock provided very interesting insights into the
 3044 	complicated history of the horizontal positions of the TSB and BSB
 3045 	phantom points.
 3046 
 3047 	* src/truetype/ttgload.c (TT_LOADER_SET_PP)
 3048 	[TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Use `subpixel_hinting' and
 3049 	`grayscale_hinting' flags as conditionals for the x position of TSB
 3050 	and BSB.
 3051 
 3052 2013-12-05  Werner Lemberg  <wl@gnu.org>
 3053 
 3054 	* builds/freetype.mk (FT_CC): Removed.  Unused.
 3055 
 3056 2013-12-04  Werner Lemberg  <wl@gnu.org>
 3057 
 3058 	[sfnt] Fix handling of embedded bitmap strikes.
 3059 
 3060 	This corrects the commit from 2013-11-21.  Problem reported by
 3061 	Andrey Panov <panov@canopus.iacp.dvo.ru>.
 3062 
 3063 	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Fix logic to
 3064 	detect excessive bytes for bit-aligned bitmaps.
 3065 
 3066 2013-12-03  Werner Lemberg  <wl@gnu.org>
 3067 
 3068 	[truetype] Remove dead code.
 3069 
 3070 	Reported by Nigel Tao <nigeltao@golang.org>.
 3071 
 3072 	* include/internal/tttypes.h (TT_LoaderRec): Remove unused
 3073 	`preserve_pps' field.
 3074 	* src/truetype/ttgload.c (TT_Hint_Glyph): Updated.
 3075 
 3076 2013-12-03  Werner Lemberg  <wl@gnu.org>
 3077 
 3078 	[truetype] Fix phantom point handling.
 3079 
 3080 	This is a further improvement to the changes from 2013-11-06.
 3081 
 3082 	* src/truetype/ttgload.c (TT_Hint_Glyph): Horizontal phantom points
 3083 	are rounded horizontally, vertical ones are rounded vertically.
 3084 	(TT_LOADER_SET_PP): The horizontal position of vertical phantom
 3085 	points in pre-ClearType mode is zero, as shown in the OpenType
 3086 	specification.
 3087 
 3088 2013-12-02  Werner Lemberg  <wl@gnu.org>
 3089 
 3090 	[truetype] Fix change from 2013-11-20.
 3091 
 3092 	Problem reported by Akira Kakuto <kakuto@fuk.kindai.ac.jp>.
 3093 
 3094 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Protect call to
 3095 	`Update_Max' with both a TT_USE_BYTECODE_INTERPRETER guard and a
 3096 	`IS_HINTED' clause.
 3097 	Also remove redundant check using `maxSizeOfInstructions' – in
 3098 	simple glyphs, the bytecode data comes before the outline data, and
 3099 	a validity test for this is already present.
 3100 
 3101 2013-11-27  Werner Lemberg  <wl@gnu.org>
 3102 
 3103 	[autofit] Fix use of dumping functions in `ftgrid' demo program.
 3104 
 3105 	* src/autofit/afhints.c (AF_DUMP) [FT_DEBUG_AUTOFIT]: New macro.
 3106 	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
 3107 	af_glyph_hints_dump_edges) [FT_DEBUG_AUTOFIT]: Add parameter to
 3108 	handle output to stdout.
 3109 	Use AF_DUMP.
 3110 	(af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
 3111 	af_glyph_hints_dump_edges) [!FT_DEBUG_AUTOFIT]: Removed.
 3112 
 3113 2013-11-25  Werner Lemberg  <wl@gnu.org>
 3114 
 3115 	* Version 2.5.1 released.
 3116 	=========================
 3117 
 3118 
 3119 	Tag sources with `VER-2-5-1'.
 3120 
 3121 	* docs/VERSION.DLL: Update documentation and bump version number to
 3122 	2.5.1.
 3123 
 3124 	* README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
 3125 	builds/windows/vc2005/index.html,
 3126 	builds/windows/vc2008/freetype.vcproj,
 3127 	builds/windows/vc2008/index.html,
 3128 	builds/windows/vc2010/freetype.vcxproj,
 3129 	builds/windows/vc2010/index.html,
 3130 	builds/windows/visualc/freetype.dsp,
 3131 	builds/windows/visualc/freetype.vcproj,
 3132 	builds/windows/visualc/index.html,
 3133 	builds/windows/visualce/freetype.dsp,
 3134 	builds/windows/visualce/freetype.vcproj,
 3135 	builds/windows/visualce/index.html,
 3136 	builds/wince/vc2005-ce/freetype.vcproj,
 3137 	builds/wince/vc2005-ce/index.html,
 3138 	builds/wince/vc2008-ce/freetype.vcproj,
 3139 	builds/wince/vc2008-ce/index.html: s/2.5.0/2.5.1/, s/250/251/.
 3140 
 3141 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
 3142 
 3143 	* builds/unix/configure.raw (version_info): Set to 17:0:11.
 3144 	* CMakeLists.txt (VERSION_PATCH): Set to 1.
 3145 	* docs/CHANGES, docs/release: Updated.
 3146 
 3147 2013-11-23  Werner Lemberg  <wl@gnu.org>
 3148 
 3149 	[truetype]: Add tricky font names `hkscsiic.ttf' and `iicore.ttf'.
 3150 
 3151 	* src/truetype/ttobjs.c (TRICK_NAMES_MAX_CHARACTERS,
 3152 	TRICK_NAMES_COUNT): Updated.
 3153 	(trick_names): Add family name for the two fonts.
 3154 
 3155 2013-11-23  Werner Lemberg  <wl@gnu.org>
 3156 
 3157 	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Typo.
 3158 
 3159 2013-11-21  Werner Lemberg  <wl@gnu.org>
 3160 
 3161 	[sfnt] Typo.
 3162 
 3163 	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
 3164 
 3165 	* src/sfnt/sfobjs.c (sfnt_load_face): Return correct `bsize->width'
 3166 	value if the font lacks an `OS/2' table.
 3167 
 3168 2013-11-21  Werner Lemberg  <wl@gnu.org>
 3169 
 3170 	[sfnt] Improve handling of buggy embedded bitmap strikes.
 3171 
 3172 	We are now able to successfully load `AppleMyoungJo.ttf'.
 3173 	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
 3174 
 3175 	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Don't trust glyph
 3176 	format.
 3177 
 3178 2013-11-20  Werner Lemberg  <wl@gnu.org>
 3179 
 3180 	[truetype] Don't trust `maxp's `maxSizeOfInstructions'.
 3181 
 3182 	Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>; see
 3183 
 3184 	  https://lists.nongnu.org/archive/html/freetype-devel/2013-08/msg00005.html
 3185 
 3186 	for details.
 3187 
 3188 	* src/base/ftobjs.c (FT_Load_Glyph): Check size of `fpgm' and `prep'
 3189 	tables also for setting `autohint'.
 3190 
 3191 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Use code from
 3192 	`TT_Process_Composite_Glyph' for handling unreliable values of
 3193 	`maxSizeOfInstructions'.
 3194 
 3195 2013-11-16  Werner Lemberg  <wl@gnu.org>
 3196 
 3197 	[sfnt] Fix `OS/2' table version 5 support.
 3198 
 3199 	We now follow the `official' announcement from Microsoft (on the
 3200 	OpenType mailing list, which unfortunately hasn't a public archive).
 3201 
 3202 	* include/freetype/tttables.h (TT_OS2):
 3203 	s/usLowerPointSize/usLowerOpticalPointSize/,
 3204 	s/usUpperPointSize/usUpperOpticalPointSize/.
 3205 
 3206 	* src/sfnt/ttload.c (tt_face_load_os2): Update, and set correct
 3207 	default values.
 3208 
 3209 2013-11-13  Werner Lemberg  <wl@gnu.org>
 3210 
 3211 	* builds/unix/ft2unix.h: Remove.  No longer necessary.
 3212 
 3213 	* builds/unix/install.mk (install): Updated.
 3214 
 3215 2013-11-13  Werner Lemberg  <wl@gnu.org>
 3216 
 3217 	Simplify header file hierarchy.
 3218 
 3219 	This large patch changes the header file directory layout from
 3220 	`include/freetype/...' to `include/...', effectively removing one
 3221 	level.  Since the file `ft2build.h' is also located in `include'
 3222 	(and it stays there even after installation), all FreeType header
 3223 	files are now in a single directory.
 3224 
 3225 	Applications that use (a) `freetype-config' or FreeType's
 3226 	`pkg-config' file to get the include directory for the compiler, and
 3227 	(b) the documented way for header inclusion like
 3228 
 3229 	  #include <ft2build.h>
 3230 	  #include FT_FREETYPE_H
 3231 	  ...
 3232 
 3233 	don't need any change to the source code.
 3234 
 3235 	* include/freetype/*: Move up to...
 3236 	* include/*: ... this directory.
 3237 
 3238 	* builds/amiga/include/freetype/*: Move up to...
 3239 	* builds/amiga/include/*: ... this directory.
 3240 
 3241 	*/*: Essentially do `s@/freetype/@/@' where appropriate.
 3242 
 3243 	* CMakeLists.txt: Simplify.
 3244 	* builds/unix/freetype-config.in, builds/unix/freetype2.in: For
 3245 	`--cflags', return a single directory.
 3246 	* builds/unix/install.mk (install): No longer try to remove `cache'
 3247 	and `internal' subdirectories; instead, remove the `freetype'
 3248 	subdirectory.
 3249 
 3250 2013-11-12  Werner Lemberg  <wl@gnu.org>
 3251 
 3252 	[truetype] Fix last `truetype' commit.
 3253 
 3254 	* src/truetype/ttgload.c (tt_get_metrics): Preserve stream position.
 3255 	Return error value.
 3256 	(load_truetype_glyph): Updated.
 3257 
 3258 2013-11-10  Werner Lemberg  <wl@gnu.org>
 3259 
 3260 	* docs/CMAKE: New dummy file.
 3261 
 3262 2013-11-08  Dave Arnold  <darnold@adobe.com>
 3263 
 3264 	[cff] Fix for hints that touch.
 3265 
 3266 	* src/cff/cf2hints.c (cf2_hintmap_insertHint): Fix condition for
 3267 	finding index value of insertion point.
 3268 
 3269 2013-11-06  Werner Lemberg  <wl@gnu.org>
 3270 
 3271 	[truetype] Fix handling of phantom points in composite glyphs.
 3272 	Problem reported by Nigel Tao <nigeltao@golang.org>.
 3273 
 3274 	This is a follow-up commit to the previous one.
 3275 
 3276 	* src/truetype/ttgload.c (load_truetype_glyph): Call
 3277 	`tt_get_metrics' after loading the glyph header.
 3278 
 3279 2013-11-06  Werner Lemberg  <wl@gnu.org>
 3280 
 3281 	[truetype] Improve emulation of vertical metrics.
 3282 
 3283 	This commit also improves the start values of vertical phantom
 3284 	points.  Kudos to Greg Hitchcock for help.
 3285 
 3286 	* src/truetype/ttgload.c (TT_Get_VMetrics): Add parameter to pass
 3287 	`yMax' value.  Replace code with fixed Microsoft definition.
 3288 	(tt_get_metrics): Updated.
 3289 	(TT_LOADER_SET_PP): Add explanation how to initialize phantom
 3290 	points, taken from both the OpenType specification and private
 3291 	communication with Greg (which will eventually be added to the
 3292 	standard).
 3293 	Fix horizontal position of `pp3' and `pp4'.
 3294 
 3295 	* src/truetype/ttgload.h: Updated.
 3296 
 3297 	* src/truetype/ttdriver.c (tt_get_advances): Updated.
 3298 
 3299 	* docs/CHANGES: Updated.
 3300 
 3301 2013-11-05  Werner Lemberg  <wl@gnu.org>
 3302 
 3303 	* builds/windows/vc2010/freetype.vcxproj: s/v110/v100/.
 3304 	PlatformToolSet version 110 is for VC2012.
 3305 
 3306 	Problem reported (with solution) by Dave Arnold <darnold@adobe.com>.
 3307 
 3308 2013-11-05  Werner Lemberg  <wl@gnu.org>
 3309 
 3310 	[truetype] Correctly reset point tags for glyph components.
 3311 	Problem reported by Nigel Tao <nigeltao@golang.org>.
 3312 
 3313 	* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Fix loop.
 3314 
 3315 2013-11-02  Werner Lemberg  <wl@gnu.org>
 3316 
 3317 	[truetype] Fix GETINFO opcode handling of subpixel hinting bits.
 3318 
 3319 	* src/truetype/ttinterp.c (Ins_GETINFO): Don't request bit 6 set to
 3320 	get info on subpixel hinting.
 3321 
 3322 	* docs/CHANGES: Updated.
 3323 
 3324 2013-11-02  Werner Lemberg  <wl@gnu.org>
 3325 
 3326 	Fix Savannah bug #40451.
 3327 
 3328 	Simply apply the patch from the bug report.
 3329 
 3330 	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
 3331 	include/freetype/config/ftconfig.h: The used #pragma directives only
 3332 	work with gcc versions 4.6 and higher.
 3333 
 3334 2013-11-01  Werner Lemberg  <wl@gnu.org>
 3335 
 3336 	* docs/CHANGES: Updated.
 3337 
 3338 2013-11-01  Werner Lemberg  <wl@gnu.org>
 3339 
 3340 	[truetype] Minor code refactoring.
 3341 
 3342 	Two benefits: The allocated FDEF (and IDEF) array gets slightly
 3343 	smaller, and the `ttdebug' demo program has access to function
 3344 	numbers without additional costs.
 3345 
 3346 	Fortunately, no changes to FontForge are necessary – this is the
 3347 	only external TrueType debugger I know of, but others may exist and
 3348 	should check the code accordingly.
 3349 
 3350 	* src/truetype/ttinterp.h (TT_CallRec): Replace `Cur_Restart' and
 3351 	`Cur_End' with a pointer to the corresponding `TT_DefRecord'
 3352 	structure.
 3353 
 3354 	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF, Ins_ENDF,
 3355 	Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns <Invalid_Opcode>):
 3356 	Updated.
 3357 
 3358 2013-10-27  Werner Lemberg  <wl@gnu.org>
 3359 
 3360 	[sfnt] Implement support for `OS/2' table version 5.
 3361 
 3362 	See
 3363 
 3364 	  http://typedrawers.com/discussion/470/new-microsoft-size-specific-design-selection-mechanism
 3365 
 3366 	for the announcement.
 3367 
 3368 	* include/freetype/tttables.h (TT_OS2): Add fields
 3369 	`usLowerPointSize' and `usUpperPointSize'.  Since FreeType returns
 3370 	this structure only as a pointer through `FT_Get_Sfnt_Table', there
 3371 	shouldn't be any ABI problems.
 3372 
 3373 	* src/sfnt/ttload.c (tt_face_load_os2): Implement it.
 3374 
 3375 	* docs/CHANGES: Updated.
 3376 
 3377 2013-10-24  Werner Lemberg  <wl@gnu.org>
 3378 
 3379 	* README.git, docs/CHANGES, docs/INSTALL: Updated.
 3380 
 3381 2013-10-24  John Cary  <cary@txcorp.com>
 3382 
 3383 	Provide cmake support.
 3384 
 3385 	* CMakeLists.txt: New file.
 3386 
 3387 2013-10-23  Kenneth Miller  <kennethadammiller@yahoo.com>
 3388 	    Werner Lemberg  <wl@gnu.org>
 3389 
 3390 	Provide support for x64 builds in Visual C++ project files.
 3391 
 3392 	* src/builds/win32: Renamed to...
 3393 	* src/builds/windows: This.
 3394 
 3395 	* src/builds/windows/vc2010/*: Updated to handle x64 target.
 3396 
 3397 	* src/builds/windows/*.mk, docs/INSTALL.GNU: s/win32/windows/ where
 3398 	appropriate.
 3399 
 3400 2013-10-22  Werner Lemberg  <wl@gnu.org>
 3401 
 3402 	* src/base/md5.c, src/base/md5.h: Updated to recent version.
 3403 
 3404 	* src/base/ftobjs.c: Updated; `md5.c' no longer uses `free'.
 3405 
 3406 	The canonical URL to get updates for this file is
 3407 
 3408 	  https://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/popa3d/popa3d/md5/
 3409 
 3410 	as the author told me in private communication.
 3411 
 3412 2013-10-19  Werner Lemberg  <wl@gnu.org>
 3413 
 3414 	[autofit] s/SMALL_TOP/X_HEIGHT/.
 3415 
 3416 	* src/autofit/afblue.dat: Updated.
 3417 
 3418 	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
 3419 
 3420 	* src/autofit/aflatin.c, src/autofit/aflatin.h,
 3421 	src/autofit/aflatin2.c: Updated.
 3422 
 3423 2013-10-19  Werner Lemberg  <wl@gnu.org>
 3424 
 3425 	* src/autofit/afblue.dat: s/MINOR/DESCENDER/.
 3426 
 3427 	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
 3428 
 3429 2013-10-16  Werner Lemberg  <wl@gnu.org>
 3430 
 3431 	[autofit] Add description strings to script entries.
 3432 
 3433 	Currently, this is unused.
 3434 
 3435 	* src/autofit/afscript.h: Do it.
 3436 	* src/autofit/afglobal.c, src/autofit/afpic.c,
 3437 	src/autofit/aftypes.h: Updated.
 3438 
 3439 2013-10-16  Werner Lemberg  <wl@gnu.org>
 3440 
 3441 	[autofit] Improve tracing message for extra light flag.
 3442 
 3443 	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Do it.
 3444 
 3445 2013-10-15  Chongyu Zhu  <lembacon@gmail.com>
 3446 
 3447 	[arm] Fix thumb2 inline assembly under LLVM.
 3448 
 3449 	When using `ADD' with an immediate operand, the instruction is
 3450 	actually `ADD Rd, Rn, #<imm12>', that is, the maximum of the
 3451 	immediate operand cannot exceed 4095.  It will fail to compile with
 3452 	LLVM.
 3453 
 3454 	However, in GCC, due to some legacy compatibility considerations,
 3455 	`ADD.W' will be automatically emitted when the immediate operand is
 3456 	larger than 4095.
 3457 
 3458 	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
 3459 	(FT_MulFix_arm) [__GNUC__]: Support clang compiler.
 3460 
 3461 	* src/truetype/ttinterp.c (TT_MulFix14_arm) [__GNUC__]: Ditto.
 3462 
 3463 2013-10-12  Werner Lemberg  <wl@gnu.org>
 3464 
 3465 	[autofit] Improve tracing of `latin' hinter.
 3466 
 3467 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Report blue
 3468 	zone types.
 3469 	(af_latin_metrics_scale_dim): Report scaling changes due to x height
 3470 	alignment.
 3471 	Report scaled stroke width and blue zone values.
 3472 
 3473 2013-10-03  Dave Arnold  <darnold@adobe.com>
 3474 
 3475 	* src/cff/cf2font.c (cf2_computeDarkening): Avoid division by zero.
 3476 
 3477 	Note that the old code avoided using a region of the piecewise
 3478 	linear function where the slope was zero.  The recovery was to use a
 3479 	different section of the function, which produced a different,
 3480 	incorrect amount of darkening.
 3481 
 3482 2013-10-02  Darrell Bellert  <darrell.bellert@hl.konicaminolta.us>
 3483 
 3484 	* src/sfnt/ttload.c (tt_face_load_pclt): Fix `pclt_fields'.
 3485 
 3486 2013-10-02  Dave Arnold  <darnold@adobe.com>
 3487 
 3488 	* src/cff/cf2font.c (cf2_computeDarkening): Initialize darkenAmount.
 3489 
 3490 	This line was lost in commit 89ca1fd6 (from 2013-06-25).  The effect
 3491 	is to use a previous darkening amount when producing an unhinted,
 3492 	unscaled outline.  This can cause autohint samples in ftgrid and
 3493 	ftview to be based on darkened CFF outlines instead of unhinted,
 3494 	undarkened ones.
 3495 
 3496 2013-09-29  Dave Arnold  <darnold@adobe.com>
 3497 
 3498 	Fix Savannah bug #39295.
 3499 
 3500 	The bug was caused by switching to the initial hintmap (the one in
 3501 	effect when `moveto' executes) just before drawing the final element
 3502 	in the charstring.  This ensured that the path was closed (in both
 3503 	Character Space and Device Space).  But if the final element was a
 3504 	curve and if the final hintmap was different enough from the initial
 3505 	one, then the curve was visibly distorted.
 3506 
 3507 	The first part of the fix is to draw the final curve using the final
 3508 	hintmap as specified by the charstring.  This corrects the
 3509 	distortion but does not ensure closing in Device Space.  It may
 3510 	require the rasterizer to automatically generate an extra closing
 3511 	line.  Depending on the hintmap differences, this line could be from
 3512 	zero to a couple pixels in length.
 3513 
 3514 	The second part of the fix covers the case where the charstring
 3515 	subpath is closed with an explicit line.  We now modify that line's
 3516 	end point to avoid the distortion.
 3517 
 3518 	Some glyphs in the bug report font (TexGyreHeros-Regular) that show
 3519 	the change are:
 3520 
 3521 	  25ppem    S (98)
 3522 	  24ppem    eight (52)
 3523 	  25.5ppem  p (85)
 3524 
 3525 	Curves at the *end* of a subpath are no longer distorted.  However,
 3526 	some of these glyphs have bad hint substitutions in the middle of a
 3527 	subpath, and these are not affected.
 3528 
 3529 	The patch has been tested with a set of 106 fonts that shipped with
 3530 	Adobe Creative Suite 4, together with 756 Open Source CFF fonts from
 3531 	Google Fonts.  There are 1.5 million glyphs, of which some 20k are
 3532 	changed with the fix.  A sampling of a few hundred of these changes
 3533 	have been examined more closely, and the changes look good (or at
 3534 	least acceptable).
 3535 
 3536 	* src/cff/cf2hints.h (CF2_GlyphPathRec): New element `pathIsClosing'
 3537 	to indicate that we synthesize a closepath line.
 3538 
 3539 	* src/cff/cf2hints.c (cf2_glyphpath_init): Updated.
 3540 	(cf2_glyphpath_pushPrevElem): If closing, use first hint map (for
 3541 	`lineto' operator) and adjust hint zone.
 3542 	For synthesized closing lines, use end point in first hint zone.
 3543 	(cf2_glyphpath_lineTo): Take care of synthesized closing lines.  In
 3544 	particular, shift the detection of zero-length lines from character
 3545 	space to device space.
 3546 	(cf2_glyphpath_closeOpenPath): Remove assertion.
 3547 	Updated.
 3548 
 3549 2013-09-25  Werner Lemberg  <wl@gnu.org>
 3550 
 3551 	* src/autofit/aflatin.c (af_{grek,cyrl}_uniranges): Fix arrays.
 3552 
 3553 2013-09-25  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3554 
 3555 	[bdf, pcf] Refuse non-zero face_index.
 3556 
 3557 	Suggested by Akira Tagoh, see
 3558 
 3559 	  https://lists.gnu.org/archive/html/freetype/2013-09/msg00030.html
 3560 
 3561 	* src/bdf/bdfdrivr.c (BDF_Face_Init): Return `Invalid_Argument'
 3562 	error if the font could be opened but non-zero `face_index' is
 3563 	given.
 3564 	* src/pcf/pcfdrivr.c (PCF_Face_Init): Ditto.
 3565 
 3566 	* src/type42/t42objs.c (T42_Face_Init): Remove unrequired FT_UNUSED
 3567 	macro for `face_index' because it is validated later.
 3568 
 3569 2013-09-23  Werner Lemberg  <wl@gnu.org>
 3570 
 3571 	Fix Savannah bug #40090.
 3572 
 3573 	* src/autofit/afcjk.c (af_cjk_metrics_scale): Revert commit
 3574 	306f8c5d (from 2013-08-25) affecting this function.
 3575 
 3576 2013-09-22  Werner Lemberg  <wl@gnu.org>
 3577 
 3578 	[autofit] Disunify Cyrillic and Greek handling from Latin.
 3579 
 3580 	* src/autofit/afscript.h: Add Cyrillic and Greek.
 3581 
 3582 	* src/autofit/afblue.dat (AF_BLUE_STRINGSET_GREK,
 3583 	AF_BLUE_STRINGSET_CYRL): Add blue zones for Greek and Cyrillic.
 3584 	(AF_BLUE_STRINGSET_LATN): Fix typo.
 3585 	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
 3586 
 3587 	* src/autofit/aflatin.c (af_grek_uniranges, af_cyrl_uniranges): New
 3588 	arrays.
 3589 	(af_grek_script_class, af_cyrl_script_class): New scripts.
 3590 	* src/autofit/aflatin.h: Updated.
 3591 
 3592 2013-09-20  Werner Lemberg  <wl@gnu.org>
 3593 
 3594 	* docs/CHANGES: Updated.
 3595 
 3596 2013-09-20  Behdad Esfahbod  <behdad@behdad.org>
 3597 
 3598 	Fix vertical size of emboldened glyphs.
 3599 
 3600 	Cf. https://bugzilla.gnome.org/show_bug.cgi?id=686709
 3601 
 3602 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Adjust `horiBearingY'
 3603 	also.
 3604 
 3605 2013-09-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
 3606 
 3607 	* include/freetype/ftoutln.h: Correct FT_Outline_Get_Orientation
 3608 	algorithm description.
 3609 
 3610 2013-09-11  Werner Lemberg  <wl@gnu.org>
 3611 
 3612 	[autofit] Improve Hebrew rendering.
 3613 
 3614 	This change introduces a new blue zone property
 3615 	`AF_BLUE_PROPERTY_LATIN_LONG' to make the auto-hinter ignore short
 3616 	top segments.
 3617 
 3618 	* src/autofit/afblue.dat: Fix Hebrew blue strings.
 3619 	Use AF_BLUE_PROPERTY_LATIN_LONG for AF_BLUE_STRING_HEBREW_TOP.
 3620 
 3621 	* src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_LONG): New macro.
 3622 
 3623 	* src/autofit/afblue.c, src/autofit/afblue.h: Updated.
 3624 
 3625 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle
 3626 	`AF_LATIN_IS_LONG_BLUE'.
 3627 
 3628 	* src/autofit/aflatin.h (AF_LATIN_IS_LONG_BLUE): New macro.
 3629 
 3630 2013-08-28  Behdad Esfahbod  <behdad@google.com>
 3631 
 3632 	[sfnt] Fix frame access while reading WOFF table directory.
 3633 
 3634 	* src/sfnt/sfobjs.c (woff_open_font): Using single memory frame
 3635 	while reading the directory entries for the whole loop.
 3636 
 3637 2013-08-29  Werner Lemberg  <wl@gnu.org>
 3638             Behdad Esfahbod  <behdad@google.com>
 3639 
 3640 	Implement support for WOFF containers.
 3641 
 3642 	We simply synthesize a SFNT from the WOFF, create a memory stream
 3643 	for the new data, and load the SFNT as usual.
 3644 
 3645 	Does NOT add any API to access WOFF metadata or private blocks.
 3646 
 3647 	* include/freetype/internal/tttypes.h (WOFF_HeaderRec,
 3648 	WOFF_TableRec): New structures.
 3649 
 3650 	* include/freetype/tttags.h (TTAG_wOFF): New macro.
 3651 
 3652 	* src/base/ftobjs.c (FT_Open_Face): Set `stream' after calling
 3653 	`open_face'.
 3654 
 3655 	* src/sfnt/sfobjs.c [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Include
 3656 	`FT_GZIP_H'.
 3657 	(WRITE_BYTE, WRITE_USHORT, WRITE_ULONG): New temporary macros for
 3658 	writing to a stream.
 3659 	(sfnt_stream_close, compare_offsets, woff_open_font): New functions.
 3660 	(sfnt_open_font): Handle `TTAG_wOFF'.
 3661 	(sfnt_init_face): Set `stream' after calling `sfnt_open_font'.
 3662 
 3663 	* src/truetype/ttobjs.c (tt_face_init): Set `stream' after calling
 3664 	`sfnt->init_face'.
 3665 
 3666 	* src/base/ftobjs.c (open_face): Use a pointer to FT_Stream as an
 3667 	argument so that a changed stream survives.
 3668 	Update callers.
 3669 
 3670 2013-08-28  Werner Lemberg  <wl@gnu.org>
 3671 
 3672 	[gzip] New function `FT_Gzip_Uncompress'.
 3673 
 3674 	This is modeled after zlib's `uncompress' function.  We need this
 3675 	for WOFF support.
 3676 
 3677 	* include/freetype/ftgzip.h, src/gzip/ftgzip.c (FT_Gzip_Uncompress):
 3678 	New function.
 3679 
 3680 	* src/gzip/rules.mk: Rewrite to better reflect dependencies.
 3681 
 3682 2013-08-28  Werner Lemberg  <wl@gnu.org>
 3683 
 3684 	[autofit] Fix `make multi' compilation.
 3685 
 3686 	* src/autofit/afblue.cin, src/autofit/afblue.c: Don't include
 3687 	`afblue.h' but `aftypes.h'.
 3688 	* src/autofit/afcjk.c: Don't include `aftypes.h' but `afglobal.h'.
 3689 
 3690 2013-08-28  Werner Lemberg  <wl@gnu.org>
 3691 
 3692 	[autofit] Fix C++ compilation.
 3693 
 3694 	* src/autofit/afglobal.c (af_face_globals_get_metrics),
 3695 	src/autofit/afdummy.c (af_dflt_script_class), src/autofit/afindic.c
 3696 	(af_deva_script_class): Use proper casts.
 3697 
 3698 2013-08-27  Behdad Esfahbod  <behdad@google.com>
 3699 
 3700 	* src/sfnt/ttload.c (tt_face_load_font_dir): Fix sign typos.
 3701 
 3702 2013-08-27  Behdad Esfahbod  <behdad@google.com>
 3703 
 3704 	FT_Open_Face: Improve external stream handling.
 3705 
 3706 	If the font's `clazz->init_face' function wants to swap to new
 3707 	stream, handling of whether original stream was external could
 3708 	result to either memory leak or double free.  Mark externality into
 3709 	face flags before calling `init_face' such that the clazz can handle
 3710 	external streams properly.
 3711 
 3712 	* src/base/ftobjs.c (FT_Open_Face): Move code to set
 3713 	FT_FACE_FLAG_EXTERNAL_STREAM to...
 3714 	(open_face): This function.
 3715 
 3716 2013-08-27  Werner Lemberg  <wl@gnu.org>
 3717 
 3718 	Remove `FT_SqrtFixed' function.
 3719 
 3720 	It's no longer used.
 3721 
 3722 	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c: Do it.
 3723 
 3724 2013-08-27  Werner Lemberg  <wl@gnu.org>
 3725 
 3726 	[autofit] While tracing, report script names instead of ID values.
 3727 
 3728 	* src/autofit/afglobal.c (af_script_names) [FT_DEBUG_LEVEL_TRACE]:
 3729 	New array.
 3730 	* src/autofit/afglobal.h: Updated.
 3731 
 3732 	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
 3733 	af_cjk_hint_edges): Use `af_script_names'.
 3734 	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
 3735 	af_latin_hint_edges): Ditto.
 3736 
 3737 2013-08-26  Werner Lemberg  <wl@gnu.org>
 3738 
 3739 	[autofit] Report used script while hinting a glyph.
 3740 
 3741 	* src/autofit/afcjk.c (af_cjk_hint_edges), src/autofit/aflatin.c
 3742 	(af_latin_hint_edges): Implement it.
 3743 
 3744 2013-08-26  Werner Lemberg  <wl@gnu.org>
 3745 
 3746 	[autofit] Add support for Hebrew script.
 3747 
 3748 	* src/autofit/afblue.dat: Add blue strings for Hebrew.
 3749 	* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
 3750 
 3751 	* src/autofit/aflatin.c (af_hebr_uniranges): New array.
 3752 	(af_hebr_script_class): New script.
 3753 	* src/autofit/aflatin.h, src/autofit/afscript.h: Updated.
 3754 
 3755 2013-08-26  Werner Lemberg  <wl@gnu.org>
 3756 
 3757 	[autofit] Improve tracing messages.
 3758 
 3759 	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Mention script
 3760 	ID in tracing message.
 3761 	(af_cjk_metrics_init_blues): Initialize `axis' outside of the inner
 3762 	loop.
 3763 	Improve tracing messages.
 3764 	(af_cjk_hint_edges) [FT_DEBUG_LEVEL_TRACE]: New variable
 3765 	`num_actions' to count hinting actions.
 3766 	Improve tracing messages.
 3767 
 3768 	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Mention
 3769 	script ID in tracing message.
 3770 	(af_latin_metrics_init_blues, af_latin_hint_edges): Improve tracing
 3771 	messages.
 3772 
 3773 2013-08-26  Werner Lemberg  <wl@gnu.org>
 3774 
 3775 	Better tracing of loaded glyphs.
 3776 
 3777 	Previously, the loading of a glyph was traced at level 4, if at all.
 3778 	With this change, all font loading routines emit a tracing message
 3779 	at level 1, making it easier to select tracing output (for example
 3780 	using F2_DEBUG="any:1 afhints:7 aflatin:7").
 3781 
 3782 	* src/bdf/bdfdrivr.c (BDF_Glyph_Load): Add tracing message.
 3783 	* src/cff/cffdrivr.c (cff_glyph_load): Ditto.
 3784 	* src/cff/cffgload.c (cff_decoder_prepare): Improve tracing
 3785 	messages.
 3786 	* src/cid/cidgload.c (cid_load_glyph): Use level 1 for tracing
 3787 	message.
 3788 	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Ditto.
 3789 	* src/pfr/pfrobjs.c (pfr_slot_load): Add tracing message.
 3790 	* src/truetype/ttgload.c (TT_Load_Glyph): Ditto.
 3791 	* src/type1/t1gload.c (T1_Load_Glyph): Ditto.
 3792 	* src/type42/t42objs.c (T42_GlyphSlot_Load): Ditto.
 3793 	* src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto.
 3794 
 3795 2013-08-26  Werner Lemberg  <wl@gnu.org>
 3796 
 3797 	[autofit] Fix script selection.
 3798 
 3799 	* src/autofit/afglobal.c (af_face_globals_get_metrics): Use
 3800 	`AF_SCRIPT_DFLT', not value 0.
 3801 	Simplify code.
 3802 
 3803 	* src/autofit/afscript.h: Sort by script name.
 3804 
 3805 2013-08-26  Werner Lemberg  <wl@gnu.org>
 3806 
 3807 	[autofit] Make `dummy' hinter work as expected.
 3808 
 3809 	* src/autofit/afdummy.c (af_dummy_hints_init): Properly set scaling
 3810 	information.
 3811 	(af_dummy_hints_apply): Scale the glyphs.
 3812 
 3813 2013-08-25  Werner Lemberg  <wl@gnu.org>
 3814 
 3815 	[autofit] Make `cjk' module use blue stringsets.
 3816 
 3817 	* src/autofit/afcjk.c (AF_CJK_MAX_TEST_CHARACTERS): Removed.
 3818 	(af_cjk_hani_blue_chars): Removed.
 3819 	(AF_CJK_BLUE_TYPE_*): Removed.
 3820 	(af_cjk_metrics_init_blues): Replace AF_CJK_MAX_TEST_CHARACTERS with
 3821 	AF_BLUE_STRING_MAX_LEN.
 3822 	Change loops to use offsets (in file `afblue.h') into the new arrays
 3823 	`af_blue_stringsets' and `af_blue_strings' (in file `afblue.c').
 3824 	Instead of three dimensions (as used in the old blue string array)
 3825 	we now use properties to do the same, saving one loop nesting level.
 3826 
 3827 	* src/autofit/afcjk.h: Remove old enumeration values superseded by
 3828 	the new data in `afblue.h'.
 3829 	(AF_CJK_IS_TOP_BLUE, AF_CJK_IS_HORIZ_BLUE, AF_CJK_IS_FILLED_BLUE,
 3830 	AF_CJK_IS_RIGHT_BLUE): New macros, to be used in
 3831 	`af_cjk_metrics_init_blues'.
 3832 	(AF_CJK_BLUE_IS_RIGHT): Remove this now redundant enum value.
 3833 	(AF_CJK_BLUE_IS_TOP): Renamed to...
 3834 	(AF_CJK_BLUE_TOP): This.
 3835 	(AF_CJK_MAX_BLUES): Remove.
 3836 	(AF_CJKAxisRec): Updated.
 3837 
 3838 2013-08-25  Werner Lemberg  <wl@gnu.org>
 3839 
 3840 	[autofit] Typo.
 3841 
 3842 	* src/autofit/afblue.hin, src/autofit/afblue.c (GET_UTF8_CHAR): Use
 3843 	cast.
 3844 
 3845 2013-08-25  Werner Lemberg  <wl@gnu.org>
 3846 
 3847 	[autofit] Synchronize `cjk' with `latin' module (and vice versa).
 3848 
 3849 	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Add tracing
 3850 	messages.
 3851 	(af_cjk_metrics_init_blues): Don't pass blue string array as
 3852 	argument but use the global array directly.
 3853 	Use `outline' directly.
 3854 	Update and add tracing messages.
 3855 	(af_cjk_metrics_init): Simplify code.
 3856 	(af_cjk_metrics_scale_dim): Improve tracing message.
 3857 	(af_cjk_metrics_scale): Synchronize.
 3858 
 3859 	* src/autofit/aflatin.c (af_latin_metrics_init_widths,
 3860 	af_latin_metrics_init_blues): Improve and add tracing messages.
 3861 
 3862 2013-08-25  Werner Lemberg  <wl@gnu.org>
 3863 
 3864 	[autofit] Make `latin' module use blue stringsets.
 3865 
 3866 	* src/autofit/aflatin.c (AF_LATIN_MAX_TEST_CHARACTERS): Removed.
 3867 	(af_latin_blue_chars): Removed.
 3868 	(af_latin_metrics_init_blues): Replace AF_LATIN_MAX_TEST_CHARACTERS
 3869 	with AF_BLUE_STRING_MAX_LEN.
 3870 	Change loops to use offsets (in file `afblue.h') into the new arrays
 3871 	`af_blue_stringsets' and `af_blue_strings' (in file `afblue.c').
 3872 	Use `AF_LATIN_IS_SMALL_TOP_BLUE' macro.
 3873 
 3874 	* src/autofit/aflatin.h: Remove old enumeration values superseded by
 3875 	the new data in `afblue.h'.
 3876 	(AF_LATIN_IS_TOP_BLUE): Updated definition.
 3877 	(AF_LATIN_IS_SMALL_TOP_BLUE): New macro.
 3878 	(AF_LATIN_MAX_BLUES): Remove.
 3879 	(AF_LatinAxisRec): Updated.
 3880 
 3881 2013-08-25  Werner Lemberg  <wl@gnu.org>
 3882 
 3883 	[autofit] Add blue stringsets.
 3884 
 3885 	* src/autofit/aftypes.h: Include `afblue.h'.
 3886 	(AF_ScriptClassRec): Add `blue_stringset' field.
 3887 	(AF_DEFINE_SCRIPT_CLASS): Updated.
 3888 
 3889 	* src/autofit/autofit.c: Include `afblue.c'.
 3890 
 3891 	* src/autofit/afcjk.c (af_hani_script_class), src/autofit/afdummy.c
 3892 	(af_dflt_script_class), src/autofit/afindic.c
 3893 	(af_deva_script_class), src/autofit/aflatin.c
 3894 	(af_latn_script_class), src/autofit/aflatin2.c
 3895 	(af_ltn2_script_class): Updated.
 3896 
 3897 	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afblue.c'.
 3898 
 3899 2013-08-25  Werner Lemberg  <wl@gnu.org>
 3900 
 3901 	[autofit] Introduce data file for blue strings.
 3902 
 3903 	The idea is to have a central file which gets processed by a Perl
 3904 	script to create proper `.c' and `.h' files using templates.  There
 3905 	are two other reasons to do that:
 3906 
 3907 	  . The data file should be easily readable.  We use UTF-8 encoding
 3908 	    which then gets converted to single bytes.
 3909 
 3910 	  . Since the number of supported scripts will increase soon, the
 3911 	    current usage of blue string arrays is a waste of space.  Using
 3912 	    the Perl script it is possible to imitate jagged arrays,
 3913 	    defining enumeration constants as offsets into the arrays.
 3914 
 3915 	This commit only adds files without changing any functionality.
 3916 
 3917 	* src/autofit/afblue.dat: New data file.
 3918 	* src/tools/afblue.pl: New Perl script for processing `afblue.dat'.
 3919 
 3920 	* src/autofit/afblue.cin, src/autofit/afblue.hin: New template files
 3921 	for...
 3922 	* src/autofit/afblue.c, src/autofit/afblue.c: New source files.
 3923 	To avoid a dependency on Perl, we add them too.
 3924 
 3925 2013-08-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
 3926 
 3927 	[base] Enable new algorithm for `BBox_Cubic_Check'.
 3928 
 3929 	* src/base/ftbbox.c: Enable new BBox_Cubic_Check algorithm, remove
 3930 	the old one.
 3931 	Improve comments.
 3932 
 3933 2013-08-18  Werner Lemberg  <wl@gnu.org>
 3934 
 3935 	* builds/unix/unix-def.in (freetype2.pc): Don't set executable bit.
 3936 
 3937 2013-08-18  Werner Lemberg  <wl@gnu.org>
 3938 
 3939 	Fix Savannah bug #39804.
 3940 
 3941 	* builds/unix/configure.raw (LIBPNG): Define and export.
 3942 	* builds/unix/freetype-config.in, builds/unix/freetype2.in: Handle
 3943 	libpng.
 3944 
 3945 2013-08-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
 3946 
 3947 	[base] Clean up BBox_Conic_Check.
 3948 
 3949 	* src/base/ftbbox.c (BBox_Conic_Check): Remove redundant checks for
 3950 	extremum at the segment ends, which are already within the bbox.
 3951 	Slightly modify calculations.
 3952 
 3953 2013-08-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
 3954 
 3955 	[base] Finish experimental (disabled) BBox_Cubic_Check implementation.
 3956 
 3957 	* src/base/ftbbox.c (BBox_Cubic_Check): Scale arguments to improve
 3958 	accuracy and avoid overflows.
 3959 
 3960 2013-08-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
 3961 
 3962 	[base] Refactor experimental (disabled) BBox_Cubic_Check.
 3963 
 3964 	* src/base/ftbbox.c (BBox_Cubic_Check): Implement the minimum search
 3965 	as the mirror image of the maximum search implemented here...
 3966 	(update_max): New function.
 3967 
 3968 2013-08-06  John Tytgat  <John.Tytgat@esko.com>
 3969 
 3970 	Fix Savannah bug #39702.
 3971 
 3972 	* src/cff/cffload.c (cff_index_get_pointers): Check for `cur_offset
 3973 	!= 0'; this stronger test is mandated by the CFF specification.
 3974 	Fix test for INDEX structures which have one or more empty entries
 3975 	at the end.
 3976 
 3977 2013-08-05  Werner Lemberg  <wl@gnu.org>
 3978 
 3979 	Fix gcc pragmas, part 2.
 3980 
 3981 	* src/truetype/ttinterp.c (TT_MulFix14_long_long,
 3982 	TT_DotFix14_long_long): `#pragma gcc diagnostic {push,pop}' has been
 3983 	introduced with gcc version 4.6.
 3984 
 3985 2013-08-05  Werner Lemberg  <wl@gnu.org>
 3986 
 3987 	Fix gcc pragmas.
 3988 
 3989 	* src/truetype/ttinterp.c (TT_MulFix14_long_long,
 3990 	TT_DotFix14_long_long): Older gcc versions don't accept diagnostic
 3991 	pragmas within a function body.
 3992 
 3993 2013-08-05  Werner Lemberg  <wl@gnu.org>
 3994 
 3995 	Fix Savannah bug #39700.
 3996 
 3997 	* builds/unix/ftconfig.h: Synchronize with
 3998 	`include/freetype/config/ftconfig.h'.
 3999 
 4000 	* builds/vms/ftconfig.h: Ditto.
 4001 	Make the differences to the master `ftconfig.h' file as small as
 4002 	possible for easier maintenance.
 4003 
 4004 2013-08-05  Werner Lemberg  <wl@gnu.org>
 4005 
 4006 	[autofit] Improve handling of `near' points.
 4007 
 4008 	Points which are very near to each other are now marked as such.
 4009 	The `weak' flag is then computed by using the `in' vector of the
 4010 	first and the `out' vector of the last point of a group of near
 4011 	points.
 4012 
 4013 	For example, this fixes the rendering of glyph `Oslash' in
 4014 	`Roboto-Thin.ttf'.
 4015 
 4016 	* src/autofit/afhints.h (AF_Flags): New value `AF_FLAGS_NEAR'.
 4017 
 4018 	* src/autofit/afhints.c (af_glyph_hints_reload): Introduce
 4019 	the heuristic value `near_limit' to decide whether the current point
 4020 	is near to the previous one, then set `AF_FLAG_NEAR' accordingly.
 4021 	Store good `in' vector (of last non-near point) in
 4022 	`last_good_in_{x,y}' and use it as an argument to
 4023 	`ft_corner_is_flat' if necessary.
 4024 
 4025 2013-08-02  Werner Lemberg  <wl@gnu.org>
 4026 
 4027 	* include/freetype/ftcffdrv.h: Improve documentation.
 4028 	This is based on blog entries from David Lemon and Dave Arnold (both
 4029 	from Adobe) with kind permission.  Dave also helped in
 4030 	proof-reading.
 4031 
 4032 2013-08-02  Werner Lemberg  <wl@gnu.org>
 4033 
 4034 	[autofit] Move declaration of scripts into separate file.
 4035 
 4036 	This has the benefit that we don't need to duplicate the data at
 4037 	different places.
 4038 
 4039 	* src/autofit/afscript.h: New file.
 4040 
 4041 	* src/autofit/aftypes.h (AF_Script): Include `afscript.h' to define
 4042 	the enumeration values.
 4043 
 4044 	* src/autofit/afglobal.c: Include `afscript.h' to get the script
 4045 	specific header files.
 4046 	(af_script_classes): Include `afscript.h' to fill this array.
 4047 
 4048 	* src/autofit/afpic.c: Include `afscript.h' to get the script
 4049 	specific header files.
 4050 	(autofit_module_class_pic_init): Include `afscript.h' for
 4051 	initialization.
 4052 	* src/autofit/afpic.h (AF_SCRIPT_CLASSES_COUNT,
 4053 	AF_SCRIPT_CLASSES_REC_COUNT): Removed.  Use `AF_SCRIPT_MAX' instead.
 4054 
 4055 	* src/autofit/rules.mk (AUTOF_DRV_H): Updated.
 4056 
 4057 2013-08-02  Werner Lemberg  <wl@gnu.org>
 4058 
 4059 	[autofit] Move declaration of writing systems into separate file.
 4060 
 4061 	This has the benefit that we don't need to duplicate the data at
 4062 	different places.
 4063 
 4064 	* src/autofit/afwrtsys.h: New file.
 4065 
 4066 	* src/autofit/aftypes.h (AF_WritingSystem): Include `afwrtsys.h' to
 4067 	define the enumeration values.
 4068 
 4069 	* src/autofit/afglobal.c: Include `afwrtsys.h' to get the writing
 4070 	system specific header files.
 4071 	Include `afpic.h'.
 4072 	(af_writing_system_classes): Include `afwrtsys.h' to fill this
 4073 	array.
 4074 
 4075 	* src/autofit/afpic.c: Include `afwrtsys.h' to get the writing
 4076 	system specific header files.
 4077 	(autofit_module_class_pic_init): Include `afwrtsys.h' for
 4078 	initialization.
 4079 	* src/autofit/afpic.h (AF_WRITING_SYSTEM_CLASSES_COUNT,
 4080 	AF_WRITING_SYSTEM_CLASSES_REC_COUNT): Removed.  Use
 4081 	`AF_WRITING_SYSTEM_MAX' instead.
 4082 
 4083 2013-08-02  Werner Lemberg  <wl@gnu.org>
 4084 
 4085 	[sfnt] Fix compilation with g++.
 4086 
 4087 	* src/sfnt/pngshim.c (error_callback, read_data_from_FT_stream): Use
 4088 	cast.
 4089 	(Load_SBit_Png): Pacify compiler.
 4090 
 4091 2013-08-02  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4092             Werner Lemberg  <wl@gnu.org>
 4093 
 4094 	[autofit] Fix `make multi'.
 4095 
 4096 	* include/freetype/config/ftconfig.h (FT_LOCAL_ARRAY,
 4097 	FT_LOCAL_ARRAY_DEF): New macros.
 4098 
 4099 	* src/autofit/afglobal.c (af_writing_system_classes,
 4100 	af_script_classes): Use FT_LOCAL_ARRAY_DEF.
 4101 	* src/autofit/afglobal.h: Declare `af_writing_system_classes' and
 4102 	`af_script_classes'.
 4103 	* src/autofit/afloader.c: Include `afpic.h'.
 4104 
 4105 2013-08-01  Werner Lemberg  <wl@gnu.org>
 4106 
 4107 	Another round of cppcheck nitpicks.
 4108 
 4109 	The call was (from the top-level of the FreeType tree):
 4110 
 4111 	  cppcheck --force \
 4112 	           --enable=all \
 4113 	           -I /usr/include \
 4114 	           -I /usr/local/include \
 4115 	           -I /usr/lib/gcc/i586-suse-linux/4.7/include \
 4116 	           -I include \
 4117 	           -I include/freetype \
 4118 	           -I include/freetype/config \
 4119 	           -I include/freetype/internal \
 4120 	           -DFT2_BUILD_LIBRARY \
 4121 	           . &> cppcheck.log
 4122 
 4123 	using cppcheck git commit f7e93f99.
 4124 
 4125 	Note that cppcheck still can't handle `#include FOO' (with `FOO' a
 4126 	macro).
 4127 
 4128 	*/* Improve variable scopes.
 4129 	*/* Remove redundant initializations which get overwritten.
 4130 
 4131 	* src/gxvalid/*: Comment out redundant code or guard it with
 4132 	FT_DEBUG_LEVEL_TRACE.
 4133 
 4134 2013-07-30  Werner Lemberg  <wl@gnu.org>
 4135 
 4136 	[autofit] Introduce `writing systems'.
 4137 
 4138 	This patch adds a new top level to the auto-hinter's script class
 4139 	hierarchy.  It defines `writing systems' which can contain multiple
 4140 	scripts.
 4141 
 4142 	For example, the `latin' writing system (in file `aflatin.c') is
 4143 	able to support scripts like Latin, Cyrillic, Armenian, etc., which
 4144 	can be handled similarly.
 4145 
 4146 	Scripts are now named using four-letter OpenType tags.
 4147 
 4148 	* src/autofit/aftypes.h (AF_ScriptClassRec): Move relevant members
 4149 	to...
 4150 	(AF_WritingSystemClassRec): This new structure.  It holds pointers
 4151 	to functions which can be shared among related scripts.
 4152 	(AF_WritingSystem): New enumeration.
 4153 	(AF_Script): Revised values using four-letter tags.
 4154 	(AF_DEFINE_WRITING_SYSTEM_CLASS): New macro.
 4155 	(AF_DEFINE_SCRIPT_CLASS): Updated.
 4156 
 4157 	* src/autofit/afglobal.c (af_writing_system_classes): New global,
 4158 	constant array.
 4159 	(af_script_classes): Updated.
 4160 	(af_face_globals_free): Updated.
 4161 	Remove assertion.
 4162 	(af_face_globals_get_metrics): Updated.
 4163 
 4164 	* src/autofit/afglobal.h (AF_SCRIPT_FALLBACK)
 4165 	[!AF_CONFIG_OPTION_CJK]: Handle this case.
 4166 
 4167 	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
 4168 	Updated.
 4169 
 4170 	* src/autofit/afpic.c (autofit_module_class_pic_init): Updated;
 4171 	initialize structures for both writing systems and scripts.
 4172 	* src/autofit/afpic.h: Updated.
 4173 	(AF_WRITING_SYSTEM_CLASSES_GET): New macro.
 4174 
 4175 	* src/autofit/afcjk.c (af_cjk_writing_system_class): New writing
 4176 	system.
 4177 	(af_cjk_uniranges): Renamed to...
 4178 	(af_hani_uniranges): This.
 4179 	(af_cjk_script_class): Reduced and renamed to...
 4180 	(af_hani_script_class): This.
 4181 	* src/autofit/afcjk.h: Updated.
 4182 
 4183 	* src/autofit/afdummy.c (af_dummy_writing_system_class): New writing
 4184 	system.
 4185 	(af_dummy_script_class): Reduced and renamed to...
 4186 	(af_dflt_script_class): This.
 4187 	* src/autofit/afdummy.h: Updated.
 4188 
 4189 	* src/autofit/afindic.c (af_indic_writing_system_class): New writing
 4190 	system.
 4191 	(af_indic_uniranges): Renamed to...
 4192 	(af_deva_uniranges): This.
 4193 	(af_indic_script_class): Reduced and renamed to...
 4194 	(af_deva_script_class): This.
 4195 	* src/autofit/afcjk.h: Updated.
 4196 
 4197 	* src/autofit/aflatin.c (af_latin_writing_system_class): New writing
 4198 	system.
 4199 	(af_latin_uniranges): Renamed to...
 4200 	(af_latn_uniranges): This.
 4201 	(af_latin_script_class): Reduced and renamed to...
 4202 	(af_latn_script_class): This.
 4203 	* src/autofit/aflatin.h: Updated.
 4204 
 4205 	* src/autofit/aflatin2.c (af_latin2_writing_system_class): New
 4206 	writing system.
 4207 	(af_latin2_uniranges): Renamed to...
 4208 	(af_ltn2_uniranges): This.
 4209 	Synchronize ranges with `latin'.
 4210 	(af_latin2_script_class): Reduced and renamed to...
 4211 	(af_ltn2_script_class): This.
 4212 	* src/autofit/aflatin2.h: Updated.
 4213 
 4214 2013-07-30  Werner Lemberg  <wl@gnu.org>
 4215 
 4216 	[autofit] Variable renaming.
 4217 
 4218 	* src/autofit/aftypes.h (AF_ScriptMetricsRec):
 4219 	s/clazz/script_class/.
 4220 	Update all users.
 4221 
 4222 2013-07-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4223 
 4224 	Ignore libpng-config under cross-building configuration,
 4225 	because it will return the flags for the hosting environment.
 4226 
 4227 	* builds/unix/configure.raw: Ignore libpng-config when
 4228 	`cross_compiling' == yes.
 4229 
 4230 2013-07-30  Behdad Esfahbod  <behdad@google.com>
 4231 
 4232 	Prevent division by zero by a transparent color.
 4233 
 4234 	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra):
 4235 	Return 0 immediately, when alpha channel is zero.
 4236 
 4237 2013-07-25  Behdad Esfahbod  <behdad@google.com>
 4238 
 4239 	Add FT_FACE_FLAG_COLOR and FT_HAS_COLOR.
 4240 
 4241 	Also disambiguate Google's color bitmap tables.
 4242 
 4243 	* include/freetype/freetype.h (FT_FACE_FLAG_COLOR, FT_HAS_COLOR):
 4244 	New macros.
 4245 
 4246 	* include/freetype/internal/tttypes.h (TT_SbitTableType): Add
 4247 	TT_SBIT_TABLE_TYPE_CBLC.
 4248 
 4249 	* src/sfnt/sfobjs.c (sfnt_load_face): Handle FT_FACE_FLAG_COLOR.
 4250 
 4251 	* src/sfnt/ttsbit.c (tt_face_load_sbit,
 4252 	tt_face_load_strike_metrics, tt_face_load_sbit_image): Handle
 4253 	TT_SBIT_TABLE_TYPE_CBLC.
 4254 
 4255 2013-07-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4256 
 4257 	[sfnt] Fix for `make multi' target.
 4258 
 4259 	* src/sfnt/pngshim.c (Load_SBit_Png): Use FT_LOCAL_DEF().
 4260 
 4261 2013-07-20  Werner Lemberg  <wl@gnu.org>
 4262 
 4263 	* docs/INSTALL.GNU: Updated.
 4264 
 4265 2013-07-20  Behdad Esfahbod  <behdad@google.com>
 4266 
 4267 	[sfnt] Fix `sbix' table version handling.
 4268 
 4269 	* src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]:
 4270 	USHORT version numbers are to be considered as `minor'.
 4271 
 4272 2013-07-19  Werner Lemberg  <wl@gnu.org>
 4273 
 4274 	[autofit] Fix segment classification for blue zones.
 4275 
 4276 	The old code (essentially unchanged since the very beginning)
 4277 	incorrectly handled this configuration
 4278 
 4279 	               x -o- x
 4280 	                /   \
 4281 	               /     \
 4282 	              /       \
 4283 	             o         o
 4284 
 4285 	as flat and this
 4286 
 4287 	                o               o
 4288 	               /               /
 4289 	             x|              x|
 4290 	              |               |
 4291 	              o---------------o
 4292 
 4293 	as round.  (`o' and `x' are on and off points, respectively).
 4294 
 4295 	This is a major change which should improve the rendering results
 4296 	enormously for many TrueType fonts, especially in the range approx.
 4297 	20-40ppem, fixing the appearance of many overshoots.
 4298 
 4299 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Look at the
 4300 	first and last points of the segment, not the points right before
 4301 	and after.
 4302 
 4303 2013-07-19  Behdad Esfahbod  <behdad@google.com>
 4304 
 4305 	[sfnt] `sbix' fix-ups.
 4306 
 4307 	* src/sfnt/sfobjs.c (sfnt_load_face): Apple's `sbix' color bitmaps
 4308 	are rendered scaled and then the `glyf' outline rendered on top.  We
 4309 	don't support that yet, so just ignore the `glyf' outline and
 4310 	advertise it as a bitmap-only font.
 4311 
 4312 	* src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
 4313 	[TT_SBIT_TABLE_TYPE_SBIX]: Return metrics in 26.6 units.
 4314 	(tt_face_load_sbix_image): Typo.
 4315 
 4316 2013-07-18  Behdad Esfahbod  <behdad@google.com>
 4317 
 4318 	[sfnt] Add support for Apple's `sbix' color bitmap table.
 4319 
 4320 	* include/freetype/internal/tttypes.h (TT_SBit_MetricsRec): Widen
 4321 	fields to FT_Short and FT_UShort, respectively.
 4322 	(TT_SbitTableType): New enumeration.
 4323 	(TT_FaceRec): Add `sbit_table_type' field.
 4324 
 4325 	* include/freetype/tttags.h (TTAG_sbix): New macro.
 4326 
 4327 	* src/sfnt/pngshim.c (Load_SBit_Png): Pass a more generic
 4328 	FT_GlyphSlot argument instead FT_Bitmap.
 4329 	Add flag to control map and metrics handling.
 4330 	Update all users.
 4331 
 4332 	* src/sfnt/ttsbit.c: Include `ttmtx.h'.
 4333 	(tt_face_load_eblc): Renamed to...
 4334 	(tt_face_load_sbit): This.
 4335 	Handle `sbix' bitmaps.
 4336 	(tt_face_free_eblc): Renamed to...
 4337 	(tt_face_load_sbit): This.
 4338 	Updated.
 4339 	(tt_face_load_strike_metrics): Handle `sbix' bitmaps.
 4340 	(tt_face_load_sbix_image): New function.
 4341 	(tt_sbit_decoder_alloc_bitmap, tt_sbit_decoder_load_image,
 4342 	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
 4343 	tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
 4344 	tt_sbit_decoder_load_image, tt_sbit_decoder_load_bitmap): Don't pass
 4345 	and handle load flags.
 4346 	(tt_sbit_decoder_load_bitmap) [!FT_CONFIG_OPTION_USE_PNG]: Better
 4347 	handle formats 17-19.
 4348 	Move color to grayscale conversion to...
 4349 	(tt_face_load_sbit_image): Here.
 4350 	Handle `sbix' bitmaps.
 4351 
 4352 	* src/sfnt/pngshim.h: Updated.
 4353 	* src/sfnt/ttsbit.h: Updated.
 4354 	* src/sfnt/sfdriver.c: Updated.
 4355 
 4356 2013-07-18  Werner Lemberg  <wl@gnu.org>
 4357 
 4358 	[sfnt] Ignore invalid magic number in `head' or `bhed'.
 4359 
 4360 	Other font engines seem to ignore it also.  Problem reported by
 4361 	Hin-Tak Leung <htl10@users.sourceforge.net>.
 4362 
 4363 	* src/sfnt/ttload.c (check_table_dir): Don't abort but warn only if
 4364 	we have an invalid magic number.
 4365 
 4366 2013-07-16  Werner Lemberg  <wl@gnu.org>
 4367 
 4368 	[smooth] Fix segfault caused by previous commit.
 4369 
 4370 	* src/smooth/ftgrays.c (gray_set_cell): Always compute
 4371 	`ras.invalid'.
 4372 
 4373 2013-07-16  David Turner  <digit@google.com>
 4374 
 4375 	[smooth] Improve performance.
 4376 
 4377 	Provide a work-around for an ARM-specific performance bug in GCC.
 4378 	This speeds up the rasterizer by more than 5%.
 4379 
 4380 	Also slightly optimize `set_gray_cell' and `gray_record_cell' (which
 4381 	also improves performance on other platforms by a tiny bit (<1%).
 4382 
 4383 	* src/smooth/ftgrays.c (FT_DIV_MOD): New macro.
 4384 	Use it where appropriate.
 4385 
 4386 	(gray_record_cell, gray_set_cell, gray_move_to,
 4387 	gray_convert_glyph_inner): Streamline condition handling.
 4388 
 4389 2013-07-16  David Turner  <digit@google.com>
 4390 
 4391 	[truetype] Add assembler code for TT_MulFix14 and TT_DotFix14.
 4392 
 4393 	This patch provides slightly optimized versions for ARM, x86, and
 4394 	x86_64 CPUs if built with GCC.
 4395 
 4396 	Also remove some dead code.
 4397 
 4398 	* src/truetype/ttinterp.c (TT_MulFix14_arm, TT_MulFix14_long_long,
 4399 	TT_DotFix14_long_long): New functions.
 4400 
 4401 2013-07-16  David Turner  <digit@google.com>
 4402 
 4403 	Optimize FT_MulFix for x86_64 GCC builds.
 4404 
 4405 	This patch provides an optimized `FT_MulFix' implementation for
 4406 	x86_64 machines when FreeType is built with GCC, or compatible
 4407 	compilers like Clang.
 4408 
 4409 	Example:
 4410 	  bin/ftbench -p -t 5 -s 14 -f 0008 Arial.ttf
 4411 
 4412 	Before:
 4413 
 4414 	  Load                       4.863 us/op
 4415 	  Load_Advances (Normal)     4.816 us/op
 4416 	  Load_Advances (Fast)       0.028 us/op
 4417 	  Render                     2.753 us/op
 4418 	  Get_Glyph                  0.463 us/op
 4419 	  Get_CBox                   0.077 us/op
 4420 	  Get_Char_Index             0.023 us/op
 4421 	  Iterate CMap              13.898 us/op
 4422 	  New_Face                  12.368 us/op
 4423 	  Embolden                   0.028 us/op
 4424 	  Get_BBox                   0.302 us/op
 4425 
 4426 	After:
 4427 
 4428 	  Load                       4.617 us/op
 4429 	  Load_Advances (Normal)     4.645 us/op
 4430 	  Load_Advances (Fast)       0.027 us/op
 4431 	  Render                     2.789 us/op
 4432 	  Get_Glyph                  0.460 us/op
 4433 	  Get_CBox                   0.077 us/op
 4434 	  Get_Char_Index             0.024 us/op
 4435 	  Iterate CMap              13.403 us/op
 4436 	  New_Face                  12.278 us/op
 4437 	  Embolden                   0.028 us/op
 4438 	  Get_BBox                   0.301 us/op
 4439 
 4440 	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
 4441 	(FT_MulFix_x86_64): New function.
 4442 
 4443 2013-07-16  David Turner  <digit@google.com>
 4444 
 4445 	Speed up ARMv7 support.
 4446 
 4447 	When building for ARMv7 with thumb2 instructions, the optimized
 4448 	`FT_MulFix_arm' assembly routine was not being used.
 4449 
 4450 	The reason for this is in the `ftconfig.h' header, namely:
 4451 
 4452 	- The assembly routine uses the `smull' instruction which is not
 4453 	  available when generating Thumb-1 machine code.  It is available
 4454 	  in Thumb-2 mode, though.
 4455 
 4456 	- The header was written a long time ago before Thumb-2 became
 4457 	  widely popular (e.g. with Android).  So it simply doesn't use the
 4458 	  assembly routine if the `__thumb__' built-in macro is defined.
 4459 
 4460 	- When compiling in Thumb-2 mode, the compiler will define both
 4461 	  `__thumb__' and `__thumb2__'.
 4462 
 4463 	By checking for `(__thumb2__ || !__thumb__)', we ensure that the
 4464 	assembly routine is only avoided when generating Thumb-1 code.
 4465 
 4466 	Given that this is performance-sensitive function, this improves
 4467 	`ftbench' as follows on a Galaxy Nexus:
 4468 
 4469 	                           Before (us/op)   After (us/op)
 4470 
 4471 	  - loading Arial.ttf glyphs at 14 ppem [1]
 4472 
 4473 	      Load                   34.285          33.098
 4474 
 4475 	  - same operation with the light auto-hinter [2]
 4476 
 4477 	      Load                   31.317          29.590
 4478 
 4479 	  - same operation without hinting [3]
 4480 
 4481 	      Load                    6.143           5.376
 4482 
 4483 	  - loading Arial.ttf advances at 14 ppem [4]
 4484 
 4485 	      Load_Advances (normal) 34.216          33.016
 4486 	      Load_Advances (fast)    0.176           0.176
 4487 
 4488 	  [1] ftbench -t 5 -p -s 14 -b a -f 0008 Arial.ttf
 4489 	  [2] ftbench -t 5 -p -s 14 -b a -r 1 -f 0028 Arial.ttf
 4490 	  [3] ftbench -t 5 -p -s 14 -b a -f 000a Arial.ttf
 4491 	  [4] ftbench -t 5 -p -s 14 -b b -f 0008 Arial.ttf
 4492 
 4493 	* builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
 4494 	(FT_MULFIX_ASSEMBLER): Fix handling for ARMv7.
 4495 
 4496 2013-06-28  Werner Lemberg  <wl@gnu.org>
 4497 
 4498 	* docs/CHANGES: Updated.
 4499 
 4500 2013-06-27  Werner Lemberg  <wl@gnu.org>
 4501 
 4502 	* src/winfonts/winfnt.c (FNT_Load_Glyph): Fix bitmap width guard.
 4503 
 4504 2013-06-25  Werner Lemberg  <wl@gnu.org>
 4505 
 4506 	[cff] Add darkening limit to `darkening-parameters'.
 4507 
 4508 	* src/cff/cffdrivr.c (cff_property_set): Add check.
 4509 
 4510 2013-06-25  Werner Lemberg  <wl@gnu.org>
 4511 
 4512 	[cff] Add `darkening-parameters' property.
 4513 
 4514 	* include/freetype/ftcffdrv.h: Document it.
 4515 
 4516 	* src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
 4517 	`darkening-parameters' property.
 4518 
 4519 	* src/cff/cf2font.h (CF2_FontRec): Add `darkenParams' array.
 4520 
 4521 	* src/cff/cf2font.c (cf2_computeDarkening): Add `darkenParams'
 4522 	argument and use it.
 4523 	Update all callers.
 4524 
 4525 	* src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Copy
 4526 	`darken_params' values.
 4527 
 4528 	* src/cff/cffobjs.h (CFF_DriverRec): Add `darken_params' array.
 4529 
 4530 	* src/cff/cffobjs.c (cff_driver_init): Set default values for
 4531 	`darken_params'.
 4532 
 4533 2013-06-25  Werner Lemberg  <wl@gnu.org>
 4534 
 4535 	[docmaker] Code shuffling.
 4536 
 4537 	* src/tools/docmaker/tohtml.py (re_url): Move regexp...
 4538 	* src/tools/docmaker/sources.py: ... to this file.
 4539 
 4540 2013-06-25  Werner Lemberg  <wl@gnu.org>
 4541 
 4542 	[docmaker] Remove unused functions.
 4543 
 4544 	* src/tools/docmaker/content.py (DocMarkup.get_start,
 4545 	DocBlock.get_markup_name): Removed.
 4546 	* src/tools/docmaker/tohtml.py (html_quote0, dump_html_code,
 4547 	HtmlFormatter.make_html_words): Removed.
 4548 
 4549 2013-06-25  Werner Lemberg  <wl@gnu.org>
 4550 
 4551 	* builds/freetype.mk (dll): Remove target.
 4552 
 4553 	Problem reported by Jörg Günnewig <joerg.guennewig@googlemail.com>.
 4554 
 4555 2013-06-25  Werner Lemberg  <wl@gnu.org>
 4556 
 4557 	[docmaker] Recognise URLs.
 4558 
 4559 	* src/tools/docmaker/tohtml.py (re_url): New regular expression.
 4560 	(make_html_para): Use it.
 4561 
 4562 2013-06-19  Werner Lemberg  <wl@gnu.org>
 4563 
 4564 	* Version 2.5.0.1 released.
 4565 	===========================
 4566 
 4567 
 4568 	Tag sources with `VER-2-5-0-1'.
 4569 
 4570 	* include/freetype/config/ftoption.h: Undefine
 4571 	CFF_CONFIG_OPTION_OLD_ENGINE.
 4572 	* devel/ftoption.h: Define CFF_CONFIG_OPTION_OLD_ENGINE.
 4573 
 4574 2013-06-19  Werner Lemberg  <wl@gnu.org>
 4575 
 4576 	* builds/unix/install.mk (install): Don't create `cache' directory.
 4577 
 4578 	Found by Peter Breitenlohner <peb@mppmu.mpg.de>.
 4579 
 4580 2013-06-19  Werner Lemberg  <wl@gnu.org>
 4581 
 4582 	* Version 2.5.0 released.
 4583 	=========================
 4584 
 4585 
 4586 	Tag sources with `VER-2-5-0'.
 4587 
 4588 	* docs/VERSION.DLL: Update documentation and bump version number to
 4589 	2.5.0.
 4590 
 4591 	* README, Jamfile (RefDoc),
 4592 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 4593 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 4594 	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
 4595 	builds/win32/visualc/freetype.dsp,
 4596 	builds/win32/visualc/freetype.vcproj,
 4597 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 4598 	builds/win32/visualce/freetype.vcproj,
 4599 	builds/win32/visualce/index.html,
 4600 	builds/wince/vc2005-ce/freetype.vcproj,
 4601 	builds/wince/vc2005-ce/index.html,
 4602 	builds/wince/vc2008-ce/freetype.vcproj,
 4603 	builds/wince/vc2008-ce/index.html: s/2.4.12/2.5.0/, s/2412/250/.
 4604 
 4605 	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 5.
 4606 	(FREETYPE_PATCH): Set to 0.
 4607 
 4608 	* builds/unix/configure.raw (version_info): Set to 16:2:10.
 4609 
 4610 	* src/base/ftobjs.c (FT_Open_Face): Pacify compiler.
 4611 	* src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIRP): Ditto.
 4612 
 4613 2013-06-18  Werner Lemberg  <wl@gnu.org>
 4614 
 4615 	Fix Savannah bug #39269.
 4616 
 4617 	* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Free memory in
 4618 	case of reallocation failures.
 4619 
 4620 2013-06-18  Andrew Church  <achurch+savannah@achurch.org>
 4621 
 4622 	Fix Savannah bug #39266.
 4623 
 4624 	If memory allocations fail at certain points while opening a font,
 4625 	FreeType can either crash due to a NULL dereference or leak memory.
 4626 
 4627 	* include/freetype/internal/ftobjs.c (FT_Face_InternalRec,
 4628 	FT_LibraryRec): Make `refcount' a signed integer.  If, for example,
 4629 	FT_Open_Face() fails in a memory allocation before the face's
 4630 	reference count is set to 1, a subsequent `FT_Done_Library' call
 4631 	would otherwise loop over `FT_Done_Face' 2^32 times before freeing
 4632 	the face.
 4633 
 4634 	* src/base/ftobjs.c (open_face): Initialize `stream' and friends
 4635 	earlier.
 4636 	(FT_Open_Face) <Fail>: Behave correctly if `node' is NULL.
 4637 	(FT_Destroy_Module) <Fail>: Check that `renderer_clazz' is valid.
 4638 
 4639 2013-06-14  Werner Lemberg  <wl@gnu.org>
 4640 
 4641 	* src/smooth/ftgrays.c One final pragma to silence 64-bit MSVC.
 4642 
 4643 2013-06-06  Dave Arnold  <darnold@adobe.com>
 4644 	    Werner Lemberg  <wl@gnu.org>
 4645 
 4646 	[cff] Add code to Adobe's engine to handle ppem > 2000.
 4647 
 4648 	* src/cff/cffgload.c (cff_slot_load): If we get
 4649 	FT_Err_Glyph_Too_Big, retry unhinted and scale up later on.
 4650 
 4651 2013-06-12  Werner Lemberg  <wl@gnu.org>
 4652 
 4653 	Another try on pragmas.
 4654 
 4655 	* include/freetype/internal/ftdebug.h: Move pragmas to...
 4656 	* include/freetype/internal/internal.h: ... this file since it gets
 4657 	included by all source files.
 4658 	* include/freetype/internal/ftserv.h: Remove pragma which has no
 4659 	effect.
 4660 
 4661 2013-06-12  Werner Lemberg  <wl@gnu.org>
 4662 
 4663 	* include/freetype/internal/ftdebug.h: Disable MSVC warning C4127.
 4664 
 4665 	This partially undoes commit 3f6e0e0c.
 4666 
 4667 2013-06-12  Werner Lemberg  <wl@gnu.org>
 4668 
 4669 	More compiler warning fixes.
 4670 
 4671 	*/*: Use cast to `FT_Bool' (or `Bool') where appropriate.
 4672 
 4673 2013-06-10  Werner Lemberg  <wl@gnu.org>
 4674 
 4675 	[truetype] Improve handling of broken sbit advance widths.
 4676 
 4677 	* src/truetype/ttgload.c (TT_Load_Glyph): Use the glyph's (scaled)
 4678 	`linearHoriAdvance' if the sbit's `horiAdvance' value is zero.
 4679 
 4680 	Cf. font `Fixedsys Excelsior' v3.01 (FSEX300.ttf), glyph A, 16ppem.
 4681 
 4682 2013-06-10  Werner Lemberg  <wl@gnu.org>
 4683 
 4684 	[sfnt] Improve embedded bitmap tracing.
 4685 
 4686 	* src/base/ftobjs.c (FT_Request_Size): Move trace message regarding
 4687 	bitmap strike match to...
 4688 	(FT_Match_Size): This function.
 4689 
 4690 	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics,
 4691 	tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
 4692 	tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
 4693 	tt_sbit_decoder_load_image): Decorate with tracing messages.
 4694 
 4695 2013-06-10  Werner Lemberg  <wl@gnu.org>
 4696 
 4697 	Fix Savannah bug #39160.
 4698 
 4699 	* src/truetype/ttinterp.c (Ins_SDPVTL): Set projection vector too
 4700 	for the degenerate case.
 4701 
 4702 2013-06-09  David Turner  <digit@google.com>
 4703 
 4704 	* src/cache/ftcmanag.c (FTC_Manager_Reset): Add missing cache flush.
 4705 
 4706 	This code, present since eight(!) years in the unused `CACHE'
 4707 	branch, has been forgotten to apply to the master branch.  It's
 4708 	really amazing that noone has ever complained since
 4709 	`FTC_Manager_Reset' is pretty useless without flushing the cache.
 4710 
 4711 2013-06-07  Werner Lemberg  <wl@gnu.org>
 4712 
 4713 	Add and improve pragmas for MSVC compiler.
 4714 
 4715 	* include/freetype/internal/ftdebug.h: Remove pragmas.
 4716 	* include/freetype/internal/ftserv.h: Use push and pop for pragmas.
 4717 	* include/freetype/internal/ftvalid.h: Handle warning C4324.
 4718 	* src/base/ftobjs.c: Use push and pop for pragmas.
 4719 	* src/gzip/ftgzip.c: Handle warning C4244.
 4720 
 4721 2013-06-07  Werner Lemberg  <wl@gnu.org>
 4722 
 4723 	[cff] s/cf2_getGlyphWidth/cf2_getGlyphOutline/.
 4724 
 4725 	* src/cff/cf2font.c, src/cff/cf2font.h, src/cff/cf2ft.c: Do it.
 4726 
 4727 2013-06-06  Dave Arnold  <darnold@adobe.com>
 4728 
 4729 	[cff] Add early exit feature for width-only calls.
 4730 
 4731 	This is for `FT_Get_Advance'.
 4732 
 4733 	There are 7 places where the spec says the width can be defined:
 4734 
 4735 	  hstem/hstemhm
 4736 	  vstem/vstemhm
 4737 	  cntrmask/hintmask
 4738 	  hmoveto
 4739 	  vmoveto
 4740 	  rmoveto
 4741 	  endchar
 4742 
 4743 	* src/cff/cf2intrp.c (cf2_doStems): Exit early for width-only calls,
 4744 	if possible.
 4745 
 4746 	(cf2_interpT2CharString) <cf2_cmdHSTEM>, <cf2_cmdVSTEM>,
 4747 	<cf2_cmdVMOVETO>, <cf2_cmdENDCHAR>, <cf2_cmdHINTMASK>,
 4748 	<cf2_cmdRMOVETO>, <cf2_cmdHMOVETO>: Exit early for width-only calls.
 4749 
 4750 2013-06-06  Werner Lemberg  <wl@gnu.org>
 4751 
 4752 	Next round of compiler fixes.
 4753 
 4754 	* builds/win32/ftdebug.c, builds/wince/ftdebug.c (ft_debug_init):
 4755 	Add proper cast.
 4756 
 4757 	* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Fix
 4758 	cast.
 4759 	* include/freetype/internal/ftstream.h: Decorate stream and frame
 4760 	macros with `FT_Long' and `FT_ULong' as appropriate.
 4761 
 4762 	* src/base/ftrfork.c (raccess_guess_darwin_hfsplus,
 4763 	raccess_guess_darwin_newvfs): Use cast.
 4764 
 4765 	* src/bdf/bdflib.c (_bdf_set_default_spacing): Use cast.
 4766 
 4767 	* src/cache/ftcmanag.c (FTC_Manager_Check): Fix cast.
 4768 	* src/cache/ftcmanag.h (FTC_ManagerRec): Ditto.
 4769 
 4770 	* src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use cast.
 4771 	* src/cff/cf2ft.c (cf2_freeSeacComponent): Ditto.
 4772 	* src/cff/cffobjs.c (remove_subset_prefix, remove_style): Ditto.
 4773 
 4774 	* src/cid/cidparse.c (cid_parser_new): Use cast.
 4775 
 4776 	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Use cast.
 4777 
 4778 	* src/psaux/psobjs.c (reallocate_t1_table): Fix argument type.
 4779 
 4780 	* src/raster/ftraster.c (ft_black_reset): Use cast.
 4781 
 4782 	* src/truetype/ttgxvar.c (FT_Stream_FTell): Use cast.
 4783 	(ALL_POINTS): Fix cast.
 4784 
 4785 	* src/type1/t1driver.c (t1_ps_get_font_value): Add casts.
 4786 	* src/type1/t1parse.c (T1_Get_Private_Dict): Add cast.
 4787 
 4788 2013-06-05  Dave Arnold  <darnold@adobe.com>
 4789 
 4790 	Fix more MSVC Win32 compiler warnings.
 4791 
 4792 	* src/base/ftobjs.c: Fix typo in MS pragma.
 4793 
 4794 	* src/base/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
 4795 	`lineno' is only used in debug mode.
 4796 
 4797 	* src/cff/cf2ft.c (cf2_builder_moveTo): `params' is only used in
 4798 	debug mode.
 4799 
 4800 2013-06-05  Werner Lemberg  <wl@gnu.org>
 4801 
 4802 	Fix compiler warnings.
 4803 
 4804 	* include/freetype/internal/ftmemory.h: Decorate memory allocation
 4805 	macros with `FT_Long' where appropriate.
 4806 	Remove duplicate of FT_MEM_QRENEW_ARRAY definition.
 4807 
 4808 	* src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
 4809 	cast.
 4810 
 4811 	* src/base/ftobjs.c: Add warning disabling pragma for MSVC while
 4812 	including `md5.c'.
 4813 
 4814 	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdESC>: Add
 4815 	cast.
 4816 
 4817 	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Fix casts.
 4818 	(tt_sbit_decoder_load_bitmap): Beautification.
 4819 
 4820 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Initialize
 4821 	variables (earlier).
 4822 
 4823 	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Pacify compiler.
 4824 
 4825 	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use unsigned constants
 4826 	where appropriate.
 4827 
 4828 	* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
 4829 
 4830 2013-06-04  Werner Lemberg  <wl@gnu.org>
 4831 
 4832 	* src/cff/cf2font.c (cf2_getGlyphWidth): Initialize `advWidth'.
 4833 
 4834 	Problem reported by Ingmar Sittl <ingmar.sittl@elektrobit.com>.
 4835 
 4836 2013-06-04  Werner Lemberg  <wl@gnu.org>
 4837 
 4838 	Apply fixes for cppcheck nitpicks.
 4839 
 4840 	  https://cppcheck.sourceforge.net/
 4841 
 4842 	The call was (from the top-level of the FreeType tree):
 4843 
 4844 	  cppcheck --force \
 4845 	           --enable=all \
 4846 	           -I include \
 4847 	           -I include/freetype/ \
 4848 	           -I include/freetype/config/ \
 4849 	           -I include/freetype/internal/ \
 4850 	           . &> cppcheck.log
 4851 
 4852 	Note that the current version heavily chokes on FreeType, delivering
 4853 	many wrong results.  I will report those issues to the cppcheck team
 4854 	so that a newer version gives improved results hopefully.
 4855 
 4856 	*/* Improve variable scopes.
 4857 	*/* Remove redundant initializations which get overwritten.
 4858 
 4859 	* src/base/ftmac.c, builds/mac/ftmac.c (count_faces_scalable):
 4860 	Remove unused variable.
 4861 
 4862 	* src/base/ftdbgmem.c (ft_mem_table_destroy): `table' can't be zero.
 4863 
 4864 	* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt1_entry_validate):
 4865 	Remove functionless code.
 4866 
 4867 	* src/tools/ftrandom.c (main): Fix memory leak.
 4868 
 4869 2013-06-03  Werner Lemberg  <wl@gnu.org>
 4870 
 4871 	Add CFF_CONFIG_OPTION_OLD_ENGINE configuration option.
 4872 
 4873 	This controls whether the old FreeType CFF engine gets compiled into
 4874 	FreeType.  It is now disabled by default.
 4875 
 4876 	* devel/ftoption.h, include/freetype/config/ftoption.h
 4877 	(CFF_CONFIG_OPTION_OLD_ENGINE): New macro.
 4878 
 4879 	* src/cff/cffdrivr.c (cff_property_set), src/cff/cffgload.c
 4880 	(CFF_Operator, cff_argument_counts, cff_builder_add_point,
 4881 	cff_operator_seac, cff_decoder_parse_charstrings, cff_slot_load),
 4882 	src/cff/cffgload.h, src/cff/cffobjs.c (cff_driver_init): Use
 4883 	CFF_CONFIG_OPTION_OLD_ENGINE to guard the affected code.
 4884 
 4885 	* docs/CHANGES: Updated.
 4886 
 4887 2013-06-02  Werner Lemberg  <wl@gnu.org>
 4888 
 4889 	Fix PNG library handling.
 4890 
 4891 	* builds/unix/configure.raw: Don't use LIBPNG_LIBS but
 4892 	LIBPNG_LDFLAGS.
 4893 
 4894 2013-05-23  Behdad Esfahbod  <behdad@google.com>
 4895 
 4896 	Add support for color embedded bitmaps (eg. color emoji).
 4897 
 4898 	A new load flag, FT_LOAD_COLOR, makes FreeType load color
 4899 	embedded-bitmaps, following this draft specification
 4900 
 4901 	  https://color-emoji.googlecode.com/git/specification/v1.html
 4902 
 4903 	which defines two new SFNT tables, `CBDT' and `CBLC' (named and
 4904 	modeled after `EBDT' and `EBLC', respectively).  The color bitmaps
 4905 	are stored in the new FT_PIXEL_MODE_BGRA format to represent BGRA
 4906 	pre-multiplied sRGB images.  If PNG support is available, PNG color
 4907 	images as defined in the same proposed specification are supported
 4908 	also.
 4909 
 4910 	Note that color bitmaps are converted to grayscale if client didn't
 4911 	ask for color.
 4912 
 4913 	* builds/unix/configure.raw: Search for libpng.
 4914 	Add `--without-png' option.
 4915 
 4916 	* devel/ftoption.h, include/freetype/config/ftoption.h
 4917 	(FT_CONFIG_OPTION_USE_PNG): New macro.
 4918 
 4919 	* include/freetype/freetype.h (FT_LOAD_COLOR): New load flag.
 4920 
 4921 	* include/freetype/ftimage.h (FT_Pixel_Mode): Add
 4922 	`FT_PIXEL_MODE_BGRA'.
 4923 
 4924 	* include/freetype/tttags.h (TTAG_CBDT, TTAG_CBLC): New tags.
 4925 
 4926 	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Updated.
 4927 	(ft_gray_for_premultiplied_srgb_bgra): New function.
 4928 	(FT_Bitmap_Convert): Handle FT_PIXEL_MODE_BGRA.
 4929 
 4930 	* src/sfnt/pngshim.c, src/sfnt/pngshim.h: New files.
 4931 
 4932 	* src/sfnt/sfnt.c: Include `pngshim.c'.
 4933 
 4934 	* src/sfnt/ttsbit.c: Include FT_BITMAP_H and `pngshim.h'
 4935 	(tt_face_load_eblc): Load `CBLC'.
 4936 	(tt_sbit_decoder_init): Load `CBDT'.
 4937 	(tt_sbit_decoder_alloc_bitmap): Pass load flags to select between
 4938 	color and grayscale bitmaps.
 4939 	Set `num_grays'.  This is used by `ftview' to choose the blending
 4940 	algorithm.
 4941 	(tt_sbit_decoder_load_byte_aligned,
 4942 	tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound,
 4943 	tt_sbit_decoder_load_image): Pass load flag.
 4944 	s/write/pwrite/.
 4945 	Don't call `tt_sbit_decoder_alloc_bitmap'.
 4946 	Updated.
 4947 	(tt_sbit_decoder_load_png) [FT_CONFIG_OPTION_USE_PNG]: New function.
 4948 	(tt_sbit_decoder_load_bitmap): Pass load flag.
 4949 	Handle new glyph formats 17, 18, and 19.
 4950 	Call `tt_sbit_decoder_alloc_bitmap'.
 4951 	Flatten color bitmaps if necessary.
 4952 	(tt_face_load_sbit_image): Updated.
 4953 
 4954 	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add `pngshim.c'.
 4955 
 4956 	* docs/CHANGES: Updated.
 4957 
 4958 2013-05-24  Guenter  <info@gknw.net>
 4959 
 4960 	Apply Savannah patch #8055.
 4961 
 4962 	Make `apinames' create an import file for NetWare.
 4963 
 4964 	* src/tools/apinames.c (PROGRAM_VERSION): Set to 0.2.
 4965 	(OutputFormat): Add `OUTPUT_NETWARE_IMP'.
 4966 	(names_dump): Handle it.
 4967 	(usage): Updated.
 4968 	(main): Handle new command line flag `-wN'.
 4969 
 4970 2013-05-23  Behdad Esfahbod  <behdad@behdad.org>
 4971 
 4972 	Compilation fix.
 4973 
 4974 	* src/truetype/ttinterp.c (TT_RunIns)
 4975 	[!TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Make it work.
 4976 
 4977 2013-05-22  Infinality  <infinality@infinality.net>
 4978 
 4979 	[truetype] Formatting and an additional subpixel tweak.
 4980 
 4981 	* src/truetype/ttinterp.c (Ins_SHPIX): Formatting fix.
 4982 	* src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules):
 4983 	Revert previous modification for Verdana clones.
 4984 
 4985 2013-05-22  Infinality  <infinality@infinality.net>
 4986 
 4987 	[truetype] Adjust subpixel zp2 moves and tweak rules.
 4988 
 4989 	These modifications fix thin diagonal stems in some legacy fonts.
 4990 
 4991 	* src/truetype/ttinterp.c (Direct_Move_X): Remove unused macro.
 4992 	(Move_Zp2_Point): Don't always disable x moves for subpixel rendering.
 4993 	(Ins_SHP): Disable x moves here for subpixel rendering.
 4994 	(Ins_SHPIX): Only disable x moves in compatibility mode.
 4995 	Split out zp2 move reversals and reorder conditional respectively.
 4996 
 4997 	* src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules): Fix oversight.
 4998 	Only adjust Verdana clones for 17 ppem.
 4999 	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Courier New.
 5000 	(ALWAYS_SKIP_DELTAP_Rules): Found additional cases for Arial `s'.
 5001 
 5002 2013-05-20  Infinality  <infinality@infinality.net>
 5003 
 5004 	[truetype] Simplify and improve subpixel function detection.
 5005 
 5006 	Some small enhancements have allowed the removal of many macros and
 5007 	the simplification of existing rules in `ttsubpix.c'.
 5008 
 5009 	* src/truetype/ttsubpix.h (SPH_TWEAK_ALLOW_X_DMOVEX,
 5010 	SPH_TWEAK_ALLOW_X_MOVE_ZP2,
 5011 	SPH_TWEAK_DELTAP_SKIP_EXAGGERATED_VALUES,
 5012 	SPH_TWEAK_SKIP_INLINE_DELTAS, SPH_TWEAK_MIRP_CVT_ZERO): Removed.
 5013 	(SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES_DELTAP): New rule macro.
 5014 
 5015 	* src/truetype/ttsubpix.c: Updated affected rules.
 5016 
 5017 	* src/truetype/ttinterp.c (Direct_Move_X): Updated.
 5018 	(INS_FDEF): Add additional function detection.
 5019 	(INS_ENDF): Set runtime flag.
 5020 	(Ins_CALL): Skip the call under certain conditions.
 5021 	Remove bad code.
 5022 	(Ins_LOOPCALL): Skip the call under certain conditions.
 5023 	Remove bad code.
 5024 	(Move_Zp2_Point): Updated.
 5025 	(Ins_SHPIX): Updated.
 5026 	Skip the move under some situations.
 5027 	(Ins_MIAP): Improve conditions.
 5028 	(Ins_MIRP): Updated.
 5029 	(Ins_DELTAP): Skip move under certain conditions.
 5030 	Simplify conditions.
 5031 	(TT_RunIns): Updated.
 5032 	Add code to handle new function detection.
 5033 	Trace messages.
 5034 
 5035 2013-05-17  Werner Lemberg  <wl@gnu.org>
 5036 
 5037 	Update more FT_Err_XXX macros using FT_ERR and FT_THROW;
 5038 
 5039 	* builds/amiga/src/base/ftsystem.c, builds/mac/ftmac.c,
 5040 	builds/unix/ftsystem.c, builds/vms/ftsystem.c: Do it.
 5041 
 5042 2013-05-15  Werner Lemberg  <wl@gnu.org>
 5043 
 5044 	[truetype] Add `interpreter-version' property.
 5045 
 5046 	This makes the option TT_CONFIG_OPTION_SUBPIXEL_HINTING controllable
 5047 	at runtime.
 5048 
 5049 	* include/freetype/ftttdrv.h: New file.
 5050 
 5051 	* include/freetype/config/ftheader.h (FT_TRUETYPE_DRIVER_H): New
 5052 	macro.
 5053 
 5054 	* src/truetype/ttdriver.c: Include FT_TRUETYPE_DRIVER_H.
 5055 	(tt_property_set, tt_property_get): Fill templates.
 5056 
 5057 	* src/truetype/ttobjs.h (TT_DriverRec): Add `interpreter_version'
 5058 	member.
 5059 	Remove unused `extension_component' member.
 5060 
 5061 	* src/truetype/ttgload.c: Include FT_TRUETYPE_DRIVER_H.
 5062 	(tt_get_metrics, TT_Hint_Glyph, TT_Process_Simple_Glyph,
 5063 	compute_glyph_metrics, tt_loader_init): Use `interpreter_version'.
 5064 
 5065 	* src/truetype/ttinterp.c: Include FT_TRUETYPE_DRIVER_H.
 5066 	(SUBPIXEL_HINTING): New macro to check `interpreter_version' flag.
 5067 	Update all affected functions to use it.
 5068 	Use TT_INTERPRETER_VERSION_XXX where appropriate.
 5069 
 5070 	* src/truetype/ttobjs.c: Include FT_TRUETYPE_DRIVER_H.
 5071 	(tt_driver_init): Initialize `interpreter_version'.
 5072 
 5073 	* src/truetype/ttsubpix.c: Include FT_TRUETYPE_DRIVER_H.
 5074 	Use TT_INTERPRETER_VERSION_XXX where appropriate.
 5075 
 5076 2013-05-13  Werner Lemberg  <wl@gnu.org>
 5077 
 5078 	[truetype] Avoid empty source file.
 5079 
 5080 	* src/truetype/ttsubpix.c [!TT_CONFIG_OPTION_SUBPIXEL_HINTING]:
 5081 	Provide dummy typedef.
 5082 
 5083 2013-05-13  Werner Lemberg  <wl@gnu.org>
 5084 
 5085 	* src/cff/cf2font.c (cf2_getGlyphWidth): Fix uninitialized variable.
 5086 
 5087 	Fix suggested by Vaibhav Nagarnaik <vnagarnaik@gmail.com>.
 5088 
 5089 2013-05-13  Brian Nixon  <bnixon@yahoo.com>
 5090 
 5091 	Fix Savannah bug #38970.
 5092 
 5093 	* src/base/ftdebug.c, builds/win32/ftdebug.c,
 5094 	builds/wince/ftdebug.c, builds/amiga/src/base/ftdebug.c
 5095 	(ft_debug_init): Don't read past the environment variable FT2_DEBUG.
 5096 
 5097 2013-05-12  Werner Lemberg  <wl@gnu.org>
 5098 
 5099 	[truetype] Add framework for TrueType properties.
 5100 
 5101 	* src/truetype/ttdriver.c: Include FT_SERVICE_PROPERTIES_H.
 5102 	(tt_property_set, tt_property_get): New functions, still empty.
 5103 	Define `tt_service_properties' service.
 5104 	Update `tt_services'.
 5105 
 5106 	* src/truetype/ttpic.h: Include FT_SERVICE_PROPERTIES_H.
 5107 	(TT_SERVICE_PROPERTIES_GET): New macro.
 5108 	(TTModulePIC): Add `tt_service_properties'.
 5109 
 5110 2013-05-12  Werner Lemberg  <wl@gnu.org>
 5111 
 5112 	Fix Savannah bug #38967.
 5113 
 5114 	* src/base/ftcalc.c (FT_DivFix) [FT_LONG64]: Fix cast.
 5115 
 5116 2013-05-12  Werner Lemberg  <wl@gnu.org>
 5117 
 5118 	Introduce unsigned 64bit type (if available).
 5119 
 5120 	* include/freetype/config/ftconfig.h: Define FT_UINT64 if available.
 5121 	[FT_LONG64]: Provide FT_UInt64.
 5122 
 5123 	* builds/unix/ftconfig.in: Synchronized.
 5124 
 5125 2013-05-12  Werner Lemberg  <wl@gnu.org>
 5126 
 5127 	Fix Savannah bug #38968.
 5128 
 5129 	* include/freetype/ftmodapi.h: Add `FT_EXPORT' to
 5130 	FT_Property_{Set,Get}.
 5131 	* src/base/ftobjs.c: Add `FT_EXPORT_DEF' to
 5132 	FT_Property_{Set,Get}.
 5133 
 5134 2013-05-10  Werner Lemberg  <wl@gnu.org>
 5135 
 5136 	[sfnt] Clean up bitmap code.
 5137 
 5138 	* src/sfnt/ttsbit.c: Deleted.
 5139 	* src/sfnt/ttsbit0.c: Renamed to `ttsbit.c'.
 5140 	* rules.mk (SFNT_DRV_H): Updated.
 5141 
 5142 2013-05-10  Werner Lemberg  <wl@gnu.org>
 5143 
 5144 	*/* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code.
 5145 
 5146 ----------------------------------------------------------------------------
 5147 
 5148 Copyright (C) 2013-2019 by
 5149 David Turner, Robert Wilhelm, and Werner Lemberg.
 5150 
 5151 This file is part of the FreeType project, and may only be used, modified,
 5152 and distributed under the terms of the FreeType project license,
 5153 LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 5154 indicate that you have read the license and understand and accept it
 5155 fully.
 5156 
 5157 
 5158 Local Variables:
 5159 version-control: never
 5160 coding: utf-8
 5161 End: