LoginSignup
1
0

More than 1 year has passed since last update.

アイコンフォントをサイトごとに作成し、デザイン、コーディングをスムーズにする

Last updated at Posted at 2022-07-18

Adobe XD ってインストールしていないフォントは表示されませんよね…
Photoshop はテキストを編集しなければ表示されたのに…

Adobe XD のデータをもらって、いざコーディングをしようとするも…
「あ!アイコンフォントが見えない!」なんてことが…

というわけで、アイコンフォントをサイトごとに作成し、デザイン、コーディングをスムーズにしたいと思います!

アイコンフォントを作成する

アイコンフォントを作成するには、神サイト Fontello を利用します。

1. アイコンを選択する

ずらっと並んだアイコンの中から利用したいアイコンをクリックして選択します。

矢印のような上下左右のパターンがあるアイコンは、利用しない場合でも上下左右を選択しておくことをオススメします。
後でアイコンを追加すると、アイコンの順番がめちゃめちゃになり、管理しづらくなります。

fontello_01.png

自分で作ったアイコンを利用したい場合は、SVGファイルとして作成しておきます。
一番上の Drag custom SVG icons or SVG font here. と書いてあるグレーの部分にSVGファイルをドラッグします。

fontello_02.png

2. アイコンの名前を設定する

利用したいアイコンを選択すると上部のタブ Customize Names が選択できるようになります。
クリックすると、アイコンと名前の一覧画面が表示されます。

デフォルトで名前は設定されていますが、変更したい場合はクリックすると接頭辞の icon- 以降が編集できます。

fontello_03.png

3. アイコンの unicode を設定する

利用したいアイコンを選択すると上部のタブ Customize Codes が選択できるようになります。
クリックすると、アイコンと unicode の一覧画面が表示されます。

デフォルトで unicode は設定されていますが、変更したい場合はクリックすると接頭辞の U+ 以降が編集できます。

fontello_04.png

ここで設定した unicode は CSS で利用するため、E000、E001、E002…のように連番にしておくと管理が楽になります。
E000~F8FFは私用領域となり、文字は割り当てられていません。
そのため、アイコンフォントに割り当てることが可能となります。
Unicode一覧 E000-EFFF - Wikipedia

4. アイコンフォントの名前を変更する

サイトごとにアイコンフォントを管理するため、作成するフォント名を変更します。
ico-+サイト名 のように変更することをオススメします。

fontello_05.png

何も入力しない場合は fontello という名前になります。

5. アイコンフォントをダウンロードする

右上の Download webfont ボタンをクリックしてダウンロードします。

fontello_06.png

ダウンロードしたファイル構造は以下のようになっています。

fontelloダウンロードファイル
fontello-xxxxxxxx/
├── css/
│   ├── animation.css
│   ├── ico-sitename-codes.css
│   ├── ico-sitename-embedded.css
│   ├── ico-sitename-ie7-codes.css
│   ├── ico-sitename-ie7.css
│   └── ico-sitename.css
├── font/
│   ├── ico-sitename.eot
│   ├── ico-sitename.svg
│   ├── ico-sitename.ttf
│   ├── ico-sitename.woff
│   └── ico-sitename.woff2
├── config.json
├── demo.html
├── LICENSE.txt
└── README.txt

複数のフォントファイルが格納されていますが、IEも考慮しているためです。
IEなき今、必要なフォントは以下の2種類だけで十分です。

  • デザイン
    • ico-sitename.ttf
  • Web
    • ico-sitename.woff2

デザインする

1. アイコンフォントをインストールする

ダウンロードした ico-sitename.ttf をインストールします。

2. 利用したいアイコンをコピーする

  1. ダウンロードしたファイルの中に格納されている demo.html をブラウザで開く
  2. アイコンフォントの一覧が表示されるので、利用したいアイコンを選択しコピーする

fontello_07.png

3. アイコンフォントをデザインに表示する

デザインツールのテキスト入力時、フォント名に ico-sitename を選択し、コピーしたアイコンをペーストするとアイコンが表示されます。

fontello_08.png

コーディングする

1. CSS でアイコンフォントを読み込む

CSS
@font-face {
  font-family: icons;
  src: url(ico-sitename.woff2) format('woff2');
}

2. 利用したいアイコンの unicode をコピーする

  1. ダウンロードしたファイルの中に格納されている demo.html をブラウザで開く
  2. アイコンフォントの一覧が表示されるので、右上の show codes をクリック
  3. アイコン名が unicode に切り替わるので、利用したいアイコンの unicode をコピーする

fontello_09.png

3. アイコンフォントをブラウザに表示する

コピーした unicode を 疑似要素 ::beforecontent プロパティに設定して表示させます。

CSS
@font-face {
  font-family: icons;
  src: url(ico-sitename.woff2) format('woff2');
}
.hoge::before {
  font-family: icons;
  content: '\e801';
}

Sass を利用する

Sass を利用するとアイコンの管理と記述が楽になります。

Sass
@use 'sass:map';

// アイコンの名前と unicode をマップで定義
$icon-font-map: (
  up-open: 'e800',
  down-open: 'e801',
  left-open: 'e802',
  right-open: 'e803',
  angle-up: 'e804',
  angle-down: 'e805',
  angle-right: 'e806',
  angle-left: 'e807',
  angle-circled-up: 'e808',
  angle-circled-down: 'e809',
  angle-circled-left: 'e810',
  angle-circled-right: 'e811',
  angle-double-up: 'e812',
  angle-double-down: 'e813',
  angle-double-right: 'e814',
  angle-double-left: 'e815',
  twitter: 'e816',
  instagram: 'e817',
  facebook: 'e818'
);

// アイコンの unicode を返す関数
@function ico($icon-name) {
  // 引数に指定した名前のアイコンがある
  @if map-has-key($icon-font-map, $icon-name) {
    @return #{"'\\" + map-get($icon-font-map, $icon-name) + "'"};
  }

  // 引数に指定した名前のアイコンがない
  @warn 'iconfont name "#{$icon-name}" not found.';
  @return null;
}

// CSS に出力する内容
@font-face {
  font-family: icons;
  src: url(ico-sitename.woff2) format('woff2');
}
.hoge {
  &::before {
    content: ico(down-open);
  }
}
CSS(コンパイル結果)
@font-face {
  font-family: icons;
  src: url(ico-sitename.woff2) format('woff2');
}
.hoge::before {
  font-family: icons;
  content: '\e801';
}

アイコンを編集する

アイコンの追加や削除、アイコン名を変更したい…
そんな時は、

  1. Fontello のサイトを表示する
  2. ダウンロードしたファイルの中に格納されている config.json をサイト上にドラッグする

するとアイコンの選択状態が復元されます!

まとめ

いかがでしたでしょうか?
Fontello を利用すると、アイコンフォントの作成、利用、管理がとっても楽になります。
サイトごとに作成し、ダウンロードしたファイルをバージョン管理することをオススメします。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0