> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XAG 101: 텍스트 표시

> 저시력 플레이어도 모든 것을 읽을 수 있도록 최소 기본 크기, 구성 가능한 스타일과 색상, 적절한 간격으로 텍스트 가독성을 최적화하세요.

## 목표

최소 기본 크기와 간격으로 텍스트를 표시하고 구성 가능한 스타일과 색상 옵션을 제공하여, 저시력 플레이어를 포함한 모든 플레이어에게 텍스트 가독성이 최적화되도록 보장합니다.

## 개요

전 세계적으로 약 **29억 명**이 어느 정도의 저시력을 가지고 있습니다 — 안경으로도 완전히 교정할 수 없는 흐릿함, 흐림 또는 부분적 시력 상실. 상황적 손상(멀리 있는 화면, 작은 모바일 디스플레이, 음소거된 TV, 시끄러운 방)도 텍스트를 읽기 어렵게 만듭니다.

플레이어가 메뉴 텍스트를 읽을 수 없다면 게임 플레이가 시작되기도 전에 막힐 수 있습니다. 텍스트는 또한 HUD, 목표, 힌트, NPC 대사, 플레이어 채팅을 담고 있습니다 — 이를 잃는다는 것은 게임을 잃는다는 것을 의미합니다.

## 범위 질문

게임에서 읽기가 필요합니까?

* 탐색 가능한 메뉴가 텍스트 기반입니까?
* 게임 플레이 중 화면에 텍스트가 나타납니까(HUD, 목표, 웨이포인트, NPC 대사)?
* 플레이어가 텍스트 채팅, 채팅 휠, STT/TTS를 통해 소통할 수 있습니까?

## "텍스트 표시"가 다루는 것

* **크기** — 텍스트가 얼마나 크거나 작을 수 있는지
* **면(Face)** — 굵게, 이탤릭, 얇게
* **굵기(Weight)** — 두께
* **스타일** — 폰트 패밀리
* **간격** — 글자, 단어, 줄 사이
* **정렬** — 가로 정렬
* **케이스(Case)** — 문장 케이스, 모두 대문자
* **색상** — 배경 대비 가시성([XAG 102: 대비](/build/game-principles/accessibility/xag-deep-dives/xag-102-contrast) 참조)

<Tip>
  가장 좋은 접근법은 **플레이어의 선택**입니다. 각 플레이어가 자신의 필요에 맞게 텍스트를 조정할 수 있도록 구성을 제공하세요.
</Tip>

## 텍스트 크기 측정

XAG의 폰트 크기는 **본체 높이(body height)** 입니다 — 가장 낮은 디센더부터 가장 높은 어센더까지의 픽셀 거리.

<Steps>
  <Step title="텍스트 캡처">
    게임 내 텍스트의 스크린샷을 찍고 Microsoft Paint에서 여세요.
  </Step>

  <Step title="가장 높은 어센더와 가장 낮은 디센더 찾기">
    `g`, `y`, `h`, `b`와 같은 글자가 있는 단어를 찾아 전체 본체 높이를 설정하세요.
  </Step>

  <Step title="외곽선 처리">
    색상 외곽선 픽셀은 배경 대비가 **2:1**을 초과하는 경우에만 포함하세요. 부드러운 안티앨리어싱 픽셀은 계산하지 않습니다.
  </Step>

  <Step title="선택 영역 그리기">
    가장 높은 어센더에서 가장 낮은 디센더까지 직사각형 선택 영역을 그리세요. Paint는 왼쪽 아래에 픽셀 높이를 보고합니다 — 그 숫자가 폰트 크기입니다.
  </Step>
</Steps>

## 접근 가능해야 하는 주요 영역

* **메뉴 화면** — 레이블, 하위 레이블, 설명자, 상호작용 프롬프트
* **게임 플레이 환경** — HUD 미터, 안내 신호, 인벤토리 키
* **채팅 입력 필드** — 자리 표시자 텍스트와 입력한 메시지
* **채팅 창** — 보낸 메시지와 받은 메시지
* **채팅 휠** — 사전 작성된 커뮤니케이션 휠 옵션
* **자막과 캡션**
* **오류 메시지, 토스트, 알림**
* 유용한 팁이 있는 **로딩 화면**

## 구현 가이드라인

### 최소 기본 텍스트 크기

본체 높이(디센더 + x-높이 + 어센더)로 측정됩니다.

<Note>
  이것은 **런칭 시 최소 기본값**입니다. 플레이어의 재량에 따라 더 크게 또는 더 작게 조정할 수 있는 옵션을 제공하세요.
</Note>

| 플랫폼                           | 해상도 / DPI | 최소 본체 높이 |
| ----------------------------- | --------- | -------- |
| **콘솔**                        | 1080p     | 26 px    |
| **콘솔**                        | 4K        | 52 px    |
| **PC / VR**                   | 1080p     | 18 px    |
| **PC / VR**                   | 4K        | 36 px    |
| **모바일 / XBOX Game Streaming** | 100 DPI   | 18 px    |
| **모바일 / XBOX Game Streaming** | 200 DPI   | 36 px    |
| **모바일 / XBOX Game Streaming** | 400 DPI   | 72 px    |

모바일 기기는 TV나 PC 디스플레이보다 훨씬 높은 DPI를 가지므로, 비슷한 크기의 텍스트는 더 많은 픽셀이 필요합니다. 5.5인치 1080p 화면은 대략 400 DPI입니다. DPI가 증가함에 따라 선형으로 확장하세요.

