Browse our Products
Aspose.SVG for .NET 25.6 Release Notes
Major Features
We are excited to announce the June release of Aspose.SVG for .NET 25.6.0!
This version brings key improvements to Unicode text rendering, resource handling for SVGZ output, and a focused, modernized public API.
Highlights
Feature / Change | Benefit |
---|---|
Surrogate Pair Rendering (SVGNET-490) | Unicode surrogate pairs (e.g. emoji, supplementary CJK, rare symbols) are now rendered correctly in SVG-to-image conversions as well as other output formats. |
SVGZ Output: External Resources Uncompressed | When saving SVG as SVGZ, linked resources such as fonts, images and CSS are now stored without additional compression, ensuring broad compatibility and easier downstream processing. |
FontMatcher: Unified Character Code Parameter | The signature for custom font fallback logic now uses int charCode for consistency with .NET and internal processing. |
Font Style Discovery | ITrueTypeFont now provides a Style property for convenient access to the full resolved font style. |
Bitmap API Simplification | Obsolete interfaces related to manual bitmap/image operations (IBitmap , WebRotateFlipType , etc.) are now fully removed, reducing maintenance burden and aligning with best practices. |
Enhancements and Fixes
- SVGNET-490:
Unicode surrogate pairs (outside the BMP) are now fully supported in SVGrendering and during SVG-to-image conversion. This enables complete and accurate visual output for emoji, rare symbols, and supplementary script content. - SVGZ Output:
When saving an SVG as SVGZ, all referenced external resources (fonts, images, CSS, etc.) are preserved without secondary compression, ensuring resources remain compatible with all downstream tools and consumers. - Font API:
TheITrueTypeFont
interface now includes aStyle
property, combining font-face and font file metadata for easier access to e.g. weight/italic attributes. - Public API Cleanup:
Old manual bitmap/image manipulation types (includingIBitmap
andWebRotateFlipType
) have been fully retired to streamline the API and avoid overlap with platform/NuGet image-processing tools.
Public API Changes
Added APIs
Namespace / Type | Member | Description |
---|---|---|
Aspose.Svg.Drawing.ITrueTypeFont | Style { get; } | Exposes combined font style properties. |
Modified APIs
Aspose.Svg.Rendering.Fonts.FontMatcher.MatchFontFallback
- The method signature now accepts
int charCode
instead ofuint charCode
. - Old:
public abstract byte[] MatchFontFallback(FontMatchingProperties fontMatchingProperties, uint charCode);
- New:
public abstract byte[] MatchFontFallback(FontMatchingProperties fontMatchingProperties, int charCode);
- The method signature now accepts
Aspose.Svg.Paths.SVGPathSegList
- The constructor now takes a
List<SVGPathSeg>
instead of a generalIEnumerable<SVGPathSeg>
. - Old:
public SVGPathSegList(IEnumerable<SVGPathSeg> enumerable);
- New:
public SVGPathSegList(List<SVGPathSeg> enumerable);
- The constructor now takes a
Removed APIs (Breaking Changes)
The following bitmap-related and legacy image manipulation APIs have been fully removed:
IBitmap
interface (all methods & properties, such asApplyOpacity
,DrawBitmap
,FillRectangle
,GetPixelsMap
,RotateFlip
,Save
,SetTransparent
, as well asColorSpace
,ColorTable
,Format
,Height
,Width
,HorizontalResolution
,VerticalResolution
)WebRotateFlipType
enum
As a result, any remaining references to low-level bitmap manipulation should be replaced with direct .NET or SkiaSharp APIs, or refactored to use Aspose.SVG’s main rendering or export operations.
Fixed Bugs
- SVGNET-490: Surrogate pairs (extended Unicode characters, emoji, etc.) are now rendered correctly in all SVG export and conversion scenarios.
Migration Guide (Quick Checklist)
- SVG Unicode Rendering:
Update to 25.6.0 for automatic Unicode surrogate handling—no extra code changes required. - Font Fallback Implementations:
Update yourFontMatcher
/MatchFontFallback
overloads to accept anint charCode
parameter instead ofuint
. - SVGPathSegList Usage:
Instantiate with aList<SVGPathSeg>
where previously anIEnumerable<SVGPathSeg>
was used. - Bitmap/Image Operations:
Replace oldIBitmap
andWebRotateFlipType
usages with .NET or SkiaSharp primitives or use Aspose.SVG’s core rendering/devices. - SVGZ Output Handling:
Expect external resources in SVGZ to be stored uncompressed for improved compatibility. - Font Style Query:
Use newStyle
property onITrueTypeFont
for enhanced inspection of font style.
These changes continue our commitment to performance, standards compliance, and API clarity in Aspose.SVG for .NET.
For further help or migration questions, please consult the updated documentation or contact Aspose support.