Berkeley Mono - ミニマリズムに背を向けた、プロフェッショナルのためのモノフォント
プログラマにとってフォントは日々のコーディングを支える重要なツールです。私は 長年、理想のプログラミング用フォントを探し続けていましたが、Berkeley Monoと の出会いでその探求に終止符を打ちました。
プログラミング用フォントには、文字の視認性、リガチャーのサポート、豊富な Unicode対応など、多くの要件があります。Berkeley Monoは、それらの要件を満たし ながら、独自の美学も兼ね備えています。
Berkeley Monoフォントの概要
以下はWebフォントを使ったBerkeley Monoの使用例です。 (コードに意味はありません)
use std::collections::HashMap; // => と != のリガチャー表示サンプル fn main() { let mut scores: HashMap<&str, i32> = HashMap::new(); // 0 と O の区別、リガチャー表示 if scores.len() != 0 { panic!("Expected empty map!"); } let O_COUNT: i32 = 0; scores.insert("Player_7", 100); match scores.get("Player_7") { Some(score) => println!("Score: {}", score), None => println!("Player not found!"), } // 範囲チェックと数値比較 if scores["Player_7"] != 0 && scores["Player_7"] <= 100 { println!("Valid score!"); } }
Berkeley Monoは、コンピューティングの黄金時代へのオマージュとして設計された、プロフェッショナル向けのモノスペースフォントです。このフォントは次のような思想で設計されています:
Berkeley Monoは、コンピューティングの黄金時代への愛の手紙です。トランジスタが歯車に取って代わり、機械可読なタイプフェースが開発され、人間と機械が前例のない規模でインターフェースした時代を祝福します。
Berkeley Graphics - Berkeley Mono
Berkeley Mono is a love letter to the golden era of computing. The era that gave rise to a generation of people who celebrated automation and reveled in the joy of computing, when transistors replaced cogs, and machine-readable typefaces were developed, for when humans and machines truly interfaced on an unprecedented scale.
フォントは4つの固定スタイル(Regular/Bold/Italic/Italic Bold)とVariable版を提供し、 Regularでも目が疲れにくい適度なウェイトを持っています。
Berkeley Graphics では次のようなデザイン哲学でフォントを作っているそうです。
- Emergent over prescribed aesthetics. (規定された美学よりも創発的な美しさを)
- Expose state and inner workings. (状態と内部の仕組みを露出させる)
- Dense, not sparse. (疎ではなく密に)
- Explicit is better than implicit. (暗黙的よりも明示的に)
- Regiment functionalism. (機能性を規律化)
- Performance is design. (パフォーマンスがデザイン)
- Verbosity over opaqueness. (不透明さよりも冗長性を)
- Ignore design trends. Timeless and unfashionable. (デザイントレンドを無視。時代を超えて非流行的に)
- Flat, not hierarchical. (階層的ではなく平坦に)
- Diametrically opposite of minimalism. (ミニマリズムと正反対に)
- As complex as it needs to be. (必要なだけ複雑に)
- Driven by specifications and datasheets. (仕様書とデータシートに導かれて)
- Beauty emerges automatically without deliberation. (美しさは意図的な設計なしに自動的に現れる)
- Do not infantilize users. (ユーザーを子供扱いしない)
Berkeley Monoは固定幅でコードなどの閲覧時に可読性の高い適度な行間と文字幅でデザインされています。 文字形状が明確で曖昧さが排除されており、類似した文字の区別も用意となるよう注意深くデザインされています。 装飾を排除されたクリーンな字形で可読性を考慮した高いコントラストを持っています。 一方でトレンドに左右されないミニマムだけに走らない普遍的なデザインが、どこか レトロな雰囲気を感じさせるのでしょう。
Berkeley Monoの技術的特徴
フォントは伝統的な固定スタイル(Regular、Bold、Italic、Bold Italic)に加え て、最新のVariable版も提供しています。Variable版では、フォントの太さを100か ら150まで自由に調整でき、より柔軟な表現が可能です。プログラミングにおいて重 要な等幅フォントの特性はもちろん、16度の適度な傾斜角を持つイタリック体によ り、コメントなどの強調も見やすく表現できます。
フォーマットとしては、TTF/OTFの他にWebフォントとして利用できるようwoff2形式 も提供されています。
プログラミングで重要な記号の可読性への細かな配慮として、特定の文字はデザインを選択することができます。 例えば。数字の「0」には4種類のデザインが用意され、アルファベットの「O」との区別を確実にできます。数字の7も2パターンのデザインが用意されています。
また、リガチャにも対応しており、 「=>」や「!=」などのプログラミングでよく使用される記号の組み合わせは、使用環境が対応していれば 表示が最適化されています。
Unicode対応も充実しており、Basic LatinからLatin Extended-Bまでをカバー。プログラミングに必要な記号や、多言語でのコメント記述にも対応できます。また、デスクトップ用、ウェブ用など、様々な用途に応じたフォーマットが提供されているため、開発環境からブログまで一貫して使用できます。
まとめ
ずっとMonoLisaフォントを使っていましたが、可読 性を優先するあまり文字間隔が広すぎることが表示効率を下げている気がして気に なっていました。
このBerkeley Monoを使ってみて非常に気に入ったため、MacのWezTermやエディタでの使用だけでなく、このブログの コード部分のフォントとして適用しました。
個人的は、愛用している電卓のSwissMicrosもこのフォントを使っているらしい点で 親しみを覚えています。
近々 "Houston"と言うフォントもリリース予定ということで非常に楽しみにしていま す。