forked from minhngoc25a/freetype2
4a2f8f1faf
Rasterization sub-banding is utilized at large sizes while using rather small fixed memory pool. Indeed it is possible to make an educated guess how much memory is necessary at a given size for a given glyph. It turns out that, for large majority of European glyphs, you should store about 8 times more boundary pixels than their height. Or, vice versa, if your memory pool can hold 800 pixels the band height should be 100 and you should sub-band anything larger than that. Should you still run out of memory, FreeType bisects the band but you have wasted some time. This is what has been implemented in FreeType since the beginning. It was overlooked, however, that the top band could grow to twice the default band size leading to unnecessary memory overflows there. This commit fixes that. Now the bands are distributed more evenly and cannot exceed the default size. Now the magic number 8 is really suitable for rather simple European scripts. For complex Chinese logograms the magic number should be 13 but that is subject for another day. * src/smooth/ftgrays.c (gray_convert_glyph): Revise sub-banding protocol. |
||
---|---|---|
builds | ||
devel | ||
docs | ||
include | ||
objs | ||
src | ||
.gitignore | ||
.mailmap | ||
CMakeLists.txt | ||
ChangeLog | ||
ChangeLog.20 | ||
ChangeLog.21 | ||
ChangeLog.22 | ||
ChangeLog.23 | ||
ChangeLog.24 | ||
ChangeLog.25 | ||
Jamfile | ||
Jamrules | ||
Makefile | ||
README | ||
README.git | ||
autogen.sh | ||
configure | ||
modules.cfg | ||
version.sed | ||
vms_make.com |
README
FreeType 2.6.4 ============== Homepage: http://www.freetype.org FreeType is a freely available software library to render fonts. It is written in C, designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images) of most vector and bitmap font formats. Please read the docs/CHANGES file, it contains IMPORTANT INFORMATION. Read the files `docs/INSTALL*' for installation instructions; see the file `docs/LICENSE.TXT' for the available licenses. The FreeType 2 API reference is located in `docs/reference'; use the file `ft2-toc.html' as the top entry point. Additional documentation is available as a separate package from our sites. Go to http://download.savannah.gnu.org/releases/freetype/ and download one of the following files. freetype-doc-2.6.4.tar.bz2 freetype-doc-2.6.4.tar.gz ftdoc264.zip To view the documentation online, go to http://www.freetype.org/freetype2/documentation.html Mailing Lists ============= The preferred way of communication with the FreeType team is using e-mail lists. general use and discussion: freetype@nongnu.org engine internals, porting, etc.: freetype-devel@nongnu.org announcements: freetype-announce@nongnu.org git repository tracker: freetype-commit@nongnu.org The lists are moderated; see http://www.freetype.org/contact.html how to subscribe. Bugs ==== Please submit bug reports at https://savannah.nongnu.org/bugs/?group=freetype Alternatively, you might report bugs by e-mail to `freetype-devel@nongnu.org'. Don't forget to send a detailed explanation of the problem -- there is nothing worse than receiving a terse message that only says `it doesn't work'. Enjoy! The FreeType Team ---------------------------------------------------------------------- Copyright 2006-2016 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, modified, and distributed under the terms of the FreeType project license, LICENSE.TXT. By continuing to use, modify, or distribute this file you indicate that you have read the license and understand and accept it fully. --- end of README ---