* Added support for .NET 8
- Updated test and sample projects to supports .NET 8
- Fixed compile warnings and errors including CS8352, CA1416
- Initial update to the tests workflow (runtests.yml)
- Removed previously deleted items from the solution file.
* Fixing workflow errors and warnings
- Added .NET 3.1
- Removed include-prerelease: false
- Upgraded actions/cache to v4 (from v1)
* Update runtests.yml
- Run tests in release mode (as the benchmark)
- Upgraded the actions/checkout (v2 to v4)
* Add test solutions to reduce unnecessary nuget package restore
- nuget restore is currently the longest running work on the workflow.
- initial attempt to improve it
* Removed CS0618 in debug mode, updated release notes.
* Split all classes classes with drawing code
* Put NO_SDC if/def around drawing interfaces
(ISvgClipable, IGraphicsProvider, ISvgRenderer, IFontDefn)
* Put NO_SDC if/def around drawing only classes
(GdiFontDefn, SvgFontDefn)
* Move implicit operator float to NO_SDC if/def
* Move GetRectangle method into NO_SDC if/def
* Migrate to supported .NET Core versions:
- from .NET Core 2.2 (Out of support version) to .NET Core 2.1
- from .NET Core 3.0 (Out of support version) to .NET Core 3.1
* Add support for .NET 5.0 as the currently recommended .NET SDK
* Added ToSvgString extension method for float
* Added ToStringBenchmarks
* Add netcoreapp3.1 target for test runner
* Add smaller image to reproduce #789
- replace runtime reflection by source generators to improve performance
- done for SvgElementFactory, property descriptors _svgPropertyAttributes and _svgEventAttributes
- no Source Generators support for net452 , added additional target framework net461
as the minimum version for source generators
- use stackalloc and out vars to reduce memory usage
- remove Linq usage to improve path parser performance
- use Span for SvgTransformConverter to improve performance
- add several benchmarks
- fixes#771, fixes#776, fixes part 2 of #767
Added parameter to the SvgAttribute indicating whether the storage is
the _attribute dictionary. If true, the output will only be serialized
only if the key is in the dictionary. This structure is an alternate to
the SvgDefinitionDefaults class.
- Improving rendering of SVG images
- Allow markers on lines, polygons, and polylines
- Implement different line joins and line caps
- Improve CSS handling
- Fixing path parsing algorithm to deal with nuanced arc cases and
hopefully improve performance
- Attempts at better memory management
- Working toward getting symbols to render correctly
- Extraction interface for SvgRenderer
- Initial support for Text on a Path
- Initial support for Svg Fonts
- Support for symbol element
- Minor bug fixes with image pattern rendering
- Additional support for Text whitespace modes
- Adding W3C test cases and a test fixture
- Fixed support for CSS stylesheets (particularly when class names are
referenced)
- Refactoring unit calculations so that percentages and fractions
calculate more accurately
- SvgImage:
- Support PreserveAspectRatio attribute
- Support for referencing svg images
- Refactored text rendering to use the AttributeCollection inheritance
scheme
- Initial attempt at 'ex' unit support
- Added support for system color names
- Changed parsing of entities to support XML entities
- Supporting loading of a svg document directly from a XmlDocument with
requiring serializing the document as a string first.
- ...
- Changes to get texts displaying bold / normal weight
- Changes to get textspans work correctly
- Made (semi-hardcoded) document metadata section - allow reading and regurgitating metdata tag from an original source document
- Included image
- Modified paths to allow for scientific notation
- Included ability to have markers for path ends (arrow ends etc)
* fill can be null -> none in XML
* added type converters for enums
* added type converter for unitcollection
* fixes several viewbox bugs
* document can now draw into a given bitmap
* content of SVG tag is written (used by the text tag)
* changed font handling in text element, still need proper alignment
* changed intersparse character of SvgTransformConverter.cs to space, because inkscape couldn't parse comma
* added class diagram for basic shapes