Figmaで書き出したSVGの形が崩れるときの対処法
どういう状況か
FigmaでエクスポートしたSVGは、ときどき形が崩れてしまっていることがあります。
たとえば、この画像。上がFigmaで作った元のデザインで、下がSVGにエクスポートしたものです。濁点のオレンジの部分が繋がってしまっていたり、「ろ」や「ぼ」の線の角が丸まってしまったりしています。

Figmaで作成したデザインをSVGにエクスポートすると、たびたびこういった問題が起こります。
対策
FigmaのデザインデータをSVGにエクスポートすると形が崩れてしまう問題は、PDFを経由することで回避できます。
FigmaからPDFにエクスポート→PDFをSVGに変換、という流れです。
ここからは、詳細な手順を説明します。
1. PDFにエクスポート
まず、Figmaで作成したデザインをPDFにエクスポートします。通常のエクスポートの設定で、ファイル形式としてSVGの代わりにPDFを指定します。

2. PDFからSVGに変換
エクスポートしたPDFをSVGに変換します。変換に使うソフトは何でもいいのですが、ここでは例としてInkscapeを使います。
WindowsでPDFをInkscapeを使って開く方法は2つあります。1つ目は、右クリックから[プログラムから開く]を使う方法です。[別のプログラムを選択]からInkscapeを選択します。
[常に表示する]を選択すると、今後PDFを開くときは自動的にInkscapeが開くようになります。たいていの場合はPDFビューワーで開いた方がいいと思うので、[一度だけ]を選択します。


InkscapeでPDFを開くもう1つの方法は、Inkscapeを起動してメニューの[ファイル]から[開く]をクリックし、PDFファイルを選択する方法です。この2つのどちらの方法を使っても構いません。
どちらの方法を使った場合でも、[PDFインポート設定]という画面が出てきます。この設定画面では、[Poppler/Cairoをインポート]を選択してください。
![[PDFインポート設定]のスクリーンショット](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2F2022-11-30-19-16-38.png&w=3840&q=75)
[Poppler/Cairoをインポート]の代わりに[内部インポート]を選択すると、画像のように文字が2重になる場合があります。そのため、必ず前者を選択してください。

InkscapeでPDFを開けたら、あとは[名前を付けて保存]から[Inkscape SVG]か[プレーンSVG]を選択して保存するだけです。
![[名前を付けて保存]の画面](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2F2022-11-30-19-25-27.png&w=3840&q=75)

プレーンSVGを選択した場合、変換後にInkscapeを閉じようとすると、「データの破損を起こす可能性があるためInkscape SVGで保存しますか」みたいなことを聞かれます。今回は変換に使っただけなので、Inkscape SVGにせずにそのまま閉じてしまって大丈夫です。
完成
画像のとおり、元のデザインに忠実なままSVGへ変換できました。

注意点
Figmaをアウトライン表示にすると分かりやすいのですが、この記事で紹介した方法を使って変換したSVGのデータは、とても汚いです。上が元のデザインデータ、下が変換後のSVGをFigmaにインポートしたものです。
見た目に支障はありませんが、パスがぐちゃぐちゃしているということは頭の片隅に入れておいた方がいいかもしれません。

記事をシェア
フォローして最新情報を入手
Googleの優先ソースに追加すると、このサイトの記事をGoogleで見つけやすくなります。また、ぜひXやRSSフィードもフォローしてください。
次の記事
-1.png&w=1080&q=75)
生まれた時から、母国語よりも先にJavaScriptを使っていました。ネットの海のどこにもいなくてどこにでもいます。
Webフロントエンドプログラマーとして、TypeScriptを用いたWebアプリやブラウザー拡張機能を制作。Xのシャドウバン検知ツール「Shadowban Scanner」やリンクカード復活ツール「Restore Link Card」を公開し、国内外のメディアで紹介されました。iGEM 2023ではJapan-UnitedチームのWikiを制作してGrand Prizeの獲得に貢献。ブログではXやSNSの最新ニュース、不具合の検証と対処法、フロントエンド開発の知見を発信しています。




![G HUBのウィンドウの中央に「G」ロゴが表示されており、その下にはプログレスバーと[ローカライゼーションを読み込み中]というテキストが表示されている](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2Fg-hub-loading-localizations-screen.png&w=3840&q=75)

![Chromeのウィンドウに[Geminiに相談]というボタンが表示されており、その下に表示されているコンテキストメニューに[固定を解除]という項目が表示されているようすのスクリーンショット](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2Fchrome-gemini-unpin.png&w=1080&q=75)




![Discordの[プロフィールのプライバシー]設定のスクリーンショット](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2Fdiscord-profile-privacy-settings.png&w=3840&q=75)
![スマートフォンのホーム画面の[Social]フォルダーを表示した写真。フォルダー内にはFacebook、Instagram、Threads、X、LinkedIn、TikTok、YouTubeのアイコンが配置されている](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2Ffacebook-instagram-threads-x-twitter-linkedin-tiktok-youtube-mobile-app-unsplash.jpg&w=3840&q=75)

