W3C8 언어 정보 와 글자 방향Trio 홈페이지
목차
  1. 내용의 언어 지정: lang 애트리뷰트
    1. 언어 코드
    2. 언어 코드의 전달
    3. 언어 코드의 표현
  2. 글자와 표(table) 방향 지정: dir 애트리뷰트
    1. 양방향 기능(algorithm)의 소개
    2. 글자 방향 정보의 전달 특성
    3. 깔리는(embedded) 텍스트의 방향 설정
    4. 양방향 기능 덮어 씌우기(Override): BDO 엘레멘트
    5. 방향성 글자 참조와 결합(joining) 제어
    6. 스타일쉬트의 양방향성에 대한 효과

이 항목에서는 HTML의 국제화에 중요한 문서 텍스트의 두 가지 중요 문제인 lang(언어 지정) 애트리뷰트와 dir(텍스트 방향) 애트리뷰트를 다룬다.

8.1 내용의 언어 지정: lang 애트리뷰트

애트리뷰트의 정의

lang = language-code [대소문자 구별 없이: CI]
이 애트리뷰트는 엘레멘트의 애트리뷰트 값과 텍스트 내용의 바탕 언어를 지정한다. 이 애트리뷰트의 디폴트 값은 알려져 있지 않다.

lang 애트리뷰트를 통해 지정 된 언어 정보는 사용도구에 따라 다르게 표현 될 수 있다. 제작자가 제공하는 언어 정보가 도움이 되는 경우는 다음과 같은 것들이 있다.

lang 애트리뷰트는 엘레멘트 내용의 언어와 애트리뷰트 값을 지정한다. 이것이 애트리뷰트에 대해 주어진 문법, 애트리뷰트의 의미, 관련 작동에 따라 적정한가를 검정한다.

lang 애트리뷰트는 사용도구에게 주어진 언어의 사용 관례를 기준하여 더 의미있는 내용의 표현이 가능 하도록 의도 되었다. 이는 사용도구가 그 특정 언어로 주어진 글자를 통 해 덜 의미있는 방식으로라도 글자를 표현하여야 한다는 뜻은 아니다. 사용도구는 lang에 값이 정의 되어 있건 없건 관계 없이, 모든 글자의 표현을 위해 최대의 노력을 시도 해야한다.

예를 들어 만일 영어 텍스트에 그리스 글자가 나타난다면:

<P><Q lang="en">Her super-powers were the result of &gamma;-radiation,</Q>
   he explained.</P>

귀하의 브라우저에서 이 표현은

Her super-powers were the result of γ-radiation, he explained.
(그는 '초강대국은 γ선의 결과이다' 라고 설명 했다.)

사용도구는 (1) 영어 내용의 적정한 방식으로 표현을 시도(예: 따옴표를 이용하여)해야 하고, (2) 영어 글자가 아닌 γ를 표현하기 위해 최대 한 노력하여야 한다.

표현 할 수 없는 글자 관련 정보를 참조하라.

8.1.1 언어 코드

lang 애트리뷰트의 값은 말하거나, 쓰거나 다른 방식으로 여러 사람들 사이에 정보 통신을 위해 사용하는 자연 언어를 지정하는 언어 코드이다. 컴퓨터 언어들은 언어 코드에 의해 정확하게 수행된다.

[RFC1766]에는 HTML 문서에서 사용해야 할 언어 코드의 정의와 설명이 있다.

개략적으로, 언어 코드는 일차(primary) 코드와 가능한 빈 부속 코드(subcode)들로 구성되어 있다.

       language-code = primary-code ( "-" subcode )*

언어 코드의 예제:

두 글자 일차 코드는 [ISO639] 언어 약자에 예약되어 있다. 두 글자 코드에는 ko(한국어), fr(불어), de(독일어), it(이태리어), nl(네델란드어), el(그리스어), es(스페인어), pt(폴튜갈어), ar(아랍어), he(히브리어), ru(러시아어), zh(중국어), ja(일본어), hi(힌두어), ur(Urdu), 와 sa(Sanskrit) 등이 있다.

두 글자 코드들은 [ISO3166] 국가번호(country code)로도 사용된다.

8.1.2 언어 코드의 전달

엘레멘트는 다음의 우선 순위(위서부터 아래로)를 갖고 언어 코드 정보를 나타낸다.

