Skip to content

Export the shapes in the SF Symbols font

Notifications You must be signed in to change notification settings

stuartro/sfsymbols

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Swift 5.5 Support

Updated to support ArgumentsParser v0.4.3, builds using Xcode 13 beta 2 using Swift 5.5


sfsymbols

sfsymbols is a quick-and-dirty command-line tool to export the shapes inside the SF Symbols font.

Install

Command line

cd sfsymbols
swift build -c release
ln -s ${PWD}/.build/release/sfsymbols /usr/local/bin/sfsymbols

Xcode

Open the Package.swift and build the project, then run the resulting sfsymbols tool from the command line.

Usage

Output all icons to a folder called symbols in png format

sfsymbols --output symbols --format png

Output all icons with heart in the symbol name in svg format to the current directory

sfsymbols --symbol-name heart.*

There are several options you may specify:

  • --symbol-name: A pattern to limit which symbols are exported. Example: *.fill or *cloud*.

  • --font-file: An path to a specific SF Symbols ttf file. If you leave out this argument, then sfsymbols will attempt to locate an installed copy of SF Symbols.app on your machine and use the font packaged inside there.

  • --font-weight: A specific font-weight to use for exporting symbols. Valid values are:

    • ultralight
    • thin
    • light
    • regular
    • medium
    • semibold
    • bold
    • heavy
    • black

    If you leave out this argument, then regular will be used. Also, depending on the specified --font-file, not all copies of the SF Symbols font may contain all weights.

  • --font-size: The size (in points) to use when exporting symbols. If you leave this argument out, then the default size of 44 will be used.

  • --symbol-size: The size of the shape to use. Valid values are small, medium, and large. The default value is large.

  • --output: The folder where exported shapes should be created. Defaults to the current working directory.

  • --format: The format in which you'd like shapes exported. Valid values are:

    • ios-swift: UIBezierPath-based code in Swift
    • ios-objc: UIBezierPath-based code in Objective-C
    • macos-swift: NSBezierPath-based code in Swift
    • macos-objc: NSBezierPath-based code in Objective-C
    • svg: SVG files
    • png: PNG images
    • pdf: PDF images
    • iconset: An SFSymbols.xcassets bundle of 1x, 2x, and 3x template PNGs
    • iconset-pdf: An SFSymbols.xcassets bundle of vector template PDFs

    The default value is svg.

Disclaimer

This is posted mainly as a proof-of-concept. Use it at your own risk.

It is your responsibility to make sure you are following the terms and conditions of using Apple's symbols. For more information, see https://developer.apple.com/design/human-interface-guidelines/sf-symbols/overview/.

About

Export the shapes in the SF Symbols font

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 100.0%