다음도 참조하십시오 번역본.
Copyright © 2026 World Wide Web Consortium. W3C® liability, trademark and document use rules apply.
이 명세는 전 세계의 자막 및 캡션 전달 애플리케이션을 대상으로 하는 [ttml2]의 텍스트 전용 프로파일을 정의합니다.
이는 [ttml-imsc1.2]에서 지정된 텍스트 프로파일을 개선하며, 개선 사항은 L. 실질적 변경 사항 요약에 요약되어 있습니다.
이 섹션은 발행 당시 이 문서의 상태를 설명합니다. 현재 W3C 간행물 목록과 이 기술 보고서의 최신 개정판은 W3C 표준 및 초안 색인에서 확인할 수 있습니다.
이 문서는 Timed Text Working Group에서 권고안 트랙을 사용하여 권고안으로 발행했습니다.
W3C는 이 명세를 웹의 표준으로 널리 배포할 것을 권고합니다.
W3C 권고안은 광범위한 합의 형성을 거친 후 W3C와 그 회원이 승인하고, Working Group 회원이 구현을 위해 로열티 없는 라이선스 약속을 한 명세입니다.
이 문서는 W3C 특허 정책에 따라 운영되는 그룹에서 작성했습니다. W3C는 그룹의 산출물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지합니다. 해당 페이지에는 특허 공개 지침도 포함되어 있습니다. 개인이 자신이 필수 청구항을 포함한다고 믿는 특허에 대해 실제 지식을 가지고 있는 경우, W3C 특허 정책의 섹션 6에 따라 정보를 공개해야 합니다.
이 문서는 2025년 8월 18일 W3C 프로세스 문서의 적용을 받습니다.
이 명세는 전 세계의 자막 및 캡션 전달을 대상으로 하는 [ttml2]의 텍스트 전용 프로파일을 정의하며, 대화 언어 번역, 콘텐츠 설명, 청각 장애인 및 난청인을 위한 캡션 등을 포함합니다.
이 명세는 다음과 같이 설계되었습니다.
이 섹션은 비규범적입니다.
이 명세는 전 세계의 자막 및 캡션 전달을 위한 문서 교환 형식과 관련 검증 및 프레젠테이션 요구 사항을 정의하며, 대화 언어 번역, 콘텐츠 설명, 청각 장애인 및 난청인을 위한 캡션 등을 포함합니다.
이 형식은 텍스트 프로파일이라고 하는 [ttml2]의 프로파일이며, [ttml2] 기능의 하위 집합과 함께 [EBU-TT-D]에서 지정한 추가 기능, 예를 들어 F.8 #multiRowAlign을 포함하고, 새로운 기능, 예를 들어 F.5 #fillLineGap을 정의합니다. 텍스트 프로파일은 텍스트 전용입니다. 자막과 캡션을 구성하는 timed text는 The Unicode Standard에 정의된 코드 포인트만을 사용하여 표현됩니다.
6.3 프로파일 해석 의미론 및 I. 다른 TTML 기반 명세와의 호환성에 자세히 설명된 것처럼, 이 명세는 [ttml-imsc1], [ttml-imsc1.0.1], [ttml-imsc1.1], [ttml-imsc1.2], [SMPTE2052-1], [EBU-TT-D], [ttml10-sdp-us] 및 [CFF]를 포함한 TTML의 다른 텍스트 전용 프로파일과 호환되도록 설계되었습니다.
이 명세의 이전 버전은 이미지 프로파일이라고 하는 이미지 전용 프로파일을 지정했으나, 여기에서는 더 이상 지정하지 않습니다. I.6 이전 버전의 IMSC에서는 이 명세와 이전 버전 명세 간의 관계를 논의합니다.
렌더링 충실도를 개선하기 위해, A. 참조 폰트는 참조 폰트를 정의하고 프로세서가 이러한 참조 폰트와 유사한 폰트 메트릭을 가진 하나 이상의 폰트를 지원하도록 요구합니다. 마찬가지로, 특정 언어를 대상으로 하는 프로세서가 텍스트를 올바르게 표시할 것이라는 신뢰도를 높이기 위해, B. 공통 문자 집합은 작성자가 사용하도록 권장되는 공통 문자 집합을 정의합니다.
가상 렌더 모델은 [imsc-hrm]에서 별도로 지정됩니다. 가상 렌더 모델을 통해 자막 및 캡션 작성자와 제공자는 자신이 제공하는 텍스트 프로파일 문서가 정의된 복잡도 수준을 초과하지 않는지 확인할 수 있으므로, 재생 시스템은 작성자가 지정한 표시 시간에 동기화하여 콘텐츠를 렌더링할 수 있습니다.
이 명세는 처음에 [SUBM]을 기반으로 했습니다.
다음 예제는 구문상 유효한 텍스트 프로파일 및 [EBU-TT-D] 문서 인스턴스와 그것이 렌더링되는 방식을 보여줍니다. 이는 자막 파일의 템플릿으로 사용하기 위한 것이 아닙니다.
이 예제는 p 요소 안의
텍스트에 추가되는 공백이 없도록 구성되어 있습니다.
이러한 공백이 있으면 예기치 않은 형식 지정이 발생할 수 있습니다.
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ebutts="urn:ebu:tt:style"
xmlns:ebuttm="urn:ebu:tt:metadata"
xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling"
ttp:timeBase="media"
ttp:cellResolution="32 15"
xml:lang="en" >
<head>
<metadata>
<ebuttm:documentMetadata>
<!-- EBU-TT-D는 자체 적합성 시그널링 메커니즘을 정의합니다.
TTML1을 기반으로 하기 때문에 ttp:contentProfiles 매개변수를
사용할 수 없습니다. 이 매개변수는 TTML2에서 도입되었습니다. -->
<ebuttm:conformsToStandard>urn:ebu:tt:distribution:2018-04</ebuttm:conformsToStandard>
<ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1/text</ebuttm:conformsToStandard>
<ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1.2/text</ebuttm:conformsToStandard>
<ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1.3/text</ebuttm:conformsToStandard>
</ebuttm:documentMetadata>
</metadata>
<!--
styling 요소는 <p> 및 <span> 태그에 적용될 스타일을 정의합니다.
EBU-TT-D는 참조된 스타일만 사용하며, 인라인 스타일은 지원되지 않습니다.
-->
<styling>
<style xml:id="paragraphStyle"
tts:fontFamily="ReithSans, Arial, Roboto, proportionalSansSerif, default"
tts:fontSize="100%"
tts:lineHeight="120%"
tts:textAlign="center"
tts:wrapOption="noWrap"
ebutts:multiRowAlign="center"
ebutts:linePadding="0.5c"
itts:fillLineGap="true"/>
<style xml:id="spanStyle"
tts:color="#FFFFFF"
tts:backgroundColor="#000000"/>
<style xml:id="yellowStyle"
tts:color="#FFFF00"
tts:backgroundColor="#000000"/>
</styling>
<!--
layout 요소는 자막 텍스트가 표시되는 영역을 정의합니다.
여기에서는 상단 영역과 하단 영역이 정의되며, 위쪽과 아래쪽에서
텍스트 2줄만큼의 여백을 둡니다.
셀 해상도가 32x15인 경우, 100%(셀 높이 기준)의 폰트 높이는
6.66%(100/15)와 같습니다. 폰트 크기의 120%인 줄 높이는
활성 비디오 높이의 8%(1.2 x 6.66)와 같습니다. 각 영역은 3줄의 텍스트를 수용합니다: 3 x 8% = 24%.
영역의 너비는 3:4 표시와 1c
줄 패딩(2 x 0.5c)을 고려하여 70%로 설정됩니다.
-->
<layout>
<region xml:id="topRegion"
tts:origin="15% 16%"
tts:extent="70% 24%"
tts:displayAlign="before"
tts:writingMode="lrtb"
tts:overflow="visible"/>
<region xml:id="bottomRegion"
tts:origin="15% 60%"
tts:extent="70% 24%"
tts:displayAlign="after"
tts:writingMode="lrtb"
tts:overflow="visible"/>
</layout>
</head>
<body>
<!--
DIV의 의도된 용도는 프로그램 안의 섹션과 같은
의미 정보를 담는 것입니다. DIV는 프레젠테이션 용도로 사용하기 위한 것은 아니지만,
여기에 적용된 스타일은 하위 요소로 캐스케이드될 수 있습니다.
-->
<div>
<!--
단락은 하나 이상의 줄로 이루어진 단일 자막을 담으며,
시간 범위와 영역 할당을 가집니다.
-->
<p xml:id="subtitle1" region="bottomRegion" style="paragraphStyle"
begin="00:00:10.000" end="00:00:20.000"><!--
span은 참조를 통해 텍스트에 스타일을 적용하는 데 사용됩니다.
--><span style="spanStyle">Jubjub 새를 조심하고, 피하라</span><br/><span style="spanStyle">흉포한 Bandersnatch를!</span></p>
<p xml:id="subtitle2" region="topRegion" style="paragraphStyle"
begin="00:00:30.000" end="00:00:31.000"
><span style="spanStyle">이 자막은 상단 영역에 있습니다.</span><br
/><span style="spanStyle">여기에는 한 단어가 </span><span style="yellowStyle">노란색으로 </span><span style="spanStyle">표시됩니다.</span></p>
</div>
</body>
</tt>
아래의 예시 렌더링은 위 문서가 어떻게
해석되는지 보여줍니다(자막 텍스트와 검은색 배경만
표시됩니다). 기본 그리드는 가상이며
요소가 반드시 그리드에 맞춰 정렬되는 것은 아닙니다. 이는 ttp:cellResolution 매개변수의
그래픽 표현이라는 점에 유의하십시오.
이 예제는 [BBC-SUB]을 기반으로 합니다.
이 명세는 매개변수 속성, 스타일링 속성 및 메타데이터 요소를 지정할 때 [ttml2]와 동일한 규약을 사용합니다. 특히 다음과 같습니다.
이 명세는 [ttml2]의 부록 E.1 및 F.1에서 정의한 기능 및 확장 지정자를 사용합니다.
이 명세에서 참조되는 요소의 이름이 네임스페이스로 한정되어 있지 않은 경우, TT 네임스페이스가 적용됩니다(다음 참조: 8.8 네임스페이스.)
문자 정보 항목. [ttml2]의 섹션 2.2를 참조하십시오.
문서 인스턴스. [ttml2]의 섹션 2.2를 참조하십시오.
기본 프로세서 프로파일. [ttml2]에 정의된 대로입니다.
기본 영역. [ttml2]의 섹션 9.3.1을 참조하십시오.
확장. [ttml2]의 섹션 2.2를 참조하십시오.
외부 데이터 리소스. [ttml2]의 섹션 2.2를 참조하십시오.
기능. [ttml2]의 섹션 2.2를 참조하십시오.
중간 동기 문서. [ttml2]의 섹션 9.3.2를 참조하십시오.
문서 교환 컨텍스트. [ttml2]의 섹션 2.2를 참조하십시오.
문서 처리 컨텍스트. [ttml2]에 정의된 대로입니다.
유효 프로세서 프로파일. [ttml2]에 정의된 대로입니다.
폰트 리소스. [ttml2]에 정의된 대로입니다.
선형 공백. [ttml2]의 섹션 2.3을 참조하십시오.
재정의 콘텐츠 프로파일. [ttml2]에 정의된 대로입니다.
프로세서. 프레젠테이션 프로세서 또는 변환 프로세서 중 하나입니다.
프레젠테이션 프로세서. [ttml2]의 섹션 2.2를 참조하십시오.
지정 값. [ttml2]에 정의된 대로입니다.
변환 프로세서. [ttml2]의 섹션 2.2를 참조하십시오.
프로세서 프로파일. [ttml2]에 정의된 대로입니다.
관련 미디어 객체. [ttml2]의 섹션 2.2를 참조하십시오.
관련 비디오 객체. 이미지 프레임의 시퀀스로 구성되고, 각 프레임이 픽셀의 직사각형 배열인 관련 미디어 객체입니다.
루트 컨테이너 영역. [ttml2]의 섹션 2.2를 참조하십시오.
텍스트 프로파일 변환 프로세서. 텍스트 프로파일을 준수하는 변환 프로세서입니다.
텍스트 프로파일 프레젠테이션 프로세서. 텍스트 프로파일을 준수하는 프레젠테이션 프로세서입니다.
비규범적으로 표시된 섹션뿐 아니라, 이 명세의 모든 작성 지침, 다이어그램, 예제 및 참고 사항은 비규범적입니다. 이 명세의 그 밖의 모든 내용은 규범적입니다.
이 문서에서 핵심 단어 MAY, SHALL, SHALL NOT, SHOULD, SHOULD NOT은 여기 표시된 것처럼 모두 대문자로 나타날 때, 그리고 오직 그 경우에만, BCP 14 [RFC2119] [RFC8174]에 설명된 대로 해석해야 합니다.
텍스트 프로파일을 준수하는 문서 인스턴스는 다음과 같습니다.
문서 인스턴스는 정의상 [ttml2]의 섹션 3.1의 요구 사항을 충족하므로, 여기에서 정의된 프로파일을 준수하는 문서 인스턴스는 적합한 TTML1 문서 인스턴스이기도 합니다.
텍스트 프로파일을 준수하는 프레젠테이션 프로세서는 다음과 같습니다.
텍스트 프로파일을 준수하는 변환 프로세서는 다음과 같습니다.
현재 허용됨-폐기 예정으로 지정된 기능 또는 확장은 이 명세의 향후 버전에서 선택 사항 또는 금지됨으로 지정될 예정입니다.
부분 지원됨으로 지정된 기능 또는 확장은 완전히 금지됨도 아니고 완전히 허용됨도 아닙니다. 대신, 그 하위 집합인 각 기능 또는 확장의 배치 상태가 개별적으로 지정됩니다.
[ttml2]는 문서 인스턴스를 표시하는 것이 목적인 프레젠테이션 프로세서와, 문서 인스턴스를 표시하지 않고 처리하는 것이 목적인 변환 프로세서를 구분합니다. 모바일 장치의 미디어 파이프라인에 내장된 렌더러는 프레젠테이션 프로세서의 예이고, 검증기는 변환 프로세서의 예입니다.
텍스트 프로파일을 준수하는 프로세서는 다른 프로파일을 준수할 필요가 없습니다. 편의를 위해, 그리고 이 명세의 이전 버전과의 일관성을 위해, 텍스트 프로파일 변환 프로세서 및 텍스트 프로파일 프레젠테이션 프로세서라는 용어가 정의됩니다.
이 명세에서 프레젠테이션 프로세서(변환 프로세서)라는 용어를 사용하는 것은 [ttml2]에 지정된 DFXP 프레젠테이션 프로파일(DFXP 변환 프로파일)에 대한 적합성을 의미하지 않습니다. 다시 말해, 프레젠테이션 프로세서(변환 프로세서)가 DFXP 프레젠테이션 프로파일(DFXP 변환 프로파일)을 함께 준수하지 않고 이 명세에서 정의한 프로파일을 준수하는 것은 오류로 간주되지 않습니다.
이 명세는 부적합한 문서 인스턴스를 처리하거나 변환할 때의 프레젠테이션 프로세서 또는 변환 프로세서 동작을 지정하지 않습니다.
허용됨 및 금지됨 배치 상태는
ttp:profile 요소 안에서
ttp:feature 또는 ttp:extension 요소의 명세가 허용되거나 금지됨을
의미하지 않습니다.
텍스트 프로파일은 7. 지원되는 기능 및 확장과 8. 추가 규정 섹션으로 구성됩니다.
이 텍스트 프로파일은 다음 프로파일 지정자와 연결됩니다.
| 프로파일 이름 | 프로파일 지정자 |
|---|---|
| IMSC 1.3 Text | http://www.w3.org/ns/ttml/profile/imsc1.3/text |
[ttml2]에 지정된 프로파일 의미론이 적용됩니다.
금지된 속성의 기본값, 예를 들어
ttp:contentProfileCombination이 적용됩니다.
텍스트 프로파일 프로세서 프로파일은 다음 각 프로세서 프로파일에서 요구되는 모든 기능을 포함합니다.
작성자는 TTML 콘텐츠 검증 도구를 사용하여 콘텐츠 및 프로세서 프로파일 속성 어휘의 지나치게 제약된 사용을 감지하고 경고할 수 있습니다. 예를 들어 (a) 문서가 동시에 (i) 콘텐츠 프로파일 X에 대한 적합성을 지정하고 (ii) 프로세서 프로파일 Y의 사용을 요구하며, (b) 프로파일 X와 Y가 의미적으로 호환되지 않는 경우 경고할 수 있습니다.
[EBU-TT-M]에 지정된 하나 이상의
ebuttm:conformsToStandard 요소가 다음 지정자 중 하나로 설정된 경우,
재정의 콘텐츠 프로파일은
일치하는 지정자 중 하나와 연결된 프로파일로
SHALL 설정되어야 합니다.
urn:ebu:tt:distribution:2014-01
urn:ebu:tt:distribution:2018-04
허용됨, 금지됨, 선택 사항 및 허용됨-폐기 예정의 정의는 5. 적합성을 참조하십시오.
altText 명명된 메타데이터 항목은 텍스트 프로파일 문서 인스턴스에서 이미지 기반 timed text 정보가 사용되지 않으므로
존재하지 SHOULD NOT 않습니다.
문서 인스턴스에
ittm:altText 요소가 하나라도 존재하는 경우, altText 명명된 메타데이터 항목은 존재해서는
SHALL NOT 안 됩니다.
ittm:altText 요소는
텍스트 프로파일 문서
인스턴스에서 이미지 기반 timed text 정보가 사용되지 않으므로 존재하지
SHOULD NOT 않습니다.
altText 명명된
메타데이터 항목 요소가 하나라도 존재하는 경우, 문서 인스턴스에 ittm:altText 요소가 존재해서는
SHALL NOT 안 됩니다.
[ttml-imsc1.0.1]
프로세서와의 호환성이 요구되는 경우가 아니라면, ittp:aspectRatio 속성은 문서 인스턴스에 존재하지
SHOULD NOT 않습니다.
ttp:displayAspectRatio 속성이 하나라도 존재하는 경우,
ittp:aspectRatio 속성은 문서 인스턴스에 존재해서는
SHALL 안 됩니다.
tts:color의 초기값은 "white"이어야 SHALL 합니다.
이는 [SMPTE2052-1]와 일치합니다.
[ttml2]에 정의된
명명 색상 green은 RGB 색상 삼중값
#008000과 같으며, 최대 휘도가 아닙니다. 최대 휘도 녹색을 위해 작성자는
RGB 색상 삼중값
#00ff00 또는 명명 색상 lime을 지정할 수 있습니다.
ittp:aspectRatio 속성이 하나라도 존재하는 경우, ttp:displayAspectRatio 속성은
문서 인스턴스에 존재해서는
SHALL 안 됩니다.
문서 인스턴스가 px 단위를 사용하는
length 값을 포함하는 경우, tts:extent는
tt 요소에 존재해야 SHALL 합니다.
문서
인스턴스에 정의된 각 region 요소에 대해, tts:extent 스타일
속성의 지정 값은 픽셀(px),
백분율(%), 또는 루트 컨테이너 상대 단위를 사용하는 두 개의 length 표현식으로 구성되어야
SHALL 합니다.
문서
인스턴스에 region 요소가 정의되어 있지 않으면, 콘텐츠는 기본 영역으로 흐릅니다.
반대로, 문서 인스턴스에 하나 이상의 region 요소가 정의되어 있으면,
기본 영역은 사용되지 않습니다.
위 요구 사항은 작성자가 문서 인스턴스에서
tts:extent 값을 명시적으로 지정하도록 요구합니다.
예를 들어 각 region 요소에 tts:extent 속성을 지정하는 방식입니다.
문서 인스턴스의 font 요소는 src 속성을
지정해서는
SHALL 안 됩니다.
font 요소의 자식인 모든 source 요소는 외부 데이터
리소스를 참조해야 SHALL 합니다.
프로세서는 텍스트 런에 폰트를 연결하기 위해 [css-fonts-3] §5 폰트 매칭 알고리즘을 사용할 수 MAY 있습니다.
폰트 패밀리 선택에 대한 구체적인 지침이 없는 경우, 그리고 줄 맞춤의 재현성을 높이기 위해
작성자는 A. 참조 폰트에서 참조 폰트 메트릭이
정의된
monospaceSerif 또는
proportionalSansSerif 일반 폰트
패밀리를 사용하는 것이 권장됩니다.
tts:fontFamily의 계산 값이 "default"인 경우,
tts:fontFamily의 사용 값은 "monospaceSerif"이어야
SHALL 합니다.
사용 값이라는 용어는 [ttml2]가 규범적으로 참조하는 CSS 2.1에서 정의됩니다.
선형 공백은
tts:fontFamily의 지정 값 구성 요소 사이에 나타나지
SHOULD NOT 않아야 합니다.
tts:fontVariant 속성의 계산 값은
다음 중 하나여야 SHALL 합니다.
normal;sub; 또는super.문서 인스턴스가 frames 용어를 사용하는 clock time 표현식이나
f metric을 사용하는 offset
time 표현식을 포함하는 경우, ttp:frameRate 속성은
tt 요소에 존재해야 SHALL 합니다.
c 단위는
ebutts:linePadding 값 밖에 존재해서는 SHALL NOT 안 됩니다.
엄격히 음수인 length 표현식은 다음 이외의 속성에 사용해서는
SHALL NOT 안 됩니다.
tts:disparity; 및tts:textShadow.tts:extent 또는 tts:position 속성에 지정될 때:
rh 단위는 수평 length
구성 요소에 사용해서는 SHALL NOT 안 됩니다. 그리고rw 단위는 수직 length 구성 요소에 사용해서는 SHALL NOT 안 됩니다.
tts:lineHeight 속성의 지정 값은 각
p 요소의 지정 스타일 집합이 값이
normal이 아닌 tts:lineHeight 속성을 포함하도록 하는 것이
SHOULD 좋습니다.
이 글을 쓰는 시점에는 normal 값의 구현이 균일하지 않습니다.
style 요소뿐만 아니라, ebutts:linePadding 속성은
다음 요소에도 지정될 수 MAY 있습니다.
regionbodydivpinitial프로세서는:
ebutts:linePadding을 p에만 적용해야 SHALL 합니다. 그리고
ebutts:linePadding을 상속 가능한 것으로 취급해야 SHALL 합니다.ebutts:linePadding 속성은 c length 단위만 지원합니다.
이 명세와 달리, [EBU-TT-D]는
ebutts:linePadding 속성이 style 요소에만 허용된다고 지정합니다.
style 요소뿐만 아니라, ebutts:multiRowAlign 속성은
다음 요소에도 지정될 수 MAY 있습니다.
regionbodydivpinitial프로세서는:
ebutts:multiRowAlign을 p에만 적용해야
SHALL 합니다. 그리고
ebutts:multiRowAlign을 상속 가능한 것으로 취급해야 SHALL 합니다.이 명세와 달리, [EBU-TT-D]는
ebutts:multiRowAlign 속성이 style 요소에만 허용된다고 지정합니다.
tts:origin 속성의 값은 픽셀(px) 또는 백분율(%) 단위를 사용하는 두 개의
length 표현식으로 구성되어야 SHALL 합니다.
문서 인스턴스의 어느 곳에서든 tts:position 속성이 지정된 경우,
해당
문서 인스턴스의 어느 곳에서도
tts:origin 속성을 지정해서는 SHALL NOT 안 됩니다.
tts:position 속성 값의 모든 length 구성 요소는 픽셀(px), 백분율(%) 또는 루트
컨테이너 상대 단위를 사용해야 SHALL 합니다.
문서
인스턴스의 어느 곳에서든 tts:origin 속성이 지정된 경우, 해당
문서 인스턴스의 어느 곳에서도
tts:position 속성을 지정해서는 SHALL NOT 안 됩니다.
resources 요소는 다음 자식 요소를 포함해서는
SHALL 안 됩니다.
audio;data; 및image.tts:rubyAlign 속성의 지정 값은 그 계산 값이
center 또는 spaceAround가 되도록 해야
SHALL 합니다.
이 섹션은 비규범적입니다.
(a) 일본어 폰트는 일반적으로 italic 또는 oblique 서체를 포함하지 않고,
(b) 일본어의 기울어진 세로 텍스트는 (가로 방향이 아니라)
세로 방향으로 기울어진 문자로 구성되므로, 일본어 텍스트를 기울이기 위해
tts:fontStyle="italic" 또는 tts:fontStyle="oblique"를 지정하는 대신
tts:shear를 지정하는 것이 권장됩니다.
tts:textOutline 속성의 지정 값은 어떤
span 요소에서도 그 계산 값이 같은 요소의 tts:fontSize
속성 계산 값의 10% 이하가 되도록 해야
SHALL 합니다.
tts:textShadow 속성의 지정 값은 4개를 초과하는
<shadow>
값을 가져서는 SHALL NOT 안 됩니다.
문서가 t metric을 사용하는 time 표현식을 포함하는 경우,
ttp:tickRate는 tt 요소에 존재해야
SHALL 합니다.
이 섹션은 비규범적입니다.
[ttml2]는
ttp:timeBase가 tt에 지정되지 않은 경우 기본 timebase가
"media"라고 지정합니다.
이 섹션은 비규범적입니다.
[ttml2]에 지정된 것처럼,
#time-clock-with-frames 표현식은
M = 3600 · hours + 60 · minutes + seconds + (frames ÷ (ttp:frameRateMultiplier ·
ttp:frameRate))에 따라 media time M으로 변환됩니다.
br 요소 또는 텍스트 노드를 포함하는 모든 콘텐츠 요소에 대해,
begin 속성과
end 또는 dur 속성 중 하나는 콘텐츠 요소 또는 그 조상 중 적어도 하나에
지정되는 것이 SHOULD 좋습니다.
이 섹션은 비규범적입니다.
condition
속성이 금지되므로 usesForced 명명된 메타데이터 항목은 적용되지 않습니다.
itts:forcedDisplay 속성은 강제 콘텐츠 의미론을 지정하는 데 사용됩니다.
이 섹션은 비규범적입니다.
8.13.2 치수 및 위치에 지정된 것처럼, 표시된 영역은 문서 인스턴스에서 서로 겹치지 않으므로 이 기능은 효과가 없습니다.
텍스트 프로파일 문서는 [imsc-hrm]에 지정된 가상 렌더 모델을 준수하는 것이 SHOULD 좋습니다.
이는 텍스트 프로파일 문서의 복잡도를 제한하여, 재생 시스템이 작성자가 지정한 표시 시간에 동기화하여 콘텐츠를 렌더링할 수 있게 합니다.
문서 인스턴스는 [xml]의 올바른 형식의 XML 1.0 문서로, [UNICODE]에 지정된 UTF-8 문자 인코딩을 사용하여 구체적으로 인코딩되어야 SHALL 합니다.
그 결과 생성되는 [xml] 문서는 다음 물리적 구조를 포함하지 않는 것이 SHOULD NOT 좋습니다.
이러한 물리적 구조는 이 명세의 향후 버전에서 금지될 예정입니다.
그 결과 생성되는 [xml] 문서는 문자 참조와 미리 정의된 엔터티에 대한 엔터티 참조를 포함할 수 있습니다.
문서 인스턴스의 활성 영역은 작성자가 시청자에게 최소한으로 보이도록 의도한 루트 컨테이너 영역 내부의 영역입니다. 이 영역은 일반적으로 문서 인스턴스 안에서 참조된 모든 영역을 완전히 포함합니다.
일반적인 상황에서는 루트
컨테이너 영역 전체가 표시됩니다. 그러나 관련 비디오 객체가
잘리는 경우와 같은 특수한 상황에서는, 예를 들어 시스템이
ittp:activeArea 매개변수를 사용하여 시청자에게 보이도록 의도된 루트
컨테이너 영역의 부분이
잘리는 것을 피할 수 있습니다. 그러나 시스템의 구체적인 동작은 의도적으로 정의되지 않은 채로 둡니다. 시스템은
표시 형태, 사용자 환경설정 등에 적합한 프레젠테이션 모드를 선택할 수 있습니다.
ittp:activeArea는 방송 애플리케이션에서 흔히 사용되는
Active Format Description(AFD) 메타데이터와 유사합니다.
활성
영역은
ittp:activeArea 속성을 사용하여 지정됩니다.
존재하는 경우, ittp:activeArea 속성은
다음 구문을 준수해야 SHALL 합니다.
ittp:activeArea : leftOffset topOffset width height leftOffset | topOffset | width | height : <percentage> // 여기서 <percentage>는 음수가 아니며 100%보다 크지 않습니다. |
width 백분율 값은 루트 컨테이너 영역의 너비를 기준으로 합니다.
height 백분율 값은 루트 컨테이너 영역의 높이를 기준으로 합니다.
width 및 height 백분율 값은 활성 영역의 너비와 높이입니다.
leftOffset 및 topOffset 백분율 값은
루트
컨테이너 영역과 활성 영역 사이의 정렬 지점을 지정합니다.
활성 영역의 원점 좌상단 {x, y} 백분율 좌표는 다음과 같이 계산되어야 SHALL 합니다.
x = leftOffset * (1 - width/100) y = topOffset * (1 - height/100)
left 및 top offset 위치의 사용은 두 개의 백분율 값 위치가 사용되는
[css3-background]
background-position
속성과 일치합니다.
ittp:activeArea 매개변수의 구문은 활성 영역이 어떤 차원에서도
루트 컨테이너 영역 밖으로 확장될 수 없도록 되어 있습니다.
ittp:activeArea 속성은
tt
요소에 지정된 경우에만 유의미한 것으로 간주됩니다.
ittp:activeArea 속성이 지정되지 않은 경우, 활성 영역은 루트 컨테이너
영역이어야 SHALL 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en"
xmlns="http://www.w3.org/ns/ttml"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:ittp="http://www.w3.org/ns/ttml/profile/imsc1#parameter"
ittp:activeArea="50% 50% 80% 80%"
tts:extent="640px 480px"
ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.3/text">
<head>
<layout>
<region xml:id="area1" tts:origin="10% 10%" tts:extent="80% 10%" tts:backgroundColor="blue" tts:displayAlign="center" tts:textAlign="center" tts:color="white" tts:fontSize="24px"/>
<region xml:id="area2" tts:origin="10% 80%" tts:extent="80% 10%" tts:backgroundColor="blue" tts:displayAlign="center" tts:textAlign="center" tts:color="white" tts:fontSize="24px"/>
<region xml:id="area3" tts:origin="10% 92%" tts:extent="80% 6%" tts:backgroundColor="red" tts:displayAlign="center" tts:textAlign="center" tts:color="yellow" tts:fontSize="24px"/>
</layout>
</head>
<body>
<div>
<p region="area1" begin="0s" end="6s">이 영역은 편집 영역 안에 있습니다.</p>
<p region="area2" begin="0s" end="6s">이 영역은 편집 영역 안에 있습니다.</p>
<p region="area3" begin="0s" end="6s">이 영역은 그렇지 않습니다.</p>
</div>
</body>
</tt>
#altText 기능은 이 명세에서 정의한 프로파일에서
허용됨-폐기 예정으로 지정됩니다. altText 명명된 메타데이터 항목은 동등한
의미론을 제공합니다.
ittm:altText를 사용하면 작성자가 요소에 대한 동등한 텍스트 문자열을 제공할 수 있으며, 이는
콘텐츠 색인화를 지원하거나 문서의 품질 검사를 용이하게 하는 데 사용될 수
MAY 있습니다. 보조
기술에서도 사용할 수 있습니다.
#altText 기능은 주로 텍스트 프로파일에서 지원되지 않는
이미지 기반
자막 및 캡션에 텍스트 대체물을 제공하는 데 유용합니다.
[HTML]에서
alt 속성이 일반적으로 사용되는 것과 달리,
ittm:altText
속성 콘텐츠는 요소가 로드되지 않은 경우 해당 요소 대신 표시되도록 의도된 것이 아닙니다.
ittm:altText 요소는 다음 구문을 준수해야 SHALL 합니다.
<ittm:altText
xml:id = ID
xml:lang = string
xml:space = (default|preserve)
{default 네임스페이스, TT 네임스페이스 또는 IMSC 네임스페이스에 속하지 않는 모든 속성}>
Content: #PCDATA
</ittm:altText>
|
ittm:altText 요소는
metadata 요소의 자식이어야 SHALL 합니다.
#aspectRatio 기능은 이 명세에서 정의한 프로파일에서
허용됨-폐기 예정으로 지정됩니다.
#displayAspectRatio 기능은 동등한
의미론을 제공합니다.
ittp:aspectRatio 속성은 작성자가 문서 인스턴스의 루트 컨테이너 영역을
관련 비디오 객체의 각 이미지 프레임에 매핑하는 것을 제어할 수 있게 합니다.
존재하는 경우, ittp:aspectRatio 속성은 다음 구문을 준수해야
SHALL 합니다.
ittp:aspectRatio
: numerator denominator // int(numerator) != 0 및 int(denominator) != 0
// 여기서 int(s)는 문자열 s를 십진 정수로 파싱합니다.
numerator | denominator
: <digit>+ // 각 <digit> 토큰 사이에는 선형 공백이
// 암시되거나 허용되지 않습니다
|
ittp:aspectRatio 속성은
tt
요소에 지정된 경우에만 유의미한 것으로 간주됩니다.
tt 요소에 지정된 경우, ittp:aspectRatio 속성은
루트 컨테이너 영역의 표시 종횡비를 지정합니다.
지정되지 않은 경우, 루트 컨테이너
영역의 표시 종횡비는 [ttml2]의 부록 H에 따라
결정됩니다.
itts:fillLineGap 속성은 작성자가 연속된 줄 영역 사이의
배경 적용을 제어할 수 있게 합니다.
itts:fillLineGap="true"이면
p 요소의 하위 span들이 생성한 각 인라인 영역의 배경은 그 포함 줄 영역의
before-edge 및
after-edge까지 확장되어야 SHALL 합니다
(before-edge 및 after-edge는 [XSL11]의 섹션 4.2.3에 정의되어
있습니다).
itts:fillLineGap 속성은 다음을 준수해야 SHALL 합니다.
| 값: | false | true |
| 초기값: | false |
| 적용 대상: | p |
| 상속됨: | 예 |
| 백분율: | 해당 없음 |
| 애니메이션 가능: | 이산적 |
다음 예제에서 p는 itts:fillLineGap="true"를 지정하며, 그
결과 줄 사이에
간격이 존재하지 않습니다.
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling"
ttp:timeBase="media"
xml:lang="en"
ttp:cellResolution="50 30"
ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.3/text">
<head>
<styling>
<style xml:id="spanStyle" tts:color="#ffffff" tts:backgroundColor="#000000" />
<style xml:id="spanStyleSmall" tts:color="#000000" tts:backgroundColor="#dfbb02" tts:fontSize="50%"/>
<style xml:id="spanStyleBig" tts:color="#ffffff" tts:backgroundColor="#b75800" tts:fontSize="150%"/>
<style xml:id="paragraphStyle" tts:fontFamily="monospaceSerif" tts:textAlign="center"
tts:fontSize="200%" tts:lineHeight="165%" itts:fillLineGap="true"/>
</styling>
<layout>
<region xml:id="bottom" tts:origin="10% 10%" tts:extent="80% 80%" tts:displayAlign="after" />
</layout>
</head>
<body>
<div>
<p xml:id="subtitle1" region="bottom" begin="00:00:00.000" end="00:00:30.000" style="paragraphStyle">
<span style="spanStyle">##줄 간격##</span>
<br/>
<span style="spanStyle">재빠른 </span>
<span style="spanStyleBig">갈색</span>
<span style="spanStyle"> 여우가</span>
<br/>
<span style="spanStyle">뛰어넘는다 </span>
<span style="spanStyleSmall">게으른</span>
<span style="spanStyle"> 개를</span>
<br/>
<span style="spanStyle">##줄 간격##</span>
</p>
</div>
</body>
</tt>
itts:fillLineGap="true"가
제거된 경우(왼쪽) 또는 유지된 경우(오른쪽)의 예시 렌더링.
파란색 선은 각 줄 영역의 before-edge 및
after-edge를 보여주기 위해 추가되었으며,
연속된 줄 영역에서는 이들이 일치합니다.
또한 다음 예제에 설명된 것처럼, 연속된 p 요소의 줄 영역이
이어져 있으므로
itts:fillLineGap="true"인 두 연속 p 요소 사이에는 간격이 존재하지 않습니다.
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling"
ttp:timeBase="media"
xml:lang="en"
ttp:cellResolution="50 30"
ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.3/text">
<head>
<styling>
<style xml:id="spanStyle" tts:color="#ffffff" tts:backgroundColor="#000000" />
<style xml:id="paragraphStyleNoGap" tts:fontFamily="monospaceSerif" tts:textAlign="center" tts:fontSize="200%"
tts:lineHeight="165%" itts:fillLineGap="true"/>
<style xml:id="paragraphStyle" tts:fontFamily="monospaceSerif" tts:textAlign="center" tts:fontSize="200%"
tts:lineHeight="165%" itts:fillLineGap="false"/>
</styling>
<layout>
<region xml:id="bottom" tts:origin="10% 10%" tts:extent="80% 80%" tts:displayAlign="after" />
<region xml:id="top" tts:origin="10% 10%" tts:extent="80% 80%" tts:displayAlign="before" />
</layout>
</head>
<body>
<div region="bottom" begin="00:00:00.000" end="00:00:30.000">
<p xml:id="subtitle1" style="paragraphStyle">
<span style="spanStyle">단락 1</span>
</p>
<p xml:id="subtitle1" style="paragraphStyle">
<span style="spanStyle">단락 2</span>
</p>
</div>
<div region="top" begin="00:00:00.000" end="00:00:30.000">
<p xml:id="subtitle1" style="paragraphStyleNoGap">
<span style="spanStyle">단락 1</span>
</p>
<p xml:id="subtitle1" style="paragraphStyleNoGap">
<span style="spanStyle">단락 2</span>
</p>
</div>
</body>
</tt>
itts:fillLineGap="true"가,
하단 영역의 두 단락에는 itts:fillLineGap="false"가 지정되어 있습니다.
itts:forcedDisplay 속성은 프로세서가 애플리케이션 매개변수
를
통해 그렇게 하도록 구성된 경우 콘텐츠를 숨기는 데 사용할 수 있습니다.
displayForcedOnlyMode
부록 C. 강제 콘텐츠는
하나의 문서에 청각 장애인 및 난청인용 캡션과 번역된 외국어 자막이 모두 포함되고,
itts:forcedDisplay를 사용하여 난청인용
캡션이 표시되는지 숨겨지는지와 관계없이 번역 자막을 항상 표시하는
애플리케이션에서 itts:forcedDisplay를 사용하는 방식을 설명합니다.
itts:forcedDisplay 속성은 다음을 준수해야 SHALL 합니다.
| 값: | false | true |
| 초기값: | false |
| 적용 대상: | body, div, p, region,
span
|
| 상속됨: | 예 |
| 백분율: | 해당 없음 |
| 애니메이션 가능: | 이산적 |
값이 displayForcedOnlyMode"true"인 경우, 그리고 오직 그 경우에만,
itts:forcedDisplay 계산 값이 "false"인 콘텐츠 요소는
tts:visibility의 계산 값과 관계없이
어떤 가시적 렌더링도 생성해서는
SHALL
NOT 안 됩니다.
itts:forcedDisplay 속성은 콘텐츠 레이아웃이나 합성에는 영향을 주지 않고,
합성된 콘텐츠가 보이는지 여부만 결정합니다.
프레젠테이션 프로세서는
displayForcedOnlyMode라는
선택적 boolean 매개변수를
받아들여야 SHALL 하며,
그 값은 프레젠테이션 프로세서 외부의 컨텍스트에 의해 설정될 수
MAY 있습니다. 설정되지 않은 경우,
의
값은
displayForcedOnlyMode"false"와 같은 것으로 간주되어야 SHALL 합니다.
문서 인스턴스가 표시되는 상황에 기반하여
매개변수를 설정하는 알고리즘은 애플리케이션에 맡깁니다.
displayForcedOnlyMode
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en"
xmlns="http://www.w3.org/ns/ttml"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling"
ttp:displayAspectRatio="16 9"
ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.3/text">
<head>
<layout>
<region xml:id="r1" itts:forcedDisplay="true" tts:origin="10% 2%" tts:extent="80% 10%" tts:color="white" tts:backgroundColor="black" tts:showBackground="whenActive"/>
<region xml:id="r2" tts:origin="10% 80%" tts:extent="80% 10%" tts:color="white" tts:backgroundColor="black" tts:showBackground="whenActive"/>
</layout>
</head>
<body>
<div>
<p region="r1" begin="1s" end="6s">Lycée</p>
<!-- displayForcedOnlyMode='true'이면 다음은 나타나지 않습니다 -->
<p region="r2" begin="4s" end="6s">Nous étions inscrits au même lycée.</p>
</div>
</body>
</tt>
[ttml2]에 지정된 것처럼,
영역 안의 모든 활성 콘텐츠에 대한
tts:visibility 계산 값이 "hidden"인 경우에도 영역의
배경은 보일 수 있습니다. 따라서
itts:forcedDisplay가 "true"인 영역의 배경은
영역 안의 모든 활성 콘텐츠 요소에 대해
itts:forcedDisplay가 "false"이고
가
displayForcedOnlyMode"true"인 경우에도 계속 보일 수 있습니다. 작성자는 예를 들어
콘텐츠 요소와 그것들이 흘러 들어가는 영역이 항상 같은
itts:forcedDisplay 값을 갖도록 보장하여 이러한 상황을 피할 수 있습니다.
itts:forcedDisplay의 기능은 이 명세의 향후 개정에서 조건부
스타일 구조로 매핑될 것으로 예상됩니다.
itts:forcedDisplay와 관련된 프레젠테이션 의미론은 [CFF]에
정의된
forcedDisplayMode 속성과 관련된 의미론과 호환되도록 의도되었습니다.
#progressivelyDecodable 기능은
이 명세에서 정의한 프로파일에서
허용됨-폐기 예정으로 지정됩니다.
점진적으로 디코딩 가능한 문서
인스턴스는 문서 전체가 수신되기 전에 표시를 용이하게 하도록 구조화되어 있으며,
ittp:progressivelyDecodable 속성을 사용하여 식별할 수 있습니다.
점진적으로 디코딩 가능한 문서 인스턴스는 다음을 준수하는 문서 인스턴스입니다.
head
요소 안에 TTML timing 어휘의 속성이나 요소가 존재하지 않습니다.p
요소보다 어휘적으로 앞서는 p 요소를 포함한다면, TA는
TB보다 크지 않습니다.
p의 하위 요소에 TTML timing 어휘의 속성이 존재하지 않습니다.
그리고존재하는 경우, ittp:progressivelyDecodable 속성은
다음 구문을 준수해야 SHALL 합니다.
ittp:progressivelyDecodable : "true" | "false" |
ittp:progressivelyDecodable 속성은
tt 요소에 지정된 경우에만 유의미한 것으로 간주됩니다.
지정되지 않은 경우, ittp:progressivelyDecodable 값은
"false"와 같은 것으로 간주되어야
SHALL 합니다.
ittp:progressivelyDecodable의 계산 값이
"true"인 문서 인스턴스는 점진적으로 디코딩 가능한 문서
인스턴스이어야 SHALL 합니다.
ittp:progressivelyDecodable의 계산 값이
"false"인 문서 인스턴스는
점진적으로 디코딩 가능한 문서
인스턴스라고도 주장되지 않고, 점진적으로 디코딩 가능한
문서 인스턴스가 아니라고도 주장되지 않습니다.
<tt
xmlns="http://www.w3.org/ns/ttml"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:ittp="http://www.w3.org/ns/ttml/profile/imsc1#parameter"
ittp:progressivelyDecodable="true"
ttp:profile="..."
>
...
</tt>
[ttml2]는
다음 상황에서 xml:id를 사용하여 식별된 요소를 명시적으로 참조하는 것을 지정합니다.
body 안의 요소가 region 요소를 참조하는 경우. 이 경우
위 요구 사항 4는 항상 충족됩니다.body 안의 요소가 style 요소를 참조하는 경우. 이 경우
위 요구 사항 4는 항상 충족됩니다.region 요소가 style 요소를 참조하는 경우. 이 경우
위 요구 사항 4는 항상 충족됩니다.style 요소가 다른 style 요소를 참조하는 경우. 이
경우 요구 사항 4는 head
요소 안에서 style 요소 순서의 최적화를 제공합니다.ttm:actor 요소가 ttm:agent 요소를 참조하는 경우. 이
경우 요구 사항 4는
문서 안에서 메타데이터 요소 순서의 최적화를 제공합니다.ttm:agent 속성을 사용하여 ttm:agent 요소를 참조하는 경우. 이
경우 요구 사항 4는 문서 안에서 메타데이터 요소 순서의 최적화를 제공합니다.
프레젠테이션 프로세서는 [IANA-MEDIA-TYPES]에 정의된 다음 미디어 유형의 폰트 리소스를 지원해야 SHALL 합니다.
[IANA-MEDIA-TYPES]는 미디어 유형
font/otf가 파일 확장자 .ttf 및 .otf를 포함한다고 지정합니다.
문서 인스턴스는 프로파일에서 구체적으로 허용되거나 금지되지 않은 요소와 속성을 포함할 수 MAY 있습니다.
변환 프로세서는 가능한 경우 이러한 요소 또는 속성을 보존하는 것이 SHOULD 좋습니다.
이 명세에서는 다음 네임스페이스([xml-names] 참조)를 사용합니다.
| 이름 | 접두사 | 값 | 정의하는 명세 |
|---|---|---|---|
| XML | xml |
http://www.w3.org/XML/1998/namespace |
[xml-names] |
| TT | tt |
http://www.w3.org/ns/ttml |
[ttml2] |
| TT 매개변수 | ttp |
http://www.w3.org/ns/ttml#parameter |
[ttml2] |
| TT 스타일링 | tts |
http://www.w3.org/ns/ttml#styling |
[ttml2] |
| TT 기능 | 없음 | http://www.w3.org/ns/ttml/feature/ |
[ttml2] |
| EBU-TT 스타일링 | ebutts |
urn:ebu:tt:style |
[EBU-TT-D] |
| EBU-TT 메타데이터 | ebuttm |
urn:ebu:tt:metadata |
[EBU-TT-D] |
| IMSC 스타일링 | itts |
http://www.w3.org/ns/ttml/profile/imsc1#styling |
이 명세 |
| IMSC 매개변수 | ittp |
http://www.w3.org/ns/ttml/profile/imsc1#parameter |
이 명세 |
| IMSC 메타데이터 | ittm |
http://www.w3.org/ns/ttml/profile/imsc1#metadata |
이 명세 |
| IMSC 확장 | 없음 | http://www.w3.org/ns/ttml/profile/imsc1/extension/ |
이 명세 |
| IMSC 1.3 텍스트 프로파일 지정자 | 없음 | 섹션 6.2 지정자 참조 | |
위에 정의된 네임스페이스 접두사 값은 편의를 위한 것이며, 문서 인스턴스는 [xml-names]를 준수하는 어떤 접두사 값이든 사용할 수 MAY 있습니다.
이 명세에서 정의한 네임스페이스는 변경 가능 [namespaceState] 상태입니다. 이러한 네임스페이스의 정의되지 않은 모든 이름은 W3C에 의한 향후 표준화를 위해 예약되어 있습니다.
문서 인스턴스는 영역에 대한 tts:overflow의 계산 값과 관계없이,
영역 범위를 벗어나는 콘텐츠가 엄격하게 클리핑된다고 가정하여 작성되는 것이
SHOULD 좋습니다.
ttp:contentProfiles 속성은 tt 요소에 존재하는 것이
SHOULD 좋으며, 그 값 중 정확히 하나가
텍스트 프로파일 지정자와 같아야 합니다.
ttp:contentProfiles 속성은 일부 프로파일에서 금지됩니다. 예를 들어
I.2
EBU-TT-D에서 논의된 것처럼
[EBU-TT-D]가
그렇습니다.
비호환성 위험을 최소화하기 위해, [ttml2]에서 도입된
ttp:contentProfiles 속성과 기타 구문의 사용은
[TTML1]에 기반한
프로파일을 준수하도록 의도된 문서에서는 권장되지 않습니다.
예를 들어
[SMPTE2052-1],
[ttml-imsc1]
, [ttml-imsc1.0.1]
, 또는 [ttml10-sdp-us]가
있습니다.
ttp:contentProfiles 속성은 여기에서 지정된 지정자 외에도,
이 명세의 다른 버전에 대한 지정자를 포함하여 추가 지정자를 포함할 수 있습니다.
6.3 프로파일 해석 의미론은 문서 인스턴스와 관련된 유효 프로세서 프로파일을 결정하는 절차를 지정합니다.
[EBU-TT-M]에 지정된
ebuttm:conformsToStandard 요소를 사용할 때, 해당 프로파일에 대한 적합성을 나타내는 경우
텍스트
프로파일의 지정자를 사용해야 SHALL 합니다.
이 섹션의 권고 사항을 따르는 샘플 문서 인스턴스는 I.2 EBU-TT-D를 참조하십시오.
문서 인스턴스는 B. 공통 문자 집합에 지정된 집합에서 선택한 문자를 사용하여 작성되는 것이 SHOULD 좋습니다.
A. 참조 폰트에 나열된 계산된 폰트 패밀리와 코드포인트의 조합 중 하나와 일치하는 코드포인트를 렌더링할 때, 프로세서는 지정된 참조 폰트 중 하나가 생성했을 글리프 시퀀스와 실질적으로 동일한 치수를 가진 글리프 시퀀스를 생성하는 폰트를 사용해야 SHALL 합니다.
이 조항은 프로세서가 지원하는 코드포인트에만 적용됩니다. 프로세서가 다양한 언어에서 마주칠 가능성이 있는 코드포인트는 8.11 권장 문자 집합을 참조하십시오.
콘텐츠 작성자가 자막의 경계 상자를 설정할 때, 프로세서가 표시할 때 텍스트가
그 안에 맞을 가능성을 최대화하기를 원합니다. 프로세서가 콘텐츠 작성자가
의도한 특정 폰트를 사용하지 않는 경우, 실제로 사용되는 폰트 때문에 텍스트 크기가 커져
더 이상 경계 상자 안에 맞지 않을 수 있습니다. 이는
더 큰 글리프를 가진 폰트에서 텍스트가 줄바꿈되는 방식의 차이로 인해 더 심화될 수 있으며,
사용되는 줄 수가 증가하고 줄 간격도 증가하여 일부 텍스트가 경계 상자 밖으로
밀려날 수 있습니다.
콘텐츠 작성자가 설정한 경계 상자의 크기에 상대적으로 텍스트 크기, 줄바꿈, 줄 높이 등이
예상대로 동작하도록 돕기 위해, 작성자는 이 명세에서 정의한 참조 폰트 중 하나를 사용할 수 있습니다.
이 명세는 프로세서가 참조 폰트와 유사한 폰트 메트릭을 가진 하나 이상의 폰트를
지원하도록 요구합니다. 다만 현재 정의된 참조 폰트는 몇몇 문자 체계에서 사용되는 문자만
포함한다는 점에 유의하십시오. 특히 라틴, 그리스, 키릴, 히브리, 아랍 문자 기반의
하위 집합이 이에 해당합니다.
구현은 A. 참조 폰트에 지정된 폰트가 아닌 다른 폰트를 사용할 수 있습니다. 동일한 메트릭을 가진 두 폰트는 서로 다른 모양을 가질 수 있지만, 흐름은 동일합니다.
표시된 영역은 다음 조건을 만족하는 시간적으로 활성인 영역입니다.
tts:opacity의 계산 값이 "0.0"과 같지 않습니다. 그리고tts:display의 계산 값이 "none"이 아닙니다. 그리고tts:visibility의 계산 값이 "hidden"이 아닙니다. 그리고tts:showBackground의 계산 값이
"always"와 같고 tts:backgroundColor의 계산 값이
불투명한 alpha를 가집니다.
모든 영역은 루트 컨테이너 영역 밖으로 확장되어서는 SHALL NOT 안 됩니다. 즉, 각 영역의 좌표 집합에 있는 모든 좌표는 루트 컨테이너 영역의 좌표 집합에도 포함됩니다.
주어진 중간 동기 문서 안의 두 표시된 영역은 겹쳐서는 SHALL 안 됩니다. 즉, 각 표시된 영역 안의 좌표 집합의 교집합은 비어 있습니다.
다음 스타일 속성은 [ttml2]의 섹션 10.4에 지정된 스타일 해석 절차의 적용을 받아야 SHALL 합니다.
itts:fillLineGapitts:forcedDisplayebutts:linePaddingebutts:multiRowAlign위 스타일 속성은 [ttml2]의 섹션 10.1.1에 지정된
initial
요소의 속성으로 지정할 수 있습니다.
| 계산된 폰트 패밀리 | 코드 포인트 | 참조 폰트 |
|---|---|---|
monospaceSerif |
B. 공통 문자 집합에 지정된 모든 코드 포인트 | Courier New 또는 Liberation Mono |
proportionalSansSerif |
히브리어 및 아랍어 문자에 대해 정의된 코드 포인트를 제외하고, B. 공통 문자 집합에 지정된 모든 코드 포인트. | Arial 또는 Helvetica 또는 Liberation Sans |
프로세서는 모든 문자 정보 항목을 받아들여야 하며 렌더링하도록 권장되지만, 실제적인 고려 사항으로 인해 프로세서가 그 하위 집합만 렌더링할 수 있을 수도 있습니다. 특정 언어를 대상으로 하는 프로세서가 텍스트를 올바르게 표시할 것이라는 신뢰도를 높이기 위해, 이 섹션은 작성자가 사용하도록 권장되는 공통 문자 집합을 정의합니다.
여기에서 정의된 공통 문자 집합은 시간이 지남에 따라 발전할 것으로 예상되며, 구현자는 이를 정기적으로 검토하는 것이 권장됩니다.
여기에서 공통 문자 집합을 정의하는 것은 프로세서가 렌더링하는 문자 집합을 어떤 식으로도 제한하려는 것이 아닙니다.
구현자는 주어진 문자 시퀀스가 주변 문자, 언어 및 폰트를 포함한 컨텍스트에 따라 서로 다른 시각적 표현을 만들 수 있다는 점에 주의해야 합니다. 다시 말해, 문자와 그 시각적 표현 사이에 반드시 일대일 매핑이 있는 것은 아닙니다.
xml:lang 속성을 사용하여 표시된 주어진 언어에 대해, 공통 문자 집합은
다음 집합들의 합집합과 같습니다.
위 집합 중 일부는 서로 겹칠 수 있습니다.
표 1은 작성자가 항상 사용할 수 있도록 의도된 문자 집합을 담고 있습니다. 표에서 사용된 용어는 [UNICODE]에 정의되어 있습니다.
| (기본 라틴) |
|---|
| U+0020 - U+007E |
| (Latin-1 보충) |
| U+00A0 - U+00FF |
| (라틴 확장-A) |
| U+0152 : 라틴 대문자 합자 OE |
| U+0153 : 라틴 소문자 합자 OE |
| U+0160 : CARON이 있는 라틴 대문자 S |
| U+0161 : CARON이 있는 라틴 소문자 S |
| U+0178 : 분음 부호가 있는 라틴 대문자 Y |
| U+017D : CARON이 있는 라틴 대문자 Z |
| U+017E : CARON이 있는 라틴 소문자 Z |
| (라틴 확장-B) |
| U+0192 : 훅이 있는 라틴 소문자 F |
| (간격 조정 문자) |
| U+02DC : 작은 물결표 |
| (결합 발음 구별 기호) |
| U+0301 : 결합 예음 악센트 |
| (일반 구두점) |
| U+2010 - U+2015 : 대시 |
| U+2016 - U+2027 : 일반 구두점 |
| U+2030 - U+203A : 일반 구두점 |
| (통화 기호) |
| U+20AC : 유로 기호 |
| (문자 유사 기호) |
| U+2103 : 섭씨도 |
| U+2109 : 화씨도 |
| U+2120 : 서비스 마크 기호 |
| U+2122 : 상표 기호 |
| (숫자 형식) |
| U+2153 - U+215F : 분수 |
| (수학 연산자) |
| U+2212 : 마이너스 기호 |
| U+221E : 무한대 |
| (상자 그리기) |
| U+2500 : 상자 그리기 가는 가로선 |
| U+2502 : 상자 그리기 가는 세로선 |
| U+250C : 상자 그리기 가는 아래쪽 및 오른쪽 |
| U+2510 : 상자 그리기 가는 아래쪽 및 왼쪽 |
| U+2514 : 상자 그리기 가는 위쪽 및 오른쪽 |
| U+2518 : 상자 그리기 가는 위쪽 및 왼쪽 |
| (블록 요소) |
| U+2588 : 전체 블록 |
| (기하 도형) |
| U+25A1 : 흰색 사각형 |
| (음악 기호) |
| U+2669 : 4분음표 |
| U+266A : 8분음표 |
| U+266B : 묶인 8분음표 |
표 2는 선택된 여러 언어에 대한 캡션 및 자막 애플리케이션에서 유용한 것으로 입증된 보충 문자 집합을 지정합니다. 표 2는 포괄적이지 않으며, 필요가 생기면 확장될 것입니다.
| 기본 언어 하위 태그 | 코드 포인트 |
|---|---|
| sq, fi, da, nl, en, de, is, no, sv, ca, fr, it | 보충 문자 없음 |
| lv, lt, et, tr, hr, cs, pl, sl, sk | (라틴 확장-A) U+0100 - U+017F |
| ro | (라틴 확장-A) U+0100 - U+017F (라틴 확장-B) U+0218 - U+0219 U+021A - U+021B |
| el | (결합 발음 구별 기호) U+0308 (그리스어 및 콥트어) U+0386 - U+038A U+038C U+038E - U+03A1 U+03A3 - U+03CE |
| pt, es | (통화 기호) U+20A1 - U+20A2 U+20B3 |
| ar | (아랍어) U+0609 U+060C - U+060D U+061B U+061E - U+061F U+0621 - U+063A U+0640 - U+0652 U+0660 - U+066D U+0670 |
| he | (히브리어) U+05B0 - U+05C3 U+05D0 - U+05EA U+05F3 - U+05F4 |
| bs, bg, mk, ru, sr, uk | (라틴 확장-A) U+0100 - U+017F (간격 조정 문자) U+02BC (키릴 문자) U+0400 - U+045F U+048A - U+04F9 (문자 유사 기호) U+2116 |
| kk | (라틴 확장-A) U+0100 - U+017F (키릴 문자) U+0400 - U+045F U+048A - U+04F9 |
| hu | (라틴 확장-A) U+0100 - U+017F (일반 구두점) U+2052 (기타 수학 기호-A) U+27E8–U+27E9 |
| ja |
(기본 일본어 컬렉션) [ISO10646]의 컬렉션 285 (일본어 비표의문자 확장) [ISO10646]의 컬렉션 286 (JIS2004 표의문자 확장) [ISO10646]의 컬렉션 371 (추가 기호 및 문자(파트 1)) [ARIB-STD-B62]의 표 5-2 및 5-3 참고
참고
|
이 섹션은 비규범적입니다.
아래 그림
5는 강제 콘텐츠, 즉
itts:forcedDisplay 및
의
사용을 보여줍니다.
displayForcedOnlyModeitts:forcedDisplay="true"인 콘텐츠는
"High School" 표지의 프랑스어 번역입니다. itts:forcedDisplay="false"인 콘텐츠는
보이스오버를 담은 프랑스어 자막입니다.
사용자가 재생 언어로 프랑스어를 선택하지만 프랑스어 자막은 선택하지 않는 경우,
는
displayForcedOnlyMode"true"로 설정되어, 모든 프랑스어 화자에게 유용한 표지 번역을 표시하지만,
보이스오버는 프랑스어로 들리므로 보이스오버 자막은 숨깁니다.
사용자가 재생 언어로 프랑스어를 선택하고 프랑스어 자막도 선택하는 경우, 예를 들어 사용자가
난청인인 경우,
는
displayForcedOnlyMode"false"로 설정되어, 표지 번역과
보이스오버 자막이 모두 표시됩니다.
매개변수를 설정하고 적절한
자막 및 오디오 트랙 조합을 선택하는 알고리즘은 애플리케이션에 따라 달라집니다.
displayForcedOnlyMode
[WCAG22]의 성공 기준 1.4.3은 일부 예외를 제외하고, 텍스트와 텍스트 이미지의 시각적 표시가 최소 4.5:1의 대비율을 가져야 한다고 지정합니다.
텍스트 프로파일의 맥락에서는 적절한 전경색 및 배경색을 지정함으로써 이를 달성합니다.
[WCAG22]의 성공 기준 1.4.12는 줄, 글자, 단어 및 단락의 간격이 지정된 양만큼 수정될 때 콘텐츠나 기능의 손실이 발생하지 않아야 한다고 지정합니다.
이 명세의 맥락에서는 원하는 줄 높이, 폰트 크기, 영역 크기 등을 달성하기 위한 적절한 스타일 속성 조합을 지정함으로써 이를 달성합니다.
[WCAG22]의 성공 기준 3.1.1 및 3.1.2는 콘텐츠 안의 각 구절 또는 구문의 인간 언어를 프로그래밍 방식으로 결정할 수 있어야 한다고 지정합니다.
이 명세의 맥락에서는
xml:lang을
지정함으로써 이를 달성합니다.
이 섹션은 비규범적입니다.
[WCAG22]의 성공 기준 1.3.1은 시각적 또는 청각적 형식 지정으로 암시되는 정보와 관계가 표시 형식이 변경될 때 보존되도록 하기 위한 것입니다.
이 명세의 맥락에서 한 예로, 구현은 문서 인스턴스를
[HTML]로 [CSS] 스타일링과 함께 렌더링할 때,
작성자가 제공한 스타일시트 대신 사용자 스타일시트가 대체되더라도 결과
[HTML] 문서를 보조 기술이 이해할 수 있도록 보장해야 합니다.
예를 들어,
tts:fontVariant를 렌더링할 때 CSS vertical-align 속성만 사용하는 것으로는
보조 기술이 해당 글리프가 위첨자 또는 아래첨자임을 식별하기에 충분하지 않을 수 있습니다.
이 섹션은 비규범적입니다.
작성자와 구현자는 웹에서 오디오 및 비디오와 관련해 장애가 있는 사용자가 갖는 접근성 요구 사항을 제시하는 [media-accessibility-reqs]를 참조하는 것이 권장됩니다.
이 섹션은 비규범적입니다.
다음 샘플 문서 인스턴스는 텍스트 프로파일을 준수합니다. 이 샘플은 설명만을 위한 것이며, 현재 또는 향후 관행을 포착하려는 것도 아니고, 이 명세에 포함된 모든 규범적 문구를 시험하려는 것도 아닙니다.
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en"
xmlns="http://www.w3.org/ns/ttml"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
ttp:displayAspectRatio="4 3"
ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.3/text">
<head>
<layout>
<region xml:id="area1" tts:origin="10% 10%" tts:extent="80% 10%" tts:backgroundColor="black" tts:displayAlign="center" tts:color="red"/>
</layout>
</head>
<body>
<div>
<p region="area1" begin="0s" end="6s">Lorem ipsum dolor.</p>
</div>
</body>
</tt>
위 샘플은 두 개의 중간 동기 문서를 지정합니다. 하나는 0초부터 6초까지이며, 그림 6처럼 렌더링되고, 다른 하나는 6초 이후부터이며, 그림 7처럼 렌더링됩니다.
그림
6은
렌더링 영역의 위쪽에서 10% 아래,
렌더링 영역의 왼쪽 가장자리에서 10% 오른쪽에
왼쪽 위 모서리가 위치하도록 배치된
검은색 직사각형 영역을 보여주며,
그 너비는 렌더링 영역의 80%이고
높이는 렌더링 영역의 10%입니다.
이 영역은 기본 폰트를 기본 크기로 사용하여
빨간색 텍스트 "Lorem ipsum dolor."를 포함합니다. 그 크기는
렌더링 영역 높이의 1/15이며, 이 문서에서 둘 다 생략되었기 때문에 사용되는
ttp:cellResolution 매개변수("32 15")와
ttp:fontSize("100%") 스타일 속성의 기본값에서
계산됩니다.
그림
7은 같은 위치에 있는 동일한
검은색 직사각형 영역을 보여줍니다.
이 영역은 검은색 배경을 제외하면 비어 있지만,
region
요소에서 tts:showBackground
속성이 누락되어 기본값 always가 적용되기 때문에
여전히 보입니다.
다음 섹션은 IMSC 확장 네임스페이스 기준 URI에 상대적인 상대 URI(프래그먼트 식별자)로 표현되는 확장 지정자를 정의합니다.
변환 프로세서는
ittp:activeArea 속성의 값을 인식하고
변환할 수 있는 경우
#activeArea 기능을 지원합니다.
프레젠테이션 프로세서는
ittp:activeArea 속성 값에 대한 프레젠테이션 의미
지원을 구현하는 경우
#activeArea 기능을 지원합니다.
#altText 기능은 이 명세에서 정의한 프로파일에서
허용됨-폐기 예정으로 지정됩니다. altText 명명된 메타데이터 항목은 동등한
의미론을 제공합니다.
변환 프로세서는
ittm:altText 요소의 값을 인식하고
변환할 수 있는 경우
#altText 기능을 지원합니다.
프레젠테이션 프로세서는
ittm:altText 요소 값에 대한 프레젠테이션 의미 지원을
구현하는 경우
#altText 기능을 지원합니다.
#aspectRatio 기능은 이 명세에서 정의한 프로파일에서
허용됨-폐기 예정으로 지정됩니다. #displayAspectRatio 기능은 동등한
의미론을 제공합니다.
변환 프로세서는
ittp:aspectRatio 속성의 값을 인식하고
변환할 수 있는 경우
#aspectRatio 기능을 지원합니다.
프레젠테이션 프로세서는
ittp:aspectRatio 속성 값에 대한 프레젠테이션 의미
지원을 구현하는 경우
#aspectRatio 기능을 지원합니다.
변환 프로세서는
itts:fillLineGap 속성의 값을 인식하고
변환할 수 있는 경우
#fillLineGap 기능을 지원합니다.
프레젠테이션 프로세서는
itts:fillLineGap 속성 값에 대한 프레젠테이션 의미
지원을 구현하는 경우
#fillLineGap 기능을 지원합니다.
변환 프로세서는
itts:forcedDisplay 속성의 값을 인식하고
변환할 수 있는 경우
#forcedDisplay 기능을 지원합니다.
프레젠테이션 프로세서는
itts:forcedDisplay 속성 값에 대한 프레젠테이션 의미
지원을 구현하는 경우
#forcedDisplay 기능을 지원합니다.
변환 프로세서는 [EBU-TT-D]에
지정된
ebutts:linePadding 속성의 값을 인식하고
변환할 수 있는 경우
#linePadding 기능을 지원합니다.
프레젠테이션 프로세서는 [EBU-TT-D]에
지정된
ebutts:linePadding 속성 값에 대한 프레젠테이션 의미
지원을 구현하는 경우
#linePadding 기능을 지원합니다.
변환 프로세서는 [EBU-TT-D]에
지정된
ebutts:multiRowAlign 속성의 값을 인식하고
변환할 수 있는 경우
#multiRowAlign 기능을 지원합니다.
프레젠테이션 프로세서는 [EBU-TT-D]에
지정된
ebutts:multiRowAlign 속성 값에 대한 프레젠테이션 의미
지원을 구현하는 경우
#multiRowAlign 기능을 지원합니다.
#progressivelyDecodable 기능은
이 명세에서 정의한 프로파일에서
허용됨-폐기 예정으로 지정됩니다.
변환 프로세서는
ittp:progressivelyDecodable
속성의 값을 인식하고
변환할 수 있는 경우
#progressivelyDecodable 기능을 지원합니다.
프레젠테이션 프로세서는
ittp:progressivelyDecodable
속성 값에 대한 프레젠테이션
의미 지원을 구현하는 경우
#progressivelyDecodable 기능을 지원합니다.
이 섹션은 비규범적입니다.
이 명세에서 정의한 확장 어휘에 대한 XML 스키마 정의([xmlschema-1] 참조)는 편의를 위해 여기에 제공됩니다.
이러한 정의는 비규범적이며 문서 인스턴스의 적합성을 검증하기에 충분하지 않습니다.
이 부록에서 지정한 정의가 명세 본문과 다른 경우에는 후자가 우선합니다.
이 섹션은 비규범적입니다.
이 섹션은 이 명세의 확장성 목표를 문서화합니다.
이 명세는 다음을 허용하려는 의도입니다.
이 섹션은 비규범적입니다.
이 명세는 [ttml-imsc1], [ttml-imsc1.0.1], [ttml-imsc1.1], [ttml-imsc1.2], [SMPTE2052-1], [EBU-TT-D] 및 [ttml10-sdp-us]와 호환되도록 설계되었습니다. 구체적으로, 이 명세에서 정의한 기능과 확장의 하위 집합을 선택하면 다음 문서를 만들 수 있습니다. 즉, [ttml-imsc1], [ttml-imsc1.0.1], [ttml-imsc1.1], [ttml-imsc1.2], [SMPTE2052-1], [EBU-TT-D] 또는 [ttml10-sdp-us] 중 하나 이상을 준수하고, 동시에 텍스트 프로파일도 준수하는 문서입니다.
이 명세는 또한 [CFF]의 텍스트 프로파일을 준수하는 문서를 텍스트 프로파일로 직접 변환할 수 있도록 하려는 의도입니다.
텍스트 프로파일은 [EBU-TT-D]의 엄격한 구문적 상위 집합입니다.
[EBU-TT-D]를 준수하는 문서는 따라서 일반적으로 텍스트 프로파일도 준수합니다. 단, 다음을 포함한 몇 가지 예외가 있습니다.
[ttml2]에 정의된 프로파일 어휘는
[EBU-TT-D]에
의해 금지됩니다.
대신 [EBU-TT-M]에 지정된 것처럼, 여러
ebuttm:conformsToStandard 요소가 선택적으로 head 요소의
metadata 요소에 존재하며, 각 ebuttm:conformsToStandard는
이 명세의 다른 버전을 포함한 명세에 대한 적합성을 나타냅니다.
[ttml-imsc1.0.1]
프로파일에 대한 적합성은 [ttml-imsc1.0.1]에
정의된 대로,
문서 인스턴스가 준수하는
[ttml-imsc1.0.1]
프로파일의 지정자와 같은 값을 갖는
추가 ebuttm:conformsToStandard 요소를 포함함으로써 나타낼 수 있습니다.
다음은 텍스트 프로파일,
[ttml-imsc1.0.1]
텍스트 프로파일 및
[EBU-TT-D]를
준수하는 문서의 예입니다.
여러 ebuttm:conformsToStandard 요소가 존재하며, 그중 하나가
텍스트
프로파일 지정자와 같다는 점에 유의하십시오.
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.w3.org/ns/ttml" xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:tts="http://www.w3.org/ns/ttml#styling" xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:ebutts="urn:ebu:tt:style" xml:lang="en" ttp:timeBase="media" xmlns:ebuttm="urn:ebu:tt:metadata" >
<head>
<metadata>
<ebuttm:conformsToStandard>urn:ebu:tt:distribution:2014-01</ebuttm:conformsToStandard>
<ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1/text</ebuttm:conformsToStandard>
<ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1.1/text</ebuttm:conformsToStandard>
<ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1.2/text</ebuttm:conformsToStandard>
<ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1.3/text</ebuttm:conformsToStandard>
</metadata>
<styling>
<style xml:id="baseStyle" tts:color="#FFFFFF" tts:lineHeight="100%" tts:fontFamily="sansSerif" ebutts:linePadding="0.5c"/>
<style xml:id="black" tts:color="#000000"/>
<style xml:id="blackBackground" tts:backgroundColor="#000000"/>
<style xml:id="greenBackground" tts:backgroundColor="#00FF00"/>
<style xml:id="startEnd" tts:textAlign="start" ebutts:multiRowAlign="end"/>
<style xml:id="centerStart" tts:textAlign="center" ebutts:multiRowAlign="start"/>
</styling>
<layout>
<region xml:id="area1" tts:origin="15% 10%" tts:extent="70% 20%" style="greenBackground" tts:displayAlign="center" tts:showBackground="whenActive"/>
<region xml:id="area2" tts:origin="15% 70%" tts:extent="70% 20%" style="blackBackground" tts:displayAlign="center" tts:showBackground="whenActive"/>
</layout>
</head>
<body>
<div style="baseStyle">
<p xml:id="s1" region="area1" style="startEnd black" begin="00:00:01" end="00:00:09">
multiRowAlign="end"<br/>textAlign="start"
</p>
<p xml:id="s2" region="area2" style="centerStart" begin="00:00:01" end="00:00:09">
multiRowAlign="start"<br/>textAlign="center"
</p>
</div>
</body>
</tt>
위 샘플은 세 개의 중간 동기 문서를 만듭니다. 하나는 0초부터 1초까지이며, 그림 8처럼 렌더링되고, 다음은 1초부터 9초까지이며, 그림 9처럼 렌더링되며, 마지막은 9초 이후부터이며, 그림 10처럼 렌더링됩니다.
그림 8은 0s부터 1s까지의 기간에 문서에서 생성되는 픽셀이 없음을 보여줍니다.
그림
9는
라임 그린 및 검은색 직사각형 영역을 보여줍니다.
녹색 영역은 렌더링
영역의 위쪽 부분에 배치되고 검은색 영역은 아래쪽 부분에 배치되며,
이는 tts:origin 및 tts:extent
속성 값에 따릅니다. 텍스트는 녹색 영역에서는 검은색이고
검은색 영역에서는 흰색입니다. 두 경우 모두 일반
sans-serif 폰트이며, 텍스트는 각 영역에 지정된
tts:displayAlign 속성
값에 따라 영역 안에서 세로로 가운데 정렬됩니다.
각 텍스트 줄의 가로 정렬은
ebutts:multiRowAlign 및
tts:textAlign 속성의 결합 적용을 보여줍니다.
녹색 영역의 start(이 경우 왼쪽) 정렬 텍스트는
div 요소에 적용된
ebutts:linePadding 스타일 속성 때문에
영역 가장자리에서 약간 오프셋됩니다.
그림 10은 9s 이후의 기간에 문서에서 생성되는 픽셀이 없음을 보여줍니다.
텍스트 프로파일은 [ttml10-sdp-us]의 엄격한 구문적 상위 집합입니다.
[ttml10-sdp-us]를 준수하는 문서는 따라서 일반적으로 텍스트 프로파일도 준수합니다. 단, 다음을 포함한 몇 가지 예외가 있습니다.
예시로, [ttml10-sdp-us]의 예제 3은 텍스트 프로파일과 [ttml10-sdp-us]를 모두 준수합니다.
[SMPTE2052-1]은
여러 확장으로 보충된 DFXP Full Profile([ttml2]의 부록 F.3 참조)의 사용을
지정하며, 여기에는
http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt#image가 포함됩니다.
텍스트 프로파일은 텍스트 전용 자막 및 캡션을 위해 [SMPTE2052-1]에 실용적인 제약과 확장 집합을 적용합니다. 이러한 제약과 확장은 업계 관행과 경험을 반영합니다.
[SMPTE2052-1] 및 텍스트 프로파일 프레젠테이션 프로세서에 따라 처리되도록 의도된 문서를 만들 때는 주의가 필요합니다. 특히 다음과 같습니다.
http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt#image
확장을 지원하지 않습니다.
다음은 텍스트 프로파일과 [SMPTE2052-1]을 모두 준수하는 문서의 예입니다.
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en"
xmlns="http://www.w3.org/ns/ttml"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
ttp:profile="http://www.smpte-ra.org/schemas/2052-1/2010/profiles/smpte-tt-full"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
ttp:frameRate="24">
<head>
<layout>
<region xml:id="area1" tts:origin="10% 70%" tts:extent="80% 20%" tts:showBackground="whenActive" tts:backgroundColor="red" tts:displayAlign="center" tts:color="white"/>
</layout>
</head>
<body tts:lineHeight="100%">
<div>
<p region="area1" begin="00:00:01.01" end="00:00:03">이것은 프레임 25에 나타나야 합니다.</p>
<p region="area1" begin="00:00:04" end="00:00:06">이것은 프레임 96에 나타나야 합니다.</p>
<p region="area1" begin="00:00:07.33" end="00:00:09">이것은 프레임 176에 나타나야 합니다.</p>
</div>
</body>
</tt>
이 명세는 [CFF]의 섹션 6에 지정된 텍스트 프로파일에서 파생되었으며, 기능 측면에서 그 상위 집합이 되도록 의도되었습니다. 그러나 [CFF] 텍스트 프로파일 문서를 텍스트 프로파일 명세를 준수하는 문서 인스턴스로 변환하려면 일반적으로 추가 처리가 필요합니다. 특히 다음과 같습니다.
progressivelyDecodable 속성의 네임스페이스가 다릅니다.forcedDisplayMode 속성은 이
명세에서 forcedDisplay로 이름이 변경되었습니다.
ttp:frameRate 속성은 섹션 8.1.12
#frameRate에 지정된 요구 사항의 적용을 받지 않습니다. 그리고
ttp:profile의 use 속성에 대한 값을 의무화합니다. 이 값은
이 명세에서 지정한 프로세서 프로파일과 호환되지 않는
프로세서 프로파일을 신호합니다.
[CFF] 이미지 프로파일 문서를 이미지에서 텍스트 콘텐츠를 추출하는 것과 같은 추가적인 복잡한 처리 없이 텍스트 프로파일 명세를 준수하는 문서로 변환하는 것은 불가능합니다.
[ttml-imsc1] 또는 [ttml-imsc1.0.1] 또는 [ttml-imsc1.1] 또는 [ttml-imsc1.2] 텍스트 프로파일을 준수하는 문서는 이 명세도 준수합니다.
이전 버전의 IMSC 텍스트 프로파일에서 이전에 허용되었던 여러 기능은 텍스트 프로파일에서 허용됨-폐기 예정으로 지정됩니다. 따라서 이러한 기능을 사용하는 문서는 이 명세의 향후 버전과 호환되지 않을 수 있습니다.
이 명세의 이전 버전은 이미지 프로파일이라고 하는 이미지 전용 프로파일을 지정했으나, 여기에서는 더 이상 지정하지 않습니다. 이러한 이미지 전용 프로파일이 필요한 애플리케이션은 [ttml-imsc1.2]를 참조하는 것을 고려할 수 있습니다.
이 섹션은 비규범적입니다.
편집자는 이 문서의 과정 또는 내용에 직접 또는 간접적으로 기여한 Timed Text Working Group의 현재 및 이전 구성원, 다른 W3C Working Group의 구성원, 그리고 다른 포럼의 업계 전문가들에게 감사를 표합니다.
편집자는 특히 다음 구성원들의 기여에 감사를 표하고자 합니다. Glenn Adams, Skynav; John Birch, 초청 전문가; Mike Dolan, 초청 전문가; Nigel Megitt, British Broadcasting Corporation; Thierry Michel, W3C; Andreas Tai, Institut für Rundfunktechnik; Stefan Pöschel, Institut für Rundfunktechnik.
편집자는 또한 Member Submission을 위한 초기 문서에 기여한 Digital Entertainment Content Ecosystem (DECE)에 감사를 표하고자 합니다.
이 섹션은 비규범적입니다.
다음을 제외하고, [ttml2]의 보안 및 개인정보 고려 사항이 적용됩니다.
condition 속성이 지원되지 않으므로, 부록 P.7(처리 상태에 대한 접근).
이 섹션은 비규범적입니다.
이 부록은 [ttml-imsc1.2]로부터 이루어진 변경 사항을 요약합니다.
B. 공통 문자 집합의 보충 문자 집합에 일본어(ja) 집합을 추가했습니다.
가상 렌더 모델의 정의는 이 문서에서 제거되고 [imsc-hrm]에 대한 참조로 대체되었습니다.
이 명세의 이전 버전에서 지정된 이미지 프로파일이 제거되었습니다.
다음 기능에 대한 지원(부분 또는 전체)이 추가되었습니다.
| TT 기능 네임스페이스 기준 |
#fontVariant |
없음
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in: