From 423b903472d80a57c0dc9f0d8d1861a3912365b7 Mon Sep 17 00:00:00 2001 From: Jon Lipsky Date: Sat, 3 May 2025 07:13:57 -0700 Subject: [PATCH 1/4] Added PostScriptName to SkTypeface --- binding/SkiaSharp/SKTypeface.cs | 2 ++ binding/SkiaSharp/SkiaApi.generated.cs | 19 +++++++++++++++++++ tests/Tests/SkiaSharp/SKTypefaceTest.cs | 9 +++++++++ 3 files changed, 30 insertions(+) diff --git a/binding/SkiaSharp/SKTypeface.cs b/binding/SkiaSharp/SKTypeface.cs index 098628cb21..79499d9a31 100644 --- a/binding/SkiaSharp/SKTypeface.cs +++ b/binding/SkiaSharp/SKTypeface.cs @@ -142,6 +142,8 @@ public static SKTypeface FromData (SKData data, int index = 0) public int GlyphCount => SkiaApi.sk_typeface_count_glyphs (Handle); + public string PostScriptName => (string)SKString.GetObject (SkiaApi.sk_typeface_get_post_script_name (Handle)); + // GetTableTags public int TableCount => SkiaApi.sk_typeface_count_tables (Handle); diff --git a/binding/SkiaSharp/SkiaApi.generated.cs b/binding/SkiaSharp/SkiaApi.generated.cs index 54c68a436f..1773c6fe9e 100644 --- a/binding/SkiaSharp/SkiaApi.generated.cs +++ b/binding/SkiaSharp/SkiaApi.generated.cs @@ -16471,6 +16471,25 @@ internal static sk_string_t sk_typeface_get_family_name (sk_typeface_t typeface) (sk_typeface_get_family_name_delegate ??= GetSymbol ("sk_typeface_get_family_name")).Invoke (typeface); #endif + // sk_string_t* sk_typeface_get_post_script_name(const sk_typeface_t* typeface) + #if !USE_DELEGATES + #if USE_LIBRARY_IMPORT + [LibraryImport (SKIA)] + internal static partial sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface); + #else // !USE_LIBRARY_IMPORT + [DllImport (SKIA, CallingConvention = CallingConvention.Cdecl)] + internal static extern sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface); + #endif + #else + private partial class Delegates { + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + internal delegate sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface); + } + private static Delegates.sk_typeface_get_post_script_name sk_typeface_get_post_script_name_delegate; + internal static sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface) => + (sk_typeface_get_post_script_name_delegate ??= GetSymbol ("sk_typeface_get_post_script_name")).Invoke (typeface); + #endif + // sk_font_style_slant_t sk_typeface_get_font_slant(const sk_typeface_t* typeface) #if !USE_DELEGATES #if USE_LIBRARY_IMPORT diff --git a/tests/Tests/SkiaSharp/SKTypefaceTest.cs b/tests/Tests/SkiaSharp/SKTypefaceTest.cs index 18978e0a10..d19da35991 100644 --- a/tests/Tests/SkiaSharp/SKTypefaceTest.cs +++ b/tests/Tests/SkiaSharp/SKTypefaceTest.cs @@ -55,6 +55,15 @@ public void TestIsFixedPitch() } } + [SkippableFact] + public void TestPostScriptName() + { + using (var typeface = SKTypeface.FromFile(Path.Combine(PathToFonts, "CourierNew.ttf"))) + { + Assert.Equal("CourierNewPSMT", typeface.PostScriptName); + } + } + [SkippableFact] public void CanReadNonASCIIFile() { From b52b5e196777a6295ba7274f5a2deec3d190894e Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Fri, 22 Aug 2025 23:53:34 +0200 Subject: [PATCH 2/4] externals --- externals/skia | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/externals/skia b/externals/skia index 226016281e..f09b7bcda6 160000 --- a/externals/skia +++ b/externals/skia @@ -1 +1 @@ -Subproject commit 226016281e15b4171ab982462fe84234e73fe326 +Subproject commit f09b7bcda658a89bd49978aa2b43e880df6127a3 From 84deff5e431da6d54b96b5b6e834a7bc2997d7b0 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Fri, 22 Aug 2025 23:57:27 +0200 Subject: [PATCH 3/4] regen --- binding/SkiaSharp/SkiaApi.generated.cs | 38 +++++++++++++------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/binding/SkiaSharp/SkiaApi.generated.cs b/binding/SkiaSharp/SkiaApi.generated.cs index 1773c6fe9e..36a99043c7 100644 --- a/binding/SkiaSharp/SkiaApi.generated.cs +++ b/binding/SkiaSharp/SkiaApi.generated.cs @@ -16471,25 +16471,6 @@ internal static sk_string_t sk_typeface_get_family_name (sk_typeface_t typeface) (sk_typeface_get_family_name_delegate ??= GetSymbol ("sk_typeface_get_family_name")).Invoke (typeface); #endif - // sk_string_t* sk_typeface_get_post_script_name(const sk_typeface_t* typeface) - #if !USE_DELEGATES - #if USE_LIBRARY_IMPORT - [LibraryImport (SKIA)] - internal static partial sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface); - #else // !USE_LIBRARY_IMPORT - [DllImport (SKIA, CallingConvention = CallingConvention.Cdecl)] - internal static extern sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface); - #endif - #else - private partial class Delegates { - [UnmanagedFunctionPointer (CallingConvention.Cdecl)] - internal delegate sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface); - } - private static Delegates.sk_typeface_get_post_script_name sk_typeface_get_post_script_name_delegate; - internal static sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface) => - (sk_typeface_get_post_script_name_delegate ??= GetSymbol ("sk_typeface_get_post_script_name")).Invoke (typeface); - #endif - // sk_font_style_slant_t sk_typeface_get_font_slant(const sk_typeface_t* typeface) #if !USE_DELEGATES #if USE_LIBRARY_IMPORT @@ -16588,6 +16569,25 @@ internal static bool sk_typeface_get_kerning_pair_adjustments (sk_typeface_t typ (sk_typeface_get_kerning_pair_adjustments_delegate ??= GetSymbol ("sk_typeface_get_kerning_pair_adjustments")).Invoke (typeface, glyphs, count, adjustments); #endif + // sk_string_t* sk_typeface_get_post_script_name(const sk_typeface_t* typeface) + #if !USE_DELEGATES + #if USE_LIBRARY_IMPORT + [LibraryImport (SKIA)] + internal static partial sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface); + #else // !USE_LIBRARY_IMPORT + [DllImport (SKIA, CallingConvention = CallingConvention.Cdecl)] + internal static extern sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface); + #endif + #else + private partial class Delegates { + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + internal delegate sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface); + } + private static Delegates.sk_typeface_get_post_script_name sk_typeface_get_post_script_name_delegate; + internal static sk_string_t sk_typeface_get_post_script_name (sk_typeface_t typeface) => + (sk_typeface_get_post_script_name_delegate ??= GetSymbol ("sk_typeface_get_post_script_name")).Invoke (typeface); + #endif + // size_t sk_typeface_get_table_data(const sk_typeface_t* typeface, sk_font_table_tag_t tag, size_t offset, size_t length, void* data) #if !USE_DELEGATES #if USE_LIBRARY_IMPORT From 163996eae2a0a74fa3ee4a8465f2332037732b9b Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 23 Aug 2025 01:53:56 +0200 Subject: [PATCH 4/4] merged externals --- externals/skia | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/externals/skia b/externals/skia index f09b7bcda6..40f75dc005 160000 --- a/externals/skia +++ b/externals/skia @@ -1 +1 @@ -Subproject commit f09b7bcda658a89bd49978aa2b43e880df6127a3 +Subproject commit 40f75dc0051d141913c07c20d4c19590c7da0cb7