예제에서 문서의 일차 언어는 불어 ("fr")이다. 한 문단은 스페인어 ("es")로 지정 되었고, 그 후 일차 언어인 불어로 돌아 갔다. 다음 문단에는 일본어 ("ja") 문구가 포함 되어 있고, 그 후 일차 언어인 불어로 돌아 갔다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
<HTML lang="fr">
<HEAD>
<TITLE>다수 언어 문서 불어로(Un document multilingue)</TITLE>
</HEAD>
<BODY>
 ... 불어로 표현 ...
<P lang="es">... 스페인어로 표현 ...
<P> ... 다시 불어로 표현 ...
<P> ... 불어 표현과 <EM lang="ja">일부 일본어로</EM>
 ... 다시 불어로 ...
</BODY>
</HTML>

주석: 표(table)의 셀(cell)들은 특성을 결정하는 lang 값이 모체로 부터 오는 것이 아니고, 그 첫 셀으로 부터 온다. 배열 정렬 특성 전달 세부사항을 참조하라.

8.1.3 언어 코드의 표현

HTML에서 사용도구는 언어 코드를 단일 토큰(token)이 아닌, 토큰들의 체계(hierarchy)로 해석하여야 한다. 사용도구가 언어 정보(스타일쉬트 언어 코드와 lang 값을 비교하여)에 의해 표현을 조절 할 때, 항상 꼭 맞음(exact match)이 선호 되지만, 일차 코드 일치 만으로 충분하다는 점도 고려하여야 한다. 그래서 HTML 엘레멘트에 lang 애트리뷰트 값이 "en-US"로 설정 되었다면, 사용도구는 일반적인 값 "en" 보다는 "en-US"에 맞는 스타일 정보를 우선 사용하여야 한다.

주석: 언어 코드 체계들은 모든 언어에서 일반적인 어두(prefix)로 그 언어들에서 잘 이해한다는 보장이 없다. 이 체계들이 사용자에게 맞을 때 사용자가 그 일반적인 내용을 요청 할 수 있게 한다.

8.2 글자 방향표시와 표(table) 텍스트와 표(table)의 방향 지정: dir 애트리뷰트

애트리뷰트의 정의

dir = LTR | RTL [대소문자 구별 없이: CI]
이 애트리뷰트는 [UNICODE]와 표(table)의 방향성 특성이 정의되지 않은 엘레멘트 내용(content)과 애트리뷰트 값에 자연 텍스트의 방향으로 기초 방향을 지정한다. 가능한 값은:
  • LTR: 왼쪽에서 오른쪽으로(Left-to-right) 쓰는 글 또는 표.
  • RTL: 오른쪽에서 왼쪽으로(Right-to-left) 쓰는 글 또는 표.

lang 애트리뷰트로 문서의 언어를 정의하는 것에 추가하여 제작자는 문서의 한 부분이나 표 구조등에 왼쪽에서 오른쪽으로나 오른쪽에서 왼쪽으로의 기초 방향성을 설정 할 필요가 있을 수 있는데, 이 때 dir 애트리뷰트를 사용한다.

[UNICODE] 규격은 글자의 방향성을 지정하고 텍스트의 적절한 방향을 결정하는 기능을 정의한다. 문서가 오른쪽에서 왼쪽으로 디스플레이 되는 글자를 가지고 있지 않다면, 규격에 맞는사용도구는 [UNICODE] 양방향 기능을 적용 할 필료가 없다. 만일 문서가 왼쪽으로 디스플레이 되는 글자를 가지고 이들 글자를 디스플레이한다면 사용도구는 이 양방향 기능을 사용하여야 한다.

Unicode는 텍스트의 방향을 다루는 특수 글자를 정의하고 있지만, HTML은 같은 것을 구성하는 보다 높은 수준의 작성(markup)인 dir 애트리뷰트(DIR 엘레멘트와 혼동하지 말 것)와 BDO 엘레멘트를 제공한다. 그래서 히브리어 문구를 더 쉽게 표현 할 수 있다.

<Q lang="he" dir="rtl">... 히브리어 문구 ...</Q>

같은 Unicode를 참조하여 표현한 것에 비해:

&#x202B;&#x05F4;... 히브리어 문구 ...&#x05F4;&#x202C;

사용도구는 텍스트 방향성을 위 해 lang 애트리뷰트를 사용하지 말아야한다.

dir 애트리뷰트는 전달되고 덮어 씌워 질 수 있다. 세부사항은 글자 방향 정보의 전달를 참조하라.

