Skip to content

Add CFF2 and TrueType Variation Font Support #1195

Add CFF2 and TrueType Variation Font Support

Add CFF2 and TrueType Variation Font Support #1195

Triggered via pull request March 11, 2026 09:41
Status Success
Total duration 4m 16s
Artifacts

build-and-test.yml

on: pull_request
Matrix: Build
Publish
0s
Publish
Fit to window
Zoom out
Zoom in

Annotations

76 warnings
Build (false, macos-latest, net9.0, 9.0.x, true, -x64, false)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: NuGet/setup-nuget@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build (false, macos-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/Program.cs#L28
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, macos-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/Program.cs#L27
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, macos-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/Program.cs#L26
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, macos-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/Program.cs#L25
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, macos-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentSample.cs#L24
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, macos-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentSample.cs#L22
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, macos-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentWrapped.cs#L27
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, macos-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentWrapped.cs#L25
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, macos-latest, net8.0, 8.0.x, -x64, false)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: NuGet/setup-nuget@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build (false, macos-latest, net8.0, 8.0.x, -x64, false): samples/DrawWithImageSharp/Program.cs#L32
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, macos-latest, net8.0, 8.0.x, -x64, false): samples/DrawWithImageSharp/Program.cs#L31
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, macos-latest, net8.0, 8.0.x, -x64, false): samples/DrawWithImageSharp/Program.cs#L30
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, macos-latest, net8.0, 8.0.x, -x64, false): samples/DrawWithImageSharp/Program.cs#L29
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, macos-latest, net8.0, 8.0.x, -x64, false): samples/DrawWithImageSharp/Program.cs#L28
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, macos-latest, net8.0, 8.0.x, -x64, false): samples/DrawWithImageSharp/Program.cs#L27
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, macos-latest, net8.0, 8.0.x, -x64, false): samples/DrawWithImageSharp/Program.cs#L26
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, macos-latest, net8.0, 8.0.x, -x64, false): samples/DrawWithImageSharp/Program.cs#L25
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, ubuntu-latest, net8.0, 8.0.x, -x64, false)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: NuGet/setup-nuget@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build (false, ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/SixLabors.Fonts.Tests/TextLayoutTests.cs#L848
Non-constant fields should not be visible (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2211)
Build (false, ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/SixLabors.Fonts.Tests/TextLayoutTests.cs#L970
Non-constant fields should not be visible (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2211)
Build (false, ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/SixLabors.Fonts.Tests/Tables/Variations/VariationFontTests.cs#L210
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (false, ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/SixLabors.Fonts.Tests/Tables/Variations/VariationFontTests.cs#L99
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (false, ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/SixLabors.Fonts.Tests/Tables/Variations/VariationFontTests.cs#L84
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (false, ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/SixLabors.Fonts.Tests/TestFonts.cs#L423
'Assembly.CodeBase' is obsolete: 'Assembly.CodeBase and Assembly.EscapedCodeBase are only included for .NET Framework compatibility. Use Assembly.Location.' (https://aka.ms/dotnet-warnings/SYSLIB0012)
Build (false, ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/SixLabors.Fonts.Benchmarks/SixLabors.Fonts.Benchmarks/Program.cs#L8
Type 'Program' can be sealed because it has no subtypes in its containing assembly and is not externally visible (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1852)
Build (false, ubuntu-latest, net8.0, 8.0.x, -x64, false): tests/SixLabors.Fonts.Benchmarks/SixLabors.Fonts.Benchmarks/MeasureTextBenchmark.cs#L67
Change MeasureTextBenchmark.Dispose() to call GC.SuppressFinalize(object). This will prevent derived types that introduce a finalizer from needing to re-implement 'IDisposable' to call it. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1816)
Build (false, ubuntu-latest, net9.0, 9.0.x, true, -x64, false)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: NuGet/setup-nuget@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build (false, ubuntu-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/Program.cs#L29
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, ubuntu-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/Program.cs#L28
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, ubuntu-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/Program.cs#L27
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, ubuntu-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/Program.cs#L26
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, ubuntu-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/Program.cs#L25
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, ubuntu-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentSample.cs#L24
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, ubuntu-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentWrapped.cs#L27
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, ubuntu-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentWrapped.cs#L25
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, ubuntu-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentSample.cs#L22
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, windows-latest, net9.0, 9.0.x, true, -x64, false)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: NuGet/setup-nuget@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build (false, windows-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/Program.cs#L324
Specify a culture or use an invariant version to avoid implicit dependency on current culture (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1311)
Build (false, windows-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentSample.cs#L24
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, windows-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentSample.cs#L22
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, windows-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentWrapped.cs#L27
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, windows-latest, net9.0, 9.0.x, true, -x64, false): samples/DrawWithImageSharp/TextAlignmentWrapped.cs#L25
Prefer the generic overload 'System.Enum.GetValues<TEnum>()' instead of 'System.Enum.GetValues(System.Type)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2263)
Build (false, windows-latest, net8.0, 8.0.x, -x64, true)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea, NuGet/setup-nuget@v2. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Build (false, windows-latest, net8.0, 8.0.x, -x64, true): tests/SixLabors.Fonts.Tests/ImageComparison/ImageSimilarityReport.cs#L104
Do not declare static members on generic types (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1000)
Build (false, windows-latest, net8.0, 8.0.x, -x64, true): tests/SixLabors.Fonts.Tests/Tables/Variations/VariationFontTests.cs#L210
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (false, windows-latest, net8.0, 8.0.x, -x64, true): tests/SixLabors.Fonts.Tests/Tables/Variations/VariationFontTests.cs#L99
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (false, windows-latest, net8.0, 8.0.x, -x64, true): tests/SixLabors.Fonts.Tests/Tables/Variations/VariationFontTests.cs#L84
The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Build (false, windows-latest, net8.0, 8.0.x, -x64, true): tests/SixLabors.Fonts.Tests/TestFonts.cs#L423
'Assembly.CodeBase' is obsolete: 'Assembly.CodeBase and Assembly.EscapedCodeBase are only included for .NET Framework compatibility. Use Assembly.Location.' (https://aka.ms/dotnet-warnings/SYSLIB0012)
Build (false, windows-latest, net8.0, 8.0.x, -x64, true): samples/DrawWithImageSharp/Program.cs#L25
The behavior of 'FontCollection.Add(string)' could vary based on the current user's locale settings. Replace this call in 'Program.Main(string[])' with a call to 'FontCollection.Add(string, CultureInfo)'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1304)
Build (false, windows-latest, net8.0, 8.0.x, -x64, true): samples/DrawWithImageSharp/Program.cs#L325
The behavior of 'string.ToLower()' could vary based on the current user's locale settings. Replace this call in 'Program.RenderTextProcessorWithAlignment(FontFamily, string,
Build (false, windows-latest, net8.0, 8.0.x, -x64, true): samples/DrawWithImageSharp/Program.cs#L324
The behavior of 'string.ToLower()' could vary based on the current user's locale settings. Replace this call in 'Program.RenderTextProcessorWithAlignment(FontFamily, string,
Build (false, windows-latest, net8.0, 8.0.x, -x64, true): samples/DrawWithImageSharp/Program.cs#L325
Specify a culture or use an invariant version to avoid implicit dependency on current culture (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1311)
Build (false, windows-latest, net8.0, 8.0.x, -x64, true): samples/DrawWithImageSharp/Program.cs#L324
Specify a culture or use an invariant version to avoid implicit dependency on current culture (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1311)