# 텍스트 꾸미기

## Content

SpreadJS는 일반 밑줄과 회계용 밑줄(Accounting Underline)을 포함한 다양한 텍스트 꾸미기 스타일을 지원합니다.
텍스트 꾸미기는 셀 또는 `Style` 객체의 [TextDecoration](/spreadjs/api/v19/enums/GC.Spread.Sheets.TextDecorationType) 속성을 사용하여 설정할 수 있습니다.

## 지원되는 유형

텍스트 꾸미기는 `TextDecorationType` 열거형으로 정의됩니다.
`TextDecorationType`은 비트 연산 플래그(bitwise flag) 열거형입니다.

| 이름 | 값 | 설명 |
| --- | --- | --- |
| none | 0 | 꾸미기 없음 |
| underline | 1 | 단일 밑줄 |
| lineThrough | 2 | 취소선 |
| overline | 4 | 텍스트 위 선 |
| doubleUnderline | 8 | 이중 밑줄 |
| accountingUnderline | 16 | 단일 회계용 밑줄 |
| doubleAccountingUnderline | 32 | 이중 회계용 밑줄 |

![image-20260317.3e8ebd.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260317.3e8ebd-20260605.26dd79.png?width=400)

>type=note
> **참고:**
> 필요에 따라 비트 연산 조합을 지원합니다(예: `underline | lineThrough`).

## 텍스트 꾸미기 적용

### `getCell` 사용

```auto
activeSheet.getCell(0, 0).textDecoration(
    GC.Spread.Sheets.TextDecorationType.underline
);

activeSheet.getCell(1, 0).textDecoration(
    GC.Spread.Sheets.TextDecorationType.doubleAccountingUnderline
);
```

### Style 객체 사용

```auto
var style = new GC.Spread.Sheets.Style();
style.textDecoration =
    GC.Spread.Sheets.TextDecorationType.accountingUnderline;

activeSheet.setStyle(2, 1, style);
```

## 일반 밑줄과 회계용 밑줄 비교

SpreadJS는 일반 밑줄 스타일과 Excel 호환 회계용 밑줄 스타일을 모두 지원합니다.

| 항목 | 일반 밑줄 | 회계용 밑줄 |
| --- | ----- | ------ |
| 지원 유형 | <ul><li>Underline</li><li>DoubleUnderline</li></ul> | <ul><li>AccountingUnderline</li><li>DoubleAccountingUnderline</li></ul> |
| 위치 | 텍스트 바로 아래에 표시 | 텍스트 기준선보다 더 아래에 표시 |
| 간격 | 고정된 시각적 오프셋 | 글꼴 크기에 비례하여 간격 조정 |
| 밑줄 너비 | 텍스트 너비와 동일 | 숫자 및 회전된 텍스트는 텍스트 너비와 동일, 일반 텍스트는 열 전체 너비까지 확장될 수 있음 |
| 회전 | 텍스트 회전 방향을 따름(세로 텍스트 미지원) | 텍스트 회전 방향을 따름(세로 텍스트 미지원) |
| 일반적인 사용 사례 | 일반 텍스트 강조 | 재무 보고서 및 Excel 스타일 회계 서식 |

### 회계용 밑줄 동작 참고 사항

* 회계용 밑줄은 셀 수준에서 적용되며 Rich Text의 일부 구간에만 설정할 수 없습니다.
* 숫자 및 날짜 서식 값의 경우 밑줄 너비는 텍스트 너비와 동일합니다.
* 일반 텍스트의 경우 밑줄이 열 전체 너비까지 확장될 수 있습니다.
* 병합된 셀에서는 밑줄이 병합 영역 전체 너비에 적용됩니다.
* 세로 텍스트에서는 회계용 밑줄이 렌더링되지 않습니다(Excel과 동일).
* SpreadJS는 회계용 밑줄 적용 시 행 높이를 자동으로 증가시키지 않습니다.
    행 높이가 충분하지 않으면 밑줄이 깨져 보일 수 있습니다.
    (Excel에서는 이 경우 행 높이가 자동으로 증가할 수 있습니다.)

## SpreadJS 디자이너에서 텍스트 꾸미기 설정

API 외에도 SpreadJS 디자이너에서 텍스트 꾸미기를 설정할 수 있습니다.

1. 하나 이상의 셀을 선택합니다.
2. 홈 탭으로 이동합니다.
3. 글꼴 그룹에서 대화 상자 실행 관리자(작은 화살표 아이콘)를 클릭합니다.
    ![image-20260317.37e6ec.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260317.37e6ec-20260528.e2f5e7.png?width=600)
4. 셀 서식 대화 상자에서 글꼴 탭을 엽니다.
    ![image-20260317.2bbc66.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260317.2bbc66-20260528.3ae8de.png?width=400)
5. 밑줄 드롭다운 목록에서 다음 중 하나를 선택합니다.
    * 단일
    * 이중
    * 단일 회계용
    * 이중 회계용

    ![image-20260317.9ad08f.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260317.9ad08f-20260528.c1a3c3.png?width=400)
6. 확인을 클릭하여 설정을 적용합니다.

취소선도 동일한 대화 상자의 효과 항목에서 활성화할 수 있습니다.
![image-20260317.160990.png](https://gcdocumentsitekrblob.blob.core.windows.net/document-site-files/images/36b63360-fb01-457c-a448-c3ce32aaf454/image-20260317.160990-20260528.1dfa47.png?width=400)

>type=note
> 회계용 밑줄 유형은 다른 밑줄 유형과 함께 사용하지 않는 것을 권장합니다.

선택한 밑줄 유형은 셀 전체에 적용되며 API의 `TextDecorationType` 열거형과 직접 대응됩니다.