8.2.1 양방향 기능(algorithm)의 소개

다음 예제는 양방향 기능의 예상 작용을 설명한다. 왼쪽에서 오른쪽으로 쓰는 영어와 오른쪽에서 왼쪽으로 쓰는 히브리어을 갖는다. 텍스트 예제:

 english1 HEBREW2 english3 HEBREW4 english5 HEBREW6

이 예제의 글자들은 컴퓨터안에 첫번째 글자는 "e", 두번째는 "n"이고 마지막 글자는 "6"으로 보이는 것과 같이 저장되어있다.

이 문단의 주 된 언어는 영어이라 할 때, 기본 쓰는 방향은 왼쪽에서 오른쪽으로이다. 글자 방향을 고려 한 이 줄의 바른 표현은:

english1 2WERBEH english3 4WERBEH english5 6WERBEH
        <------          <------          <------
           H                H                H
------------------------------------------------->
                      E

점선은 문장의 구조를 나타 내는데 영어가 주이고 히브리어가 일부에 깔려있다. 히브리어 부분은 사용도구가 양방향 기능을 적용하도록 예정되어 있기 때문에, 바른 표현을 위해 추가적인 문구를 필요로 하지 않는다.

반대로 히브리어가 문서 주 된 언어이면, 기초 방향은 왼쪽에서 오른쪽으로이고 그 표현은 다음과 같다.

6WERBEH english5 4WERBEH english3 2WERBEH english1
       ------->         ------->         ------->
           E                E                E
<-------------------------------------------------
                      H

이런 경우 전체 문장이 왼쪽에서 오른쪽으로 표현 되고, 깔려 있는 영어는 예약 된 양방향 기능에 의하여 바르게 표현된다.

8.2.2 글자 방향 정보의 전달

Unicode 양방향 기능(algorithm)은 텍스트 블럭의 기초 글자 방향을 필요로 한다. 텍스트 블럭의 기초 글자 방향을 지정하기 위해서는 엘레멘트의 dir 애트리뷰트를 설정한다. dir 애트리뷰트의 디폴트 값은 "ltr"(왼쪽에서 오른쪽으로 쓰는 글)이다.

dir 애트리뷰트가 블럭레벨(block-level) 엘레멘트로 지정되면 엘레멘트와 네스트 된(nested) 블럭레벨 엘레멘트가 해당되는 동안에 작용한다. dir 애트리뷰트를 네스트 된 엘레멘트에 설정하면 전해진(inherited) 값을 덮어(override) 씌운다.

전체 문서의 기초 글자 방향을 설정하려면 HTML 엘레멘트의 dir 애트리뷰트를 설정하면 된다.

예를 들면:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
<HTML dir="RTL">
<HEAD>
<TITLE>... 왼쪽에서 오른쪽으로 쓰는 글 제목 ...</TITLE>
</HEAD>
 ... 왼쪽에서 오른쪽으로 쓰는 글 ...
<P dir="ltr">... left-to-right(왼쪽에서 오른쪽으로 쓰는 글) ...</P>
<P>... 왼쪽에서 오른쪽으로 쓰는 글 계속 ...</P>
</HTML>

인라인(Inline) 엘레멘트에서는 이와는 달리 dir 애트리뷰트를 전달(inherit)하지 않는다. 이는 dir 애트리뷰트가 없는 인라인 엘레멘트가 추가적인 수준의 깔려있는 양방향 기능(algorithm)을 열지 않는다는 것을 의미한다. 여기서는 엘레멘트가 디폴트 표현에 따라 블럭레벨 혹은 인라인으로 된다. INSDEL 엘레멘트는 그 문장에 따라 불럭레벨이나 인라인이 될 수 있슴에 주의하라.

8.2.3 깔리는(embedded) 텍스트의 방향 설정

[UNICODE]의 양방향 기능은 방향성 특성에 따라, 자동적으로 깔리는 글자 순서를 예약한다(앞 예제와 같이). 그러나, 일반적으로 한 수준의 깔린 텍스트 만을 수행한다. 추가적인 수준의 깔리는 방향 변경들을 달성하기 위해서는, 인라인 엘레멘트에서 dir 애트리뷰트를 사용하여야 한다.

앞의 예제와 같은 문장을 보자.

english1 HEBREW2 english3 HEBREW4 english5 HEBREW6

