44 *
55 * User-selectable configuration macros (specification only).
66 *
7- * Copyright (C) 1996-2024 by
7+ * Copyright (C) 1996-2025 by
88 * David Turner, Robert Wilhelm, and Werner Lemberg.
99 *
1010 * This file is part of the FreeType project, and may only be used,
@@ -158,12 +158,12 @@ FT_BEGIN_HEADER
158158
159159 /**************************************************************************
160160 *
161- * If this macro is defined, try to use an inlined assembler version of the
162- * @FT_MulFix function, which is a 'hotspot' when loading and hinting
163- * glyphs, and which should be executed as fast as possible.
161+ * If this macro is defined, try to use an inlined 64-bit or assembler
162+ * version of the @FT_MulFix function, which is a 'hotspot' when loading
163+ * and hinting glyphs, and which should be executed as fast as possible.
164164 *
165- * Note that if your compiler or CPU is not supported, this will default to
166- * the standard and portable implementation found in `ftcalc.c` .
165+ * If your compiler is not C99-compliant or CPU assembly is not supported,
166+ * you can disable this option .
167167 */
168168#define FT_CONFIG_OPTION_INLINE_MULFIX
169169
@@ -293,6 +293,31 @@ FT_BEGIN_HEADER
293293/* #define FT_CONFIG_OPTION_USE_HARFBUZZ */
294294
295295
296+ /**************************************************************************
297+ *
298+ * HarfBuzz dynamic support.
299+ *
300+ * Define this macro if you want the HarfBuzz library to be loaded at
301+ * runtime instead of being linked to FreeType.
302+ *
303+ * This option has no effect if `FT_CONFIG_OPTION_USE_HARFBUZZ` is not
304+ * defined.
305+ *
306+ * When this option is enabled, FreeType will try to load the HarfBuzz
307+ * library at runtime, using `dlopen` or `LoadLibrary`, depending on the
308+ * platform. On Microsoft platforms, the library name looked up is
309+ * `libharfbuzz-0.dll`. On Apple platforms, the library name looked up
310+ * is `libharfbuzz.0.dylib`. On all other platforms, the library name
311+ * looked up is `libharfbuzz.so.0`. This name can be overridden by
312+ * defining the macro `FT_LIBHARFBUZZ` at FreeType compilation time.
313+ *
314+ * If you use a build system like cmake or the `configure` script,
315+ * options set by those programs have precedence, overwriting the value
316+ * here with the configured one.
317+ */
318+ /* #define FT_CONFIG_OPTION_USE_HARFBUZZ_DYNAMIC */
319+
320+
296321 /**************************************************************************
297322 *
298323 * Brotli support.
@@ -679,7 +704,7 @@ FT_BEGIN_HEADER
679704 * defined.
680705 *
681706 * [1]
682- * https://www .microsoft.com/typography/cleartype/truetypecleartype.aspx
707+ * https://learn .microsoft.com/typography/cleartype/truetypecleartype
683708 */
684709#define TT_CONFIG_OPTION_SUBPIXEL_HINTING
685710
@@ -697,7 +722,7 @@ FT_BEGIN_HEADER
697722 * flags array which can be used to disambiguate, but old fonts will not
698723 * have them.
699724 *
700- * https://www .microsoft.com/typography/otspec/ glyf.htm
725+ * https://learn .microsoft.com/typography/opentype/spec/ glyf
701726 * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6glyf.html
702727 */
703728#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED
@@ -760,10 +785,10 @@ FT_BEGIN_HEADER
760785 /**************************************************************************
761786 *
762787 * Option `TT_CONFIG_OPTION_GPOS_KERNING` enables a basic GPOS kerning
763- * implementation (for TrueType fonts only). With this defined, FreeType
764- * is able to get kerning pair data from the GPOS 'kern' feature as well as
765- * legacy 'kern' tables; without this defined, FreeType will only be able
766- * to use legacy 'kern' tables.
788+ * implementation (for TrueType and OpenType fonts only). With this
789+ * defined, FreeType is able to get kerning pair data from the GPOS 'kern'
790+ * feature as well as legacy 'kern' tables; without this defined, FreeType
791+ * will only be able to use legacy 'kern' tables.
767792 *
768793 * Note that FreeType does not support more advanced GPOS layout features;
769794 * even the 'kern' feature implemented here doesn't handle more
0 commit comments