Advanced SubStation Alpha
거의 무엇이든 할 수 있는 자막 형식입니다. 이름 있는 스타일, 임의의 글꼴, 색상, 외곽선, 그림자, 그리고 각 줄을 배치하고 움직이고 애니메이션하는 코드를 지원합니다. 팬서브 제작자들은 4반세기 동안 이 형식으로 타이포그래피를 다뤄 왔습니다. 그 선배 형식인 SubStation Alpha(.ssa)도 같은 방식으로 읽힙니다.
한눈에 보기
| 확장자 | .ass |
|---|---|
| 미디어 타입 | 등록된 것 없음; 관습적으로 text/x-ssa |
| 사양 | 비공식. SubStation Alpha 스크립트 노트와, 이후 VSFilter와 libass가 그리는 방식. |
| 시간 정밀도 | 100분의 1초 |
| 텍스트 인코딩 | 명시되지 않음. 오늘날은 UTF-8이며, 구형 파일은 당시의 인코딩이고 Subtitld가 감지합니다. |
| 스타일 | 이름 있는 스타일과 텍스트 안의 재정의 코드: 글꼴, 색상, 외곽선, 그림자, 회전, 애니메이션 |
| 위치 | 어디든 가능: 스타일의 정렬과 여백, {\an8}, {\pos}, {\move} |
| 화자 | 모든 줄에 배우(Name)가 있으며, 화면에는 표시되지 않음 |
| 컨테이너 | Matroska에서는 S_TEXT/ASS 또는 S_TEXT/SSA, 첨부된 글꼴과 함께; MP4에서는 스타일 없이 변환만 됨 |
파일의 구조
세 개의 섹션이 있으며, 각각 대괄호로 묶인 제목과 그 아래의 Key: value 줄로 이루어집니다.
[Script Info] PlayResY: 800 [V4+ Styles] Style: Default,Arial,44,… [Events] Dialogue: 0,0:00:30.80,…,Celia,…
- 1 · 스크립트 정보
캔버스입니다. 모든 위치를 세는 기준 크기(
PlayResX,PlayResY), 줄바꿈 방식(WrapStyle), 제목. - 2 · 스타일
이름 있는 모습: 글꼴, 크기, 색상, 외곽선, 그림자, 정렬, 여백. SSA는 이 섹션을
[V4 Styles]라고 부릅니다. - 3 · 이벤트
자막당 한 줄:
Dialogue, 또는 결코 표시되지 않는Comment.
Dialogue 줄
Dialogue: 0,0:00:30.80,0:00:34.00,Default,Celia,0,0,0,,{\an8}Why don't you…는 쉼표로 구분된 항목을 담습니다:
| 필드 | 역할 |
|---|---|
| Layer | 값이 클수록 위에 그려집니다. SSA에는 여기에 Marked=0이 있습니다. |
| Start, End | 시작과 끝 시간, 100분의 1초 단위 |
| Style | 이름 있는 스타일 중 하나 |
| Name | 배우: 누가 말하는지. 표시되지 않습니다. |
| MarginL, MarginR, MarginV | 이 줄에 대한 스타일의 여백; 0이면 스타일의 여백을 씁니다 |
| Effect | 오래된 스크롤 효과, 대부분 비어 있음 |
| Text | 나머지 줄 전체. 쉼표를 포함하며 재정의 코드가 함께 들어 있습니다 |
타임코드
천분의 일초가 아니라 100분의 1초입니다. 시는 한 자리, 소수점 뒤는 두 자리입니다. 밀리초 단위로 맞춘 자막은 ASS로 저장할 때 가장 가까운 100분의 1초로 반올림됩니다.
재정의 코드
중괄호 안의 코드는 그 지점부터 줄을 바꿉니다. 다음은 자주 쓰이는 코드와 Subtitld가 이것들을 어떻게 다루는지입니다.
| 코드 | 효과 | Subtitld에서 |
|---|---|---|
{\i1}…{\i0} |
기울임꼴 | 유지 |
{\b1}, {\b700} |
굵게, 또는 굵기 | 유지 |
{\u1}, {\s1} |
밑줄, 취소선 | 유지 |
{\c&H00D7FF&} |
텍스트 색상 | 유지 |
{\r}, {\rSign} |
줄의 스타일로, 또는 다른 스타일의 모습으로 되돌림 | 따름 |
{\an8} |
줄 배치: 키패드의 아홉 위치 | 유지 |
\N, \n, \h |
줄바꿈; WrapStyle: 2일 때만 줄바꿈; 줄바꿈 없는 공백 |
줄과 공백으로 유지 |
{\pos(960,100)}, {\move(…)} |
정확한 지점, 또는 경로 | 유지되지 않음 |
{\fad(200,200)}, {\t(…)} |
페이드와 애니메이션 | 유지되지 않음 |
{\k20} |
가라오케 타이밍 | 유지되지 않음; 텍스트는 남음 |
{\fnArial\fs48} |
글꼴과 크기 | 유지되지 않음 |
{\p1}…{\p0} |
벡터 그림 | 자막이 아님 |
색상은 거꾸로 적힙니다. &H00D7FF&는 금색입니다: 파랑, 초록, 빨강 순서입니다. 스타일의 색상에는 앞에 알파값이 붙으며, 00은 불투명, FF는 투명입니다.
SSA인가 ASS인가?
| SubStation Alpha .ssa | Advanced SubStation Alpha .ass | |
|---|---|---|
| 버전 | v4.00 | v4.00+ |
| 스타일 섹션 | [V4 Styles] |
[V4+ Styles] |
| 정렬 | 고유한 번호: 1 2 3 아래, 5 6 7 위, 9 10 11 가운데 | 키패드의 번호, 1부터 9까지 |
| 밑줄, 취소선 | — | 스타일과 코드에 있음 |
| 레이어 | — | 줄마다 하나 |
| 사용처 | 구형 도구 | Aegisub, 플레이어, 팬서브 |
Subtitld의 ASS
- 모든 자막의 텍스트와 줄바꿈
- 스타일과 코드에서 온 기울임꼴, 굵게, 밑줄, 취소선, 색상
- 화면에서의 위치
- 배우로 된 화자
- 시작과 끝 시간, 100분의 1초 단위, 순서대로
- 정확한 위치, 페이드, 애니메이션, 가라오케
- 줄마다의 글꼴, 크기, 외곽선; 레이어
- 그림과 주석
- 원문 옆의 번역, 더빙, 화자의 얼굴
.usfx 프로젝트로 저장하면 Subtitld의 고유 요소를 보관할 수 있습니다.
ASS 또는 SSA 파일 열기
Subtitld는 두 버전을 모두 읽고 다음을 수행합니다:
- 각 줄에 스타일의 모습(기울임꼴, 굵게, 밑줄, 취소선, 흰색이 아닌 색상)과 위치를 주고, 그다음 텍스트의 코드를 따릅니다;
- 배우를 줄의 화자로 취해, 더빙에 바로 쓸 수 있게 합니다;
Comment줄과 그림은 건너뛰고, 그림 뒤에 오는 텍스트는 유지합니다;\n을 파일의WrapStyle설정에 따라 읽습니다: 스타일 2에서는 줄바꿈, 그 밖에는 공백;- 어떤 인코딩이든 해독하고, 줄을 순서대로 정렬합니다.
정확한 위치, 페이드, 가라오케, 글꼴처럼 Subtitld가 둘 곳이 없는 것은 제외됩니다. 텍스트 자체는 남습니다.
ASS 내보내기
Export 다음 Subtitles와 ASS를 선택하면 다음 옵션을 제공합니다:
- Text원문, 번역, 또는 둘 다(번역은 아래에 놓입니다).
- Speaker names텍스트에서 제외하거나, 텍스트 앞에 넣습니다(Thom: …). 어느 쪽이든 배우로 기록됩니다.
- Formatting유지하거나 제거합니다.
- Shift times모든 자막을 같은 값만큼 앞이나 뒤로 옮깁니다.
- Look검은 외곽선이 있는 흰색, 또는 Subtitld 미리보기처럼: 글꼴, 색상, 그림자, 반투명 상자.
스크립트는 영상 크기에 맞춰집니다. PlayResX와 PlayResY는 영상의 너비와 높이이며, 하나뿐인 스타일 Default는 그 높이에 맞춰 조정됩니다: 1080에서는 60픽셀입니다. 파일 이름을 .ssa로 주면 SubStation Alpha v4로 쓰이며, 위치는 SSA의 번호를 씁니다.
상식
SubStation Alpha는 Kotus가 만든 편집기였습니다. 그 스크립트 형식은 프로그램의 이름을 물려받았고, 프로그램보다 오래 살아남았습니다.
Advanced SubStation Alpha는 원래 버전과 플러스 기호로 자신을 표시합니다: 같은 섹션에 코드가 더 많습니다.
색상은 파랑, 초록, 빨강 순으로 쓰이고, 알파값은 거꾸로 셉니다: 00은 불투명, FF는 투명입니다.
관련 형식
Subtitld에서 동영상과 함께 열고, 파형에서 시간을 다시 맞춰 보세요.