> ## Documentation Index
> Fetch the complete documentation index at: https://make.edicus.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 텍스트 프레임과 폰트

> InDesign 글자를 편집 가능한 텍스트로 옮길 때의 컴포저, 폰트, 서식, 프레임 규칙

사용자가 고칠 글자는 `Text` 레이어의 텍스트 프레임으로 만듭니다. 변환할 때 에디쿠스는 InDesign의 줄바꿈 결과를 가져오지 않습니다. 글자 내용과 서식만 읽고, 편집기의 텍스트 엔진이 줄을 다시 나눕니다. 그래서 무엇이 옮겨지고 무엇이 버려지는지 알고 만들어야 InDesign과 편집기의 모양이 같아집니다.

## 배우는 것

* 편집 가능한 텍스트 프레임을 만드는 조건
* 단락 컴포저와 폰트를 준비하는 방법
* 변환되는 서식과 버려지는 서식
* 프레임 크기, 세로 정렬, 패스 위 텍스트의 처리

## 편집 가능한 텍스트 프레임

`Text` 레이어에 텍스트 프레임을 넣으면 편집기에서 사용자가 고칠 수 있는 글상자가 됩니다. 레이어 이름 규칙은 [레이어 이름과 개체 종류](/docs/templates/layers)에 있습니다.

아래 경우에는 프레임이 아예 만들어지지 않습니다. 업로드는 성공하므로 Edicus Manager의 Demo에서 글상자가 모두 있는지 꼭 확인합니다.

| 경우 | 결과 |
| - | - |
| 글자가 한 자도 없는 프레임 | 만들지 않습니다. 빈 입력 칸이 필요하면 안내 문구를 쓰고 `placeholder=true`를 붙입니다 |
| 글자 색이 \*\*\[없음]\*\*인 글자가 한 자라도 있는 프레임 | 프레임 전체를 만들지 않습니다 |
| 텍스트 프레임을 그룹으로 묶어 `Text` 레이어에 넣은 경우 | 그룹을 글상자로 바꾸지 않고 버립니다. 그룹을 풀어 둡니다 |
| 숨긴 프레임이나 숨긴 레이어의 프레임 | 익스포터가 읽지 않습니다 |

`Text` 레이어가 아니어도 이름이 `레이어`나 `Layer`로 시작하는 기본 레이어에 둔 텍스트 프레임은 편집 가능한 글상자가 됩니다. `Guide` 레이어의 텍스트 프레임은 편집기에서 선택할 수 없는 안내 글자가 됩니다.

안내 문구를 쓰는 방법은 [어노테이션](/docs/templates/annotations)에 있습니다. `placeholder=true`를 붙인 글상자는 쓴 글자가 안내 문구가 되고 내용은 비워집니다.

## 단락 컴포저

모든 편집 글자의 단락 컴포저를 **Adobe CJK 단락 컴포저**로 고릅니다. **단락** 패널 오른쪽 위의 패널 메뉴에서 바꿉니다.

* 익스포터는 글자마다 컴포저 이름을 확인합니다. 다른 컴포저를 쓴 글자가 있으면 **Export** 뒤에 `Export Success!` 대신 **Error Report** 창이 뜨고, 해당 글자와 컴포저 이름이 나열됩니다.
* 이때도 내보낸 파일(`template.json`, `metadata.json`)은 먼저 저장됩니다. **Preview**와 업로드도 막히지 않습니다. 그래도 경고를 없앤 뒤 올립니다.
* 익스포터는 컴포저 이름을 한국어(`Adobe CJK 단락 컴포저`)로 비교합니다. InDesign 한국어판에서 작업해야 경고 없이 통과합니다.

<Tip>
  **단락 스타일** 패널의 **\[기본 단락]** 스타일에 Adobe CJK 단락 컴포저를 지정해 두면, 이 스타일을 바탕으로 만드는 모든 글자에 적용됩니다. 문서를 열자마자 지정합니다.
</Tip>

에디쿠스는 컴포저 설정을 옮기지 않고 자체 엔진으로 줄을 다시 나눕니다. 다른 컴포저로 맞춘 줄바꿈과 글줄 위치는 편집기에서 달라질 수 있고, 고정 행간을 쓴 글상자에서 차이가 커집니다.

## 폰트

### 폰트가 연결되는 방식

템플릿의 폰트는 이름으로 에디쿠스에 등록된 폰트와 짝지어집니다. 어느 폰트 목록에서 찾을지는 **폰트 그룹**이 정합니다. 폰트 그룹 이름은 `폰트 클래스-디비전-언어` 형식입니다. 디비전은 한 파트너 안에서 편집기 설정과 문구를 나누는 단위로, 기본값은 `host`입니다([파트너 공통 설정](/docs/products/style) 참고).

