diff --git a/binding/HarfBuzzSharp/Buffer.cs b/binding/HarfBuzzSharp/Buffer.cs
index f34c24b1392..9d990638c80 100644
--- a/binding/HarfBuzzSharp/Buffer.cs
+++ b/binding/HarfBuzzSharp/Buffer.cs
@@ -21,6 +21,19 @@ public Buffer ()
{
}
+ ///
+ /// Creates a new buffer with the same Unicode functions, content type, flags,
+ /// cluster level, direction, language, and script as the source buffer.
+ ///
+ /// The source buffer to copy settings from
+ /// A new buffer with the same settings
+ public static Buffer CreateSimilar (Buffer source)
+ {
+ if (source == null)
+ throw new ArgumentNullException (nameof (source));
+ return new Buffer (HarfBuzzApi.hb_buffer_create_similar (source.Handle));
+ }
+
public ContentType ContentType {
get => HarfBuzzApi.hb_buffer_get_content_type (Handle);
set => HarfBuzzApi.hb_buffer_set_content_type (Handle, value);
diff --git a/binding/HarfBuzzSharp/Definitions.cs b/binding/HarfBuzzSharp/Definitions.cs
index a1d61ba642b..d7ca49b7c20 100644
--- a/binding/HarfBuzzSharp/Definitions.cs
+++ b/binding/HarfBuzzSharp/Definitions.cs
@@ -15,6 +15,53 @@ public GlyphFlags GlyphFlags {
}
}
+ ///
+ /// OpenType layout table tags.
+ ///
+ public enum OpenTypeLayoutTableTag : uint
+ {
+ ///
+ /// The Glyph Substitution (GSUB) table.
+ ///
+ Gsub = ('G' << 24) | ('S' << 16) | ('U' << 8) | 'B',
+
+ ///
+ /// The Glyph Positioning (GPOS) table.
+ ///
+ Gpos = ('G' << 24) | ('P' << 16) | ('O' << 8) | 'S',
+ }
+
+ ///
+ /// Information about an OpenType layout feature's names.
+ ///
+ public struct OpenTypeFeatureNameIds
+ {
+ ///
+ /// The name ID for the feature's label (user-visible name).
+ ///
+ public OpenTypeNameId LabelId { get; set; }
+
+ ///
+ /// The name ID for the feature's tooltip.
+ ///
+ public OpenTypeNameId TooltipId { get; set; }
+
+ ///
+ /// The name ID for sample text demonstrating the feature.
+ ///
+ public OpenTypeNameId SampleId { get; set; }
+
+ ///
+ /// The number of named parameters for this feature.
+ ///
+ public int NumNamedParameters { get; set; }
+
+ ///
+ /// The name ID of the first named parameter.
+ ///
+ public OpenTypeNameId FirstParamId { get; set; }
+ }
+
public enum OpenTypeNameId
{
Copyright = 0,
diff --git a/binding/HarfBuzzSharp/Face.cs b/binding/HarfBuzzSharp/Face.cs
index d91e1fc9ba6..373f8a2ebe0 100644
--- a/binding/HarfBuzzSharp/Face.cs
+++ b/binding/HarfBuzzSharp/Face.cs
@@ -85,6 +85,177 @@ public Blob ReferenceTable (Tag table) =>
public void MakeImmutable () => HarfBuzzApi.hb_face_make_immutable (Handle);
+ ///
+ /// Gets the name string from the face's OpenType 'name' table.
+ ///
+ /// The name ID to retrieve.
+ /// The name string, or an empty string if not found.
+ public string GetName (OpenTypeNameId nameId) =>
+ GetName (nameId, Language.Default);
+
+ ///
+ /// Gets the name string from the face's OpenType 'name' table.
+ ///
+ /// The name ID to retrieve.
+ /// The language for the name.
+ /// The name string, or an empty string if not found.
+ public string GetName (OpenTypeNameId nameId, Language language)
+ {
+ if (language == null)
+ throw new ArgumentNullException (nameof (language));
+
+ // First call to get the length
+ uint length = 0;
+ HarfBuzzApi.hb_ot_name_get_utf16 (Handle, nameId, language.Handle, &length, null);
+
+ if (length == 0)
+ return string.Empty;
+
+ // Allocate buffer and get the string
+ length++; // Add space for null terminator
+ var buffer = stackalloc ushort[(int)length];
+ HarfBuzzApi.hb_ot_name_get_utf16 (Handle, nameId, language.Handle, &length, buffer);
+
+ return new string ((char*)buffer, 0, (int)length);
+ }
+
+ ///
+ /// Tries to get the name string from the face's OpenType 'name' table.
+ ///
+ /// The name ID to retrieve.
+ /// The name string, or null if not found.
+ /// True if the name was found, false otherwise.
+ public bool TryGetName (OpenTypeNameId nameId, out string name) =>
+ TryGetName (nameId, Language.Default, out name);
+
+ ///
+ /// Tries to get the name string from the face's OpenType 'name' table.
+ ///
+ /// The name ID to retrieve.
+ /// The language for the name.
+ /// The name string, or null if not found.
+ /// True if the name was found, false otherwise.
+ public bool TryGetName (OpenTypeNameId nameId, Language language, out string name)
+ {
+ if (language == null)
+ throw new ArgumentNullException (nameof (language));
+
+ // First call to get the length
+ uint length = 0;
+ HarfBuzzApi.hb_ot_name_get_utf16 (Handle, nameId, language.Handle, &length, null);
+
+ if (length == 0) {
+ name = null;
+ return false;
+ }
+
+ // Allocate buffer and get the string
+ length++; // Add space for null terminator
+ var buffer = stackalloc ushort[(int)length];
+ HarfBuzzApi.hb_ot_name_get_utf16 (Handle, nameId, language.Handle, &length, buffer);
+
+ name = new string ((char*)buffer, 0, (int)length);
+ return true;
+ }
+
+ ///
+ /// Gets all name entries from the face's OpenType 'name' table.
+ ///
+ /// An array of name entries.
+ public OpenTypeNameEntry[] GetAllNameEntries ()
+ {
+ uint count = 0;
+ var entries = HarfBuzzApi.hb_ot_name_list_names (Handle, &count);
+
+ if (count == 0 || entries == null)
+ return Array.Empty ();
+
+ var result = new OpenTypeNameEntry[count];
+ for (int i = 0; i < count; i++)
+ result[i] = entries[i];
+
+ return result;
+ }
+
+ ///
+ /// Gets all script tags supported by the specified OpenType layout table.
+ ///
+ /// The layout table to query (GSUB or GPOS).
+ /// An array of script tags.
+ public Tag[] GetOpenTypeLayoutScriptTags (OpenTypeLayoutTableTag tableTag)
+ {
+ // First call to get the count
+ uint count = 0;
+ var total = HarfBuzzApi.hb_ot_layout_table_get_script_tags (Handle, (uint)tableTag, 0, &count, null);
+
+ if (total == 0)
+ return Array.Empty ();
+
+ // Allocate and get all tags
+ var buffer = new Tag[total];
+ count = total;
+ fixed (Tag* ptr = buffer) {
+ HarfBuzzApi.hb_ot_layout_table_get_script_tags (Handle, (uint)tableTag, 0, &count, (uint*)ptr);
+ }
+
+ return buffer;
+ }
+
+ ///
+ /// Gets all feature tags supported by the specified OpenType layout table.
+ ///
+ /// The layout table to query (GSUB or GPOS).
+ /// An array of feature tags.
+ public Tag[] GetOpenTypeLayoutFeatureTags (OpenTypeLayoutTableTag tableTag)
+ {
+ // First call to get the count
+ uint count = 0;
+ var total = HarfBuzzApi.hb_ot_layout_table_get_feature_tags (Handle, (uint)tableTag, 0, &count, null);
+
+ if (total == 0)
+ return Array.Empty ();
+
+ // Allocate and get all tags
+ var buffer = new Tag[total];
+ count = total;
+ fixed (Tag* ptr = buffer) {
+ HarfBuzzApi.hb_ot_layout_table_get_feature_tags (Handle, (uint)tableTag, 0, &count, (uint*)ptr);
+ }
+
+ return buffer;
+ }
+
+ ///
+ /// Tries to get the name IDs for an OpenType layout feature.
+ ///
+ /// The layout table (GSUB or GPOS).
+ /// The index of the feature in the table.
+ /// The name IDs for the feature if found.
+ /// True if the feature has name IDs, false otherwise.
+ public bool TryGetOpenTypeLayoutFeatureNameIds (OpenTypeLayoutTableTag tableTag, int featureIndex, out OpenTypeFeatureNameIds nameIds)
+ {
+ OpenTypeNameId labelId, tooltipId, sampleId, firstParamId;
+ uint numParams;
+
+ var result = HarfBuzzApi.hb_ot_layout_feature_get_name_ids (
+ Handle, (uint)tableTag, (uint)featureIndex,
+ &labelId, &tooltipId, &sampleId, &numParams, &firstParamId);
+
+ if (!result) {
+ nameIds = default;
+ return false;
+ }
+
+ nameIds = new OpenTypeFeatureNameIds {
+ LabelId = labelId,
+ TooltipId = tooltipId,
+ SampleId = sampleId,
+ NumNamedParameters = (int)numParams,
+ FirstParamId = firstParamId
+ };
+ return true;
+ }
+
protected override void Dispose (bool disposing) =>
base.Dispose (disposing);
diff --git a/binding/HarfBuzzSharp/Font.cs b/binding/HarfBuzzSharp/Font.cs
index 13b6676aa38..b58389faf97 100644
--- a/binding/HarfBuzzSharp/Font.cs
+++ b/binding/HarfBuzzSharp/Font.cs
@@ -68,6 +68,166 @@ public void GetScale (out int xScale, out int yScale)
public void SetScale (int xScale, int yScale) =>
HarfBuzzApi.hb_font_set_scale (Handle, xScale, yScale);
+ ///
+ /// Gets the horizontal and vertical pixels-per-em (ppem) of the font.
+ ///
+ /// The horizontal ppem value.
+ /// The vertical ppem value.
+ public void GetPpem (out int xPpem, out int yPpem)
+ {
+ uint x, y;
+ HarfBuzzApi.hb_font_get_ppem (Handle, &x, &y);
+ xPpem = (int)x;
+ yPpem = (int)y;
+ }
+
+ ///
+ /// Sets the horizontal and vertical pixels-per-em (ppem) of the font.
+ ///
+ ///
+ /// The ppem values are used by HarfBuzz for pixel rounding and hinting.
+ ///
+ /// The horizontal ppem value.
+ /// The vertical ppem value.
+ public void SetPpem (int xPpem, int yPpem) =>
+ HarfBuzzApi.hb_font_set_ppem (Handle, (uint)xPpem, (uint)yPpem);
+
+ ///
+ /// Gets or sets the "point size" of the font in typographic points (1/72 inch).
+ ///
+ ///
+ /// This is used for optical sizing in variable fonts. Fonts with an 'opsz' axis
+ /// will use this value to select the appropriate optical size. A value of 0
+ /// means "not set" and disables automatic optical sizing.
+ ///
+ public float Ptem
+ {
+ get => HarfBuzzApi.hb_font_get_ptem (Handle);
+ set => HarfBuzzApi.hb_font_set_ptem (Handle, value);
+ }
+
+ ///
+ /// Gets or sets the synthetic slant of the font.
+ ///
+ ///
+ /// The synthetic slant is in "run" units to achieve a "rise" of 1.
+ /// The typical slant value for an idealized oblique font is 0.2 (about 12°).
+ /// HarfBuzz needs to know this value to adjust shaping results, such as offsets.
+ ///
+ public float SyntheticSlant
+ {
+ get => HarfBuzzApi.hb_font_get_synthetic_slant (Handle);
+ set => HarfBuzzApi.hb_font_set_synthetic_slant (Handle, value);
+ }
+
+ ///
+ /// Sets synthetic bold parameters for the font.
+ ///
+ ///
+ /// Positive values for emboldening in X and Y directions. Typical value
+ /// is 2% of UPEM for X, and Y embolden of 0. Setting both to 0 removes
+ /// the synthetic bold. If inPlace is true, glyphs are widened in-place
+ /// rather than adding side-bearing.
+ ///
+ /// Horizontal emboldening amount
+ /// Vertical emboldening amount
+ /// Whether to embolden in-place
+ public void SetSyntheticBold (float xEmbolden, float yEmbolden, bool inPlace = false) =>
+ HarfBuzzApi.hb_font_set_synthetic_bold (Handle, xEmbolden, yEmbolden, inPlace);
+
+ ///
+ /// Gets the synthetic bold parameters of the font.
+ ///
+ /// Horizontal emboldening amount
+ /// Vertical emboldening amount
+ /// Whether emboldening is in-place
+ public void GetSyntheticBold (out float xEmbolden, out float yEmbolden, out bool inPlace)
+ {
+ fixed (float* x = &xEmbolden)
+ fixed (float* y = &yEmbolden)
+ fixed (bool* ip = &inPlace) {
+ HarfBuzzApi.hb_font_get_synthetic_bold (Handle, x, y, ip);
+ }
+ }
+
+ ///
+ /// Sets a single variation axis value.
+ ///
+ ///
+ /// This is useful for setting a single axis on a variable font.
+ /// For multiple axes, use SetVariations instead.
+ ///
+ /// The axis tag (e.g., "wght" for weight)
+ /// The axis value in design space
+ public void SetVariation (uint tag, float value) =>
+ HarfBuzzApi.hb_font_set_variation (Handle, tag, value);
+
+ ///
+ /// Sets a single variation axis value using a string tag.
+ ///
+ ///
+ /// Common tags are "wght" for weight, "wdth" for width,
+ /// "slnt" for slant, "ital" for italic.
+ ///
+ /// The axis tag string (e.g., "wght")
+ /// The axis value in design space
+ public void SetVariation (string tag, float value)
+ {
+ if (tag == null)
+ throw new ArgumentNullException (nameof (tag));
+ if (tag.Length != 4)
+ throw new ArgumentException ("Tag must be exactly 4 characters", nameof (tag));
+
+ var tagValue = Tag.Parse (tag);
+ HarfBuzzApi.hb_font_set_variation (Handle, tagValue, value);
+ }
+
+ ///
+ /// Gets or sets the named instance index for the font.
+ ///
+ ///
+ /// A value of HB_FONT_NO_VAR_NAMED_INSTANCE (0xFFFFFFFF) means
+ /// no named instance is set.
+ ///
+ public uint NamedInstance
+ {
+ get => HarfBuzzApi.hb_font_get_var_named_instance (Handle);
+ set => HarfBuzzApi.hb_font_set_var_named_instance (Handle, value);
+ }
+
+ ///
+ /// Sets design-space coordinates for variable font axes.
+ ///
+ ///
+ /// Note that this is in design-space coordinates, not normalized.
+ /// This is the primary API for working with variable fonts.
+ ///
+ /// An array of variation settings
+ public void SetVariations (Variation[] variations)
+ {
+ if (variations == null)
+ throw new ArgumentNullException (nameof (variations));
+
+ fixed (Variation* v = variations) {
+ HarfBuzzApi.hb_font_set_variations (Handle, v, (uint)variations.Length);
+ }
+ }
+
+ ///
+ /// Sets design-space coordinates for variable font axes.
+ ///
+ ///
+ /// Note that this is in design-space coordinates, not normalized.
+ /// This is the primary API for working with variable fonts.
+ ///
+ /// A span of variation settings
+ public void SetVariations (ReadOnlySpan variations)
+ {
+ fixed (Variation* v = variations) {
+ HarfBuzzApi.hb_font_set_variations (Handle, v, (uint)variations.Length);
+ }
+ }
+
public bool TryGetHorizontalFontExtents (out FontExtents extents)
{
fixed (FontExtents* e = &extents) {
diff --git a/binding/HarfBuzzSharp/HarfBuzzApi.generated.cs b/binding/HarfBuzzSharp/HarfBuzzApi.generated.cs
index 871ebbf2314..33aee8a2cbf 100644
--- a/binding/HarfBuzzSharp/HarfBuzzApi.generated.cs
+++ b/binding/HarfBuzzSharp/HarfBuzzApi.generated.cs
@@ -11,11 +11,13 @@
using hb_blob_t = System.IntPtr;
using hb_buffer_t = System.IntPtr;
+using hb_draw_funcs_t = System.IntPtr;
using hb_face_t = System.IntPtr;
using hb_font_funcs_t = System.IntPtr;
using hb_font_t = System.IntPtr;
using hb_language_impl_t = System.IntPtr;
using hb_map_t = System.IntPtr;
+using hb_paint_funcs_t = System.IntPtr;
using hb_set_t = System.IntPtr;
using hb_shape_plan_t = System.IntPtr;
using hb_unicode_funcs_t = System.IntPtr;
@@ -30,7 +32,7 @@ internal unsafe partial class HarfBuzzApi
{
#region hb-blob.h
- // extern hb_blob_t* hb_blob_copy_writable_or_fail(hb_blob_t* blob)
+ // extern hb_blob_t * hb_blob_copy_writable_or_fail(hb_blob_t * blob)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -49,7 +51,7 @@ internal static hb_blob_t hb_blob_copy_writable_or_fail (hb_blob_t blob) =>
(hb_blob_copy_writable_or_fail_delegate ??= GetSymbol ("hb_blob_copy_writable_or_fail")).Invoke (blob);
#endif
- // extern hb_blob_t* hb_blob_create(const char* data, unsigned int length, hb_memory_mode_t mode, void* user_data, hb_destroy_func_t destroy)
+ // extern hb_blob_t * hb_blob_create(char const * data, unsigned int length, hb_memory_mode_t mode, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -68,7 +70,7 @@ internal static hb_blob_t hb_blob_create (/* char */ void* data, UInt32 length,
(hb_blob_create_delegate ??= GetSymbol ("hb_blob_create")).Invoke (data, length, mode, user_data, destroy);
#endif
- // extern hb_blob_t* hb_blob_create_from_file(const char* file_name)
+ // extern hb_blob_t * hb_blob_create_from_file(char const * file_name)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -87,7 +89,7 @@ internal static hb_blob_t hb_blob_create_from_file ([MarshalAs (UnmanagedType.LP
(hb_blob_create_from_file_delegate ??= GetSymbol ("hb_blob_create_from_file")).Invoke (file_name);
#endif
- // extern hb_blob_t* hb_blob_create_from_file_or_fail(const char* file_name)
+ // extern hb_blob_t * hb_blob_create_from_file_or_fail(char const * file_name)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -106,7 +108,7 @@ internal static hb_blob_t hb_blob_create_from_file_or_fail (/* char */ void* fil
(hb_blob_create_from_file_or_fail_delegate ??= GetSymbol ("hb_blob_create_from_file_or_fail")).Invoke (file_name);
#endif
- // extern hb_blob_t* hb_blob_create_or_fail(const char* data, unsigned int length, hb_memory_mode_t mode, void* user_data, hb_destroy_func_t destroy)
+ // extern hb_blob_t * hb_blob_create_or_fail(char const * data, unsigned int length, hb_memory_mode_t mode, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -125,7 +127,7 @@ internal static hb_blob_t hb_blob_create_or_fail (/* char */ void* data, UInt32
(hb_blob_create_or_fail_delegate ??= GetSymbol ("hb_blob_create_or_fail")).Invoke (data, length, mode, user_data, destroy);
#endif
- // extern hb_blob_t* hb_blob_create_sub_blob(hb_blob_t* parent, unsigned int offset, unsigned int length)
+ // extern hb_blob_t * hb_blob_create_sub_blob(hb_blob_t * parent, unsigned int offset, unsigned int length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -144,7 +146,7 @@ internal static hb_blob_t hb_blob_create_sub_blob (hb_blob_t parent, UInt32 offs
(hb_blob_create_sub_blob_delegate ??= GetSymbol ("hb_blob_create_sub_blob")).Invoke (parent, offset, length);
#endif
- // extern void hb_blob_destroy(hb_blob_t* blob)
+ // extern void hb_blob_destroy(hb_blob_t * blob)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -163,7 +165,7 @@ internal static void hb_blob_destroy (hb_blob_t blob) =>
(hb_blob_destroy_delegate ??= GetSymbol ("hb_blob_destroy")).Invoke (blob);
#endif
- // extern const char* hb_blob_get_data(hb_blob_t* blob, unsigned int* length)
+ // extern char const * hb_blob_get_data(hb_blob_t * blob, unsigned int * length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -182,7 +184,7 @@ private partial class Delegates {
(hb_blob_get_data_delegate ??= GetSymbol ("hb_blob_get_data")).Invoke (blob, length);
#endif
- // extern char* hb_blob_get_data_writable(hb_blob_t* blob, unsigned int* length)
+ // extern char * hb_blob_get_data_writable(hb_blob_t * blob, unsigned int * length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -201,7 +203,7 @@ private partial class Delegates {
(hb_blob_get_data_writable_delegate ??= GetSymbol ("hb_blob_get_data_writable")).Invoke (blob, length);
#endif
- // extern hb_blob_t* hb_blob_get_empty()
+ // extern hb_blob_t * hb_blob_get_empty()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -220,7 +222,7 @@ internal static hb_blob_t hb_blob_get_empty () =>
(hb_blob_get_empty_delegate ??= GetSymbol ("hb_blob_get_empty")).Invoke ();
#endif
- // extern unsigned int hb_blob_get_length(hb_blob_t* blob)
+ // extern unsigned int hb_blob_get_length(hb_blob_t * blob)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -239,7 +241,7 @@ internal static UInt32 hb_blob_get_length (hb_blob_t blob) =>
(hb_blob_get_length_delegate ??= GetSymbol ("hb_blob_get_length")).Invoke (blob);
#endif
- // extern hb_bool_t hb_blob_is_immutable(hb_blob_t* blob)
+ // extern hb_bool_t hb_blob_is_immutable(hb_blob_t * blob)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -261,7 +263,7 @@ internal static bool hb_blob_is_immutable (hb_blob_t blob) =>
(hb_blob_is_immutable_delegate ??= GetSymbol ("hb_blob_is_immutable")).Invoke (blob);
#endif
- // extern void hb_blob_make_immutable(hb_blob_t* blob)
+ // extern void hb_blob_make_immutable(hb_blob_t * blob)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -280,7 +282,7 @@ internal static void hb_blob_make_immutable (hb_blob_t blob) =>
(hb_blob_make_immutable_delegate ??= GetSymbol ("hb_blob_make_immutable")).Invoke (blob);
#endif
- // extern hb_blob_t* hb_blob_reference(hb_blob_t* blob)
+ // extern hb_blob_t * hb_blob_reference(hb_blob_t * blob)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -303,7 +305,7 @@ internal static hb_blob_t hb_blob_reference (hb_blob_t blob) =>
#region hb-buffer.h
- // extern void hb_buffer_add(hb_buffer_t* buffer, hb_codepoint_t codepoint, unsigned int cluster)
+ // extern void hb_buffer_add(hb_buffer_t * buffer, hb_codepoint_t codepoint, unsigned int cluster)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -322,7 +324,7 @@ internal static void hb_buffer_add (hb_buffer_t buffer, UInt32 codepoint, UInt32
(hb_buffer_add_delegate ??= GetSymbol ("hb_buffer_add")).Invoke (buffer, codepoint, cluster);
#endif
- // extern void hb_buffer_add_codepoints(hb_buffer_t* buffer, const hb_codepoint_t* text, int text_length, unsigned int item_offset, int item_length)
+ // extern void hb_buffer_add_codepoints(hb_buffer_t * buffer, hb_codepoint_t const * text, int text_length, unsigned int item_offset, int item_length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -341,7 +343,7 @@ internal static void hb_buffer_add_codepoints (hb_buffer_t buffer, UInt32* text,
(hb_buffer_add_codepoints_delegate ??= GetSymbol ("hb_buffer_add_codepoints")).Invoke (buffer, text, text_length, item_offset, item_length);
#endif
- // extern void hb_buffer_add_latin1(hb_buffer_t* buffer, const uint8_t* text, int text_length, unsigned int item_offset, int item_length)
+ // extern void hb_buffer_add_latin1(hb_buffer_t * buffer, unsigned char const * text, int text_length, unsigned int item_offset, int item_length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -360,7 +362,7 @@ internal static void hb_buffer_add_latin1 (hb_buffer_t buffer, Byte* text, Int32
(hb_buffer_add_latin1_delegate ??= GetSymbol ("hb_buffer_add_latin1")).Invoke (buffer, text, text_length, item_offset, item_length);
#endif
- // extern void hb_buffer_add_utf16(hb_buffer_t* buffer, const uint16_t* text, int text_length, unsigned int item_offset, int item_length)
+ // extern void hb_buffer_add_utf16(hb_buffer_t * buffer, unsigned short const * text, int text_length, unsigned int item_offset, int item_length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -379,7 +381,7 @@ internal static void hb_buffer_add_utf16 (hb_buffer_t buffer, UInt16* text, Int3
(hb_buffer_add_utf16_delegate ??= GetSymbol ("hb_buffer_add_utf16")).Invoke (buffer, text, text_length, item_offset, item_length);
#endif
- // extern void hb_buffer_add_utf32(hb_buffer_t* buffer, const uint32_t* text, int text_length, unsigned int item_offset, int item_length)
+ // extern void hb_buffer_add_utf32(hb_buffer_t * buffer, unsigned int const * text, int text_length, unsigned int item_offset, int item_length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -398,7 +400,7 @@ internal static void hb_buffer_add_utf32 (hb_buffer_t buffer, UInt32* text, Int3
(hb_buffer_add_utf32_delegate ??= GetSymbol ("hb_buffer_add_utf32")).Invoke (buffer, text, text_length, item_offset, item_length);
#endif
- // extern void hb_buffer_add_utf8(hb_buffer_t* buffer, const char* text, int text_length, unsigned int item_offset, int item_length)
+ // extern void hb_buffer_add_utf8(hb_buffer_t * buffer, char const * text, int text_length, unsigned int item_offset, int item_length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -417,7 +419,7 @@ internal static void hb_buffer_add_utf8 (hb_buffer_t buffer, /* char */ void* te
(hb_buffer_add_utf8_delegate ??= GetSymbol ("hb_buffer_add_utf8")).Invoke (buffer, text, text_length, item_offset, item_length);
#endif
- // extern hb_bool_t hb_buffer_allocation_successful(hb_buffer_t* buffer)
+ // extern hb_bool_t hb_buffer_allocation_successful(hb_buffer_t * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -439,7 +441,7 @@ internal static bool hb_buffer_allocation_successful (hb_buffer_t buffer) =>
(hb_buffer_allocation_successful_delegate ??= GetSymbol ("hb_buffer_allocation_successful")).Invoke (buffer);
#endif
- // extern void hb_buffer_append(hb_buffer_t* buffer, hb_buffer_t* source, unsigned int start, unsigned int end)
+ // extern void hb_buffer_append(hb_buffer_t * buffer, hb_buffer_t const * source, unsigned int start, unsigned int end)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -458,7 +460,7 @@ internal static void hb_buffer_append (hb_buffer_t buffer, hb_buffer_t source, U
(hb_buffer_append_delegate ??= GetSymbol ("hb_buffer_append")).Invoke (buffer, source, start, end);
#endif
- // extern void hb_buffer_clear_contents(hb_buffer_t* buffer)
+ // extern void hb_buffer_clear_contents(hb_buffer_t * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -477,7 +479,7 @@ internal static void hb_buffer_clear_contents (hb_buffer_t buffer) =>
(hb_buffer_clear_contents_delegate ??= GetSymbol ("hb_buffer_clear_contents")).Invoke (buffer);
#endif
- // extern hb_buffer_t* hb_buffer_create()
+ // extern hb_buffer_t * hb_buffer_create()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -496,7 +498,26 @@ internal static hb_buffer_t hb_buffer_create () =>
(hb_buffer_create_delegate ??= GetSymbol ("hb_buffer_create")).Invoke ();
#endif
- // extern hb_bool_t hb_buffer_deserialize_glyphs(hb_buffer_t* buffer, const char* buf, int buf_len, const char** end_ptr, hb_font_t* font, hb_buffer_serialize_format_t format)
+ // extern hb_buffer_t * hb_buffer_create_similar(hb_buffer_t const * src)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial hb_buffer_t hb_buffer_create_similar (hb_buffer_t src);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern hb_buffer_t hb_buffer_create_similar (hb_buffer_t src);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate hb_buffer_t hb_buffer_create_similar (hb_buffer_t src);
+ }
+ private static Delegates.hb_buffer_create_similar hb_buffer_create_similar_delegate;
+ internal static hb_buffer_t hb_buffer_create_similar (hb_buffer_t src) =>
+ (hb_buffer_create_similar_delegate ??= GetSymbol ("hb_buffer_create_similar")).Invoke (src);
+ #endif
+
+ // extern hb_bool_t hb_buffer_deserialize_glyphs(hb_buffer_t * buffer, char const * buf, int buf_len, char const * * end_ptr, hb_font_t * font, hb_buffer_serialize_format_t format)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -518,7 +539,7 @@ internal static bool hb_buffer_deserialize_glyphs (hb_buffer_t buffer, [MarshalA
(hb_buffer_deserialize_glyphs_delegate ??= GetSymbol ("hb_buffer_deserialize_glyphs")).Invoke (buffer, buf, buf_len, end_ptr, font, format);
#endif
- // extern hb_bool_t hb_buffer_deserialize_unicode(hb_buffer_t* buffer, const char* buf, int buf_len, const char** end_ptr, hb_buffer_serialize_format_t format)
+ // extern hb_bool_t hb_buffer_deserialize_unicode(hb_buffer_t * buffer, char const * buf, int buf_len, char const * * end_ptr, hb_buffer_serialize_format_t format)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -540,7 +561,7 @@ internal static bool hb_buffer_deserialize_unicode (hb_buffer_t buffer, /* char
(hb_buffer_deserialize_unicode_delegate ??= GetSymbol ("hb_buffer_deserialize_unicode")).Invoke (buffer, buf, buf_len, end_ptr, format);
#endif
- // extern void hb_buffer_destroy(hb_buffer_t* buffer)
+ // extern void hb_buffer_destroy(hb_buffer_t * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -559,7 +580,7 @@ internal static void hb_buffer_destroy (hb_buffer_t buffer) =>
(hb_buffer_destroy_delegate ??= GetSymbol ("hb_buffer_destroy")).Invoke (buffer);
#endif
- // extern hb_buffer_diff_flags_t hb_buffer_diff(hb_buffer_t* buffer, hb_buffer_t* reference, hb_codepoint_t dottedcircle_glyph, unsigned int position_fuzz)
+ // extern hb_buffer_diff_flags_t hb_buffer_diff(hb_buffer_t * buffer, hb_buffer_t * reference, hb_codepoint_t dottedcircle_glyph, unsigned int position_fuzz)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -578,7 +599,7 @@ internal static BufferDiffFlags hb_buffer_diff (hb_buffer_t buffer, hb_buffer_t
(hb_buffer_diff_delegate ??= GetSymbol ("hb_buffer_diff")).Invoke (buffer, reference, dottedcircle_glyph, position_fuzz);
#endif
- // extern hb_buffer_cluster_level_t hb_buffer_get_cluster_level(hb_buffer_t* buffer)
+ // extern hb_buffer_cluster_level_t hb_buffer_get_cluster_level(hb_buffer_t const * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -597,7 +618,7 @@ internal static ClusterLevel hb_buffer_get_cluster_level (hb_buffer_t buffer) =>
(hb_buffer_get_cluster_level_delegate ??= GetSymbol ("hb_buffer_get_cluster_level")).Invoke (buffer);
#endif
- // extern hb_buffer_content_type_t hb_buffer_get_content_type(hb_buffer_t* buffer)
+ // extern hb_buffer_content_type_t hb_buffer_get_content_type(hb_buffer_t const * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -616,7 +637,7 @@ internal static ContentType hb_buffer_get_content_type (hb_buffer_t buffer) =>
(hb_buffer_get_content_type_delegate ??= GetSymbol ("hb_buffer_get_content_type")).Invoke (buffer);
#endif
- // extern hb_direction_t hb_buffer_get_direction(hb_buffer_t* buffer)
+ // extern hb_direction_t hb_buffer_get_direction(hb_buffer_t const * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -635,7 +656,7 @@ internal static Direction hb_buffer_get_direction (hb_buffer_t buffer) =>
(hb_buffer_get_direction_delegate ??= GetSymbol ("hb_buffer_get_direction")).Invoke (buffer);
#endif
- // extern hb_buffer_t* hb_buffer_get_empty()
+ // extern hb_buffer_t * hb_buffer_get_empty()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -654,7 +675,7 @@ internal static hb_buffer_t hb_buffer_get_empty () =>
(hb_buffer_get_empty_delegate ??= GetSymbol ("hb_buffer_get_empty")).Invoke ();
#endif
- // extern hb_buffer_flags_t hb_buffer_get_flags(hb_buffer_t* buffer)
+ // extern hb_buffer_flags_t hb_buffer_get_flags(hb_buffer_t const * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -673,7 +694,7 @@ internal static BufferFlags hb_buffer_get_flags (hb_buffer_t buffer) =>
(hb_buffer_get_flags_delegate ??= GetSymbol ("hb_buffer_get_flags")).Invoke (buffer);
#endif
- // extern hb_glyph_info_t* hb_buffer_get_glyph_infos(hb_buffer_t* buffer, unsigned int* length)
+ // extern hb_glyph_info_t * hb_buffer_get_glyph_infos(hb_buffer_t * buffer, unsigned int * length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -692,7 +713,7 @@ private partial class Delegates {
(hb_buffer_get_glyph_infos_delegate ??= GetSymbol ("hb_buffer_get_glyph_infos")).Invoke (buffer, length);
#endif
- // extern hb_glyph_position_t* hb_buffer_get_glyph_positions(hb_buffer_t* buffer, unsigned int* length)
+ // extern hb_glyph_position_t * hb_buffer_get_glyph_positions(hb_buffer_t * buffer, unsigned int * length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -711,7 +732,7 @@ private partial class Delegates {
(hb_buffer_get_glyph_positions_delegate ??= GetSymbol ("hb_buffer_get_glyph_positions")).Invoke (buffer, length);
#endif
- // extern hb_codepoint_t hb_buffer_get_invisible_glyph(hb_buffer_t* buffer)
+ // extern hb_codepoint_t hb_buffer_get_invisible_glyph(hb_buffer_t const * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -730,7 +751,7 @@ internal static UInt32 hb_buffer_get_invisible_glyph (hb_buffer_t buffer) =>
(hb_buffer_get_invisible_glyph_delegate ??= GetSymbol ("hb_buffer_get_invisible_glyph")).Invoke (buffer);
#endif
- // extern hb_language_t hb_buffer_get_language(hb_buffer_t* buffer)
+ // extern hb_language_t hb_buffer_get_language(hb_buffer_t const * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -749,7 +770,7 @@ internal static IntPtr hb_buffer_get_language (hb_buffer_t buffer) =>
(hb_buffer_get_language_delegate ??= GetSymbol ("hb_buffer_get_language")).Invoke (buffer);
#endif
- // extern unsigned int hb_buffer_get_length(hb_buffer_t* buffer)
+ // extern unsigned int hb_buffer_get_length(hb_buffer_t const * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -768,7 +789,26 @@ internal static UInt32 hb_buffer_get_length (hb_buffer_t buffer) =>
(hb_buffer_get_length_delegate ??= GetSymbol ("hb_buffer_get_length")).Invoke (buffer);
#endif
- // extern hb_codepoint_t hb_buffer_get_replacement_codepoint(hb_buffer_t* buffer)
+ // extern hb_codepoint_t hb_buffer_get_not_found_glyph(hb_buffer_t const * buffer)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial UInt32 hb_buffer_get_not_found_glyph (hb_buffer_t buffer);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern UInt32 hb_buffer_get_not_found_glyph (hb_buffer_t buffer);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate UInt32 hb_buffer_get_not_found_glyph (hb_buffer_t buffer);
+ }
+ private static Delegates.hb_buffer_get_not_found_glyph hb_buffer_get_not_found_glyph_delegate;
+ internal static UInt32 hb_buffer_get_not_found_glyph (hb_buffer_t buffer) =>
+ (hb_buffer_get_not_found_glyph_delegate ??= GetSymbol ("hb_buffer_get_not_found_glyph")).Invoke (buffer);
+ #endif
+
+ // extern hb_codepoint_t hb_buffer_get_replacement_codepoint(hb_buffer_t const * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -787,7 +827,7 @@ internal static UInt32 hb_buffer_get_replacement_codepoint (hb_buffer_t buffer)
(hb_buffer_get_replacement_codepoint_delegate ??= GetSymbol ("hb_buffer_get_replacement_codepoint")).Invoke (buffer);
#endif
- // extern hb_script_t hb_buffer_get_script(hb_buffer_t* buffer)
+ // extern hb_script_t hb_buffer_get_script(hb_buffer_t const * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -806,7 +846,7 @@ internal static UInt32 hb_buffer_get_script (hb_buffer_t buffer) =>
(hb_buffer_get_script_delegate ??= GetSymbol ("hb_buffer_get_script")).Invoke (buffer);
#endif
- // extern hb_unicode_funcs_t* hb_buffer_get_unicode_funcs(hb_buffer_t* buffer)
+ // extern hb_unicode_funcs_t * hb_buffer_get_unicode_funcs(hb_buffer_t const * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -825,7 +865,7 @@ internal static hb_unicode_funcs_t hb_buffer_get_unicode_funcs (hb_buffer_t buff
(hb_buffer_get_unicode_funcs_delegate ??= GetSymbol ("hb_buffer_get_unicode_funcs")).Invoke (buffer);
#endif
- // extern void hb_buffer_guess_segment_properties(hb_buffer_t* buffer)
+ // extern void hb_buffer_guess_segment_properties(hb_buffer_t * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -844,7 +884,7 @@ internal static void hb_buffer_guess_segment_properties (hb_buffer_t buffer) =>
(hb_buffer_guess_segment_properties_delegate ??= GetSymbol ("hb_buffer_guess_segment_properties")).Invoke (buffer);
#endif
- // extern hb_bool_t hb_buffer_has_positions(hb_buffer_t* buffer)
+ // extern hb_bool_t hb_buffer_has_positions(hb_buffer_t * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -866,7 +906,7 @@ internal static bool hb_buffer_has_positions (hb_buffer_t buffer) =>
(hb_buffer_has_positions_delegate ??= GetSymbol ("hb_buffer_has_positions")).Invoke (buffer);
#endif
- // extern void hb_buffer_normalize_glyphs(hb_buffer_t* buffer)
+ // extern void hb_buffer_normalize_glyphs(hb_buffer_t * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -885,7 +925,7 @@ internal static void hb_buffer_normalize_glyphs (hb_buffer_t buffer) =>
(hb_buffer_normalize_glyphs_delegate ??= GetSymbol ("hb_buffer_normalize_glyphs")).Invoke (buffer);
#endif
- // extern hb_bool_t hb_buffer_pre_allocate(hb_buffer_t* buffer, unsigned int size)
+ // extern hb_bool_t hb_buffer_pre_allocate(hb_buffer_t * buffer, unsigned int size)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -907,7 +947,7 @@ internal static bool hb_buffer_pre_allocate (hb_buffer_t buffer, UInt32 size) =>
(hb_buffer_pre_allocate_delegate ??= GetSymbol ("hb_buffer_pre_allocate")).Invoke (buffer, size);
#endif
- // extern hb_buffer_t* hb_buffer_reference(hb_buffer_t* buffer)
+ // extern hb_buffer_t * hb_buffer_reference(hb_buffer_t * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -926,7 +966,7 @@ internal static hb_buffer_t hb_buffer_reference (hb_buffer_t buffer) =>
(hb_buffer_reference_delegate ??= GetSymbol ("hb_buffer_reference")).Invoke (buffer);
#endif
- // extern void hb_buffer_reset(hb_buffer_t* buffer)
+ // extern void hb_buffer_reset(hb_buffer_t * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -945,7 +985,7 @@ internal static void hb_buffer_reset (hb_buffer_t buffer) =>
(hb_buffer_reset_delegate ??= GetSymbol ("hb_buffer_reset")).Invoke (buffer);
#endif
- // extern void hb_buffer_reverse(hb_buffer_t* buffer)
+ // extern void hb_buffer_reverse(hb_buffer_t * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -964,7 +1004,7 @@ internal static void hb_buffer_reverse (hb_buffer_t buffer) =>
(hb_buffer_reverse_delegate ??= GetSymbol ("hb_buffer_reverse")).Invoke (buffer);
#endif
- // extern void hb_buffer_reverse_clusters(hb_buffer_t* buffer)
+ // extern void hb_buffer_reverse_clusters(hb_buffer_t * buffer)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -983,7 +1023,7 @@ internal static void hb_buffer_reverse_clusters (hb_buffer_t buffer) =>
(hb_buffer_reverse_clusters_delegate ??= GetSymbol ("hb_buffer_reverse_clusters")).Invoke (buffer);
#endif
- // extern void hb_buffer_reverse_range(hb_buffer_t* buffer, unsigned int start, unsigned int end)
+ // extern void hb_buffer_reverse_range(hb_buffer_t * buffer, unsigned int start, unsigned int end)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1002,7 +1042,7 @@ internal static void hb_buffer_reverse_range (hb_buffer_t buffer, UInt32 start,
(hb_buffer_reverse_range_delegate ??= GetSymbol ("hb_buffer_reverse_range")).Invoke (buffer, start, end);
#endif
- // extern unsigned int hb_buffer_serialize(hb_buffer_t* buffer, unsigned int start, unsigned int end, char* buf, unsigned int buf_size, unsigned int* buf_consumed, hb_font_t* font, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags)
+ // extern unsigned int hb_buffer_serialize(hb_buffer_t * buffer, unsigned int start, unsigned int end, char * buf, unsigned int buf_size, unsigned int * buf_consumed, hb_font_t * font, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1021,7 +1061,7 @@ internal static UInt32 hb_buffer_serialize (hb_buffer_t buffer, UInt32 start, UI
(hb_buffer_serialize_delegate ??= GetSymbol ("hb_buffer_serialize")).Invoke (buffer, start, end, buf, buf_size, buf_consumed, font, format, flags);
#endif
- // extern hb_buffer_serialize_format_t hb_buffer_serialize_format_from_string(const char* str, int len)
+ // extern hb_buffer_serialize_format_t hb_buffer_serialize_format_from_string(char const * str, int len)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1040,7 +1080,7 @@ internal static SerializeFormat hb_buffer_serialize_format_from_string (/* char
(hb_buffer_serialize_format_from_string_delegate ??= GetSymbol ("hb_buffer_serialize_format_from_string")).Invoke (str, len);
#endif
- // extern const char* hb_buffer_serialize_format_to_string(hb_buffer_serialize_format_t format)
+ // extern char const * hb_buffer_serialize_format_to_string(hb_buffer_serialize_format_t format)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1059,7 +1099,7 @@ private partial class Delegates {
(hb_buffer_serialize_format_to_string_delegate ??= GetSymbol ("hb_buffer_serialize_format_to_string")).Invoke (format);
#endif
- // extern unsigned int hb_buffer_serialize_glyphs(hb_buffer_t* buffer, unsigned int start, unsigned int end, char* buf, unsigned int buf_size, unsigned int* buf_consumed, hb_font_t* font, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags)
+ // extern unsigned int hb_buffer_serialize_glyphs(hb_buffer_t * buffer, unsigned int start, unsigned int end, char * buf, unsigned int buf_size, unsigned int * buf_consumed, hb_font_t * font, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1078,7 +1118,7 @@ internal static UInt32 hb_buffer_serialize_glyphs (hb_buffer_t buffer, UInt32 st
(hb_buffer_serialize_glyphs_delegate ??= GetSymbol ("hb_buffer_serialize_glyphs")).Invoke (buffer, start, end, buf, buf_size, buf_consumed, font, format, flags);
#endif
- // extern const char** hb_buffer_serialize_list_formats()
+ // extern char const * * hb_buffer_serialize_list_formats()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1097,7 +1137,7 @@ private partial class Delegates {
(hb_buffer_serialize_list_formats_delegate ??= GetSymbol ("hb_buffer_serialize_list_formats")).Invoke ();
#endif
- // extern unsigned int hb_buffer_serialize_unicode(hb_buffer_t* buffer, unsigned int start, unsigned int end, char* buf, unsigned int buf_size, unsigned int* buf_consumed, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags)
+ // extern unsigned int hb_buffer_serialize_unicode(hb_buffer_t * buffer, unsigned int start, unsigned int end, char * buf, unsigned int buf_size, unsigned int * buf_consumed, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1116,7 +1156,7 @@ internal static UInt32 hb_buffer_serialize_unicode (hb_buffer_t buffer, UInt32 s
(hb_buffer_serialize_unicode_delegate ??= GetSymbol ("hb_buffer_serialize_unicode")).Invoke (buffer, start, end, buf, buf_size, buf_consumed, format, flags);
#endif
- // extern void hb_buffer_set_cluster_level(hb_buffer_t* buffer, hb_buffer_cluster_level_t cluster_level)
+ // extern void hb_buffer_set_cluster_level(hb_buffer_t * buffer, hb_buffer_cluster_level_t cluster_level)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1135,7 +1175,7 @@ internal static void hb_buffer_set_cluster_level (hb_buffer_t buffer, ClusterLev
(hb_buffer_set_cluster_level_delegate ??= GetSymbol ("hb_buffer_set_cluster_level")).Invoke (buffer, cluster_level);
#endif
- // extern void hb_buffer_set_content_type(hb_buffer_t* buffer, hb_buffer_content_type_t content_type)
+ // extern void hb_buffer_set_content_type(hb_buffer_t * buffer, hb_buffer_content_type_t content_type)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1154,7 +1194,7 @@ internal static void hb_buffer_set_content_type (hb_buffer_t buffer, ContentType
(hb_buffer_set_content_type_delegate ??= GetSymbol ("hb_buffer_set_content_type")).Invoke (buffer, content_type);
#endif
- // extern void hb_buffer_set_direction(hb_buffer_t* buffer, hb_direction_t direction)
+ // extern void hb_buffer_set_direction(hb_buffer_t * buffer, hb_direction_t direction)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1173,7 +1213,7 @@ internal static void hb_buffer_set_direction (hb_buffer_t buffer, Direction dire
(hb_buffer_set_direction_delegate ??= GetSymbol ("hb_buffer_set_direction")).Invoke (buffer, direction);
#endif
- // extern void hb_buffer_set_flags(hb_buffer_t* buffer, hb_buffer_flags_t flags)
+ // extern void hb_buffer_set_flags(hb_buffer_t * buffer, hb_buffer_flags_t flags)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1192,7 +1232,7 @@ internal static void hb_buffer_set_flags (hb_buffer_t buffer, BufferFlags flags)
(hb_buffer_set_flags_delegate ??= GetSymbol ("hb_buffer_set_flags")).Invoke (buffer, flags);
#endif
- // extern void hb_buffer_set_invisible_glyph(hb_buffer_t* buffer, hb_codepoint_t invisible)
+ // extern void hb_buffer_set_invisible_glyph(hb_buffer_t * buffer, hb_codepoint_t invisible)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1211,7 +1251,7 @@ internal static void hb_buffer_set_invisible_glyph (hb_buffer_t buffer, UInt32 i
(hb_buffer_set_invisible_glyph_delegate ??= GetSymbol ("hb_buffer_set_invisible_glyph")).Invoke (buffer, invisible);
#endif
- // extern void hb_buffer_set_language(hb_buffer_t* buffer, hb_language_t language)
+ // extern void hb_buffer_set_language(hb_buffer_t * buffer, hb_language_t language)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1230,7 +1270,7 @@ internal static void hb_buffer_set_language (hb_buffer_t buffer, IntPtr language
(hb_buffer_set_language_delegate ??= GetSymbol ("hb_buffer_set_language")).Invoke (buffer, language);
#endif
- // extern hb_bool_t hb_buffer_set_length(hb_buffer_t* buffer, unsigned int length)
+ // extern hb_bool_t hb_buffer_set_length(hb_buffer_t * buffer, unsigned int length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1252,7 +1292,7 @@ internal static bool hb_buffer_set_length (hb_buffer_t buffer, UInt32 length) =>
(hb_buffer_set_length_delegate ??= GetSymbol ("hb_buffer_set_length")).Invoke (buffer, length);
#endif
- // extern void hb_buffer_set_message_func(hb_buffer_t* buffer, hb_buffer_message_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_buffer_set_message_func(hb_buffer_t * buffer, hb_buffer_message_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1271,7 +1311,26 @@ internal static void hb_buffer_set_message_func (hb_buffer_t buffer, BufferMessa
(hb_buffer_set_message_func_delegate ??= GetSymbol ("hb_buffer_set_message_func")).Invoke (buffer, func, user_data, destroy);
#endif
- // extern void hb_buffer_set_replacement_codepoint(hb_buffer_t* buffer, hb_codepoint_t replacement)
+ // extern void hb_buffer_set_not_found_glyph(hb_buffer_t * buffer, hb_codepoint_t not_found)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_buffer_set_not_found_glyph (hb_buffer_t buffer, UInt32 not_found);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_buffer_set_not_found_glyph (hb_buffer_t buffer, UInt32 not_found);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_buffer_set_not_found_glyph (hb_buffer_t buffer, UInt32 not_found);
+ }
+ private static Delegates.hb_buffer_set_not_found_glyph hb_buffer_set_not_found_glyph_delegate;
+ internal static void hb_buffer_set_not_found_glyph (hb_buffer_t buffer, UInt32 not_found) =>
+ (hb_buffer_set_not_found_glyph_delegate ??= GetSymbol ("hb_buffer_set_not_found_glyph")).Invoke (buffer, not_found);
+ #endif
+
+ // extern void hb_buffer_set_replacement_codepoint(hb_buffer_t * buffer, hb_codepoint_t replacement)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1290,7 +1349,7 @@ internal static void hb_buffer_set_replacement_codepoint (hb_buffer_t buffer, UI
(hb_buffer_set_replacement_codepoint_delegate ??= GetSymbol ("hb_buffer_set_replacement_codepoint")).Invoke (buffer, replacement);
#endif
- // extern void hb_buffer_set_script(hb_buffer_t* buffer, hb_script_t script)
+ // extern void hb_buffer_set_script(hb_buffer_t * buffer, hb_script_t script)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1309,7 +1368,7 @@ internal static void hb_buffer_set_script (hb_buffer_t buffer, UInt32 script) =>
(hb_buffer_set_script_delegate ??= GetSymbol ("hb_buffer_set_script")).Invoke (buffer, script);
#endif
- // extern void hb_buffer_set_unicode_funcs(hb_buffer_t* buffer, hb_unicode_funcs_t* unicode_funcs)
+ // extern void hb_buffer_set_unicode_funcs(hb_buffer_t * buffer, hb_unicode_funcs_t * unicode_funcs)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1328,7 +1387,7 @@ internal static void hb_buffer_set_unicode_funcs (hb_buffer_t buffer, hb_unicode
(hb_buffer_set_unicode_funcs_delegate ??= GetSymbol ("hb_buffer_set_unicode_funcs")).Invoke (buffer, unicode_funcs);
#endif
- // extern hb_glyph_flags_t hb_glyph_info_get_glyph_flags(const hb_glyph_info_t* info)
+ // extern hb_glyph_flags_t hb_glyph_info_get_glyph_flags(hb_glyph_info_t const * info)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1351,7 +1410,7 @@ internal static GlyphFlags hb_glyph_info_get_glyph_flags (GlyphInfo* info) =>
#region hb-common.h
- // extern uint8_t hb_color_get_alpha(hb_color_t color)
+ // extern unsigned char hb_color_get_alpha(hb_color_t color)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1370,7 +1429,7 @@ internal static Byte hb_color_get_alpha (UInt32 color) =>
(hb_color_get_alpha_delegate ??= GetSymbol ("hb_color_get_alpha")).Invoke (color);
#endif
- // extern uint8_t hb_color_get_blue(hb_color_t color)
+ // extern unsigned char hb_color_get_blue(hb_color_t color)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1389,7 +1448,7 @@ internal static Byte hb_color_get_blue (UInt32 color) =>
(hb_color_get_blue_delegate ??= GetSymbol ("hb_color_get_blue")).Invoke (color);
#endif
- // extern uint8_t hb_color_get_green(hb_color_t color)
+ // extern unsigned char hb_color_get_green(hb_color_t color)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1408,7 +1467,7 @@ internal static Byte hb_color_get_green (UInt32 color) =>
(hb_color_get_green_delegate ??= GetSymbol ("hb_color_get_green")).Invoke (color);
#endif
- // extern uint8_t hb_color_get_red(hb_color_t color)
+ // extern unsigned char hb_color_get_red(hb_color_t color)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1427,7 +1486,7 @@ internal static Byte hb_color_get_red (UInt32 color) =>
(hb_color_get_red_delegate ??= GetSymbol ("hb_color_get_red")).Invoke (color);
#endif
- // extern hb_direction_t hb_direction_from_string(const char* str, int len)
+ // extern hb_direction_t hb_direction_from_string(char const * str, int len)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1446,7 +1505,7 @@ internal static Direction hb_direction_from_string (/* char */ void* str, Int32
(hb_direction_from_string_delegate ??= GetSymbol ("hb_direction_from_string")).Invoke (str, len);
#endif
- // extern const char* hb_direction_to_string(hb_direction_t direction)
+ // extern char const * hb_direction_to_string(hb_direction_t direction)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1465,7 +1524,7 @@ private partial class Delegates {
(hb_direction_to_string_delegate ??= GetSymbol ("hb_direction_to_string")).Invoke (direction);
#endif
- // extern hb_bool_t hb_feature_from_string(const char* str, int len, hb_feature_t* feature)
+ // extern hb_bool_t hb_feature_from_string(char const * str, int len, hb_feature_t * feature)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1487,7 +1546,7 @@ internal static bool hb_feature_from_string ([MarshalAs (UnmanagedType.LPStr)] S
(hb_feature_from_string_delegate ??= GetSymbol ("hb_feature_from_string")).Invoke (str, len, feature);
#endif
- // extern void hb_feature_to_string(hb_feature_t* feature, char* buf, unsigned int size)
+ // extern void hb_feature_to_string(hb_feature_t * feature, char * buf, unsigned int size)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1506,7 +1565,7 @@ internal static void hb_feature_to_string (Feature* feature, /* char */ void* bu
(hb_feature_to_string_delegate ??= GetSymbol ("hb_feature_to_string")).Invoke (feature, buf, size);
#endif
- // extern hb_language_t hb_language_from_string(const char* str, int len)
+ // extern hb_language_t hb_language_from_string(char const * str, int len)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1544,7 +1603,29 @@ internal static IntPtr hb_language_get_default () =>
(hb_language_get_default_delegate ??= GetSymbol ("hb_language_get_default")).Invoke ();
#endif
- // extern const char* hb_language_to_string(hb_language_t language)
+ // extern hb_bool_t hb_language_matches(hb_language_t language, hb_language_t specific)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static partial bool hb_language_matches (IntPtr language, IntPtr specific);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static extern bool hb_language_matches (IntPtr language, IntPtr specific);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal delegate bool hb_language_matches (IntPtr language, IntPtr specific);
+ }
+ private static Delegates.hb_language_matches hb_language_matches_delegate;
+ internal static bool hb_language_matches (IntPtr language, IntPtr specific) =>
+ (hb_language_matches_delegate ??= GetSymbol ("hb_language_matches")).Invoke (language, specific);
+ #endif
+
+ // extern char const * hb_language_to_string(hb_language_t language)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1582,7 +1663,7 @@ internal static UInt32 hb_script_from_iso15924_tag (UInt32 tag) =>
(hb_script_from_iso15924_tag_delegate ??= GetSymbol ("hb_script_from_iso15924_tag")).Invoke (tag);
#endif
- // extern hb_script_t hb_script_from_string(const char* str, int len)
+ // extern hb_script_t hb_script_from_string(char const * str, int len)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1639,7 +1720,7 @@ internal static UInt32 hb_script_to_iso15924_tag (UInt32 script) =>
(hb_script_to_iso15924_tag_delegate ??= GetSymbol ("hb_script_to_iso15924_tag")).Invoke (script);
#endif
- // extern hb_tag_t hb_tag_from_string(const char* str, int len)
+ // extern hb_tag_t hb_tag_from_string(char const * str, int len)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1658,7 +1739,7 @@ internal static UInt32 hb_tag_from_string (/* char */ void* str, Int32 len) =>
(hb_tag_from_string_delegate ??= GetSymbol ("hb_tag_from_string")).Invoke (str, len);
#endif
- // extern void hb_tag_to_string(hb_tag_t tag, char* buf)
+ // extern void hb_tag_to_string(hb_tag_t tag, char * buf)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1677,7 +1758,7 @@ internal static void hb_tag_to_string (UInt32 tag, /* char */ void* buf) =>
(hb_tag_to_string_delegate ??= GetSymbol ("hb_tag_to_string")).Invoke (tag, buf);
#endif
- // extern hb_bool_t hb_variation_from_string(const char* str, int len, hb_variation_t* variation)
+ // extern hb_bool_t hb_variation_from_string(char const * str, int len, hb_variation_t * variation)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1699,7 +1780,7 @@ internal static bool hb_variation_from_string (/* char */ void* str, Int32 len,
(hb_variation_from_string_delegate ??= GetSymbol ("hb_variation_from_string")).Invoke (str, len, variation);
#endif
- // extern void hb_variation_to_string(hb_variation_t* variation, char* buf, unsigned int size)
+ // extern void hb_variation_to_string(hb_variation_t * variation, char * buf, unsigned int size)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -1720,482 +1801,850 @@ internal static void hb_variation_to_string (Variation* variation, /* char */ vo
#endregion
- #region hb-face.h
+ #region hb-draw.h
- // extern hb_bool_t hb_face_builder_add_table(hb_face_t* face, hb_tag_t tag, hb_blob_t* blob)
+ // extern void hb_draw_close_path(hb_draw_funcs_t * dfuncs, void * draw_data, hb_draw_state_t * st)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- [return: MarshalAs (UnmanagedType.I1)]
- internal static partial bool hb_face_builder_add_table (hb_face_t face, UInt32 tag, hb_blob_t blob);
+ internal static partial void hb_draw_close_path (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- [return: MarshalAs (UnmanagedType.I1)]
- internal static extern bool hb_face_builder_add_table (hb_face_t face, UInt32 tag, hb_blob_t blob);
+ internal static extern void hb_draw_close_path (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- [return: MarshalAs (UnmanagedType.I1)]
- internal delegate bool hb_face_builder_add_table (hb_face_t face, UInt32 tag, hb_blob_t blob);
+ internal delegate void hb_draw_close_path (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st);
}
- private static Delegates.hb_face_builder_add_table hb_face_builder_add_table_delegate;
- internal static bool hb_face_builder_add_table (hb_face_t face, UInt32 tag, hb_blob_t blob) =>
- (hb_face_builder_add_table_delegate ??= GetSymbol ("hb_face_builder_add_table")).Invoke (face, tag, blob);
+ private static Delegates.hb_draw_close_path hb_draw_close_path_delegate;
+ internal static void hb_draw_close_path (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st) =>
+ (hb_draw_close_path_delegate ??= GetSymbol ("hb_draw_close_path")).Invoke (dfuncs, draw_data, st);
#endif
- // extern hb_face_t* hb_face_builder_create()
+ // extern void hb_draw_cubic_to(hb_draw_funcs_t * dfuncs, void * draw_data, hb_draw_state_t * st, float control1_x, float control1_y, float control2_x, float control2_y, float to_x, float to_y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial hb_face_t hb_face_builder_create ();
+ internal static partial void hb_draw_cubic_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single control1_x, Single control1_y, Single control2_x, Single control2_y, Single to_x, Single to_y);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern hb_face_t hb_face_builder_create ();
+ internal static extern void hb_draw_cubic_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single control1_x, Single control1_y, Single control2_x, Single control2_y, Single to_x, Single to_y);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate hb_face_t hb_face_builder_create ();
+ internal delegate void hb_draw_cubic_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single control1_x, Single control1_y, Single control2_x, Single control2_y, Single to_x, Single to_y);
}
- private static Delegates.hb_face_builder_create hb_face_builder_create_delegate;
- internal static hb_face_t hb_face_builder_create () =>
- (hb_face_builder_create_delegate ??= GetSymbol ("hb_face_builder_create")).Invoke ();
+ private static Delegates.hb_draw_cubic_to hb_draw_cubic_to_delegate;
+ internal static void hb_draw_cubic_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single control1_x, Single control1_y, Single control2_x, Single control2_y, Single to_x, Single to_y) =>
+ (hb_draw_cubic_to_delegate ??= GetSymbol ("hb_draw_cubic_to")).Invoke (dfuncs, draw_data, st, control1_x, control1_y, control2_x, control2_y, to_x, to_y);
#endif
- // extern void hb_face_collect_unicodes(hb_face_t* face, hb_set_t* out)
+ // extern hb_draw_funcs_t * hb_draw_funcs_create()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial void hb_face_collect_unicodes (hb_face_t face, hb_set_t @out);
+ internal static partial hb_draw_funcs_t hb_draw_funcs_create ();
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void hb_face_collect_unicodes (hb_face_t face, hb_set_t @out);
+ internal static extern hb_draw_funcs_t hb_draw_funcs_create ();
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate void hb_face_collect_unicodes (hb_face_t face, hb_set_t @out);
+ internal delegate hb_draw_funcs_t hb_draw_funcs_create ();
}
- private static Delegates.hb_face_collect_unicodes hb_face_collect_unicodes_delegate;
- internal static void hb_face_collect_unicodes (hb_face_t face, hb_set_t @out) =>
- (hb_face_collect_unicodes_delegate ??= GetSymbol ("hb_face_collect_unicodes")).Invoke (face, @out);
+ private static Delegates.hb_draw_funcs_create hb_draw_funcs_create_delegate;
+ internal static hb_draw_funcs_t hb_draw_funcs_create () =>
+ (hb_draw_funcs_create_delegate ??= GetSymbol ("hb_draw_funcs_create")).Invoke ();
#endif
- // extern void hb_face_collect_variation_selectors(hb_face_t* face, hb_set_t* out)
+ // extern void hb_draw_funcs_destroy(hb_draw_funcs_t * dfuncs)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial void hb_face_collect_variation_selectors (hb_face_t face, hb_set_t @out);
+ internal static partial void hb_draw_funcs_destroy (hb_draw_funcs_t dfuncs);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void hb_face_collect_variation_selectors (hb_face_t face, hb_set_t @out);
+ internal static extern void hb_draw_funcs_destroy (hb_draw_funcs_t dfuncs);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate void hb_face_collect_variation_selectors (hb_face_t face, hb_set_t @out);
+ internal delegate void hb_draw_funcs_destroy (hb_draw_funcs_t dfuncs);
}
- private static Delegates.hb_face_collect_variation_selectors hb_face_collect_variation_selectors_delegate;
- internal static void hb_face_collect_variation_selectors (hb_face_t face, hb_set_t @out) =>
- (hb_face_collect_variation_selectors_delegate ??= GetSymbol ("hb_face_collect_variation_selectors")).Invoke (face, @out);
+ private static Delegates.hb_draw_funcs_destroy hb_draw_funcs_destroy_delegate;
+ internal static void hb_draw_funcs_destroy (hb_draw_funcs_t dfuncs) =>
+ (hb_draw_funcs_destroy_delegate ??= GetSymbol ("hb_draw_funcs_destroy")).Invoke (dfuncs);
#endif
- // extern void hb_face_collect_variation_unicodes(hb_face_t* face, hb_codepoint_t variation_selector, hb_set_t* out)
+ // extern hb_draw_funcs_t * hb_draw_funcs_get_empty()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial void hb_face_collect_variation_unicodes (hb_face_t face, UInt32 variation_selector, hb_set_t @out);
+ internal static partial hb_draw_funcs_t hb_draw_funcs_get_empty ();
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void hb_face_collect_variation_unicodes (hb_face_t face, UInt32 variation_selector, hb_set_t @out);
+ internal static extern hb_draw_funcs_t hb_draw_funcs_get_empty ();
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate void hb_face_collect_variation_unicodes (hb_face_t face, UInt32 variation_selector, hb_set_t @out);
+ internal delegate hb_draw_funcs_t hb_draw_funcs_get_empty ();
}
- private static Delegates.hb_face_collect_variation_unicodes hb_face_collect_variation_unicodes_delegate;
- internal static void hb_face_collect_variation_unicodes (hb_face_t face, UInt32 variation_selector, hb_set_t @out) =>
- (hb_face_collect_variation_unicodes_delegate ??= GetSymbol ("hb_face_collect_variation_unicodes")).Invoke (face, variation_selector, @out);
+ private static Delegates.hb_draw_funcs_get_empty hb_draw_funcs_get_empty_delegate;
+ internal static hb_draw_funcs_t hb_draw_funcs_get_empty () =>
+ (hb_draw_funcs_get_empty_delegate ??= GetSymbol ("hb_draw_funcs_get_empty")).Invoke ();
#endif
- // extern unsigned int hb_face_count(hb_blob_t* blob)
+ // extern hb_bool_t hb_draw_funcs_is_immutable(hb_draw_funcs_t * dfuncs)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial UInt32 hb_face_count (hb_blob_t blob);
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static partial bool hb_draw_funcs_is_immutable (hb_draw_funcs_t dfuncs);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern UInt32 hb_face_count (hb_blob_t blob);
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static extern bool hb_draw_funcs_is_immutable (hb_draw_funcs_t dfuncs);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate UInt32 hb_face_count (hb_blob_t blob);
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal delegate bool hb_draw_funcs_is_immutable (hb_draw_funcs_t dfuncs);
}
- private static Delegates.hb_face_count hb_face_count_delegate;
- internal static UInt32 hb_face_count (hb_blob_t blob) =>
- (hb_face_count_delegate ??= GetSymbol ("hb_face_count")).Invoke (blob);
+ private static Delegates.hb_draw_funcs_is_immutable hb_draw_funcs_is_immutable_delegate;
+ internal static bool hb_draw_funcs_is_immutable (hb_draw_funcs_t dfuncs) =>
+ (hb_draw_funcs_is_immutable_delegate ??= GetSymbol ("hb_draw_funcs_is_immutable")).Invoke (dfuncs);
#endif
- // extern hb_face_t* hb_face_create(hb_blob_t* blob, unsigned int index)
+ // extern void hb_draw_funcs_make_immutable(hb_draw_funcs_t * dfuncs)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial hb_face_t hb_face_create (hb_blob_t blob, UInt32 index);
+ internal static partial void hb_draw_funcs_make_immutable (hb_draw_funcs_t dfuncs);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern hb_face_t hb_face_create (hb_blob_t blob, UInt32 index);
+ internal static extern void hb_draw_funcs_make_immutable (hb_draw_funcs_t dfuncs);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate hb_face_t hb_face_create (hb_blob_t blob, UInt32 index);
+ internal delegate void hb_draw_funcs_make_immutable (hb_draw_funcs_t dfuncs);
}
- private static Delegates.hb_face_create hb_face_create_delegate;
- internal static hb_face_t hb_face_create (hb_blob_t blob, UInt32 index) =>
- (hb_face_create_delegate ??= GetSymbol ("hb_face_create")).Invoke (blob, index);
+ private static Delegates.hb_draw_funcs_make_immutable hb_draw_funcs_make_immutable_delegate;
+ internal static void hb_draw_funcs_make_immutable (hb_draw_funcs_t dfuncs) =>
+ (hb_draw_funcs_make_immutable_delegate ??= GetSymbol ("hb_draw_funcs_make_immutable")).Invoke (dfuncs);
#endif
- // extern hb_face_t* hb_face_create_for_tables(hb_reference_table_func_t reference_table_func, void* user_data, hb_destroy_func_t destroy)
+ // extern hb_draw_funcs_t * hb_draw_funcs_reference(hb_draw_funcs_t * dfuncs)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial hb_face_t hb_face_create_for_tables (void* reference_table_func, void* user_data, void* destroy);
+ internal static partial hb_draw_funcs_t hb_draw_funcs_reference (hb_draw_funcs_t dfuncs);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern hb_face_t hb_face_create_for_tables (ReferenceTableProxyDelegate reference_table_func, void* user_data, DestroyProxyDelegate destroy);
+ internal static extern hb_draw_funcs_t hb_draw_funcs_reference (hb_draw_funcs_t dfuncs);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate hb_face_t hb_face_create_for_tables (ReferenceTableProxyDelegate reference_table_func, void* user_data, DestroyProxyDelegate destroy);
+ internal delegate hb_draw_funcs_t hb_draw_funcs_reference (hb_draw_funcs_t dfuncs);
}
- private static Delegates.hb_face_create_for_tables hb_face_create_for_tables_delegate;
- internal static hb_face_t hb_face_create_for_tables (ReferenceTableProxyDelegate reference_table_func, void* user_data, DestroyProxyDelegate destroy) =>
- (hb_face_create_for_tables_delegate ??= GetSymbol ("hb_face_create_for_tables")).Invoke (reference_table_func, user_data, destroy);
+ private static Delegates.hb_draw_funcs_reference hb_draw_funcs_reference_delegate;
+ internal static hb_draw_funcs_t hb_draw_funcs_reference (hb_draw_funcs_t dfuncs) =>
+ (hb_draw_funcs_reference_delegate ??= GetSymbol ("hb_draw_funcs_reference")).Invoke (dfuncs);
#endif
- // extern void hb_face_destroy(hb_face_t* face)
+ // extern void hb_draw_funcs_set_close_path_func(hb_draw_funcs_t * dfuncs, hb_draw_close_path_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial void hb_face_destroy (hb_face_t face);
+ internal static partial void hb_draw_funcs_set_close_path_func (hb_draw_funcs_t dfuncs, void* func, void* user_data, void* destroy);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void hb_face_destroy (hb_face_t face);
+ internal static extern void hb_draw_funcs_set_close_path_func (hb_draw_funcs_t dfuncs, DrawClosePathProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate void hb_face_destroy (hb_face_t face);
+ internal delegate void hb_draw_funcs_set_close_path_func (hb_draw_funcs_t dfuncs, DrawClosePathProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
}
- private static Delegates.hb_face_destroy hb_face_destroy_delegate;
- internal static void hb_face_destroy (hb_face_t face) =>
- (hb_face_destroy_delegate ??= GetSymbol ("hb_face_destroy")).Invoke (face);
+ private static Delegates.hb_draw_funcs_set_close_path_func hb_draw_funcs_set_close_path_func_delegate;
+ internal static void hb_draw_funcs_set_close_path_func (hb_draw_funcs_t dfuncs, DrawClosePathProxyDelegate func, void* user_data, DestroyProxyDelegate destroy) =>
+ (hb_draw_funcs_set_close_path_func_delegate ??= GetSymbol ("hb_draw_funcs_set_close_path_func")).Invoke (dfuncs, func, user_data, destroy);
#endif
- // extern hb_face_t* hb_face_get_empty()
+ // extern void hb_draw_funcs_set_cubic_to_func(hb_draw_funcs_t * dfuncs, hb_draw_cubic_to_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial hb_face_t hb_face_get_empty ();
+ internal static partial void hb_draw_funcs_set_cubic_to_func (hb_draw_funcs_t dfuncs, void* func, void* user_data, void* destroy);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern hb_face_t hb_face_get_empty ();
+ internal static extern void hb_draw_funcs_set_cubic_to_func (hb_draw_funcs_t dfuncs, DrawCubicToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate hb_face_t hb_face_get_empty ();
+ internal delegate void hb_draw_funcs_set_cubic_to_func (hb_draw_funcs_t dfuncs, DrawCubicToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
}
- private static Delegates.hb_face_get_empty hb_face_get_empty_delegate;
- internal static hb_face_t hb_face_get_empty () =>
- (hb_face_get_empty_delegate ??= GetSymbol ("hb_face_get_empty")).Invoke ();
+ private static Delegates.hb_draw_funcs_set_cubic_to_func hb_draw_funcs_set_cubic_to_func_delegate;
+ internal static void hb_draw_funcs_set_cubic_to_func (hb_draw_funcs_t dfuncs, DrawCubicToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy) =>
+ (hb_draw_funcs_set_cubic_to_func_delegate ??= GetSymbol ("hb_draw_funcs_set_cubic_to_func")).Invoke (dfuncs, func, user_data, destroy);
#endif
- // extern unsigned int hb_face_get_glyph_count(const hb_face_t* face)
+ // extern void hb_draw_funcs_set_line_to_func(hb_draw_funcs_t * dfuncs, hb_draw_line_to_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial UInt32 hb_face_get_glyph_count (hb_face_t face);
+ internal static partial void hb_draw_funcs_set_line_to_func (hb_draw_funcs_t dfuncs, void* func, void* user_data, void* destroy);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern UInt32 hb_face_get_glyph_count (hb_face_t face);
+ internal static extern void hb_draw_funcs_set_line_to_func (hb_draw_funcs_t dfuncs, DrawLineToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate UInt32 hb_face_get_glyph_count (hb_face_t face);
+ internal delegate void hb_draw_funcs_set_line_to_func (hb_draw_funcs_t dfuncs, DrawLineToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
}
- private static Delegates.hb_face_get_glyph_count hb_face_get_glyph_count_delegate;
- internal static UInt32 hb_face_get_glyph_count (hb_face_t face) =>
- (hb_face_get_glyph_count_delegate ??= GetSymbol ("hb_face_get_glyph_count")).Invoke (face);
+ private static Delegates.hb_draw_funcs_set_line_to_func hb_draw_funcs_set_line_to_func_delegate;
+ internal static void hb_draw_funcs_set_line_to_func (hb_draw_funcs_t dfuncs, DrawLineToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy) =>
+ (hb_draw_funcs_set_line_to_func_delegate ??= GetSymbol ("hb_draw_funcs_set_line_to_func")).Invoke (dfuncs, func, user_data, destroy);
#endif
- // extern unsigned int hb_face_get_index(const hb_face_t* face)
+ // extern void hb_draw_funcs_set_move_to_func(hb_draw_funcs_t * dfuncs, hb_draw_move_to_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial UInt32 hb_face_get_index (hb_face_t face);
+ internal static partial void hb_draw_funcs_set_move_to_func (hb_draw_funcs_t dfuncs, void* func, void* user_data, void* destroy);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern UInt32 hb_face_get_index (hb_face_t face);
+ internal static extern void hb_draw_funcs_set_move_to_func (hb_draw_funcs_t dfuncs, DrawMoveToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate UInt32 hb_face_get_index (hb_face_t face);
+ internal delegate void hb_draw_funcs_set_move_to_func (hb_draw_funcs_t dfuncs, DrawMoveToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
}
- private static Delegates.hb_face_get_index hb_face_get_index_delegate;
- internal static UInt32 hb_face_get_index (hb_face_t face) =>
- (hb_face_get_index_delegate ??= GetSymbol ("hb_face_get_index")).Invoke (face);
+ private static Delegates.hb_draw_funcs_set_move_to_func hb_draw_funcs_set_move_to_func_delegate;
+ internal static void hb_draw_funcs_set_move_to_func (hb_draw_funcs_t dfuncs, DrawMoveToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy) =>
+ (hb_draw_funcs_set_move_to_func_delegate ??= GetSymbol ("hb_draw_funcs_set_move_to_func")).Invoke (dfuncs, func, user_data, destroy);
#endif
- // extern unsigned int hb_face_get_table_tags(const hb_face_t* face, unsigned int start_offset, unsigned int* table_count, hb_tag_t* table_tags)
+ // extern void hb_draw_funcs_set_quadratic_to_func(hb_draw_funcs_t * dfuncs, hb_draw_quadratic_to_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial UInt32 hb_face_get_table_tags (hb_face_t face, UInt32 start_offset, UInt32* table_count, UInt32* table_tags);
+ internal static partial void hb_draw_funcs_set_quadratic_to_func (hb_draw_funcs_t dfuncs, void* func, void* user_data, void* destroy);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern UInt32 hb_face_get_table_tags (hb_face_t face, UInt32 start_offset, UInt32* table_count, UInt32* table_tags);
+ internal static extern void hb_draw_funcs_set_quadratic_to_func (hb_draw_funcs_t dfuncs, DrawQuadraticToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate UInt32 hb_face_get_table_tags (hb_face_t face, UInt32 start_offset, UInt32* table_count, UInt32* table_tags);
+ internal delegate void hb_draw_funcs_set_quadratic_to_func (hb_draw_funcs_t dfuncs, DrawQuadraticToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
}
- private static Delegates.hb_face_get_table_tags hb_face_get_table_tags_delegate;
- internal static UInt32 hb_face_get_table_tags (hb_face_t face, UInt32 start_offset, UInt32* table_count, UInt32* table_tags) =>
- (hb_face_get_table_tags_delegate ??= GetSymbol ("hb_face_get_table_tags")).Invoke (face, start_offset, table_count, table_tags);
+ private static Delegates.hb_draw_funcs_set_quadratic_to_func hb_draw_funcs_set_quadratic_to_func_delegate;
+ internal static void hb_draw_funcs_set_quadratic_to_func (hb_draw_funcs_t dfuncs, DrawQuadraticToProxyDelegate func, void* user_data, DestroyProxyDelegate destroy) =>
+ (hb_draw_funcs_set_quadratic_to_func_delegate ??= GetSymbol ("hb_draw_funcs_set_quadratic_to_func")).Invoke (dfuncs, func, user_data, destroy);
#endif
- // extern unsigned int hb_face_get_upem(const hb_face_t* face)
+ // extern void hb_draw_line_to(hb_draw_funcs_t * dfuncs, void * draw_data, hb_draw_state_t * st, float to_x, float to_y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial UInt32 hb_face_get_upem (hb_face_t face);
+ internal static partial void hb_draw_line_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single to_x, Single to_y);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern UInt32 hb_face_get_upem (hb_face_t face);
+ internal static extern void hb_draw_line_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single to_x, Single to_y);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate UInt32 hb_face_get_upem (hb_face_t face);
+ internal delegate void hb_draw_line_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single to_x, Single to_y);
}
- private static Delegates.hb_face_get_upem hb_face_get_upem_delegate;
- internal static UInt32 hb_face_get_upem (hb_face_t face) =>
- (hb_face_get_upem_delegate ??= GetSymbol ("hb_face_get_upem")).Invoke (face);
+ private static Delegates.hb_draw_line_to hb_draw_line_to_delegate;
+ internal static void hb_draw_line_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single to_x, Single to_y) =>
+ (hb_draw_line_to_delegate ??= GetSymbol ("hb_draw_line_to")).Invoke (dfuncs, draw_data, st, to_x, to_y);
#endif
- // extern hb_bool_t hb_face_is_immutable(const hb_face_t* face)
+ // extern void hb_draw_move_to(hb_draw_funcs_t * dfuncs, void * draw_data, hb_draw_state_t * st, float to_x, float to_y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- [return: MarshalAs (UnmanagedType.I1)]
- internal static partial bool hb_face_is_immutable (hb_face_t face);
+ internal static partial void hb_draw_move_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single to_x, Single to_y);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- [return: MarshalAs (UnmanagedType.I1)]
- internal static extern bool hb_face_is_immutable (hb_face_t face);
+ internal static extern void hb_draw_move_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single to_x, Single to_y);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- [return: MarshalAs (UnmanagedType.I1)]
- internal delegate bool hb_face_is_immutable (hb_face_t face);
+ internal delegate void hb_draw_move_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single to_x, Single to_y);
}
- private static Delegates.hb_face_is_immutable hb_face_is_immutable_delegate;
- internal static bool hb_face_is_immutable (hb_face_t face) =>
- (hb_face_is_immutable_delegate ??= GetSymbol ("hb_face_is_immutable")).Invoke (face);
+ private static Delegates.hb_draw_move_to hb_draw_move_to_delegate;
+ internal static void hb_draw_move_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single to_x, Single to_y) =>
+ (hb_draw_move_to_delegate ??= GetSymbol ("hb_draw_move_to")).Invoke (dfuncs, draw_data, st, to_x, to_y);
#endif
- // extern void hb_face_make_immutable(hb_face_t* face)
+ // extern void hb_draw_quadratic_to(hb_draw_funcs_t * dfuncs, void * draw_data, hb_draw_state_t * st, float control_x, float control_y, float to_x, float to_y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial void hb_face_make_immutable (hb_face_t face);
+ internal static partial void hb_draw_quadratic_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single control_x, Single control_y, Single to_x, Single to_y);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void hb_face_make_immutable (hb_face_t face);
+ internal static extern void hb_draw_quadratic_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single control_x, Single control_y, Single to_x, Single to_y);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate void hb_face_make_immutable (hb_face_t face);
+ internal delegate void hb_draw_quadratic_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single control_x, Single control_y, Single to_x, Single to_y);
}
- private static Delegates.hb_face_make_immutable hb_face_make_immutable_delegate;
- internal static void hb_face_make_immutable (hb_face_t face) =>
- (hb_face_make_immutable_delegate ??= GetSymbol ("hb_face_make_immutable")).Invoke (face);
+ private static Delegates.hb_draw_quadratic_to hb_draw_quadratic_to_delegate;
+ internal static void hb_draw_quadratic_to (hb_draw_funcs_t dfuncs, void* draw_data, DrawState* st, Single control_x, Single control_y, Single to_x, Single to_y) =>
+ (hb_draw_quadratic_to_delegate ??= GetSymbol ("hb_draw_quadratic_to")).Invoke (dfuncs, draw_data, st, control_x, control_y, to_x, to_y);
#endif
- // extern hb_face_t* hb_face_reference(hb_face_t* face)
+ #endregion
+
+ #region hb-face.h
+
+ // extern hb_bool_t hb_face_builder_add_table(hb_face_t * face, hb_tag_t tag, hb_blob_t * blob)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial hb_face_t hb_face_reference (hb_face_t face);
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static partial bool hb_face_builder_add_table (hb_face_t face, UInt32 tag, hb_blob_t blob);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern hb_face_t hb_face_reference (hb_face_t face);
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static extern bool hb_face_builder_add_table (hb_face_t face, UInt32 tag, hb_blob_t blob);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate hb_face_t hb_face_reference (hb_face_t face);
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal delegate bool hb_face_builder_add_table (hb_face_t face, UInt32 tag, hb_blob_t blob);
}
- private static Delegates.hb_face_reference hb_face_reference_delegate;
- internal static hb_face_t hb_face_reference (hb_face_t face) =>
- (hb_face_reference_delegate ??= GetSymbol ("hb_face_reference")).Invoke (face);
+ private static Delegates.hb_face_builder_add_table hb_face_builder_add_table_delegate;
+ internal static bool hb_face_builder_add_table (hb_face_t face, UInt32 tag, hb_blob_t blob) =>
+ (hb_face_builder_add_table_delegate ??= GetSymbol ("hb_face_builder_add_table")).Invoke (face, tag, blob);
#endif
- // extern hb_blob_t* hb_face_reference_blob(hb_face_t* face)
+ // extern hb_face_t * hb_face_builder_create()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial hb_blob_t hb_face_reference_blob (hb_face_t face);
+ internal static partial hb_face_t hb_face_builder_create ();
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern hb_blob_t hb_face_reference_blob (hb_face_t face);
+ internal static extern hb_face_t hb_face_builder_create ();
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate hb_blob_t hb_face_reference_blob (hb_face_t face);
+ internal delegate hb_face_t hb_face_builder_create ();
}
- private static Delegates.hb_face_reference_blob hb_face_reference_blob_delegate;
- internal static hb_blob_t hb_face_reference_blob (hb_face_t face) =>
- (hb_face_reference_blob_delegate ??= GetSymbol ("hb_face_reference_blob")).Invoke (face);
+ private static Delegates.hb_face_builder_create hb_face_builder_create_delegate;
+ internal static hb_face_t hb_face_builder_create () =>
+ (hb_face_builder_create_delegate ??= GetSymbol ("hb_face_builder_create")).Invoke ();
#endif
- // extern hb_blob_t* hb_face_reference_table(const hb_face_t* face, hb_tag_t tag)
+ // extern void hb_face_builder_sort_tables(hb_face_t * face, hb_tag_t const * tags)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial hb_blob_t hb_face_reference_table (hb_face_t face, UInt32 tag);
+ internal static partial void hb_face_builder_sort_tables (hb_face_t face, UInt32* tags);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern hb_blob_t hb_face_reference_table (hb_face_t face, UInt32 tag);
+ internal static extern void hb_face_builder_sort_tables (hb_face_t face, UInt32* tags);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate hb_blob_t hb_face_reference_table (hb_face_t face, UInt32 tag);
+ internal delegate void hb_face_builder_sort_tables (hb_face_t face, UInt32* tags);
}
- private static Delegates.hb_face_reference_table hb_face_reference_table_delegate;
- internal static hb_blob_t hb_face_reference_table (hb_face_t face, UInt32 tag) =>
- (hb_face_reference_table_delegate ??= GetSymbol ("hb_face_reference_table")).Invoke (face, tag);
+ private static Delegates.hb_face_builder_sort_tables hb_face_builder_sort_tables_delegate;
+ internal static void hb_face_builder_sort_tables (hb_face_t face, UInt32* tags) =>
+ (hb_face_builder_sort_tables_delegate ??= GetSymbol ("hb_face_builder_sort_tables")).Invoke (face, tags);
#endif
- // extern void hb_face_set_glyph_count(hb_face_t* face, unsigned int glyph_count)
+ // extern void hb_face_collect_nominal_glyph_mapping(hb_face_t * face, hb_map_t * mapping, hb_set_t * unicodes)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial void hb_face_set_glyph_count (hb_face_t face, UInt32 glyph_count);
+ internal static partial void hb_face_collect_nominal_glyph_mapping (hb_face_t face, hb_map_t mapping, hb_set_t unicodes);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void hb_face_set_glyph_count (hb_face_t face, UInt32 glyph_count);
+ internal static extern void hb_face_collect_nominal_glyph_mapping (hb_face_t face, hb_map_t mapping, hb_set_t unicodes);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate void hb_face_set_glyph_count (hb_face_t face, UInt32 glyph_count);
+ internal delegate void hb_face_collect_nominal_glyph_mapping (hb_face_t face, hb_map_t mapping, hb_set_t unicodes);
}
- private static Delegates.hb_face_set_glyph_count hb_face_set_glyph_count_delegate;
- internal static void hb_face_set_glyph_count (hb_face_t face, UInt32 glyph_count) =>
- (hb_face_set_glyph_count_delegate ??= GetSymbol ("hb_face_set_glyph_count")).Invoke (face, glyph_count);
+ private static Delegates.hb_face_collect_nominal_glyph_mapping hb_face_collect_nominal_glyph_mapping_delegate;
+ internal static void hb_face_collect_nominal_glyph_mapping (hb_face_t face, hb_map_t mapping, hb_set_t unicodes) =>
+ (hb_face_collect_nominal_glyph_mapping_delegate ??= GetSymbol ("hb_face_collect_nominal_glyph_mapping")).Invoke (face, mapping, unicodes);
#endif
- // extern void hb_face_set_index(hb_face_t* face, unsigned int index)
+ // extern void hb_face_collect_unicodes(hb_face_t * face, hb_set_t * out)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial void hb_face_set_index (hb_face_t face, UInt32 index);
+ internal static partial void hb_face_collect_unicodes (hb_face_t face, hb_set_t @out);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void hb_face_set_index (hb_face_t face, UInt32 index);
+ internal static extern void hb_face_collect_unicodes (hb_face_t face, hb_set_t @out);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate void hb_face_set_index (hb_face_t face, UInt32 index);
+ internal delegate void hb_face_collect_unicodes (hb_face_t face, hb_set_t @out);
}
- private static Delegates.hb_face_set_index hb_face_set_index_delegate;
- internal static void hb_face_set_index (hb_face_t face, UInt32 index) =>
- (hb_face_set_index_delegate ??= GetSymbol ("hb_face_set_index")).Invoke (face, index);
+ private static Delegates.hb_face_collect_unicodes hb_face_collect_unicodes_delegate;
+ internal static void hb_face_collect_unicodes (hb_face_t face, hb_set_t @out) =>
+ (hb_face_collect_unicodes_delegate ??= GetSymbol ("hb_face_collect_unicodes")).Invoke (face, @out);
#endif
- // extern void hb_face_set_upem(hb_face_t* face, unsigned int upem)
+ // extern void hb_face_collect_variation_selectors(hb_face_t * face, hb_set_t * out)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial void hb_face_set_upem (hb_face_t face, UInt32 upem);
+ internal static partial void hb_face_collect_variation_selectors (hb_face_t face, hb_set_t @out);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void hb_face_set_upem (hb_face_t face, UInt32 upem);
+ internal static extern void hb_face_collect_variation_selectors (hb_face_t face, hb_set_t @out);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate void hb_face_set_upem (hb_face_t face, UInt32 upem);
+ internal delegate void hb_face_collect_variation_selectors (hb_face_t face, hb_set_t @out);
}
- private static Delegates.hb_face_set_upem hb_face_set_upem_delegate;
- internal static void hb_face_set_upem (hb_face_t face, UInt32 upem) =>
- (hb_face_set_upem_delegate ??= GetSymbol ("hb_face_set_upem")).Invoke (face, upem);
+ private static Delegates.hb_face_collect_variation_selectors hb_face_collect_variation_selectors_delegate;
+ internal static void hb_face_collect_variation_selectors (hb_face_t face, hb_set_t @out) =>
+ (hb_face_collect_variation_selectors_delegate ??= GetSymbol ("hb_face_collect_variation_selectors")).Invoke (face, @out);
#endif
- #endregion
-
- #region hb-font.h
-
- // extern void hb_font_add_glyph_origin_for_direction(hb_font_t* font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t* x, hb_position_t* y)
+ // extern void hb_face_collect_variation_unicodes(hb_face_t * face, hb_codepoint_t variation_selector, hb_set_t * out)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial void hb_font_add_glyph_origin_for_direction (hb_font_t font, UInt32 glyph, Direction direction, Int32* x, Int32* y);
+ internal static partial void hb_face_collect_variation_unicodes (hb_face_t face, UInt32 variation_selector, hb_set_t @out);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void hb_font_add_glyph_origin_for_direction (hb_font_t font, UInt32 glyph, Direction direction, Int32* x, Int32* y);
+ internal static extern void hb_face_collect_variation_unicodes (hb_face_t face, UInt32 variation_selector, hb_set_t @out);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate void hb_font_add_glyph_origin_for_direction (hb_font_t font, UInt32 glyph, Direction direction, Int32* x, Int32* y);
+ internal delegate void hb_face_collect_variation_unicodes (hb_face_t face, UInt32 variation_selector, hb_set_t @out);
}
- private static Delegates.hb_font_add_glyph_origin_for_direction hb_font_add_glyph_origin_for_direction_delegate;
- internal static void hb_font_add_glyph_origin_for_direction (hb_font_t font, UInt32 glyph, Direction direction, Int32* x, Int32* y) =>
- (hb_font_add_glyph_origin_for_direction_delegate ??= GetSymbol ("hb_font_add_glyph_origin_for_direction")).Invoke (font, glyph, direction, x, y);
+ private static Delegates.hb_face_collect_variation_unicodes hb_face_collect_variation_unicodes_delegate;
+ internal static void hb_face_collect_variation_unicodes (hb_face_t face, UInt32 variation_selector, hb_set_t @out) =>
+ (hb_face_collect_variation_unicodes_delegate ??= GetSymbol ("hb_face_collect_variation_unicodes")).Invoke (face, variation_selector, @out);
#endif
- // extern hb_font_t* hb_font_create(hb_face_t* face)
+ // extern unsigned int hb_face_count(hb_blob_t * blob)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial hb_font_t hb_font_create (hb_face_t face);
+ internal static partial UInt32 hb_face_count (hb_blob_t blob);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern hb_font_t hb_font_create (hb_face_t face);
+ internal static extern UInt32 hb_face_count (hb_blob_t blob);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate hb_font_t hb_font_create (hb_face_t face);
+ internal delegate UInt32 hb_face_count (hb_blob_t blob);
}
- private static Delegates.hb_font_create hb_font_create_delegate;
- internal static hb_font_t hb_font_create (hb_face_t face) =>
- (hb_font_create_delegate ??= GetSymbol ("hb_font_create")).Invoke (face);
+ private static Delegates.hb_face_count hb_face_count_delegate;
+ internal static UInt32 hb_face_count (hb_blob_t blob) =>
+ (hb_face_count_delegate ??= GetSymbol ("hb_face_count")).Invoke (blob);
#endif
- // extern hb_font_t* hb_font_create_sub_font(hb_font_t* parent)
+ // extern hb_face_t * hb_face_create(hb_blob_t * blob, unsigned int index)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial hb_font_t hb_font_create_sub_font (hb_font_t parent);
+ internal static partial hb_face_t hb_face_create (hb_blob_t blob, UInt32 index);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern hb_font_t hb_font_create_sub_font (hb_font_t parent);
+ internal static extern hb_face_t hb_face_create (hb_blob_t blob, UInt32 index);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate hb_face_t hb_face_create (hb_blob_t blob, UInt32 index);
+ }
+ private static Delegates.hb_face_create hb_face_create_delegate;
+ internal static hb_face_t hb_face_create (hb_blob_t blob, UInt32 index) =>
+ (hb_face_create_delegate ??= GetSymbol ("hb_face_create")).Invoke (blob, index);
+ #endif
+
+ // extern hb_face_t * hb_face_create_for_tables(hb_reference_table_func_t reference_table_func, void * user_data, hb_destroy_func_t destroy)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial hb_face_t hb_face_create_for_tables (void* reference_table_func, void* user_data, void* destroy);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern hb_face_t hb_face_create_for_tables (ReferenceTableProxyDelegate reference_table_func, void* user_data, DestroyProxyDelegate destroy);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate hb_face_t hb_face_create_for_tables (ReferenceTableProxyDelegate reference_table_func, void* user_data, DestroyProxyDelegate destroy);
+ }
+ private static Delegates.hb_face_create_for_tables hb_face_create_for_tables_delegate;
+ internal static hb_face_t hb_face_create_for_tables (ReferenceTableProxyDelegate reference_table_func, void* user_data, DestroyProxyDelegate destroy) =>
+ (hb_face_create_for_tables_delegate ??= GetSymbol ("hb_face_create_for_tables")).Invoke (reference_table_func, user_data, destroy);
+ #endif
+
+ // extern void hb_face_destroy(hb_face_t * face)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_face_destroy (hb_face_t face);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_face_destroy (hb_face_t face);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_face_destroy (hb_face_t face);
+ }
+ private static Delegates.hb_face_destroy hb_face_destroy_delegate;
+ internal static void hb_face_destroy (hb_face_t face) =>
+ (hb_face_destroy_delegate ??= GetSymbol ("hb_face_destroy")).Invoke (face);
+ #endif
+
+ // extern hb_face_t * hb_face_get_empty()
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial hb_face_t hb_face_get_empty ();
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern hb_face_t hb_face_get_empty ();
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate hb_face_t hb_face_get_empty ();
+ }
+ private static Delegates.hb_face_get_empty hb_face_get_empty_delegate;
+ internal static hb_face_t hb_face_get_empty () =>
+ (hb_face_get_empty_delegate ??= GetSymbol ("hb_face_get_empty")).Invoke ();
+ #endif
+
+ // extern unsigned int hb_face_get_glyph_count(hb_face_t const * face)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial UInt32 hb_face_get_glyph_count (hb_face_t face);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern UInt32 hb_face_get_glyph_count (hb_face_t face);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate UInt32 hb_face_get_glyph_count (hb_face_t face);
+ }
+ private static Delegates.hb_face_get_glyph_count hb_face_get_glyph_count_delegate;
+ internal static UInt32 hb_face_get_glyph_count (hb_face_t face) =>
+ (hb_face_get_glyph_count_delegate ??= GetSymbol ("hb_face_get_glyph_count")).Invoke (face);
+ #endif
+
+ // extern unsigned int hb_face_get_index(hb_face_t const * face)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial UInt32 hb_face_get_index (hb_face_t face);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern UInt32 hb_face_get_index (hb_face_t face);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate UInt32 hb_face_get_index (hb_face_t face);
+ }
+ private static Delegates.hb_face_get_index hb_face_get_index_delegate;
+ internal static UInt32 hb_face_get_index (hb_face_t face) =>
+ (hb_face_get_index_delegate ??= GetSymbol ("hb_face_get_index")).Invoke (face);
+ #endif
+
+ // extern unsigned int hb_face_get_table_tags(hb_face_t const * face, unsigned int start_offset, unsigned int * table_count, hb_tag_t * table_tags)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial UInt32 hb_face_get_table_tags (hb_face_t face, UInt32 start_offset, UInt32* table_count, UInt32* table_tags);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern UInt32 hb_face_get_table_tags (hb_face_t face, UInt32 start_offset, UInt32* table_count, UInt32* table_tags);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate UInt32 hb_face_get_table_tags (hb_face_t face, UInt32 start_offset, UInt32* table_count, UInt32* table_tags);
+ }
+ private static Delegates.hb_face_get_table_tags hb_face_get_table_tags_delegate;
+ internal static UInt32 hb_face_get_table_tags (hb_face_t face, UInt32 start_offset, UInt32* table_count, UInt32* table_tags) =>
+ (hb_face_get_table_tags_delegate ??= GetSymbol ("hb_face_get_table_tags")).Invoke (face, start_offset, table_count, table_tags);
+ #endif
+
+ // extern unsigned int hb_face_get_upem(hb_face_t const * face)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial UInt32 hb_face_get_upem (hb_face_t face);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern UInt32 hb_face_get_upem (hb_face_t face);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate UInt32 hb_face_get_upem (hb_face_t face);
+ }
+ private static Delegates.hb_face_get_upem hb_face_get_upem_delegate;
+ internal static UInt32 hb_face_get_upem (hb_face_t face) =>
+ (hb_face_get_upem_delegate ??= GetSymbol ("hb_face_get_upem")).Invoke (face);
+ #endif
+
+ // extern hb_bool_t hb_face_is_immutable(hb_face_t const * face)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static partial bool hb_face_is_immutable (hb_face_t face);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static extern bool hb_face_is_immutable (hb_face_t face);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal delegate bool hb_face_is_immutable (hb_face_t face);
+ }
+ private static Delegates.hb_face_is_immutable hb_face_is_immutable_delegate;
+ internal static bool hb_face_is_immutable (hb_face_t face) =>
+ (hb_face_is_immutable_delegate ??= GetSymbol ("hb_face_is_immutable")).Invoke (face);
+ #endif
+
+ // extern void hb_face_make_immutable(hb_face_t * face)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_face_make_immutable (hb_face_t face);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_face_make_immutable (hb_face_t face);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_face_make_immutable (hb_face_t face);
+ }
+ private static Delegates.hb_face_make_immutable hb_face_make_immutable_delegate;
+ internal static void hb_face_make_immutable (hb_face_t face) =>
+ (hb_face_make_immutable_delegate ??= GetSymbol ("hb_face_make_immutable")).Invoke (face);
+ #endif
+
+ // extern hb_face_t * hb_face_reference(hb_face_t * face)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial hb_face_t hb_face_reference (hb_face_t face);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern hb_face_t hb_face_reference (hb_face_t face);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate hb_face_t hb_face_reference (hb_face_t face);
+ }
+ private static Delegates.hb_face_reference hb_face_reference_delegate;
+ internal static hb_face_t hb_face_reference (hb_face_t face) =>
+ (hb_face_reference_delegate ??= GetSymbol ("hb_face_reference")).Invoke (face);
+ #endif
+
+ // extern hb_blob_t * hb_face_reference_blob(hb_face_t * face)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial hb_blob_t hb_face_reference_blob (hb_face_t face);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern hb_blob_t hb_face_reference_blob (hb_face_t face);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate hb_blob_t hb_face_reference_blob (hb_face_t face);
+ }
+ private static Delegates.hb_face_reference_blob hb_face_reference_blob_delegate;
+ internal static hb_blob_t hb_face_reference_blob (hb_face_t face) =>
+ (hb_face_reference_blob_delegate ??= GetSymbol ("hb_face_reference_blob")).Invoke (face);
+ #endif
+
+ // extern hb_blob_t * hb_face_reference_table(hb_face_t const * face, hb_tag_t tag)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial hb_blob_t hb_face_reference_table (hb_face_t face, UInt32 tag);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern hb_blob_t hb_face_reference_table (hb_face_t face, UInt32 tag);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate hb_blob_t hb_face_reference_table (hb_face_t face, UInt32 tag);
+ }
+ private static Delegates.hb_face_reference_table hb_face_reference_table_delegate;
+ internal static hb_blob_t hb_face_reference_table (hb_face_t face, UInt32 tag) =>
+ (hb_face_reference_table_delegate ??= GetSymbol ("hb_face_reference_table")).Invoke (face, tag);
+ #endif
+
+ // extern void hb_face_set_glyph_count(hb_face_t * face, unsigned int glyph_count)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_face_set_glyph_count (hb_face_t face, UInt32 glyph_count);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_face_set_glyph_count (hb_face_t face, UInt32 glyph_count);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_face_set_glyph_count (hb_face_t face, UInt32 glyph_count);
+ }
+ private static Delegates.hb_face_set_glyph_count hb_face_set_glyph_count_delegate;
+ internal static void hb_face_set_glyph_count (hb_face_t face, UInt32 glyph_count) =>
+ (hb_face_set_glyph_count_delegate ??= GetSymbol ("hb_face_set_glyph_count")).Invoke (face, glyph_count);
+ #endif
+
+ // extern void hb_face_set_index(hb_face_t * face, unsigned int index)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_face_set_index (hb_face_t face, UInt32 index);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_face_set_index (hb_face_t face, UInt32 index);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_face_set_index (hb_face_t face, UInt32 index);
+ }
+ private static Delegates.hb_face_set_index hb_face_set_index_delegate;
+ internal static void hb_face_set_index (hb_face_t face, UInt32 index) =>
+ (hb_face_set_index_delegate ??= GetSymbol ("hb_face_set_index")).Invoke (face, index);
+ #endif
+
+ // extern void hb_face_set_upem(hb_face_t * face, unsigned int upem)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_face_set_upem (hb_face_t face, UInt32 upem);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_face_set_upem (hb_face_t face, UInt32 upem);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_face_set_upem (hb_face_t face, UInt32 upem);
+ }
+ private static Delegates.hb_face_set_upem hb_face_set_upem_delegate;
+ internal static void hb_face_set_upem (hb_face_t face, UInt32 upem) =>
+ (hb_face_set_upem_delegate ??= GetSymbol ("hb_face_set_upem")).Invoke (face, upem);
+ #endif
+
+ #endregion
+
+ #region hb-font.h
+
+ // extern void hb_font_add_glyph_origin_for_direction(hb_font_t * font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t * x, hb_position_t * y)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_font_add_glyph_origin_for_direction (hb_font_t font, UInt32 glyph, Direction direction, Int32* x, Int32* y);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_font_add_glyph_origin_for_direction (hb_font_t font, UInt32 glyph, Direction direction, Int32* x, Int32* y);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_font_add_glyph_origin_for_direction (hb_font_t font, UInt32 glyph, Direction direction, Int32* x, Int32* y);
+ }
+ private static Delegates.hb_font_add_glyph_origin_for_direction hb_font_add_glyph_origin_for_direction_delegate;
+ internal static void hb_font_add_glyph_origin_for_direction (hb_font_t font, UInt32 glyph, Direction direction, Int32* x, Int32* y) =>
+ (hb_font_add_glyph_origin_for_direction_delegate ??= GetSymbol ("hb_font_add_glyph_origin_for_direction")).Invoke (font, glyph, direction, x, y);
+ #endif
+
+ // extern void hb_font_changed(hb_font_t * font)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_font_changed (hb_font_t font);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_font_changed (hb_font_t font);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_font_changed (hb_font_t font);
+ }
+ private static Delegates.hb_font_changed hb_font_changed_delegate;
+ internal static void hb_font_changed (hb_font_t font) =>
+ (hb_font_changed_delegate ??= GetSymbol ("hb_font_changed")).Invoke (font);
+ #endif
+
+ // extern hb_font_t * hb_font_create(hb_face_t * face)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial hb_font_t hb_font_create (hb_face_t face);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern hb_font_t hb_font_create (hb_face_t face);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate hb_font_t hb_font_create (hb_face_t face);
+ }
+ private static Delegates.hb_font_create hb_font_create_delegate;
+ internal static hb_font_t hb_font_create (hb_face_t face) =>
+ (hb_font_create_delegate ??= GetSymbol ("hb_font_create")).Invoke (face);
+ #endif
+
+ // extern hb_font_t * hb_font_create_sub_font(hb_font_t * parent)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial hb_font_t hb_font_create_sub_font (hb_font_t parent);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern hb_font_t hb_font_create_sub_font (hb_font_t parent);
#endif
#else
private partial class Delegates {
@@ -2207,7 +2656,7 @@ internal static hb_font_t hb_font_create_sub_font (hb_font_t parent) =>
(hb_font_create_sub_font_delegate ??= GetSymbol ("hb_font_create_sub_font")).Invoke (parent);
#endif
- // extern void hb_font_destroy(hb_font_t* font)
+ // extern void hb_font_destroy(hb_font_t * font)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2226,7 +2675,26 @@ internal static void hb_font_destroy (hb_font_t font) =>
(hb_font_destroy_delegate ??= GetSymbol ("hb_font_destroy")).Invoke (font);
#endif
- // extern hb_font_funcs_t* hb_font_funcs_create()
+ // extern void hb_font_draw_glyph(hb_font_t * font, hb_codepoint_t glyph, hb_draw_funcs_t * dfuncs, void * draw_data)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_font_draw_glyph (hb_font_t font, UInt32 glyph, hb_draw_funcs_t dfuncs, void* draw_data);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_font_draw_glyph (hb_font_t font, UInt32 glyph, hb_draw_funcs_t dfuncs, void* draw_data);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_font_draw_glyph (hb_font_t font, UInt32 glyph, hb_draw_funcs_t dfuncs, void* draw_data);
+ }
+ private static Delegates.hb_font_draw_glyph hb_font_draw_glyph_delegate;
+ internal static void hb_font_draw_glyph (hb_font_t font, UInt32 glyph, hb_draw_funcs_t dfuncs, void* draw_data) =>
+ (hb_font_draw_glyph_delegate ??= GetSymbol ("hb_font_draw_glyph")).Invoke (font, glyph, dfuncs, draw_data);
+ #endif
+
+ // extern hb_font_funcs_t * hb_font_funcs_create()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2245,7 +2713,7 @@ internal static hb_font_funcs_t hb_font_funcs_create () =>
(hb_font_funcs_create_delegate ??= GetSymbol ("hb_font_funcs_create")).Invoke ();
#endif
- // extern void hb_font_funcs_destroy(hb_font_funcs_t* ffuncs)
+ // extern void hb_font_funcs_destroy(hb_font_funcs_t * ffuncs)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2264,7 +2732,7 @@ internal static void hb_font_funcs_destroy (hb_font_funcs_t ffuncs) =>
(hb_font_funcs_destroy_delegate ??= GetSymbol ("hb_font_funcs_destroy")).Invoke (ffuncs);
#endif
- // extern hb_font_funcs_t* hb_font_funcs_get_empty()
+ // extern hb_font_funcs_t * hb_font_funcs_get_empty()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2283,7 +2751,7 @@ internal static hb_font_funcs_t hb_font_funcs_get_empty () =>
(hb_font_funcs_get_empty_delegate ??= GetSymbol ("hb_font_funcs_get_empty")).Invoke ();
#endif
- // extern hb_bool_t hb_font_funcs_is_immutable(hb_font_funcs_t* ffuncs)
+ // extern hb_bool_t hb_font_funcs_is_immutable(hb_font_funcs_t * ffuncs)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2305,7 +2773,7 @@ internal static bool hb_font_funcs_is_immutable (hb_font_funcs_t ffuncs) =>
(hb_font_funcs_is_immutable_delegate ??= GetSymbol ("hb_font_funcs_is_immutable")).Invoke (ffuncs);
#endif
- // extern void hb_font_funcs_make_immutable(hb_font_funcs_t* ffuncs)
+ // extern void hb_font_funcs_make_immutable(hb_font_funcs_t * ffuncs)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2324,7 +2792,7 @@ internal static void hb_font_funcs_make_immutable (hb_font_funcs_t ffuncs) =>
(hb_font_funcs_make_immutable_delegate ??= GetSymbol ("hb_font_funcs_make_immutable")).Invoke (ffuncs);
#endif
- // extern hb_font_funcs_t* hb_font_funcs_reference(hb_font_funcs_t* ffuncs)
+ // extern hb_font_funcs_t * hb_font_funcs_reference(hb_font_funcs_t * ffuncs)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2343,7 +2811,26 @@ internal static hb_font_funcs_t hb_font_funcs_reference (hb_font_funcs_t ffuncs)
(hb_font_funcs_reference_delegate ??= GetSymbol ("hb_font_funcs_reference")).Invoke (ffuncs);
#endif
- // extern void hb_font_funcs_set_font_h_extents_func(hb_font_funcs_t* ffuncs, hb_font_get_font_h_extents_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_draw_glyph_func(hb_font_funcs_t * ffuncs, hb_font_draw_glyph_func_t func, void * user_data, hb_destroy_func_t destroy)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_font_funcs_set_draw_glyph_func (hb_font_funcs_t ffuncs, void* func, void* user_data, void* destroy);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_font_funcs_set_draw_glyph_func (hb_font_funcs_t ffuncs, FontDrawGlyphProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_font_funcs_set_draw_glyph_func (hb_font_funcs_t ffuncs, FontDrawGlyphProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
+ }
+ private static Delegates.hb_font_funcs_set_draw_glyph_func hb_font_funcs_set_draw_glyph_func_delegate;
+ internal static void hb_font_funcs_set_draw_glyph_func (hb_font_funcs_t ffuncs, FontDrawGlyphProxyDelegate func, void* user_data, DestroyProxyDelegate destroy) =>
+ (hb_font_funcs_set_draw_glyph_func_delegate ??= GetSymbol ("hb_font_funcs_set_draw_glyph_func")).Invoke (ffuncs, func, user_data, destroy);
+ #endif
+
+ // extern void hb_font_funcs_set_font_h_extents_func(hb_font_funcs_t * ffuncs, hb_font_get_font_h_extents_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2362,7 +2849,7 @@ internal static void hb_font_funcs_set_font_h_extents_func (hb_font_funcs_t ffun
(hb_font_funcs_set_font_h_extents_func_delegate ??= GetSymbol ("hb_font_funcs_set_font_h_extents_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_font_v_extents_func(hb_font_funcs_t* ffuncs, hb_font_get_font_v_extents_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_font_v_extents_func(hb_font_funcs_t * ffuncs, hb_font_get_font_v_extents_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2381,7 +2868,7 @@ internal static void hb_font_funcs_set_font_v_extents_func (hb_font_funcs_t ffun
(hb_font_funcs_set_font_v_extents_func_delegate ??= GetSymbol ("hb_font_funcs_set_font_v_extents_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_glyph_contour_point_func(hb_font_funcs_t* ffuncs, hb_font_get_glyph_contour_point_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_glyph_contour_point_func(hb_font_funcs_t * ffuncs, hb_font_get_glyph_contour_point_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2400,7 +2887,7 @@ internal static void hb_font_funcs_set_glyph_contour_point_func (hb_font_funcs_t
(hb_font_funcs_set_glyph_contour_point_func_delegate ??= GetSymbol ("hb_font_funcs_set_glyph_contour_point_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_glyph_extents_func(hb_font_funcs_t* ffuncs, hb_font_get_glyph_extents_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_glyph_extents_func(hb_font_funcs_t * ffuncs, hb_font_get_glyph_extents_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2419,7 +2906,7 @@ internal static void hb_font_funcs_set_glyph_extents_func (hb_font_funcs_t ffunc
(hb_font_funcs_set_glyph_extents_func_delegate ??= GetSymbol ("hb_font_funcs_set_glyph_extents_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_glyph_from_name_func(hb_font_funcs_t* ffuncs, hb_font_get_glyph_from_name_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_glyph_from_name_func(hb_font_funcs_t * ffuncs, hb_font_get_glyph_from_name_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2438,7 +2925,7 @@ internal static void hb_font_funcs_set_glyph_from_name_func (hb_font_funcs_t ffu
(hb_font_funcs_set_glyph_from_name_func_delegate ??= GetSymbol ("hb_font_funcs_set_glyph_from_name_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_glyph_h_advance_func(hb_font_funcs_t* ffuncs, hb_font_get_glyph_h_advance_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_glyph_h_advance_func(hb_font_funcs_t * ffuncs, hb_font_get_glyph_h_advance_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2457,7 +2944,7 @@ internal static void hb_font_funcs_set_glyph_h_advance_func (hb_font_funcs_t ffu
(hb_font_funcs_set_glyph_h_advance_func_delegate ??= GetSymbol ("hb_font_funcs_set_glyph_h_advance_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_glyph_h_advances_func(hb_font_funcs_t* ffuncs, hb_font_get_glyph_h_advances_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_glyph_h_advances_func(hb_font_funcs_t * ffuncs, hb_font_get_glyph_h_advances_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2476,7 +2963,7 @@ internal static void hb_font_funcs_set_glyph_h_advances_func (hb_font_funcs_t ff
(hb_font_funcs_set_glyph_h_advances_func_delegate ??= GetSymbol ("hb_font_funcs_set_glyph_h_advances_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_glyph_h_kerning_func(hb_font_funcs_t* ffuncs, hb_font_get_glyph_h_kerning_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_glyph_h_kerning_func(hb_font_funcs_t * ffuncs, hb_font_get_glyph_h_kerning_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2495,7 +2982,7 @@ internal static void hb_font_funcs_set_glyph_h_kerning_func (hb_font_funcs_t ffu
(hb_font_funcs_set_glyph_h_kerning_func_delegate ??= GetSymbol ("hb_font_funcs_set_glyph_h_kerning_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_glyph_h_origin_func(hb_font_funcs_t* ffuncs, hb_font_get_glyph_h_origin_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_glyph_h_origin_func(hb_font_funcs_t * ffuncs, hb_font_get_glyph_h_origin_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2514,7 +3001,7 @@ internal static void hb_font_funcs_set_glyph_h_origin_func (hb_font_funcs_t ffun
(hb_font_funcs_set_glyph_h_origin_func_delegate ??= GetSymbol ("hb_font_funcs_set_glyph_h_origin_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_glyph_name_func(hb_font_funcs_t* ffuncs, hb_font_get_glyph_name_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_glyph_name_func(hb_font_funcs_t * ffuncs, hb_font_get_glyph_name_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2533,7 +3020,7 @@ internal static void hb_font_funcs_set_glyph_name_func (hb_font_funcs_t ffuncs,
(hb_font_funcs_set_glyph_name_func_delegate ??= GetSymbol ("hb_font_funcs_set_glyph_name_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_glyph_v_advance_func(hb_font_funcs_t* ffuncs, hb_font_get_glyph_v_advance_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_glyph_v_advance_func(hb_font_funcs_t * ffuncs, hb_font_get_glyph_v_advance_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2552,7 +3039,7 @@ internal static void hb_font_funcs_set_glyph_v_advance_func (hb_font_funcs_t ffu
(hb_font_funcs_set_glyph_v_advance_func_delegate ??= GetSymbol ("hb_font_funcs_set_glyph_v_advance_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_glyph_v_advances_func(hb_font_funcs_t* ffuncs, hb_font_get_glyph_v_advances_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_glyph_v_advances_func(hb_font_funcs_t * ffuncs, hb_font_get_glyph_v_advances_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2571,7 +3058,7 @@ internal static void hb_font_funcs_set_glyph_v_advances_func (hb_font_funcs_t ff
(hb_font_funcs_set_glyph_v_advances_func_delegate ??= GetSymbol ("hb_font_funcs_set_glyph_v_advances_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_glyph_v_origin_func(hb_font_funcs_t* ffuncs, hb_font_get_glyph_v_origin_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_glyph_v_origin_func(hb_font_funcs_t * ffuncs, hb_font_get_glyph_v_origin_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2590,7 +3077,7 @@ internal static void hb_font_funcs_set_glyph_v_origin_func (hb_font_funcs_t ffun
(hb_font_funcs_set_glyph_v_origin_func_delegate ??= GetSymbol ("hb_font_funcs_set_glyph_v_origin_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_nominal_glyph_func(hb_font_funcs_t* ffuncs, hb_font_get_nominal_glyph_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_nominal_glyph_func(hb_font_funcs_t * ffuncs, hb_font_get_nominal_glyph_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2609,7 +3096,7 @@ internal static void hb_font_funcs_set_nominal_glyph_func (hb_font_funcs_t ffunc
(hb_font_funcs_set_nominal_glyph_func_delegate ??= GetSymbol ("hb_font_funcs_set_nominal_glyph_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_nominal_glyphs_func(hb_font_funcs_t* ffuncs, hb_font_get_nominal_glyphs_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_nominal_glyphs_func(hb_font_funcs_t * ffuncs, hb_font_get_nominal_glyphs_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2628,7 +3115,26 @@ internal static void hb_font_funcs_set_nominal_glyphs_func (hb_font_funcs_t ffun
(hb_font_funcs_set_nominal_glyphs_func_delegate ??= GetSymbol ("hb_font_funcs_set_nominal_glyphs_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern void hb_font_funcs_set_variation_glyph_func(hb_font_funcs_t* ffuncs, hb_font_get_variation_glyph_func_t func, void* user_data, hb_destroy_func_t destroy)
+ // extern void hb_font_funcs_set_paint_glyph_func(hb_font_funcs_t * ffuncs, hb_font_paint_glyph_func_t func, void * user_data, hb_destroy_func_t destroy)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_font_funcs_set_paint_glyph_func (hb_font_funcs_t ffuncs, void* func, void* user_data, void* destroy);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_font_funcs_set_paint_glyph_func (hb_font_funcs_t ffuncs, FontPaintGlyphProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_font_funcs_set_paint_glyph_func (hb_font_funcs_t ffuncs, FontPaintGlyphProxyDelegate func, void* user_data, DestroyProxyDelegate destroy);
+ }
+ private static Delegates.hb_font_funcs_set_paint_glyph_func hb_font_funcs_set_paint_glyph_func_delegate;
+ internal static void hb_font_funcs_set_paint_glyph_func (hb_font_funcs_t ffuncs, FontPaintGlyphProxyDelegate func, void* user_data, DestroyProxyDelegate destroy) =>
+ (hb_font_funcs_set_paint_glyph_func_delegate ??= GetSymbol ("hb_font_funcs_set_paint_glyph_func")).Invoke (ffuncs, func, user_data, destroy);
+ #endif
+
+ // extern void hb_font_funcs_set_variation_glyph_func(hb_font_funcs_t * ffuncs, hb_font_get_variation_glyph_func_t func, void * user_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2647,7 +3153,7 @@ internal static void hb_font_funcs_set_variation_glyph_func (hb_font_funcs_t ffu
(hb_font_funcs_set_variation_glyph_func_delegate ??= GetSymbol ("hb_font_funcs_set_variation_glyph_func")).Invoke (ffuncs, func, user_data, destroy);
#endif
- // extern hb_font_t* hb_font_get_empty()
+ // extern hb_font_t * hb_font_get_empty()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2666,7 +3172,7 @@ internal static hb_font_t hb_font_get_empty () =>
(hb_font_get_empty_delegate ??= GetSymbol ("hb_font_get_empty")).Invoke ();
#endif
- // extern void hb_font_get_extents_for_direction(hb_font_t* font, hb_direction_t direction, hb_font_extents_t* extents)
+ // extern void hb_font_get_extents_for_direction(hb_font_t * font, hb_direction_t direction, hb_font_extents_t * extents)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2685,7 +3191,7 @@ internal static void hb_font_get_extents_for_direction (hb_font_t font, Directio
(hb_font_get_extents_for_direction_delegate ??= GetSymbol ("hb_font_get_extents_for_direction")).Invoke (font, direction, extents);
#endif
- // extern hb_face_t* hb_font_get_face(hb_font_t* font)
+ // extern hb_face_t * hb_font_get_face(hb_font_t * font)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2704,7 +3210,7 @@ internal static hb_face_t hb_font_get_face (hb_font_t font) =>
(hb_font_get_face_delegate ??= GetSymbol ("hb_font_get_face")).Invoke (font);
#endif
- // extern hb_bool_t hb_font_get_glyph(hb_font_t* font, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t* glyph)
+ // extern hb_bool_t hb_font_get_glyph(hb_font_t * font, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t * glyph)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2726,7 +3232,7 @@ internal static bool hb_font_get_glyph (hb_font_t font, UInt32 unicode, UInt32 v
(hb_font_get_glyph_delegate ??= GetSymbol ("hb_font_get_glyph")).Invoke (font, unicode, variation_selector, glyph);
#endif
- // extern void hb_font_get_glyph_advance_for_direction(hb_font_t* font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t* x, hb_position_t* y)
+ // extern void hb_font_get_glyph_advance_for_direction(hb_font_t * font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t * x, hb_position_t * y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2745,7 +3251,7 @@ internal static void hb_font_get_glyph_advance_for_direction (hb_font_t font, UI
(hb_font_get_glyph_advance_for_direction_delegate ??= GetSymbol ("hb_font_get_glyph_advance_for_direction")).Invoke (font, glyph, direction, x, y);
#endif
- // extern void hb_font_get_glyph_advances_for_direction(hb_font_t* font, hb_direction_t direction, unsigned int count, const hb_codepoint_t* first_glyph, unsigned int glyph_stride, hb_position_t* first_advance, unsigned int advance_stride)
+ // extern void hb_font_get_glyph_advances_for_direction(hb_font_t * font, hb_direction_t direction, unsigned int count, hb_codepoint_t const * first_glyph, unsigned int glyph_stride, hb_position_t * first_advance, unsigned int advance_stride)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2764,7 +3270,7 @@ internal static void hb_font_get_glyph_advances_for_direction (hb_font_t font, D
(hb_font_get_glyph_advances_for_direction_delegate ??= GetSymbol ("hb_font_get_glyph_advances_for_direction")).Invoke (font, direction, count, first_glyph, glyph_stride, first_advance, advance_stride);
#endif
- // extern hb_bool_t hb_font_get_glyph_contour_point(hb_font_t* font, hb_codepoint_t glyph, unsigned int point_index, hb_position_t* x, hb_position_t* y)
+ // extern hb_bool_t hb_font_get_glyph_contour_point(hb_font_t * font, hb_codepoint_t glyph, unsigned int point_index, hb_position_t * x, hb_position_t * y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2786,7 +3292,7 @@ internal static bool hb_font_get_glyph_contour_point (hb_font_t font, UInt32 gly
(hb_font_get_glyph_contour_point_delegate ??= GetSymbol ("hb_font_get_glyph_contour_point")).Invoke (font, glyph, point_index, x, y);
#endif
- // extern hb_bool_t hb_font_get_glyph_contour_point_for_origin(hb_font_t* font, hb_codepoint_t glyph, unsigned int point_index, hb_direction_t direction, hb_position_t* x, hb_position_t* y)
+ // extern hb_bool_t hb_font_get_glyph_contour_point_for_origin(hb_font_t * font, hb_codepoint_t glyph, unsigned int point_index, hb_direction_t direction, hb_position_t * x, hb_position_t * y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2808,7 +3314,7 @@ internal static bool hb_font_get_glyph_contour_point_for_origin (hb_font_t font,
(hb_font_get_glyph_contour_point_for_origin_delegate ??= GetSymbol ("hb_font_get_glyph_contour_point_for_origin")).Invoke (font, glyph, point_index, direction, x, y);
#endif
- // extern hb_bool_t hb_font_get_glyph_extents(hb_font_t* font, hb_codepoint_t glyph, hb_glyph_extents_t* extents)
+ // extern hb_bool_t hb_font_get_glyph_extents(hb_font_t * font, hb_codepoint_t glyph, hb_glyph_extents_t * extents)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2830,7 +3336,7 @@ internal static bool hb_font_get_glyph_extents (hb_font_t font, UInt32 glyph, Gl
(hb_font_get_glyph_extents_delegate ??= GetSymbol ("hb_font_get_glyph_extents")).Invoke (font, glyph, extents);
#endif
- // extern hb_bool_t hb_font_get_glyph_extents_for_origin(hb_font_t* font, hb_codepoint_t glyph, hb_direction_t direction, hb_glyph_extents_t* extents)
+ // extern hb_bool_t hb_font_get_glyph_extents_for_origin(hb_font_t * font, hb_codepoint_t glyph, hb_direction_t direction, hb_glyph_extents_t * extents)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2852,7 +3358,7 @@ internal static bool hb_font_get_glyph_extents_for_origin (hb_font_t font, UInt3
(hb_font_get_glyph_extents_for_origin_delegate ??= GetSymbol ("hb_font_get_glyph_extents_for_origin")).Invoke (font, glyph, direction, extents);
#endif
- // extern hb_bool_t hb_font_get_glyph_from_name(hb_font_t* font, const char* name, int len, hb_codepoint_t* glyph)
+ // extern hb_bool_t hb_font_get_glyph_from_name(hb_font_t * font, char const * name, int len, hb_codepoint_t * glyph)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2874,7 +3380,7 @@ internal static bool hb_font_get_glyph_from_name (hb_font_t font, [MarshalAs (Un
(hb_font_get_glyph_from_name_delegate ??= GetSymbol ("hb_font_get_glyph_from_name")).Invoke (font, name, len, glyph);
#endif
- // extern hb_position_t hb_font_get_glyph_h_advance(hb_font_t* font, hb_codepoint_t glyph)
+ // extern hb_position_t hb_font_get_glyph_h_advance(hb_font_t * font, hb_codepoint_t glyph)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2893,7 +3399,7 @@ internal static Int32 hb_font_get_glyph_h_advance (hb_font_t font, UInt32 glyph)
(hb_font_get_glyph_h_advance_delegate ??= GetSymbol ("hb_font_get_glyph_h_advance")).Invoke (font, glyph);
#endif
- // extern void hb_font_get_glyph_h_advances(hb_font_t* font, unsigned int count, const hb_codepoint_t* first_glyph, unsigned int glyph_stride, hb_position_t* first_advance, unsigned int advance_stride)
+ // extern void hb_font_get_glyph_h_advances(hb_font_t * font, unsigned int count, hb_codepoint_t const * first_glyph, unsigned int glyph_stride, hb_position_t * first_advance, unsigned int advance_stride)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2912,7 +3418,7 @@ internal static void hb_font_get_glyph_h_advances (hb_font_t font, UInt32 count,
(hb_font_get_glyph_h_advances_delegate ??= GetSymbol ("hb_font_get_glyph_h_advances")).Invoke (font, count, first_glyph, glyph_stride, first_advance, advance_stride);
#endif
- // extern hb_position_t hb_font_get_glyph_h_kerning(hb_font_t* font, hb_codepoint_t left_glyph, hb_codepoint_t right_glyph)
+ // extern hb_position_t hb_font_get_glyph_h_kerning(hb_font_t * font, hb_codepoint_t left_glyph, hb_codepoint_t right_glyph)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2931,7 +3437,7 @@ internal static Int32 hb_font_get_glyph_h_kerning (hb_font_t font, UInt32 left_g
(hb_font_get_glyph_h_kerning_delegate ??= GetSymbol ("hb_font_get_glyph_h_kerning")).Invoke (font, left_glyph, right_glyph);
#endif
- // extern hb_bool_t hb_font_get_glyph_h_origin(hb_font_t* font, hb_codepoint_t glyph, hb_position_t* x, hb_position_t* y)
+ // extern hb_bool_t hb_font_get_glyph_h_origin(hb_font_t * font, hb_codepoint_t glyph, hb_position_t * x, hb_position_t * y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2953,7 +3459,7 @@ internal static bool hb_font_get_glyph_h_origin (hb_font_t font, UInt32 glyph, I
(hb_font_get_glyph_h_origin_delegate ??= GetSymbol ("hb_font_get_glyph_h_origin")).Invoke (font, glyph, x, y);
#endif
- // extern void hb_font_get_glyph_kerning_for_direction(hb_font_t* font, hb_codepoint_t first_glyph, hb_codepoint_t second_glyph, hb_direction_t direction, hb_position_t* x, hb_position_t* y)
+ // extern void hb_font_get_glyph_kerning_for_direction(hb_font_t * font, hb_codepoint_t first_glyph, hb_codepoint_t second_glyph, hb_direction_t direction, hb_position_t * x, hb_position_t * y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2972,7 +3478,7 @@ internal static void hb_font_get_glyph_kerning_for_direction (hb_font_t font, UI
(hb_font_get_glyph_kerning_for_direction_delegate ??= GetSymbol ("hb_font_get_glyph_kerning_for_direction")).Invoke (font, first_glyph, second_glyph, direction, x, y);
#endif
- // extern hb_bool_t hb_font_get_glyph_name(hb_font_t* font, hb_codepoint_t glyph, char* name, unsigned int size)
+ // extern hb_bool_t hb_font_get_glyph_name(hb_font_t * font, hb_codepoint_t glyph, char * name, unsigned int size)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -2994,7 +3500,7 @@ internal static bool hb_font_get_glyph_name (hb_font_t font, UInt32 glyph, /* ch
(hb_font_get_glyph_name_delegate ??= GetSymbol ("hb_font_get_glyph_name")).Invoke (font, glyph, name, size);
#endif
- // extern void hb_font_get_glyph_origin_for_direction(hb_font_t* font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t* x, hb_position_t* y)
+ // extern void hb_font_get_glyph_origin_for_direction(hb_font_t * font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t * x, hb_position_t * y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3013,7 +3519,7 @@ internal static void hb_font_get_glyph_origin_for_direction (hb_font_t font, UIn
(hb_font_get_glyph_origin_for_direction_delegate ??= GetSymbol ("hb_font_get_glyph_origin_for_direction")).Invoke (font, glyph, direction, x, y);
#endif
- // extern hb_position_t hb_font_get_glyph_v_advance(hb_font_t* font, hb_codepoint_t glyph)
+ // extern hb_position_t hb_font_get_glyph_v_advance(hb_font_t * font, hb_codepoint_t glyph)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3032,7 +3538,7 @@ internal static Int32 hb_font_get_glyph_v_advance (hb_font_t font, UInt32 glyph)
(hb_font_get_glyph_v_advance_delegate ??= GetSymbol ("hb_font_get_glyph_v_advance")).Invoke (font, glyph);
#endif
- // extern void hb_font_get_glyph_v_advances(hb_font_t* font, unsigned int count, const hb_codepoint_t* first_glyph, unsigned int glyph_stride, hb_position_t* first_advance, unsigned int advance_stride)
+ // extern void hb_font_get_glyph_v_advances(hb_font_t * font, unsigned int count, hb_codepoint_t const * first_glyph, unsigned int glyph_stride, hb_position_t * first_advance, unsigned int advance_stride)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3051,7 +3557,7 @@ internal static void hb_font_get_glyph_v_advances (hb_font_t font, UInt32 count,
(hb_font_get_glyph_v_advances_delegate ??= GetSymbol ("hb_font_get_glyph_v_advances")).Invoke (font, count, first_glyph, glyph_stride, first_advance, advance_stride);
#endif
- // extern hb_bool_t hb_font_get_glyph_v_origin(hb_font_t* font, hb_codepoint_t glyph, hb_position_t* x, hb_position_t* y)
+ // extern hb_bool_t hb_font_get_glyph_v_origin(hb_font_t * font, hb_codepoint_t glyph, hb_position_t * x, hb_position_t * y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3073,7 +3579,7 @@ internal static bool hb_font_get_glyph_v_origin (hb_font_t font, UInt32 glyph, I
(hb_font_get_glyph_v_origin_delegate ??= GetSymbol ("hb_font_get_glyph_v_origin")).Invoke (font, glyph, x, y);
#endif
- // extern hb_bool_t hb_font_get_h_extents(hb_font_t* font, hb_font_extents_t* extents)
+ // extern hb_bool_t hb_font_get_h_extents(hb_font_t * font, hb_font_extents_t * extents)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3095,7 +3601,7 @@ internal static bool hb_font_get_h_extents (hb_font_t font, FontExtents* extents
(hb_font_get_h_extents_delegate ??= GetSymbol ("hb_font_get_h_extents")).Invoke (font, extents);
#endif
- // extern hb_bool_t hb_font_get_nominal_glyph(hb_font_t* font, hb_codepoint_t unicode, hb_codepoint_t* glyph)
+ // extern hb_bool_t hb_font_get_nominal_glyph(hb_font_t * font, hb_codepoint_t unicode, hb_codepoint_t * glyph)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3117,7 +3623,7 @@ internal static bool hb_font_get_nominal_glyph (hb_font_t font, UInt32 unicode,
(hb_font_get_nominal_glyph_delegate ??= GetSymbol ("hb_font_get_nominal_glyph")).Invoke (font, unicode, glyph);
#endif
- // extern unsigned int hb_font_get_nominal_glyphs(hb_font_t* font, unsigned int count, const hb_codepoint_t* first_unicode, unsigned int unicode_stride, hb_codepoint_t* first_glyph, unsigned int glyph_stride)
+ // extern unsigned int hb_font_get_nominal_glyphs(hb_font_t * font, unsigned int count, hb_codepoint_t const * first_unicode, unsigned int unicode_stride, hb_codepoint_t * first_glyph, unsigned int glyph_stride)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3136,7 +3642,7 @@ internal static UInt32 hb_font_get_nominal_glyphs (hb_font_t font, UInt32 count,
(hb_font_get_nominal_glyphs_delegate ??= GetSymbol ("hb_font_get_nominal_glyphs")).Invoke (font, count, first_unicode, unicode_stride, first_glyph, glyph_stride);
#endif
- // extern hb_font_t* hb_font_get_parent(hb_font_t* font)
+ // extern hb_font_t * hb_font_get_parent(hb_font_t * font)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3155,7 +3661,7 @@ internal static hb_font_t hb_font_get_parent (hb_font_t font) =>
(hb_font_get_parent_delegate ??= GetSymbol ("hb_font_get_parent")).Invoke (font);
#endif
- // extern void hb_font_get_ppem(hb_font_t* font, unsigned int* x_ppem, unsigned int* y_ppem)
+ // extern void hb_font_get_ppem(hb_font_t * font, unsigned int * x_ppem, unsigned int * y_ppem)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3174,7 +3680,7 @@ internal static void hb_font_get_ppem (hb_font_t font, UInt32* x_ppem, UInt32* y
(hb_font_get_ppem_delegate ??= GetSymbol ("hb_font_get_ppem")).Invoke (font, x_ppem, y_ppem);
#endif
- // extern float hb_font_get_ptem(hb_font_t* font)
+ // extern float hb_font_get_ptem(hb_font_t * font)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3193,7 +3699,7 @@ internal static Single hb_font_get_ptem (hb_font_t font) =>
(hb_font_get_ptem_delegate ??= GetSymbol ("hb_font_get_ptem")).Invoke (font);
#endif
- // extern void hb_font_get_scale(hb_font_t* font, int* x_scale, int* y_scale)
+ // extern void hb_font_get_scale(hb_font_t * font, int * x_scale, int * y_scale)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3212,7 +3718,64 @@ internal static void hb_font_get_scale (hb_font_t font, Int32* x_scale, Int32* y
(hb_font_get_scale_delegate ??= GetSymbol ("hb_font_get_scale")).Invoke (font, x_scale, y_scale);
#endif
- // extern hb_bool_t hb_font_get_v_extents(hb_font_t* font, hb_font_extents_t* extents)
+ // extern unsigned int hb_font_get_serial(hb_font_t * font)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial UInt32 hb_font_get_serial (hb_font_t font);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern UInt32 hb_font_get_serial (hb_font_t font);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate UInt32 hb_font_get_serial (hb_font_t font);
+ }
+ private static Delegates.hb_font_get_serial hb_font_get_serial_delegate;
+ internal static UInt32 hb_font_get_serial (hb_font_t font) =>
+ (hb_font_get_serial_delegate ??= GetSymbol ("hb_font_get_serial")).Invoke (font);
+ #endif
+
+ // extern void hb_font_get_synthetic_bold(hb_font_t * font, float * x_embolden, float * y_embolden, hb_bool_t * in_place)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_font_get_synthetic_bold (hb_font_t font, Single* x_embolden, Single* y_embolden, Boolean* in_place);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_font_get_synthetic_bold (hb_font_t font, Single* x_embolden, Single* y_embolden, Boolean* in_place);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_font_get_synthetic_bold (hb_font_t font, Single* x_embolden, Single* y_embolden, Boolean* in_place);
+ }
+ private static Delegates.hb_font_get_synthetic_bold hb_font_get_synthetic_bold_delegate;
+ internal static void hb_font_get_synthetic_bold (hb_font_t font, Single* x_embolden, Single* y_embolden, Boolean* in_place) =>
+ (hb_font_get_synthetic_bold_delegate ??= GetSymbol ("hb_font_get_synthetic_bold")).Invoke (font, x_embolden, y_embolden, in_place);
+ #endif
+
+ // extern float hb_font_get_synthetic_slant(hb_font_t * font)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial Single hb_font_get_synthetic_slant (hb_font_t font);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern Single hb_font_get_synthetic_slant (hb_font_t font);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate Single hb_font_get_synthetic_slant (hb_font_t font);
+ }
+ private static Delegates.hb_font_get_synthetic_slant hb_font_get_synthetic_slant_delegate;
+ internal static Single hb_font_get_synthetic_slant (hb_font_t font) =>
+ (hb_font_get_synthetic_slant_delegate ??= GetSymbol ("hb_font_get_synthetic_slant")).Invoke (font);
+ #endif
+
+ // extern hb_bool_t hb_font_get_v_extents(hb_font_t * font, hb_font_extents_t * extents)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3234,7 +3797,26 @@ internal static bool hb_font_get_v_extents (hb_font_t font, FontExtents* extents
(hb_font_get_v_extents_delegate ??= GetSymbol ("hb_font_get_v_extents")).Invoke (font, extents);
#endif
- // extern const int* hb_font_get_var_coords_normalized(hb_font_t* font, unsigned int* length)
+ // extern float const * hb_font_get_var_coords_design(hb_font_t * font, unsigned int * length)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial Single* hb_font_get_var_coords_design (hb_font_t font, UInt32* length);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern Single* hb_font_get_var_coords_design (hb_font_t font, UInt32* length);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate Single* hb_font_get_var_coords_design (hb_font_t font, UInt32* length);
+ }
+ private static Delegates.hb_font_get_var_coords_design hb_font_get_var_coords_design_delegate;
+ internal static Single* hb_font_get_var_coords_design (hb_font_t font, UInt32* length) =>
+ (hb_font_get_var_coords_design_delegate ??= GetSymbol ("hb_font_get_var_coords_design")).Invoke (font, length);
+ #endif
+
+ // extern int const * hb_font_get_var_coords_normalized(hb_font_t * font, unsigned int * length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3253,7 +3835,26 @@ private partial class Delegates {
(hb_font_get_var_coords_normalized_delegate ??= GetSymbol ("hb_font_get_var_coords_normalized")).Invoke (font, length);
#endif
- // extern hb_bool_t hb_font_get_variation_glyph(hb_font_t* font, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t* glyph)
+ // extern unsigned int hb_font_get_var_named_instance(hb_font_t * font)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial UInt32 hb_font_get_var_named_instance (hb_font_t font);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern UInt32 hb_font_get_var_named_instance (hb_font_t font);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate UInt32 hb_font_get_var_named_instance (hb_font_t font);
+ }
+ private static Delegates.hb_font_get_var_named_instance hb_font_get_var_named_instance_delegate;
+ internal static UInt32 hb_font_get_var_named_instance (hb_font_t font) =>
+ (hb_font_get_var_named_instance_delegate ??= GetSymbol ("hb_font_get_var_named_instance")).Invoke (font);
+ #endif
+
+ // extern hb_bool_t hb_font_get_variation_glyph(hb_font_t * font, hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t * glyph)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3275,7 +3876,7 @@ internal static bool hb_font_get_variation_glyph (hb_font_t font, UInt32 unicode
(hb_font_get_variation_glyph_delegate ??= GetSymbol ("hb_font_get_variation_glyph")).Invoke (font, unicode, variation_selector, glyph);
#endif
- // extern hb_bool_t hb_font_glyph_from_string(hb_font_t* font, const char* s, int len, hb_codepoint_t* glyph)
+ // extern hb_bool_t hb_font_glyph_from_string(hb_font_t * font, char const * s, int len, hb_codepoint_t * glyph)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3297,7 +3898,7 @@ internal static bool hb_font_glyph_from_string (hb_font_t font, [MarshalAs (Unma
(hb_font_glyph_from_string_delegate ??= GetSymbol ("hb_font_glyph_from_string")).Invoke (font, s, len, glyph);
#endif
- // extern void hb_font_glyph_to_string(hb_font_t* font, hb_codepoint_t glyph, char* s, unsigned int size)
+ // extern void hb_font_glyph_to_string(hb_font_t * font, hb_codepoint_t glyph, char * s, unsigned int size)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3316,7 +3917,7 @@ internal static void hb_font_glyph_to_string (hb_font_t font, UInt32 glyph, /* c
(hb_font_glyph_to_string_delegate ??= GetSymbol ("hb_font_glyph_to_string")).Invoke (font, glyph, s, size);
#endif
- // extern hb_bool_t hb_font_is_immutable(hb_font_t* font)
+ // extern hb_bool_t hb_font_is_immutable(hb_font_t * font)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3338,7 +3939,7 @@ internal static bool hb_font_is_immutable (hb_font_t font) =>
(hb_font_is_immutable_delegate ??= GetSymbol ("hb_font_is_immutable")).Invoke (font);
#endif
- // extern void hb_font_make_immutable(hb_font_t* font)
+ // extern void hb_font_make_immutable(hb_font_t * font)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3357,7 +3958,7 @@ internal static void hb_font_make_immutable (hb_font_t font) =>
(hb_font_make_immutable_delegate ??= GetSymbol ("hb_font_make_immutable")).Invoke (font);
#endif
- // extern hb_font_t* hb_font_reference(hb_font_t* font)
+ // extern hb_font_t * hb_font_reference(hb_font_t * font)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3376,7 +3977,7 @@ internal static hb_font_t hb_font_reference (hb_font_t font) =>
(hb_font_reference_delegate ??= GetSymbol ("hb_font_reference")).Invoke (font);
#endif
- // extern void hb_font_set_face(hb_font_t* font, hb_face_t* face)
+ // extern void hb_font_set_face(hb_font_t * font, hb_face_t * face)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3395,7 +3996,7 @@ internal static void hb_font_set_face (hb_font_t font, hb_face_t face) =>
(hb_font_set_face_delegate ??= GetSymbol ("hb_font_set_face")).Invoke (font, face);
#endif
- // extern void hb_font_set_funcs(hb_font_t* font, hb_font_funcs_t* klass, void* font_data, hb_destroy_func_t destroy)
+ // extern void hb_font_set_funcs(hb_font_t * font, hb_font_funcs_t * klass, void * font_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3414,7 +4015,7 @@ internal static void hb_font_set_funcs (hb_font_t font, hb_font_funcs_t klass, v
(hb_font_set_funcs_delegate ??= GetSymbol ("hb_font_set_funcs")).Invoke (font, klass, font_data, destroy);
#endif
- // extern void hb_font_set_funcs_data(hb_font_t* font, void* font_data, hb_destroy_func_t destroy)
+ // extern void hb_font_set_funcs_data(hb_font_t * font, void * font_data, hb_destroy_func_t destroy)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3433,7 +4034,7 @@ internal static void hb_font_set_funcs_data (hb_font_t font, void* font_data, De
(hb_font_set_funcs_data_delegate ??= GetSymbol ("hb_font_set_funcs_data")).Invoke (font, font_data, destroy);
#endif
- // extern void hb_font_set_parent(hb_font_t* font, hb_font_t* parent)
+ // extern void hb_font_set_parent(hb_font_t * font, hb_font_t * parent)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3452,7 +4053,7 @@ internal static void hb_font_set_parent (hb_font_t font, hb_font_t parent) =>
(hb_font_set_parent_delegate ??= GetSymbol ("hb_font_set_parent")).Invoke (font, parent);
#endif
- // extern void hb_font_set_ppem(hb_font_t* font, unsigned int x_ppem, unsigned int y_ppem)
+ // extern void hb_font_set_ppem(hb_font_t * font, unsigned int x_ppem, unsigned int y_ppem)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3471,45 +4072,83 @@ internal static void hb_font_set_ppem (hb_font_t font, UInt32 x_ppem, UInt32 y_p
(hb_font_set_ppem_delegate ??= GetSymbol ("hb_font_set_ppem")).Invoke (font, x_ppem, y_ppem);
#endif
- // extern void hb_font_set_ptem(hb_font_t* font, float ptem)
+ // extern void hb_font_set_ptem(hb_font_t * font, float ptem)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_font_set_ptem (hb_font_t font, Single ptem);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_font_set_ptem (hb_font_t font, Single ptem);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_font_set_ptem (hb_font_t font, Single ptem);
+ }
+ private static Delegates.hb_font_set_ptem hb_font_set_ptem_delegate;
+ internal static void hb_font_set_ptem (hb_font_t font, Single ptem) =>
+ (hb_font_set_ptem_delegate ??= GetSymbol ("hb_font_set_ptem")).Invoke (font, ptem);
+ #endif
+
+ // extern void hb_font_set_scale(hb_font_t * font, int x_scale, int y_scale)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_font_set_scale (hb_font_t font, Int32 x_scale, Int32 y_scale);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_font_set_scale (hb_font_t font, Int32 x_scale, Int32 y_scale);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_font_set_scale (hb_font_t font, Int32 x_scale, Int32 y_scale);
+ }
+ private static Delegates.hb_font_set_scale hb_font_set_scale_delegate;
+ internal static void hb_font_set_scale (hb_font_t font, Int32 x_scale, Int32 y_scale) =>
+ (hb_font_set_scale_delegate ??= GetSymbol ("hb_font_set_scale")).Invoke (font, x_scale, y_scale);
+ #endif
+
+ // extern void hb_font_set_synthetic_bold(hb_font_t * font, float x_embolden, float y_embolden, hb_bool_t in_place)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial void hb_font_set_ptem (hb_font_t font, Single ptem);
+ internal static partial void hb_font_set_synthetic_bold (hb_font_t font, Single x_embolden, Single y_embolden, [MarshalAs (UnmanagedType.I1)] bool in_place);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void hb_font_set_ptem (hb_font_t font, Single ptem);
+ internal static extern void hb_font_set_synthetic_bold (hb_font_t font, Single x_embolden, Single y_embolden, [MarshalAs (UnmanagedType.I1)] bool in_place);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate void hb_font_set_ptem (hb_font_t font, Single ptem);
+ internal delegate void hb_font_set_synthetic_bold (hb_font_t font, Single x_embolden, Single y_embolden, [MarshalAs (UnmanagedType.I1)] bool in_place);
}
- private static Delegates.hb_font_set_ptem hb_font_set_ptem_delegate;
- internal static void hb_font_set_ptem (hb_font_t font, Single ptem) =>
- (hb_font_set_ptem_delegate ??= GetSymbol ("hb_font_set_ptem")).Invoke (font, ptem);
+ private static Delegates.hb_font_set_synthetic_bold hb_font_set_synthetic_bold_delegate;
+ internal static void hb_font_set_synthetic_bold (hb_font_t font, Single x_embolden, Single y_embolden, [MarshalAs (UnmanagedType.I1)] bool in_place) =>
+ (hb_font_set_synthetic_bold_delegate ??= GetSymbol ("hb_font_set_synthetic_bold")).Invoke (font, x_embolden, y_embolden, in_place);
#endif
- // extern void hb_font_set_scale(hb_font_t* font, int x_scale, int y_scale)
+ // extern void hb_font_set_synthetic_slant(hb_font_t * font, float slant)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
- internal static partial void hb_font_set_scale (hb_font_t font, Int32 x_scale, Int32 y_scale);
+ internal static partial void hb_font_set_synthetic_slant (hb_font_t font, Single slant);
#else // !USE_LIBRARY_IMPORT
[DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
- internal static extern void hb_font_set_scale (hb_font_t font, Int32 x_scale, Int32 y_scale);
+ internal static extern void hb_font_set_synthetic_slant (hb_font_t font, Single slant);
#endif
#else
private partial class Delegates {
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
- internal delegate void hb_font_set_scale (hb_font_t font, Int32 x_scale, Int32 y_scale);
+ internal delegate void hb_font_set_synthetic_slant (hb_font_t font, Single slant);
}
- private static Delegates.hb_font_set_scale hb_font_set_scale_delegate;
- internal static void hb_font_set_scale (hb_font_t font, Int32 x_scale, Int32 y_scale) =>
- (hb_font_set_scale_delegate ??= GetSymbol ("hb_font_set_scale")).Invoke (font, x_scale, y_scale);
+ private static Delegates.hb_font_set_synthetic_slant hb_font_set_synthetic_slant_delegate;
+ internal static void hb_font_set_synthetic_slant (hb_font_t font, Single slant) =>
+ (hb_font_set_synthetic_slant_delegate ??= GetSymbol ("hb_font_set_synthetic_slant")).Invoke (font, slant);
#endif
- // extern void hb_font_set_var_coords_design(hb_font_t* font, const float* coords, unsigned int coords_length)
+ // extern void hb_font_set_var_coords_design(hb_font_t * font, float const * coords, unsigned int coords_length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3528,7 +4167,7 @@ internal static void hb_font_set_var_coords_design (hb_font_t font, Single* coor
(hb_font_set_var_coords_design_delegate ??= GetSymbol ("hb_font_set_var_coords_design")).Invoke (font, coords, coords_length);
#endif
- // extern void hb_font_set_var_coords_normalized(hb_font_t* font, const int* coords, unsigned int coords_length)
+ // extern void hb_font_set_var_coords_normalized(hb_font_t * font, int const * coords, unsigned int coords_length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3547,7 +4186,7 @@ internal static void hb_font_set_var_coords_normalized (hb_font_t font, Int32* c
(hb_font_set_var_coords_normalized_delegate ??= GetSymbol ("hb_font_set_var_coords_normalized")).Invoke (font, coords, coords_length);
#endif
- // extern void hb_font_set_var_named_instance(hb_font_t* font, unsigned int instance_index)
+ // extern void hb_font_set_var_named_instance(hb_font_t * font, unsigned int instance_index)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3566,7 +4205,26 @@ internal static void hb_font_set_var_named_instance (hb_font_t font, UInt32 inst
(hb_font_set_var_named_instance_delegate ??= GetSymbol ("hb_font_set_var_named_instance")).Invoke (font, instance_index);
#endif
- // extern void hb_font_set_variations(hb_font_t* font, const hb_variation_t* variations, unsigned int variations_length)
+ // extern void hb_font_set_variation(hb_font_t * font, hb_tag_t tag, float value)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_font_set_variation (hb_font_t font, UInt32 tag, Single value);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_font_set_variation (hb_font_t font, UInt32 tag, Single value);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_font_set_variation (hb_font_t font, UInt32 tag, Single value);
+ }
+ private static Delegates.hb_font_set_variation hb_font_set_variation_delegate;
+ internal static void hb_font_set_variation (hb_font_t font, UInt32 tag, Single value) =>
+ (hb_font_set_variation_delegate ??= GetSymbol ("hb_font_set_variation")).Invoke (font, tag, value);
+ #endif
+
+ // extern void hb_font_set_variations(hb_font_t * font, hb_variation_t const * variations, unsigned int variations_length)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3585,7 +4243,7 @@ internal static void hb_font_set_variations (hb_font_t font, Variation* variatio
(hb_font_set_variations_delegate ??= GetSymbol ("hb_font_set_variations")).Invoke (font, variations, variations_length);
#endif
- // extern void hb_font_subtract_glyph_origin_for_direction(hb_font_t* font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t* x, hb_position_t* y)
+ // extern void hb_font_subtract_glyph_origin_for_direction(hb_font_t * font, hb_codepoint_t glyph, hb_direction_t direction, hb_position_t * x, hb_position_t * y)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3608,7 +4266,7 @@ internal static void hb_font_subtract_glyph_origin_for_direction (hb_font_t font
#region hb-map.h
- // extern hb_bool_t hb_map_allocation_successful(const hb_map_t* map)
+ // extern hb_bool_t hb_map_allocation_successful(hb_map_t const * map)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3630,7 +4288,7 @@ internal static bool hb_map_allocation_successful (hb_map_t map) =>
(hb_map_allocation_successful_delegate ??= GetSymbol ("hb_map_allocation_successful")).Invoke (map);
#endif
- // extern void hb_map_clear(hb_map_t* map)
+ // extern void hb_map_clear(hb_map_t * map)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3649,7 +4307,26 @@ internal static void hb_map_clear (hb_map_t map) =>
(hb_map_clear_delegate ??= GetSymbol ("hb_map_clear")).Invoke (map);
#endif
- // extern hb_map_t* hb_map_create()
+ // extern hb_map_t * hb_map_copy(hb_map_t const * map)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial hb_map_t hb_map_copy (hb_map_t map);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern hb_map_t hb_map_copy (hb_map_t map);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate hb_map_t hb_map_copy (hb_map_t map);
+ }
+ private static Delegates.hb_map_copy hb_map_copy_delegate;
+ internal static hb_map_t hb_map_copy (hb_map_t map) =>
+ (hb_map_copy_delegate ??= GetSymbol ("hb_map_copy")).Invoke (map);
+ #endif
+
+ // extern hb_map_t * hb_map_create()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3668,7 +4345,7 @@ internal static hb_map_t hb_map_create () =>
(hb_map_create_delegate ??= GetSymbol ("hb_map_create")).Invoke ();
#endif
- // extern void hb_map_del(hb_map_t* map, hb_codepoint_t key)
+ // extern void hb_map_del(hb_map_t * map, hb_codepoint_t key)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3687,7 +4364,7 @@ internal static void hb_map_del (hb_map_t map, UInt32 key) =>
(hb_map_del_delegate ??= GetSymbol ("hb_map_del")).Invoke (map, key);
#endif
- // extern void hb_map_destroy(hb_map_t* map)
+ // extern void hb_map_destroy(hb_map_t * map)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3706,7 +4383,7 @@ internal static void hb_map_destroy (hb_map_t map) =>
(hb_map_destroy_delegate ??= GetSymbol ("hb_map_destroy")).Invoke (map);
#endif
- // extern hb_codepoint_t hb_map_get(const hb_map_t* map, hb_codepoint_t key)
+ // extern hb_codepoint_t hb_map_get(hb_map_t const * map, hb_codepoint_t key)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3725,7 +4402,7 @@ internal static UInt32 hb_map_get (hb_map_t map, UInt32 key) =>
(hb_map_get_delegate ??= GetSymbol ("hb_map_get")).Invoke (map, key);
#endif
- // extern hb_map_t* hb_map_get_empty()
+ // extern hb_map_t * hb_map_get_empty()
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3744,7 +4421,7 @@ internal static hb_map_t hb_map_get_empty () =>
(hb_map_get_empty_delegate ??= GetSymbol ("hb_map_get_empty")).Invoke ();
#endif
- // extern unsigned int hb_map_get_population(const hb_map_t* map)
+ // extern unsigned int hb_map_get_population(hb_map_t const * map)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3763,7 +4440,7 @@ internal static UInt32 hb_map_get_population (hb_map_t map) =>
(hb_map_get_population_delegate ??= GetSymbol ("hb_map_get_population")).Invoke (map);
#endif
- // extern hb_bool_t hb_map_has(const hb_map_t* map, hb_codepoint_t key)
+ // extern hb_bool_t hb_map_has(hb_map_t const * map, hb_codepoint_t key)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3785,7 +4462,26 @@ internal static bool hb_map_has (hb_map_t map, UInt32 key) =>
(hb_map_has_delegate ??= GetSymbol ("hb_map_has")).Invoke (map, key);
#endif
- // extern hb_bool_t hb_map_is_empty(const hb_map_t* map)
+ // extern unsigned int hb_map_hash(hb_map_t const * map)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial UInt32 hb_map_hash (hb_map_t map);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern UInt32 hb_map_hash (hb_map_t map);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate UInt32 hb_map_hash (hb_map_t map);
+ }
+ private static Delegates.hb_map_hash hb_map_hash_delegate;
+ internal static UInt32 hb_map_hash (hb_map_t map) =>
+ (hb_map_hash_delegate ??= GetSymbol ("hb_map_hash")).Invoke (map);
+ #endif
+
+ // extern hb_bool_t hb_map_is_empty(hb_map_t const * map)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3807,7 +4503,70 @@ internal static bool hb_map_is_empty (hb_map_t map) =>
(hb_map_is_empty_delegate ??= GetSymbol ("hb_map_is_empty")).Invoke (map);
#endif
- // extern hb_map_t* hb_map_reference(hb_map_t* map)
+ // extern hb_bool_t hb_map_is_equal(hb_map_t const * map, hb_map_t const * other)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static partial bool hb_map_is_equal (hb_map_t map, hb_map_t other);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static extern bool hb_map_is_equal (hb_map_t map, hb_map_t other);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal delegate bool hb_map_is_equal (hb_map_t map, hb_map_t other);
+ }
+ private static Delegates.hb_map_is_equal hb_map_is_equal_delegate;
+ internal static bool hb_map_is_equal (hb_map_t map, hb_map_t other) =>
+ (hb_map_is_equal_delegate ??= GetSymbol ("hb_map_is_equal")).Invoke (map, other);
+ #endif
+
+ // extern void hb_map_keys(hb_map_t const * map, hb_set_t * keys)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ internal static partial void hb_map_keys (hb_map_t map, hb_set_t keys);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ internal static extern void hb_map_keys (hb_map_t map, hb_set_t keys);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ internal delegate void hb_map_keys (hb_map_t map, hb_set_t keys);
+ }
+ private static Delegates.hb_map_keys hb_map_keys_delegate;
+ internal static void hb_map_keys (hb_map_t map, hb_set_t keys) =>
+ (hb_map_keys_delegate ??= GetSymbol ("hb_map_keys")).Invoke (map, keys);
+ #endif
+
+ // extern hb_bool_t hb_map_next(hb_map_t const * map, int * idx, hb_codepoint_t * key, hb_codepoint_t * value)
+ #if !USE_DELEGATES
+ #if USE_LIBRARY_IMPORT
+ [LibraryImport (HARFBUZZ)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static partial bool hb_map_next (hb_map_t map, Int32* idx, UInt32* key, UInt32* value);
+ #else // !USE_LIBRARY_IMPORT
+ [DllImport (HARFBUZZ, CallingConvention = CallingConvention.Cdecl)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal static extern bool hb_map_next (hb_map_t map, Int32* idx, UInt32* key, UInt32* value);
+ #endif
+ #else
+ private partial class Delegates {
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ [return: MarshalAs (UnmanagedType.I1)]
+ internal delegate bool hb_map_next (hb_map_t map, Int32* idx, UInt32* key, UInt32* value);
+ }
+ private static Delegates.hb_map_next hb_map_next_delegate;
+ internal static bool hb_map_next (hb_map_t map, Int32* idx, UInt32* key, UInt32* value) =>
+ (hb_map_next_delegate ??= GetSymbol ("hb_map_next")).Invoke (map, idx, key, value);
+ #endif
+
+ // extern hb_map_t * hb_map_reference(hb_map_t * map)
#if !USE_DELEGATES
#if USE_LIBRARY_IMPORT
[LibraryImport (HARFBUZZ)]
@@ -3826,7 +4585,7 @@ internal static hb_map_t hb_map_reference (hb_map_t map) =>
(hb_map_reference_delegate ??= GetSymbol