Codings

프로그래밍용 폰트 0xProto 소개

드리프트2 2024. 2. 13. 20:45

 

안녕하세요?

 

오늘은 최근 구글링 하다가 보게된 새로운 프로그래밍용 폰트를 소개하고자 합니다.

 

이름도 특이한 "0xProto" 폰트인데요.

 

당연히 프로그래밍용 폰트라서 모노스페이스 폰트입니다.

 

모노스페이스(monospace)라는 말을 한국말로 번역하면 한자를 이용해서 아마도 "등폭 글꼴"이라고 번역할 수 있을 거 같네요.

 

Github에 공개되어 있는 무료 프로그래밍 글꼴입니다.

 

본격적인 폰트 소개를 이어나가 보도록 하겠습니다.

 

“0xProto” 폰트는 프로그래밍을 위한 폰트로, 문자의 가독성을 중점으로 설계되었습니다.

 

처음 릴리즈는 2023년 5월이었고, 그 이후로 몇 번의 업데이트가 있었습니다.

  • 1.000: 2023년 5월
  • 1.300: 2023년 10월
  • 1.500: 2023년 12월
  • 1.601: 2024년 1월 30일

꾸준히 업데이트가 되고 있네요.

 

** 목 차 **


1. 프로그래밍을 위한 글꼴이란?

프로그래밍을 위한 폰트란 무엇일까요?

 

프로그래밍에서의 폰트 선택은 단순히 외관만의 문제가 아니라, 그 이상의 의미가 있습니다.

 

소스 코드가 읽기 쉽게 설계된 폰트를 선택해야 합니다.

 

예를 들어, 다음과 같은 관점이 있습니다.

  • 들여쓰기나 코드의 구조가 보기 쉬운가. 세로 라인이 맞춰져 있으면 보기 쉬운 경우가 많으므로, 등폭 폰트가 선호됩니다.
  • 문자의 식별이 쉬운가. 비슷한 문자, 예를 들어, 0(제로)와 O(오), 1(일)과 l(엘)과 I(아이) 등의 문자가 명확하게 구분될 수 있는 것이 중요시됩니다.
  • 장시간 작업해도 피로하지 않는가. 문자의 형태가 명확하고, 대비나 크기가 적절하게 조정되어 있는 것이 중요합니다.

또한, 현대적인 폰트 중에는, 리가처(Ligatures)를 사용하여, 프로그래밍에서 자주 사용되는 기호열을 보기 쉽게 하는 고안이 된 것도 있습니다.

 

예를 들어, !와 =가 나란히 있는 경우에 ≠로 표시하는 등입니다.


2. 0xProto의 특징

0xProto는 프로그래밍을 위한 폰트로서 설계되어 있으며, 문자의 식별이 쉬운 글자 형태의 등폭 폰트입니다.

 

비슷한 프로그래밍을 위한 폰트는 몇 가지 있지만, 0xProto는 각 알파벳의 글자 형태가 독특합니다.

 

개인적으로 가장 특이하게 느껴지는 것은 소문자 f일 것입니다.

 

 

알파벳으로서의 미적 균형이라는 관점에서 다른 폰트에 비해 떨어지는 느낌도 있지만, 그 글자 형태로 인해, 0xProto만의 특징이 더 잘 나타나게 되었습니다.

 

다른 문자와 다른 부분이 명확하게 강조되어 있습니다. 그러므로, 문자의 식별이 쉬워집니다.

 

 

또한, 약간의 둥글게 된 넓은 글자 형태로, 작은 크기에서도 읽기 쉽게 고안되어 있습니다.

 

 

일반적으로, 등폭 폰트에서는 어두운 부분과 밝은 부분이 불균형하게 될 수 있지만, 0xProto는 그 독특한 글자 형태로 인해 균형이 잘 맞춰져 있습니다.

 

 

한편, 리가처(Ligatures)는 (다른 현대적인 폰트와 비교하면) 약간 소극적입니다.

 

예를 들어, !와 =가 나란히 있는 경우에 그 두 개가 가까워져서 한 덩어리가 되지만, ≠와 같은 다른 문자가 되지 않고 !와 =로 인식할 수 있습니다.

 

이 정도가 본래의 의미에서의 리가처(Ligatures)이며, 읽기 쉽고 편집하기도 쉽습니다.

 

 

물론, 리치한 리가처를 좋아하는 사람도 있을 것입니다.

 

그런 경우에는 0xProto 대신 Fira Code나 JetBrains Mono 등의 폰트를 사용하는 것이 좋을 것 같습니다.


3. Texture Healing

0xProto의 최신 버전에서는, 가독성 향상을 위해 'Texture Healing’이라는 기능이 도입되었습니다.

 

이것은 monaspace 폰트에서 채택된 기능으로, 0xProto에도 채택되었습니다.

 

비례 폰트(등폭이 아닌 폰트)에서는, 너비가 좁은 문자는 좁은 폭으로, 너비가 넓은 문자는 넓은 폭으로 표시됩니다.

 

그러나 등폭 폰트에서는, 너비가 좁은 문자도 넓은 문자와 같은 폭으로 표시됩니다.

 

그러므로, 너비가 좁은 문자와 넓은 문자가 나란히 있는 경우에는 균형이 나빠집니다.

 

이를 개선하는 것이 Texture Healing입니다.

 

 

전체적으로는 등폭 폰트로서의 폭을 유지하면서, 너비가 좁은 문자와 넓은 문자가 나란히 있는 경우에는 좁은 문자의 폭을 좁게, 넓은 문자의 폭을 넓게 조정합니다.

 

예를 들어 minimum이라는 단어의 경우, m과 i가 나란히 있는 부분에서 m의 폭을 넓게, i의 폭을 좁게 합니다.

 

이로 인해, 등폭 폰트에서도 균형이 잘 맞춰지고, 읽기 쉬워집니다.

 


마치며 프로그래밍을 위한 폰트는 여러 가지가 있지만, 0xProto는 그 중에서도 좋은 폰트라고 생각합니다.

 

저도 당분간 이 폰트를 계속 써 볼 생각입니다.