summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* correct a wrong note in makefileint-not32-changes-2017suzuki toshiya2017-09-131-1/+2
|
* replace dummy code in PIC support, from typedef to unused global variable.suzuki toshiya2017-09-1312-2/+53
| | | | Watcom C compiler does not recognize typedef-only code as something valid.
* bdf_parse_t->have[], bdf_font_t->{nmod,umod} are allocated in runtime.suzuki toshiya2017-09-133-8/+47
| | | | Watcom C compiler refuses too huge structure type > 64k.
* cpp-conditionalize too large property value check for LP64 systems,suzuki toshiya2017-09-131-0/+15
| | | | because it is always false on 16bit & 32bit systems.
* [memory debug] incompatible change of internal API for 16bit & ILP64 systems.suzuki toshiya2017-09-131-1/+1
| | | | ft_mem_primes[] is originally typed to FT_Int, it could not track the memory allocation on 16bit (I16-LP32) system.
* Insert casts to some bitshifting, to fit the types of destination variables.suzuki toshiya2017-09-132-28/+28
|
* [md5] make some constants typed unsigned long,suzuki toshiya2017-09-132-66/+66
| | | | and MD5_u32plus is changed from unsigned int to FT_UInt32.
* disable TrueTypeGX Variant for 16bit systems in temporal,suzuki toshiya2017-09-131-0/+2
| | | | due to the limitation that internal face_index is typed int.
* replace 32bit enumarator by cpp macro, conditionally on 16bit system.suzuki toshiya2017-09-131-0/+5
|
* [cff] internal API is changed incompatibly for 16bit & ILP64 systems.suzuki toshiya2017-09-132-7/+7
| | | | | | | | bias calculation is expected to be ILP32, LP64 or LLP64 systems (int = 32bit). Some internal variables and internal APIs are extended to use 32bit type for 16bit systems. Using long type is too large on LP64 systems, and induces the incompatible change of the internal API for 32bit systems, it should be avoided.
* insert explict cast to FT_UInt32 when bitshifting for 32bit value.suzuki toshiya2017-09-131-3/+3
| | | | note: long constant is too large for LP64 platforms.
* cpp-conditionalize too large property value check for LP64 systems,suzuki toshiya2017-09-131-0/+4
| | | | because it is always false on 16bit systems.
* To make large unsigned 16bit value, temporal bit shift like (1 << 16) can ↵suzuki toshiya2017-09-131-1/+1
| | | | | | induce an overflow. Change to make 32bit value by bitshifting and cast to 16bit in later.
* replace "<=" by "==" in the comparison of unsigned variable.suzuki toshiya2017-09-131-3/+3
|
* cpp-conditionalize a check for int width or height > 64k, because it is ↵suzuki toshiya2017-09-131-0/+2
| | | | always false on 16bit system.
* insert explict cast to FT_Fixed when bitshifting for FT_Fixed value.suzuki toshiya2017-09-131-1/+1
| | | | note: long constant is too large for LP64 platforms.
* use FT_UInt32 type to check UCS-2 codepoint overflow in cmap format 4 parser.suzuki toshiya2017-09-131-6/+6
| | | | note: long type is too large for LP64 platforms.
* insert explict cast to FT_Fixed when bitshifting for FT_Fixed value.suzuki toshiya2017-09-131-2/+2
| | | | note: long constant is too large for LP64 platforms.
* make numerical constant long when bitshifting for FT_Long valuesuzuki toshiya2017-09-131-1/+1
|
* cast 16bit values in the enumarator to signed short, to fit 16bit platforms.suzuki toshiya2017-09-131-0/+8
|
* make numerical constant long when bitshifting for FT_Long valuesuzuki toshiya2017-09-131-7/+7
|
* cpp-conditionalize a too long string > 64k, because it is always false on ↵suzuki toshiya2017-09-131-0/+2
| | | | 16bit system.
* watcom16.h, watcom16.mk: Watcom 16bit C compiler support files.suzuki toshiya2017-09-135-24/+160
| | | | unix-watcom16.mk: cross build by Watcom C compiler on Linux.
* builds/compiler/16bit.h: new generic header, to avoid greater-than-int ↵suzuki toshiya2017-09-131-0/+7
| | | | enumarator.
* devel/ftoption.h: disable some too expensive features for 16bit platform.suzuki toshiya2017-09-131-5/+7
|
* [cache] Fix a possible overflow by signed integer comparison.suzuki toshiya2017-09-132-4/+53
| | | | | | | | | | | | | Improve the code by 5d3ff05615dda6d1325ed612381a17a0df04c975 , issues are found by Behdad Esfahbod and Werner Lemberg. * src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Replace a subtraction to check higher bit by a bit operation, and cpp-conditionalize for appropriate systems. Add better documentation to the comment. (FTC_ImageCache_LookupScaler): Ditto. (FTC_SBitCache_Lookup): Ditto. (FTC_SBitCache_LookupScaler): Ditto.
* [autofit] Really fix #41334 (#52000).Werner Lemberg2017-09-132-8/+20
| | | | | * src/autofit/aflatin.c (af_latin_hints_compute_segments): Set `segment->delta' everywhere.
* [autofit, sfnt] Fix for `make multi'.suzuki toshiya2017-09-123-0/+13
| | | | | | | | * src/autofit/afshaper.c: Include FT_ADVANCE_H, to use FT_Get_Advance() in it. * src/sfnt/ttcmap.c: Include FT_SERVICE_POSTSCRIPT_CMAPS_H to use PS_Unicodes in it, also include `ttpost.h' to use tt_face_get_ps_name() in it.
* [build] Improve builds with different MS Visual Studio versions.Azzuro2017-09-112-12/+33
| | | | | * builds/windows/vc2010/freetype.vcxproj: Switch platform toolset according to the Visual Studio version.
* * src/sfnt/ttkern.c (tt_face_load_kern): Reject format 2 tables.Werner Lemberg2017-09-112-1/+13
| | | | Reported by Behdad.
* Typo.Alexei Podtelezhnikov2017-09-101-1/+1
|
* Warping CHANGES.Alexei Podtelezhnikov2017-09-091-1/+3
|
* [autofit] Improve communication with ftgrid.Werner Lemberg2017-09-092-3/+10
| | | | | * src/autofit/afhints.c (af_glyph_hints_get_segment_offset): Provide values in font units.
* Officially announce end of 16bit compiler support.Werner Lemberg2017-09-091-0/+5
|
* Warping documentation updates.Alexei Podtelezhnikov2017-09-082-7/+9
|
* [base] Remove a check for resource ID in the resource fork driver.suzuki toshiya2017-09-092-2/+21
| | | | | | | | | | | LastResort.dfont has a marginal resource ID 0xFFFF for sfnt resource. Inside Macintosh: More Macintosh Toolbox, `Resource IDs' (1-46), tells that some IDs are reserved and should not be used. FreeType2 just uses resource ID to sort the fragmented resource. To accept the marginal fonts, the checking is removed. * src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Remove res_id validity check, fix a trace message format.
* ChangeLog for last commit.suzuki toshiya2017-09-091-0/+22
|
* [sfnt, truetype] Register the tags for marginal fonts.suzuki toshiya2017-09-093-3/+13
| | | | | | | | | | | | | | | | | | | | The first 32bit of standard TrueType variants is 0x00010000, `OTTO', `ttcf', `true' or `typ1'. 2 marginal dfonts on legacy Mac OS X, Keyboard.dfont and LastResort.dfont, have the sfnt resources starting 0xA5 followed by `kbd' or `lst'. Considering the following data could be parsed as conventional TrueType fonts, the header checking is updated to allow these tags. It seems that recent Mac OS X has already switched to normal TTF for these fonts. See the discussion at http://u88.n24.queensu.ca/exiftool/forum/index.php?topic=3931.0 * include/freetype/tttags.h (TTAG_0xA5kbd, TTAG_0xA5lst): New header tags for Keyboard.dfont and LastResort.dfont. * src/sfnt/sfobjs.c (sfnt_open_font): Accept the sfnt resource starts with TTAG_0xA5kbd or TTAG_0xA5lst. * src/truetype/ttobjs.c (tt_face_init): Accept the face with the format tag is TTAG_0xA5kbd or TTAG_0xA5lst.
* Branding fixes.Alexei Podtelezhnikov2017-09-0713-27/+27
|
* s/&nbsp;/~/Alexei Podtelezhnikov2017-09-061-3/+3
|
* Fix multiple calls of `FT_Bitmap_Convert'.Werner Lemberg2017-09-053-2/+29
| | | | | | | | | | | | | | | | | | | | | | The documentation of `FT_Bitmap_Convert' says that multiple calls do proper reallocation of the target FT_Bitmap object. However, this failed for the sequence non-empty bitmap empty bitmap non-empty bitmap Reason was that `FT_Bitmap_Convert' only reallocated the bitmap buffer if it became too small; it didn't make the buffer smaller. For an empty bitmap following a non-empty one, only the buffer dimension got set to zero, without deallocation. If the next call was a non-empty buffer again, an assertion in `ft_mem_qrealloc' was triggered. * src/base/ftbitmap.c (FT_Bitmap_Convert): Always reallocate target buffer to the correct size. * docs/CHANGES: Document it.
* [bdf] Fix size and resolution handling.Werner Lemberg2017-09-053-6/+42
| | | | | | | | * src/bdf/bdfdrivr.c (BDF_Face_Init): Use `SIZE' values if `POINT_SIZE', `RESOLUTION_X', or `RESOLUTION_Y' properties are missing. * docs/CHANGES: Document it.
* Swap `ALLOC_MULT' arguments (#51833).Alexei Podtelezhnikov2017-08-254-3/+11
| | | | | | * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Updated. * src/winfonts/winfnt.c (FNT_Load_Glyph): Updated. * src/raster/ftrend1.c (ft_raster1_render): Updated.
* Typo.Werner Lemberg2017-08-231-2/+2
|
* [sfnt] Fix clang compilation (#51788).Werner Lemberg2017-08-232-9/+34
| | | | | | | * src/sfnt/pngshim.c (premultiply_data): Use vectors instead of scalars. (vector_shuffle): New macro to take of a different built-in function name on clang.
* [base] Don't zero out allocated memory twice (#51816).Werner Lemberg2017-08-222-4/+15
| | | | | | | Patch applied from bug report. * src/base/ftutil.c (ft_mem_qrealloc): Use low-level allocation to avoid unnecessary overhead.
* [truetype] Integer overflow.Werner Lemberg2017-08-222-6/+20
| | | | | | | | | Changes triggered by https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3107 * src/truetype/ttinterp.c (Ins_MDRP, Ins_MIRP, Ins_ALIGNPTS): Use NEG_LONG.
* [sfnt] Avoid synthetic unicode for symbol fonts with PUA.Alexei Podtelezhnikov2017-08-172-1/+12
| | | | | | | | Reported as https://bugs.chromium.org/p/chromium/issues/detail?id=754574 * src/sfnt/sfobjs.c (sfnt_load_face): Check for FT_ENCODING_MS_SYMBOL.
* * src/sfnt/pngshim.c (premultiply_data): Fix compiler warnings.Werner Lemberg2017-08-162-3/+7
|
* [sfnt] Speed up PNG image loading.Behdad Esfahbod2017-08-162-3/+60
| | | | | | | | This reduces the overhead of `premultiply_data' by 60%. * src/sfnt/pngshim.c (premultiply_data): Provide code which uses gcc's (and clang's) `vector_byte' attribute to process 4 pixels at a time.