IBM Plex Sans JPをWebフォントとして使う
話題のIBM Plex Sans JPをWebフォントとして使ってみました。
公式に配布されているファイルを配置して読み込むだけなので簡単です。
Google Fontsでも英フォント(IBM Plex Sans, IBM Plex Serifなど)は配信されているので、JPもそのうちくるでしょう。
実際に使ってみる
ダウンロード
v5.2.1)を選択し、Web.zipと書かれたファイルをダウンロードします。
ここから最新のリリース(2021/08現在、必要なファイルの選定
font-familyとして使うために必要なファイルは下記の2種類です。
- フォントの実体 (複数ファイルなのでディレクトリごと使用)
(Web/IBM-Plex-Sans-JP/fonts/...) - フォントを読み込むCSS
(Web/css/ibm-plex-sans-jp.min.css)
ダウンロードしたファイル(Web.zip)を解凍し、/assets/〜
に配置します。
/assets/IBM-Plex-Sans-JP/fonts/...
/assets/css/ibm-plex-sans-jp.min.css
CSSの読み込みと、font-familyの指定
上記のibm-plex-sans-jp.min.css
を読み込み、font-familyを指定すれば完了です!
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>IBM Plex Sans JP Test</title>
<link rel="stylesheet" href="/assets/css/ibm-plex-sans-jp.min.css">
<style>body {font-family: 'IBM Plex Sans JP'}</style>
</head>
<body>
<p>IBM Plex Sans JPで表示されます。</p>
</body>
</html>
CSSとフォントの実体の配置場所を変更する
フォントファイルを配置するディレクトリは、CSSファイルから見た相対パスで指定されています。上記の配置で読み込めている理由は、デフォルトでパスが../
に設定されているためです。
SCSS
全てSCSSで管理されているので、相対パスの設定さえ変更すれば、環境に合わせたCSSファイルを生成することができます。
Dart Sass
ちなみに、node-sass(LibSass)ではなくDart Sassが使われています。
VS CodeならDartJS Sass Compiler and Sass Watcher、
gulpなら以下のように指定する必要があります。
const scss = require('gulp-sass')(require('sass'));
本題ではないのでコンパイル方法は省略します。
SCSSの編集
基本的に、Web/scss/ibm-plex.scss
を編集するだけでOKです。
$font-prefix: '..' !default;
@import 'mono/index';
@import 'sans/index';
@import 'sans-condensed/index';
@import 'sans-hebrew/index';
@import 'sans-devanagari/index';
@import 'sans-thai/index';
@import 'sans-thai-looped/index';
@import 'serif/index';
@import 'sans-arabic/index';
1行目の$font-prefix
が、CSSファイルから見たフォントディレクトリへの相対パスになっているので、ここを環境に合わせて編集します。
また、v5.2.1ではJPを読み込んでいないので、JPだけ読み込むように変更します。
$font-prefix: '../fonts' !default;
@import 'sans-jp/index';
このSCSSをコンパイルし、ファイルを配置すれば完了です!なんて簡単。
/assets/fonts/IBM-Plex-Sans-JP/fonts/...
/assets/css/ibm-plex.css
このフォントは、個人的にはアルファベットが可愛めで読みやすくて好きです。ひらがなも特徴的ですが、空間を最大限に広く使って読みやすさを重視している感じ?にみえます。
Webフォントとしての利用も今後増えていくんじゃないでしょうか。
Discussion