<Warning>
  플랫폼에서 제공하는 화면 돋보기는 최소 텍스트 크기를 충족하는 **대체 수단이 아닙니다**.
</Warning>

### 아이콘과 글리프 크기

* 아이콘과 글리프 **안**의 텍스트(예: X 버튼 글리프의 `X`)는 위와 동일한 최소 크기를 충족합니다.
* 아이콘과 글리프는 최소 기본값의 **200%** 까지 텍스트 스케일링과 함께 확장됩니다.
* 글리프를 텍스트 컨테이너 안에 유지하기 위해, 전체 글리프가 줄에 맞도록 주변 텍스트를 늘려야 할 수 있습니다.

### 텍스트 스케일링

* 플레이어는 콘텐츠, 기능 또는 의미를 잃지 않고 텍스트를 최소 크기의 **200%** 까지 조정할 수 있습니다.
* 큰 헤더 텍스트는 확대되어도 본문 텍스트와 시각적으로 구별됩니다.
* 화면 밖으로 확대되는 텍스트는 읽을 수 있는 방법이 있어야 합니다(스크롤 텍스트, 팝아웃 또는 적절한 약어).
* 스케일링은 절대 단일 UI 내에서 이중 축 스크롤을 강제하지 않습니다. 한 방향 스크롤은 괜찮습니다.
* 사용자가 명시적으로 선택하는 경우 텍스트가 기본값보다 **더 작아지는** 것은 허용됩니다.

### 폰트 스타일

* 최소 하나의 **산세리프** 서체 옵션을 포함하세요.
* 스타일화된 폰트(흘러내리는 피, 고딕 등)를 사용하는 경우, 스타일화되지 않은 대안을 제공하세요.
* 모든 폰트는 지원되는 모든 언어에 대해 완전한 문자 세트를 포함합니다.

### 텍스트 간격

간격이 넓을수록 특히 큰 크기에서 명확성이 향상됩니다. 표준 폰트 크기로 두 줄 이상 되는 텍스트 블록의 경우:

* 플레이어가 줄 너비, 줄 간격, 단락 간격, 글자 간격, 단어 간격을 직접 구성할 수 있도록 하는 것을 선호합니다.
* 구성이 제공되지 않는 경우, 다음 최소값을 충족하세요:

| 속성                | 최소값                                     |
| ----------------- | --------------------------------------- |
| **줄 너비**          | ≤ 80자(CJK의 경우 40자), 100% 배율에서 측정, 공백 제외 |
| **줄 간격(leading)** | 단락 내 ≥ 1.5배, 어센더-어센더로 측정                |
| **단락 간격**         | ≥ 줄 간격의 2배                              |
| **글자 간격**         | ≥ 폰트 크기의 0.12배                          |
| **단어 간격**         | ≥ 폰트 크기의 0.16배                          |

### 케이스와 정렬

* **케이스** — 모두 대문자나 모두 소문자가 아닌 문장 케이스로 텍스트를 표시할 수 있는 기능을 제공하세요. 한두 단어 레이블은 예외입니다.
* **정렬** — 텍스트는 플레이어의 언어 기본 설정에 따라 왼쪽/오른쪽 정렬됩니다(가운데 정렬이나 완전 양쪽 정렬이 아님). 또는 플레이어가 조정할 수 있습니다.

## 잠재적 플레이어 영향

| 플레이어                                           | 영향 받음 |
| ---------------------------------------------- | :---: |
| 저시력 플레이어                                       |   ✔   |
| 색 인식이 거의 없거나 전혀 없는 플레이어                        |   ✔   |
| 청력이 없는 플레이어                                    |   ✔   |
| 청력이 제한된 플레이어                                   |   ✔   |
| 인지 또는 학습 장애가 있는 플레이어                           |   ✔   |
| 작은 / 멀리 있는 / 눈부심의 영향을 받는 / 저대비 디스플레이에서 읽는 플레이어 |   ✔   |

## 리소스

* [Clear Text (accessible.games)](https://accessible.games/accessible-player-experiences/access-patterns/clear-text/)
* [Distinguish This From That (accessible.games)](https://accessible.games/accessible-player-experiences/access-patterns/distinguish-this-from-that/)
* [Allow the font size to be adjusted (Game Accessibility Guidelines)](http://gameaccessibilityguidelines.com/allow-the-font-size-to-be-adjusted/)
* [Provide a choice of text colour, low/high contrast as a minimum](http://gameaccessibilityguidelines.com/provide-a-choice-of-text-colour-lowhigh-contrast-choice-as-a-minimum)
* [Use simple clear text formatting](http://gameaccessibilityguidelines.com/use-simple-clear-text-formatting/)
* API: [XGameStreamingGetStreamPhysicalDimensions](https://developer.microsoft.com/games/xbox/docs/gdk/Xgamestreaminggetstreamphysicaldimensions) *(NDA)*


## Related topics

- [XAG 102: 대비](/ko/build/game-principles/accessibility/xag-deep-dives/xag-102-contrast.md)
- [XAG 123: 정신 건강 모범 사례](/ko/build/game-principles/accessibility/xag-deep-dives/xag-123-mental-health-best-practices.md)
- [XAG 104: 자막과 캡션](/ko/build/game-principles/accessibility/xag-deep-dives/xag-104-subtitles-captions.md)
- [XAG 119: 음성-텍스트 변환 및 텍스트-음성 변환 채팅](/ko/build/game-principles/accessibility/xag-deep-dives/xag-119-chat.md)
- [XAG 114: UI 컨텍스트](/ko/build/game-principles/accessibility/xag-deep-dives/xag-114-ui-context.md)
