1 ポイント 投稿者 GN⁺ 2023-11-10 | 1件のコメント | WhatsAppで共有

コードのための革新的なフォント・スーパーファミリー

  • Monaspaceは新しいタイプシステムであり、画面上でのコード表示のための技術的進歩を実現している。
  • コンピューティング技術の発展とともに、コードの表示と編集の技術も進化してきた。
  • Monaspaceは色や太字を超える、より表現力のあるパレットを提供する。

フォントの遊び場

  • Monaspaceフォントは異なるフォントを混在させられるよう設計されており、コードにより多くの意味を加えられる。
  • さまざまなフォントの組み合わせによって、コードにより多くの構造と階層を与えられる。

特徴: テクスチャヒーリング

  • Monospacedタイプには、不均一なテクスチャによる問題がある。
  • テクスチャヒーリングはこの問題を解決する新しい技術であり、モノスペースタイプの密度を均一にする。
  • テクスチャヒーリングはOpenTypeの"contextual alternates"機能を使って実装されている。

スタイル

  • Monaspaceには、ウェイト、幅、傾きの3つの可変軸がある。
  • 各軸にはさまざまな範囲があり、固定の名前付きウェイトとスタイルを定義している。

コードリガチャ機能

  • Monaspaceはさまざまな言語向けのコードリガチャを含み、スタイリスティックセットによって有効化または無効化できる。
  • Visual Studio Codeでは、設定を通じて望みのスタイリスティックセットを有効化できる。

GN⁺の意見

この記事で最も重要なのは、Monaspaceがコード表示のための新しいタイプシステムを提供している点であり、これは開発者により良いコーディング体験をもたらす可能性を持っていることだ。テクスチャヒーリングのような革新的機能はコードの可読性を高め、可変フォント軸によってカスタムスタイルを適用できるため、開発者にとって非常に興味深い話題だ。

1件のコメント

 
GN⁺ 2023-11-10
Hacker Newsのコメント
  • "Texture Healing" 機能は、OpenType 機能を活用して、問題のある等幅文字の組み合わせをグリッドを崩さずに改善する、とても賢い方法だ。

    • 難しい文字ペア(例: mi、lm など)に対してリガチャ(ligature)を作る単純な方法の代わりに、周囲の文字に応じて固定幅を異なる形で埋める代替文字を選ぶ方式を使っている。
  • "Texture Healing" を見て、この等幅フォントを実際に使ってみたくなった。

    • さまざまなスタイルのフォントを使うというアイデアは好きだが、主にターミナルを使うユーザーとして、どのターミナルがこれをサポートしているのか、CLI テキストエディタ側の対応が必要なのか分からない。
  • "Mix & Match" の例について、みんながどう感じたのか気になる。

    • Radon(筆記体フォント)は基本的にイタリック体なので他のフォントとよく合う。しかし残りのフォントは、同じメトリクスやその他の特徴のため、"authoritative docstrings" と "Copilot voice" の例を区別しにくい。
  • 多くのリガチャがあるにもかかわらず、まだ十分ではないと感じる。

    • Fira Code の *ptr における * の高さの整列、X:Y における : の中央揃え、0xFF における x の高さ調整などが気に入っている。Krypton バリアントの見た目は好きだが、小文字 t のクロスバーが小文字 c の高さよりも低すぎる位置にあるのが惜しい。
  • Radon フォントの Rd シンボルがページ上で誤って表記されていて混乱する。実際に Rd で始まる元素があるのか確認する必要がある。

  • PragmataPro のような狭幅フォントをもっと見かけないのはなぜなのか気になる。

    • ほぼ 10 年間 PragmataPro を使ってきたが、もっと多くの選択肢を見たい。Berkeley Graphics はほぼ 1 年前から Berkeley Mono の狭幅版を約束しているが、何も起きていない。
  • Monaspace フォントは等幅フラグを設定していないので、GTK2 gvim ではフォントを読み込ませる必要がある。

    • そのフラグのせいでリガチャが有効にならないようだ。しかしパッチ済みの st では、リガチャとテクスチャヒーリングを見ることができた。
  • この種のフォントでドット付き 0 が標準になっていることに戸惑う。8 と混同しやすく、スラッシュ付き 0 のほうが好みだ。

  • 普段は Jetbrains Mono を使っているが、フォントごとに異なるスタイルを適用する機能とテクスチャヒーリング機能が気に入ったので、このフォントに乗り換えるかもしれない。

  • 少なくとも VS Code では、"textual healing" 機能はプログラミング用リガチャと一緒に使わなければならない。リガチャを使わずにテクスチャヒーリングを有効にする方法はない。