freetype/src
Behdad Esfahbod (بهداد اسفهبد) 7651fe00be [autofit] Enable dynamic loading of HarfBuzz. (1/2)
This commit activates the mini-HarfBuzz header files and provides the
necessary infrastructure for dynamically loading HarfBuzz if
`FT_CONFIG_OPTION_USE_HARFBUZZ_DYNAMIC` is defined (this macro gets set up
in a follow-up commit).

* src/autofit/ft-hb.c: New file, providing `ft_hb_funcs_init` and
  `ft_hb_funcs_done` for loading HarfBuzz dynamically.  The name of the
  library is hold in the macro `FT_LIBHARFBUZZ`, which can be overridden.

* src/autofit/ft-hb.h: Don't include `hb.h` but `ft-hb-types.h`.
  (hb): Modified to handle both standard linking and dynamically
  loading of HarfBuzz.
  (HB_EXTERN): New macro to load `ft-hb-decls.h`.

* src/autofit/afadjust.c [FT_CONFIG_OPTION_USE_HARFBUZZ]: For the sake of
  dynamically loading the HarfBuzz library, replace the compile-time macro
  `HB_VERSION_ATLEAST` with a call to the run-time function
  `hb_version_atleast` where necessary – a follow-up commit will set the
  minimum version of HarfBuzz to 2.6.8, which provides all necessary
  functions needed by FreeType.

* src/autofit/afmodule.h: Include `ft-hb.h`.
  (AF_ModuleRec) [FT_CONFIG_OPTION_USE_HARFBUZZ_DYNAMIC]: Add `hb_funcs`
  structure to hold pointers to the dynamically loaded HarfBuzz functions.

* src/autofit/afmodule.c (af_autofitter_init, af_autofitter_done)
  [FT_CONFIG_OPTION_USE_HARFBUZZ_DYNAMIC]: Call `ft_hb_funcs_init` and
  `ft_hb_funcs_done`.

* src/autofit/afshaper.h: Updated.
* src/autofit/autofit.c: Include `ft-hb.c`.

* src/autofit/rules.mk (AUTOF_DRV_SRC, AUTOF_DRV_H): Updated.
2025-04-29 19:18:12 +00:00
..
autofit [autofit] Enable dynamic loading of HarfBuzz. (1/2) 2025-04-29 19:18:12 +00:00
base * src/base/ftcalc.c (ft_corner_orientation) [!FT_INT32]: Fix up. 2025-04-17 22:32:21 -04:00
bdf * src/bdf/bdflib.c (hdigits): Removed. 2025-04-12 15:06:59 -04:00
bzip2 Update all copyright notices. 2024-01-27 11:11:22 -05:00
cache * src/*/*: Fix C++ compilation; fix clang warnings. 2024-08-12 12:34:28 +02:00
cff [cff] Remove size/slot checks. 2025-01-08 15:45:32 -05:00
cid Delay FT_GLYPH_FORMAT_OUTLINE assignmets. 2025-01-03 21:26:10 -05:00
dlg Update all copyright notices. 2024-01-27 11:11:22 -05:00
gxvalid Update all copyright notices. 2024-01-27 11:11:22 -05:00
gzip Update all copyright notices. 2024-01-27 11:11:22 -05:00
lzw Update all copyright notices. 2024-01-27 11:11:22 -05:00
otvalid Update all copyright notices. 2024-01-27 11:11:22 -05:00
pcf [bdf,pcf,winfonts,sfnt] Remove barely used marcros. 2024-07-28 19:42:49 -04:00
pfr Delay FT_GLYPH_FORMAT_OUTLINE assignmets. 2025-01-03 21:26:10 -05:00
psaux * src/*/*: Fix C++ compilation; fix clang warnings. 2024-08-12 12:34:28 +02:00
pshinter Use unsigned tags FT_Outline. 2024-06-20 22:16:51 -04:00
psnames Update all copyright notices. 2024-01-27 11:11:22 -05:00
raster Use unsigned tags FT_Outline. 2024-06-20 22:16:51 -04:00
sdf Fix various typos. 2024-08-13 23:29:13 -04:00
sfnt * src/sfnt/ttsbit.c (tt_face_load_sbix_image): Refactor flip. 2025-01-01 22:28:36 -05:00
smooth Missing header wrappers. 2025-04-04 19:54:50 -04:00
svg Update all copyright notices. 2024-01-27 11:11:22 -05:00
tools apinames: Fix a buffer overrun for VMS platform. 2024-10-13 21:18:47 +09:00
truetype * src/truetype/ttinterp.c (TT_MulFix14,TT_DotFix14)[!FT_INT64]: Sync. 2025-04-17 15:37:27 +00:00
type1 Delay FT_GLYPH_FORMAT_OUTLINE assignmets. 2025-01-03 21:26:10 -05:00
type42 Update all copyright notices. 2024-01-27 11:11:22 -05:00
winfonts * src/winfonts/winfnt.c (fnt_face_get_dll_font): Unwrap arithmetic. 2024-08-01 21:15:46 -04:00