| 순서 | 폰트 그룹을 정하는 값 |
| - | - |
| 1 | 글상자가 있는 레이어 이름에 `div`와 `lang`이 둘 다 있으면 그 값. 예: `Text@div=host,lang=en` |
| 2 | 레이어 이름에 `use=basefont`가 있으면 `폰트 클래스-basefont` |
| 3 | `host` 디비전과 익스포트 아이템의 **lang-code**. 익스포트 아이템의 디비전은 `host`로 고정돼 있고 익스포터 화면에 바꾸는 칸이 없습니다 |

폰트 클래스는 익스포트 아이템에 넣은 첫 번째 `ps_code`의 상품에 설정된 `font-class`입니다. 상품에 값이 없으면 `default`입니다. 정해진 폰트 그룹이 없으면 `폰트 클래스-basefont`로 대신 찾습니다.

그룹 안에서는 InDesign 폰트의 전체 이름, 패밀리 이름과 스타일을 이은 이름, PostScript 이름 순서로 맞는 폰트를 찾습니다. 폰트 등록과 폰트 클래스는 [폰트](/docs/products/fonts)에서 다룹니다.

<Note>
  레이어 이름의 `lang`과 `div`는 폰트 그룹만 정하지 않습니다. 템플릿으로 프로젝트를 만들 때, 편집기를 띄운 언어(`lang`)나 디비전(`div`)과 다른 값이 붙은 개체는 지워집니다. 언어별 글상자를 한 템플릿에 함께 둘 때 씁니다.
</Note>

### 폰트를 찾지 못할 때

| 상황 | 알려 주는 곳 |
| - | - |
| InDesign을 실행한 PC에 폰트가 없습니다 | **Export** 뒤 **Error Report** 창의 `Uninstalled Font Warning`에 폰트 이름이 나옵니다. 내보낸 파일은 저장되고 **Preview**와 업로드도 막히지 않지만, 폰트를 설치하고 다시 내보냅니다 |
| 에디쿠스 폰트 그룹에 같은 폰트가 없습니다 | **Preview** 뒤 `Unregistered fonts` 오류에 폰트 이름이 나옵니다. 이때는 **Upload Template** 단추가 나오지 않아 익스포터로 올릴 수 없습니다. Edicus Manager에서 폰트를 등록하고 다시 **Preview**합니다 |

<Note>
  연동 담당자에게 전달: 서버 업로드 API는 미등록 폰트를 검사해 막지 않고 응답의 `unregistered_fonts_found`에 폰트 이름만 담습니다. 익스포터 밖에서 올릴 때는 이 값을 직접 확인합니다.
</Note>

## 문단·문자 스타일

익스포터는 스타일 이름을 읽지 않습니다. 글자마다 최종으로 적용된 서식만 읽습니다. 그래서 스타일을 써도 되고 직접 서식을 줘도 결과는 같습니다. 편집기에는 스타일 목록이 생기지 않습니다.

## 변환되는 서식

| InDesign 서식 | 편집기에서 |
| - | - |
| 글꼴, 스타일 | 등록된 폰트로 연결합니다 |
| 크기 | 그대로 옮깁니다 |
| 자간 | 그대로 옮깁니다. 단위도 InDesign과 같은 1/1000em입니다 |
| 가로 비율(장평) | 그대로 옮깁니다 |
| 정렬 | 왼쪽, 가운데, 오른쪽 정렬과 네 가지 양끝 정렬(마지막 줄 왼쪽·가운데·오른쪽, 모든 줄)을 옮깁니다. **책등 쪽 정렬**과 **책등 반대쪽 정렬**은 왼쪽 정렬이 됩니다 |
| 왼쪽·오른쪽·첫 줄 들여쓰기, 단락 앞·뒤 공백 | 그대로 옮깁니다 |
| 자동 행간 | 자동 행간 비율(기본 120%)을 줄 간격으로 옮깁니다. 사용자가 편집기에서 줄 간격을 바꿀 수 있습니다 |
| 고정 행간 | 값을 그대로 옮깁니다. 편집기의 줄 간격 조절은 이 글상자에 효과가 없습니다 |
| 칠 색 | 단색과 선형 그레이디언트를 옮깁니다. 색조(%)는 색에 반영합니다. 별색은 별색 정보를 함께 옮깁니다 |
| 획 | 두께, 색, 정렬, 모서리 모양을 옮깁니다. **획을 안쪽에 정렬**은 바깥쪽 정렬이 됩니다 |
| 그림자 | **효과** 패널에서 대상을 **텍스트**로 고르고 준 그림자만 옮깁니다. 크기, 각도, 거리, 불투명도, 색을 씁니다 |
| 모두 대문자 | 실제 대문자로 바꿔 옮깁니다 |
| 개체 불투명도 | 글상자 불투명도로 옮깁니다 |

행간은 편집기에서 단락 단위로 처리합니다. 한 단락 안에 행간 값이 여럿이면 마지막 값이 단락 전체에 적용됩니다.

## 버려지는 서식

