summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Thinko.HarmonyAlexei Podtelezhnikov2018-04-301-1/+1
|
* API for Harmony LCD rendering.Alexei Podtelezhnikov2018-04-304-12/+88
| | | | | This introduces `FT_Library_SetLcdGeometry' for setting up arbitrary LCD subpixel geometry including non-striped patterns.
* Formulate Harmony LCD rendering.Alexei Podtelezhnikov2018-04-284-48/+94
| | | | | | | | | | | This generalizes magic outline shifts that make Harmony LCD rendering work in terms of precise two-dimensional RGB subpixel positions. These coordinates are now set in time of the `smooth' module initialization and later used to shift a glyph outline for rendering. FT_RENDER_MODE_LCD and FT_RENDER_MODE_LCD_V use the same coordinates. The letter, however, rotates them before using. The LCD bitmap padding is also calculated using these coordinates. There should be rendering changes resuting from this commit.
* Merge branch 'master' into HarmonyAlexei Podtelezhnikov2018-04-28661-41713/+26981
|\
| * Another fix for handling invalid format 2 cmaps.Werner Lemberg2018-04-262-1/+14
| | | | | | | | | | | | | | | | | | | | | | Sigh. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8003 * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid an endless loop.
| * [base] Avoid undefined behaviour in lcd filtering code (#53727).Ben Wagner2018-04-242-2/+9
| | | | | | | | | | * src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy): Ensure `height > 0'.
| * * src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing.Werner Lemberg2018-04-222-3/+8
| |
| * [base] Fix bitmap emboldening.Alexei Podtelezhnikov2018-04-222-4/+16
| | | | | | | | | | | | | | | | Bug introduced after release 2.8. * src/base/ftbitmap.c (ft_bitmap_assure_buffer): We use `FT_QALLOC_MULT', which doesn't zero out the buffer. Adjust the bitmap copying code to take care of this fact.
| * Revert "[base] Fix bitmap copying where the new pitch is smaller."Werner Lemberg2018-04-222-50/+14
| | | | | | | | This reverts commit c0f1adedcfaad4f7d2fe912ff4b2933845d61d93.
| * [base] Fix bitmap copying where the new pitch is smaller.Werner Lemberg2018-04-222-14/+50
| | | | | | | | * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Handle it.
| * Another fix for handling invalid format 2 cmaps.Werner Lemberg2018-04-222-2/+15
| | | | | | | | | | | | | | | | | | | | | | The previous commit was incomplete. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7928 * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid an endless loop.
| * Documentation tweaks.Alexei Podtelezhnikov2018-04-191-3/+3
| |
| * [autofit] Add support for Georgian Mtavruli characters.Werner Lemberg2018-04-195-150/+175
| | | | | | | | | | | | | | | | | | This will be part of the forthcoming Unicode 11.0. * src/autofit/afblue.dat: Add blue zone data for Mtavruli. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Mtavruli standard character.
| * Fix handling of invalid format 2 cmaps.Werner Lemberg2018-04-192-0/+19
| | | | | | | | | | | | | | | | | | | | The problem was introduced after the last release. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7828 * src/sfnt/ttcmap.c (tt_cmap2_char_next): Avoid endless loop.
| * [truetype] Integer overflow issues.Werner Lemberg2018-04-172-1/+11
| | | | | | | | | | | | | | | | Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7739 * src/truetype/ttinterp.c (Ins_CEILING): Use FT_PIX_CEIL_LONG.
| * CHANGES: Mention CVE-2018-6942.Werner Lemberg2018-04-161-0/+5
| |
| * [truetype] Integer overflow issues.Werner Lemberg2018-04-162-3/+13
| | | | | | | | | | | | | | | | Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7718 * src/truetype/ttinterp.c (Ins_MIRP): Use ADD_LONG.
| * [docmaker] Make it work with python3.Ankit Dhankhar2018-04-155-83/+81
| | | | | | | | | | * src/tools/docmaker (*.py): Use parentheses around arguments of `print'. Remove unused imports.
| * [build] Use `info' function of make 3.81.Alexei Podtelezhnikov2018-04-1514-75/+58
| | | | | | | | | | | | | | | | | | | | | | * configure, docs/INSTALL, docs/INSTALL.CROSS, docs/INSTALL.GNU, docs/INSTALL.UNIX, docs/MAKEPP: Bump make version requirements. * builds/detect.mk (std_setup): Replace `echo' with `info'. (dos_setup): Removed. * builds/unix/install.mk, builds/modules.mk, builds/dos/detect.mk, builds/windows/detect.mk, builds/os2/detect.mk: Updated. * builds/newline: No longer needed.
| * [truetype]: Limit `SLOOP' bytecode argument to 16 bits.Werner Lemberg2018-04-152-1/+14
| | | | | | | | | | | | | | | | This fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7707 * src/truetype/ttinterp.c (Ins_SLOOP): Do it.
| * [truetype] Integer overflow issues.Werner Lemberg2018-04-142-8/+20
| | | | | | | | | | | | | | | | Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7652 * src/truetype/ttinterp.c (Ins_MDAP): Use SUB_LONG.
| * [autofit] Update to Unicode 11.0.0.Werner Lemberg2018-04-142-9/+29
| | | | | | | | | | | | | | | | | | | | | | But no support new scripts (volunteers welcomed). * src/autofit/afranges.c (af_arab_nonbase_uniranges, af_beng_nonbase_uniranges, af_cakm_nonbase_uniranges, af_deva_nonbase_uniranges, af_geor_uniranges, af_gujr_nonbase_uniranges, af_mlym_nonbase_uniranges, af_nkoo_nonbase_uniranges, af_telu_nonbase_uniranges, af_hani_uniranges): Add new data.
| * Modernize CMake build.Nikolaus Waxweiler2018-04-104-196/+288
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Extensive modernization measures. * .gitignore: Add build/, as that's the example directory used in CMakeLists.txt. This brings up the minimum required CMake version to 2.8.12. The installation paths follow the GNU defaults now, e.g. installing on a 64 bit host will place binaries into the lib64/ folder on e.g. Fedora. Symbols are hidden by default (e.g. `-fvisibility=hidden' on GCC). CMake will no longer look for a C++ compiler. Library and .so version now match the Autotools build. Comments in the build file and informational messages now use platform agnostic example commands. ftoption.h and ftconfig.h are written directly without a redundant `-new' copy. External dependencies are expressed as option()s and will turn up as such in cmake-gui. Internal: Properties such as dependencies and include directories are now privately set on the freetype library instead of globally. The CPack definitions have been cleaned up, the `make dist' has been removed. Source packages generated with CPack don't contain Autotools files and aren't used by the maintainters anyway. On Windows, src/base/ftver.rc is compiled to decorate the library with version and copyright information. A pkg-config file is now generated and installed.
| * [truetype] Integer overflow issues.Werner Lemberg2018-04-092-4/+15
| | | | | | | | | | | | | | | | | | Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7453 * src/truetype/ttinterp.c (Round_Super, Round_Super_45): Use ADD_LONG and SUB_LONG.
| * [windows, wince] Clean up legacy project files.Alexei Podtelezhnikov2018-04-069-26633/+23
| | | | | | | | | | | | | | | | | | | | | | * builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2008-ce/freetype.vcproj, builds/windows/vc2005/freetype.vcproj, builds/windows/vc2008/freetype.vcproj, builds/windows/visualce/freetype.vcproj, builds/windows/visualce/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/freetype.dsp: Remove per-file compile flags.
| * [cff, type1] Sanitize `BlueFuzz' and `BlueShift'.Werner Lemberg2018-04-044-2/+52
| | | | | | | | | | | | | | | | | | | | | | | | Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7371 * src/cff/cffload.c (cff_load_private_dict): Sanitize `priv->blue_shift' and `priv->blue_fuzz' to avoid overflows later on. * src/type1/t1load.c (T1_Open_Face): Ditto.
| * * src/truetype/ttobjs.c (trick_names): Add 3 tricky fonts (#53554),suzuki toshiya2018-04-042-2/+27
| | | | | | | | | | | | `DFHei-Md-HK-BF', `DFKaiShu-Md-HK-BF' and `DFMing-Bd-HK-BF'. (tt_check_trickyness_sfnt_ids): Add checksums for 3 tricky fonts in above.
| * Minor comment improvement.Werner Lemberg2018-04-031-0/+4
| |
| * * builds/toplevel.mk (work): Use $(SEP).Werner Lemberg2018-04-012-1/+11
| | | | | | | | | | | | | | This fixes the `make refdoc' using Cygwin: $(CAT) is `type' on this platform, and this program only understands backslashes in paths. Reported by Nikhil Ramakrishnan <ramakrishnan.nikhil@gmail.com>.
| * [truetype] Fix memory leak (only if tracing is on).Werner Lemberg2018-03-302-0/+10
| | | | | | | | | | * src/truetype/ttgxvar.c (TT_Get_MM_Var) [FT_DEBUG_LEVEL_TRACE}: Fix it.
| * Documentation improvement.Alexei Podtelezhnikov2018-03-261-5/+6
| |
| * Typo.Werner Lemberg2018-03-241-1/+1
| |
| * Fixing cmake command formatKushal K S V S2018-03-231-2/+2
| |
| * [sfnt] Correctly handle missing bitmaps in sbix format (#53404).Ben Wagner2018-03-232-1/+7
| | | | | | | | * src/sfnt/ttfsbit.c (tt_face_load_sbix_image): Fix return value.
| * [truetype] Fix advance of empty glyphs in bitmap fonts (#53393).Ben Wagner2018-03-232-13/+26
| | | | | | | | | | * src/truetype/ttgload.c (TT_Load_Glyph): Apply scaling to metrics for empty bitmaps.
| * Remove `ftlcdfil.c' and `ftfntfmt.c' from build files (#53415).Werner Lemberg2018-03-2220-102/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | builds/amiga/makefile, builds/amiga/makefile.os4, builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt, builds/mac/FreeType.m68k_far.make.txt, builds/mac/FreeType.ppc_carbon.make.txt, builds/mac/FreeType.ppc_classic.make.txt, builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2008-ce/freetype.vcproj, builds/windows/vc2005/freetype.vcproj, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/freetype.vcxproj.filters, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, vms_make.com: Do it.
| * * src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numericWerner Lemberg2018-03-132-10/+16
| | | | | | | | overflow.
| * Fix cmap format 2 handling (#53320).Werner Lemberg2018-03-132-8/+15
| | | | | | | | | | | | The patch introduced for #52646 was not correct. * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition.
| * * CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05.Nikolaus Waxweiler2018-03-102-2/+4
| |
| * * CMakeLists.txt [win32]: Allow MSVC DLL builds (#53287).Chun-wei Fan2018-03-092-4/+9
| | | | | | | | | | | | Do not limit DLL builds to MinGW, since we already have `__declspec(dllexport)' directives in `ftconfig.h'. Also suppress more warnings for POSIX functions.
| * Typo.Werner Lemberg2018-03-081-1/+1
| |
| * CHANGES: Document `--enable-freetype-config'.Werner Lemberg2018-03-081-0/+10
| |
| * Make installation of `freetype-config' optional (#53093).Hugh McMaster2018-03-084-8/+33
| | | | | | | | Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
| * Minor: Update `CHANGES' and improve documentation in `modules.cfg'.Werner Lemberg2018-03-082-8/+28
| |
| * Make `ftlcdfil.c' part of the `base' module.Werner Lemberg2018-03-056-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `ftobjs.c' needs `ft_lcd_padding'. Problem reported by duhuanpeng <548708880@qq.com>. * modules.cfg (BASE_EXTENSIONS): Don't include `ftlcdfil.c'. * src/base/ftbase.c: Include `ftlcdfil.c'. * src/base/rules.mk (BASE_SRC): Add `ftlcdfil.c'. * src/base/Jamfile (_sources): Adjusted. * docs/INSTALL.ANY: Updated.
| * Make `ftfntfmt.c' part of the `base' module.Werner Lemberg2018-03-056-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `ftobjs.c' needs `FT_Get_Font_Format'. Problem reported by duhuanpeng <548708880@qq.com>. * modules.cfg (BASE_EXTENSIONS): Don't include `ftfntfmt.c'. * src/base/ftbase.c: Include `ftfntfmt.c'. * src/base/rules.mk (BASE_SRC): Add `ftfntfmt.c'. * src/base/Jamfile (_sources): Adjusted. * docs/INSTALL.ANY: Updated.
| * Minor documentation improvement.Werner Lemberg2018-03-031-0/+4
| |
| * * src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.Werner Lemberg2018-03-012-2/+6
| |
| * * builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer.Werner Lemberg2018-03-012-1/+7
| | | | | | | | Problem reported by Alan Coopersmith <alan.coopersmith@oracle.com>.
| * [sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154).Werner Lemberg2018-02-172-0/+13
| |