GGWiki
새 문서
현재 판이에요 · #2674 공식 자료 2개 종합 · 문단별 AI 검수 초안 · GGWiki 자동 ·

마인크래프트 / 시스템·기술 / Font

개요

마인크래프트에서 폰트(Font)는 게임 내 텍스트를 렌더링하는 데 사용되는 글꼴 시스템이다. 여러 폰트를 정의하고 리소스 팩으로 참조할 수 있다.[1]

자바 에디션에는 기본 폰트 4종이 있다. 모장글(Mojangles)은 게임 내 대부분의 텍스트에 쓰이는 픽셀 폰트다. 표준 은하 알파벳(Standard Galactic Alphabet)은 마법부여대 GUI의 문양에 쓰인다. GNU 유니폰트(GNU Unifont)는 모장글이 지원하지 않는 문자가 있을 때 이를 대체한다. 일리저알트(Illageralt)는 미사용 폰트이나 명령어로 텍스트를 포맷해 적용할 수 있다.[1]

베드락 에디션에는 기본 폰트 6종이 있다. 채팅 설정에서 채팅 메시지(자막 포함)의 폰트를 모장글과 노토 산스(Noto Sans) 사이에서 변경할 수 있다. 모장글은 대부분의 게임 내 텍스트에 쓰인다. 노토 산스는 마켓플레이스 콘텐츠 등 긴 본문 텍스트에 쓰인다. 마인크래프트 텐(Minecraft Ten)은 메뉴의 여러 헤더 텍스트에 쓰인다. GNU 유니폰트는 모장글이 지원하지 않는 문자를 대체한다. 표준 은하 알파벳은 마법부여대 GUI의 문양에 쓰인다. smooth/ 폰트는 용도가 불명이다.[1]

레거시 콘솔 에디션에는 기본 폰트 2종이 있다. 모장글은 대부분의 게임 내 텍스트에 쓰인다. 모장글 11(Mojangles 11)은 여러 GUI에 쓰인다.[1]

그 외 소스(마인크래프트 웹사이트 등)에서는 페이지별로 다른 폰트를 사용한다. 마인크래프트 텐은 주로 최상위 헤더에, 모장글은 주로 중간 헤더에, 마인크래프트 파이브(Minecraft Five)는 던전스 페이지의 최상위 헤더에, 노토 산스는 본문과 설명에, 마인크래프트 식스틴(Minecraft Sixteen)은 던전스 II 페이지의 최상위 헤더에 쓰인다.[1]

이름

  • 다른 언어 공식 이름: Font (English) · フォント (日本語) [2]