문서의 주 된 언어는 영어이고, 문단 안에 히브리어(HEBREW2-4) 항목과 그 히브리어 항목에 다시 영어(english3)가 포함 되었다면, 적절한 표현은:

english1 4WERBEH english3 2WERBEH english5 6WERBEH
                ------->
                   E
        <-----------------------
                   H
------------------------------------------------->
                   E

두번의 깔려있는 방향 변경을 달성하기 위하여, 두번째 깔린 방향을 정확히 해제하는 추가적인 정보를 제공하여야 한다. 이 예제에서는 텍스트 표현을 위해 SPAN 엘레멘트와 dir 애트리뷰트을 사용하였다.

english1 <SPAN dir="RTL">WERBEH2 english3 WERBEH4</SPAN> english5 WERBEH6

제작자는 복수 깔린 방향 변경을 위해 특수한 Unicode 글자를 사용 할 수 도 있다. 깔린 방향 왼쪽에서 오른쪽으로의 설정을 위하여 깔릴 텍스트를 "LRE"(LEFT-TO-RIGHT EMBEDDING, 16진수 202A)과 "PDF"(POP DIRECTIONAL FORMATTING, 16진수 202C)로 에워 싸이게 하고한다. 깔린 방향 오른쪽에서 왼쪽으로의 설정을 위하여 깔릴 텍스트를 "RTE"(RIGHT-TO-LEFT EMBEDDING, 16진수 202B)과 "PDF"로 에워 싸이게 하고한다.

Unicode 글자를 이용 한 HTML 방향성 표현. 제작자와 편집기 설계자는 인라인 엘레멘트(BDO 포함)에 현재의 [UNICODE]의 상응하는 양식 글자와 더부러 dir 애트리뷰트를 사용하면 충돌 될 수 있슴을 알아야한다. 그 중 하나를 정확하게 사용하는 것이 좋다. 작성(markup) 방식은 문서의 보다 나은 구조적 완전성 보장과 단순한 텍스트 편집기로 양방향 HTML 텍스트를 편집 할 때 생기는 일부 문제점을 경감사켜 준다. 그러나 일부 소프트웨어에서는 [UNICODE] 글자 사용이 더 적합 할 수 있다. 만일 두 방식이 다 사용된다면, 정확한 작성(markup) 네스팅(nesting)과 깔린 방향(directional embedding) 또는 덮어 씌움(override) 등의 정확성을 위하여 상당한 주의를하여야 한다. 그렇지 않으면 결과를 예측할 수 없을 것이다.

8.2.4 양방향 기능(algorithm) 덮어 씌우기: BDO 엘레멘트

BDO: bidirectional overriding
<!ELEMENT BDO - - (%inline;)*          -- I18N BiDi 덮어 씌우기(over-ride) -->
<!ATTLIST BDO
 %coreattrs;                          -- id, class, style, title --
 lang        %LanguageCode; #IMPLIED  -- 언어 코드 --
 dir         (ltr | rtl)      #REQUIRED -- 방향성 --
>

시작태그: 필요 함, 종료태그: 필요 함

애트리뷰트의 정의

dir = LTR | RTL [대소문자 구별 없이: CI]
이 필수적 애트리뷰트는 엘레멘트 텍스트 내용의 기초 방향을 지정한다. 이 방향은 [UNICODE]에 정의 되어있는 글자의 방향성을 덮어 씌운다. 가능한 값은:
  • LTR: 왼쪽에서 오른쪽으로(Left-to-right) 쓰는 글.
  • RTL: 오른쪽에서 왼쪽으로(Right-to-left) 쓰는 글.
다른 곳에서 정의 된 애트리뷰트

양방향 기능과 dir 애트리뷰트는 일반적으로 깔려 있는(embedded) 방향 변경을 관리하는데 충분하다. 그러나 양방향 기능이 바르지 않은 표현을 할 경우가 생길 수 있다. BDO 엘레멘트는 제작자로 하여금 지정 된 텍스트의 부분에서 양방향 기능을 중지시킬 수 있다.

앞의 예제와 같은 문장을 보자.

english1 4WERBEH english3 2WERBEH english5 6WERBEH

그러나 이 텍스트가 이미 보이는 순서로 배열 되었다고 가정하자. 하나의 이유는 MIME 표준 ([RFC2045], [RFC1556])에서 보이는 선호 순서 때문이다. 말하자면 오른쪽에서 왼쪽으로 글자 순서가 바이트 흐름에 오른쪽에서 왼쪽으로(right-to-left)가 삽입되는 것이다. 전자우편에서는 위의 문단에 줄바꿈을 넣어 다음과 같이된다.

