見出し画像

FigmaからSF Symbols 5のカスタムシンボルをエクスポートするプラグインを作った

先日、AppleのSF Symbolsのカスタムシンボルを作成するFigmaプラグインを個人開発しました。

開発の経緯と利用方法について説明します。


SF Symbolsとは何か?

SF Symbolsは、Appleが公式に提供しているアイコンライブラリで、5,000種類以上のシンボルが収録されています。現在正式リリースされているバージョンはSF Symbols 4で、次期バージョとしてSF Symbols 5がベータ提供されています。

AppleのシステムフォントであるSan Franciscoフォントとともに利用しやすいように、9種類のウェイトと3種類のスケールが提供されています。

9種類のウェイトと3種類のスケール(出典:https://developer.apple.com/jp/design/human-interface-guidelines/sf-symbols

SF Symbolsには複数のカラーを適用できるマルチカラーの仕組みがあります。SF Symbols 5からは手軽にアニメーションを利用できるシンボルアニメーションの仕組みが導入されました。

マルチカラーの適用後(出典:https://developer.apple.com/jp/design/human-interface-guidelines/sf-symbols
バウンスアニメーション(出典:https://developer.apple.com/jp/design/human-interface-guidelines/sf-symbols

このようにSF Symbolsを利用すると、通常の画像ファイルのアイコンでは実現できない様々な表現を、Appleプラットフォーム上で手軽に実現することができます。

カスタムシンボルの作成

SF Symbolsには、ユーザーが作成したカスタムシンボルを追加する機能があります。カスタムシンボルを作成するにはSF Symbolsアプリケーションに規定のフォーマットでSVGファイルを追加します。現在ベータ提供されているSF Symbols 5での作成手順を説明します。

カスタムシンボルの作成手順

1. https://developer.apple.com/sf-symbols/ から「Symbols 5 Beta」をダウンロード、インストールします。

2. SF Symbolsを起動するとウィンドウにシンボルの一覧が表示されます。いずれかのシンボルを選択した状態で、メニューの「ファイル」から「テンプレートを書き出す」を選択します。

SF Symbolsアプリからテンプレートを書き出す

3. 書き出したSVGファイルをAdobe illustratorなどのベクターデザインツールで編集します。テンプレートを元に Small Ultralight, Small Regular, Small Black の3種類のシンボルをアウトライン化されたベクターレイヤーとして配置します。SF Symbolsの仕組みにより、この3種類をベースにその他のスケールとサイズのパターンが自動で作成されます。

テンプレートのSVGファイルをillustratorで編集

4. 3で編集したSVGファイルを、SF Symbolsの「カスタムシンボル」にドラッグして追加します。

SF Symbolsアプリにカスタムシンボルを追加

5. プロパティインスペクタからはマルチカラーやアニメーションのための設定を行うことができます。

詳細はWWDCの以下のセッションが参考になります。

6. 追加したカスタムシンボルを選択し、メニューの「ファイル」の「シンボルを書き出す」から書き出します。

SF Symbolsアプリからカスタムシンボルを書き出す

7. 書き出したSVGファイルはXcodeからAssetsして追加して実装に利用することができます。

書き出したカスタムシンボルはXcodeからAssetsとして追加

このような手順でカスタムシンボルを追加できますが、テンプレートを元にSVGファイルを編集するのには多くの手間がかかります。カスタムシンボル用のSVGフォーマットをFigmaから直接エクスポートできると手間が劇的に軽減できそうです。そこでFigmaプラグインとしてSF Symbols Optimizerを開発することにしました。

SF Symbols Optimizer の使い方

1. Figmaファイルを開いた状態でプラグイン「SF Symbols Optimizer」を検索し、プラグインウィンドウを開きます。

2. SF Symbolsに変換したいアイコンをFrameまたはComponentまたはInstanceレイヤーとして用意します。

3. 変換したいレイヤーを複数選択した状態でプラグインウィンドウの「Scan」ボタンを押します。レイヤー未選択の場合はページ内のすべての該当レイヤーが読み込まれます。

変換したいレイヤーを複数選択した状態でプラグインウィンドウの「Scan」ボタンを押下

4-1. 単一のウェイトのシンボルを書き出す場合: タブ「Single Weight」を選択し、一覧の中から書き出したいものを選びエクスポートアイコンを押します。

単一ウェイトのシンボルを書き出す

4-2. 複数ウェイトのシンボルを書き出す場合: タブ「Multi Weight」を選択し、「Ultralight」「Regular」「Black」の3種類のウェイトにそれぞれのアイコンのレイヤーを指定し、「Export」ボタンを押します。

複数ウェイトのシンボルを書き出す

5.ファイル名を確認してSVGファイルを保存します。

エクスポートされたSVGファイルはSF Symoblsアプリにカスタムシンボルとして追加します。前述のカスタムシンボルの作成手順の4以降の手順に進んでください。
複数ウェイトのシンボルとしてカスタムシンボルを作成した場合は、標準シンボルと同様にXcodeから9種類のウェイトを利用することができます。
マルチカラーやアニメーションも、簡単な実装で利用することができます。

複数ウェイトのシンボルとしてカスタムシンボルを作成すると、
実装時に9種類のウェイトで利用できる

こんな感じでFigmaから簡単にSF Symbolsのカスタムシンボルを作成することができるようになりました。

TwitterでもUIデザインについて発信しています。感想やコメントなどいただけると嬉しいです!

Twitter (@shingo2000)

この記事が気に入ったらサポートをしてみませんか?