Parth Wazurkar
d64bad545a
[tfm] Fixes.
2018-12-20 23:36:05 +05:30
Parth Wazurkar
75fd199d70
[tfm] Fixes.
...
Conflicts:
include/freetype/internal/tfm.h
2018-12-20 23:29:42 +05:30
Parth Wazurkar
46ab8e2f4c
[tfm] Fixes.
2018-12-20 23:27:13 +05:30
Parth Wazurkar
4c8db5478b
[tfm] Define the `tfm_interface' functions.
...
* src/tfm/tfmobjs.c: Do it.
2018-12-20 23:26:42 +05:30
Parth Wazurkar
72035f0025
[tfm] Initialise makefiles.
2018-12-20 23:26:21 +05:30
Parth Wazurkar
46d2e1bd65
[tfm] Define `tfm_module_class' and `tfm_interface'.
...
* src/tfm/tfmmod.c: Do it.
2018-12-20 23:26:00 +05:30
Parth Wazurkar
6ae549152a
[tfm] Add new `tfm' auxiliary module.
...
* include/freetype/internal/tfm.h:
- Add TFM_FontInfoRec to accomodate TFM metric data.
- Define TFM_ParserRec to parse the metric data from
input `tfm' file.
- Define TFM_ServiceRec to provide functions to do it.
2018-12-20 23:25:37 +05:30
Parth Wazurkar
b490cfd5fd
[vf] Register `vf' services.
2018-12-19 17:53:32 +05:30
Parth Wazurkar
18a923c039
[vf] Add `vf_driver_class' functions.
...
Note: Does not compile.
2018-12-19 17:52:05 +05:30
Parth Wazurkar
30679ffae9
[vf] Add DVI interpreter functions.
2018-12-18 16:28:35 +05:30
Parth Wazurkar
7305227c8c
[vf] Add `vf' utility and `dvi' stack functions.
...
* src/vf/vflib.c: Add `vf_dv_stack' utility
functions and `vf_read_info' function.
2018-12-07 00:47:28 +05:30
Parth Wazurkar
b9b1f22afe
[vf] Minor.
2018-12-06 00:20:28 +05:30
Parth Wazurkar
51e77c8217
[vf] Modify makefiles.
2018-12-06 00:19:11 +05:30
Parth Wazurkar
35c6834a06
[vf] Add utility functions.
...
* src/vf/vflib.c: Do it.
2018-12-06 00:17:27 +05:30
Parth Wazurkar
6939265f77
[vf] Define `vf_cmap_class' functions.
...
* src/vf/vfdrivr.c: Do it.
2018-08-05 19:34:06 +05:30
Parth Wazurkar
540347496a
[vf] Define VF_FaceRec and other format specific structures.
...
* src/vf/vfdrivr.h: Define VF_Bitmap, VF, and TFM
and other structures to hold `vf' format specific
values and define VF_FaceRec to accomodate them.
2018-07-25 13:47:13 +05:30
Parth Wazurkar
1cffbb92e5
[vf] Add vf format opcodes.
...
* src/vf/vf.h: Add opcodes used for vf driver.
2018-07-25 12:49:48 +05:30
Parth Wazurkar
9fac20632d
[pk] Minor Fixes.
2018-07-19 13:43:20 +05:30
Parth Wazurkar
8bacbfc33e
[pk] Add pk services.
2018-07-19 12:58:44 +05:30
Parth Wazurkar
5f57c6a8e8
[pk] Improve error checking in font file.
...
* src/pk/pklib.c (pk_load_font): Add check for
`PK_ID' and `PK_PRE' command in the font file.
2018-07-13 21:36:01 +05:30
Parth Wazurkar
9678e0c902
[pk] Fixes.
2018-07-13 01:14:58 +05:30
Parth Wazurkar
86a901d198
[pk] Define `pk_driver_class' functions.
...
* src/pk/pkdrivr.c: Define all the `pk_driver_class'
functions.
2018-07-13 01:13:11 +05:30
Parth Wazurkar
ab86ec699d
[pk] Define `pk_cmap_class' functions.
2018-07-12 23:26:48 +05:30
Parth Wazurkar
21d3754b29
[pk] Define `pk' font loader functions.
...
* src/pk/pk.h: Add `pk' format specific opcodes.
* src/pk/pklib.c: Define `pk_font_load', `pk_free_font'
and other format specific utility functions.
2018-07-12 22:33:12 +05:30
Parth Wazurkar
d934e03cdd
[pk] Define PK_FaceRec and other format specific structures.
...
* src/pk/pkdrivr.h: Define PK_Bitmap and PK_Glyph
structures to hold `pk' format specific values and
define PK_FaceRec to accomodate them.
2018-07-12 22:28:58 +05:30
Parth Wazurkar
f9d1ea429b
[vf] Initialise vf driver files and Makefiles.
2018-07-10 15:18:45 +05:30
Parth Wazurkar
e67b502c14
[pk] Initialise pk driver files and Makefiles.
2018-07-10 15:08:47 +05:30
Parth Wazurkar
7399a4c280
[pk,vf] Initialise pk and vf driver repositories.
2018-07-10 14:27:17 +05:30
Werner Lemberg
b532d7ce70
Fix typo ( #54238 ).
...
* src/base/ftcolor.c (FT_Palette_Set_Foreground_Color)
[!TT_CONFIG_OPTION_COLOR_LAYERS]: Add return value.
2018-07-05 23:13:35 +02:00
Werner Lemberg
0767d5362f
Adjust table size comparisons ( #54242 ).
...
* src/sfnt/ttcpal.c (tt_face_load_cpal): Implement it.
2018-07-05 23:05:53 +02:00
Werner Lemberg
6ceeb87f5d
Fix more 32bit issues ( #54208 )
...
* src/cff/cffload.c (cff_blend_build_vector): Convert assertion into
run-time error.
* src/truetype/ttgxvar.c (ft_var_to_normalized): Protect against
numeric overflow.
2018-07-05 22:31:10 +02:00
Werner Lemberg
29f05fd02d
Fix 32bit build warnings ( #54239 ).
...
* src/base/ftbitmap.c (FT_Bitmap_Blend): Add casts to avoid signed
vs. unsigned comparisons.
* srb/sfnt/ttcolr.c (tt_face_get_colr_layer): Ditto.
2018-07-04 11:49:47 +02:00
Jeff Carey
d9d300ab6b
* src/psnames/psmodule.c (ps_unicodes_init): Fix alloc debugging.
2018-07-02 22:27:57 +02:00
Werner Lemberg
396051daee
s/xxx specific foo/xxx-specific foo/.
2018-07-02 15:52:36 +02:00
Werner Lemberg
7edc937fe6
s/palette_types/palette_flags/.
...
Suggested by Behdad.
2018-07-02 11:50:04 +02:00
Werner Lemberg
4e3b2473d8
Make `FT_Get_Color_Glyph_Layer' return FT_Bool.
...
* include/freetype/freetype.h, src/base/ftobjs.c
(FT_Get_Color_Glyph_Layer, FT_Render_Glyph_Internal): Updated.
* include/freetype/internal/sfnt.h (TT_Get_Colr_Layer_Func),
src/sfnt/ttcolr.h, src/sfnt/ttcolr.c (tt_face_get_colr_layer):
Updated.
2018-07-02 11:41:44 +02:00
Werner Lemberg
f6ccb524af
* src/base/ftobjs.c (FT_Get_Color_Glyph_Layer): Guard SFNT function.
...
Reported by Behdad.
2018-07-01 12:31:57 +02:00
Alexei Podtelezhnikov
1fc776b5f1
* src/base/fttrigon.c (FT_Tan): Improve accuracy.
...
(FT_Vector_Rotate): Simplify.
2018-06-28 21:42:26 -04:00
Alexei Podtelezhnikov
4f11209f5c
* src/base/ftobjs.c (FT_Set_Charmap): Robustify.
2018-06-28 21:31:35 -04:00
Werner Lemberg
207ca38fb5
[truetype] Fix memory leak.
...
* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Add initializers.
Fix typo in `goto' destination.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9071
2018-06-25 18:50:00 +02:00
Werner Lemberg
589d1f0899
* src/truetype/ttgxvar.c (tt_face_vary_cvt): Add initializers.
...
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9070
2018-06-25 18:38:04 +02:00
Werner Lemberg
a632fb547e
[truetype] Increase precision while applying VF deltas.
...
It turned out that we incorrectly round CVT and glyph point deltas
before accumulation, leading to severe positioning errors if there
are many delta values to sum up.
Problem reported by Akiem Helmling <akiem@underware.nl> and analyzed
by Behdad.
* src/truetype/ttgxvar.c (ft_var_readpackeddelta): Return deltas in
16.16 format.
(tt_face_var_cvt): Collect deltas in `cvt_deltas', which is a 16.16
format array, and add the accumulated values to the CVT at the end
of the function.
(TT_Vary_Apply_Glyph_Deltas): Store data in `points_org' and
`points_out' in 16.16 format.
Collect deltas in `point_deltas_x' and `point_deltas_y', which are
16.16 format arrays, and add the accumulated values to the glyph
coordinates at the end of the function.
2018-06-24 15:22:10 +02:00
Werner Lemberg
cc3333902b
New base function `FT_Matrix_Check' ( #54019 ).
...
* src/base/ftcalc.c (FT_Matrix_Check): New base function to properly
reject degenerate font matrices.
* include/freetype/internal/ftcalc.h: Updated.
* src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
(cid_parse_font_matrix), src/type1/t1load.c (t1_parse_font_matrix),
src/type42/t42parse.c (t42_parse_font_matrix): Use
`FT_Matrix_Check'.
2018-06-24 06:26:09 +02:00
Werner Lemberg
d7393e22ee
Fix typo.
...
Reported by Behdad.
* src/base/ftcolor.c (FT_Palette_Data_Get)
[!TT_CONFIG_OPTION_COLOR_LAYERS]: s/apalette/apalette_data/.
2018-06-23 17:25:58 +02:00
Werner Lemberg
9027233f75
s/FT_PALETTE_USABLE_WITH_/FT_PALETTE_FOR_/.
...
* include/freetype/ftcolor.h, include/freetype/internal/sfnt.h,
src/sfnt/ttcolr.c: Do it.
2018-06-21 00:21:09 +02:00
Werner Lemberg
a6b77ba2b3
[sfnt] Fix CPAL heap buffer overflow.
...
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8968
* src/sfnt/ttcpal.c (tt_face_load_cpal): Guard CPAL version 1
offsets.
2018-06-19 20:09:31 +02:00
Werner Lemberg
7915fd51f1
Doh. Don't use CPAL or COLR data if tables are missing.
...
Reported by Alexei.
* src/sfnt/ttcolr.c (tt_face_get_colr_layer): Return immediately if
`colr' is NULL.
* src/sfnt/ttcpal.c (tt_face_palette_set): Return immediately, if
`cpal' is NULL.
2018-06-19 07:15:21 +02:00
Werner Lemberg
a56e4bf7a2
Oops!
2018-06-18 23:18:07 +02:00
Nikhil Ramakrishnan
779c8c4050
Some more minor doc fixes.
2018-06-18 15:17:13 +05:30
Werner Lemberg
95f7341d81
More minor doc fixes.
2018-06-18 11:10:14 +02:00