太さ・丸み・傾きを変えて試せる見本です。画像ではなく Web フォントなので、サンプルの文字も書き換えられます。

軸 範囲 既定 内容
wght 100〜900 400 線の太さ。400 が ANSI の線幅
ROND 0〜100 100 角の丸み。100 が元の丸い OCR-A、0 が角だけの形
slnt −10〜0 0 傾き(度)。負の値で右へ傾く

送り幅はどの字も同じ 723(1em を1000としたとき)の等幅で、行の高さは1em です。

丸みの途中の値では、角の円弧の半径が小さくなります。線の端も、丸い端から、角の丸い長方形を経て長方形に変わります。太いウェイトでは、字の内側の空間が潰れないよう、一部の字の中心線を動かしています。

元の OCR-A の代替字形を、OpenType の機能 ss01〜ss05 で切り替えられます(aalt でも選べます)。字ごとの違いと、代替の字形がある理由は、見本の「代替字形」の表のとおりです。

機能 字 内容
ss01 . ピリオド
ss02 ? 疑問符(下の点がない形)
ss03 ' アポストロフィ(古い版の形)
ss04 , カンマ
ss05 - ハイフン(古い版の形)

バリアブルフォントを @font-face で読み込み、font-weight と font-variation-settings で軸を指定します。

@font-face {
  font-family: "OCR-A Axis";
  src: url("OCRAAxis-VF.ttf") format("truetype");
  font-weight: 100 900;
}
.code {
  font-family: "OCR-A Axis", monospace;
  font-variation-settings: "ROND" 50, "slnt" -10;
  font-weight: 700;
}

OCR-A は、光学式文字認識(OCR)のために米国の規格委員会が作った書体です。歴史と規格、フリーのフォントについては OCR-A の記事にまとめています。

OCR-A Axis は、Matthew Skala 氏の OCR A(Tsukurimashou Project の OCR パッケージ 0.3.1)に収められた、Richard B. Wales 氏の METAFONT の定義から、字の中心線を取り出して作り直したものです。Wales 氏の定義は、Tor Lillqvist 氏の METAFONT 版を ANSI X3.17-1977 に合わせて作り直したもので、Skala 氏の OCR A は、これを MetaType1 に移したものです。

  • 線1本を1つの輪郭にし、どのマスターでも点の並びを同じにしています
  • 既定の形(wght 400、ROND 100、slnt 0)は、ANSI X3.17 の線幅と丸い角の形です
  • │(Long Vertical Mark)は、どの太さでも上下の端の位置が変わりません。1/6インチの行送りで、上下の字とつながる高さです
  • 斜体は、立体の輪郭を傾けたものです
  • 表示や印刷のためのフォントです。OCR の機器で読み取ることは想定していません。既定の形以外は、ANSI X3.17 の形から意図して変えています
  • ~ _ ` | の4字は ANSI X3.17 になく、Wales 氏が補ったものです
  • wght 900 の斜体では、一部の字が字の枠を少しはみ出します

フォントは、元にした Richard B. Wales 氏の条件に従い、無料で配布しています。自由に使えますが、著作権表示とクレジットを残すことと、配布で実費を超える料金を取らないことが条件です。そのため、フォントを有料で販売したり、有料の配布を認めるライセンス(OFL・GPL など)に変えたりはできません。詳しくはリポジトリの LICENSE を参照してください。

フォントを作るためのスクリプトは、MIT License です。