プログラミング用フォント Ricty

概要

Ricty screenshot of C Ricty screenshot of HTML

Ricty (リクティ) は Linux 環境での研究・開発に適したフリーなプログラミング用 TrueType フォントです。テキストエディタやターミナルエミュレータ、プログラミング言語やマークアップ言語に対する使用を想定しています。以下の 2 つの等幅フォントの合成、および、プログラミング用フォントとしてのいくつかのチューニングを行う生成スクリプトの配布を行なっています。

Inconsolata
Top 10 Programming Fontsプログラミング時に最適なフォント「Inconsolata」などで高い評価を受けているサンセリフ体等幅欧文フォント
Migu 1M
M+ 1MIPA ゴシックの合成フォント (旧称 M+1VM+IPAG circle/M+2VM+IPAG circle) であり、Windows でプログラミングに最適なフォントを探すなどで高い評価を受けているゴシック体等幅和文フォント

Inconsolata 作者の Raph Levien 氏、Migu 1M 作者の itouhiro 氏、M+ 1M 作者の coz 氏、IPA ゴシックのベースとされている TB ゴシック作者の林隆男氏、私のイニシャルから Ricty (リクティ) と命名しました。

特徴

ライセンス

ダウンロード

ricty_generator.sh
Ricty 生成スクリプト
ricty_discord_converter.pe
Ricty Discord コンバートスクリプト

生成方法

Ricty 生成スクリプトによる生成方法を示します。また、姉妹フォント Ricty Diminished は生成を必要としない TrueType フォントを配布しています。

FontForge のインストール

Debian/Ubuntu

# apt-get install fontforge

Fedora/CentOS

# yum install fontforge

OpenSUSE

# zypper install fontforge

その他の Linux ディストリビューション

FontForge Open Source Font Editor より入手してください。

Inconsolata のインストール

Google Fonts Inconsolata (リリース版) もしくは GitHub google/fonts/ofl/inconsolata (リポジトリ) より Inconsolata-Regular.ttf および Inconsolata-Bold.ttf を入手し、インストールしてください。Linux ディストリビューションによってはパッケージが提供されています。

Migu 1M のインストール

M+ と IPA の合成フォントより migu-1m-regular.ttf および migu-1m-bold.ttf を入手し、インストールしてください。Linux ディストリビューションによってはパッケージが提供されています。

Ricty の生成

Ricty 生成スクリプトRicty Discord コンバートスクリプトをダウンロードして同じディレクトリに置き、以下のコマンドを実行してください。

% ./ricty_generator.sh auto

もしくは

% ./ricty_generator.sh Inconsolata-{Regular,Bold}.ttf migu-1m-{regular,bold}.ttf

生成には 2–5 分程の時間がかかります。

Ricty のインストール

% cp -f Ricty*.ttf ~/.fonts/
% fc-cache -vf

ricty_generator.sh のコマンドラインオプション

-h
ヘルプを表示する。
-V
バージョン番号を表示する。
-f /path/to/fontforge
fontforge コマンドのパスを指定する。
-v
fontforge の警告メッセージを表示する。
-l
生成の過程で生じる中間ファイルを削除せずに残す。
-n string
フォントファミリ名を「Ricty」ではなく「Ricty ○○○」として生成する。
-w
行間を広くする。
-W
行間をかなり広くする。
-Z unicode
他のグリフのコピーすることで全角スペースを可視化する (たとえば `-Z 2318` とすると、全角スペースが ⌘ になる)。
-z
全角スペースを可視化しない。
-a
Inconsolata のグリフを優先し、Ambiguous 文字を全角化しない。
-s
Migu 1M のグリフを縮小しない (`-w` オプションとの併用を推奨)。

派生フォント Ricty Discord

Ricty Discord screenshot of C Ricty Discord screenshot of HTML

Ricty では、調和・統一感の維持のため、プログラミング用フォントのコアである Inconsolata 由来の ASCII 文字に手を入れないようにしています。一方、Discord (不協和音) 版は、統一感を乱す覚悟で ASCII 文字に手を入れた Ricty の派生フォントです。通常、Ricty Discord は Ricty 生成の際に自動的に生成されますが、コンバートスクリプトを直接実行することによっても生成できます。このとき、オプションを指定することで個々の変更点を無効化することができます。

% ./ricty_discord_converter.pe [options] Ricty-{Regular,Bold}.ttf

ricty_discord_converter.pe のコマンドラインオプション

-space
「 (半角スペース)」を可視化する。
-quotedbl
「"」を拡大しない。
-quotesingle または -quote
「'」を拡大しない。
-asterisk
「*」を少し下方に移動しない。
-plus
「+」を少し下方に移動しない。
-comma
「,」を拡大しない。
-hyphen
「-」を少し下方に移動しない。
-period
「.」を拡大しない。
-0 または -zero
「0」をドットゼロにせず、スラッシュゼロのままにする。
-7 または -seven
「7」にクロスバーを付けない。
-colon
「:」を拡大しない。
-semicolon
「;」を拡大しない。
-less-greater または -angles
「<」および「>」を少し下方に移動しない。
-equal
「=」を少し下方に移動しない。
-D
「D」を Eth にしない (「D」にクロスバーを付けない)。
-Z
「Z」にクロスバーを付けない。
-asciicircum または -circum
「^」を拡大しない。
-grave
「`」を拡大しない。
-l
「l」の左下のセリフを切り落とさない。
-r
「r」をセリフ体 (Inconsolata の不使用グリフ) にしない。
-z
「z」にクロスバーを付けない。
-bar
「|」を破断線 (Inconsolata のグリフ) にしない。
-asciitilde または -tilde
「~」を上方に移動しない。

バージョン

最新版

4.0.1 (2016 年 1 月 28 日)

4.0.0 (2015 年 12 月 31 日)

3.2.4 (2014 年 12 月 7 日)

3.2.3 (2014 年 5 月 4 日)

3.2.2 (2013 年 6 月 9 日)

3.2.1 (2012 年 11 月 6 日)

3.2.0 (2012 年 4 月 16 日)

3.1.3 (2011 年 11 月 24 日)

3.1.2 (2011 年 10 月 3 日)

3.1.1 (2011 年 7 月 8 日)

3.1.0 (2011 年 6 月 19 日)

3.0.2 (2011 年 6 月 2 日)

3.0.1 (2011 年 5 月 20 日)

3.0.0 (2011 年 5 月 17 日)

エディタの設定

Emacs

(set-face-attribute 'default nil
                    :family "Ricty Discord"
                    :height 120)
(set-fontset-font (frame-parameter nil 'font)
                  'japanese-jisx0208
                  (cons "Ricty Discord" "iso10646-1"))
(set-fontset-font (frame-parameter nil 'font)
                  'japanese-jisx0212
                  (cons "Ricty Discord" "iso10646-1"))
(set-fontset-font (frame-parameter nil 'font)
                  'katakana-jisx0201
                  (cons "Ricty Discord" "iso10646-1"))

GVim (Linux)

set guifont=Ricty\ Discord\ 12
set guifontwide=Ricty\ Discord\ 12

GVim (macOS/Windows)

set guifont=Ricty\ Discord:h12
set guifontwide=Ricty\ Discord:h12

既知の問題

メモ