1P by neo 2023-11-10 | favorite | 댓글 1개

코드를 위한 혁신적인 폰트 슈퍼패밀리

  • Monaspace는 새로운 타입 시스템으로, 화면상의 코드 표시를 위한 기술 발전을 이룸.
  • 컴퓨팅 기술의 발전과 함께 코드 표시 및 편집 기술도 발전함.
  • Monaspace는 색상과 굵은 글씨체를 넘어서는 더 표현력 있는 팔레트를 제공함.

폰트 놀이터

  • Monaspace 폰트는 서로 다른 폰트를 혼합할 수 있도록 설계되어 더 많은 의미를 코드에 더할 수 있음.
  • 다양한 폰트 조합을 통해 코드에 더 많은 구조와 계층을 부여할 수 있음.

특징: 텍스처 힐링

  • Monospaced 타입은 일정하지 않은 텍스처로 인해 문제가 있음.
  • 텍스처 힐링은 이러한 문제를 해결하는 새로운 기술로, 모노스페이스 타입의 밀도를 균일하게 만듦.
  • 텍스처 힐링은 OpenType의 "contextual alternates" 기능을 사용하여 구현됨.

스타일

  • Monaspace는 가중치, 너비, 기울기의 세 가지 가변 축을 가짐.
  • 각 축은 다양한 범위를 가지며, 고정된 명명된 무게와 스타일을 정의함.

코드 리게이처 기능

  • Monaspace는 다양한 언어에 대한 코드 리게이처를 포함하며, 스타일리스틱 세트를 통해 활성화 또는 비활성화할 수 있음.
  • Visual Studio Code에서는 설정을 통해 원하는 스타일리스틱 세트를 활성화할 수 있음.

GN⁺의 의견

이 글에서 가장 중요한 것은 Monaspace가 코드 표시를 위한 새로운 타입 시스템을 제공한다는 점이며, 이는 개발자들에게 더 나은 코딩 경험을 제공할 수 있는 잠재력을 가지고 있음. 텍스처 힐링과 같은 혁신적인 기능은 코드의 가독성을 향상시키고, 가변 폰트 축을 통해 사용자 정의 스타일을 적용할 수 있어 개발자들에게 매우 흥미로운 주제임.

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" 기능이 프로그래밍 리게이처와 함께 사용되어야 함. 리게이처를 사용하지 않고 텍스처 힐링을 활성화할 방법이 없음.