english1 english3 english5
2WERBEH 4WERBEH 6WERBEH

이것은 [UNICODE] 양방향 기능에 맞지 않는다. 왜냐하면 이 기능은 2WERBEH, 4WERBEH6WERBEH를 히브리어 단어가 오른쪽에서 왼쪽으로 대신 왼쪽에서 오른쪽으로 표시되며 삽입되기 때문이다.

이런 경우의 해결책은 양방향 기능을 덮어 씌우는 것이다. 줄바꿈을 방지하기 위해 PRE 엘레멘트 안에 전자 우편을 넣고 각 줄을 BDO 엘레멘트에 넣고 dir 애트리뷰트를 LTR로 설정한다.

<PRE>
 <BDO dir="LTR">english1 2WERBEH english3</BDO>
 <BDO dir="LTR">4WERBEH english5 6WERBEH</BDO>
</PRE>

이것은 양방향 기능에게 "왼쪽에서 오른쪽으로 놔두시오 !"라고 알려주고, 그 결과 필요 한 표현을 하게한다.

english1 2WERBEH english3
4WERBEH english5 6WERBEH

BDO 엘레멘트는 순서에 절대적 통제가 필요 한 곳에서는 시나리오 안에서 사용되어야 한다. 예: 다중 언어 부품 번호(multi-language part number). dir 엘레멘트에서 애트리뷰트는 필수적이다.

제작자는 특수 Unicode 글자 LEFT-TO-RIGHT OVERRIDE(202D) 또는 RIGHT-TO-LEFT OVERRIDE(16진수 202E)를 사용하여 양방향 기능을 덮어 씌울 수 있다. POP DIRECTIONAL FORMATTING(16진수 202C) 글자는 양방향 덮어 씌우기를 종료한다.

주석: 인라인 엘레멘트(BDO 포함)에 현재의 [UNICODE]에 상응하는 양식 글자와 더부러 dir 애트리뷰트를 사용하면 충돌 될 수 있슴을 상기시킨다.

양방향성(bidirectionality)글자 엔코딩(encoding) [RFC1555]와 [RFC1556]에 따르면, MIME 메일에서 구체적으로 보이는(visual), 암시적과 명시적 방향성 간의 구별등 양방향 처리를 지정하는 "charset" 파라메터(parameter) 값을 사용하기 위한 특별한 방법들이 있다. 히브리어를 위 한 그 파라메터 값 "ISO-8859-8"는 보는(visual) 엔코딩을, "ISO-8859-8-i"는 암시적 양방향성(bidirectionality), 그리고 "ISO-8859-8-e"는 명시적 방향성(directionality)을 기술 하였다.

HTML은 Unicode 양방향 기능을 사용하므로, ISO 8859-8을 이용하여 엔코딩 되었으며, 기준에 부합하는 문서에는 "ISO-8859-8-i" 표시를 하여야 한다. HTML로도 명시적 방향 제어는 가능하지만, ISO 8859-8로 표시 할 수 없으므로 "ISO-8859-8-e"를 사용하지 말아야 한다.

그 값 "ISO-8859-8"는 문서가 보이도록 양식화 되었슴을 의미하며, 일부의 작성(markup)이 양방향성을 처리하지 못하는 과거의 사용도구에서 적정한 디스플레이를 확보하기 위하여 잘 못 사용되고 있다(오른쪽 정렬과 자동 라인 바꿈(wrapping)이 없는 TABLE등). 이와 같은 문서들은 현재의 규격에 부합하지 않는다. 필요하다면 필요 한 곳에 BDO 작성(markup)를 추가함으로서, 이 문서들을 현재 규격에 맞게 만들어 질 수 있으며, 동시에 과거의 사용도구에서도 올바르게 표현 할 수 있다. [RFC1555]와 [RFC1556]에 기술 된 것과는 반대로, ISO-8859-6(아랍어)은 보이는(visual) 순서로 된 것이 아니다.

8.2.5 방향성 글자 참조와 결합(joining) 제어

