Releases: swhitty/SwiftDraw
Swift 5.7 (iOS12+, macOS 10.14+)
Removes support for older OS and Swift versions.
SwiftDraw now supports:
- Swift 5.7+
- iOS 12+
- macOS 10.14+
Fixes issue #32 where some SFSymbols would not correctly wind evenodd paths.
Preserve all SFSymbol classes
Fix Typo
SFSymbol Multicolor
Includes changes
- SFSymbols now include support for multicolour layers by preserving specific CSS selectors. Thank you @tinder-darraghburke
- Adds fix symbols with greater width than height. Thank you @rcancro.
- Samples is now Samples.bundle
swiftdraw, version 0.14.1
copyright (c) 2023 Simon Whitty
usage: swiftdraw <file.svg> [--format png | pdf | jpeg | swift | sfsymbol] [--size wxh] [--scale 1x | 2x | 3x]
<file> svg file to be processed
Options:
--format format to output image: png | pdf | jpeg | swift | sfsymbol
--size size of output image: 100x200
--scale scale of output image: 1x | 2x | 3x
--insets crop inset of output image: top,left,bottom,right
--precision maximum number of decimal places
--output optional path of output file
--hideUnsupportedFilters hide elements with unsupported filters.
Available keys for --format swift:
--api api of generated code: appkit | uikit
Available keys for --format sfymbol:
--insets alignment of regular variant: top,left,bottom,right | auto
--ultralight svg file of ultralight variant
--ultralightInsets alignment of ultralight variant: top,left,bottom,right | auto
--black svg file of black variant
--blackInsets alignment of black variant: top,left,bottom,right | auto
SFSymbol Multicolor
Includes changes
- SFSymbols now include support for multicolour layers by preserving specific CSS selectors. Thank you @tinder-darraghburke
- Adds fix symbols with greater width than height. Thank you @rcancro.
swiftdraw, version 0.14.0
copyright (c) 2023 Simon Whitty
usage: swiftdraw <file.svg> [--format png | pdf | jpeg | swift | sfsymbol] [--size wxh] [--scale 1x | 2x | 3x]
<file> svg file to be processed
Options:
--format format to output image: png | pdf | jpeg | swift | sfsymbol
--size size of output image: 100x200
--scale scale of output image: 1x | 2x | 3x
--insets crop inset of output image: top,left,bottom,right
--precision maximum number of decimal places
--output optional path of output file
--hideUnsupportedFilters hide elements with unsupported filters.
Available keys for --format swift:
--api api of generated code: appkit | uikit
Available keys for --format sfymbol:
--insets alignment of regular variant: top,left,bottom,right | auto
--ultralight svg file of ultralight variant
--ultralightInsets alignment of ultralight variant: top,left,bottom,right | auto
--black svg file of black variant
--blackInsets alignment of black variant: top,left,bottom,right | auto
SFSymbol
Adds optional --output
to Command-line tool. If provided this path is used, otherwise a suffix is automatically appended to input path.
Fixes bugs
UIImage
was scaled twice #12.fill-rule
was defaulting toevenodd
when it should benonzero
- macCatalyst support
- Better support for stroke gradients #17
swiftdraw, version 0.13.2
copyright (c) 2022 Simon Whitty
usage: swiftdraw <file.svg> [--format png | pdf | jpeg | swift | sfsymbol] [--size wxh] [--scale 1x | 2x | 3x]
<file> svg file to be processed
Options:
--format format to output image: png | pdf | jpeg | swift | sfsymbol
--size size of output image: 100x200
--scale scale of output image: 1x | 2x | 3x
--insets crop inset of output image: top,left,bottom,right
--precision maximum number of decimal places
--output optional path of output file
--hideUnsupportedFilters hide elements with unsupported filters.
Available keys for --format swift:
--api api of generated code: appkit | uikit
Available keys for --format sfymbol:
--insets alignment of regular variant: top,left,bottom,right | auto
--ultralight svg file of ultralight variant
--ultralightInsets alignment of ultralight variant: top,left,bottom,right | auto
--black svg file of black variant
--blackInsets alignment of black variant: top,left,bottom,right | auto
SFSymbol
Adds optional --output
to Command-line tool. If provided this path is used, otherwise a suffix is automatically appended to input path.
Fixes bugs
UIImage
was scaled twice #12.fill-rule
was defaulting toevenodd
when it should benonzero
- macCatalyst support
swiftdraw, version 0.13.2
copyright (c) 2022 Simon Whitty
usage: swiftdraw <file.svg> [--format png | pdf | jpeg | swift | sfsymbol] [--size wxh] [--scale 1x | 2x | 3x]
<file> svg file to be processed
Options:
--format format to output image: png | pdf | jpeg | swift | sfsymbol
--size size of output image: 100x200
--scale scale of output image: 1x | 2x | 3x
--insets crop inset of output image: top,left,bottom,right
--precision maximum number of decimal places
--output optional path of output file
--hideUnsupportedFilters hide elements with unsupported filters.
Available keys for --format swift:
--api api of generated code: appkit | uikit
Available keys for --format sfymbol:
--insets alignment of regular variant: top,left,bottom,right | auto
--ultralight svg file of ultralight variant
--ultralightInsets alignment of ultralight variant: top,left,bottom,right | auto
--black svg file of black variant
--blackInsets alignment of black variant: top,left,bottom,right | auto
SFSymbol
Adds optional --output
to Command-line tool. If provided this path is used, otherwise a suffix is automatically appended to input path.
Fixes bugs
UIImage
was scaled twice #12.fill-rule
was defaulting toevenodd
when it should benonzero
swiftdraw, version 0.13.1
copyright (c) 2022 Simon Whitty
usage: swiftdraw <file.svg> [--format png | pdf | jpeg | swift | sfsymbol] [--size wxh] [--scale 1x | 2x | 3x]
<file> svg file to be processed
Options:
--format format to output image: png | pdf | jpeg | swift | sfsymbol
--size size of output image: 100x200
--scale scale of output image: 1x | 2x | 3x
--insets crop inset of output image: top,left,bottom,right
--precision maximum number of decimal places
--output optional path of output file
--hideUnsupportedFilters hide elements with unsupported filters.
Available keys for --format swift:
--api api of generated code: appkit | uikit
Available keys for --format sfymbol:
--insets alignment of regular variant: top,left,bottom,right | auto
--ultralight svg file of ultralight variant
--ultralightInsets alignment of ultralight variant: top,left,bottom,right | auto
--black svg file of black variant
--blackInsets alignment of black variant: top,left,bottom,right | auto
SF Symbol
Renames SwiftDraw.Image
-> SwiftDraw.SVG
avoiding name collisions with SwiftUI.Image
.
Updates command line tool:
- officially support SF Symbol creation using
--format sfsymbol
- add ability to crop or align images with
--insets 10,0,0,10
- adds AppKit support with
--format swift --api appkit
- fixes PDFs rendering with unsupported transparency
copyright (c) 2022 Simon Whitty
usage: swiftdraw <file.svg> [--format png | pdf | jpeg | swift | sfsymbol] [--size wxh] [--scale 1x | 2x | 3x]
<file> svg file to be processed
Options:
--format format to output image: png | pdf | jpeg | swift | sfsymbol
--size size of output image: 100x200
--scale scale of output image: 1x | 2x | 3x
--insets crop inset of output image: top,left,bottom,right
--precision maximum number of decimal places
--hideUnsupportedFilters hide elements with unsupported filters.
Available keys for --format swift:
--api api of generated code: appkit | uikit
Available keys for --format sfymbol:
--insets alignment of regular variant: top,left,bottom,right | auto
--ultralight svg file of ultralight variant
--ultralightInsets alignment of ultralight variant: top,left,bottom,right | auto
--black svg file of black variant
--blackInsets alignment of black variant: top,left,bottom,right | auto
SFSymbol & Style Sheet Support
SFSymbol
Adds experimental sfsymbol support to command line tool. SVGs can be converted to SFSymbol template which can be imported directly into Xcode.
$ swiftdraw alert_fill.svg --format sfsymbol
SwiftDraw automatically expands strokes (on macOS) and winds subpaths using the non zero rule to create a compatible symbol template.
Style Sheet
Adds style sheet support for simple selectors: class
, element
and id
.
.s {
stroke: darkgray;
stroke-width: 5 /* asd */;
fill-opacity: 0.3
}
#a {
fill: yellow;
}
.b {
fill: blue;
}
rect {
fill: pink;
}