.RTF 파일이란?
Microsoft에서 도입하고 문서화한 서식 있는 텍스트 형식(RTF)은 응용 프로그램 내에서 사용할 서식이 지정된 텍스트와 그래픽을 인코딩하는 방법을 나타냅니다. 이 형식은 다른 Microsoft 제품과 플랫폼 간 문서 교환을 용이하게 하여 상호 운용성을 제공합니다. 이 기능은 워드 프로세싱 소프트웨어 간의 데이터 전송 표준이 되므로 문서 형식을 잃지 않고 한 운영 체제에서 다른 운영 체제로 콘텐츠를 전송할 수 있습니다. 파일 형식 사양은 Microsoft에서 공개다운로드할 수 있으며 개발자의 관점에서 참조할 수 있습니다.
RTF 파일 형식의 간략한 역사
RTF 파일 형식은 게시 이후 여러 번 수정되었습니다. 읽기/쓰기용 공식 버전은 버전 1.0 사양의 Macintosh용 Microsoft Word 3.0의 일부로 게시되었습니다. 사양의 최종 버전인 1.9.1은 2008년 3월에 Microsoft에서 게시했습니다. 그 이후로는 사양이 더 이상 개선되지 않습니다. 현재 거의 모든 운영 체제에는 RTF 파일 형식의 사용을 최소화/근절한 기능이 풍부한 응용 프로그램이 있습니다.
RTF 파일 형식 사양
RTF는 워드 프로세싱 소프트웨어 간의 데이터 전송과 한 운영 체제에서 다른 운영 체제로 콘텐츠 전송의 표준 역할을 합니다. 이는 2007년까지 Microsoft Office Word에서 도입된 제어 단어를 사용하여 달성됩니다. 표준 RTF 파일은 서식 있는 텍스트를 나타내는 ASCII와 적절한 코드 값으로 변환되는 비ASCII 문자로 구성됩니다. 최신 버전의 Word는 이전 버전에서 생성된 RTF 파일을 읽을 수 있지만 이전 버전은 이해하지 못하는 제어 단어와 그룹을 무시합니다.
RTF의 기초 이해
RTF 파일은 다음으로 구성된 7비트 ASCII 일반 텍스트를 사용합니다.
- 제어 단어
- 제어 기호 및
- 그룹.
이는 RTF 데이터를 이해할 수 있는 텍스트 및 문자 인코딩으로 표현하기 위한 빌딩 블록 역할을 합니다.
제어 단어
이는 표시할 문자를 표시하는 데 사용되는 특수 형식의 명령을 나타내며 32자를 초과할 수 없습니다. 제어 단어는 다음과 같이 정의됩니다.
<ASCII Letter Sequence> //<//Delimiter//> //
각 제어 단어는 대소문자를 구분하며 백슬래시로 시작합니다. ASCII 문자 시퀀스에는 ASCII 알파벳(a~z 및 A~Z)이 포함될 수 있습니다. 그만큼 제어 단어 이름의 끝을 표시하고 다음 중 하나일 수 있습니다.
- 우주. 이것은 제어 단어를 구분하는 역할만 하며 후속 처리에서는 무시됩니다.
- 숫자 매개변수가 제어 단어와 연관되어 있음을 나타내는 숫자 또는 ASCII 빼기 기호. 그런 다음 후속 디지털 시퀀스는 ASCII 숫자(일반적으로 백슬래시로 시작하는 다른 제어 단어) 이외의 문자로 구분됩니다. 매개변수는 양수 또는 음수 십진수일 수 있습니다. 숫자 값의 범위는 명목상 -32768에서 32767까지입니다. 즉, 부호 있는 16비트 정수입니다. 소수의 제어 단어는 −2,147,483,648에서 2,147,483,647(32비트 부호 있는 정수) 범위의 값을 사용합니다. 이러한 제어 단어에는 \binN, \revdttmN//, \rsidN 관련 제어 단어 및 \bliptagN과 같은 일부 그림 속성이 포함됩니다. 여기서 N은 숫자 매개변수를 나타냅니다. RTF 파서는 선택적으로 앞에 빼기 기호가 오는 최대 10자리 숫자를 허용해야 합니다. 구분자가 공백이면 폐기됩니다. 즉, 후속 처리에 포함되지 않습니다.
- 문자나 숫자 이외의 모든 문자. 이 경우 구분 문자는 제어 단어를 종료하고 제어 단어의 일부가 아닙니다. 새 제어 단어 또는 제어 기호를 의미하는 백슬래시 “"와 같이 뒤에 옵니다.
제어 기호
제어 기호는 내용에 따라 특정 의미를 갖는 특별한 경우를 나타냅니다. 백슬래시와 특수 문자(알파벳이 아닌 문자)로 구성되며 구분 기호가 없습니다.
그룹
그룹은 중괄호({ })로 묶인 텍스트, 제어 단어 또는 제어 기호로 구성될 수 있습니다. 여는 중괄호({)는 그룹의 시작을 나타내고 닫는 중괄호( })는 그룹의 끝을 나타냅니다. 각 그룹은 그룹의 영향을 받는 텍스트와 해당 텍스트의 다른 속성을 지정합니다.
RTF 파일 구조
RTF 파일에는 다음과 같은 표준 구문이 있습니다.
Microsoft에서 도입하고 문서화한 서식 있는 텍스트 형식(RTF)은 응용 프로그램 내에서 사용할 서식이 지정된 텍스트 및 그래픽을 인코딩하는 방법을 나타냅니다. 이 형식은 다른 Microsoft 제품과 플랫폼 간 문서 교환을 용이하게 하여 상호 운용성을 제공합니다. 이 기능은 워드 프로세싱 소프트웨어 간의 데이터 전송 표준이 되므로 문서 형식을 잃지 않고 한 운영 체제에서 다른 운영 체제로 내용을 전송할 수 있습니다. 파일 형식 사양은 Microsoft에서 공개다운로드할 수 있으며 개발자의 관점에서 참조할 수 있습니다.
RTF 헤더
RTF 헤더에는 다음과 같은 표현이 있습니다.
필드 | 설명 |
---|---|
<header> | \rtf1\fbidis? <character set> <from> ? <deffont> <deflang> <fonttbl> ? <filetbl> ? <colortbl> ? <stylesheet> ? <stylerestrictions> ? <listtables> ? <revtbl> ? <rsidtable> ? <mathprops> ? <generator> ? |
헤더 테이블이 있는 경우 이 순서로 나타나야 합니다. RTF 파일에는 글꼴, 스타일, 화면 색상, 그림, 각주, 주석(주석), 머리글 및 바닥글, 요약 정보, 필드, 책갈피, 문서, 섹션, 단락 및 문자 서식 속성, 수학, 이미지 및 개체. 글꼴, 파일, 스타일, 색상, 수정 표시, 요약 정보 그룹 및 문서 서식 속성이 파일에 포함되어 있으면 RTF 본문 앞에 있는 RTF 헤더에 나타나야 합니다. 그룹의 내용을 사용하지 않는 경우 그룹을 생략할 수 있습니다. 다른 그룹에 정의된 속성을 사용하는 그룹은 해당 속성을 정의하는 그룹 뒤에 나타나야 합니다. 예를 들어 색상 및 글꼴 속성은 스타일 그룹보다 먼저 와야 합니다.
RTF 버전
RTF 문서는 다음 6자로 시작해야 합니다.
{\rtf1
여기서 1은 RTF 버전 번호를 나타냅니다.
캐릭터 세트
{\rtf1 다음에 문서는 사용하는 문자 집합을 선언해야 합니다. 문자 집합을 선언하는 방법은 다음 명령 중 하나를 사용하는 것입니다.
\ansi
- 문서는 일반적인 MSWindows 문자 집합인 코드 페이지 1252라고도 하는 ANSI 문자 집합에 있습니다.
\mac
- 문서는 MacAscii 문자 집합에 있으며, Mac OS의 이전(10 이전) 버전에서 일반적인 문자 집합입니다.
\pc
- 문서는 MS-DOS의 기본 문자 집합인 DOS 코드 페이지 437에 있습니다. 근육 기억력이 좋은 타자는 이것이 “Alt 숫자” 코드를 해석하는 데 여전히 사용되는 문자 집합이라는 점에 유의할 것입니다. 즉, Alt 키를 누른 상태에서 숫자 키패드에서 “130"을 입력하면 CP437의 130은 é입니다. 이것이 CP437이 요즘 볼 수 있는 유일한 용도입니다.
\pca
- 이 문서는 MS-DOS 다국어 코드 페이지라고도 하는 DOS 코드 페이지 850에 있습니다.
글꼴 명령
문자 집합 정의 다음에 \deffN
명령이 옵니다. 이것은 글꼴 번호 N이 이 문서의 기본 글꼴임을 정의합니다. 글꼴 번호 N은 글꼴 테이블에서 참조됩니다. \deffN
명령은 기술적으로 선택 사항이지만 다음과 같이 기본 글꼴로 글꼴 0을 선택하는 것과 같은 일반적인 프롤로그로 안전한 쪽에 있어야 합니다.
{\rtf1\ansi\deff0
글꼴 테이블
문서에서 사용할 수 있는 모든 글꼴은 각 글꼴이 글꼴 번호로 표시되는 글꼴 테이블에 나열됩니다. 일부 프로그램은 글꼴 테이블 없이도 작동하지만 문서에는 글꼴 테이블이 있어야 합니다.
글꼴 테이블의 구문은 {\fonttbl //…declarations//…}이며, 각 선언에는 다음과 같은 기본 구문이 있습니다.
{\fnumber\familycommand 글꼴 이름;}
4개의 선언이 있는 글꼴 테이블은 다음과 같습니다.
{\fonttbl
{\f0\froman Times;}
{\f1\fswiss Arial;}
{\f2\fmodern Courier New;}
}
해당 글꼴 테이블이 있는 문서에서 {\f2 stuff}
는 Courier New에서 “stuff"를 인쇄합니다. 글꼴은 글꼴 테이블에 나열될 때까지 문서에서 사용할 수 없습니다.
문서 끝
모든 RTF 문서는 문서의 첫 번째 문자인 {로 열린 그룹을 닫으려면 }로 끝나야 합니다. 개행 가능성을 제외하고는 마지막 } 뒤에 아무것도 올 수 없습니다.