Figmaのローカルフォント管理から解放される!Font Agentを活用した極限の同期・共有ワークフロー
「デザインを開いたら、また『Missing Fonts(フォントの欠落)』の警告が出ている……」
「MacとWindowsでフォント名が微妙に異なり、デザイン崩れが発生した」
「エンジニアが実装しようとしたら、デザインで使われているフォントの正確なバージョンがわからない」
UI/UXの現場において、フォント管理の破綻はデザインシステムの崩壊に直結します。 Figmaは強力なツールですが、ローカルフォントのハンドリングに関しては、OSの仕様差やチームメンバーの環境依存という「泥臭い現実」に長年悩まされてきました。
本記事では、世界基準のプロダクト開発現場を率いるテックリードの視点から、Figmaのフォントレンダリングの深層メカニズムを解き明かし、Font Agent(外部フォント管理ツール)を活用した「絶対に崩れないフォント同期環境」の構築手法を解説します。
デザインシステムの堅牢性を極限まで高め、デザイナーと開発者の摩擦をゼロにするための、極上のエンジニアリングプラクティスをここに伝承します。
—
1. Figmaフォントレンダリングの深層と「Missing Fonts」の真因
なぜ、Figmaでフォントの欠落やズレが起きるのでしょうか?まずはそのメカニズムを脳裏に叩き込んでください。
Figmaがフォントを認識する仕組み
Figma(特にデスクトップアプリや、Figma Font Helperを導入したブラウザ版)は、ローカルOSのフォントAPIを叩いてフォントファミリーをスキャンします。このとき、Figmaがマッチングキーとして使用するのは主に以下の2つのメタデータです。
1. PostScript Name(例: `SFProText-Bold`)
2. Full Name / Font Family Name(例: `SF Pro Text` + Weight `Bold`)
破綻の原因:OSによるメタデータ解釈の差異
MacとWindowsでは、同じフォントファイルであってもOSが認識する「ファミリー名」や「サブファミリー名(Weight)」のパース規則が微妙に異なります。
- Mac環境: `Hiragino Kaku Gothic ProN`
- Windows環境: `ヒラギノ角ゴ ProN`(あるいはそもそもインストールされていない)
この名前の不一致により、Figmaは「同一のフォント」として認識できず、悪名高き “Missing Fonts” を吐き出します。さらに、フォントファイルの「バージョン(マイナーアップデート)」がチーム内で異なると、文字のバウンディングボックス(高さや幅)が微妙に変化し、「昨日まで1行に収まっていたテキストが改行され、レイアウトが崩壊する」というサイレントな大惨事を引き起こします。
—
2. Font Agent / 外部管理ツールを活用した「完璧な同期環境」の構築
このカオスを解決する特効薬が、プロフェッショナル向けのフォント管理マネージャー(FontAgent、RightFont、FontBase など)の導入と、クラウドストレージを組み合わせた一元管理です。
ここでは、業界標準である FontAgent または RightFont (Team Edition) をベースにした、チーム全体の同期アーキテクチャを設計します。
究極のフォント同期アーキテクチャ
チーム内でフォントを完全に同期するための3ステップ・ワークフローを構築します。
[ 共有クラウドストレージ (Git / Drive / S3) ]
│
├─► fonts/ (全フォントの生データ: .otf, .ttf)
└─► font-mapping.json (メタデータ定義ファイル)
│
▼ (自動同期)
[ 各メンバーの Font Agent (FontAgent / RightFont) ]
│
▼ (アクティベーション)
[ 各自のローカルOS Font Book / Windows Fonts ]
│
▼ (Figma Daemonが検知)
[ Figma Desktop / Web App ]
設定の神ルール:フォントアセットのGit / クラウド管理
フォントファイル(`.otf` / `.ttf`)を、デザインシステムを管理するGitリポジトリ、またはセキュアな共有クラウド(Google Drive等)の特定ディレクトリに集約します。
1. フォントの「バージョン」を固定する:
Webフォント(Google Fonts等)であっても、ローカルにインストールするファイルは静的な静止バージョン(例: `Inter-V4.ttf`)に統一し、自動アップデートによるデザイン崩れを防ぎます。
2. Font Agentの同期機能を利用する:
FontAgentの「Smart Folder」やRightFontの「Sync Folder」機能を使い、上記共有ディレクトリを常時監視させます。これにより、リポジトリに新しいフォントが追加された瞬間、チーム全員のOSにバックグラウンドで自動インストール(アクティベート)されます。
—
3. 実践!デザイナーと開発者をつなぐ「フォントメタデータJSON」の構築
フォントの不一致を完全に防ぐためには、デザインシステム(Figma)とコード(CSS/Styled Components/Tailwind)の間で、フォントの命名規則を宣言的に定義したシングルソース・オブ・トゥルース(信頼できる唯一の情報源)が必要です。
以下は、W3CのDesign Tokensフォーマットに準拠した、FigmaのStyleと実装コードをマッピングするJSON定義ファイルのベストプラクティスです。
{
“typography”: {
“fontFamilies”: {
“sans”: {
“value”: “Inter, -apple-system, BlinkMacSystemFont, ‘Segoe UI’, Roboto, sans-serif”,
“type”: “fontFamily”,
“comment”: “プロダクト全体のメインサンセリフ。Figma上でのフォント名は ‘Inter’ に統一すること。”
},
“mono”: {
“value”: “‘JetBrains Mono’, ‘Courier New’, monospace”,
“type”: “fontFamily”,
“comment”: “コードブロックおよびデータ表示用フォント。”
}
},
“fontWeights”: {
“regular”: {
“value”: “400”,
“type”: “fontWeight”,
“figmaName”: “Regular”
},
“medium”: {
“value”: “500”,
“type”: “fontWeight”,
“figmaName”: “Medium”
},
“bold”: {
“value”: “700”,
“type”: “fontWeight”,
“figmaName”: “Bold”
}
},
“systemMapping”: {
“macOS”: {
“localName”: “Inter-Regular”,
“postScriptName”: “Inter-Regular”
},
“windows”: {
“localName”: “Inter Regular”,
“postScriptName”: “Inter-Regular”
}
}
}
}
このJSONがもたらす恩恵
- Style Dictionary等との連携: このJSONをインポートし、ビルドプロセス(Style Dictionary)を走らせることで、CSS変数(`–font-sans`)やSass/Tailwindの設定ファイルを自動生成できます。
- Figmaでの整合性: `figmaName`(Figma上のウェイト名)とCSSの `fontWeight` 数値を明示的にマッピングしているため、エンジニアがFigmaのInspectパネルを見た際、どのCSS数値に置き換えればよいかが一目瞭然になります。
—
4. Figmaの隠れたキーボードショートカット&絶対に入れるべき「神プラグイン」
フォント管理の作業効率をさらに数倍に引き上げる、プロフェッショナル御用達のショートカットとプラグインを紹介します。
開発・デザインスピードを爆上げるキーボードショートカット
Figma内のテキスト操作やフォント確認において、以下のショートカットを指に覚え込ませてください。
- `Ctrl` + `T` (Mac: `Control` + `T`) : テキストレイヤーの作成。
- `Cmd` + `Option` + `C` (Windows: `Ctrl` + `Alt` + `C`) : テキストスタイル(フォントファミリー、サイズ、ラインハイトなどすべて)をコピー。
- `Cmd` + `Option` + `V` (Windows: `Ctrl` + `Alt` + `V`) : コピーしたテキストスタイルを別のテキストレイヤーに一括ペースト。
- `Cmd` + `/` (Windows: `Ctrl` + `/`) : クイックアクションの起動。ここに `Missing fonts` と打ち込むだけで、欠落フォントの管理ダイアログへ一瞬でアクセスできます。
—
プロダクトデザイナー・UIエンジニアが今すぐ入れるべき神プラグイン
1. Font Replacer
Figmaファイル全体、あるいは選択範囲内のフォントファミリーを、一括で別のフォントに置換するための最高峰のプラグイン。
- 現場での活用法: 外部から提供されたデザインテンプレートや、一時的にローカルフォントで作成されたプロトタイプを、チーム共通の「Font Agent管理下のフォント」へ1クリックで移行できます。
2. Style Organizer
デザインファイル内で使用されている「スタイル(Typography / Color)」が、正しくデザインシステム(Library)と紐づいているかをスキャン・一元管理します。
- 現場での活用法: ローカルフォントを直書きしてしまっている「野良テキスト」を検出し、一括で共通スタイルへとマージ・修正できます。
3. Fontster
Figmaファイル内のすべてのフォントをスキャンし、ファミリー名、ウェイト、スタイルごとに一覧化して、どれが欠落しているかを視覚的にリストアップします。Figma標準の警告よりも詳細なデバッグが可能です。
—
5. チーム開発で役立つ「フォント共有化・運用の鉄則」
ツールを導入するだけでは完璧ではありません。運用の「仕組み化」が必要です。テックリードとしてチームに課すべき3つの約束を定義します。
鉄則1: Figma Libraryの「Typography Style」以外は原則使用禁止
デザイン作成時、テキストツールで入力した後に直接フォントファミリーやウェイトを手動で変更する行為(ハードコーディング)を禁止します。必ず、パブリッシュされたFigma Libraryの「Text Style」を適用させます。
これにより、万が一フォントの変更やバグ修正が発生した場合も、Library側のスタイルを1箇所修正するだけで、数百におよぶ画面のタイポグラフィを一瞬でアップデートできます。
鉄則2: Figmaの「Organization/Enterprise」プランにおけるカスタムフォントのアップロード機能の活用
もし組織がFigmaのOrganization以上のプランを契約している場合、ローカルフォント管理の最高解は「Figmaのフォントアップロード機能」です。
1. 管理者がFigmaの「Admin Settings」>「Shared Fonts」にアクセス。
2. チームで合意したフォントファイル(`.otf` や `.ttf`)をアップロード。
3. 結果: メンバー各自がローカルにフォントをインストールしていなくても、Figmaのクラウド上でフォントが共有され、ブラウザ版・アプリ版問わず「Missing Fonts」が完全にゼロになります。
> テックリードの視点: 「Shared Fonts」は究極の解決策ですが、ローカルでのコーディング時にエンジニアがフォントファイルを必要とするため、前述した Git / クラウドストレージ + Font Agent によるローカル同期環境との併用がベストプラクティスです。
—
6. まとめ:フォントを制する者が、マルチプラットフォームのデザインシステムを制する
Figmaにおけるフォント管理の課題は、単なる「デザイナーのこだわり」ではなく、「デザインとコードの整合性を担保し、開発スピードを最大化するためのエンジニアリング課題」です。
- Font Agent(または類似ツール)によるチーム内フォントの絶対的な同期。
- JSONメタデータによる、デザインとコード(CSS)の厳密なマッピング。
- Style Organizer などのプラグインを活用した、デザインファイルの継続的なクレンジング。
これらを徹底することで、あなたのチームの開発効率は劇的に向上し、無駄な「レイアウト修正バグ」に時間を奪われることは二度となくなります。
デザインと開発が完全にシームレスに繋がる、極上のデザインシステムをその手で構築してください。