src/bdf

Branch


Log

Author Commit Date CI Message
Werner Lemberg 7955c9b8 2025-09-24T05:56:34 * src/bdf/bdfdriver.c (BDF_Glyph_Load): Use `bdf->bdffont->bpp` directly. Fixes issue #1362.
Werner Lemberg f1be7392 2025-07-01T18:00:12 More signedness fixes. As reported by clang 19. * src/autofit/afadjust.c (add_substitute): Make first argument unsigned. Update all callers. Other minor signedness fixes. (af_reverse_character_map_new): Minor signedness fixes. * src/autofit/afgsub.c (af_hash_insert): Minor signedness fixes. * src/autofit/aflatin.c (af_glyph_hints_apply_vertical_separation_adjustments): Make third argument unsigned. Update all callers. Other minor signedness fixes. (af_latin_hints_apply): Minor signedness fixes. * src/bdf/bdflib.c (bdf_parse_bitmap_): Minor signedness fix. * src/truetype/ttobjs.c (tt_size_init_bytecode): Minor signedness fix.
Werner Lemberg 8d82c9fa 2025-07-01T17:08:37 */*: Fix trivial signedness issues with format strings in trace messages. As reported with clang 19's `-Wformat` option.
Werner Lemberg 15b7e8c3 2025-05-14T10:20:04 Whitespace, formatting, minor spelling fix.
Alexei Podtelezhnikov 6b6b643f 2025-04-12T15:06:59 * src/bdf/bdflib.c (hdigits): Removed. Fixes #1325.
Alexei Podtelezhnikov 82090e67 2025-03-26T00:26:55 [bdf] Clarify callback flow. * src/bdf/bdflib.c (bdf_line_func_t_): Modify callback prototype. (bdf_parse_*_): Updated. (bdf_load_font, bdf_readstream_): Delay callback initiation.
Alexei Podtelezhnikov 7ede7324 2025-03-25T22:03:23 * src/bdf/bdflib.c (bdf_readstream_): Relocate.
Alexei Podtelezhnikov 56b53a86 2025-03-25T21:23:46 * src/bdf/bdflib.c (bdf_is_atom_): Do not check tabs.
Alexei Podtelezhnikov 7ddb53fc 2025-03-25T21:22:52 * src/bdf/bdflib.c (_bdf_strncmp): Macro removed, callers updated.
Alexei Podtelezhnikov b1f47850 2025-01-28T22:49:21 * src/bdf/bdflib.c (bdf_parse_start_): Move setup of properties.
Alexei Podtelezhnikov 00a1567a 2025-01-24T22:36:56 [bdf] Treat all comments uniformly. * src/bdf/bdflib.c (bdf_parse_start_): Reject fonts with initial COMMENTs. (bdf_parse_properties_): Skip COMMENTs so that... (bdf_add_property_): Do not make exception for COMMENT. (bdf_parse_glyphs_, bdf_add_comments): Updated.
Alexei Podtelezhnikov fdae51cc 2025-01-24T22:03:00 * src/bdf/bdflib.c (BDF_SWIDTH_ADJ_): Remove clashing flag and update.
Alexei Podtelezhnikov bfe793cc 2025-01-22T21:17:57 * src/bdf/bdflib.c (bdf_atous_): Remove unnecessary checks.
Alexei Podtelezhnikov 40a74585 2025-01-22T21:05:22 * src/bdf/bdflib.c (bdf_ato{i.ul.s.us}_]): Remove uncecessary checks.
Alexei Podtelezhnikov 56131e42 2025-01-22T20:47:56 [bdf] Postpone font default char handling. * src/bdf/bdflib.c (bdf_parse_start_, bdf_add_property_): Delay handling of the default char until... * src/bdf/bdfdrivr.c (BDF_Face_Init): ... handles all other properties.
Alexei Podtelezhnikov 8bae8706 2025-01-22T20:46:43 [bdf] Postpone font spacing handling. * src/bdf/bdf.h (bdf_font_t): Remove `monowidth`. * src/bdf/bdflib.c (bdf_parse_start_, bdf_add_property_): Delay handling of the font spacing until... * src/bdf/bdfdrivr.c (BDF_Face_Init): ... handles all other properties.
Alexei Podtelezhnikov c0a7839e 2025-01-22T19:11:47 [bdf] Postpone font ascent and descent handling. * src/bdf/bdflib.c (bdf_parse_start_, bdf_add_property_): Delay handling of the font ascent and descent until... * src/bdf/bdfdrivr.c (BDF_Face_Init): ... handles all other properties.
Alexei Podtelezhnikov c33da8fb 2025-01-22T16:59:44 * src/bdf/bdflib.c (bdf_parse_start_): Relax the header order. We now check that the header is complete in no specific order.
Alexei Podtelezhnikov b9e09e33 2025-01-19T12:35:13 * src/bdf/bdflib.c (bdf_parse_glyphs_): Fix tracing.
Alexei Podtelezhnikov 01c22b36 2025-01-19T11:19:10 [bdf] Tokenize input instead of listing. Instead of cumbersome field list mamangement, we will tokenize input using custom `bdf_strtok_`. * src/bdf/bdflib.c (bdf_list_t_, bdf_list_init_, bdf_list_ensure_, bdf_list_shift_, bdf_list_join_, bdf_list_split_, bdf_set_default_spacing_): Removed. (bdf_strtok_): New function which NUL-terminates the first token at the delimiter position and returns the next token that follows consequtive delimiters. (bdf_parse_*_, bdf_load_font): Updated. * docs/CHANGES: Claim overall 75% performance improvement.
Alexei Podtelezhnikov ad7dce77 2025-01-17T20:54:14 * src/bdf/bdflib.c (bdf_parse_start_): Prevent another STARTPROPERTIES. Only one STARTPROPERTIES was permitted in the old flow preventing leaks and overflows. See https://issues.oss-fuzz.com/issues/389968131 https://issues.oss-fuzz.com/issues/390464875
Alexei Podtelezhnikov e3a3b39d 2025-01-16T23:25:08 * src/bdf/bdflib.c (bdf_parse_start_): Do not overwrite flags.
Alexei Podtelezhnikov d4631a2e 2025-01-16T20:54:33 * src/bdf/bdflib.c (bdf_readstream_): Skip all control characters. This agrees with specifications and makes the code a lot simpler.
Alexei Podtelezhnikov 02953326 2025-01-16T03:47:14 * src/bdf/bdflib.c (bdf_parse_start_): Reserve space for artificial properties.
Alexei Podtelezhnikov ae11e18c 2025-01-15T15:50:12 * src/bdf/bdflib.c (bdf_add_property_): Add extra protection. See https://issues.oss-fuzz.com/issues/389972472 https://issues.oss-fuzz.com/issues/389968131
Alexei Podtelezhnikov a0d86e56 2025-01-14T22:58:04 * src/bdf/bdflib.c: Clean up.
Alexei Podtelezhnikov a3c68e3b 2025-01-14T22:32:46 [bdf] Use flags instead of options. * src/bdf/bdf.h (bdf_options_t): Removed. (BDF_KEEP_COMMENTS, BDF_KEEP_UNENCODED, BDF_CORRECT_METRICS): Updated to avoid collisions with the other parsing flags. * src/bdf/bdfdrivr.c (BDF_Face_Init): Use default flags explicitly. * src/bdf/bdflib.c (bdf_load_font): Use flags as an argument to initialize the parser. (bdf_set_fedault_spacing_): Default to BDF_PROPORTIONAL explicitly. (bdf_parse_*_): Updated.
Alexei Podtelezhnikov a05c2210 2025-01-14T21:11:33 [bdf] Adjust parsing flow and CHARS handling. * src/bdf/bdflib.c (bdf_readstream_): Remove CHARS exception. (bdf_parse_glyphs_): Move glyphs allocation... (bdf_parse_properties_): and missing ascent and descent handling... (bdf_parse_start_): ...to here under CHARS.
Alexei Podtelezhnikov 0864367a 2025-01-14T18:39:50 * src/bdf/bdflib.c (bdf_readstream_): Tweak variables and loop design.
Alexei Podtelezhnikov ee1310ab 2025-01-13T17:19:31 * src/bdf/bdflib.c (bdf_parse_glyphs_): Free unused glyph_name. See https://issues.oss-fuzz.com/issues/389330334.
Alexei Podtelezhnikov f2199967 2025-01-13T03:48:28 * src/bdf/bdflib.c (bdf_parse_glyphs_): Store glyph as soon as possible.
Alexei Podtelezhnikov aab40d5c 2025-01-12T00:24:42 * src/bdf/bdflib.c (bdf_parse_glyphs_): Avoid possible leak.
Alexei Podtelezhnikov bbc445e1 2025-01-11T23:11:07 [bdf] Speed up bitmap parsing. A dedicated parser of bitmap data with minimal error checking and no string comparisons helps to improve performance. * src/bdf/bdflib.c (bdf_parse_bitmap_): New dedicated bitmap parser. (bdf_parse_glyphs_): Pass to `bdf_parse_bitmap_` on BITMAP.
Alexei Podtelezhnikov 4433c7b7 2025-01-11T18:54:04 * src/bdf/bdflib.c (a2i): Formatting.
Alexei Podtelezhnikov ff5872b4 2025-01-10T22:55:13 * src/bdf/bdflib.c (bdf_parse_*_): Minor improvements.
Alexei Podtelezhnikov cf451e5f 2025-01-10T22:31:07 * src/bdf/bdf.h (bdf_font_t): Correct `internal` type. * src/bdf/bdflib.c (*): Update users.
Alexei Podtelezhnikov 1f57020f 2025-01-10T03:23:41 * src/bdf/bdflib.c (bdf_parse_start_): Fix tracing labels.
Alexei Podtelezhnikov 24888540 2024-07-28T19:42:49 [bdf,pcf,winfonts,sfnt] Remove barely used marcros. * include/freetype/internal/ftobjs.h (FT_FACE_SIZE, FT_SIZE_FACE): Removed. * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Updated. * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Ditto. * src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto * src/sfnt/ttbdf.c (tt_face_find_bdf_prop): Ditto.
Alexei Podtelezhnikov b25265fe 2024-05-19T22:58:23 [bdf] Use concise macros. * src/bdf/bdflib.c (bdf_create_property): Use FT_STRDUP. (bdf_parse_glyphs_, bdf_parse_start_): Use FT_DUP for brevity.
Werner Lemberg 80a507a6 2023-05-23T13:13:56 Replace `sprintf` with `snprintf`. Fixes #1233. * include/freetype/config/ftstdlib.h (ft_sprintf): Replace with... (ft_snprintf): This new macro. * src/autofit/afhints.c (af_print_idx): Add argument to pass the buffer size. (af_glyph_hints_dump_points, af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Updated. * src/bdf/bdflib.c (BUFSIZE): New macro. (bdf_parse_properties_, bdf_parse_start_): Use `ft_snprintf`. * src/tools/ftrandom/ftrandom.c (do_test): Use `snprintf`.
Werner Lemberg bc7466ad 2023-05-06T19:15:01 * src/bdf/bdfdrivr.c: Clean up interface. Ensure that all driver functions use the signature of the service or driver. This avoids pointer mismatches, which are technically undefined behaviour. Recent compilers are more picky in catching them as part of Control Flow Integrity tests.
Alexei Podtelezhnikov 7ab541a2 2023-04-26T23:15:24 [bdf] Clean up the atom property parsing. * src/bdflib.c (bdf_is_atom_): Refactor code with fewer checks. (bdf_list_join_): Return NULL. (bdf_add_comment_): Use const argument. (bdf_get_property): Ditto, ditto, make the function static. * src/bdf.h (bdf_get_property): Remove prototype.
Werner Lemberg 37bc7c26 2023-02-07T07:37:07 Avoid reserved identifiers that are globally defined. This is mandated by the C99 standard, and clang 15 produces zillions of warnings otherwise. * devel/ftoption.h, include/freetype/config/ftoption.h, include/freetype/internal/ftmemory.h, src/autofit/afhints.h, src/autofit/afmodule.c, src/autofit/aftypes.h, src/base/ftadvanc.c, src/base/ftdbgmem.c, src/base/ftstream.c, src/bdf/bdflib.c, src/truetype/ttinterp.c: Replace identifiers of the form `_foo` with `foo_`.
Alexei Podtelezhnikov 6139f2b6 2022-11-06T13:12:47 [bdf, pfr, psnames] Accelarate charmap searches. The binary searches within charmaps can be accelerated because they often contain dense continuous blocks of character codes. Within such blocks, you can predict matches based on misses. This method has been deployed in `bdf` since 0f122fef34; we only refactor it there. We now use it in `pfr` and `psnames`, which speeds up the unicode charmap access by about 50% in PFR and Type 1 fonts. * src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Refactor. * src/pfr/pfrcmap.c (pfr_cmap_char_{index,next}): Predict `mid` based on the mismatch distance. * src/psnames/psmodule.c (ps_unicodes_char_{index,next}): Ditto.
Werner Lemberg 6c5522c6 2022-02-19T13:37:07 * src/bdf/README: Updated.
Alexei Podtelezhnikov d118bf8e 2022-01-15T23:09:53 [bdf,type1] Avoid unnecessary hash zeroing. * src/bdf/bdflib.c (_bdf_parse_start): Use `FT_QALLOC`. * src/type1/t1load.c (parse_subrs): Use `FT_QNEW`.
Alexei Podtelezhnikov 904ad212 2022-01-13T23:38:56 * src/bdf/bdflib.c (_bdf_parse_glyphs): Remove redundant assignment.
Alexander Borsuk 4f357118 2021-12-17T11:22:09 Clang-Tidy warning fixes. * src/base/ftobjs.c (FT_Get_Paint): Operator has equivalent nested operands. * src/bdf/bdflib.c (_bdf_add_property): Value stored to `fp` is never read. * src/sdf/ftbsdf.c (bsdf_init_distance_map): Value stored to `pixel` is never read. * src/sdf/ftsdf.c (split_sdf_shape): Value stored to `error` is never read.
Ben Wagner bad92be9 2021-12-09T17:06:28 [bdf] Fix use of uninitialized value. In _bdf_readstream if the data contained no newline then the buffer would continue to grow and uninitialized data read until either the uninitialized data contained a newline or the buffer reached its maxiumum size. The assumption was that the line was always too long and the buffer had been filled, however this case can also happen when there is not enough data to fill the buffer. Correct this by properly setting the cursor to the end of the available data, which may be different from the end of the buffer. This may still result in one extra allocation, but only on malformed fonts. * src/bdf/bdflib.c (_bfd_readstream): Correctly update cursor. Remove unread set of `avail`. Bug: https://lists.nongnu.org/archive/html/freetype-devel/2021-12/msg00001.html
Werner Lemberg 8ef8072b 2021-10-19T22:59:46 [bdf, cid, pfr, winfonts] Improve rejection of other font formats. This is mainly for better diagnostics of malformed fonts. * src/bdf/bdflib.c (_bfd_readstream): Stop font format testing if the first input line is too long or doesn't end with `\r` or `\n`. * src/cid/cidparse.c (cid_parser_new): Don't handle too short input as an error but as an unknown format. * src/pfr/pfrobjs.c (pfr_face_init): Ditto. * src/winfonts/winfnt.c (fnt_font_load, fnt_face_get_dll_font): Ditto.
Alexei Podtelezhnikov 30ca63d4 2021-10-16T23:02:47 [bdf] Fix up user properties. Fallout reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40027 * src/bdf/bdflib.c (_bdf_add_property): Cosmetic NULL. (bdf_create_property): Limit allocations to customary signed FT_Long and NULL-initialize unused storage. (bdf_free_font): Do not free unused storage.
Alexei Podtelezhnikov a69320a9 2021-09-24T22:06:44 [bdf] Simplify comment collection or lack thereof. BDF comments are neither actually collected nor retrieved. There is no need to be fancy with delimiters. * src/bdf/bdflib.c (_add_bdf_comment): Delimit comments with zeros... (bdf_load_font): ...and do not null-terminate comments additionally. (_bdf_parse_glyphs): Check if comments are kept, which they are not. (_bdf_parse_start): Minor clean up.
Alexei Podtelezhnikov a29e0200 2021-09-23T23:10:26 Use NULL for pointers only. * src/bdf/bdflib.c (*): Code changes. * include/freetype/freetype.h: Comments only. * src/cff/cffload.c, src/cff/cffobjs.c: Ditto. * src/winfonts/winfnt.c: Ditto.
Alexei Podtelezhnikov 90b14882 2021-09-22T20:20:04 [bdf, pcf] Minor optimization. * src/pcf/pcfread.c (pcf_load_font): Do not call `FT_MulDiv` for a small job. * src/bdf/bdfdrivr.c (BDF_Face_Init): Ditto. * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix a comment.
Alexei Podtelezhnikov 892e7ead 2021-09-21T14:39:21 * src/bdf/bdflib.c (_bdf_parse_{start,glyphs}): Use appropriate scanner.
Alexei Podtelezhnikov 058f3f2d 2021-09-13T16:24:25 [bdf, psnames, sfnt] Avoid some memory zeroing. * src/bdf/bdfdrivr.c (BDF_Face_Init): Use Q-macro. * src/sfnt/sfobjs.c (sfnt_load_face): Ditto. * src/psnames/psmodule.c (src/psnames/psmodule.c): Remove zero.
Alexei Podtelezhnikov 7bf655b2 2021-09-03T11:31:41 * src/bdf/bdflib.c (_bdf_parse_start): Keep parser memory.
Alexei Podtelezhnikov 0a6f0f8f 2021-09-02T22:52:21 * src/bdf/bdflib.c (bdf_load_font): Remove memory shuffling.
Alexei Podtelezhnikov a81cf5aa 2021-09-02T22:10:57 Cosmetic zeros.
Alexei Podtelezhnikov 2f62d8e0 2021-05-07T09:33:41 * src/bdf/bdflib.c (_bdf_list_ensure): Tweak allocation macro.
Alexei Podtelezhnikov ec95f9c9 2021-05-02T18:30:22 [bdf,pcf] Avoid memory zeroing (contd.). * src/bdf/bdflib.c (bdf_create_property, _bdf_add_comment, _bdf_add_property, bdf_load_font): Tweak allocation macros. * src/pcf/pcfread.c (pcf_get_properties, pcf_get_metrics): Ditto.
Alexei Podtelezhnikov c2d28314 2021-04-25T23:33:15 [bdf,pcf] Avoid some memory zeroing. * src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties, pcf_load_font): Tweak memory macros. * src/bdf/bdfdrivr.c (BDF_Face_Init): Ditto. * src/bdf/bdflib.c (_bdf_readstreami, bdf_create_property, _bdf_parse_glyphs, _bdf_parse_start): Ditto. (_bdf_add_property): Do not handle zero size.
Alexei Podtelezhnikov a0fb6dbc 2021-04-23T00:05:18 [pcf,bdf,winfonts] s/FT_ALLOC/FT_QALLOC/ for initialized buffers. * src/pcf/pcfread.c (pcf_interpret_style): Do not zero out the buffer. * src/bdf/bdfdrivr.c (bdf_interpret_style): Ditto. * src/winfonts/winfnt.c (FNT_Face_Init, FNT_Load_Glyph): Ditto.
Alexei Podtelezhnikov 70fd20e6 2021-02-12T19:28:05 Decorate qsort callbacks with cdecl. * include/freetype/internal/compiler-macros.h (FT_COMPARE_DEF): Add new macro. * src/base/ftrfork.c, src/bdf/bdflib.c, src/gxvalid/gxvcommn.c, src/psaux/afmparse.c, src/psnames/psmodule.c, src/type1/t1afm.c, src/sfnt/sfwoff.c, src/sfnt/sfwoff2.c: Update qsort callbacks. Fixes #1026 when compiling FreeType with an unusual calling convention while the C library qsort still expects cdecl.
Werner Lemberg 92db149e 2020-12-02T07:54:21 * src/bdf/bdflib.c: Fix `-Wformat` warning.
Priyesh Kumar 6d9e6b21 2020-08-28T09:56:38 * src/*: Fix `-Wformat` warnings.
Priyesh Kumar 53be1753 2020-07-28T07:33:40 Fix `-Wformat' compiler warnings. * src/*: Fix format specifiers. * builds/unix/ftsystem.c (FT_Stream_Open): Ditto.
Werner Lemberg 8cfc41ae 2020-07-25T12:23:22 Fix `-Wformat' compiler warnings. Problem reported by Priyesh kumar <priyeshkkumar@gmail.com> * src/base/ftoutln.c (FT_Outline_Decompose): Fix number of arguments to tracing macro. * src/bdf/bdfdrivr.c (bdf_cmap_char_next, bdf_get_bdf_property): Ditto. * src/cache/ftcbasic.c (ftc_basic_family_get_count): Ditto. Reformulate message. * src/pcf/pcfdrivr.c (pcf_get_bdf_property): Ditto. * src/sfnt/sfwoff2.c (woff2_open_font): Ditto. Trace table offset, too. * src/truetype/ttgxvar.c (ft_var_apply_tuple): Ditto.
Werner Lemberg 16586859 2020-06-13T21:15:45 Remove redundant inclusion of `ft2build.h'. * */*: Remove `#include <ft2build.h>' where possible. * include/freetype/freetype.h: Remove cpp error about missing inclusion of `ft2build.h'.
David Turner e1339133 2020-06-08T13:31:55 Make macros for header file names optional. We no longer have to take care of the 8.3 file name limit; this allows us (a) to introduce longer, meaningful file names, and (b) to avoid macro names in `#include' lines altogether since some compilers (most notably Visual C++) doesn't support this properly. */*: Replace #include FOO_H with #include <freetype/foo.h> or something similar. Also update the documentation.
David Turner 4eee1340 2020-05-18T09:16:12 Remove Jamfile files from the tree. These have not been used in a very, very long time, so better remove them. A corresponding patch will be submitted to the `freetype2-demos' repository. * src/Jamfile, src/*/Jamfile, Jamrules: Delete.
Werner Lemberg e5038be7 2020-01-19T17:05:19 Update all copyright notices.
Alexei Podtelezhnikov 7b1c7585 2019-06-26T20:18:00 * src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Fix inequality. Reported by Armin Hasitzka.
Alexei Podtelezhnikov afaf3f1d 2019-06-10T22:27:39 [bdf,pcf] Use `const' for string literals. * src/bdf/bdf.h (bdf_property_t): Updated `name'. * src/bdf/bdflib.c (_bdf_list_split,bdf_create_property, _bdf_add_property,_bdf_ato*): Updated. * src/bdf/bdfdrivr.c (bdf_interpret_style): Updated. * src/pcf/pcfread.c (pcf_intrpret_style): Ditto.
Werner Lemberg 75859970 2019-02-23T10:07:09 Update all copyright notices.
Werner Lemberg f686ad46 2019-01-22T20:31:44 Update copyright years.
Werner Lemberg f1b6183f 2018-12-04T11:51:15 [bdf] Ignore data after `ENDFONT'. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10798 * src/bdf/bdflib.c (_bdf_parse_end): New function. (_bdf_parse_glyphs): Switch to `_bdf_parse_end' after `ENDFONT' has been encountered.
Alexei Podtelezhnikov 0f122fef 2018-09-23T21:46:26 [bdf] Speed up charmap access. This makes FT_Get_Char_Index and FT_Get_Next_Char 4-5 times faster. * src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Help binary search with continuous prediction.
Alexei Podtelezhnikov d629c2ba 2018-09-18T17:11:48 Remove unused fields. * src/pcf.h (PCF_FaceRec): Remove `charmap' and `charmap_handle'. * src/bdfdrvr.h (BDF_FaceRec): Ditto. * src/winfonts/winfnt.h (FNT_FaceRec): Ditto.
Alexei Podtelezhnikov efa2a3ba 2018-08-15T23:49:07 Revert BDF copyright years.
Alexei Podtelezhnikov af9662e6 2018-08-15T22:58:11 Ouch. BDF copyright year.
Alexei Podtelezhnikov 923fcbcd 2018-08-15T22:50:06 [bdf] Don't track duplicate encodings. There is no harm except some umbiguity in broken fonts with duplicate encodings. * src/bdf/bdflib.c (_bdf_parse_glyphs): Remove duplicate tracking. (_bdf_parse_t): Remove large `have' bitfield.
Werner Lemberg a0dd16fb 2018-08-15T18:13:17 Don't use `trace_' prefix for FT_COMPONENT arguments. * include/freetype/internal/ftdebug.h (FT_TRACE_COMP, FT_TRACE_COMP_): New auxiliary macros to add `trace_' prefix. (FT_TRACE): Use `FT_TRACE_COMP'. */* (FT_COMPONENT): Updated.
Alexei Podtelezhnikov e001a17d 2018-08-14T07:10:57 [bdf] Remove unused fields. * src/bdf/bdf.h (bdf_font_t): Remove `nmod', `umod', and `modified', which were set but never used. * src/bdf/bdflib.c (_bdf_parse_{glyphs,properties}, bdf_load_font): Updated accordingly.
Alexei Podtelezhnikov ac2ea865 2018-08-13T21:33:24 [bdf] Remove unused overflow storage. * src/bdf/bdf.h (bdf_glyphlist_t): Remove this type. (bdf_font_t): Remove `overflow' field. * src/bdf/bdflib.c (bdf_free_font): Remove `overflow' freeing.
Alexei Podtelezhnikov f5fe6e2f 2018-08-13T09:01:53 [bdf] Use unsigned types. * src/bdf/bdf.h (bdf_glyph_t): Unsign `encoding'. (bdf_font_t): Unsign `default_char'. * src/bdf/bdfdrivr.h (BDF_encoding_el): Unsign `enc'. * src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_glyphs, _bdf_parse_start): Updated accordingly. * src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Ditto.
Armin Hasitzka 0f6be064 2018-06-17T20:27:42 [bdf] Fix underflow of an unsigned value. bdflib.c:1562 could be reached with `font->glyphs_used == 0'. That caused an underflow of the unsigned value which results in undefined behaviour. * src/bdf/bdflib.c (src/bdf/bdflib.c): Bail out earlier than before if the `ENCODING' keyword cannot be found.
Parth Wazurkar 89d2f429 2018-06-06T16:53:54 [bdf, pcf] Removed deprecated FT_FACE_FLAG_FAST_GLYPHS flag. * src/bdf/bdfdrivr.c (BDF_Face_Init): Removed deprecated FT_FACE_FLAG_FAST_GLYPHS flag. * src/pcf/pcfread.c (pcf_load_font): Removed deprecated FT_FACE_FLAG_FAST_GLYPHS flag.
Werner Lemberg 9ac9060d 2018-06-03T09:01:17 [GSoC] src/*.*: Convert block comments to `light' style. This monster commit was created by applying Nikhil's scripts `docconverter.py' and `markify.py' to all C header and source files, followed up by minor manual clean-up. No change in functionality, of course. I used commit f7419907bc6044b9b7057f9789866426c804ba82 from https://github.com/nikramakrishnan/freetype-docs.git.
Werner Lemberg 95149592 2018-05-02T20:27:48 Remove FT_CONFIG_OPTION_PIC and related code. */* [FT_CONFIG_OPTION_PIC]: Remove all code guarded by this preprocessor symbol. */*: Replace `XXX_GET' macros (which could be either a function in PIC mode or an array in non-PIC mode) with `xxx' arrays. * include/freetype/internal/ftpic.h, src/autofit/afpic.c, src/autofit/afpic.h, src/base/basepic.c, src/base/basepic.h, src/base/ftpic.c, src/cff/cffpic.c, src/cff/cffpic.h, src/pshinter/pshpic.c, src/pshinter/pshpic.h, src/psnames/pspic.c, src/psnames/pspic.h, src/raster/rastpic.c, src/raster/rastpic.h, src/sfnt/sfntpic.c, src/sfnt/sfntpic.h, src/smooth/ftspic.c, src/smooth/ftspic.h, src/truetype/ttpic.c, src/truetype/ttpic.h: Removed.
Werner Lemberg 0a0c2256 2018-01-02T09:33:57 Update copyright year.
Werner Lemberg 068a7a03 2017-12-18T20:34:05 * src/*/*: Only use `ft_' and `FT_' variants of stdc library stuff.
Werner Lemberg 87ddad20 2017-12-04T20:43:30 Update or fix links to use the https protocol instead of http.
Werner Lemberg 7d017ba8 2017-09-05T15:28:21 [bdf] Fix size and resolution handling. * 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.
Werner Lemberg dbeb7bce 2017-06-15T19:39:50 [bdf, cff] Integer overflows. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2244 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2261 * src/bdf/bdfdrivr.c (BDF_Face_Init): Replace calls to FT_ABS with direct code to avoid value negation. * src/cff/cf2blues.c (cf2_blues_capture): Use SUB_INT32 and ADD_INT32.
Werner Lemberg 79e3789f 2017-06-14T07:51:04 * src/winfonts/winfnt.c (FNT_Face_Init): Don't set active encoding. FreeType only sets a default active encoding for Unicode.
Werner Lemberg 2c2e6403 2017-06-03T07:38:11 [bdf] Synchronize sanity checks with pcf driver. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2054 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2058 * src/bdf/bdfdrivr.c (BDF_Face_Init): Check font ascent and descent. Check AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X, and RESOLUTION_Y properties.
Werner Lemberg 03b0cc2e 2017-06-02T09:16:52 [bdf] Don't left-shift negative numbers. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2031 * src/bdf/bdfdrivr.c (BDF_Face_Init): Use multiplication.
Werner Lemberg 47a03e9b 2017-06-02T09:06:36 [bdf] Fix integer scanning routines. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2029 * src/bdf/bdflib.c (_bdf_atoul, _bdf_atol, _bdf_atous, _bdf_atos): Stop scanning if result would overflow.
Werner Lemberg 082f2faf 2017-05-24T07:40:46 [bdf, pcf] Support ISO646.1991-IRV character encoding (aka ASCII). Problem reported by Marek Kašík <mkasik@redhat.com>, cf. https://bugzilla.redhat.com/show_bug.cgi?id=1451795 * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdrivr.c (PCF_Face_Init): Implement it.