때로는 구둣점과 같은 어떤 글자의 방향성에 모호 한 점이 나타나기 때문에, [UNICODE] 규격은 적정 한 글자 표현을 위 한 해상도를 포함시켰다. Unicode는 또한, 예를 들어 아랍어 글자에서 나타는 상황 등을 위하여, 필요한 곳에 쓸 수 있는 결합 기능 제어를 포함하고 있다. 이들 글자는 HTML 4의 글자 참조를 보라.

다음 DTD는 방향에 관 한 엔티티의 표현들이다.

<!ENTITY zwnj CDATA "&#8204;"--=zero width non-joiner(너비 없이 결합 안함) -->
<!ENTITY zwj  CDATA "&#8205;"--=zero width joiner(너비 없이 결합)-->
<!ENTITY lrm  CDATA "&#8206;"
	--=left-to-right mark(왼쪽에서 오른쪽으로 표식)-->
<!ENTITY rlm  CDATA "&#8207;"
	--=right-to-left mark(오른쪽에서 왼쪽으로 표식)-->

zwnj 엔티티(entity)는 결합이 나타날 수 있으나 나타나면 안되는 곳에 결합을 방지하기 위하여 사용한다. zwj 엔티티는 그 반대로 결합이 안 나타날 수 있는 곳에 나타나야 할 때 강제로 결합 시키는 것이다. 예를 들어 아랍어 글자 "HEH"는 "Hijri"의 약자로 사용되는 회교 달력 시스템의 이름이다. 분리 된 양식 "HEH"가 아랍어 스크립트에 사용하는 수치 5(Indic digits에 따라)와 유사하기 때문에 년도의 마지막 수치 5와의 혼동을 피하기 위하여 대문자 "HEH"를 사용한다. 그러나 그 "HEH"가 결합 할 수 있는 다음 글자가 없다. zwj 글자는 그 문법을 제공한다.

이와 유사하게, 페르샤(Persian) 텍스트에 일반적으로 한 글자가 다음에 글자와 결합하는 경우가 있는데 흘림체에서는 결합해서는 안된다. zwnj 글자가 이 경우 결합을 방지하기 위해 사용된다.

다른 글자 lrmrlm는 자연 글자의 양쪽 방향성을 강제로 지정하는데 사용된다. 예를 들어 만일 이중 따옴표 안에 아랍어(right-to-left)와 라틴어(left-to-right) 글자가 온다면 따옴표의 방향이 아랍어 텍스트 인가 또는 라틴어 텍스트 인가 명확하지 않게된다. lrmrlm 글자는 방향의 특성을 갖지만 단어나 줄바꿈 없고 너비가 없다.

세부사항은 [UNICODE]를 참조하라.

반사 효과 된(Mirrored) 그림 문자(glyphs). 일반적으로 양방향 기능은 그림 문자에 반사하지 않고 변화를 주지 않는다. 괄호와 같은 글자들은 예외이다([UNICODE], 표 4-7 참조). 예를 들어 에집트(Egyptian) Hieroglyphs, 그리스 Bustrophedon, 또는 특수 디자인 효과등을 위하여 반사 효과(mirroring)가 필요 할 때는 스타일을 이용하여 제어한다.

8.2.6 스타일쉬트의 양방향성에 대한 효과

일반적으로 스타일쉬트를 사용하여 엘레멘트들의 시각적 효과를 블럭레벨(block-level)에서 인라인(inline)으로 또는 역으로 변경하는 것은 그대로 적용된다. 그러나 양방향 기능이 인라인/블럭레벨 구별에 의존하기 때문에 이 변환을 할 때 특별 한 주의를 하여야 한다.

dir 애트리뷰트를 갖고 있지 않는 인라인 엘레멘트가 스타일쉬트에 의 해 스타일쉬트의 블럭레벨 엘레멘트로 변환 될 때, 가장 가까운 모체(parent)의 블럭 엘레멘드로 부터 그 블럭의 기초 방향을 결정하기 위하여 dir 애트리뷰트를 가져온다.

dir 애트리뷰트를 갖고 있지 않는 블럭 엘레멘트가 스타일쉬트에 의 해 스타일쉬트의 인라인 엘레멘트로 변환 될 때, 결과의 표현은 dir 애트리뷰트(가져온 값으로 설정)를 변환 된 엘레멘트에 작용하여 얻어진 양식과 양방향성의 견지에서 같아야 한다.

Trio 홈페이지 문서(http://trio.co.kr/webrefer/html/struct/dirlang.html)는 자유로이 연결 사용이 가능함.