수치·정보

  • Java Edition 기본 폰트 개수: 4개 [1]
  • Bedrock Edition 기본 폰트 개수: 6개 [1]
  • Legacy Console Edition 기본 폰트 개수: 2개 [1]
  • Java Edition 색상 코드: HEX 색상 허용 [1]
  • Bedrock Edition 색상 코드: 29개 [1]
  • 굵은 글씨(§l) 렌더링: 각 문자를 정상 위치와 오른쪽으로 1 픽셀 이동한 위치에 두 번 그림 [1]
  • 경험치 막대 텍스트 색상(Java Edition): 밝은 녹색(#80FF20) [1]
  • 경험치 막대 텍스트 외곽선 색상(Java Edition): 검정(#000000) [1]
  • 경험치 막대 텍스트 외곽선 오프셋(Java Edition): 직교 방향으로 1 스케일 단위 [1]
  • 그림자 위치: 문자 간격 기준 남동쪽으로 12.5% [1]
  • 기본 폰트(ascii.png)에서 그림자 이동: 1 픽셀 아래, 1 픽셀 오른쪽 [1]
  • 그림자 색상 계산: 원본 글리프의 R, G, B 값을 4로 나눔 [1]
  • 글리프와 그림자 겹침 시 픽셀 채널 값: 1 감소(예: #FFFFFF → #FEFEFE) [1]
  • 빛나는 텍스트 복사본 개수: 8방향으로 8개 [1]
  • 빛나는 텍스트 우선순위: 텍스트 픽셀이 외곽선 위에 렌더링됨 [1]
  • Bedrock Edition 지원 유니코드 범위: U+FFFF 이하만 지원 [1]
  • Java Edition 특수 문자: U+FFFD(REPLACEMENT CHARACTER), notdef 문자(토푸) [1]
  • Bedrock Edition 누락 글리프 표시: 빈 공백 [1]
  • 기본 스페이스(U+0020) 너비: 4 [1]
  • ZERO WIDTH NON-JOINER(U+200C) 너비: 0 [1]
  • Legacy Unicode 공급자 기본 글리프 크기: 16×16 픽셀 [1]
  • Legacy Unicode 공급자 템플릿 페이지 크기: 256×256 픽셀(한 줄 16개, 16줄) [1]
  • Legacy Unicode 공급자 sizes 파일 길이: 65535 바이트(0xFFFF) [1]
  • Legacy Unicode 공급자 너비 최대값: 16 픽셀 [1]
  • Legacy Unicode 공급자 사용 불가 템플릿 페이지: D8, D9, DA, DB, DC, DD, DE, DF(서로게이트 쌍 영역) [1]
  • 서게이트 쌍 변환 공식(상위): ((C − 65536) − (C % 1024)) ÷ 1024 + 55296 [1]
  • 서게이트 쌍 변환 공식(하위): (C % 1024) + 56320 [1]
  • Bedrock Edition Private Use Area 시트: glyph_E0.png, glyph_E1.png [1]

배경·설정

마인크래프트에서 폰트는 게임 내 텍스트를 렌더링하는 데 사용된다. 여러 폰트가 게임에서 사용되며, 주된 폰트는 모장글스(Mojangles)로 알려져 있다. 여러 폰트를 정의하고 리소스 팩으로 참조할 수 있다. [1]

자바 에디션에는 기본 폰트 4종이 있다. 모장글스는 게임 내 대부분의 텍스트에 쓰이는 픽셀 폰트다. 표준 은하 알파벳(Standard Galactic Alphabet)은 마법부여대 GUI의 문자다. GNU 유니폰트(GNU Unifont)는 모장글스가 지원하지 않는 문자가 포함될 때 이를 대체한다. 일러저알트(Illageralt)는 사용되지 않지만, 명령어를 통해 텍스트 서식으로 적용할 수 있다. [1]

베드락 에디션에는 기본 폰트 6종이 있다. 채팅 설정에서 채팅 메시지(자막 포함)의 폰트를 모장글스와 노토 산스(Noto Sans) 사이에서 변경할 수 있다. 모장글스는 게임 내 대부분의 텍스트에 쓰이는 픽셀 폰트다. 노토 산스는 마켓플레이스 콘텐츠 같은 긴 본문 텍스트에 쓰인다. 마인크래프트 텐(Minecraft Ten)은 메뉴의 여러 헤더 텍스트에 쓰인다. GNU 유니폰트는 모장글스가 지원하지 않는 문자를 대체한다. 표준 은하 알파벳은 마법부여대 GUI의 문자다. smooth/ 폰트는 용도가 불명이다. [1]

레거시 콘솔 에디션에는 기본 폰트 2종이 있다. 모장글스는 게임 내 대부분의 텍스트에 쓰이는 픽셀 폰트다. 모장글스 11(Mojangles 11)은 여러 GUI에 쓰인다. [1]

마인크래프트 웹사이트 같은 다른 출처에서는 페이지마다 다른 폰트를 사용한다. 마인크래프트 텐은 주로 최상위 헤더에, 모장글스는 주로 중간 헤더에, 마인크래프트 파이브(Minecraft Five)는 던전스 페이지의 최상위 헤더에, 노토 산스는 본문과 설명에, 마인크래프트 식스틴(Minecraft Sixteen)은 던전스 II 페이지의 최상위 헤더에 주로 쓰인다. [1]

공략

#### 텍스트 서식 활용

§ 부호 또는 텍스트 컴포넌트 형식을 사용해 모든 글꼴에 서식을 적용할 수 있다. 색상 코드로 전경 텍스트와 그림자 색을 변경하며, 자바 에디션에서는 모든 HEX 색상을, 베드락 에디션에서는 29가지 색상 코드를 지원한다. 굵은 글씨(§l)는 각 문자를 정상 위치와 오른쪽으로 한 픽셀 이동한 위치에 두 번 그려서 표현한다. 이탤릭(§o), 밑줄(§n), 취소선(§m)은 자바 에디션에서만 적용된다. 난독화(§k)는 같은 너비의 임의 문자로 계속 대체한다. [1]

#### 경험치 막대 텍스트

자바 에디션에서 경험치 막대 텍스트는 밝은 녹색(#80FF20) Mojangles에 검은색(#000000) 외곽선이 있다. 검은색 텍스트를 직교 방향으로 한 스케일 단위만큼 이동해 그린 뒤, 원래 위치에 녹색 텍스트를 겹쳐 그리는 방식이다. 베드락 에디션에는 고유 효과가 없고 녹색만 적용된다. [1]

#### 그림자 효과 이해

대부분의 텍스트 렌더링 위치에서 각 문자 아래에 그림자가 나타난다. 그림자는 문자 글리프를 복사해 빨강·초록·파랑 값을 4로 나누고, 문자 간격 기준으로 남동쪽 12.5% 위치에 배치한다. 기본 글꼴(ascii.png)에서는 1픽셀 아래·오른쪽으로 이동한다. 글리프와 그림자가 겹치는 픽셀에서는 위쪽 글리프 채널에서 1을 뺀다. 예를 들어 흰색(#FFFFFF) 글리프가 그림자와 겹치면 #FEFEFE가 된다. [1]

#### 빛나는 텍스트(글로우) 활용

표지판에 글로우 잉크 주머니를 사용하면 문자가 8방향으로 복사되어 두꺼운 외곽선 효과를 낸다. 빛나는 텍스트는 항상 방사 텍스처로 렌더링되어 어둠 속에서도 밝게 보인다. 텍스트 픽셀이 우선하며 충돌 시 외곽선은 아래에 렌더링된다. 실제 빛을 내지는 않는 렌더링 효과이다. 검은색 잉크 주머니로 빛남을 제거할 수 있다. 표지판 블록 데이터의 front_text 또는 back_text 내 has_glowing_text 불리언 값으로 빛남 여부를 제어한다. [1]

#### 이모지 및 특수 문자 제약 숙지

마인크래프트는 일부 이모지를 지원하나 피부 톤·결합·표시 변형 수정자는 지원하지 않는다. 피부 톤 수정자(U+1F3FB~U+1F3FF)는 색상 대신 Unifont 글리프로 표시된다. 제로 폭 결합자(U+200D)로 여러 이모지를 합치는 기능은 지원하지 않으며, 변형 선택자는 점선 상자(VS번호)로 보인다. 기본 글꼴 지원 문자는 Mojangles 문서의 이모지 절을 참조한다. 베드락 에디션은 U+FFFF 초과 문자를 지원하지 않으며, 해당 이하 이모지 텍스처도 GNU Unifont 것만 포함한다. [1]

#### 베드락 에디션 전용 영역 이모지(Private Use Area) 활용

베드락 에디션은 글꼴 파일 대신 하드코딩된 Private Use 유니코드 심볼을 자동으로 이모지형 심볼로 변환하며, 단축어(:heart: 등)로도 입력 가능하다. '게임 방법'과 컨트롤러 힌트에 쓰이며, 표지판·책·아이템 이름·채팅·리소스 팩 등 일반 문자를 쓸 수 있는 곳 어디에나 사용할 수 있다. Ore UI 메뉴 화면에서는 표시되지 않는다. glyph_E0.png(컨트롤 아이콘)와 glyph_E1.png(마인코인·에이전트 아이콘 등) 두 시트가 존재한다. E0 문자는 emoticons.json에 분류되어 있다. [1]

#### 특수 문자 처리 차이 이해

자바 에디션에서는 U+FFFD(REPLACEMENT CHARACTER)와 'notdef'(두부/tofu) 문자가 기술적 수단으로만 접근 가능하다. U+FFFD는 해당 문자 입력이나 잘못된 UTF-8 시퀀스 시 나타난다. notdef는 현재 글꼴에 텍스처가 없는 문자 입력 시 보이며, 하드코딩되어 리소스 팩으로 수정 불가하다. 베드락 에디션에서는 텍스처 없는 문자가 빈 공백으로 보이며, U+FFFD는 GNU Unifont 소속이다. [1]

#### 글꼴 공급자(Provider) 구성 지식

글꼴은 공급자 목록으로 구성되며, 기본 글꼴은 ttf를 제외한 모든 공급자를 사용한다.

  • 비트맵 공급자: 텍스처에서 단순 비트맵 글리프를 정의한다. UTF-16 코드포인트를 UTF-8 시퀀스로 인코딩해 대리쌍으로 사용한다. 하이 서리게이트 = ((C−65536)−(C%1024))÷1024+55296, 로우 서리게이트 = (C%1024)+56320. chars 또는 strings 길이가 리소스 크기의 약수가 아니면 예기치 않은 글리프 분할이 발생할 수 있다. \u0000으로 패딩을 추가해 더미 문자로 활용 가능하다. [1]
  • 공간 공급자: 문자 글리프 너비를 정의한다. 기본값으로 U+0020(SPACE)은 4, U+200C(ZERO WIDTH NON-JOINER)는 0이다. [1]
  • TTF 공급자: 이미 컴파일된 TrueType·OpenType 글꼴을 내장한다. 커닝·리가처 등 글꼴 속성은 제거되고 글리프만 남는다. [1]
  • 유니헥스 공급자: 레거시 유니코드 공급자를 대체하며 GNU Unifont .hex 형식을 사용한다. .hex 파일을 포함한 ZIP 아카이브를 참조한다. [1]
  • 참조 공급자: 다른 공급자를 한 번만 포함한다. 다른 리소스 팩의 글꼴 공급자를 참조할 때 중복 로드를 방지한다. [1]
  • 레거시 유니코드 공급자: 비트맵 공급자와 유사하게 텍스처에서 글리프를 로드한다. '유니코드 글꼴 강제' 옵션 켜짐 시에만 우선 적용되며, 다른 공급자가 정의하지 않은 글리프의 폴백 역할을 한다. 템플릿은 PNG 파일로 너비·높이가 같아야 하며, 유니코드 BMP 상위 바이트 기준으로 페이지(00~FF) 번호가 매겨진다. 기본 글리프는 16×16 픽셀, 페이지는 256×256 픽셀이다. sizes 필드 파일은 0xFFFF 바이트(65535)여야 하며, 상위 니블은 시작 위치, 하위 니블은 종료 위치를 기록한다. 너비는 16픽셀을 초과할 수 없고, U+FFFF 초과 코드포인트는 처리하지 않는다. D8~DF 페이지는 대리쌍용이라 무효이다. [1]

기타

  • Java Edition에서 기술적 수단으로만 접근 가능한 특수 문자가 2개 존재한다. 첫 번째는 U+FFFD � REPLACEMENT CHARACTER로, 해당 문자를 직접 입력하거나 잘못된 UTF-8 멀티바이트 시퀀스가 있을 때 나타난다. 두 번째는 'notdef' 문자로, 현재 사용 중인 폰트에 텍스처가 없는 문자를 입력하면 표시되며 하드코딩되어 있어 리소스 팩으로 수정할 수 없다. 이 문자는 모양이 두부 블록과 닮아 타이포그래피 커뮤니티에서 'tofu'라고 부르기도 한다. [1]
  • Bedrock Edition에서는 텍스처 데이터가 없는 문자가 빈 공백으로 표시되며, U+FFFD � REPLACEMENT CHARACTER는 GNU Unifont에 속한 것이 표시된다. [1]
  • 기본 유니헥스(unihex) 공급자의 size_overrides 항목에는 변경 로그나 명세에 문서화되지 않은 __ranges 필드(NBT 리스트/JSON 배열)가 포함되어 있다. 이는 적용 범위의 유니코드 블록 이름을 문자열로 나열한 것이다. [1]
  • New Nintendo 3DS Edition의 폰트는 1.12 이전 Java Edition 폰트와 GNU Unifont의 일부 문자가 결합된 형태이며, 추가로 ® 기호가 변경되었다. [1]

이 문서는 공식 공개 자료 2개를 AI가 문단별로 새로 정리하고, 문단마다 별도의 AI 검수를 거친 초안입니다. 자료에 확인되지 않는 내용은 적지 않았습니다. 패치 내역과 관련 문서는 아래에 따로 모아 보여 줍니다. 세부 설정과 최신 수치는 출처를 확인하세요. 일부 내용은 CC BY-NC-SA 3.0 라이선스 자료를 바탕으로 새로 썼으며, 같은 조건이 이 문서의 해당 부분에 적용됩니다. [1]