| InDesign 서식 | 편집기에서 |
| - | - |
| 커닝 | 옮기지 않습니다. 편집기는 폰트에 든 커닝 값을 씁니다. 광학 커닝과 수동 커닝은 반영되지 않습니다 |
| 세로 비율, 기울기, 기준선 이동 | 버립니다 |
| 밑줄, 취소선, 위 첨자, 아래 첨자 | 버립니다 |
| 작은 대문자 | 버립니다. 원래 글자로 남습니다 |
| 방사형 그레이디언트 글자 색 | 검정이 됩니다 |
| 글상자 자체의 칠과 획 | 버립니다. 바탕 상자가 필요하면 별도 도형으로 만듭니다 |
| 텍스트 프레임 옵션의 열, 인셋 간격, 첫 번째 기준선 | 버립니다 |
| 텍스트 감싸기 | 버립니다. 글이 다른 개체를 피해 흐르지 않습니다 |

## 줄과 단락

* 단락 나눔(Enter)과 강제 줄바꿈(Shift+Enter)은 모두 단락 나눔이 됩니다. 단락 앞·뒤 공백이나 첫 줄 들여쓰기를 준 글상자에서는 강제 줄바꿈 자리에도 이 값이 적용됩니다.
* 텍스트 프레임은 모양과 상관없이 사각형 글상자가 됩니다. 원형 프레임 안의 글도 사각형 안에서 줄이 나뉩니다.
* 연결된 텍스트 프레임은 프레임마다 따로 옮겨집니다. 편집기에서 글이 다음 프레임으로 넘어가지 않습니다. 프레임마다 독립된 내용으로 만듭니다.
* 넘치는 텍스트(프레임 밖으로 넘친 글)는 프레임에 보이는 글만 옮겨집니다. 내보내기 전에 넘침 표시(빨간 +)가 없게 합니다.

## 프레임 크기와 세로 정렬

글상자의 높이는 **텍스트 프레임 옵션**의 **자동 크기 조정** 설정이 정합니다.

| 자동 크기 조정 | 편집기에서 |
| - | - |
| 끄기 | 높이가 고정됩니다. **세로 정렬**의 위쪽, 가운데, 아래쪽을 옮깁니다. **양쪽 정렬**은 위쪽이 됩니다 |
| 그 밖의 모든 설정 | 높이가 내용에 맞춰 늘고 줄어듭니다. 세로 정렬과 자동 크기 조정의 기준점은 옮기지 않습니다 |

가로 폭은 어느 경우든 InDesign 프레임 폭 그대로입니다. 한 줄로 끝나야 하는 칸은 가장 긴 예상 입력이 들어갈 폭을 확보합니다.

선택 도구로 프레임을 늘려 크기 조절 비율이 100%가 아니게 된 글상자는 가로 비율로 글자 크기, 행간, 들여쓰기를 환산합니다. 세로 비율은 반영하지 않으므로 가로와 세로를 다른 비율로 늘리지 않습니다.

편집기에서 사용자가 세로 정렬이나 높이 맞춤을 바꿀 수 있게 하려면 상품 설정의 `vertical-align`, `fit-to-height`를 켭니다. [사진과 글자 편집 범위](/docs/products/photo-text)를 보세요.

## 패스 위 텍스트

`Text` 레이어에 패스 위 텍스트를 넣으면 편집 가능한 패스 글자가 됩니다. 직선, 사각형, 다각형, 원 모두 패스로 쓸 수 있습니다.

* 패스 하나에 패스 위 텍스트가 여럿이면 첫 번째 것만 옮깁니다.
* **패스 위 텍스트 옵션**에서 **뒤집기**, 정렬 기준(기준선, 가운데, 위쪽 끝, 아래쪽 끝), 시작과 끝 위치를 옮깁니다.
* 효과(무지개, 기울이기 등)와 간격은 옮기지 않습니다.
* 세로 정렬과 자동 크기 조정은 적용되지 않습니다.

사용자가 패스 글자를 새로 만들 수 있게 하려면 상품 설정의 `text-on-path`를 켭니다.

## 포토북 책등 글자

익스포터에서 **photobook** 옵션을 쓴 템플릿의 표지에서는, 중심이 책등 폭 안에 있는 글상자가 책등 글자가 됩니다. 이 글상자는 이동, 삭제, 잠금 해제를 할 수 없고 높이가 고정됩니다. 회전한 책등 글상자는 책등 가운데로 옮겨지고 세로 가운데 정렬이 됩니다. 옵션은 [페이지와 상위 페이지(마스터)](/docs/templates/pages#포토북-옵션)에 있습니다.

## 됐는지 확인

<Check>
  **Export**와 **Preview** 뒤 컴포저, 미설치 폰트, 미등록 폰트 경고가 없고, Edicus Manager의 Demo에서 모든 글상자가 있으며 짧은 입력과 긴 입력을 넣어도 줄바꿈과 위치가 의도대로면 됩니다.
</Check>

## 다음 단계

<Columns cols={2}>
  <Card title="변수와 데이터 병합" icon="brackets-curly" href="/docs/templates/variables">
    글자를 데이터에 연결합니다.
  </Card>

  <Card title="사진과 글자 편집 범위" icon="font" href="/docs/products/photo-text">
    사용자가 바꿀 수 있는 글자 서식을 정합니다.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.