Copyright © 2025 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
이 명세서는 브라우저 구현에 적합한 수학 마크업 언어(MathML)의 핵심 부분 집합을 정의합니다. MathML은 수학적 표기법을 설명하고, 그 구조와 내용을 모두 캡처하는 마크업 언어입니다. MathML의 목표는 HTML이 텍스트에 대해 그 기능을 가능하게 했던 것처럼, 수학을 월드 와이드 웹에서 서비스되고, 수신되고, 처리될 수 있도록 하는 것입니다.
이 섹션은 이 문서가 출판 당시 어떤 상태였는지를 설명합니다. 현재 W3C 출판물 목록과 이 기술 보고서의 최신 수정본은 W3C 표준 및 초안 인덱스에서 https://www.w3.org/TR/ 에서 확인할 수 있습니다.
이 문서는 수학 워킹 그룹에 의해 권고안 경로를 사용하여 후보 권고안 스냅샷으로 출판되었습니다.
후보 권고안으로서 출판되었다는 것은 W3C 및 그 회원의 지지를 의미하지 않습니다. 후보 권고안 스냅샷은 광범위한 검토를 받았으며, 구현 경험을 수집하는 것을 목적으로 하고, 워킹 그룹 멤버들로부터 로열티 없는 라이선스 제공에 대한 약속을 받았습니다.
이 후보 권고안은 2025년 9월 30일보다 더 이른 시점에 제안 권고안으로 진행될 것으로 예상되지 않습니다.
이 문서는 W3C 특허 정책에 따라 운영되는 그룹에서 작성되었습니다. W3C는 모든 특허 공개의 공개 목록 을 해당 그룹의 산출물과 관련하여 유지 관리하며, 해당 페이지에는 특허 공개 방법에 대한 안내도 포함되어 있습니다. 개별적으로 해당 특허에 대해 필수 청구항이 포함되어 있다고 판단되는 경우, 특허 정책 섹션 6에 따라 정보를 공개해야 합니다.
이 문서는 2023년 11월 3일 W3C 프로세스 문서에 의해 관리됩니다.
이 섹션은 비규범적입니다.
[MATHML3] 명세에는 웹 렌더링 엔진 전반에서 일관되게 구현하기 어렵거나 사용자 정의 구성을 통해 확장하기 어렵게 만드는 몇 가지 단점이 있습니다. 예를 들면:
MathML Core 명세는 TeXBook의 부록 G [TEXBOOK] 및 Open Font Format [OPEN-FONT-FORMAT], [OPEN-TYPE-MATH-ILLUMINATED]의 추가 규칙을 사용하여 수학 수식의 시각적 렌더링에 대해 가능한 한 정확하게 다루고자 합니다. 또한 최신 브라우저 구현 및 웹 기술 [HTML] [SVG] [CSS2] [DOM]에 의존하며 필요에 따라 상호작용을 명확히 하거나 웹 플랫폼 계층을 개선하기 위한 새로운 저수준 원시 기능을 도입합니다.
이 프레임워크에 적합하지 않거나 덜 기본적인 MathML3의 일부는 생략되었습니다. 대신 별도의 더 큰 [MATHML4] 명세에 설명되어 있습니다. MathML Core의 향후 버전에 어떤 수학 기능이 포함되거나 폴리필로 구현될지는 아직 열려 있습니다. 이 문제와 기타 잠재적 개선 사항들은 GitHub에서 추적되고 있습니다.
구현 세부사항의 수준을 높이고, 실질적인 하위 집합에 집중하며, 브라우저 주도 설계를 따르고 자동화된 웹 플랫폼 테스트에 의존함으로써 본 명세는 MathML의 상호운용성을 크게 향상시킬 것으로 기대됩니다. 또한 MathML 계층화에 대한 노력은 사용자가 MathML 4 명세의 나머지 부분을 구현하거나 더 일반적으로 shadow trees, custom elements 또는 [HOUDINI]와 같은 현대적 웹 기술을 이용해 MathML Core를 확장할 수 있도록 합니다.
MathML 요소라는 용어는 MathML 네임스페이스 내의 모든 요소를 의미합니다. 이 명세에서 정의하는 MathML 요소는 MathML Core 요소라 하며 아래에 나열됩니다. 아래에 나열되지 않은 모든 MathML 요소는 알 수 없는 MathML 요소로 불립니다.
annotation
annotation-xml
maction
math
merror
mfrac
mi
mmultiscripts
mn
mo
mover
mpadded
mphantom
mprescripts
mroot
mrow
ms
mspace
msqrt
mstyle
msub
msubsup
msup
mtable
mtd
mtext
mtr
munder
munderover
semantics
그룹화 요소는
maction,
math,
merror,
mphantom,
mprescripts,
mrow,
mstyle,
semantics
및 알 수 없는 MathML 요소입니다.
스크립트 요소는
mmultiscripts,
mover,
msub,
msubsup,
msup,
munder
및
munderover입니다.
이 명세에서 정의하는 속성들은 네임스페이스가 없으며 MathML 속성이라 합니다:
MathML은 문서 내에서 각 인스턴스를 캡슐화하는 단일 최상위 또는 루트
math 요소를 지정합니다. 모든 다른 MathML 콘텐츠는 <math> 요소에 포함되어야 합니다.
<math>
요소는 2.1.3 전역 속성
뿐만 아니라 아래의 속성도 가질 수 있습니다:
display
속성이 있다면,
ASCII 영문 대소문자 구분 없이
block 또는 inline 값 중 하나여야 합니다.
A. User Agent
Stylesheet
에서 이 속성에 대한 규칙을 정의하며,
display
( block math 또는 inline math )
와 math-style
( normal 또는 compact ) 속성에 기본값을 결정합니다.
display
속성이 없거나 유효하지 않은 경우 User Agent 스타일시트는 inline으로 처리합니다.
이 명세는 alttext 속성에 대해 관찰 가능한 동작을 정의하지 않습니다.
alttext
속성은 수식 레이아웃을 지원하지 않는 레거시 시스템에서 대체 텍스트로 사용될 수 있습니다.
<math> 요소가 계산된
display
속성이
block math 또는 inline math가 아니라면
해당하는 CSS 명세에 따라 레이아웃이 수행됩니다.
그렇지 않으면
mrow
요소의 레이아웃 알고리즘으로
math content box
를 생성하며, 해당 math content box가 CSS 표기에 따라 element의 레이아웃 컨텐츠로 사용됩니다
(display: block의 경우 block math, display: inline의 경우
inline math).
또한 계산된
display
속성이
block math이면, math content box
는 컨텐츠 박스 내에서 수평 중앙 정렬로 렌더링됩니다.
$$...$$
와 inline mode $...$는 각각
display="block" 및 display="inline"에 해당합니다.
다음 예시에서
math
수식이 새 줄에 display 모드로 전체 너비로 렌더링되며, 수식 컨텐츠가 컨테이너 내에서 중앙에 배치됩니다:
<div style="width: 15em;">
This mathematical formula with a big summation and the number pi
<math display="block" style="border: 1px dotted black;">
<mrow>
<munderover>
<mo>∑</mo>
<mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow>
<mrow><mo>+</mo><mn>∞</mn></mrow>
</munderover>
<mfrac>
<mn>1</mn>
<msup><mi>n</mi><mn>2</mn></msup>
</mfrac>
</mrow>
<mo>=</mo>
<mfrac>
<msup><mi>π</mi><mn>2</mn></msup>
<mn>6</mn>
</mfrac>
</math>
is easy to prove.
</div>
비교를 위해 같은 수식을 inline 모드로 렌더링하면 아래와 같이 보입니다. 수식은 강제 줄바꿈 없이 본문 단락에 삽입됩니다.
mrow
레이아웃 알고리즘에서 지정한 기준선이 수직 정렬에 사용됩니다. 합산, 등호, 분수의 중앙이 모두 정렬되지만, 주변 텍스트의 알파벳 기준선과는 다릅니다.
수학적 렌더링의 품질을 위해 수학 폰트 사용이 필요하므로
유저 에이전트 스타일시트
는 <math> 요소에
font-family
를 math 값으로 설정해야 하며, 상위 요소로부터 상속하지 않아야
합니다.
또한 부모 컨테이너에 설정할 수 있는 font-style, font-weight,
direction, text-indent 등 몇몇 CSS 속성은 수식에 적용되지 않아야 하므로
유저 에이전트 스타일시트
는 기본값으로 이들을 리셋하는 규칙을 가집니다.
math {
direction: ltr;
text-indent: 0;
letter-spacing: normal;
line-height: normal;
word-spacing: normal;
font-family: math;
font-size: inherit;
font-style: normal;
font-weight: normal;
display: inline math;
math-shift: normal;
math-style: compact;
math-depth: 0;
}
math[display="block" i] {
display: block math;
math-style: normal;
}
math[display="inline" i] {
display: inline math;
math-style: compact;
}
CSS 데이터 타입 외에도, 일부 MathML 속성은 아래와 같은 MathML 전용 타입에 의존합니다:
true 또는
false와 일치하는 문자열.
다음 속성들은 모든 MathML 요소에서 공통으로 사용되며 지정할 수 있습니다:
id,
class,
style,
data-*,
autofocus와
nonce,
tabindex
속성들은 HTML 요소에 대해 정의된 것과 동일한 문법과 의미를 가집니다.
dir
속성이 있을 경우,
ASCII 대소문자 구분 없이
ltr 또는 rtl이어야 합니다.
그런 경우 사용자 에이전트는 해당 속성을 요소의
direction
속성을 해당 값으로 설정하는
presentational hint
로 처리해야 합니다.
rtl과 일치하면 rtl로, ltr과 일치하면 ltr로 매핑합니다.
rtl이 자주 사용됩니다.
하지만 오른쪽에서 왼쪽으로 쓰는 언어에서는 종종 왼쪽에서 오른쪽으로 쓰는 수학이 삽입되어
유저 에이전트 스타일시트가
direction
속성을
math
요소에 맞게 조정합니다.
다음 예시에서는 dir 속성이 "𞸎 plus 𞸑 raised to the power of (٢ over, 𞸟 plus ١)"를 오른쪽에서 왼쪽으로 렌더링하는 데 사용됩니다.
<math dir="rtl">
<mrow>
<mi>𞸎</mi>
<mo>+</mo>
<msup>
<mi>𞸑</mi>
<mfrac>
<mn>٢</mn>
<mrow>
<mi>𞸟</mi>
<mo>+</mo>
<mn>١</mn>
</mrow>
</mfrac>
</msup>
</mrow>
</math>
모든 MathML 요소는 HTML에서 설명하는 이벤트 핸들러 콘텐츠 속성을 지원합니다.
HTML이 모든 HTMLElements에 대해 지원한다고 명시한 이벤트 핸들러 콘텐츠 속성은 MathMLElement IDL에서 정의된 바와 같이 모든 MathML 요소에도 지원됩니다.
mathcolor
와
mathbackground
속성은 값이
<color>이어야 합니다.
이 경우 사용자 에이전트는 속성을 요소의
color 및
background-color
속성에 해당 값으로 설정하는
presentational hint로 처리해야 합니다.
mathcolor는 수식 텍스트, bar 등의 전경 채움색을,
mathbackground는 요소 배경색을 나타냅니다.
mathsize
속성은 값이 <length-percentage>여야
합니다.
이 경우 사용자 에이전트는 속성을 요소의
font-size
속성에 해당 값으로 설정하는
presentational hint로 처리해야 합니다.
mathsize는 수식에서 글리프의 원하는 높이를 의미하며, 다른 부분(공간, 시프트, bar 두께 등)도 같이 스케일링합니다.
displaystyle
속성은 값이 boolean이어야 합니다.
이 경우 사용자 에이전트는 속성을 요소의
math-style
속성에 해당 값으로 설정하는
presentational hint로 처리해야 합니다.
보다 정확하게는,
ASCII 대소문자 구분 없이
true는 normal로,
false는 compact로 매핑됩니다.
이 속성은 예를 들어 내용 크기나 스크립트 레이아웃 변경을 통해 논리 높이를 최소화해야 하는지(false) 여부를 나타냅니다.
scriptlevel
속성은 값으로
+<U>, -<U> 또는 <U>를 가질 수 있고,
<U>는
unsigned-integer입니다.
이 경우 사용자 에이전트는 scriptlevel
속성을 요소의
math-depth
속성에 해당 값으로 설정하는
presentational hint로 처리해야 합니다.
보다 정확하게는,
+<U>, -<U>, <U>는 각각
add(<U>), add(<-U>), <U>로 매핑됩니다.
displaystyle와 scriptlevel 값은 MathML 요소 내에서 자동으로 조정됩니다.
이 속성을 완전히 구현하려면
A.
User Agent Stylesheet에서 설명하는 추가 CSS 속성이 필요합니다.
특히 모든 MathML 요소에 대해 font-size: math 값이 기본으로 지정되어 scriptlevel 변경이 반영되도록
합니다.
이 예시에서
munder
요소를 사용하여
"∑" 기반에 "A" 스크립트를 붙였습니다. 기본적으로 집합 기호는 부모에서 상속된 폰트 크기로 렌더링되고, "A"는 축소된 아랫첨자로 표현됩니다.
displaystyle가 true면 집합 기호가 더 크게 그리고 "A"는 아랫스크립트로 나타납니다.
scriptlevel이 "A"에서 0으로 리셋되면, 최상위 math 루트와
동일한 폰트 크기를 사용합니다.
<math>
<munder>
<mo>∑</mo>
<mi>A</mi>
</munder>
<munder displaystyle="true">
<mo>∑</mo>
<mi>A</mi>
</munder>
<munder>
<mo>∑</mo>
<mi scriptlevel="0">A</mi>
</munder>
</math>
\displaystyle, \textstyle,
\scriptstyle, \scriptscriptstyle는 각각
displaystyle와 scriptlevel의
true와 0,
false와 0,
false와 1,
false와 2 에 해당합니다.
intent와 arg 속성은 유효한 속성으로 예약되어 있습니다.
본 명세는 intent와 arg 속성에 대한 관찰 가능한 동작을 정의하지 않습니다.
MathML은 관련 명세서([HTML] [SVG])에 따라 HTML 및 SVG와 혼합하여 사용할 수 있습니다.
SVG의
requiredExtensions
속성을 평가할 때 사용자 에이전트는
MathML 네임스페이스로 식별되는 언어 확장 지원을 선언해야 합니다.
이 예시에서는 HTML 문서 내에서 인라인 MathML과 SVG 요소를 함께 사용합니다. SVG 요소 <switch>와
<foreignObject>(적절한 <requiredExtensions> 포함)는 다이어그램 내부에
텍스트 폴백이 있는 MathML 수식을 삽입하는 데 사용됩니다.
HTML input 요소는
mtext
내에 포함되어 수식 안에 상호작용 필드를 제공합니다. 3.7
의미와 표현에서
annotation-xml
요소 내부에 SVG와 HTML이 있는 예시도 참고하세요.
...생략...
사용자 에이전트는 본 명세서에 언급된 다양한 CSS 기능과 4. 수학 레이아웃을 위한 CSS 확장에서 기술된 새로운 기능을 지원하여야 합니다. 또한 display: contents의 계산 규칙을 따라야 합니다.
MathML Core 요소가 포함된 모든 문서는
A.
유저 에이전트 스타일시트에서 설명하는 CSS 규칙을 유저 에이전트 수준 기본 스타일시트의 일부로 포함해야 합니다.
특히 모든 MathML 요소에 !important 규칙으로 writing mode를 horizontal-lr로
강제합니다.
float 속성은 부모의 계산된
display 값이 block math 또는 inline math일 때
해당 요소를 띄우지 않으며, out-of-flow로 처리하지 않습니다.
::first-line 및
::first-letter 의사 요소는 계산된
display 값이 block math 또는 inline math인 요소에 적용되지 않으며,
그러한 요소는 상위에 첫 번째 줄/글자를 제공하지 않습니다.
다음 CSS 기능들은 지원되지 않으므로 무시해야 합니다:
white-space는 모든 MathML 요소에서 nowrap으로 처리됩니다.
align-content, justify-content,
align-self, justify-self는 MathML 요소에 영향이 없습니다.
웹 애플리케이션 API를 지원하는 사용자 에이전트는 MathML의 시각적 렌더링을 [DOM] 트리와 동기화해야 하며, 특히 MathML 속성이 동적으로 변경될 때 적절한 업데이트를 수행해야 합니다.
DOM에서 MathML 요소를 나타내는 모든 노드는
아래의 MathMLElement 인터페이스를 구현하고 스크립트에 노출해야 합니다.
WebIDL[Exposed=Window]
interface MathMLElement : Element { };
MathMLElement includes GlobalEventHandlers;
MathMLElement includes HTMLOrForeignElement;
GlobalEventHandlers와
HTMLOrForeignElement
인터페이스는 [HTML]에서 정의되어 있습니다.
아래 예시에서 MathML 수식은 "α over 2"를 렌더링하며, 빨간 α를 클릭하면 파란 β로 바뀝니다.
...생략...
수학 폰트는 큰 적분 등 매우 키가 높은 글리프를 포함하는 경우가 많으므로, 과도한 줄 간격을 피하기 위해 전각 타이포메트릭을 사용하는 것이 중요합니다. 이에 따라 사용자 에이전트는 OS/2 테이블의 USE_TYPO_METRICS 플래그 [OPEN-FONT-FORMAT]을 텍스트 레이아웃 시 반영해야 합니다.
MathML은 작가가 상호작용 가능한 사용자 에이전트를 지원할 수 있도록,
HTML에서 설명한 것과 동일한 컨셉과 접근 방식을 수정·설명 적용하여
포커스(Focus)를 제공합니다.
요소가 포커스될 때, 해당 사양에 정의된 모든 관련 CSS 포커스 의사 클래스가 적용됩니다. (Selectors Level 3)
토큰 요소 내부의 HTML 요소를 포함하여, 삽입된
math
요소의 콘텐츠는 소유 HTML 문서의 포커스 순서(통합 포커스 순서)에 기여합니다.
기본
display
속성은 A.
User Agent Stylesheet에 설명되어 있습니다:
<math> 루트의 경우,
display 속성의 값에 따라 inline math 또는 block math에 해당합니다.
mtable,
mtr,
mtd
에 대해서는 각각 inline-table, table-row 및 table-cell에 해당합니다.
maction
및
semantics
요소의 첫 번째 자식을 제외한 모든 자식에 대해 그 값은 none입니다.
block math에 해당합니다.
서로 다른 writing modes에서 수식 레이아웃을 지정하기 위해, 이 명세서는 [CSS-WRITING-MODES-4]의 개념을 사용합니다:
horizontal-lr 및 ltr를
사용합니다.
다른 쓰기 모드의 예시는 그림
4,
그림
5 및
그림
6을 참조하세요. 이들은 수식 레이아웃에 때때로 사용되는 다른 쓰기 모드의 예입니다.
MathML 요소에 사용되는 박스는 CSS와 호환되는 방식으로 레이아웃을 수행하면서 수식 내의 매우 정확한 위치와 간격을 고려하기 위해 여러 매개변수에 의존합니다:
블록 메트릭. block size, first baseline set 및 last baseline set. MathML 박스에 대해 다음의 baselines들이 정의됩니다:
주어진 MathML 박스에 대해 다음 오프셋들이 정의됩니다:
horizontal-tb 및
rtl 쓰기 모드에 대한 박스 모델 (예: 아랍 수식에 사용될 수 있음)
vertical-lr 및 ltr 쓰기 모드에 대한 박스 모델 (예: 몽골 수식에
사용될 수 있음)
vertical-rl 및 ltr 쓰기 모드에 대한 박스 모델 (예: 일본어 수식에
사용될 수 있음)
다음은 선-상대 메트릭에서 얻은 오프셋의 예입니다:
ltr일 때
line-left offset과 같고,
그렇지 않은 경우에는 상자 인라인 크기 − (line-left offset + 자식 박스의
inline size)입니다.
horizontal-lr,
vertical-rl 또는 sideways-rl일 때는 line-ascent이고,
그 외에는 line-descent이다.
각 MathML 요소에는 연관된 math content box가 있으며, 이 장의 레이아웃 알고리즘에 설명된 구조를 사용하여 계산됩니다:
다음의 추가 단계들이 수행되어야 합니다:
padding box의 박스 메트릭과 오프셋은 CSS에서 설명된 관련 padding 속성들을 고려하여 content box에서 얻어집니다.
padding box의 baselines는 content box의 것과 동일합니다.
만약 content box가 top accent attachment를 가지고 있다면, padding box도 동일한 속성을 가지되 inline-start 패딩만큼 증가합니다. 만약 content box가 italic correction을 가지고 있다면, padding box는 동일한 속성을 가지되 inline-end 패딩만큼 증가합니다.
border box의 박스 메트릭과 오프셋은 CSS에서 설명된 관련 border-width 속성을 고려하여 padding box에서 얻어집니다.
일반적으로 border box의 baselines는 padding box의 것과 동일합니다. 그러나, 만약 line-over 테두리가 양수이면 ink-over baseline은 border box의 line-over 가장자리로 설정되고, 만약 line-under 테두리가 양수이면 ink-under baseline은 border box의 line-under 가장자리로 설정됩니다.
만약 padding box가 top accent attachment를 가지면, border box는 동일한 속성을 가지되 inline-start 가장자리의 border-width만큼 증가합니다. 만약 padding box가 italic correction을 가지고 있다면, border box는 동일한 속성을 가지되 inline-end 가장자리의 border-width만큼 증가합니다.
margin box의 박스 메트릭과 오프셋은 CSS에서 설명된 관련 margin 속성들을 고려하여 border box에서 얻어집니다.
margin box의 baselines는 border box의 것과 동일합니다.
만약 padding box가 top accent attachment를 가지고 있다면, margin box는 동일한 속성을 가지되 inline-start margin만큼 증가합니다. 만약 padding box가 italic correction을 가지고 있다면, margin box는 동일한 속성을 가지되 inline-end margin만큼 증가합니다.
박스 레이아웃 중에 선택적으로 inline stretch size constraint 및 block stretch size constraint 매개변수가 embellished operators에 사용될 수 있습니다. 전자는 core operator가 inline axis를 따라 늘어날 때 목표로 삼아야 할 크기를 나타냅니다. 후자는 ink line-ascent와 ink line-descent을 나타내며, 이는 core operator가 block axis를 따라 늘어날 때 커버해야 할 범위를 의미합니다. 별도 명시가 없는 한, 이러한 매개변수는 박스 레이아웃 중 무시되며 자식 박스들은 어떠한 stretch size constraint 없이 배치됩니다.
anonymous
box는 DOM 트리에서 어떤 연관된 요소도 갖지 않으며 레이아웃 목적을 위해서만 생성되는 박스입니다. 익명 박스의 속성은 둘러싼 비익명 박스에서 상속되며,
비상속 속성들은 초기값을 갖습니다.
anonymous
<mrow> box는 display가 block math인
anonymous box이며, 섹션 3.3.1.2
<mrow>의 레이아웃에 설명된 대로 레이아웃됩니다.
만약 어떤 MathML 요소가 anonymous <mrow> 박스를 생성한다면 그 요소는 자식들을 anonymous <mrow> 박스로 감쌉니다. 즉, 그 요소의 시각적 포맷팅 모델에서의 서브트리는 anonymous <mrow> box로 구성되며, 그 박스는 해당 MathML 요소의 자식들과 연관된 박스들을 포함합니다.
다음 예에서,
math
및
mrow
요소들은 섹션 3.3.1.2 <mrow>의
레이아웃에 설명된 대로 레이아웃됩니다. 특히,
<math> 요소는 그 <mo>≠</mo> 자식 주위에 적절한 간격을 추가하고,
<mrow> 요소는 그 <mo>|</mo> 자식들을 수직으로 늘립니다.
또한,
mtd
요소는 display: table-cell을 가지며,
msqrt
요소는 그 자식들 주위에 근호 기호를 표시합니다. 그러나 이들 또한 섹션 3.3.1.2 <mrow>의 레이아웃에 설명된 것과 유사한 방식으로 자식들을 배치합니다:
<msqrt> 요소는 <mo>+</mo> 자식 주위에 적절한 간격을 추가하고,
<mtd> 요소는 그 <mo> 자식들을 수직으로 늘립니다.
이것을 가능하게 하기 위해, 이 두 요소 각각은 anonymous
<mrow> 박스를 생성합니다.
<math>
<mrow>
<mo>|</mo>
<mtable>
<mtr>
<mtd>
<mi>x</mi>
</mtd>
<mtd>
<mo>(</mo>
<mfrac linethickness="0">
<mn>5</mn>
<mn>3</mn>
</mfrac>
<mo>)</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msqrt>
<mn>7</mn>
<mo>+</mo>
<mn>2</mn>
</msqrt>
</mtd>
<mtd>
<mi>y</mi>
</mtd>
</mtr>
</mtable>
<mo>|</mo>
</mrow>
<mo>≠</mo>
<mn>0</mn>
</math>
MathML 요소들은 다양한 간격 규칙 때문에 겹칠 수 있습니다. 또한 추가적인 그래픽 항목들(바, 근호 기호 등)을 포함할 수 있습니다.
계산된 스타일이 display: block math 또는 display: inline math인 MathML 요소는 새로운 스태킹
컨텍스트를 생성합니다.
그러한 MathML 요소의 페인팅 순서는 블록 요소들과
정확히 동일합니다. 추가 그래픽 항목들은 텍스트와 배경 뒤에 페인트되며 (display: inline math의 경우 단계 7.2.4 바로 다음,
display: block math의 경우 단계 7.2 바로 다음에) 그려집니다.
표현 마크업에서 토큰 요소는 의미를 가지는 수학 표기법의 가장 작은 단위를 나타내도록 설계되었습니다. 토큰은 텍스트에서 단어와 비슷한 역할을 합니다. 그러나 수학 표기법은 정확하고 기호적인 특성이 있기 때문에, 다양한 토큰 요소의 종류와 속성이 MathML 마크업에서 두드러진 역할을 합니다. 이에 비해, 텍스트 데이터에서는 개별 단어에 특별한 마크업이나 스타일링이 필요한 경우가 드뭅니다.
mtext
요소는 있는 그대로 렌더링되어야 하는 임의 텍스트를 나타내는 데 사용됩니다. 일반적으로 <mtext> 요소는 설명 또는 주석 텍스트를 나타내는 데
사용됩니다.
<mtext> 요소는 2.1.3
글로벌 속성에 설명된 속성들을 받을 수 있습니다.
다음 예에서는
mtext
가 정의에서 조건부 단어를 넣는 데 사용되었습니다:
<math>
<mi>y</mi>
<mo>=</mo>
<mrow>
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
<mtext> if </mtext>
<mrow>
<mi>x</mi>
<mo>≥</mo>
<mn>1</mn>
</mrow>
<mtext> and </mtext>
<mn>2</mn>
<mtext> otherwise.</mtext>
</mrow>
</math>
만약 해당 요소의 계산된
display
속성이 block math나 inline math와 같지 않으면, CSS 명세에서 설명된 해당 값에 따라 레이아웃됩니다.
그렇지 않으면 아래의 레이아웃이 적용됩니다.
<mtext> 요소가 강제 줄바꿈 이나 부드러운 줄바꿈 기회 없이 텍스트 콘텐츠만 포함한다면, 해당 텍스트에 대해
생성된 익명 자식 노드는 관련 CSS 명세에 정의된 대로 레이아웃되며, 다음과 같습니다:
<mtext> 요소의 top accent attachment로 사용됩니다.
그렇지 않은 경우, mtext 요소는 block box로서 레이아웃되며,
관련된 min-content inline size, max-content inline size, inline size, block
size, first baseline set 및 last baseline set이 math content box에 사용됩니다.
mi 요소는 식별자로 렌더링되어야 하는 기호 이름 또는 임의의 텍스트를 나타냅니다. 식별자에는 변수, 함수 이름, 기호 상수 등이 포함될 수 있습니다.
<mi> 요소는 2.1.3
글로벌 속성에 서술된 속성들과 다음 속성을 받을 수 있습니다:
레이아웃 알고리즘은
mtext
요소와 동일합니다.
user agent 스타일시트는 4.2 The math-auto transform에서 도입된
text-transform 값을 통한 자동 이탤릭 구현을 위해 다음 속성을 포함해야 합니다:
mi {
text-transform: math-auto;
}
mathvariant
속성이 존재하는 경우, ASCII 대소문자 구분 없이 normal과 일치해야 합니다.
이 경우, user agent는 이 속성을 프레젠테이션 힌트로
처리하여 요소의 text-transform
속성을 none으로 설정해야 합니다. 그렇지 않으면 아무런 효과가 없습니다.
[MathML3]
에서 mathvariant 속성은 토큰 요소의 논리적 클래스를 정의하는 데 사용되었으며, 각 클래스는 주어진 수학 표현식 내에서 특정 의미를
가지는 타이포그래피적으로 관련된 기호 토큰 집합을 제공합니다.
MathML Core에서는 이 속성이
mi
요소의 자동 이탤릭을 해제하는 데만 사용됩니다. 다른 용도의 경우, 적절한 수학 영문자 기호 [UNICODE]를 대신 사용해야 합니다. 또한 C.
Mathematical Alphanumeric Symbols도 참조하세요.
다음 예에서는
mi
를 변수 및 함수 이름으로 렌더링하는 데 사용했습니다. 4.2 The
math-auto transform에 따라 기본 스타일 text-transform: math-auto는 첫 번째
<mi>에는 효과가 없고("cos"는 세 개의 문자로 이루어짐), 두 번째 <mi>는 수학 이탤릭으로
렌더링됩니다("c"는 U+0063 라틴 소문자 C 단일 문자로, italic 표에 따라 U+1D450
Mathematical Italic Small C로 매핑됨), 세 번째
<mi>(mathvariant="normal"로 오버라이드되어 text-transform이
none이 됨)와 네 번째 <mi>(italic 표에 U+221E 무한대에 대한
매핑이 정의되어 있지 않음)에는 효과가 없습니다.
<math>
<mi>cos</mi>
<mo>,</mo>
<mi>c</mi>
<mo>,</mo>
<mi mathvariant="normal">c</mi>
<mo>,</mo>
<mi>∞</mi>
</math>
mn 요소는 "숫자 리터럴"이나 숫자 리터럴로 렌더링되어야 하는 다른 데이터를 나타냅니다. 일반적으로 숫자 리터럴은 정수 또는 실수를 나타내는, 소수점이 포함될 수도 있는 숫자들의 나열입니다.
<mn> 요소는 2.1.3
글로벌 속성에 서술된 속성을 받을 수 있습니다. 그 레이아웃 알고리즘은
mtext
요소와 동일합니다.
mo
요소는 연산자 또는 연산자로 렌더링되어야 하는 모든 것을 나타냅니다.
일반적으로 수학 연산자 표기 규칙은 매우 복잡하므로, MathML은 <mo> 요소의 렌더링 동작을 지정하기 위한 비교적 정교한 메커니즘을
제공합니다.
이로 인해 MathML에서는 "연산자로 렌더링되어야 하는" 것의 목록에 일반적인 의미의 수학 연산자가 아닌 여러 표기를 포함하게 되었습니다. 일반적인 중위, 전위, 후위 연산자 외에도, 중괄호, 괄호 및 "절댓값" 막대와 같은 펜스 문자, 쉼표 및 세미콜론과 같은 구분자, 기호 위의 바나 물결표와 같은 수학 악센트가 해당됩니다. 이 장에서는 이런 넓은 의미의 연산자를 모두 "연산자"로 지칭합니다.
<mo> 요소는 2.1.3
글로벌 속성에 설명된 속성과 다음 속성들을 받아들입니다:
본 명세서는 fence 및 separator 속성에 대해 특정하게 관찰 가능한 동작을 정의하지 않습니다.
fence
와
separator
를 연산자의 특정 의미를 설명하기 위해 사용할 수 있습니다.
기본값은
Operators_fence 및 Operators_separator
테이블 또는
연산자 사전의 사람이 읽을 수 있는 버전에서 찾을 수 있습니다.
다음 예제에서
mo
요소가 이항 연산자 +에 사용됩니다. 기본 간격은 해당 연산자 주위에 대칭적으로 적용됩니다. form 속성으로 접두 연산자로 강제하면 더
타이트한 간격이 적용됩니다.
lspace
및
rspace
속성으로 간격을 명시적으로 지정할 수도 있습니다.
<math>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
<mo form="prefix">+</mo>
<mn>3</mn>
<mo lspace="2em">+</mo>
<mn>4</mn>
<mo rspace="3em">+</mo>
<mn>5</mn>
</math>
또 다른 사용 예는 합과 같은 큰 연산자입니다.
displaystyle가 true이면 해당 연산자가 더 크게 그려지며,
largeop
속성으로 변경할 수 있습니다.
displaystyle가 false이면 underscript는 실제로 subscript로 렌더링되며,
역시
movablelimits
속성으로 변경할 수 있습니다.
<math>
<mrow displaystyle="true">
<munder>
<mo>∑</mo>
<mn>5</mn>
</munder>
<munder>
<mo largeop="false">∑</mo>
<mn>6</mn>
</munder>
</mrow>
<mrow>
<munder>
<mo>∑</mo>
<mn>5</mn>
</munder>
<munder>
<mo movablelimits="false">∑</mo>
<mn>7</mn>
</munder>
</mrow>
</math>
연산자는 펜스, 악센트, 화살표 등과 같은 늘어나는(stretchy) 기호에도 사용됩니다. 다음 예제에서, 세로 화살표는
mspace
요소의 높이에 맞게 늘어납니다.
기본 stretch 동작은
stretchy
속성으로 오버라이드할 수 있습니다 (예: stretch되지 않은 화살표로 강제).
symmetric
속성은 연산자가 수학 축(분수 막대) 위아래로 대칭적으로 stretch되어야 하는지 설정합니다.
마지막으로
minsize
및
maxsize
속성으로 stretch 크기에 추가 제약을 둘 수 있습니다.
<math>
<mfrac>
<mspace height="50px" depth="50px" width="10px" style="background: blue"/>
<mspace height="25px" depth="25px" width="10px" style="background: green"/>
</mfrac>
<mo>↑</mo>
<mo stretchy="false">↑</mo>
<mo symmetric="true">↑</mo>
<mo minsize="250px">↑</mo>
<mo maxsize="50px">↑</mo>
</math>
연산자의 기본 속성은 3.2.4.2 사전 기반 속성에서 설명된 것처럼 사전 기반입니다. 예를 들어, 이항 연산자는 기본적으로 양측 대칭 간격을 가지며, 펜스는 일반적으로 기본적으로 늘어납니다.
MathML Core 요소가 장식 연산자(embellished operator)가 되려면 다음 중 하나여야 합니다:
mo
요소
mfrac
요소
mpadded
요소
장식 연산자의 코어 연산자(core
operator)는 재귀적으로 아래와 같이 정의되는 <mo> 요소입니다:
mo
요소의 코어 연산자는 그 요소 자체입니다.
mfrac
요소의 코어 연산자는 그 첫 번째 in-flow 자식의 코어 연산자입니다.
mpadded
요소의 코어 연산자는 그 고유 장식 연산자 in-flow
자식의 코어 연산자입니다.
장식 연산자의 스토레치 축(stretch axis)은, 그 코어 연산자가 한 글자의 텍스트만을 포함하고 그 글자가 인라인 고유 스토레치 축을 가진 경우 inline이 됩니다. 그렇지 않으면 block이 됩니다.
동일한 정의가 시각적 포맷 모델에서, 익명 <mrow> 박스가 그룹화 요소로 처리되는 경우에도 적용됩니다.
장식 연산자의 form 속성은
infix, prefix, postfix 중 하나입니다.
해당
mo
요소의 form 속성이 존재하는 경우, 반드시 이 중 하나와
ASCII 대소문자 구분 없이 일치해야 합니다.
장식 연산자의 form을 결정하는 알고리즘(algorithm for
determining the form of an
embellished operator)은 다음과 같습니다:
form 속성이 있고 유효한 경우 ASCII 소문자화된 값을 사용합니다.
mpadded,
msqrt의
첫 번째 in-flow 자식(단, space-like는 제외)이면 prefix 형입니다.
mpadded,
msqrt의
마지막 in-flow 자식(단, space-like는 제외)이면 postfix 형입니다.
postfix 형입니다.
infix 형입니다.
장식 연산자의
stretchy,
symmetric,
largeop,
movablelimits
속성은 false 또는 true입니다. true이면, 해당 장식 연산자가 그 속성을 갖는다고 합니다.
해당
mo
요소의 stretchy, symmetric, largeop, movablelimits 속성이 존재할 경우, 반드시 boolean이어야 합니다.
장식 연산자의
lspace,
rspace,
minsize
속성은
<length-percentage>입니다.
장식 연산자의 maxsize 속성은 <length-percentage>
또는 ∞입니다.
mo
요소의 lspace, rspace, minsize, maxsize 속성은 존재할 경우 반드시 <length-percentage>여야
합니다.
장식 연산자의 속성을 결정하는 알고리즘(algorithm for determining the properties of an embellished operator)은 다음과 같습니다:
stretchy, symmetric, largeop,
movablelimits, lspace, rspace,
maxsize, minsize 속성이
코어 연산자에 존재하고 유효한 경우, 해당 속성의 ASCII 소문자화 값 사용
form을 결정하는 알고리즘 수행
Content만 포함하면, 연산자 카테고리 결정
알고리즘(Content, Form) 결과를 Category에 설정. (Form은
직전 단계에서 계산된 값)
Category가 Default이고,
form 속성이 명시적으로 지정되지 않았다면:
Form이 infix일 때 연산자 카테고리
결정 알고리즘 재실행해 Category 설정
Default라면 postfix로 재실행
Default라면 prefix로 재실행
레이아웃 중 사용할 때 stretchy,
symmetric,
largeop,
movablelimits,
lspace,
rspace,
minsize 값은,
장식 연산자 속성
결정 알고리즘에서 다음 보정 규칙을 거쳐 획득합니다:
lspace, rspace의 백분율 값은 사전에서 얻은 값(또는 fallback 값)을 기준으로 해석함
minsize 및 maxsize의 백분율 해석은 3.2.4.3 Layout of operators에서 기술함
lspace, rspace, minsize, maxsize의 폰트 상대
길이는 장식 연산자가 아니라 코어 연산자의 폰트 스타일에 따름
<mo> 요소의 계산된
display
속성이
block math 또는 inline math와 같지 않으면,
해당 값이 설명된 CSS 명세에 따라 레이아웃됩니다.
그렇지 않으면 아래의 레이아웃이 적용됩니다.
연산자의 텍스트는
<mo> 요소의
visibility
값이 visible일 때만 그려져야 합니다.
이 경우, <mo> 요소의
color로 그려져야 합니다.
연산자는 다음과 같이 레이아웃됩니다:
<mo> 요소의 내용이
단일 문자 c가 아니면,
3.2.1.1
<mtext>의 레이아웃 알고리즘을 따릅니다.
stretchy 속성을 가진 경우:
c에 해당하는 펼쳐지는
글리프를 첫 사용 가능한 폰트로 만들 수 없다면,
3.2.1.1
<mtext>의 레이아웃 알고리즘을 따릅니다.
Tinline가 없으면,
3.2.1.1
<mtext>의 레이아웃 알고리즘을 따릅니다.
Tinline로 적용해서 얻습니다.
Tinline로 펼쳐서, 이전 박스 메트릭으로 정해진 위치에 그립니다.
c에 해당하는 펼쳐지는
글리프를 첫 사용 가능한 폰트로 만들 수 없다면,
3.2.1.1
<mtext>의 레이아웃 알고리즘을 따릅니다.
(Uascent, Udescent)가 없으면,
3.2.1.1
<mtext>의 레이아웃 알고리즘을 따릅니다.
symmetric 속성을 갖는 경우,
목표 크기 Tascent와 Tdescent를 각각
Sascent와 Sdescent로 설정:
Sascent =
max(
Uascent − AxisHeight,
Udescent + AxisHeight
) + AxisHeight
Sdescent =
max(
Uascent − AxisHeight,
Udescent + AxisHeight
) − AxisHeight
Uascent와
Udescent로 설정.
Tascent − AxisHeight =
Tdescent + AxisHeight 속성은
연산자를 기준선 위 Tascent, 아래
Tdescent만큼 정확히 늘렸을 때 실제로 수학축 위아래로 대칭적으로 늘어남을
의미함.
Sascent, Sdescent는
각각 Uascent, Udescent
이상이면서 이 속성을 만족하는 최소값.
minsize와 maxsize는 연산자의 minsize
와 maxsize
속성. 퍼센트 값은 c의 글리프 높이를 기준으로 해석됩니다.
T = Tascent +
Tdescent가 목표 크기입니다.
minsize < 0이면 minsize = 0으로,
maxsize < minsize이면 maxsize =
minsize로.
0 ≤ minsize ≤ maxsize 조건에서:
T ≤ 0이면 Tascent =
minsize / 2 + AxisHeight로,
Tdescent = minsize −
Tascent로 설정.
T < minsize면
Tascent = max(0,
(Tascent − AxisHeight) ×
minsize / T + AxisHeight),
Tdescent = minsize −
Tascent
maxsize < T면
Tascent = max(0,
(Tascent − AxisHeight) ×
maxsize / T + AxisHeight),
Tdescent = maxsize −
Tascent
maxsize 값 ∞는 어떤 크기보다도 크다고 간주됨.
즉 minsize ≤ maxsize는 항상 성립하며,
maxsize < minsize 및
maxsize < T는 항상 거짓.
minsize ≤ T ≤ maxsize
조건을 항상 보장.
추가적으로 목표 값이 수학축 기준 대칭 stretch인 경우 Tascent −
AxisHeight =
Tdescent + AxisHeight 속성이 유지됨.
Tascent + Tdescent로 적용해서 얻는
값입니다.
수식 내용의 inline size는 펼쳐지는 글리프의 너비입니다.
글리프는 line-under 방향으로 Δ만큼 이동하여 대상의 중심과 정렬됩니다: 수식 내용의 ink ascent는 펼쳐지는
글리프의 ascent − Δ,
ink descent는 descent + Δ입니다.
각 중심의 좌표는 "½(ascent − descent)"이고 Δ = [(글리프 ascent − descent) −
(Tascent − Tdescent)] / 2
입니다.
Tascent +
Tdescent로 펼쳐서, 이전 박스 메트릭에서 계산된 Δ만큼 line-over
방향으로 이동된 위치에 그립니다.
largeop 속성을 가지고,
<mo> 요소의 math-style이
normal이면:
MathVariants
테이블을 사용하여
DisplayOperatorMinHeight 이상의
높이를 가진 글리프를 찾습니다.
찾지 못하면 base가 아닌 가장 큰 글리프로, 이것도 없으면 3.2.1.1 <mtext>의 레이아웃
알고리즘을 따릅니다.
펼쳐지는 글리프 조형 알고리즘이 위 단계 중 하나에 사용된 경우, 수식 내용의 italic correction은 해당 알고리즘이 반환한 값으로 설정됩니다.
mspace 빈 요소는 설정된 속성에 따라 원하는 크기의 공백을 나타냅니다.
<mspace> 요소는 2.1.3 글로벌 속성과 다음 속성을 받을 수 있습니다:
width, height, depth 속성이 존재한다면, 값은 유효한 <length-percentage>이어야 합니다.
width
속성이 존재하고, 유효하며, 퍼센트가 아닐 때
이 속성은 프레젠테이션 힌트로 사용되어
요소의 width 속성에 해당 값이 설정됩니다.
height
속성이 없거나, 유효하지 않거나, 퍼센트이면 요청된 line-ascent는 0입니다.
그렇지 않으면 요청된 line-ascent는 height 속성의 해석된 값(음수는 0으로 clamp)입니다.
height와 depth 속성이 모두 존재하면서 유효하고 퍼센트가 아닌 경우
"calc(", height 속성 값, " + ", depth 속성 값,
")"를 이어 붙인 문자열이 요소의 height 속성에 프레젠테이션 힌트로
설정됩니다.
이 중 하나만 존재하고 유효하며 퍼센트가 아니면 해당 값만 프레젠테이션 힌트로 height에 설정됩니다.
다음 예제에서,
mspace
는 수식 내에 강제로 공백을 넣는 데 사용되었습니다(공백 확인을 위해 1px 블루 테두리를 추가함):
<math>
<mn>1</mn>
<mspace width="1em"
style="border-top: 1px solid blue"/>
<mfrac>
<mrow>
<mn>2</mn>
<mspace depth="1em"
style="border-left: 1px solid blue"/>
</mrow>
<mrow>
<mn>3</mn>
<mspace height="2em"
style="border-left: 1px solid blue"/>
</mrow>
</mfrac>
</math>
<mspace> 요소의
계산된
display
속성이
block math 또는 inline math와 같지 않다면
CSS 명세에 따라 배치됩니다.
그렇지 않으면 <mspace> 요소는
그림 9와 같이 레이아웃됩니다.
수식 내용의 min-content inline size,
max-content inline size, inline size는
width의 해석된 값과 같습니다.
block size는 height의 해석된 값과 같습니다.
수식 내용의 line-ascent는 위에서 결정한 요청된 line-ascent와 같습니다.
<mspace> 요소에 대한 박스 모델
여러 MathML 프레젠테이션 요소는 "space-like" 즉, 일반적으로 공백으로 렌더링되며 나타나는 수식의 수학적 의미에 영향을 주지 않습니다. 따라서 이러한 요소들은 다른 MathML 수식 내에서 다소 예외적으로 동작하는 경우가 많습니다.
MathML Core 요소가 space-like 요소가 되려면 다음 중 하나에 해당해야 합니다:
동일한 정의가 시각적 포맷팅 모델에서 익명 <mrow> 박스가 그룹화 요소로 처리될 때 적용됩니다.
mphantom
은 그 내용이 space-like일 때만 자동으로 space-like로 정의되지 않습니다. 이는 연산자 간격이 인접 요소가 space-like인지에 따라 달라지기
때문입니다.
<mphantom> 요소는 주로 수식 정렬을 돕기 위한 것이므로, <mphantom>에 인접한
연산자는 해당 mphantom의 내용이 있는 것처럼 동작해야 하며, 단순히 동일한 크기의 공백이 인접한 것처럼 동작하면 안 됩니다.
ms 요소는 컴퓨터 대수 시스템 또는 "프로그래밍 언어"를 포함하는 시스템에서 해석될 수식을 표현할 때 "문자열 리터럴"을 나타내는 데 사용됩니다.
<ms> 요소는 2.1.3
글로벌 속성에서 설명된 속성을 받을 수 있습니다. 레이아웃 알고리즘은
mtext
요소와 동일합니다.
lquote와 rquote 속성을 각각 시작/끝 따옴표를 지정하는 데 사용할 수 있었습니다. 이제 이
속성들은 지원되지 않으며, 따옴표를 반드시 <ms> 요소의 텍스트 일부로 명시해야 합니다. 레거시 문서에서 시각적 렌더링을 보존하려면
CSS 규칙을 추가할 수 있습니다. 예를 들어 LTR 방향에서는:
ms:before, ms:after {
content: "\0022";
}
ms[lquote]:before {
content: attr(lquote);
}
ms[rquote]:after {
content: attr(rquote);
}
토큰 이외에도 몇 가지 MathML 표현 요소의 가족이 있다. 한 가족의 요소들은 첨자와 윗첨자 등 다양한 "스크립트" 표기와 관련이 있다. 또 다른 가족은 행렬과 테이블에 관련되어 있다. 이 섹션에서 다루는 나머지 요소들은 분수와 근호 같은 기본 표기법 또는 스타일 속성 설정과 오류 처리와 같은 일반 함수와 관련이 있다.
mrow
요소는 여러 하위 표현식을 함께 그룹화하는 데 사용되며, 일반적으로 하나 이상의 <mo> 요소가 "연산자"로 작동하여 한 개 이상의 다른
표현식(피연산자)에 적용된다.
다음 예제에서
mrow
는
합 "1 + 2/3"을 분수의 분자로(첫 번째 자식
mfrac)
그룹화하고,
괄호 친 표현식을 만들며(첫 번째 자식
msup)
5제곱으로 올린다.
mrow
만으로는 그룹화된 내용에 시각적 괄호가 추가되지 않으므로,
mo
요소를 명시적으로 사용해야 한다.
mrow
요소 안에서는 자식들의 수직 정렬( 알파벳 기준선 혹은 수학 기준선
기준)이 제대로 수행되며,
괄호 등이 수직 방향으로 늘어나고, 이항 연산자인 + 주위 간격도 자동으로 계산된다.
<math>
<msup>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<mfrac>
<mn>2</mn>
<mn>3</mn>
</mfrac>
</mrow>
<mn>4</mn>
</mfrac>
<mo>)</mo>
</mrow>
<mn>5</mn>
</msup>
</math>
<mrow> 요소는 2.1.3
글로벌
속성에 설명된 속성을 허용한다. <mrow>
요소에 in-flow 자식이
child1, child2, …, childN
있다면, 그림 10과 같이 레이아웃된다. 자식 박스들은 한 줄로 나란히 배치되고 모든
알파벳 기준선
이 정렬된다.
<mrow> 요소의 박스 모델
블록 축을 따라 연산자 늘이기 알고리즘 은 다음 단계로 구성된다:
LToStretch: 수식된 연산자이자 stretchy 속성과 블록 stretch axis를 가진 요소들.
LNotToStretch: 나머지.
LNotToStretch의 모든 항목은 늘이기 크기 제약 없이 레이아웃.
LToStretch가 비었다면 종료.
LNotToStretch가 비었다면,
(0, 0) 블록 크기 제약을 모든 LToStretch에 레이아웃.
Uascent, Udescent를 각각
이전 단계에서 레이아웃한 in-flow 자식의 margin boxes의 최대 ink ascent, descent로 계산.
LToStretch의 모든 요소를
(Uascent, Udescent) 블록 크기 제약으로 레이아웃 또는 재배치.
박스가 익명 <mrow> 박스가 아니고 연결된 요소의 계산된
display
속성이
block math 또는 inline math가 아니면 CSS 명세에 따라 레이아웃된다.
그렇지 않으면 아래와 같이 레이아웃된다.
자식 박스가 기울어진(slanted) 경우는, 수식된 연산자가 아니고 이탤릭 보정이 0이 아닐 때다.
min-content 인라인 크기 (또는 max-content 인라인 크기)는 다음 알고리즘으로 계산된다:
math
요소이거나
수식된 연산자가 아니라면 add-space를 true로
설정. 아니면 false.
inline-offset을 0으로 설정.previous-italic-correction을 0으로 설정.inline-offset에 previous-italic-correction을 더한다.
add-space가
true면
inline-offset에 lspace를 더한다.
inline-offset에 자식 margin box의 min-content 인라인 크기
(또는 max-content 인라인 크기)를 더한다.
previous-italic-correction을 그 자식의 이탤릭 보정 값으로, 아니면 0으로 설정.
add-space가
true면
inline-offset에 rspace 값을 더한다.
inline-offset에
previous-italic-correction을 더한다.
inline-offset을 반환한다.
in-flow 자식들은 블록 축 연산자 늘이기 알고리즘 으로 레이아웃된다.
수학 콘텐츠의 inline size는 min-content inline size나 max-content inline size와 동일하게, 각 in-flow 자식 margin box의 inline size를 이용해 계산된다.
수학 콘텐츠의 잉크 라인 상승선(또는 라인 상승선)은 모든 in-flow 자식 margin box의 잉크 라인 상승선(또는 라인 상승선)의 최대값이다. 마찬가지로 잉크 라인 하강선(또는 라인 하강선)도 모든 in-flow 자식 margin box의 잉크 라인 하강선 (또는 잉크 라인 상승선) 의 최대값이다.
in-flow 자식들은 다음 알고리즘으로 배치된다:
math
요소이거나
수식된 연산자가 아니라면 add-space를 true로
설정. 아니면 false.
inline-offset을 0으로 설정.previous-italic-correction을 0으로 설정.inline-offset에 previous-italic-correction을 더한다.
add-space가
true면
inline-offset에 lspace를 더한다.
inline-offset로,
block
offset은 자식의 알파벳 기준선이 줄의 알파벳 기준선과 맞춰지도록 설정.
inline-offset에 자식 margin box의 inline size를 더한다.
previous-italic-correction을 그 자식의 이탤릭 보정 값으로, 아니면 0으로 설정.
add-space가
true면
inline-offset에 rspace 값을 더한다.
이탤릭 보정값은 마지막 in-flow 자식의 값을(즉
previous-italic-correction의 마지막 값) 갖는다.
mfrac 요소는 분수에 사용된다. 이 요소는 이항계수나 르장드르 기호와 같은 분수와 유사한 객체의 마크업에도 사용할 수 있다.
<mfrac> 요소의 계산된
display
속성이 block math
또는 inline math
가 아니면, CSS 명세에서 해당 값에 따라 레이아웃된다.
그렇지 않으면, 아래 레이아웃이 적용된다.
<mfrac> 요소는 2.1.3
글로벌 속성
과, 다음 속성을 허용한다:
linethickness 속성은 분수 막대의 분수선 두께 를 지정한다. 있으면 <length-percentage> 타입의 유효한 값을 가져야 한다. 속성이 없거나 값이 유효하지 않으면, FractionRuleThickness가 기본값으로 사용된다. 백분율은 이 기본값을 기준으로 해석된다. 음수 값은 0으로 해석된다.
다음은 네 개의
linethickness
값이 다른 분수 예시이다. 분수선은 항상 플러스와 마이너스 기호의 가운데에 맞춰진다.
분자와 분모는 수평 가운데에 정렬된다.
displaystyle
이 아닌 분수는 더 작은 간격과 글꼴 크기를 사용한다.
<math>
<mn>0</mn>
<mo>+</mo>
<mfrac displaystyle="true">
<mn>1</mn>
<mn>2</mn>
</mfrac>
<mo>−</mo>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mfrac linethickness="200%">
<mn>1</mn>
<mn>234</mn>
</mfrac>
<mo>−</mo>
<mrow>
<mo>(</mo>
<mfrac linethickness="0">
<mn>123</mn>
<mn>4</mn>
</mfrac>
<mo>)</mo>
</mrow>
</math>
<mfrac> 요소는
displaystyle을 false로 설정하거나,
이미 false였다면
scriptlevel을 1 증가시킨다(자식에서).
두 번째 자식 내에서는 math-shift를
compact로 설정한다.
분수선과 인접한 항(예: 마이너스 기호, 또는 다른 분수의 선)과의 시각적 혼동을 막기 위해
요소 주위에 기본 1픽셀의 여백이 추가된다.
user agent stylesheet
에는 다음 규칙이 포함되어야 한다:
mfrac {
padding-inline: 1px;
}
mfrac > * {
math-depth: auto-add;
math-style: compact;
}
mfrac > :nth-child(2) {
math-shift: compact;
}
<mfrac> 요소의
in-flow 자식이 두 개가 아니면 레이아웃 알고리즘은
mrow
요소의 것과 같다.
그렇지 않으면, 첫 번째 in-flow 자식을
분자(numerator),
두 번째 in-flow 자식을
분모(denominator)라 하고 레이아웃 알고리즘을 아래에 설명한다.
<mfrac> 요소에는 두 개의 in-flow 자식이 있다.
그러므로 CSS 규칙은 기본적으로
scriptlevel, displaystyle
그리고 math-shift
를 분자와
분모에 대해 적용한다.
분수선 두께가 0이 아니면
<mfrac>
요소는 그림
12와 같이 레이아웃된다.
분수선은
visibility가 visible일 때만 그려져야 한다.
이 경우, 분수선은 요소의 color로 그려져야 한다.
<mfrac> 요소의 박스 모델
수학 내용의 min-content 인라인 크기 (또는 max-content 인라인 크기)는 분자의 margin box와 분모의 margin box의 min-content 인라인 크기 (또는 max-content 인라인 크기) 중 최대값이다.
인라인 늘이기 크기 제약 또는 블록 늘이기 크기 제약이 있으면, 분자도 같은 크기 제약으로 레이아웃되고, 없으면 크기 제약 없이 레이아웃된다. 분모는 항상 크기 제약 없이 레이아웃된다.
수학 콘텐츠의 inline size는 분자의 margin box와 분모의 margin box의 inline size 중 최대값이다.
NumeratorShift는 다음 중 최대값이다:
compact (또는
normal)일 때.
compact (또는
normal)일 때 +
분자 margin box의 잉크 라인
하강선.
DenominatorShift는 다음 중 최대값이다:
compact (또는
normal)일 때.
compact (또는
normal)일 때 +
분모 margin box의 잉크 라인
상승선 −
AxisHeight.
수학 내용의 라인 상승선은 다음 중 최대값이다:
Numerator Shift +
분자 margin box의 라인 상승선.
Denominator Shift +
분모 margin box의 라인 상승선
수학 내용의 라인 하강선은 다음 중 최대값이다:
Numerator Shift
+ 분자 margin box의 라인 하강선.
Denominator Shift
+ 분모 margin box의 라인 하강선.
분자 (또는 분모) 의 inline offset은 수학 내용의 inline size의 1/2 − 분자 margin box의 inline size의 1/2 (또는 분모 margin box의 inline size의 1/2)로 계산된다.
분자(또는 분모)의 알파벳 기준선은
알파벳 기준선으로부터
NumeratorShift(또는 DenominatorShift)만큼
line-over(또는 line-under) 방향으로 이동된다.
수학 콘텐츠 박스는 content box 내에 블록-스타트(edge)가 정렬되고 그 중간이 같은 위치에 오도록 배치된다.
분수선의 inline size는 content box의 inline size이고, 그 inline-start(edge)는 content box의 edge와 정렬된다. 분수선의 중심은 수학 콘텐츠 박스의 알파벳 기준선에서 AxisHeight만큼 line-over 방향으로 이동된다. 분수선의 block size는 분수선 두께다.
분수선 두께가 0이면,
<mfrac> 요소는 대신 그림 13처럼
레이아웃된다.
<mfrac> 요소(막대 없음)의 박스 모델min-content 인라인 크기, max-content 인라인 크기 및 수학 콘텐츠의 inline size는 3.3.2.1 분수선 두께가 0이 아닌 분수와 동일하게 계산된다.
인라인 늘이기 크기 제약 또는 블록 늘이기 크기 제약이 있으면, 분자도 같은 크기 제약으로 레이아웃되고, 없으면 크기 제약 없이 레이아웃된다. 분모는 항상 크기 제약 없이 레이아웃된다.
math-style이 compact이면
TopShift와
BottomShift는 각각 StackTopShiftUp 및 StackBottomShiftDown으로 지정된다.
아니면 math-style이 normal이고
각각 StackTopDisplayStyleShiftUp
, StackBottomDisplayStyleShiftDown로
지정된다.
Gap은
(BottomShift −
분모 margin box의 잉크 라인 상승선)
+
(TopShift −
분자 margin box의 잉크 라인 하강선)
으로 정의된다.
math-style이 compact이면
GapMin은 StackGapMin이고,
아니면 math-style이 normal
인 경우 StackDisplayStyleGapMin이다.
Δ = GapMin − Gap가 양수이면
TopShift와 BottomShift는 각각 Δ/2와 Δ − Δ/2만큼 증가된다.
수학 내용의 라인 상승선은 다음 중 최대값이다:
TopShift +
분자 margin box의 라인 상승선.
BottomShift
+ 분모 margin box의 라인 상승선.
수학 내용의 라인 하강선은 다음 중 최대값이다:
TopShift
+ 분자 margin box의 라인 하강선.
BottomShift
+ 분모 margin box의 라인 하강선.
inline offset은 3.3.2.1 분수선 두께가 0이 아닌 분수와 동일하게 계산된다.
분자(또는 분모)의 알파벳 기준선은
알파벳 기준선으로부터
TopShift(또는 −
BottomShift)만큼
line-over(또는 line-under) 방향으로 이동된다.
수학 콘텐츠 박스는 content box 내에 블록-스타트(edge)가 정렬되고 그 중간이 같은 위치에 오도록 배치된다.
근호 요소는 내용 위에 선이 있는 루트 기호 √가 포함된 식을 구성한다. msqrt 요소는 제곱근에 사용되고,mroot 요소는 지수가 있는 근(예: 세제곱근) 표시에 사용된다.
<msqrt>와 <mroot>
요소는 2.1.3 글로벌
속성에 설명된 속성을 허용한다.
다음 예제는
msqrt
로 작성한 제곱근과
mroot
로 작성한 세제곱근이 포함되어 있다.
msqrt
는 여러 자식을 가지고 있으며 모든 자식에 제곱근이 적용된다.
mroot
는 정확히 두 개의 자식을 가진다: 두 번째 자식(숫자 3)을 인덱스로 첫 번째 자식(제곱근)에 근을 적용한다.
이들 요소는
mroot
인덱스 내에서만 글꼴 크기를 바꾼다는 점, 분수의 분자·분모보다 더 크게 축소된다는 점도 주목할 것.
<math>
<mroot>
<msqrt>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<mo>+</mo>
<mn>4</mn>
</msqrt>
<mn>3</mn>
</mroot>
<mo>+</mo>
<mn>0</mn>
</math>
<msqrt>와 <mroot>
요소는 math-shift를
compact로 설정한다.
<mroot> 요소는
scriptlevel을 2 올리고, 첫 번째 자식을 제외하고 displaystyle을 "false"로 설정한다.
user agent stylesheet
에는 이 동작을 구현하기 위해 다음 규칙이 포함되어야 한다:
mroot > :not(:first-child) {
math-depth: add(2);
math-style: compact;
}
mroot, msqrt {
math-shift: compact;
}
<msqrt> 또는 <mroot>
요소의 계산된
display
속성이 block math
또는 inline math
가 아니면, CSS 명세에서 해당 값에 따라 레이아웃된다.
그렇지 않으면, 아래 레이아웃이 적용된다.
<mroot> 요소가 in-flow 자식을 두 개보다 적거나 많게 가지면
레이아웃 알고리즘은
mrow
요소의 것과 같다.
그렇지 않으면, 첫 번째 in-flow 자식을
mroot base
, 두 번째 in-flow 자식을
mroot index
라 하고, 레이아웃 알고리즘을 아래에 설명한다.
<msqrt> 요소는
익명 <mrow> 박스를
생성하는데, 이를 msqrt
base라 한다.
근호 기호는
visibility가 visible일 때만
<msqrt> 또는 <mroot>
요소에 그려져야 한다.
이 경우 근호 기호는 해당 요소의 color로 그려진다.
근호 글리프는 문자 U+221A 제곱근의 글리프다.
근호
간격(radical gap)은
math-style이 compact면
RadicalVerticalGap이고,
math-style이 normal이면
RadicalDisplayStyleVerticalGap이다.
늘어나기 가능한 근호 글리프의 목표 크기는 RadicalRuleThickness, 근호 간격, 그리고 base의 잉크 높이를 합한 값이다.
근호 글리프의 박스 메트릭스와 루트(써드, surd) 그리기(painting)는 늘어나는 글리프 셰이핑 알고리즘을 통해 근호 기호의 target size로 block dimension을 만든다.
<msqrt> 요소는
그림
14처럼 레이아웃된다.
<msqrt> 요소의 박스 모델
수학 내용의 min-content 인라인 크기 (또는 max-content 인라인 크기)는 근호 글리프에 대한 블록 축 방향 스트레칭 글리프의 선호 인라인 크기 와 msqrt base의 margin box의 min-content 인라인 크기 (또는 max-content 인라인 크기)를 더한 값이다.
수학 내용의 inline size는 근호 글리프 메트릭스의 advance width와 msqrt base margin box의 inline size를 합한 값이다.
수학 내용의 라인 상승선은 다음 중 최대값이다:
수학 내용의 라인 하강선은 다음 중 최대값이다:
overbar의 inline size는 msqrt base margin box의 inline size다. msqrt base와 overbar의 inline offset도 동일하며, 근호 글리프의 width로 한다.
msqrt base의 알파벳 기준선은 줄의 알파벳 기준선과 맞춘다. overbar의 block size는 RadicalRuleThickness이고, 수직 중심은 알파벳 기준선에서 line-over 방향으로, 수식 내용의 라인 상승선에서 RadicalExtraAscender를 빼고 RadicalRuleThickness의 절반을 빼서 이동한다.
마지막으로 루트(써드) 그리기를 수행한다:
<mroot> 요소는
그림
15와 같이 레이아웃된다.
mroot index는 일단 무시되고
mroot base
와 근호 글리프는
그림 14의 알고리즘대로
레이아웃되어 margin box B(녹색으로 표시)에 들어간다.
<mroot> 요소의 박스 모델
수학 내용의 min-content 인라인 크기 (또는 max-content 인라인 크기)는 다음의 합이다: max(0, RadicalKernBeforeDegree), mroot index의 margin box min-content 인라인 크기 (또는 max-content 인라인 크기), max(−min-content 인라인 크기, RadicalKernAfterDegree) (또는 max(−max-content 인라인 크기 mroot index margin box, RadicalKernAfterDegree)), 그리고 B의 min-content 인라인 크기 (또는 max-content 인라인 크기).
같은 방식으로, AdjustedRadicalKernBeforeDegree 와 AdjustedRadicalKernAfterDegree는 각각 max(0, RadicalKernBeforeDegree) 와 max(−인덱스 margin box inline size, RadicalKernAfterDegree)로 정의된다.
수학 내용의 inline size는 AdjustedRadicalKernBeforeDegree, 인덱스의 margin box inline size, AdjustedRadicalKernAfterDegree, B의 inline size를 합한 값이다.
수학 내용의 라인 상승선은 다음 중 최대값이다:
수학 내용의 라인 하강선은 다음 중 최대값이다:
인덱스의 inline offset은 AdjustedRadicalKernBeforeDegree이다. mroot base의 inline offset은 거기서 인덱스 margin box의 inline size를 더한 값이다.
B의 알파벳 기준선은 줄의 알파벳 기준선과 맞춘다. 인덱스의 알파벳 기준선은 line-under edge에서 RadicalDegreeBottomRaisePercent × B의 block size + 인덱스 margin box의 라인 하강선만큼 떨어진다.
과거에 mstyle 요소는 콘텐츠의 렌더링에 영향을 주는 스타일 변경을 위해 도입되었다.
<mstyle> 요소는
2.1.3 글로벌 속성에 명시된 속성을
허용한다.
그 레이아웃 알고리즘은
mrow
요소와 같다.
<mstyle>은 전체 MathML과의 호환성을 위해 도입되었다. 오직 MathML Core만 대상으로 하는 저자는 스타일링에 CSS
사용을 권장한다.
아래 예제에서,
mstyle
을 사용하여 scriptlevel
과 displaystyle 을 설정하였다.
이것이 각각 후손들의
글꼴 크기와 아래 첨자의 위치에 영향을 미침을 볼 수 있다. MathML Core에서는 그냥
mrow
요소만 써도 된다.
<math>
<munder>
<mo movablelimits="true">*</mo>
<mi>A</mi>
</munder>
<mstyle scriptlevel="1">
<mstyle displaystyle="true">
<munder>
<mo movablelimits="true">*</mo>
<mi>B</mi>
</munder>
<munder>
<mo movablelimits="true">*</mo>
<mi>C</mi>
</munder>
</mstyle>
<munder>
<mo movablelimits="true">*</mo>
<mi>D</mi>
</munder>
</mstyle>
</math>
merror 요소는 그 내용을 ”오류 메시지”로 표시한다. 이 요소의 의도는 다른 입력으로부터 MathML을 생성하는 프로그램이 해당 입력에서 구문 오류가 발생할 때 표준 방식으로 보고할 수 있게 하는 것이다.
다음 예제에서,
merror
로 LaTeX 유사 입력의 구문 분석 오류를 표시하였다:
<math>
<mfrac>
<merror>
<mtext>Syntax error: \frac{1}</mtext>
</merror>
<mn>3</mn>
</mfrac>
</math>
<merror> 요소는
2.1.3 글로벌 속성에 명시된 속성을
허용한다.
그 레이아웃 알고리즘은
mrow
요소와 같다.
user agent stylesheet
에 오류 메시지를 시각적으로 강조하기 위해 다음 규칙이 포함되어야 한다:
merror {
border: 1px solid red;
background-color: lightYellow;
}
mpadded
요소는 in-flow 자식 콘텐츠와 동일하게 렌더링되지만,
<mpadded>의 속성에 따라 콘텐츠의 크기와 상대적 위치 기준점이 수정된다.
<mpadded> 요소는
2.1.3 글로벌 속성에 명시된 속성뿐만 아니라
다음 속성도 허용한다:
width, height, depth, lspace 와 voffset 가 있을 경우, <length-percentage> 타입의 유효한 값을 가져야 한다.
아래 예제에서,
mpadded
는 분수 주위의 간격을 조정하는 데 사용되었다
(파란색 배경은 시각화를 위한 것).
속성이 없으면
mrow
와 같지만,
속성을 사용하면 박스의
크기(width, height, depth)와 그 안에서 분수 위치(lspace, voffset)를 지정할 수 있다.
<math>
<mrow>
<mn>1</mn>
<mpadded style="background: lightblue;">
<mfrac>
<mn>23456</mn>
<mn>78</mn>
</mfrac>
</mpadded>
<mn>9</mn>
</mrow>
<mo>+</mo>
<mrow>
<mn>1</mn>
<mpadded lspace="2em" voffset="-1em" height="1em" depth="3em" width="7em"
style="background: lightblue;">
<mfrac>
<mn>23456</mn>
<mn>78</mn>
</mfrac>
</mpadded>
<mn>9</mn>
</mrow>
</math>
mpadded
요소는
익명 <mrow> 박스를 생성하며,
이것을 mpadded
내부 박스라고 한다. 이 안에는 inner inline size, inner line-ascent,
inner line-descent 파라미터가 있다.
요청된 <mpadded> 파라미터는 다음과 같이 결정된다:
width 속성이 존재하고 유효하며 백분율이 아니면
해당 속성을
presentational hint로 활용해
요소의 width
속성을 설정한다.
height
속성이 없거나 유효하지 않거나 백분율이면 요청된 height는 inner line-ascent다.
그렇지 않으면 height 속성의 해석값(음수는 0으로 clamp)을 쓴다.
depth
속성이 없거나 유효하지 않거나 백분율이면 요청된 depth는 inner line-ascent다.
그렇지 않으면 depth 속성의 해석값(음수는 0으로 clamp)을 쓴다.
lspace
속성이 없거나 유효하지 않거나 백분율이면 요청된 lspace는 0이다. 그렇지 않으면 lspace 속성의 해석값(음수는 0으로 clamp)을 쓴다.
voffset
속성이 없거나 유효하지 않거나 백분율이면 요청된 voffset는 0이다. 그렇지 않으면 voffset 속성의 해석값을 쓴다.
voffset 값은 0으로 clamp되지 않는다.
<mpadded> 요소의 계산된
display
속성이 block math
또는 inline math가 아니면 CSS 명세에 따라 레이아웃한다.
그렇지 않으면,
그림
16처럼 레이아웃된다.
<mpadded> 요소의 박스 모델
수학 내용의 min-content 인라인 크기 (또는 max-content 인라인 크기)는 3.3.6.1 내부 박스 및 요청 파라미터에서 계산한 요청된 width인데, 그때 "inner inline size" 대신 mpadded 내부 박스의 min-content 인라인 크기 (또는 max-content 인라인 크기)를 쓴다.
수학 내용의 inline size는 3.3.6.1 내부 박스 및 요청 파라미터에서 계산한 요청된 width이다.
수학 내용의 line-ascent는 요청된 height이다. 수학 내용의 line-descent는 요청된 depth이다.
mpadded 내부 박스는 알파벳 기준선이 알파벳 기준선에서 요청된 voffset만큼 line-over 방향으로 이동된 위치에 놓는다.
과거에 mphantom 요소는 내용을 보이지 않게 렌더링하지만, 그 내용이 정상적으로 렌더링되었을 경우와 동일한 메트릭 크기 및 기타 치수, 알파벳 기준선 위치를 포함하여 유지하기 위해 도입되었다.
아래 예제에서,
mphantom
은 분수의 분자와 분모의 대응 부분이 정렬되도록 보장하기 위해 사용되었다:
<math>
<mfrac>
<mrow>
<mi>x</mi>
<mo>+</mo>
<mi>y</mi>
<mo>+</mo>
<mi>z</mi>
</mrow>
<mrow>
<mi>x</mi>
<mphantom>
<mo form="infix">+</mo>
<mi>y</mi>
</mphantom>
<mo>+</mo>
<mi>z</mi>
</mrow>
</mfrac>
</math>
<mphantom> 요소는
2.1.3 글로벌
속성에 명시된 속성을 허용한다. 그 레이아웃 알고리즘은
mrow
요소와 같다.
user agent stylesheet
에는 아래 규칙이 포함되어야 하며, 이를 통해 내용을 숨긴다:
mphantom {
visibility: hidden;
}
<mphantom>은 전체 MathML과의 호환성을 위해 도입되었다. 오직 MathML Core만 대상으로 하는 저자는 스타일링에 CSS
사용을 권장한다.
본 절에서 설명하는 요소들은 하나 이상의 스크립트를 베이스 주위에 배치한다. 다양한 형태의 스크립트와 장식을 기호에 부착하는 것은 수학에서 매우 흔한 표기 장치이다. 순전히 시각적 레이아웃만을 고려한다면, 한 개의 범용 요소만으로도 주어진 베이스를 중심으로 전통적인 스크립트 위치 어디에나 스크립트와 장식을 배치할 수 있다. 하지만 보편적 표기의 추상 구조를 더 잘 나타내기 위해 MathML은 좀 더 특화된 스크립트 요소들을 제공한다.
아래/위 첨자 요소 외에도 MathML은 베이스의 위에 또는 아래에 스크립트를 배치할 수 있는 over/underscript 요소를 가지고 있다. 이 요소들은 대형 연산자의 리밋(limit) 위치 지정이나, 베이스 위/아래에 악센트 및 선을 배치할 때 사용할 수 있다.
msub, msup 및 msubsup 요소는 MathML 수식에 아래/위첨자를 붙이는 데 쓴다. 이들은 2.1.3 글로벌 속성에 명시된 속성을 받을 수 있다.
아래 예제는 기본적인 아래/위첨자 사용 예시를 보여준다. 스크립트 내에서는 글자 크기가 자동으로 축소된다.
<math>
<msub>
<mn>1</mn>
<mn>2</mn>
</msub>
<mo>+</mo>
<msup>
<mn>3</mn>
<mn>4</mn>
</msup>
<mo>+</mo>
<msubsup>
<mn>5</mn>
<mn>6</mn>
<mn>7</mn>
</msubsup>
</math>
<msub>,
<msup> 또는
<msubsup> 요소가 계산된
display
속성이 block math
또는 inline math가 아닐 경우, CSS 명세에 따라 레이아웃된다.
그렇지 않으면 아래 레이아웃을 따른다.
<msub> 요소가 in-flow 자식을 두 개보다 적게 또는 많이 가지면 레이아웃 알고리즘은
mrow
요소와 같다.
그렇지 않으면, 첫 번째 in-flow 자식은
msub base,
두 번째 in-flow 자식은
msub
subscript라 하며, 레이아웃 알고리즘은 3.4.1.2 아래첨자 베이스에 설명되어 있다.
<msup> 요소가 in-flow 자식을 두 개보다 적게 또는 많이 가지면 레이아웃 알고리즘은
mrow
요소와 같다.
그렇지 않으면, 첫 번째 in-flow 자식은
msup base,
두 번째 in-flow 자식은
msup
superscript라 하며, 레이아웃 알고리즘은 3.4.1.3 위첨자 베이스에 설명되어 있다.
<msubsup> 요소가 in-flow 자식을 세 개보다 적게 또는 많이 가지면 레이아웃 알고리즘은
mrow
요소와 같다.
그렇지 않으면 첫 번째 in-flow 자식은
msubsup
base, 두 번째 in-flow 자식은 msubsup subscript,
세 번째 in-flow 자식은
msubsup superscript라 하며, 레이아웃 알고리즘은 3.4.1.4
아래/위첨자 베이스에 명시되어 있다.
<msub> 요소는
그림 17과 같이 레이아웃된다.
LargeOpItalicCorrection은
msub base
가 수식된 연산자이고
largeop 속성일 때는 이탤릭 보정이고,
그 외에는 0이다.
<msub> 요소의 박스 모델
수식 내용의
min-content 인라인 크기 (또는 max-content 인라인 크기)는
msub base margin box의
min-content 인라인 크기(또는 max-content 인라인 크기) −
LargeOpItalicCorrection +
msub subscript margin box의
min-content 인라인 크기(또는 max-content 인라인 크기) + SpaceAfterScript 이다.
인라인 스트레치 크기 제약 또는 블록 스트레치 크기 제약 이 있다면 msub base도 동일한 크기 제약으로 레이아웃되고, 없다면 크기 제약 없이 레이아웃된다. 스크립트는 항상 크기 제약 없이 레이아웃된다.
수식 내용의 inline size는
msub base margin box의 inline size −
LargeOpItalicCorrection +
msub subscript margin box의 inline size +
SpaceAfterScript 이다.
SubShift는 다음 중 최대값이다:
수식 내용의 라인 상승선은 다음 중 최대값이다:
SubShift.
수식 내용의 라인 하강선은 다음 중 최대값이다:
SubShift.
msub base의 inline offset은 0이고
msub subscript의 inline
offset은 msub base margin box의 inline size −
LargeOpItalicCorrection 이다.
msub base의 알파벳
기준선은 줄의 알파벳 기준선과 맞추고,
msub subscript의 알파벳
기준선은
알파벳 기준선에서
SubShift만큼 line-under 방향으로 이동시킨다.
<msup> 요소는
그림 18과 같이 레이아웃된다.
ItalicCorrection은
msup base가
수식된 연산자이며
largeop 속성이 아니면 이탤릭 보정이고,
그 외에는 0이다.
<msup> 요소의 박스 모델
수식 내용의
min-content 인라인 크기 (또는 max-content 인라인 크기)는
msup base margin box의
min-content 인라인 크기(또는 max-content 인라인 크기)
+
ItalicCorrection +
msup superscript margin box의
min-content 인라인 크기(또는 max-content 인라인 크기)
+
SpaceAfterScript이다.
인라인 스트레치 크기 제약 또는 블록 스트레치 크기 제약 이 있다면 msup base도 동일한 크기 제약으로 레이아웃되고, 없다면 크기 제약 없이 레이아웃된다. 스크립트는 항상 크기 제약 없이 레이아웃된다.
수식 내용의 inline size는
msup base margin box의 inline size +
ItalicCorrection +
msup superscript margin box의 inline
size +
SpaceAfterScript이다.
SuperShift는 다음 중 최대값이다:
compact면 SuperscriptShiftUpCramped,
아니면 SuperscriptShiftUp수식 내용의 라인 상승선은 다음 중 최대값이다:
SuperShift.
수식 내용의 라인 하강선은 다음 중 최대값이다:
SuperShift.
msup base의 inline offset은 0이고,
msup superscript의 inline
offset은 msup base margin box의 inline size +
ItalicCorrection이다.
msup base의 알파벳
기준선은 줄의 알파벳 기준선에 맞추고,
msup superscript의 알파벳
기준선은
알파벳 기준선에서
SuperShift만큼 line-over 방향으로 이동시킨다.
<msubsup> 요소는
그림 18과 같이 레이아웃된다.
LargeOpItalicCorrection 및 SubShift는 3.4.1.2
아래첨자 베이스와 같다.
ItalicCorrection 및 SuperShift는 3.4.1.3
위첨자 베이스와 같다.
<msubsup> 요소의 박스 모델
수식 내용의 min-content 인라인 크기 (또는 max-content 인라인 크기, inline size)는 3.4.1.2 아래첨자 베이스와 3.4.1.3 위첨자 베이스에서 계산된 값 중 최대값이다.
인라인 스트레치 크기 제약 또는 블록 스트레치 크기 제약 이 있다면 msubsup base도 동일한 크기 제약으로 레이아웃되고, 없다면 크기 제약 없이 레이아웃된다. 스크립트는 항상 크기 제약 없이 레이아웃된다.
인라인 스트레치 크기 제약 또는 블록 스트레치 크기 제약 이 있다면 msubsup base도 동일 제약으로 레이아웃되고, 아니면 제약 없이 레이아웃. 스크립트는 항상 크기 제약 없이 레이아웃된다.
SubSuperGap은 두 스크립트의 block axis 간격이며,
(SubShift − msubsup subscript margin
box의
잉크 라인 상승선) +
(SuperShift − msubsup superscript
margin box의
잉크 라인 하강선)로 정의된다.
만약 SubSuperGap이
SubSuperscriptGapMin 미만이면 아래 과정을 수행한다:
SuperShift − msubsup superscript
margin box의 잉크 라인 하강선)로 하는데,
Δ>0이면 Δ를 Δ와 SubSuperscriptGapMin −
SubSuperGap 중 작은 값으로 하고,
SuperShift(및 SubSuperGap)를 Δ만큼 증가시킨다.
SubSuperGap로 두고,
Δ>0이면
SubscriptShift(및 SubSuperGap)를 Δ만큼 증가시킨다.
수식 내용의 잉크 라인 상승선
(또는 라인 상승선, 잉크 라인 하강선,
라인 하강선)은
3.4.1.2 아래첨자 베이스와
3.4.1.3 위첨자 베이스에서
계산된 값(위 SubShift 및 SuperShift 반영)을 최대값으로 갖는다.
msubsup base 및 스크립트의 inline offset 및 block offset은 3.4.1.2 아래첨자 베이스와 3.4.1.3 위첨자 베이스의 설명과 동일하게 수행된다.
msubsup subscript (또는 msubsup superscript)가 빈 박스라 해도,
<msubsup>은
3.4.1.3 위첨자
베이스
(또는 3.4.1.2
아래첨자 베이스)
와 일반적으로 동일하지 않다. 그 이유는 SubSuperGap의 추가 제약 때문이다.
또한 빈 msubsup subscript
(또는 msubsup superscript)의 배치도 전체 크기에 영향을 줄 수
있다.
알고리즘의 단순성을 위해, 빈 스크립트는 별도로 다루지 않는다.
munder, mover 및 munderover 요소는 수식의 아래 또는 위에 악센트나 리밋을 붙이는 데 사용된다.
<munderover> 요소는 2.1.3 글로벌
속성에 설명된 속성뿐만 아니라 다음 속성들도 허용한다:
마찬가지로, <mover> 요소(각각 <munder> 요소)는
2.1.3
글로벌 속성에 설명된 속성뿐만 아니라
accent
속성(각각
accentunder
속성)을 허용한다.
accent,
accentunder
속성은, 존재할 경우 booleans 값을 가져야 한다.
이 속성들이 없거나 유효하지 않으면 false로 처리된다.
사용자 에이전트는 이를
3.4.4
스크립트에서의 displaystyle, scriptlevel 및 math-shift에 설명된 대로 구현해야 한다.
다음 예제는 아래/위 스크립트의 기본 사용을 보여준다. 스크립트 내에서는 악센트로 의도되지 않은 경우 글꼴 크기가 자동으로 축소된다.
<math>
<munder>
<mn>1</mn>
<mn>2</mn>
</munder>
<mo>+</mo>
<mover>
<mn>3</mn>
<mn>4</mn>
</mover>
<mo>+</mo>
<munderover>
<mn>5</mn>
<mn>6</mn>
<mn>7</mn>
</munderover>
<mo>+</mo>
<munderover accent="true">
<mn>8</mn>
<mn>9</mn>
<mn>10</mn>
</munderover>
<mo>+</mo>
<munderover accentunder="true">
<mn>11</mn>
<mn>12</mn>
<mn>13</mn>
</munderover>
</math>
만약
<munder>,
<mover> 또는
<munderover> 요소들의 계산된
display
속성이 block math
또는 inline math가 아니면, 해당 값에 따라 CSS 명세에 따라 레이아웃된다.
그렇지 않으면 아래에 설명된 레이아웃이 수행된다.
<munder> 요소가 두 개의 in-flow 자식보다 적거나 많으면 레이아웃 알고리즘은
mrow
요소와 같다.
그렇지 않으면, 첫 번째 in-flow 자식을
munder
base라 하고,
두 번째 in-flow 자식을
munder
underscript라 한다.
<mover> 요소가 두 개의 in-flow 자식보다 적거나 많으면 레이아웃 알고리즘은
mrow
요소와 같다.
그렇지 않으면, 첫 번째 in-flow 자식을
mover
base라 하고, 두 번째 in-flow 자식을
mover
overscript라 한다.
<munderover> 요소가 세 개의 in-flow 자식보다 적거나 많으면 레이아웃 알고리즘은
mrow
요소와 같다.
그렇지 않으면, 첫 번째 in-flow 자식을
munderover
base, 두 번째 in-flow 자식을
munderover underscript,
세 번째 in-flow 자식을
munderover overscript라 한다.
만약 <munder>, <mover> 또는
<munderover> 요소들이 계산된
math-style 속성이 compact이고,
그들의 베이스가 embellished operator이며
movablelimits 속성을 가지고 있다면,
이들의 레이아웃 알고리즘은 각각
<msub>, <msup>, <msubsup>에 대해
3.4.1.2 아래첨자 베이스,
3.4.1.3 위첨자 베이스,
3.4.1.4
아래/위첨자 베이스에 설명된 것과 동일하다.
그렇지 않으면,
<munder>, <mover> 및
<munderover>의 레이아웃 알고리즘은 각각
3.4.2.3 아래스크립트
베이스,
3.4.2.4 위스크립트 베이스 및
3.4.2.5
아래스크립트 및 위스크립트 베이스에 설명된 대로이다.
인라인 축을 따라 연산자 늘이기 알고리즘 은 다음과 같다.
블록 스트레치 크기 제약 이 있으면 레이아웃되는 요소는 embellished operator이다. 베이스를 동일한 크기 제약으로 레이아웃한다.
아직 레이아웃되지 않은 in-flow 자식 목록을,
LToStretch (inline stretchy 속성과 인라인 stretch axis을 가진 embellished operators)과
LNotToStretch으로 분할한다.
LNotToStretch의 모든 항목을 스트레치 크기 제약 없이 레이아웃한다.
LToStretch가 비어 있으면 종료한다.
LNotToStretch가 비어 있으면,
LToStretch의 모든 항목에 대해 인라인 스트레치 크기 제약 0으로 레이아웃한다.
이전 단계에서 레이아웃된 자식 박스들의 margin boxes의 최대 inline size를 목표 크기 T로
계산한다.
LToStretch의 모든 요소를 인라인 스트레치 크기 제약 T로 레이아웃하거나
재레이아웃한다.
<munder> 요소는
그림
20과 같이 레이아웃된다.
LargeOpItalicCorrection은 이탤릭 보정으로, munder base가 embellished operator이며
largeop 속성을 가질 때 해당 값이고,
그렇지 않으면 0이다.
<munder> 요소의 박스 모델
수학 내용의 min-content 인라인 크기 (또는 max-content 인라인 크기)는 아래에 설명된 inline size 계산과 유사하게 계산되며, 다만 munder base의 margin box와 munder underscript의 margin box 대신, 각각의 min-content inline size (또는 max-content inline size)를 사용한다.
in-flow 자식들은 인라인 축을 따라 연산자 늘이기 알고리즘을 사용하여 레이아웃된다.
수학 내용의 inline size는 다음의 절대값 차이로 계산된다:
LargeOpItalicCorrection의 절반.
LargeOpItalicCorrection의 절반.
위 두 번째 항목에서 계산된 최소값을 m이라 하면,
inline offset인
munder base의 값은 −m − 베이스의 margin box의 절반이다.
munder underscript의 inline
offset은
−m − munder underscript의 margin box의 절반 −
LargeOpItalicCorrection의 절반이다.
파라미터 UnderShift 및 UnderExtraDescender는 다음의 세 가지 경우를 고려하여 순서대로 결정된다:
munder base가
embellished operator이며
largeop 속성을 가질 때,
UnderShift는 다음의 최대값이다:
UnderExtraDescender는 0이다.
munder base가
embellished operator이며
stretchy 속성과 인라인 stretch axis를 가질 때,
UnderShift는 다음의 최대값이다:
UnderExtraDescender는 0이다.
그렇지 않으면,
UnderShift는 UnderbarVerticalGap이고,
accentunder
속성이 ASCII 대소문자 구분 없이 true와 일치하지 않을 때 해당 값이며,
그렇지 않으면 0이다.
UnderExtraAscender는 UnderbarExtraDescender이다.
수학 내용의 line-ascent은 다음 중 최대값이다:
UnderShift를 뺀 값입니다.
수학 내용의 line-descent은 다음 중 최대값이다:
UnderShift +
UnderExtraAscender.
alphabetic baseline은 munder base의
알파벳 기준선이 줄의 알파벳 기준선과 정렬된다.
munder underscript의 알파벳 기준선은 기본 알파벳 기준선에서 떨어져
line-under 방향으로, munder base의 잉크 라인 하강선
+ UnderShift 만큼 이동된다.
math content box는 content box 내에 배치되어 블록-스타트 가장자리가 정렬되고 이 가장자리들의 중간점이 동일한 위치에 오도록 한다.
<mover> 요소는
그림
21과 같이 레이아웃된다.
LargeOpItalicCorrection은 이탤릭 보정으로, mover base가 embellished operator이며
largeop 속성을 가질 때 해당 값이고, 그렇지 않으면 0이다.
<mover> 요소의 박스 모델
수학 내용의 min-content 인라인 크기 (또는 max-content 인라인 크기)는 아래에 설명된 inline size 계산과 유사하게 계산되며, 다만 mover base의 margin box와 mover overscript의 margin box 대신, 각각의 min-content inline size (또는 max-content inline size)를 사용한다.
in-flow 자식들은 인라인 축을 따라 연산자 늘이기 알고리즘을 사용하여 레이아웃된다.
TopAccentAttachment는 mover overscript의 top accent attachment 값이며,
정의되지 않은 경우에는 mover overscript의 margin box의 절반을 사용한다.
수학 내용의 inline size는 인라인 축을 따라 연산자 늘이기 알고리즘을 적용한 후, 다음의 절대값 차이로 결정된다:
TopAccentAttachment +
LargeOpItalicCorrection의 절반.
TopAccentAttachment + LargeOpItalicCorrection의 절반.
위 두 번째 항목에서 계산된 최소값을 m이라 하면,
inline offset인
mover base의 값은 −m − 베이스의 margin box의 절반이다.
mover overscript의 inline
offset은
−m − mover overscript의 margin box의 절반 +
LargeOpItalicCorrection의 절반이다.
파라미터 OverShift 및 OverExtraDescender는 다음 세 경우를 순서대로 고려하여 결정된다:
mover base가
embellished operator이며
largeop 속성을 가질 때,
OverShift는 다음의 최대값이다:
OverExtraAscender는 0이다.
mover base가
embellished operator이며
stretchy 속성과 인라인 stretch axis를 가질 때,
OverShift는 다음의 최대값이다:
OverExtraDescender는 0이다.
그렇지 않으면, OverShift는 다음 중 하나이다:
accent
속성이 ASCII 대소문자 무시로 true가 아닐 때 사용한다.
OverExtraAscender는 OverbarExtraAscender이다.
악센트 오버스크립트와 베이스의 line-ascent이 AccentBaseHeight 이하일 때, [OPEN-FONT-FORMAT] 및 [TEXBOOK]의 규칙은 오버스크립트와 베이스의 알파벳 기준선을 정렬하는 것이다. 이는 악센트 글리프의 잉크 하단이 알파벳 기준선에서 대략 AccentBaseHeight 만큼 위에 설계되어 있다고 가정하기 때문이다. 따라서 이전 규칙은 모든 오버스크립트 하단을 정렬하면서 베이스와의 충돌을 피하도록 보장한다. 그러나 MathML은 임의의 악센트 오버스크립트를 허용하므로, 더 일반적이고 단순한 규칙을 위에 제공한다: 오버스크립트 바닥이 베이스의 알파벳 기준선에서 최소한 AccentBaseHeight 만큼 위에 있도록 보장한다.
수학 내용의 line-ascent은 다음 중 최대값이다:
OverShift +
OverExtraAscender.
수학 내용의 line-descent은 다음 중 최대값이다:
OverShift.
alphabetic baseline은 mover base의 알파벳
기준선이 줄의 알파벳 기준선과 정렬된다.
mover overscript의 알파벳 기준선은 기본 알파벳 기준선에서 떨어져
line-over 방향으로, 베이스의 잉크 라인 상승선 +
OverShift 만큼 이동된다.
math content box는 content box 내에 배치되어 블록-스타트 가장자리가 정렬되고 이 가장자리들의 중간점이 동일한 위치에 오도록 한다.
<munderover>의 일반적인 레이아웃은
그림 22에 나와 있다.
LargeOpItalicCorrection,
UnderShift,
UnderExtraDescender,
OverShift,
OverExtraDescender 파라미터들은
3.4.2.3 아래스크립트
베이스와
3.4.2.4 위스크립트
베이스에서와 동일하게 계산된다.
<munderover>
요소의 박스 모델수학 내용의 min-content 인라인 크기, max-content 인라인 크기 및 inline size는 최대 inline offset과 최소 inline offset의 절대값 차이로 계산된다. 이러한 극값들은 3.4.2.3 아래스크립트 베이스와 3.4.2.4 위스크립트 베이스에서 계산된 대응 극값들의 극값을 취하여 계산된다. inline offsets은 이 섹션들에서와 동일하게 계산되지만 새로 계산된 최소값 m(해당 최소값들의 최소)을 사용한다.
이 섹션들처럼, in-flow 자식들은 인라인 축을 따라 연산자 늘이기 알고리즘을 사용하여 레이아웃된다.
수학 내용의 line-ascent 및 line-descent도 3.4.2.3 아래스크립트 베이스와 3.4.2.4 위스크립트 베이스에서 계산된 극값들의 극값을 취하여 계산된다.
마지막으로, alphabetic baselines는 munderover base, munderover underscript 및 munderover overscript에 대해 위의 섹션들에서와 동일하게 계산된다.
math content box는 content box 내에 배치되어 블록-스타트 가장자리가 정렬되고 이 가장자리들의 중간점이 동일한 위치에 오도록 한다.
underscript(또는 overscript)가 빈 박스인 경우, 베이스와 overscript(또는 underscript)는 3.4.2.4 위스크립트 베이스 (또는 3.4.2.3 아래스크립트 베이스)와 유사하게 레이아웃되지만, 빈 underscript(또는 overscript)의 위치가 추가 공간을 만들 수 있다. 알고리즘을 단순하게 유지하기 위해 빈 스크립트를 특별히 처리하지 않는다.
프리서브스크립트와 텐서 표기는 mmultiscripts 요소로 나타낸다. mprescripts 요소는 포스트스크립트와 프리스크립트 사이의 구분자 역할로 사용된다. 이 두 요소는 2.1.3 글로벌 속성 에서 설명한 속성들을 허용한다.
다음 예제는
프리스크립트와 포스트스크립트의 기본적 사용 예를 보여주며 여기에는
mprescripts
가 포함되어 있다.
스크립트가 렌더링되지 않는 위치에는 빈
mrow
요소가 사용된다.
스크립트 내에서는 글꼴 크기가 자동으로 축소된다.
<math>
<mmultiscripts>
<mn>1</mn>
<mn>2</mn>
<mn>3</mn>
<mrow></mrow>
<mn>5</mn>
<mprescripts/>
<mn>6</mn>
<mrow></mrow>
<mn>8</mn>
<mn>9</mn>
</mmultiscripts>
</math>
<mmultiscripts> 또는
<mprescripts>
요소의 계산된
display
속성이 block math
또는 inline math가 아니면, CSS 명세에서 해당 값에 따라 레이아웃된다.
그렇지 않으면 아래의 레이아웃이 적용된다.
<mprescripts>
요소는
mrow
요소와 같이 레이아웃된다.
유효한 <mmultiscripts> 요소는 다음 in-flow 자식을 갖는다:
mprescripts
요소가 아니어야 한다.
mprescripts
요소가 아니어야 한다.
이 스크립트들은 아래첨자, 위첨자, 아래첨자, 위첨자, ... 들로 이루어진 (비어 있을 수도 있는) 목록을 이룬다.
각 연속된 아래첨자-위첨자 자식 쌍을
아래/위첨자 쌍이라고 부른다.
mprescripts
요소와, 짝수 개의 in-flow 자식
mmultiscripts prescripts (이 역시
mprescripts
요소가 아님) 로 이어진다.
이 스크립트들은 (비어있을 수 있는)
아래/위첨자 쌍들의 목록을 이룬다.
<mmultiscripts> 요소가 유효하지 않은 경우
mrow
요소와 동일하게 레이아웃된다.
유효하다면 레이아웃 알고리즘은
3.4.3.1
프리스크립트 및 포스트스크립트 베이스에서 설명한 대로 수행된다.
<mmultiscripts> 요소는
그림 23과 같이 레이아웃된다.
mmultiscripts postscripts의 각 아래/위첨자 쌍마다,
ItalicCorrection과
LargeOpItalicCorrection 값은
3.4.1.2 아래첨자 베이스와
3.4.1.3 위첨자 베이스에서
정의된 대로이다.
<mmultiscripts> 요소의 박스 모델수식 내용의 min-content 인라인 크기 (또는 max-content 인라인 크기)는 아래 설명하는 inline size 계산과 동일하게 계산하되, "inline size" 대신 mmultiscripts base의 margin box 및 스크립트의 margin box에 대해 "min-content inline size" (또는 "max-content inline size")를 사용한다.
인라인 스트레치 크기 제약 또는 블록 스트레치 크기 제약 이 있다면 mmultiscripts base도 동일한 제약으로 레이아웃되고, 아니면 크기 제약 없이 레이아웃된다. 다른 요소들은 항상 크기 제약 없이 레이아웃된다.
수식 내용의 inline size는 다음 알고리즘으로 계산된다:
inline-offset를 0으로 설정한다.
mmultiscripts prescripts의 각 아래/위첨자 쌍마다,
inline-offset를 SpaceAfterScript와
다음 중 최대값만큼 증가시킨다.
inline-offset에
mmultiscripts base margin box의
inline size를 더하고,
이 값을 inline-size로 설정한다.
mmultiscripts postscripts의 각 아래/위첨자 쌍마다,
inline-size가 다음 값 이상이 되도록 갱신한다:
LargeOpItalicCorrection
ItalicCorrection
inline-offset를 다음 중 최대값으로 갱신한다:
inline-offset에
SpaceAfterScript를 더한다.
inline-size를 반환한다.
SubShift(아래첨자 위치) 및 SuperShift(위첨자 위치)는
3.4.1.4
아래/위첨자 베이스에서 설명된 대로 각 쌍의 모든 subshift(또는 supershift) 중 최대값을 취해 계산한다.
수식 내용의 line-ascent는
3.4.1.4
아래/위첨자 베이스에서 설명된 대로 각 쌍의 모든 line-ascent의 최대값을
SubShift 및 SuperShift 반영하여 계산한다.
수식 내용의 line-descent는
위와 동일하지만 line-descent(하강선)의 최대값으로 계산한다.
마지막으로 in-flow 자식 배치는 다음 알고리즘으로 수행된다:
inline-offset을 0으로 한다.mmultiscripts prescripts의 각 아래/위첨자 쌍에 대해:
inline-offset에 SpaceAfterScript를
더한다.
pair-inline-size를 아래 중 최대값으로 지정:
inline-offset + pair-inline-size
− 아래첨자 margin box의 inline size에 배치한다.
inline-offset + pair-inline-size
− 위첨자 margin box의 inline size에 배치한다.
SubShift (또는 SuperShift)
만큼 line-under (또는 line-over) 방향으로 이동시켜 놓는다.
inline-offset에
pair-inline-size를 더한다.
<mprescripts> 박스를
inline offset
위치에 배치하며, 각 알파벳 기준선은 줄의 알파벳 기준선에 맞춘다.
mmultiscripts postscripts의 각 아래/위첨자 쌍에 대해:
pair-inline-size를 아래첨자/위첨자 margin box의 inline size 중
최대값으로 한다.
inline-offset − LargeOpItalicCorrection 위치에 배치.
inline-offset + ItalicCorrection 위치에 배치.
SubShift (또는 SuperShift)
만큼 line-under (또는 line-over) 방향으로 이동시켜 놓는다.
inline-offset에
pair-inline-size를 더한다.
inline-offset에
SpaceAfterScript를 더한다.
mmultiscripts postscripts에
아래/위첨자 쌍이 하나만 있는
<mmultiscripts>는
동일한 in-flow 자식인 <msubsup>과 동일하게 레이아웃된다.
그러나 (<msubsup> 참고)와 같이,
만약 추가로 아래첨자(또는 위첨자)가 빈 박스라면 반드시
<msub>
(또는 <msup>) 요소와 동일하게 렌더링되는 것은 아니다.
알고리즘의 단순성을 위해 빈 스크립트는 별도로 다루지 않는다.
모든 스크립트 요소에 대해, 원칙적으로
displaystyle을 false로 설정하고
첫 번째 자식을 제외한 모든 자식 요소의
scriptlevel을 증가시킨다.
그러나
mover
(또는
munderover)
요소가
accent
속성을 가지고 있고,
ASCII 대소문자 구분 없이
true와 일치하면, 그 두 번째 자식(각각 세 번째 자식)에서는 scriptlevel을 증가시키지 않는다. 마찬가지로,
mover
와
munderover
요소가
accentunder
속성을 가지고 있고,
ASCII 대소문자 구분 없이
true와 일치하면 두 번째 자식에서 scriptlevel을 증가시키지 않는다.
<mmultiscripts>는
math-shift를
compact으로 설정한다. 이때 mprescripts 앞에 있는 짝수 위치 자식과,
mprescripts 뒤의 홀수 위치 자식이 대상이다.
<msub>와 <msubsup>
요소는 두 번째 자식에서 math-shift를
compact으로 설정한다.
mover
와
munderover
요소는
accent
속성이 ASCII 대소문자 구분 없이 true와 일치하면 첫 번째 자식에서 math-shift도
compact으로 설정한다.
A. User Agent Stylesheet에는 이 동작을 구현하기 위해 아래 스타일이 포함되어야 한다:
msub > :not(:first-child),
msup > :not(:first-child),
msubsup > :not(:first-child),
mmultiscripts > :not(:first-child),
munder > :not(:first-child),
mover > :not(:first-child),
munderover > :not(:first-child) {
math-depth: add(1);
math-style: compact;
}
munder[accentunder="true" i] > :nth-child(2),
mover[accent="true" i] > :nth-child(2),
munderover[accentunder="true" i] > :nth-child(2),
munderover[accent="true" i] > :nth-child(3) {
font-size: inherit;
}
msub > :nth-child(2),
msubsup > :nth-child(2),
mmultiscripts > :nth-child(even),
mmultiscripts > mprescripts ~ :nth-child(odd),
mover[accent="true" i] > :first-child,
munderover[accent="true" i] > :first-child {
math-shift: compact;
}
mmultiscripts > mprescripts ~ :nth-child(even) {
math-shift: inherit;
}
<mprescripts>는 비어 있다.
그러므로 CSS 규칙은 본질적으로 스크립트의 displaystyle 및
scriptlevel 자동 변경,
아래첨자 및 때에 따라 베이스의 math-shift 변경을 자동으로 수행한다.
행렬, 배열, 그 외 테이블과 유사한 수학 표기는
mtable
mtr
mtd
요소로 마크업한다. 이 요소들은
table,
tr
,
td
요소([HTML])와 유사하다.
아래 예제는 행렬을 표 레이아웃으로 작성하는 방법을 보여준다. 이는 분수선 및 등호의 가운데에 세로 정렬됨에 유의하라.
<math>
<mfrac>
<mi>A</mi>
<mn>2</mn>
</mfrac>
<mo>=</mo>
<mrow>
<mo>(</mo>
<mtable>
<mtr>
<mtd><mn>1</mn></mtd>
<mtd><mn>2</mn></mtd>
<mtd><mn>3</mn></mtd>
</mtr>
<mtr>
<mtd><mn>4</mn></mtd>
<mtd><mn>5</mn></mtd>
<mtd><mn>6</mn></mtd>
</mtr>
<mtr>
<mtd><mn>7</mn></mtd>
<mtd><mn>8</mn></mtd>
<mtd><mn>9</mn></mtd>
</mtr>
</mtable>
<mo>)</mo>
</mrow>
</math>
mtable은
inline-table로 레이아웃되고,
displaystyle을 false로 설정한다. user agent
stylesheet에는
다음 규칙이 포함되어야 한다:
mtable {
display: inline-table;
math-style: compact;
}
mtable 요소는 CSS
table
처럼 동작하며,
min-content inline size, max-content inline size,
inline size, block size,
first baseline set, last baseline set
속성도 여기에 맞게 결정된다.
테이블의 중심은 수학축(math axis)과 정렬된다.
<mtable>는 2.1.3
글로벌
속성에 설명된 속성을 허용한다.
mtr은
table-row로 레이아웃된다.
user agent stylesheet에는
다음 규칙이 포함되어야 한다:
mtr {
display: table-row;
}
<mtr>는 2.1.3
글로벌
속성에 설명된 속성을 허용한다.
mtd는
table-cell로 레이아웃되며, 내용이 셀 가운데 정렬되고 기본 패딩이 적용된다.
user agent stylesheet에는
다음 규칙이 포함되어야 한다:
mtd {
display: table-cell;
/* Centering inside table cells should rely on box alignment properties.
See https://github.com/w3c/mathml-core/issues/156 */
text-align: center;
padding: 0.5ex 0.4em;
}
<mtd>는 2.1.3
글로벌 속성에 설명된 속성과 더불어 다음 속성을 허용한다:
columnspan (각각
rowspan) 속성은
[HTML]의 <td> 요소의
colspan
(각각
)
속성과 동일한 문법과 의미를 가진다.
특히, 이 속성의 파싱은
행 처리 알고리즘에 따라,
항상 "rowspancolspan"을
"columnspan"로 읽는다.
columnspan이며, 하위 호환 목적으로 유지됨.
<mtd> 요소는
익명 <mrow> box를 생성한다.
과거에 maction 요소는 수식에 동작을 바인딩하는 메커니즘을 제공하였다.
<maction> 요소는
2.1.3 글로벌 속성에 더해
다음 속성도 허용한다:
본 명세는 actiontype 및 selection 속성에 대해 특별한 동작을 정의하지 않는다.
다음 예제는 [MathML3]의 "toggle" actiontype을 보여준다. 렌더러는 선택된 부분수식에서 시작해 클릭 시 순차적으로(“4분의1”, “2분의1”, “3분의1” 등) 바꿔 가며 표시한다. 이는 MathML Core에는 포함되지 않지만 JavaScript/CSS polyfill로 구현할 수 있다. 기본 동작은 첫 번째 자식만 렌더링하는 것이다.
<math>
<maction actiontype="toggle" selection="2">
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<mfrac>
<mn>1</mn>
<mn>3</mn>
</mfrac>
<mfrac>
<mn>1</mn>
<mn>4</mn>
</mfrac>
</maction>
</math>
<maction> 요소의 레이아웃 알고리즘은 <mrow>와 같다.
user agent stylesheet
에는 레거시 actiontype의 기본 동작(첫 번째 자식만 보이도록) 구현을 위해 다음 규칙이 포함되어야 한다:
maction > :not(:first-child) {
display: none;
}
<maction>은 전체 MathML과의 호환을 위해 구현되어 있다. 오직 MathML Core만 대상으로 한다면, 커스텀 액션은 HTML,
CSS, JavaScript 메커니즘을 사용할 것을 권장한다. 저자는 [MathML3]에서
정의한 maction 속성에 의존할 수도 있다.
semantics
요소는 MathML 식과 주석(annotation)을 연결하는 컨테이너 요소이다. 일반적으로
<semantics> 요소의 첫 번째 자식은 주석 대상으로 삼을 MathML 수식이고,
그 뒤의 자식들은
annotation 요소와 같은 텍스트 주석이나,
annotation-xml 요소와 같은 더 복잡한 마크업 주석을 나타낸다.
아래 예제는 “2분의1”을 텍스트 주석(LaTeX)이나 XML 주석(콘텐츠 MathML)으로 부가하는 방법을 보여준다. 이 주석들은 사용자 에이전트가 렌더링하지 않는다. 이 분수에는 SVG, HTML 마크업도 주석으로 포함되어 있다.
<math>
<semantics>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<annotation encoding="application/x-tex">\frac{1}{2}</annotation>
<annotation-xml encoding="application/mathml-content+xml">
<apply>
<divide/>
<cn>1</cn>
<cn>2</cn>
</apply>
</annotation-xml>
<annotation-xml>
<svg width="25" height="75" xmlns="http://www.w3.org/2000/svg">
<path stroke-width="5.8743"
d="m5.9157 27.415h6.601v-22.783l-7.1813 1.4402v-3.6805l7.1408
-1.4402h4.0406v26.464h6.601v3.4005h-17.203z"/>
<path stroke="#000000" stroke-width="2.3409"
d="m0.83496 39.228h23.327"/>
<path stroke-width="5.8743"
d="m8.696 70.638h14.102v3.4005h-18.963v-3.4005q2.3004-2.3804
6.2608-6.3813 3.9806-4.0206 5.0007-5.1808 1.9403-2.1803
2.7004-3.6805 0.78011-1.5202 0.78011-2.9804 0-2.3804
-1.6802-3.8806-1.6603-1.5002-4.3406-1.5002-1.9003 0-4.0206
0.6601-2.1003 0.6601-4.5007 2.0003v-4.0806q2.4404-0.98013
4.5607-1.4802 2.1203-0.50007 3.8806-0.50007 4.6407 0 7.401
2.3203 2.7604 2.3203 2.7604 6.2009 0 1.8403-0.7001 3.5006
-0.68013 1.6402-2.5004 3.8806-0.50007 0.58009-3.1805 3.3605
-2.6804 2.7604-7.5614 7.7412z"/>
</svg>
</annotation-xml>
<annotation-xml encoding="application/xhtml+xml">
<div style="display: inline-flex;
flex-direction: column; align-items: center;">
<div>1</div>
<div>―</div>
<div>2</div>
</div>
</annotation-xml>
</semantics>
</math>
<semantics> 요소는
2.1.3 글로벌 속성을 허용한다. 레이아웃 알고리즘은
mrow
과 같다.
user agent stylesheet
에는 오직 주석이 달린 수식만 렌더링하도록 아래 규칙을 포함해야 한다:
semantics > :not(:first-child) {
display: none;
}
<annotation-xml> 및
<annotation> 요소는
2.1.3 글로벌 속성에 더해
다음 속성을 허용한다:
본 명세는 encoding 속성에 대해 특별한 동작을 정의하지 않는다.
<annotation-xml> 및
<annotation> 요소의 레이아웃 알고리즘은
mtext
와 같다.
encoding
속성을 이용해
HTML 통합 포인트,
클립보드 복사, 대체 렌더링 등에서 주석을 구분할 수 있다.
특히 CSS로 대체 주석을 렌더링할 수 있다. 예:
/* Hide the annotated child. */
semantics > :first-child { display: none; }
/* Show all text annotations. */
semantics > annotation { display: inline; }
/* Show all HTML annotations. */
semantics > annotation-xml[encoding="text/html" i],
semantics > annotation-xml[encoding="application/xhtml+xml" i] {
display: inline-block;
}
display 속성은 CSS Display Module Level
3에서 확장되어 새로운 inner display 타입을 제공한다:
| Name: | display |
|---|---|
| New values: | <display-outside> || [ <display-inside> | math ] |
MathML 요소가 아닌 요소에 대해 display의 지정값이
block math 또는
inline math일 경우 계산값은
각각 block flow, inline flow가 된다.
mtable
요소는 계산값이 block table 및
inline table이 된다.
mtr
요소는 계산값이 table-row가 된다.
mtd
요소는 계산값이 table-cell이 된다.
MathML 요소가
계산된 display 값이
block math 또는 inline math와 같을 경우, 관련 절에 명시된 대로 태그 이름에 따라 box 생성 및 레이아웃을 제어한다.
알 수 없는 MathML 요소는
mrow
요소와 동일하게 동작한다.
display: block math 및
display: inline math 값은 MathML 요소에 디폴트 레이아웃을 제공하면서도
본래 display 값이나
커스텀 값으로 오버라이드가 가능하다.
이는 저자나 polyfill이 MathML Core을 세밀하게 확장/조정할 수 있음을 의미한다.
아래 예제에서는 MathML
mrow
요소의 디폴트 레이아웃이 그리드 렌더링으로 오버라이드 되었다.
<math>
<msup>
<mrow>
<mo symmetric="false">[</mo>
<mrow style="display: block; width: 4.5em;">
<mrow style="display: grid;
grid-template-columns: 1.5em 1.5em 1.5em;
grid-template-rows: 1.5em 1.5em;
justify-items: center;
align-items: center;">
<mn>12</mn>
<mn>34</mn>
<mn>56</mn>
<mn>7</mn>
<mn>8</mn>
<mn>9</mn>
</mrow>
</mrow>
<mo symmetric="false">]</mo>
</mrow>
<mi>α</mi>
</msup>
</math>
text-transform 속성은 CSS Text Module Level 4에 새 값
math-auto가 추가되었다.
한글자로 이루어진 텍스트 노드에서 계산값이 math-auto이고 그 글자가 C.1
italic 매핑의 "Original" 열에 있으면 해당하는 "italic" 열의 글자로 변환된다.
관습적으로 함수 이름 등 여러 글자로 된 식별자(예: "exp")는 일반 스타일로, 한 글자로 된 변수(예: "n")는 이탤릭 스타일로 나타낸다.
math-auto 속성은 이러한 기본 동작을 구현하며 필요시 저자가 오버라이드 할 수 있다.
수학용 서체에는 유니코드 C.1
italic 매핑 영역에
별도의 수학용 이탤릭 글리프가 있으므로 일반 이탤릭 스타일과는 다르다.
아래 수식은 Latin Modern Math 폰트로
font-style: italic(왼쪽)과
text-transform: math-auto(오른쪽)으로 렌더된 예시다:
| Name: | math-style |
|---|---|
| Value: | normal | compact |
| Initial: | normal |
| Applies to: | 모든 요소 |
| Inherited: | yes |
| Percentages: | n/a |
| Computed value: | 지정 keyword |
| Canonical order: | n/a |
| Animation type: | 애니메이션 불가 |
| Media: | visual |
math-style이 compact일 때, 하위 요소의 수식 레이아웃은
논리 높이를 최소화하도록 아래 규칙을 적용한다:
math이고
math-depth 계산값이
auto-add(mfrac의
기본)
인 경우 4.5
math-depth 속성 설명과 같이 글꼴 크기를 줄인다.
largeop 속성을 가진 연산자는
3.2.4.3
연산자 레이아웃에서 설명된 크기 확대 규칙을 따르지 않는다.
movablelimits 속성을 가진 연산자에 붙은
under/overscript는
3.4.2.1
<munder>,
<mover>, <munderover>의 자식에서 설명한 대로 아래/위첨자로 렌더된다.
다음 예제는 수학 공식이
math-style: compact(왼쪽), math-style: normal(오른쪽) 상태로 각각 렌더된 모습을 보여준다.
compact는 분수 내 글꼴 크기가 줄어들고, ∑ 기호는 아래/위첨자로 한정되고,
normal에서는 ∑가 더욱 커지고 분수 안의 세로 간격이 넓어짐을 알 수 있다.
이 두 math-style 값은 보통 respectively
인라인 및 디스플레이 수식 모드에 대응한다(TeXBook).
디스플레이 모드 수식도 일부 하위 수식(첨자, 행렬 요소, 분수 분자/분모 등)은 인라인 모드로 자동 전환되기에,
기본 동작의 오버라이드가 필요할 수 있다.
math-style 속성은
user agent stylesheet에서의 구현 및 displaystyle 어트리뷰트에 적용할 수 있으며,
polyfill 구현에도 제공된다.
| Name: | math-shift |
|---|---|
| Value: | normal | compact |
| Initial: | normal |
| Applies to: | 모든 요소 |
| Inherited: | yes |
| Percentages: | n/a |
| Computed value: | 지정 keyword |
| Canonical order: | n/a |
| Animation type: | 애니메이션 불가 |
| Media: | visual |
math-shift가 compact일 때 하위 수식의 layout은
superscriptShiftUpCramped 값을 사용해 위첨자를 배치한다.
normal이면 대신 superscriptShiftUp를 사용한다.
이 속성은 MathML 스크립트 요소의 위첨자 위치에 사용된다.
자세한 내용은 § 3.4.1
아래/위첨자 <msub>, <msup>,
<msubsup>,
3.4.3
프리/포스트스크립트 <mmultiscripts> 및
3.4.2
아래/위스크립트 <munder>, <mover>,
<munderover> 참고.
아래 예제에서 두 "x 제곱"은 둘 다 math-style이 compact이고 font-size는 같다.
하지만 하나는 제곱근 안에 들어가 compact math-shift로 렌더링되고, 다른 하나는 normal math-shift로
렌더링되어, 위첨자 "2"의 미세한 차이를 보인다.
[TeXBook]에 따라 수식의 기본은 normal 스타일이지만, 일부 하위 수식(근, 분모 등)에선 compact("cramped"라고도 부름)로 변한다. math-shift 속성은 user agent stylesheet에서 이러한 규칙을 쉽게 구현할 수 있다. 페이지 저자나 polyfill 개발자도 기본 구현을 조절하는 데 사용할 수 있다.
math-depth라는 새로운 속성이 도입되어
수식의 각 요소가 수식 상위 컨테이너 대비 어느 "깊이"에 있는지를 표시한다.
이는 font-size의 지정값이 math일 때,
계산값 산출에 사용된다.
| Name: | math-depth |
|---|---|
| Value: | auto-add | add(<integer>) | <integer> |
| Initial: | 0 |
| Applies to: | 모든 요소 |
| Inherited: | yes |
| Percentages: | n/a |
| Computed value: | 아래 설명된 정수 |
| Canonical order: | n/a |
| Animation type: | 애니메이션 불가 |
| Media: | visual |
math-depth 계산값 산정 알고리즘:
auto-add이고
상속된 math-style
이 compact이면
자식의 math-depth 계산값은 상속값+1.
add(<integer>)라면 계산값은 상속값+지정값.<integer>라면 계산값은 지정값.
font-size 지정값이 math인 경우,
font-size 계산값은,
상속된 font-size에 다음 공식으로 산출한 nonzero scale factor를 곱해 얻는다:
InvertScaleFactor를 true로 둔다.InvertScaleFactor를 false로 둔다.InvertScaleFactor가 false면 S, 아니면 1/S를 반환.아래 예제는 math-style normal 상태로 Latin Modern Math 폰트에서 렌더된 예를 보여준다. 서브 수식(첨자, 분수 진입 등)에 들어가면 해당 폰트의 MATH 테이블 기준 글꼴 크기가 자동 축소된다. 슈퍼스크립트 진입 시 글꼴이 축소되고 뿌리의 프리스크립트 진입 때는 더 두드러진 축소, 내부 분수 진입 시엔 축소가 되고 바깥쪽 분수 진입 땐 그렇지 않다(분수 내부에서 math-style이 바뀜).
[TeXBook]에 정의된 이 규칙들은 미묘하기 때문에 별도의 math-depth 메커니즘으로 표현·처리한다. MathML의 경우
user agent stylesheet로 구현 가능하다.
저자나 polyfill 개발자는 이 속성을 직접 사용해 구현을 미세조정할 수 있다. 특히 MathML의 scriptlevel 속성으로도
math-depth
변경이 가능하다.
본 장에서는 OpenType 폰트의 MATH 테이블에 포함된 기능을 설명한다 [OPEN-FONT-FORMAT].
본 장 전체에서 C 스타일 표기인
Table.Subtable1[index].Subtable2.Parameter를 사용해 OpenType 파라미터를 표기한다.
이런 파라미터가 없는 경우(예: 폰트에 해당 서브테이블이 없거나, 오프셋이 무효인 경우 등)에는 대체(fallback) 옵션이 제공된다.
디자인 단위로 표현된 OpenType 값(혹은 MathValueRecord 엔트리를 통한 간접값)은
레이아웃 목적에 맞게 적절히 스케일된다.
이때 head.unitsPerEm, CSS
font-size
또는 확대/축소(zoom) 레벨을 고려한다.
다음은 first available font의 전역 레이아웃 상수이다:
post.underlineThickness 또는
상수가 없는 경우 기본 fallback 상수.
MATH.MathConstants.scriptPercentScaleDown / 100 또는
MATH.MathConstants.scriptPercentScaleDown이 없거나 null이면 0.71.
MATH.MathConstants.scriptScriptPercentScaleDown / 100 또는
MATH.MathConstants.scriptScriptPercentScaleDown이 없거나 null이면 0.5041.
MATH.MathConstants.displayOperatorMinHeight 또는
상수가 없으면 기본 fallback 상수.
MATH.MathConstants.axisHeight 또는 값이 없으면 OS/2.sxHeight의 ½.MATH.MathConstants.accentBaseHeight 또는 없으면 OS/2.sxHeight.MATH.MathConstants.subscriptShiftDown 또는 값이 없으면 OS/2.ySubscriptYOffset
MATH.MathConstants.subscriptTopMax 또는 없으면 ⅘ × OS/2.sxHeightMATH.MathConstants.subscriptBaselineDropMin 또는
없으면 기본 fallback 상수.
MATH.MathConstants.superscriptShiftUp 또는 값이 없으면 OS/2.ySuperscriptYOffset
MATH.MathConstants.superscriptShiftUpCramped 또는
없으면 기본 fallback 상수.
MATH.MathConstants.superscriptBottomMin 또는 없으면 ¼ × OS/2.sxHeightMATH.MathConstants.superscriptBaselineDropMax 또는
없으면 기본 fallback 상수.
MATH.MathConstants.subSuperscriptGapMin 또는 없으면 4 × 기본 rule 두께MATH.MathConstants.superscriptBottomMaxWithSubscript 또는 없으면 ⅘ ×
OS/2.sxHeight
MATH.MathConstants.spaceAfterScript 또는 없으면 1/24emMATH.MathConstants.upperLimitGapMin 또는 없으면 기본
fallback 상수.
MATH.MathConstants.upperLimitBaselineRiseMin 또는 없으면 기본 fallback 상수MATH.MathConstants.lowerLimitGapMin 또는 없으면 기본
fallback 상수MATH.MathConstants.lowerLimitBaselineDropMin 또는 없으면 기본 fallback 상수MATH.MathConstants.stackTopShiftUp 또는 없으면 기본
fallback 상수MATH.MathConstants.stackTopDisplayStyleShiftUp 또는 없으면 기본 fallback 상수MATH.MathConstants.stackBottomShiftDown 또는 없으면 기본
fallback 상수MATH.MathConstants.stackBottomDisplayStyleShiftDown 또는 없으면 기본 fallback 상수MATH.MathConstants.stackGapMin 또는 없으면 3 × 기본 rule
두께MATH.MathConstants.stackDisplayStyleGapMin 또는 없으면 7 × 기본 rule 두께MATH.MathConstants.stretchStackTopShiftUp 또는 없으면 기본 fallback 상수MATH.MathConstants.stretchStackBottomShiftDown 또는 없으면 기본 fallback 상수MATH.MathConstants.stretchStackGapAboveMin 또는 없으면 기본 fallback 상수MATH.MathConstants.stretchStackGapBelowMin 또는 없으면 기본 fallback 상수MATH.MathConstants.fractionNumeratorShiftUp 또는 없으면 기본 fallback 상수MATH.MathConstants.fractionNumeratorDisplayStyleShiftUp 또는 없으면 기본 fallback 상수MATH.MathConstants.fractionDenominatorShiftDown 또는 없으면 기본 fallback 상수MATH.MathConstants.fractionDenominatorDisplayStyleShiftDown 또는 없으면 기본 fallback 상수MATH.MathConstants.fractionNumeratorGapMin 또는 없으면 기본 rule
두께MATH.MathConstants.fractionNumDisplayStyleGapMin 또는 없으면 3 × 기본 rule 두께MATH.MathConstants.fractionRuleThickness 또는 없으면 기본 rule
두께MATH.MathConstants.fractionDenominatorGapMin 또는 없으면 기본 rule 두께MATH.MathConstants.fractionDenomDisplayStyleGapMin 또는 없으면 3 × 기본 rule 두께MATH.MathConstants.overbarVerticalGap 또는 없으면 3 × 기본 rule
두께MATH.MathConstants.overbarExtraAscender 또는 없으면 기본 rule
두께MATH.MathConstants.underbarVerticalGap 또는 없으면 3 × 기본 rule
두께MATH.MathConstants.underbarExtraDescender 또는 없으면 기본 rule
두께MATH.MathConstants.radicalVerticalGap 또는 없으면 1¼ × 기본 rule
두께MATH.MathConstants.radicalDisplayStyleVerticalGap 또는 없으면 기본 rule 두께 + ¼ OS/2.sxHeightMATH.MathConstants.radicalRuleThickness 또는 없으면 기본 rule
두께MATH.MathConstants.radicalExtraAscender 또는 없으면 기본 rule
두께MATH.MathConstants.radicalKernBeforeDegree 또는 없으면 5/18emMATH.MathConstants.radicalKernAfterDegree 또는 없으면 −10/18emMATH.MathConstants.radicalDegreeBottomRaisePercent / 100.0 또는 값이 없으면 0.6다음은 first available font의 개별 글리프별 테이블이다:
MATH.MathGlyphInfo.MathItalicsCorrectionInfo 서브테이블.
요청된 글리프에 값이 있으면
MATH.MathGlyphInfo.MathItalicsCorrectionInfo.italicsCorrection를 사용,
없으면 0을 사용.
MATH.MathGlyphInfo.MathTopAccentAttachment 서브테이블.
inline axis를 따라 math accent의 위치 지정에 사용.
요청된 글리프에 값이 있으면
MATH.MathGlyphInfo.MathTopAccentAttachment.topAccentAttachment를 사용,
없으면 해당 글리프의 advance width의 절반을 사용.
이 절은 MATH.MathVariants 테이블을 이용해 임의 크기로 늘어나는(stretchy) 글리프 처리 방법을 다룬다.
본 절은 [OPEN-TYPE-MATH-IN-HARFBUZZ]를 참고했다. 편의를 위해 아래 용어를 사용한다:
MATH.MathVariant.minConnectorOverlap
GlyphPartRecord는
GlyphPartRecord.partFlags에 fExtender 플래그가 있으면 extender다.
MathVariant.horizGlyphConstructionOffsets에서 생성된 경우 horizontal,
아니면 vertical (MathVariant.vertGlyphConstructionOffsets).
GlyphAssembly 테이블에 대해
NExt
(extender 개수),
NNonExt (non-extender 개수):
GlyphAssembly.partRecords 내부 각각 extender/non-extender의 개수.
GlyphAssembly 테이블에 대해
SExt
(extender의 fullAdvance 합),
SNonExt (non-extender의 fullAdvance 합).
User agent는 GlyphAssembly가 아래 조건을 모두 만족하지 않으면 이를 무효로 취급해야 한다:
GlyphAssembly.partRecords의 각 GlyphPartRecord에서
startConnectorLength와 endConnectorLength 값은 반드시 omin 이상이어야
한다.
본 명세에서 글리프 assembly의 extender는 r번 반복되고 overlap o를 사용한다. 이때 글리프 수는 AssemblyGlyphCount(r) = NNonExt + r NExt, stretch size는 AssembySize(o, r) = SNonExt + r SExt − o (AssemblyGlyphCount(r) − 1).
rmin은 size가 최소 T 이상이 되기 위한 최소 반복 횟수. 즉 가장 작은 r로 AssembySize(omin, r) ≥ T. 구체적으로는 max(0, ceil((T − SNonExt + omin(NNonExt-1)) / SExt,NonOverlapping)).
omax,theorical = (AssembySize(0, rmin) − T) / (AssemblyGlyphCount(rmin) − 1) : overlap 없는 상태에서 추가 크기를 균등 분할할 경우의 이론상 최대 overlap.
omax은 각 extender를 rmin씩 반복하며 최소 T 크기 assembly를 만들 수 있는 최대 overlap. AssemblyGlyphCount(rmin) ≤ 1이면 overlap 값은 중요치 않다. 그 외에는 omax := 아래 중 최소값:
GlyphAssembly.partRecords 내부 각 엔트리의 startConnectorLength
(단, non-extender가 맨 끝이면 그 항목은 제외)
GlyphAssembly.partRecords 내부 각 엔트리의 endConnectorLength
(단, non-extender가 맨 앞이면 그 항목은 제외)
target size T에서의 glyph assembly stretch size 는 AssembySize(omax, rmin)이다.
glyph assembly width, glyph assembly ascent, glyph assembly descent을 아래와 같이 정의한다:
GlyphAssembly.partRecords 각 엔트리의 glyphID에 해당하는
advance width 의 최대값.
ascent는 주어진 target size T에서의 glyph assembly stretch
size, descent는 0.
GlyphAssembly.partRecords 각 엔트리 glyphID에
해당하는 ascent/descent 중 최대값.
glyph assembly height는 glyph assembly ascent와 glyph assembly descent의 합이다.
The 글리프 assembly shaping 은 다음 알고리즘으로 수행됨:
글리프를 block 축으로 늘렸을 때의 선호 인라인 크기 는 아래 알고리즘을 통해 계산한다:
S를 해당 글리프의 advance width로 설정
MathGlyphConstruction 테이블이 MathVariants.vertGlyphConstructionOffsets에
있다면:
MathGlyphVariantRecord들에 대해
S가 해당 variantGlyph의 advance width 이상이 되게 한다.
GlyphAssembly가 있으면,
glyph assembly width만큼 S가 충분한지 보장.
S를 반환Stretchy 글리프 shaping 알고리즘(목표 인라인/블록 치수 T로):
MathGlyphConstruction 테이블이 MathVariants.horizGlyphConstructionOffsets
(또는 MathVariants.vertGlyphConstructionOffsets)에 없으면 실패 반환.
MathGlyphConstruction.mathGlyphVariantRecord 리스트에서 advanceMeasurement가 T 이상인
variantGlyph가 있으면,
이 glyph에 대해 normal shaping/bounding box(italic 보정 포함)로 사용, 성공 반환.
GlyphAssembly가 있으면,
glyph assembly width,
glyph assembly height,
glyph assembly ascent,
glyph assembly descent와,
GlyphAssembly.italicsCorrection를 italic 보정으로 사용,
글리프 assembly shaping을 수행, 성공 반환.
@namespace url(http://www.w3.org/1998/Math/MathML);
/* 보편 규칙 */
* {
font-size: math;
display: block math;
writing-mode: horizontal-tb !important;
}
/* <math> 요소 */
math {
direction: ltr;
text-indent: 0;
letter-spacing: normal;
line-height: normal;
word-spacing: normal;
font-family: math;
font-size: inherit;
font-style: normal;
font-weight: normal;
display: inline math;
math-shift: normal;
math-style: compact;
math-depth: 0;
}
math[display="block" i] {
display: block math;
math-style: normal;
}
math[display="inline" i] {
display: inline math;
math-style: compact;
}
/* <mrow> 류 요소 */
semantics > :not(:first-child) {
display: none;
}
maction > :not(:first-child) {
display: none;
}
merror {
border: 1px solid red;
background-color: lightYellow;
}
mphantom {
visibility: hidden;
}
/* 토큰 요소 */
mi {
text-transform: math-auto;
}
/* 표 테이블 관련 */
mtable {
display: inline-table;
math-style: compact;
}
mtr {
display: table-row;
}
mtd {
display: table-cell;
/* 셀 내부 정렬은 박스 정렬 속성으로 처리 권장.
참고 https://github.com/w3c/mathml-core/issues/156 */
text-align: center;
padding: 0.5ex 0.4em;
}
/* 분수 */
mfrac {
padding-inline: 1px;
}
mfrac > * {
math-depth: auto-add;
math-style: compact;
}
mfrac > :nth-child(2) {
math-shift: compact;
}
/* 기타 scriptlevel, displaystyle, math-shift 규칙 */
mroot > :not(:first-child) {
math-depth: add(2);
math-style: compact;
}
mroot, msqrt {
math-shift: compact;
}
msub > :not(:first-child),
msup > :not(:first-child),
msubsup > :not(:first-child),
mmultiscripts > :not(:first-child),
munder > :not(:first-child),
mover > :not(:first-child),
munderover > :not(:first-child) {
math-depth: add(1);
math-style: compact;
}
munder[accentunder="true" i] > :nth-child(2),
mover[accent="true" i] > :nth-child(2),
munderover[accentunder="true" i] > :nth-child(2),
munderover[accent="true" i] > :nth-child(3) {
font-size: inherit;
}
msub > :nth-child(2),
msubsup > :nth-child(2),
mmultiscripts > :nth-child(even),
mmultiscripts > mprescripts ~ :nth-child(odd),
mover[accent="true" i] > :first-child,
munderover[accent="true" i] > :first-child {
math-shift: compact;
}
mmultiscripts > mprescripts ~ :nth-child(even) {
math-shift: inherit;
}
카테고리로 연산자 속성 설정 알고리즘은 다음과 같다:
minsize를 100%로 설정한다.maxsize를 ∞로 설정한다.lspace 및 rspace를 설정한다.stretchy,
symmetric, largeop,
movablelimits 속성 각각을 마지막 열에 포함되어 있으면 true, 아니면 false로 설정한다.
연산자 카테고리 결정 알고리즘
(Content, Form)은 다음과 같다:
Content의 UTF-16 길이가 1 또는 2가 아니면 Default 카테고리로 종료.
Content가 U+0320–U+03FF 범위의 단일 문자면 Default로 종료.
두 글자인 경우:
Content가 surrogate pair로서 U+1EEF0(ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH
WITH TATWEEL)
또는 U+1EEF1(ARABIC MATHEMATICAL OPERATOR HAH WITH DAL)이고
Form이 postfix면 I 카테고리로 종료.
Content를 첫 글자로 변경 후 3단계로 이동.
Content가
Operators_2_ascii_chars
에 있으면,
Content를
"U+0320 + 인덱스"로 대체 후 3단계로 이동.
Default 카테고리로 종료.Form이 infix이고 Content가 U+007C 또는 U+223C이면 ForceDefault로 종료.
(Content, Form)의 카테고리 값이
그림
25에서
그림 26
기준 N/A면(카테고리 L 또는 M), 해당 카테고리로 종료.
그 외는:
| 특수 테이블 | 엔트리 |
|---|---|
Operators_2_ascii_chars |
18개 엔트리(2자 ASCII 문자열):
'!!', '!=', '&&', '**', '*=', '++', '+=', '--', '-=', '->', '//', '/=', ':=', '<=', '<>', '==', '>=', '||',
|
Operators_fence |
61개 엔트리(16개 유니코드 범위):
[U+0028–U+0029], {U+005B}, {U+005D}, [U+007B–U+007D], {U+0331}, {U+2016}, [U+2018–U+2019], [U+201C–U+201D], [U+2308–U+230B], [U+2329–U+232A], [U+2772–U+2773], [U+27E6–U+27EF], {U+2980}, [U+2983–U+2999], [U+29D8–U+29DB], [U+29FC–U+29FD],
|
Operators_separator |
3개 엔트리: U+002C, U+003B, U+2063, |
| (Content, Form) 키 | 카테고리 |
|---|---|
313개 엔트리(35개 유니코드 범위) infix 폼:
[U+2190–U+2195], [U+219A–U+21AE], [U+21B0–U+21B5], {U+21B9}, [U+21BC–U+21D5], [U+21DA–U+21F0], [U+21F3–U+21FF], {U+2794}, {U+2799}, [U+279B–U+27A1], [U+27A5–U+27A6], [U+27A8–U+27AF], {U+27B1}, {U+27B3}, {U+27B5}, {U+27B8}, [U+27BA–U+27BE], [U+27F0–U+27F1], [U+27F4–U+27FF], [U+2900–U+2920], [U+2934–U+2937], [U+2942–U+2975], [U+297C–U+297F], [U+2B04–U+2B07], [U+2B0C–U+2B11], [U+2B30–U+2B3E], [U+2B40–U+2B4C], [U+2B60–U+2B65], [U+2B6A–U+2B6D], [U+2B70–U+2B73], [U+2B7A–U+2B7D], [U+2B80–U+2B87], {U+2B95}, [U+2BA0–U+2BAF], {U+2BB8},
|
A |
108개 엔트리(31개 범위) infix:
{U+002B}, {U+002D}, {U+00B1}, {U+00F7}, {U+0322}, {U+2044}, [U+2212–U+2216], [U+2227–U+222A], {U+2236}, {U+2238}, [U+228C–U+228E], [U+2293–U+2296], {U+2298}, [U+229D–U+229F], [U+22BB–U+22BD], [U+22CE–U+22CF], [U+22D2–U+22D3], [U+2795–U+2797], {U+29B8}, {U+29BC}, [U+29C4–U+29C5], [U+29F5–U+29FB], [U+2A1F–U+2A2E], [U+2A38–U+2A3A], {U+2A3E}, [U+2A40–U+2A4F], [U+2A51–U+2A63], {U+2ADB}, {U+2AF6}, {U+2AFB}, {U+2AFD},
|
B |
64개 엔트리(33개 범위) infix:
{U+0025}, {U+002A}, {U+002E}, [U+003F–U+0040], {U+005E}, {U+00B7}, {U+00D7}, {U+0323}, {U+032E}, {U+2022}, {U+2043}, [U+2217–U+2219], {U+2240}, {U+2297}, [U+2299–U+229B], [U+22A0–U+22A1], {U+22BA}, [U+22C4–U+22C7], [U+22C9–U+22CC], [U+2305–U+2306], {U+27CB}, {U+27CD}, [U+29C6–U+29C8], [U+29D4–U+29D7], {U+29E2}, [U+2A1D–U+2A1E], [U+2A2F–U+2A37], [U+2A3B–U+2A3D], {U+2A3F}, {U+2A50}, [U+2A64–U+2A65], [U+2ADC–U+2ADD], {U+2AFE},
|
C |
52개 엔트리(22개 범위) prefix:
{U+0021}, {U+002B}, {U+002D}, {U+00AC}, {U+00B1}, {U+0331}, {U+2018}, {U+201C}, [U+2200–U+2201], [U+2203–U+2204], {U+2207}, [U+2212–U+2213], [U+221F–U+2222], [U+2234–U+2235], {U+223C}, [U+22BE–U+22BF], {U+2310}, {U+2319}, [U+2795–U+2796], {U+27C0}, [U+299B–U+29AF], [U+2AEC–U+2AED],
|
D |
40개 엔트리(21개 범위) postfix:
[U+0021–U+0022], [U+0025–U+0027], {U+0060}, {U+00A8}, {U+00B0}, [U+00B2–U+00B4], [U+00B8–U+00B9], [U+02CA–U+02CB], [U+02D8–U+02DA], {U+02DD}, {U+0311}, {U+0320}, {U+0325}, {U+0327}, {U+0331}, [U+2019–U+201B], [U+201D–U+201F], [U+2032–U+2037], {U+2057}, [U+20DB–U+20DC], {U+23CD},
|
E |
30개 엔트리 prefix:
U+0028, U+005B, U+007B, U+007C, U+2016, U+2308, U+230A, U+2329, U+2772, U+27E6, U+27E8, U+27EA, U+27EC, U+27EE, U+2980, U+2983, U+2985, U+2987, U+2989, U+298B, U+298D, U+298F, U+2991, U+2993, U+2995, U+2997, U+2999, U+29D8, U+29DA, U+29FC,
|
F |
30개 엔트리 postfix:
U+0029, U+005D, U+007C, U+007D, U+2016, U+2309, U+230B, U+232A, U+2773, U+27E7, U+27E9, U+27EB, U+27ED, U+27EF, U+2980, U+2984, U+2986, U+2988, U+298A, U+298C, U+298E, U+2990, U+2992, U+2994, U+2996, U+2998, U+2999, U+29D9, U+29DB, U+29FD,
|
G |
27개 엔트리(2개 범위) prefix:
[U+222B–U+2233], [U+2A0B–U+2A1C],
|
H |
22개 엔트리(13개 범위) postfix:
[U+005E–U+005F], {U+007E}, {U+00AF}, [U+02C6–U+02C7], {U+02C9}, {U+02CD}, {U+02DC}, {U+02F7}, {U+0302}, {U+203E}, [U+2322–U+2323], [U+23B4–U+23B5], [U+23DC–U+23E1],
|
I |
22개 엔트리(6개 범위) prefix:
[U+220F–U+2211], [U+22C0–U+22C3], [U+2A00–U+2A0A], [U+2A1D–U+2A1E], {U+2AFC}, {U+2AFF},
|
J |
8개 엔트리(5개 범위) infix:
{U+002F}, {U+005C}, {U+005F}, [U+2061–U+2064], {U+2206},
|
K |
6개 엔트리(3개 범위) prefix:
[U+2145–U+2146], {U+2202}, [U+221A–U+221C],
|
L |
3개 엔트리 infix: U+002C, U+003A, U+003B, |
M |
| 카테고리 | Form | Encoding | lspace | rspace | 속성 |
|---|---|---|---|---|---|
| Default | N/A | N/A | 0.2777777777777778em |
0.2777777777777778em |
N/A |
| ForceDefault | N/A | N/A | 0.2777777777777778em |
0.2777777777777778em |
N/A |
| A | infix | 0x0 | 0.2777777777777778em |
0.2777777777777778em |
stretchy |
| B | infix | 0x4 | 0.2222222222222222em |
0.2222222222222222em |
N/A |
| C | infix | 0x8 | 0.16666666666666666em |
0.16666666666666666em |
N/A |
| D | prefix | 0x1 | 0 |
0 |
N/A |
| E | postfix | 0x2 | 0 |
0 |
N/A |
| F | prefix | 0x5 | 0 |
0 |
stretchy symmetric |
| G | postfix | 0x6 | 0 |
0 |
stretchy symmetric |
| H | prefix | 0x9 | 0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| I | postfix | 0xA | 0 |
0 |
stretchy |
| J | prefix | 0xD | 0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| K | infix | 0xC | 0 |
0 |
N/A |
| L | prefix | N/A | 0.16666666666666666em |
0 |
N/A |
| M | infix | N/A | 0 |
0.16666666666666666em |
N/A |
{0x8025}, {0x802A}, {0x402B}, {0x402D}, {0x802E}, {0xC02F}, [0x803F–0x8040], {0xC05C}, {0x805E}, {0xC05F}, {0x40B1}, {0x80B7}, {0x80D7}, {0x40F7}, {0x4322}, {0x8323}, {0x832E}, {0x8422}, {0x8443}, {0x4444}, [0xC461–0xC464], [0x0590–0x0595], [0x059A–0x05A9], [0x05AA–0x05AE], [0x05B0–0x05B5], {0x05B9}, [0x05BC–0x05CB], [0x05CC–0x05D5], [0x05DA–0x05E9], [0x05EA–0x05F0], [0x05F3–0x05FF], {0xC606}, [0x4612–0x4616], [0x8617–0x8619], [0x4627–0x462A], {0x4636}, {0x4638}, {0x8640}, [0x468C–0x468E], [0x4693–0x4696], {0x8697}, {0x4698}, [0x8699–0x869B], [0x469D–0x469F], [0x86A0–0x86A1], {0x86BA}, [0x46BB–0x46BD], [0x86C4–0x86C7], [0x86C9–0x86CC], [0x46CE–0x46CF], [0x46D2–0x46D3], [0x8705–0x8706], {0x0B94}, [0x4B95–0x4B97], {0x0B99}, [0x0B9B–0x0BA1], [0x0BA5–0x0BA6], [0x0BA8–0x0BAF], {0x0BB1}, {0x0BB3}, {0x0BB5}, {0x0BB8}, [0x0BBA–0x0BBE], {0x8BCB}, {0x8BCD}, [0x0BF0–0x0BF1], [0x0BF4–0x0BFF], [0x0D00–0x0D0F], [0x0D10–0x0D1F], {0x0D20}, [0x0D34–0x0D37], [0x0D42–0x0D51], [0x0D52–0x0D61], [0x0D62–0x0D71], [0x0D72–0x0D75], [0x0D7C–0x0D7F], {0x4DB8}, {0x4DBC}, [0x4DC4–0x4DC5], [0x8DC6–0x8DC8], [0x8DD4–0x8DD7], {0x8DE2}, [0x4DF5–0x4DFB], [0x8E1D–0x8E1E], [0x4E1F–0x4E2E], [0x8E2F–0x8E37], [0x4E38–0x4E3A], [0x8E3B–0x8E3D], {0x4E3E}, {0x8E3F}, [0x4E40–0x4E4F], {0x8E50}, [0x4E51–0x4E60], [0x4E61–0x4E63], [0x8E64–0x8E65], {0x4EDB}, [0x8EDC–0x8EDD], {0x4EF6}, {0x4EFB}, {0x4EFD}, {0x8EFE}, [0x0F04–0x0F07], [0x0F0C–0x0F11], [0x0F30–0x0F3E], [0x0F40–0x0F4C], [0x0F60–0x0F65], [0x0F6A–0x0F6D], [0x0F70–0x0F73], [0x0F7A–0x0F7D], [0x0F80–0x0F87], {0x0F95}, [0x0FA0–0x0FAF], {0x0FB8}, {0x1021}, {0x5028}, {0x102B}, {0x102D}, {0x505B}, [0x507B–0x507C], {0x10AC}, {0x10B1}, {0x1331}, {0x5416}, {0x1418}, {0x141C}, [0x1600–0x1601], [0x1603–0x1604], {0x1607}, [0xD60F–0xD611], [0x1612–0x1613], [0x161F–0x1622], [0x962B–0x9633], [0x1634–0x1635], {0x163C}, [0x16BE–0x16BF], [0xD6C0–0xD6C3], {0x5708}, {0x570A}, {0x1710}, {0x1719}, {0x5729}, {0x5B72}, [0x1B95–0x1B96], {0x1BC0}, {0x5BE6}, {0x5BE8}, {0x5BEA}, {0x5BEC}, {0x5BEE}, {0x5D80}, {0x5D83}, {0x5D85}, {0x5D87}, {0x5D89}, {0x5D8B}, {0x5D8D}, {0x5D8F}, {0x5D91}, {0x5D93}, {0x5D95}, {0x5D97}, {0x5D99}, [0x1D9B–0x1DAA], [0x1DAB–0x1DAF], {0x5DD8}, {0x5DDA}, {0x5DFC}, [0xDE00–0xDE0A], [0x9E0B–0x9E1A], [0x9E1B–0x9E1C], [0xDE1D–0xDE1E], [0x1EEC–0x1EED], {0xDEFC}, {0xDEFF}, [0x2021–0x2022], [0x2025–0x2027], {0x6029}, {0x605D}, [0xA05E–0xA05F], {0x2060}, [0x607C–0x607D], {0xA07E}, {0x20A8}, {0xA0AF}, {0x20B0}, [0x20B2–0x20B4], [0x20B8–0x20B9], [0xA2C6–0xA2C7], {0xA2C9}, [0x22CA–0x22CB], {0xA2CD}, [0x22D8–0x22DA], {0xA2DC}, {0x22DD}, {0xA2F7}, {0xA302}, {0x2311}, {0x2320}, {0x2325}, {0x2327}, {0x2331}, {0x6416}, [0x2419–0x241B], [0x241D–0x241F], [0x2432–0x2437], {0xA43E}, {0x2457}, [0x24DB–0x24DC], {0x6709}, {0x670B}, [0xA722–0xA723], {0x672A}, [0xA7B4–0xA7B5], {0x27CD}, [0xA7DC–0xA7E1], {0x6B73}, {0x6BE7}, {0x6BE9}, {0x6BEB}, {0x6BED}, {0x6BEF}, {0x6D80}, {0x6D84}, {0x6D86}, {0x6D88}, {0x6D8A}, {0x6D8C}, {0x6D8E}, {0x6D90}, {0x6D92}, {0x6D94}, {0x6D96}, [0x6D98–0x6D99], {0x6DD9}, {0x6DDB}, {0x6DFD},
Key = Entry % 0x4000, 카테고리 인코딩 = Entry / 0x1000.
유니코드 문자 c의 고유 stretch axis는 아래 목록에 있으면 inline이다.
없으면 고유 stretch axis는 block이다.
U+003D,
U+005E,
U+005F,
U+007E,
U+00AF,
U+02C6,
U+02C7,
U+02C9,
U+02CD,
U+02DC,
U+02F7,
U+0302,
U+0332,
U+203E,
U+20D0,
U+20D1,
U+20D6,
U+20D7,
U+20E1,
U+2190,
U+2192,
U+2194,
U+2198,
U+2199,
U+219A,
U+219B,
U+219C,
U+219D,
U+219E,
U+21A0,
U+21A2,
U+21A3,
U+21A4,
U+21A6,
U+21A9,
U+21AA,
U+21AB,
U+21AC,
U+21AD,
U+21AE,
U+21B4,
U+21B9,
U+21BC,
U+21BD,
U+21C0,
U+21C1,
U+21C4,
U+21C6,
U+21C7,
U+21C9,
U+21CB,
U+21CC,
U+21CD,
U+21CE,
U+21CF,
U+21D0,
U+21D2,
U+21D4,
U+21DA,
U+21DB,
U+21DC,
U+21DD,
U+21E0,
U+21E2,
U+21E4,
U+21E5,
U+21E6,
U+21E8,
U+21F0,
U+21F4,
U+21F6,
U+21F7,
U+21F8,
U+21F9,
U+21FA,
U+21FB,
U+21FC,
U+21FD,
U+21FE,
U+21FF,
U+2322,
U+2323,
U+23B4,
U+23B5,
U+23DC,
U+23DD,
U+23DE,
U+23DF,
U+23E0,
U+23E1,
U+2500,
U+2794,
U+2799,
U+279B,
U+279C,
U+279D,
U+279E,
U+279F,
U+27A0,
U+27A1,
U+27A5,
U+27A6,
U+27A8,
U+27A9,
U+27AA,
U+27AB,
U+27AC,
U+27AD,
U+27AE,
U+27AF,
U+27B1,
U+27B3,
U+27B5,
U+27B8,
U+27BA,
U+27BB,
U+27BC,
U+27BD,
U+27BE,
U+27F4,
U+27F5,
U+27F6,
U+27F7,
U+27F8,
U+27F9,
U+27FA,
U+27FB,
U+27FC,
U+27FD,
U+27FE,
U+27FF,
U+2900,
U+2901,
U+2902,
U+2903,
U+2904,
U+2905,
U+2906,
U+2907,
U+290C,
U+290D,
U+290E,
U+290F,
U+2910,
U+2911,
U+2914,
U+2915,
U+2916,
U+2917,
U+2918,
U+2919,
U+291A,
U+291B,
U+291C,
U+291D,
U+291E,
U+291F,
U+2920,
U+2942,
U+2943,
U+2944,
U+2945,
U+2946,
U+2947,
U+2948,
U+294A,
U+294B,
U+294E,
U+2950,
U+2952,
U+2953,
U+2956,
U+2957,
U+295A,
U+295B,
U+295E,
U+295F,
U+2962,
U+2964,
U+2966,
U+2967,
U+2968,
U+2969,
U+296A,
U+296B,
U+296C,
U+296D,
U+2970,
U+2971,
U+2972,
U+2973,
U+2974,
U+2975,
U+297C,
U+297D,
U+2B04,
U+2B05,
U+2B0C,
U+2B30,
U+2B31,
U+2B32,
U+2B33,
U+2B34,
U+2B35,
U+2B36,
U+2B37,
U+2B38,
U+2B39,
U+2B3A,
U+2B3B,
U+2B3C,
U+2B3D,
U+2B3E,
U+2B40,
U+2B41,
U+2B42,
U+2B43,
U+2B44,
U+2B45,
U+2B46,
U+2B47,
U+2B48,
U+2B49,
U+2B4A,
U+2B4B,
U+2B4C,
U+2B60,
U+2B62,
U+2B64,
U+2B6A,
U+2B6C,
U+2B70,
U+2B72,
U+2B7A,
U+2B7C,
U+2B80,
U+2B82,
U+2B84,
U+2B86,
U+2B95,
U+FE35,
U+FE36,
U+FE37,
U+FE38,
U+1EEF0,
U+1EEF1,
이 절은 비규범적입니다.
다음 사전은 B.1 연산자 사전의 사람이 읽기 쉬운
버전을 제공합니다.
사전 사용법과
Content와 Form 값을 어떻게 사전의 인덱스로 사용하는지에 대한 설명은
3.2.4.2 사전 기반 속성을
참조하세요.
rspace와 lspace의 값은 각 열에 표시되어 있습니다.
stretchy,
symmetric,
largeop,
movablelimits
값은 "properties" 열에 목록이 있다면 true입니다.
| Content | Stretch Axis | form | lspace | rspace | properties |
|---|---|---|---|---|---|
| < U+003C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| = U+003D | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| > U+003E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| | U+007C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
fence |
| ↖ U+2196 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ↗ U+2197 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ↘ U+2198 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ↙ U+2199 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ↯ U+21AF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ↶ U+21B6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ↷ U+21B7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ↸ U+21B8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ↺ U+21BA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ↻ U+21BB | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⇖ U+21D6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⇗ U+21D7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⇘ U+21D8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⇙ U+21D9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⇱ U+21F1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⇲ U+21F2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∈ U+2208 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∉ U+2209 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∊ U+220A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∋ U+220B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∌ U+220C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∍ U+220D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∝ U+221D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∣ U+2223 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∤ U+2224 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∥ U+2225 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∦ U+2226 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∷ U+2237 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∹ U+2239 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∺ U+223A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∻ U+223B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∼ U+223C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∽ U+223D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ∾ U+223E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≁ U+2241 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≂ U+2242 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≃ U+2243 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≄ U+2244 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≅ U+2245 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≆ U+2246 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≇ U+2247 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≈ U+2248 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≉ U+2249 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≊ U+224A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≋ U+224B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≌ U+224C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≍ U+224D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≎ U+224E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≏ U+224F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≐ U+2250 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≑ U+2251 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≒ U+2252 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≓ U+2253 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≔ U+2254 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≕ U+2255 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≖ U+2256 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≗ U+2257 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≘ U+2258 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≙ U+2259 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≚ U+225A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≛ U+225B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≜ U+225C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≝ U+225D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≞ U+225E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≟ U+225F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≠ U+2260 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≡ U+2261 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≢ U+2262 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≣ U+2263 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≤ U+2264 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≥ U+2265 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≦ U+2266 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≧ U+2267 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≨ U+2268 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≩ U+2269 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≪ U+226A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≫ U+226B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≬ U+226C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≭ U+226D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≮ U+226E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≯ U+226F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≰ U+2270 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≱ U+2271 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≲ U+2272 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≳ U+2273 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≴ U+2274 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≵ U+2275 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≶ U+2276 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≷ U+2277 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≸ U+2278 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≹ U+2279 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≺ U+227A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≻ U+227B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≼ U+227C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≽ U+227D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≾ U+227E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ≿ U+227F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊀ U+2280 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊁ U+2281 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊂ U+2282 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊃ U+2283 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊄ U+2284 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊅ U+2285 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊆ U+2286 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊇ U+2287 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊈ U+2288 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊉ U+2289 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊊ U+228A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊋ U+228B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊏ U+228F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊐ U+2290 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊑ U+2291 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊒ U+2292 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊜ U+229C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊢ U+22A2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊣ U+22A3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊦ U+22A6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊧ U+22A7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊨ U+22A8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊩ U+22A9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊪ U+22AA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊫ U+22AB | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊬ U+22AC | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊭ U+22AD | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊮ U+22AE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊯ U+22AF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊰ U+22B0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊱ U+22B1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊲ U+22B2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊳ U+22B3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊴ U+22B4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊵ U+22B5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊶ U+22B6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊷ U+22B7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⊸ U+22B8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋈ U+22C8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋍ U+22CD | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋐ U+22D0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋑ U+22D1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋔ U+22D4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋕ U+22D5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋖ U+22D6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋗ U+22D7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋘ U+22D8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋙ U+22D9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋚ U+22DA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋛ U+22DB | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋜ U+22DC | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋝ U+22DD | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋞ U+22DE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋟ U+22DF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋠ U+22E0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋡ U+22E1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋢ U+22E2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋣ U+22E3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋤ U+22E4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋥ U+22E5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋦ U+22E6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋧ U+22E7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋨ U+22E8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋩ U+22E9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋪ U+22EA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋫ U+22EB | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋬ U+22EC | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋭ U+22ED | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋲ U+22F2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋳ U+22F3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋴ U+22F4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋵ U+22F5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋶ U+22F6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋷ U+22F7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋸ U+22F8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋹ U+22F9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋺ U+22FA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋻ U+22FB | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋼ U+22FC | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋽ U+22FD | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋾ U+22FE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⋿ U+22FF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⌁ U+2301 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⍼ U+237C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⎋ U+238B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ➘ U+2798 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ➚ U+279A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ➧ U+27A7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ➲ U+27B2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ➴ U+27B4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ➶ U+27B6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ➷ U+27B7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ➹ U+27B9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⟂ U+27C2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⟲ U+27F2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⟳ U+27F3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤡ U+2921 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤢ U+2922 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤣ U+2923 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤤ U+2924 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤥ U+2925 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤦ U+2926 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤧ U+2927 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤨ U+2928 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤩ U+2929 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤪ U+292A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤫ U+292B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤬ U+292C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤭ U+292D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤮ U+292E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤯ U+292F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤰ U+2930 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤱ U+2931 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤲ U+2932 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤳ U+2933 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤸ U+2938 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤹ U+2939 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤺ U+293A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤻ U+293B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤼ U+293C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤽ U+293D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤾ U+293E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⤿ U+293F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⥀ U+2940 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⥁ U+2941 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⥶ U+2976 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⥷ U+2977 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⥸ U+2978 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⥹ U+2979 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⥺ U+297A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⥻ U+297B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⦁ U+2981 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⦂ U+2982 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⦶ U+29B6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⦷ U+29B7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⦹ U+29B9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧀ U+29C0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧁ U+29C1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧎ U+29CE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧏ U+29CF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧐ U+29D0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧑ U+29D1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧒ U+29D2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧓ U+29D3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧟ U+29DF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧡ U+29E1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧣ U+29E3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧤ U+29E4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧥ U+29E5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧦ U+29E6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⧴ U+29F4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩦ U+2A66 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩧ U+2A67 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩨ U+2A68 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩩ U+2A69 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩪ U+2A6A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩫ U+2A6B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩬ U+2A6C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩭ U+2A6D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩮ U+2A6E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩯ U+2A6F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩰ U+2A70 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩱ U+2A71 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩲ U+2A72 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩳ U+2A73 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩴ U+2A74 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩵ U+2A75 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩶ U+2A76 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩷ U+2A77 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩸ U+2A78 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩹ U+2A79 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩺ U+2A7A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩻ U+2A7B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩼ U+2A7C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩽ U+2A7D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩾ U+2A7E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⩿ U+2A7F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪀ U+2A80 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪁ U+2A81 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪂ U+2A82 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪃ U+2A83 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪄ U+2A84 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪅ U+2A85 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪆ U+2A86 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪇ U+2A87 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪈ U+2A88 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪉ U+2A89 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪊ U+2A8A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪋ U+2A8B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪌ U+2A8C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪍ U+2A8D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪎ U+2A8E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪏ U+2A8F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪐ U+2A90 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪑ U+2A91 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪒ U+2A92 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪓ U+2A93 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪔ U+2A94 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪕ U+2A95 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪖ U+2A96 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪗ U+2A97 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪘ U+2A98 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪙ U+2A99 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪚ U+2A9A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪛ U+2A9B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪜ U+2A9C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪝ U+2A9D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪞ U+2A9E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪟ U+2A9F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪠ U+2AA0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪡ U+2AA1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪢ U+2AA2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪣ U+2AA3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪤ U+2AA4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪥ U+2AA5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪦ U+2AA6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪧ U+2AA7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪨ U+2AA8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪩ U+2AA9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪪ U+2AAA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪫ U+2AAB | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪬ U+2AAC | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪭ U+2AAD | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪮ U+2AAE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪯ U+2AAF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪰ U+2AB0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪱ U+2AB1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪲ U+2AB2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪳ U+2AB3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪴ U+2AB4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪵ U+2AB5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪶ U+2AB6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪷ U+2AB7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪸ U+2AB8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪹ U+2AB9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪺ U+2ABA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪻ U+2ABB | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪼ U+2ABC | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪽ U+2ABD | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪾ U+2ABE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⪿ U+2ABF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫀ U+2AC0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫁ U+2AC1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫂ U+2AC2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫃ U+2AC3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫄ U+2AC4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫅ U+2AC5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫆ U+2AC6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫇ U+2AC7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫈ U+2AC8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫉ U+2AC9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫊ U+2ACA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫋ U+2ACB | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫌ U+2ACC | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫍ U+2ACD | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫎ U+2ACE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫏ U+2ACF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫐ U+2AD0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫑ U+2AD1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫒ U+2AD2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫓ U+2AD3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫔ U+2AD4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫕ U+2AD5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫖ U+2AD6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫗ U+2AD7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫘ U+2AD8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫙ U+2AD9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫚ U+2ADA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫞ U+2ADE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫟ U+2ADF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫠ U+2AE0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫡ U+2AE1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫢ U+2AE2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫣ U+2AE3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫤ U+2AE4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫥ U+2AE5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫦ U+2AE6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫧ U+2AE7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫨ U+2AE8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫩ U+2AE9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫪ U+2AEA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫫ U+2AEB | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫮ U+2AEE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫲ U+2AF2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫳ U+2AF3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫴ U+2AF4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫵ U+2AF5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫷ U+2AF7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫸ U+2AF8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫹ U+2AF9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⫺ U+2AFA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⬀ U+2B00 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⬁ U+2B01 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⬂ U+2B02 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⬃ U+2B03 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⬈ U+2B08 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⬉ U+2B09 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⬊ U+2B0A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⬋ U+2B0B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⬿ U+2B3F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭍ U+2B4D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭎ U+2B4E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭏ U+2B4F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭚ U+2B5A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭛ U+2B5B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭜ U+2B5C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭝ U+2B5D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭞ U+2B5E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭟ U+2B5F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭦ U+2B66 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭧ U+2B67 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭨ U+2B68 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭩ U+2B69 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭮ U+2B6E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭯ U+2B6F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭶ U+2B76 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭷ U+2B77 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭸ U+2B78 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⭹ U+2B79 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮈ U+2B88 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮉ U+2B89 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮊ U+2B8A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮋ U+2B8B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮌ U+2B8C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮍ U+2B8D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮎ U+2B8E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮏ U+2B8F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮔ U+2B94 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮰ U+2BB0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮱ U+2BB1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮲ U+2BB2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮳ U+2BB3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮴ U+2BB4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮵ U+2BB5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮶ U+2BB6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⮷ U+2BB7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| ⯑ U+2BD1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String != U+0021 U+003D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String *= U+002A U+003D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String += U+002B U+003D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String -= U+002D U+003D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String -> U+002D U+003E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String // U+002F U+002F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String /= U+002F U+003D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String := U+003A U+003D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String <= U+003C U+003D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String == U+003D U+003D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String >= U+003E U+003D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
N/A |
| String || U+007C U+007C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
fence |
| ← U+2190 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↑ U+2191 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| → U+2192 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↓ U+2193 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↔ U+2194 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↕ U+2195 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↚ U+219A | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↛ U+219B | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↜ U+219C | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↝ U+219D | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↞ U+219E | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↟ U+219F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↠ U+21A0 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↡ U+21A1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↢ U+21A2 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↣ U+21A3 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↤ U+21A4 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↥ U+21A5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↦ U+21A6 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↧ U+21A7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↨ U+21A8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↩ U+21A9 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↪ U+21AA | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↫ U+21AB | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↬ U+21AC | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↭ U+21AD | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↮ U+21AE | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↰ U+21B0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↱ U+21B1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↲ U+21B2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↳ U+21B3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↴ U+21B4 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↵ U+21B5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↹ U+21B9 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↼ U+21BC | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↽ U+21BD | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↾ U+21BE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ↿ U+21BF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇀ U+21C0 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇁ U+21C1 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇂ U+21C2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇃ U+21C3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇄ U+21C4 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇅ U+21C5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇆ U+21C6 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇇ U+21C7 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇈ U+21C8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇉ U+21C9 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇊ U+21CA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇋ U+21CB | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇌ U+21CC | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇍ U+21CD | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇎ U+21CE | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇏ U+21CF | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇐ U+21D0 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇑ U+21D1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇒ U+21D2 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇓ U+21D3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇔ U+21D4 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇕ U+21D5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇚ U+21DA | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇛ U+21DB | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇜ U+21DC | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇝ U+21DD | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇞ U+21DE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇟ U+21DF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇠ U+21E0 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇡ U+21E1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇢ U+21E2 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇣ U+21E3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇤ U+21E4 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇥ U+21E5 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇦ U+21E6 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇧ U+21E7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇨ U+21E8 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇩ U+21E9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇪ U+21EA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇫ U+21EB | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇬ U+21EC | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇭ U+21ED | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇮ U+21EE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇯ U+21EF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇰ U+21F0 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇳ U+21F3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇴ U+21F4 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇵ U+21F5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇶ U+21F6 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇷ U+21F7 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇸ U+21F8 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇹ U+21F9 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇺ U+21FA | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇻ U+21FB | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇼ U+21FC | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇽ U+21FD | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇾ U+21FE | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⇿ U+21FF | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➔ U+2794 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➙ U+2799 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➛ U+279B | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➜ U+279C | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➝ U+279D | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➞ U+279E | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➟ U+279F | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➠ U+27A0 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➡ U+27A1 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➥ U+27A5 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➦ U+27A6 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➨ U+27A8 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➩ U+27A9 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➪ U+27AA | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➫ U+27AB | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➬ U+27AC | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➭ U+27AD | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➮ U+27AE | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➯ U+27AF | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➱ U+27B1 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➳ U+27B3 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➵ U+27B5 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➸ U+27B8 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➺ U+27BA | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➻ U+27BB | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➼ U+27BC | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➽ U+27BD | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ➾ U+27BE | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟰ U+27F0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟱ U+27F1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟴ U+27F4 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟵ U+27F5 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟶ U+27F6 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟷ U+27F7 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟸ U+27F8 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟹ U+27F9 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟺ U+27FA | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟻ U+27FB | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟼ U+27FC | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟽ U+27FD | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟾ U+27FE | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⟿ U+27FF | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤀ U+2900 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤁ U+2901 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤂ U+2902 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤃ U+2903 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤄ U+2904 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤅ U+2905 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤆ U+2906 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤇ U+2907 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤈ U+2908 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤉ U+2909 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤊ U+290A | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤋ U+290B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤌ U+290C | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤍ U+290D | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤎ U+290E | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤏ U+290F | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤐ U+2910 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤑ U+2911 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤒ U+2912 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤓ U+2913 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤔ U+2914 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤕ U+2915 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤖ U+2916 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤗ U+2917 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤘ U+2918 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤙ U+2919 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤚ U+291A | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤛ U+291B | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤜ U+291C | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤝ U+291D | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤞ U+291E | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤟ U+291F | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤠ U+2920 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤴ U+2934 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤵ U+2935 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤶ U+2936 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⤷ U+2937 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥂ U+2942 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥃ U+2943 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥄ U+2944 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥅ U+2945 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥆ U+2946 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥇ U+2947 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥈ U+2948 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥉ U+2949 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥊ U+294A | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥋ U+294B | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥌ U+294C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥍ U+294D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥎ U+294E | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥏ U+294F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥐ U+2950 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥑ U+2951 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥒ U+2952 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥓ U+2953 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥔ U+2954 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥕ U+2955 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥖ U+2956 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥗ U+2957 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥘ U+2958 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥙ U+2959 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥚ U+295A | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥛ U+295B | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥜ U+295C | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥝ U+295D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥞ U+295E | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥟ U+295F | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥠ U+2960 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥡ U+2961 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥢ U+2962 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥣ U+2963 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥤ U+2964 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥥ U+2965 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥦ U+2966 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥧ U+2967 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥨ U+2968 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥩ U+2969 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥪ U+296A | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥫ U+296B | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥬ U+296C | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥭ U+296D | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥮ U+296E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥯ U+296F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥰ U+2970 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥱ U+2971 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥲ U+2972 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥳ U+2973 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥴ U+2974 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥵ U+2975 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥼ U+297C | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥽ U+297D | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥾ U+297E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⥿ U+297F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬄ U+2B04 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬅ U+2B05 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬆ U+2B06 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬇ U+2B07 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬌ U+2B0C | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬍ U+2B0D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬎ U+2B0E | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬏ U+2B0F | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬐ U+2B10 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬑ U+2B11 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬰ U+2B30 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬱ U+2B31 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬲ U+2B32 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬳ U+2B33 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬴ U+2B34 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬵ U+2B35 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬶ U+2B36 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬷ U+2B37 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬸ U+2B38 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬹ U+2B39 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬺ U+2B3A | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬻ U+2B3B | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬼ U+2B3C | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬽ U+2B3D | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⬾ U+2B3E | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭀ U+2B40 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭁ U+2B41 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭂ U+2B42 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭃ U+2B43 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭄ U+2B44 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭅ U+2B45 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭆ U+2B46 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭇ U+2B47 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭈ U+2B48 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭉ U+2B49 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭊ U+2B4A | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭋ U+2B4B | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭌ U+2B4C | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭠ U+2B60 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭡ U+2B61 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭢ U+2B62 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭣ U+2B63 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭤ U+2B64 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭥ U+2B65 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭪ U+2B6A | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭫ U+2B6B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭬ U+2B6C | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭭ U+2B6D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭰ U+2B70 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭱ U+2B71 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭲ U+2B72 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭳ U+2B73 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭺ U+2B7A | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭻ U+2B7B | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭼ U+2B7C | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⭽ U+2B7D | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮀ U+2B80 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮁ U+2B81 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮂ U+2B82 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮃ U+2B83 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮄ U+2B84 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮅ U+2B85 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮆ U+2B86 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮇ U+2B87 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮕ U+2B95 | inline | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮠ U+2BA0 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮡ U+2BA1 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮢ U+2BA2 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮣ U+2BA3 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮤ U+2BA4 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮥ U+2BA5 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮦ U+2BA6 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮧ U+2BA7 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮨ U+2BA8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮩ U+2BA9 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮪ U+2BAA | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮫ U+2BAB | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮬ U+2BAC | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮭ U+2BAD | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮮ U+2BAE | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮯ U+2BAF | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| ⮸ U+2BB8 | block | infix |
0.2777777777777778em |
0.2777777777777778em |
stretchy |
| + U+002B | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| - U+002D | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ± U+00B1 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ÷ U+00F7 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⁄ U+2044 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| − U+2212 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ∓ U+2213 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ∔ U+2214 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ∕ U+2215 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ∖ U+2216 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ∧ U+2227 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ∨ U+2228 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ∩ U+2229 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ∪ U+222A | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ∶ U+2236 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ∸ U+2238 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊌ U+228C | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊍ U+228D | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊎ U+228E | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊓ U+2293 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊔ U+2294 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊕ U+2295 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊖ U+2296 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊘ U+2298 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊝ U+229D | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊞ U+229E | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊟ U+229F | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊻ U+22BB | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊼ U+22BC | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⊽ U+22BD | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⋎ U+22CE | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⋏ U+22CF | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⋒ U+22D2 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⋓ U+22D3 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ➕ U+2795 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ➖ U+2796 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ➗ U+2797 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⦸ U+29B8 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⦼ U+29BC | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⧄ U+29C4 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⧅ U+29C5 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⧵ U+29F5 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⧶ U+29F6 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⧷ U+29F7 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⧸ U+29F8 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⧹ U+29F9 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⧺ U+29FA | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⧻ U+29FB | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨟ U+2A1F | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨠ U+2A20 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨡ U+2A21 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨢ U+2A22 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨣ U+2A23 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨤ U+2A24 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨥ U+2A25 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨦ U+2A26 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨧ U+2A27 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨨ U+2A28 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨩ U+2A29 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨪ U+2A2A | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨫ U+2A2B | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨬ U+2A2C | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨭ U+2A2D | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨮ U+2A2E | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨸ U+2A38 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨹ U+2A39 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨺ U+2A3A | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⨾ U+2A3E | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩀ U+2A40 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩁ U+2A41 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩂ U+2A42 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩃ U+2A43 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩄ U+2A44 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩅ U+2A45 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩆ U+2A46 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩇ U+2A47 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩈ U+2A48 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩉ U+2A49 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩊ U+2A4A | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩋ U+2A4B | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩌ U+2A4C | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩍ U+2A4D | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩎ U+2A4E | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩏ U+2A4F | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩑ U+2A51 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩒ U+2A52 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩓ U+2A53 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩔ U+2A54 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩕ U+2A55 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩖ U+2A56 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩗ U+2A57 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩘ U+2A58 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩙ U+2A59 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩚ U+2A5A | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩛ U+2A5B | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩜ U+2A5C | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩝ U+2A5D | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩞ U+2A5E | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩟ U+2A5F | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩠ U+2A60 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩡ U+2A61 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩢ U+2A62 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⩣ U+2A63 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⫛ U+2ADB | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⫶ U+2AF6 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⫻ U+2AFB | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| ⫽ U+2AFD | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| String && U+0026 U+0026 | block | infix |
0.2222222222222222em |
0.2222222222222222em |
N/A |
| % U+0025 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| * U+002A | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| . U+002E | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ? U+003F | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| @ U+0040 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ^ U+005E | inline | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| · U+00B7 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| × U+00D7 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| • U+2022 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⁃ U+2043 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ∗ U+2217 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ∘ U+2218 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ∙ U+2219 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ≀ U+2240 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⊗ U+2297 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⊙ U+2299 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⊚ U+229A | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⊛ U+229B | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⊠ U+22A0 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⊡ U+22A1 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⊺ U+22BA | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⋄ U+22C4 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⋅ U+22C5 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⋆ U+22C6 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⋇ U+22C7 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⋉ U+22C9 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⋊ U+22CA | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⋋ U+22CB | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⋌ U+22CC | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⌅ U+2305 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⌆ U+2306 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⟋ U+27CB | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⟍ U+27CD | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⧆ U+29C6 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⧇ U+29C7 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⧈ U+29C8 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⧔ U+29D4 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⧕ U+29D5 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⧖ U+29D6 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⧗ U+29D7 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⧢ U+29E2 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨝ U+2A1D | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨞ U+2A1E | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨯ U+2A2F | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨰ U+2A30 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨱ U+2A31 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨲ U+2A32 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨳ U+2A33 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨴ U+2A34 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨵ U+2A35 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨶ U+2A36 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨷ U+2A37 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨻ U+2A3B | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨼ U+2A3C | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨽ U+2A3D | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⨿ U+2A3F | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⩐ U+2A50 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⩤ U+2A64 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⩥ U+2A65 | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⫝̸ U+2ADC | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⫝ U+2ADD | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ⫾ U+2AFE | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| String ** U+002A U+002A | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| String <> U+003C U+003E | block | infix |
0.16666666666666666em |
0.16666666666666666em |
N/A |
| ! U+0021 | block | prefix |
0 |
0 |
N/A |
| + U+002B | block | prefix |
0 |
0 |
N/A |
| - U+002D | block | prefix |
0 |
0 |
N/A |
| ¬ U+00AC | block | prefix |
0 |
0 |
N/A |
| ± U+00B1 | block | prefix |
0 |
0 |
N/A |
| ‘ U+2018 | block | prefix |
0 |
0 |
fence |
| “ U+201C | block | prefix |
0 |
0 |
fence |
| ∀ U+2200 | block | prefix |
0 |
0 |
N/A |
| ∁ U+2201 | block | prefix |
0 |
0 |
N/A |
| ∃ U+2203 | block | prefix |
0 |
0 |
N/A |
| ∄ U+2204 | block | prefix |
0 |
0 |
N/A |
| ∇ U+2207 | block | prefix |
0 |
0 |
N/A |
| − U+2212 | block | prefix |
0 |
0 |
N/A |
| ∓ U+2213 | block | prefix |
0 |
0 |
N/A |
| ∟ U+221F | block | prefix |
0 |
0 |
N/A |
| ∠ U+2220 | block | prefix |
0 |
0 |
N/A |
| ∡ U+2221 | block | prefix |
0 |
0 |
N/A |
| ∢ U+2222 | block | prefix |
0 |
0 |
N/A |
| ∴ U+2234 | block | prefix |
0 |
0 |
N/A |
| ∵ U+2235 | block | prefix |
0 |
0 |
N/A |
| ∼ U+223C | block | prefix |
0 |
0 |
N/A |
| ⊾ U+22BE | block | prefix |
0 |
0 |
N/A |
| ⊿ U+22BF | block | prefix |
0 |
0 |
N/A |
| ⌐ U+2310 | block | prefix |
0 |
0 |
N/A |
| ⌙ U+2319 | block | prefix |
0 |
0 |
N/A |
| ➕ U+2795 | block | prefix |
0 |
0 |
N/A |
| ➖ U+2796 | block | prefix |
0 |
0 |
N/A |
| ⟀ U+27C0 | block | prefix |
0 |
0 |
N/A |
| ⦛ U+299B | block | prefix |
0 |
0 |
N/A |
| ⦜ U+299C | block | prefix |
0 |
0 |
N/A |
| ⦝ U+299D | block | prefix |
0 |
0 |
N/A |
| ⦞ U+299E | block | prefix |
0 |
0 |
N/A |
| ⦟ U+299F | block | prefix |
0 |
0 |
N/A |
| ⦠ U+29A0 | block | prefix |
0 |
0 |
N/A |
| ⦡ U+29A1 | block | prefix |
0 |
0 |
N/A |
| ⦢ U+29A2 | block | prefix |
0 |
0 |
N/A |
| ⦣ U+29A3 | block | prefix |
0 |
0 |
N/A |
| ⦤ U+29A4 | block | prefix |
0 |
0 |
N/A |
| ⦥ U+29A5 | block | prefix |
0 |
0 |
N/A |
| ⦦ U+29A6 | block | prefix |
0 |
0 |
N/A |
| ⦧ U+29A7 | block | prefix |
0 |
0 |
N/A |
| ⦨ U+29A8 | block | prefix |
0 |
0 |
N/A |
| ⦩ U+29A9 | block | prefix |
0 |
0 |
N/A |
| ⦪ U+29AA | block | prefix |
0 |
0 |
N/A |
| ⦫ U+29AB | block | prefix |
0 |
0 |
N/A |
| ⦬ U+29AC | block | prefix |
0 |
0 |
N/A |
| ⦭ U+29AD | block | prefix |
0 |
0 |
N/A |
| ⦮ U+29AE | block | prefix |
0 |
0 |
N/A |
| ⦯ U+29AF | block | prefix |
0 |
0 |
N/A |
| ⫬ U+2AEC | block | prefix |
0 |
0 |
N/A |
| ⫭ U+2AED | block | prefix |
0 |
0 |
N/A |
| String || U+007C U+007C | block | prefix |
0 |
0 |
fence |
| ! U+0021 | block | postfix |
0 |
0 |
N/A |
| " U+0022 | block | postfix |
0 |
0 |
N/A |
| % U+0025 | block | postfix |
0 |
0 |
N/A |
| & U+0026 | block | postfix |
0 |
0 |
N/A |
| ' U+0027 | block | postfix |
0 |
0 |
N/A |
| ` U+0060 | block | postfix |
0 |
0 |
N/A |
| ¨ U+00A8 | block | postfix |
0 |
0 |
N/A |
| ° U+00B0 | block | postfix |
0 |
0 |
N/A |
| ² U+00B2 | block | postfix |
0 |
0 |
N/A |
| ³ U+00B3 | block | postfix |
0 |
0 |
N/A |
| ´ U+00B4 | block | postfix |
0 |
0 |
N/A |
| ¸ U+00B8 | block | postfix |
0 |
0 |
N/A |
| ¹ U+00B9 | block | postfix |
0 |
0 |
N/A |
| ˊ U+02CA | block | postfix |
0 |
0 |
N/A |
| ˋ U+02CB | block | postfix |
0 |
0 |
N/A |
| ˘ U+02D8 | block | postfix |
0 |
0 |
N/A |
| ˙ U+02D9 | block | postfix |
0 |
0 |
N/A |
| ˚ U+02DA | block | postfix |
0 |
0 |
N/A |
| ˝ U+02DD | block | postfix |
0 |
0 |
N/A |
| ̑ U+0311 | block | postfix |
0 |
0 |
N/A |
| ’ U+2019 | block | postfix |
0 |
0 |
fence |
| ‚ U+201A | block | postfix |
0 |
0 |
N/A |
| ‛ U+201B | block | postfix |
0 |
0 |
N/A |
| ” U+201D | block | postfix |
0 |
0 |
fence |
| „ U+201E | block | postfix |
0 |
0 |
N/A |
| ‟ U+201F | block | postfix |
0 |
0 |
N/A |
| ′ U+2032 | block | postfix |
0 |
0 |
N/A |
| ″ U+2033 | block | postfix |
0 |
0 |
N/A |
| ‴ U+2034 | block | postfix |
0 |
0 |
N/A |
| ‵ U+2035 | block | postfix |
0 |
0 |
N/A |
| ‶ U+2036 | block | postfix |
0 |
0 |
N/A |
| ‷ U+2037 | block | postfix |
0 |
0 |
N/A |
| ⁗ U+2057 | block | postfix |
0 |
0 |
N/A |
| ⃛ U+20DB | block | postfix |
0 |
0 |
N/A |
| ⃜ U+20DC | block | postfix |
0 |
0 |
N/A |
| ⏍ U+23CD | block | postfix |
0 |
0 |
N/A |
| String !! U+0021 U+0021 | block | postfix |
0 |
0 |
N/A |
| String ++ U+002B U+002B | block | postfix |
0 |
0 |
N/A |
| String -- U+002D U+002D | block | postfix |
0 |
0 |
N/A |
| String || U+007C U+007C | block | postfix |
0 |
0 |
fence |
| ( U+0028 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| [ U+005B | block | prefix |
0 |
0 |
stretchy symmetric fence |
| { U+007B | block | prefix |
0 |
0 |
stretchy symmetric fence |
| | U+007C | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ‖ U+2016 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⌈ U+2308 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⌊ U+230A | block | prefix |
0 |
0 |
stretchy symmetric fence |
| 〈 U+2329 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ❲ U+2772 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⟦ U+27E6 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⟨ U+27E8 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⟪ U+27EA | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⟬ U+27EC | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⟮ U+27EE | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦀ U+2980 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦃ U+2983 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦅ U+2985 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦇ U+2987 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦉ U+2989 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦋ U+298B | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦍ U+298D | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦏ U+298F | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦑ U+2991 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦓ U+2993 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦕ U+2995 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦗ U+2997 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⦙ U+2999 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⧘ U+29D8 | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⧚ U+29DA | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ⧼ U+29FC | block | prefix |
0 |
0 |
stretchy symmetric fence |
| ) U+0029 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ] U+005D | block | postfix |
0 |
0 |
stretchy symmetric fence |
| | U+007C | block | postfix |
0 |
0 |
stretchy symmetric fence |
| } U+007D | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ‖ U+2016 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⌉ U+2309 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⌋ U+230B | block | postfix |
0 |
0 |
stretchy symmetric fence |
| 〉 U+232A | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ❳ U+2773 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⟧ U+27E7 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⟩ U+27E9 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⟫ U+27EB | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⟭ U+27ED | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⟯ U+27EF | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦀ U+2980 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦄ U+2984 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦆ U+2986 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦈ U+2988 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦊ U+298A | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦌ U+298C | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦎ U+298E | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦐ U+2990 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦒ U+2992 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦔ U+2994 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦖ U+2996 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦘ U+2998 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⦙ U+2999 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⧙ U+29D9 | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⧛ U+29DB | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ⧽ U+29FD | block | postfix |
0 |
0 |
stretchy symmetric fence |
| ∫ U+222B | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ∬ U+222C | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ∭ U+222D | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ∮ U+222E | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ∯ U+222F | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ∰ U+2230 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ∱ U+2231 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ∲ U+2232 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ∳ U+2233 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨋ U+2A0B | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨌ U+2A0C | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨍ U+2A0D | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨎ U+2A0E | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨏ U+2A0F | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨐ U+2A10 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨑ U+2A11 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨒ U+2A12 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨓ U+2A13 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨔ U+2A14 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨕ U+2A15 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨖ U+2A16 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨗ U+2A17 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨘ U+2A18 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨙ U+2A19 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨚ U+2A1A | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨛ U+2A1B | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ⨜ U+2A1C | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop |
| ^ U+005E | inline | postfix |
0 |
0 |
stretchy |
| _ U+005F | inline | postfix |
0 |
0 |
stretchy |
| ~ U+007E | inline | postfix |
0 |
0 |
stretchy |
| ¯ U+00AF | inline | postfix |
0 |
0 |
stretchy |
| ˆ U+02C6 | inline | postfix |
0 |
0 |
stretchy |
| ˇ U+02C7 | inline | postfix |
0 |
0 |
stretchy |
| ˉ U+02C9 | inline | postfix |
0 |
0 |
stretchy |
| ˍ U+02CD | inline | postfix |
0 |
0 |
stretchy |
| ˜ U+02DC | inline | postfix |
0 |
0 |
stretchy |
| ˷ U+02F7 | inline | postfix |
0 |
0 |
stretchy |
| ̂ U+0302 | inline | postfix |
0 |
0 |
stretchy |
| ‾ U+203E | inline | postfix |
0 |
0 |
stretchy |
| ⌢ U+2322 | inline | postfix |
0 |
0 |
stretchy |
| ⌣ U+2323 | inline | postfix |
0 |
0 |
stretchy |
| ⎴ U+23B4 | inline | postfix |
0 |
0 |
stretchy |
| ⎵ U+23B5 | inline | postfix |
0 |
0 |
stretchy |
| ⏜ U+23DC | inline | postfix |
0 |
0 |
stretchy |
| ⏝ U+23DD | inline | postfix |
0 |
0 |
stretchy |
| ⏞ U+23DE | inline | postfix |
0 |
0 |
stretchy |
| ⏟ U+23DF | inline | postfix |
0 |
0 |
stretchy |
| ⏠ U+23E0 | inline | postfix |
0 |
0 |
stretchy |
| ⏡ U+23E1 | inline | postfix |
0 |
0 |
stretchy |
| 𞻰 U+1EEF0 | inline | postfix |
0 |
0 |
stretchy |
| 𞻱 U+1EEF1 | inline | postfix |
0 |
0 |
stretchy |
| ∏ U+220F | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ∐ U+2210 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ∑ U+2211 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⋀ U+22C0 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⋁ U+22C1 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⋂ U+22C2 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⋃ U+22C3 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨀ U+2A00 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨁ U+2A01 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨂ U+2A02 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨃ U+2A03 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨄ U+2A04 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨅ U+2A05 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨆ U+2A06 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨇ U+2A07 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨈ U+2A08 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨉ U+2A09 | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨊ U+2A0A | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨝ U+2A1D | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⨞ U+2A1E | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⫼ U+2AFC | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| ⫿ U+2AFF | block | prefix |
0.16666666666666666em |
0.16666666666666666em |
symmetric largeop movablelimits |
| / U+002F | block | infix |
0 |
0 |
N/A |
| \ U+005C | block | infix |
0 |
0 |
N/A |
| _ U+005F | inline | infix |
0 |
0 |
N/A |
| U+2061 | block | infix |
0 |
0 |
N/A |
| U+2062 | block | infix |
0 |
0 |
N/A |
| U+2063 | block | infix |
0 |
0 |
separator |
| U+2064 | block | infix |
0 |
0 |
N/A |
| ∆ U+2206 | block | infix |
0 |
0 |
N/A |
| ⅅ U+2145 | block | prefix |
0.16666666666666666em |
0 |
N/A |
| ⅆ U+2146 | block | prefix |
0.16666666666666666em |
0 |
N/A |
| ∂ U+2202 | block | prefix |
0.16666666666666666em |
0 |
N/A |
| √ U+221A | block | prefix |
0.16666666666666666em |
0 |
N/A |
| ∛ U+221B | block | prefix |
0.16666666666666666em |
0 |
N/A |
| ∜ U+221C | block | prefix |
0.16666666666666666em |
0 |
N/A |
| , U+002C | block | infix |
0 |
0.16666666666666666em |
separator |
| : U+003A | block | infix |
0 |
0.16666666666666666em |
N/A |
| ; U+003B | block | infix |
0 |
0.16666666666666666em |
separator |
이 절은 비규범적입니다.
다음 표는 MathML 악센트 구성에서 사용될 때 간격(비결합) 문자와 결합 문자 간의 매핑을 제공합니다.
| 비결합 | 위치 | 결합 | ||
|---|---|---|---|---|
| U+002B | 더하기 기호 | below | U+031F | 결합 더하기 기호 아래 |
| U+002D | 하이픈-마이너스 | above | U+0305 | 결합 오버라인 |
| U+002D | 하이픈-마이너스 | below | U+0320 | 결합 마이너스 기호 아래 |
| U+002D | 하이픈-마이너스 | below | U+0332 | 결합 밑줄 |
| U+002E | 마침표 | above | U+0307 | 결합 위 점 |
| U+002E | 마침표 | below | U+0323 | 결합 아래 점 |
| U+005E | 서컴플렉스 악센트 | above | U+0302 | 결합 서컴플렉스 악센트 |
| U+005E | 서컴플렉스 악센트 | below | U+032D | 결합 서컴플렉스 악센트 아래 |
| U+005F | 밑줄 | below | U+0332 | 결합 밑줄 |
| U+0060 | 그래이브 악센트 | above | U+0300 | 결합 그래이브 악센트 |
| U+0060 | 그래이브 악센트 | below | U+0316 | 결합 그래이브 악센트 아래 |
| U+007E | 틸드 | above | U+0303 | 결합 틸드 |
| U+007E | 틸드 | below | U+0330 | 결합 틸드 아래 |
| U+00A8 | 분음 부호 | above | U+0308 | 결합 분음 부호 |
| U+00A8 | 분음 부호 | below | U+0324 | 결합 분음 부호 아래 |
| U+00AF | 마크론 | above | U+0304 | 결합 마크론 |
| U+00AF | 마크론 | above | U+0305 | 결합 오버라인 |
| U+00B4 | 아큐트 악센트 | above | U+0301 | 결합 아큐트 악센트 |
| U+00B4 | 아큐트 악센트 | below | U+0317 | 결합 아큐트 악센트 아래 |
| U+00B8 | 세디야 | below | U+0327 | 결합 세디야 |
| U+02C6 | 수정자 문자 서컴플렉스 악센트 | above | U+0302 | 결합 서컴플렉스 악센트 |
| U+02C7 | 카론 | above | U+030C | 결합 카론 |
| U+02C7 | 카론 | below | U+032C | 결합 카론 아래 |
| U+02D8 | 브레브 | above | U+0306 | 결합 브레브 |
| U+02D8 | 브레브 | below | U+032E | 결합 브레브 아래 |
| U+02D9 | 위 점 | above | U+0307 | 결합 위 점 |
| U+02D9 | 위 점 | below | U+0323 | 결합 아래 점 |
| U+02DB | 오고넥 | below | U+0328 | 결합 오고넥 |
| U+02DC | 스몰 틸드 | above | U+0303 | 결합 틸드 |
| U+02DC | 스몰 틸드 | below | U+0330 | 결합 틸드 아래 |
| U+02DD | 겹 아큐트 악센트 | above | U+030B | 결합 겹 아큐트 악센트 |
| U+203E | 오버라인 | above | U+0305 | 결합 오버라인 |
| U+2190 | 왼쪽 화살표 | above | U+20D6 | |
| U+2192 | 오른쪽 화살표 | above | U+20D7 | 결합 오른쪽 화살표 위 |
| U+2192 | 오른쪽 화살표 | above | U+20EF | 결합 오른쪽 화살표 아래 |
| U+2212 | 마이너스 기호 | above | U+0305 | 결합 오버라인 |
| U+2212 | 마이너스 기호 | below | U+0332 | 결합 밑줄 |
| U+27F6 | 긴 오른쪽 화살표 | above | U+20D7 | 결합 오른쪽 화살표 위 |
| U+27F6 | 긴 오른쪽 화살표 | above | U+20EF | 결합 오른쪽 화살표 아래 |
| 결합 | 위치 | 비결합 | ||
|---|---|---|---|---|
| U+0300 | 결합 그래이브 악센트 | above | U+0060 | 그래이브 악센트 |
| U+0301 | 결합 아큐트 악센트 | above | U+00B4 | 아큐트 악센트 |
| U+0302 | 결합 서컴플렉스 악센트 | above | U+005E | 서컴플렉스 악센트 |
| U+0302 | 결합 서컴플렉스 악센트 | above | U+02C6 | 수정자 서컴플렉스 악센트 |
| U+0303 | 결합 틸드 | above | U+007E | 틸드 |
| U+0303 | 결합 틸드 | above | U+02DC | 스몰 틸드 |
| U+0304 | 결합 마크론 | above | U+00AF | 마크론 |
| U+0305 | 결합 오버라인 | above | U+002D | 하이픈-마이너스 |
| U+0305 | 결합 오버라인 | above | U+00AF | 마크론 |
| U+0305 | 결합 오버라인 | above | U+203E | 오버라인 |
| U+0305 | 결합 오버라인 | above | U+2212 | 마이너스 기호 |
| U+0306 | 결합 브레브 | above | U+02D8 | 브레브 |
| U+0307 | 결합 위 점 | above | U+02E | |
| U+0307 | 결합 위 점 | above | U+002E | 마침표 |
| U+0307 | 결합 위 점 | above | U+02D9 | 위 점 |
| U+0308 | 결합 분음 부호 | above | U+00A8 | 분음 부호 |
| U+030B | 결합 겹 아큐트 악센트 | above | U+02DD | 겹 아큐트 악센트 |
| U+030C | 결합 카론 | above | U+02C7 | 카론 |
| U+0312 | 결합 뒤집힌 쉼표 위 | above | U+0B8 | |
| U+0316 | 결합 그래이브 악센트 아래 | below | U+0060 | 그래이브 악센트 |
| U+0317 | 결합 아큐트 악센트 아래 | below | U+00B4 | 아큐트 악센트 |
| U+031F | 결합 더하기 기호 아래 | below | U+002B | 더하기 기호 |
| U+0320 | 결합 마이너스 기호 아래 | below | U+002D | 하이픈-마이너스 |
| U+0323 | 결합 아래 점 | below | U+002E | 마침표 |
| U+0323 | 결합 아래 점 | below | U+02D9 | 위 점 |
| U+0324 | 결합 분음 부호 아래 | below | U+00A8 | 분음 부호 |
| U+0327 | 결합 세디야 | below | U+00B8 | 세디야 |
| U+0328 | 결합 오고넥 | below | U+02DB | 오고넥 |
| U+032C | 결합 카론 아래 | below | U+02C7 | 카론 |
| U+032D | 결합 서컴플렉스 악센트 아래 | below | U+005E | 서컴플렉스 악센트 |
| U+032E | 결합 브레브 아래 | below | U+02D8 | 브레브 |
| U+0330 | 결합 틸드 아래 | below | U+007E | 틸드 |
| U+0330 | 결합 틸드 아래 | below | U+02DC | 스몰 틸드 |
| U+0332 | 결합 밑줄 | below | U+002D | 하이픈-마이너스 |
| U+0332 | 결합 밑줄 | below | U+005F | 밑줄 |
| U+0332 | 결합 밑줄 | below | U+2212 | 마이너스 기호 |
| U+0338 | 결합 긴 솔리더스 오버레이 | over | U+02F | |
| U+20D7 | 결합 오른쪽 화살표 위 | above | U+2192 | 오른쪽 화살표 |
| U+20D7 | 결합 오른쪽 화살표 위 | above | U+27F6 | 긴 오른쪽 화살표 |
| U+20EF | 결합 오른쪽 화살표 아래 | above | U+2192 | 오른쪽 화살표 |
| U+20EF | 결합 오른쪽 화살표 아래 | above | U+27F6 | 긴 오른쪽 화살표 |
이 절은 비규범적입니다.
다음 표는 폰트가 MATH.MathVariants 테이블을 제공하지 않을 때,
주어진 기본 문자(base character)를 늘리기 위해 사용자 에이전트가 사용할 수 있는 폴백을 제공합니다.
5.3 연산자에 대한
사이즈 변형(MathVariants)
의 알고리즘은 몇 가지 조정만 제외하고 동일하게 동작합니다:
MathVariants.horizGlyphConstructionOffsets[] 항목에 해당하고;
세로(vertical)이면
MathVariants.vertGlyphConstructionOffsets[] 항목에 해당합니다.
MathGlyphConstruction.mathGlyphVariantRecord은 항상 비어 있습니다.
MathVariants.minConnectorOverlap,
GlyphPartRecord.startConnectorLength,
및 GlyphPartRecord.endConnectorLength는 0으로 취급됩니다.
MathGlyphConstruction.GlyphAssembly.partRecords 배열은 각 테이블 행에서 다음과 같이 구성됩니다:
| 기본 문자 (Base Character) | 글리프 구성 (Glyph Construction) | 익스텐더 문자 (Extender Character) | 아래/왼쪽 문자 (Bottom/Left Character) | 중간 문자 (Middle Character) | 위/오른쪽 문자 (Top/Right Character) |
|---|---|---|---|---|---|
| U+0028 ( | Vertical | U+239C ⎜ | U+239D ⎝ | N/A | U+239B ⎛ |
| U+0029 ) | Vertical | U+239F ⎟ | U+23A0 ⎠ | N/A | U+239E ⎞ |
| U+003D = | Horizontal | U+003D = | U+003D = | N/A | N/A |
| U+005B [ | Vertical | U+23A2 ⎢ | U+23A3 ⎣ | N/A | U+23A1 ⎡ |
| U+005D ] | Vertical | U+23A5 ⎥ | U+23A6 ⎦ | N/A | U+23A4 ⎤ |
| U+005F _ | Horizontal | U+005F _ | U+005F _ | N/A | N/A |
| U+007B { | Vertical | U+23AA ⎪ | U+23A9 ⎩ | U+23A8 ⎨ | U+23A7 ⎧ |
| U+007C | | Vertical | U+007C | | U+007C | | N/A | N/A |
| U+007D } | Vertical | U+23AA ⎪ | U+23AD ⎭ | U+23AC ⎬ | U+23AB ⎫ |
| U+00AF ¯ | Horizontal | U+00AF ¯ | U+00AF ¯ | N/A | N/A |
| U+2016 ‖ | Vertical | U+2016 ‖ | U+2016 ‖ | N/A | N/A |
| U+203E ‾ | Horizontal | U+203E ‾ | U+203E ‾ | N/A | N/A |
| U+2190 ← | Horizontal | U+23AF ⎯ | U+2190 ← | N/A | U+23AF ⎯ |
| U+2191 ↑ | Vertical | U+23D0 ⏐ | U+23D0 ⏐ | N/A | U+2191 ↑ |
| U+2192 → | Horizontal | U+23AF ⎯ | U+23AF ⎯ | N/A | U+2192 → |
| U+2193 ↓ | Vertical | U+23D0 ⏐ | U+2193 ↓ | N/A | U+23D0 ⏐ |
| U+2194 ↔ | Horizontal | U+23AF ⎯ | U+2190 ← | N/A | U+2192 → |
| U+2195 ↕ | Vertical | U+23D0 ⏐ | U+2193 ↓ | N/A | U+2191 ↑ |
| U+21A4 ↤ | Horizontal | U+23AF ⎯ | U+2190 ← | N/A | U+22A3 ⊣ |
| U+21A6 ↦ | Horizontal | U+23AF ⎯ | U+22A2 ⊢ | N/A | U+2192 → |
| U+21BC ↼ | Horizontal | U+23AF ⎯ | U+21BC ↼ | N/A | U+23AF ⎯ |
| U+21BD ↽ | Horizontal | U+23AF ⎯ | U+21BD ↽ | N/A | U+23AF ⎯ |
| U+21C0 ⇀ | Horizontal | U+23AF ⎯ | U+23AF ⎯ | N/A | U+21C0 ⇀ |
| U+21C1 ⇁ | Horizontal | U+23AF ⎯ | U+23AF ⎯ | N/A | U+21C1 ⇁ |
| U+2223 ∣ | Vertical | U+2223 ∣ | U+2223 ∣ | N/A | N/A |
| U+2225 ∥ | Vertical | U+2225 ∥ | U+2225 ∥ | N/A | N/A |
| U+2308 ⌈ | Vertical | U+23A2 ⎢ | U+23A2 ⎢ | N/A | U+23A1 ⎡ |
| U+2309 ⌉ | Vertical | U+23A5 ⎥ | U+23A5 ⎥ | N/A | U+23A4 ⎤ |
| U+230A ⌊ | Vertical | U+23A2 ⎢ | U+23A3 ⎣ | N/A | N/A |
| U+230B ⌋ | Vertical | U+23A5 ⎥ | U+23A6 ⎦ | N/A | N/A |
| U+23B0 ⎰ | Vertical | U+23AA ⎪ | U+23AD ⎭ | N/A | U+23A7 ⎧ |
| U+23B1 ⎱ | Vertical | U+23AA ⎪ | U+23A9 ⎩ | N/A | U+23AB ⎫ |
| U+27F5 ⟵ | Horizontal | U+23AF ⎯ | U+2190 ← | N/A | U+23AF ⎯ |
| U+27F6 ⟶ | Horizontal | U+23AF ⎯ | U+23AF ⎯ | N/A | U+2192 → |
| U+27F7 ⟷ | Horizontal | U+23AF ⎯ | U+2190 ← | N/A | U+2192 → |
| U+294E ⥎ | Horizontal | U+23AF ⎯ | U+21BC ↼ | N/A | U+21C0 ⇀ |
| U+2950 ⥐ | Horizontal | U+23AF ⎯ | U+21BD ↽ | N/A | U+21C1 ⇁ |
| U+295A ⥚ | Horizontal | U+23AF ⎯ | U+21BC ↼ | N/A | U+22A3 ⊣ |
| U+295B ⥛ | Horizontal | U+23AF ⎯ | U+22A2 ⊢ | N/A | U+21C0 ⇀ |
| U+295E ⥞ | Horizontal | U+23AF ⎯ | U+21BD ↽ | N/A | U+22A3 ⊣ |
| U+295F ⥟ | Horizontal | U+23AF ⎯ | U+22A2 ⊢ | N/A | U+21C1 ⇁ |
이 절은 비규범적입니다.
[xml-entity-names]에 자세히 설명된 바와 같이, 굵게(bold), 이탤릭(italic), 프락투어(fraktur), 모노스페이스(monospace), 더블스트럭(double-struck) 등 형태의 수학용 영숫자 기호는 유니코드에 수록되어 있습니다.
이러한 영숫자 기호들은 유니코드 코드 포인트로 접근해야 합니다.
MATHEMATICAL SCRIPT 문자에 대해 Chancery 스타일과 Roundhand 스타일을 구분해야 할 때가 있습니다.
이는 LaTeX의 \mathcal 및 \mathscr 명령에서 특히 사용됩니다.
이를 구현하는 한 방법은 특정 글리프 변형 선택을 지정하는 방법을 설명하는
유니코드의 23.4절 Variation Selectors를 활용하는 것입니다 [UNICODE].
실제로 Unicode Character Database의 StandardizedVariants.txt 파일은
대문자 스크립트에 대해 변형 선택자 U+FE00 및 U+FE01을 각각 Chancery와 Roundhand 지정에 사용할 수 있음을 나타냅니다.
salt 또는 ssXY 속성에 의존합니다. 페이지 저자는 해당 OpenType 폰트 기능과 함께
font-variant-alternates 속성을 사용해 이러한 글리프에 접근할 수 있습니다.
또한, italic 수학 영숫자 문자는 위에서 설명한 방식으로 접근할 수 있으며,
CSS의 text-transform: math-auto 변환은 기본적으로 단일 문자 <mi> 요소에 적용됩니다.
편의를 위해 수학 이탤릭으로의 매핑을 아래에 표시합니다.
| 원본 | italic | Δcode point |
|---|---|---|
| A U+0041 | 𝐴 U+1D434 | 1D3F3 |
| B U+0042 | 𝐵 U+1D435 | 1D3F3 |
| C U+0043 | 𝐶 U+1D436 | 1D3F3 |
| D U+0044 | 𝐷 U+1D437 | 1D3F3 |
| E U+0045 | 𝐸 U+1D438 | 1D3F3 |
| F U+0046 | 𝐹 U+1D439 | 1D3F3 |
| G U+0047 | 𝐺 U+1D43A | 1D3F3 |
| H U+0048 | 𝐻 U+1D43B | 1D3F3 |
| I U+0049 | 𝐼 U+1D43C | 1D3F3 |
| J U+004A | 𝐽 U+1D43D | 1D3F3 |
| K U+004B | 𝐾 U+1D43E | 1D3F3 |
| L U+004C | 𝐿 U+1D43F | 1D3F3 |
| M U+004D | 𝑀 U+1D440 | 1D3F3 |
| N U+004E | 𝑁 U+1D441 | 1D3F3 |
| O U+004F | 𝑂 U+1D442 | 1D3F3 |
| P U+0050 | 𝑃 U+1D443 | 1D3F3 |
| Q U+0051 | 𝑄 U+1D444 | 1D3F3 |
| R U+0052 | 𝑅 U+1D445 | 1D3F3 |
| S U+0053 | 𝑆 U+1D446 | 1D3F3 |
| T U+0054 | 𝑇 U+1D447 | 1D3F3 |
| U U+0055 | 𝑈 U+1D448 | 1D3F3 |
| V U+0056 | 𝑉 U+1D449 | 1D3F3 |
| W U+0057 | 𝑊 U+1D44A | 1D3F3 |
| X U+0058 | 𝑋 U+1D44B | 1D3F3 |
| Y U+0059 | 𝑌 U+1D44C | 1D3F3 |
| Z U+005A | 𝑍 U+1D44D | 1D3F3 |
| a U+0061 | 𝑎 U+1D44E | 1D3ED |
| b U+0062 | 𝑏 U+1D44F | 1D3ED |
| c U+0063 | 𝑐 U+1D450 | 1D3ED |
| d U+0064 | 𝑑 U+1D451 | 1D3ED |
| e U+0065 | 𝑒 U+1D452 | 1D3ED |
| f U+0066 | 𝑓 U+1D453 | 1D3ED |
| g U+0067 | 𝑔 U+1D454 | 1D3ED |
| h U+0068 | ℎ U+0210E | 20A6 |
| i U+0069 | 𝑖 U+1D456 | 1D3ED |
| j U+006A | 𝑗 U+1D457 | 1D3ED |
| k U+006B | 𝑘 U+1D458 | 1D3ED |
| l U+006C | 𝑙 U+1D459 | 1D3ED |
| m U+006D | 𝑚 U+1D45A | 1D3ED |
| n U+006E | 𝑛 U+1D45B | 1D3ED |
| o U+006F | 𝑜 U+1D45C | 1D3ED |
| p U+0070 | 𝑝 U+1D45D | 1D3ED |
| q U+0071 | 𝑞 U+1D45E | 1D3ED |
| r U+0072 | 𝑟 U+1D45F | 1D3ED |
| s U+0073 | 𝑠 U+1D460 | 1D3ED |
| t U+0074 | 𝑡 U+1D461 | 1D3ED |
| u U+0075 | 𝑢 U+1D462 | 1D3ED |
| v U+0076 | 𝑣 U+1D463 | 1D3ED |
| w U+0077 | 𝑤 U+1D464 | 1D3ED |
| x U+0078 | 𝑥 U+1D465 | 1D3ED |
| y U+0079 | 𝑦 U+1D466 | 1D3ED |
| z U+007A | 𝑧 U+1D467 | 1D3ED |
| ı U+0131 | 𝚤 U+1D6A4 | 1D573 |
| ȷ U+0237 | 𝚥 U+1D6A5 | 1D46E |
| Α U+0391 | 𝛢 U+1D6E2 | 1D351 |
| Β U+0392 | 𝛣 U+1D6E3 | 1D351 |
| Γ U+0393 | 𝛤 U+1D6E4 | 1D351 |
| Δ U+0394 | 𝛥 U+1D6E5 | 1D351 |
| Ε U+0395 | 𝛦 U+1D6E6 | 1D351 |
| Ζ U+0396 | 𝛧 U+1D6E7 | 1D351 |
| Η U+0397 | 𝛨 U+1D6E8 | 1D351 |
| Θ U+0398 | 𝛩 U+1D6E9 | 1D351 |
| Ι U+0399 | 𝛪 U+1D6EA | 1D351 |
| Κ U+039A | 𝛫 U+1D6EB | 1D351 |
| Λ U+039B | 𝛬 U+1D6EC | 1D351 |
| Μ U+039C | 𝛭 U+1D6ED | 1D351 |
| Ν U+039D | 𝛮 U+1D6EE | 1D351 |
| Ξ U+039E | 𝛯 U+1D6EF | 1D351 |
| Ο U+039F | 𝛰 U+1D6F0 | 1D351 |
| Π U+03A0 | 𝛱 U+1D6F1 | 1D351 |
| Ρ U+03A1 | 𝛲 U+1D6F2 | 1D351 |
| ϴ U+03F4 | 𝛳 U+1D6F3 | 1D2FF |
| Σ U+03A3 | 𝛴 U+1D6F4 | 1D351 |
| Τ U+03A4 | 𝛵 U+1D6F5 | 1D351 |
| Υ U+03A5 | 𝛶 U+1D6F6 | 1D351 |
| Φ U+03A6 | 𝛷 U+1D6F7 | 1D351 |
| Χ U+03A7 | 𝛸 U+1D6F8 | 1D351 |
| Ψ U+03A8 | 𝛹 U+1D6F9 | 1D351 |
| Ω U+03A9 | 𝛺 U+1D6FA | 1D351 |
| ∇ U+2207 | 𝛻 U+1D6FB | 1B4F4 |
| α U+03B1 | 𝛼 U+1D6FC | 1D34B |
| β U+03B2 | 𝛽 U+1D6FD | 1D34B |
| γ U+03B3 | 𝛾 U+1D6FE | 1D34B |
| δ U+03B4 | 𝛿 U+1D6FF | 1D34B |
| ε U+03B5 | 𝜀 U+1D700 | 1D34B |
| ζ U+03B6 | 𝜁 U+1D701 | 1D34B |
| η U+03B7 | 𝜂 U+1D702 | 1D34B |
| θ U+03B8 | 𝜃 U+1D703 | 1D34B |
| ι U+03B9 | 𝜄 U+1D704 | 1D34B |
| κ U+03BA | 𝜅 U+1D705 | 1D34B |
| λ U+03BB | 𝜆 U+1D706 | 1D34B |
| μ U+03BC | 𝜇 U+1D707 | 1D34B |
| ν U+03BD | 𝜈 U+1D708 | 1D34B |
| ξ U+03BE | 𝜉 U+1D709 | 1D34B |
| ο U+03BF | 𝜊 U+1D70A | 1D34B |
| π U+03C0 | 𝜋 U+1D70B | 1D34B |
| ρ U+03C1 | 𝜌 U+1D70C | 1D34B |
| ς U+03C2 | 𝜍 U+1D70D | 1D34B |
| σ U+03C3 | 𝜎 U+1D70E | 1D34B |
| τ U+03C4 | 𝜏 U+1D70F | 1D34B |
| υ U+03C5 | 𝜐 U+1D710 | 1D34B |
| φ U+03C6 | 𝜑 U+1D711 | 1D34B |
| χ U+03C7 | 𝜒 U+1D712 | 1D34B |
| ψ U+03C8 | 𝜓 U+1D713 | 1D34B |
| ω U+03C9 | 𝜔 U+1D714 | 1D34B |
| ∂ U+2202 | 𝜕 U+1D715 | 1B513 |
| ϵ U+03F5 | 𝜖 U+1D716 | 1D321 |
| ϑ U+03D1 | 𝜗 U+1D717 | 1D346 |
| ϰ U+03F0 | 𝜘 U+1D718 | 1D328 |
| ϕ U+03D5 | 𝜙 U+1D719 | 1D344 |
| ϱ U+03F1 | 𝜚 U+1D71A | 1D329 |
| ϖ U+03D6 | 𝜛 U+1D71B | 1D345 |
이 절은 비규범적입니다.
MathML Core는 MathML3을 기반으로 합니다. 해당 명세에 기여한 사람들은 [MathML3]의 appendix E를 참고하세요.
MathML Core는 처음에는 MathML Community Group에 의해 개발되었으며, 이후 Math Working Group에 의해 발전되었습니다. 이 명세를 개발하는 과정에서 MathML Core 회의에 정기적으로 참여한 Working Group 또는 Community Group 멤버들은 다음과 같습니다: Brian Kardell, Bruce Miller, Daniel Marques, David Carlisle, David Farmer, Deyan Ginev, Frédéric Wang, Louis Mahler, Moritz Schubotz, Murray Sargent, Neil Soiffer, Patrick Ion, Rob Buis, Steve Noble and Sam Dooley.
추가적으로, 편집에 도움을 준 Brian Kardell, Neil Soiffer, Rob Buis께 특별한 감사를 드립니다.
또한 테스트 스위트에 도움을 준 Brian Kardell, Frédéric Wang, Neil Soiffer, Rob Buis 분들께 깊이 감사드립니다. 일부 테스트는 브라우저 레포지토리의 MathML 테스트를 기반으로 하였으며 Mozilla와 WebKit 기여자들에게도 감사합니다.
공개 커뮤니케이션 채널에서 피드백과 의견을 통해 본 명세 작성에 도움을 주신 분들께 감사를 전합니다: André Greiner-Petter, Anne van Kesteren, Boris Zbarsky, Brian Smith, Elika Etemad, Emilio Cobos Álvarez, ExE Boss, Ian Kilpatrick, Koji Ishii, L. David Baron, Michael Kohlhase, Michael Smith, Ryosuke Niwa, Sergey Malkin, Tab Atkins Jr., Viktor Yaffle, frankvel.
이 절은 비규범적입니다.
본 명세는 2.1.3 글로벌 속성에 설명된 MathML 이벤트 핸들러 속성을 통해 스크립트 실행 메커니즘을 추가합니다. UA는 이러한 속성에 명시된 스크립트의 실행을, HTML 또는 SVG 요소에 적용되는 것과 동일한 보안 제한에 따라 차단할 수 있습니다.
[MathML3]에서는
어떠한 요소든 href나 xlink:href 속성을 통해
신뢰할 수 없는 리소스 URL 또는 javascript: 실행으로 연결(link)할 수 있었습니다.
이러한 속성은 MathML Core에는 없습니다. 단, 2.2.1
HTML과 SVG에 설명된 대로,
MathML 내에 HTML 또는 SVG 콘텐츠(링크 포함)를 삽입할 수 있습니다.
[MathML3]에서는
maction
요소를 actiontype 값이 "statusline"일 때
브라우저 statusline의 텍스트를 덮어쓰는데 사용할 수 있었습니다.
공격자가 이를 통해 신뢰할 수 없는 링크의 URL 텍스트를 숨기는 예시:
<math>
<maction actiontype="statusline">
<mtext><a href="javascript:alert('JS execution')">Click me!</a></mtext>
<mtext>./this-is-a-safe-link.html</mtext>
</maction>
</math>
이 기능은 MathML Core에는 없으며,
maction
요소는 사실상
mrow
컨테이너에 스타일만 추가한 것과 같습니다.
공격자는 매우 큰 stretch 연산자를 삽입하여 UA를 마비시키려 할 수 있습니다.
이 경우 글리프 어셈블리 shaping 알고리즘이
초대량 글리프를 다루도록 만들 수 있습니다. UA는 rmin 및
GlyphAssembly.partCount에 최대값을 둘 수 있습니다.
CSS Fonts Module에 설명된 대로, 공격자는 결함이 있거나 악의적인 폰트를 통해 브라우저 보안 취약점을 노릴 수도 있습니다. 본 명세에서는 OpenType MATH 테이블을 광범위하게 사용하므로, UA는 폰트 sanitize가 반드시 이 테이블을 지원할 수 있도록 해야 합니다.
마지막으로, 공격 표면을 줄이기 위해 일부 UA는 웹 플랫폼의 일부 기능을 런타임 옵션으로 끌 수 있습니다. MathML 레이아웃을 비활성화하는 것은 DOM 트리 내 요소를 HTML 네임스페이스로 강제하고, 4. 수학 레이아웃을 위한 CSS 확장을 끄는 방식으로 달성할 수 있습니다.
이 절은 비규범적입니다.
2.2.1 HTML과 SVG에 설명된 대로,
MathML은
<foreignObject>
요소를 통해 SVG 이미지에 임베드될 수 있으며,
canvas
요소로도 사용할 수 있습니다.
UA는 잠재적 정보 유출을 방지하기 위해
canvas를 오염시키거나 자바스크립트 API로 canvas 내용을 접근할 때
"SecurityError"
를 반환하는 등의 조치를 취할 수 있습니다.
아래 예는 canvas 이미지에 HTML 링크(https://example.org/)가 포함된 MathML 콘텐츠를
그린 것입니다.
자바스크립트
context.
로 해당 링크가 방문되었는지 알아낼 수 없어야 합니다.
MathML 내 링크에 관한 추가 내용은
E. 보안상의 고려사항을 참고하세요.
getImageData()
let svg = `
<svg xmlns="http://www.w3.org/2000/svg" width="100px" height="100px">
<foreignObject width="100" height="100"
requiredExtensions="http://www.w3.org/1998/Math/MathML">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<msqrt style="font-size: 25px">
<mtext>■</mtext>
<mtext><a href="https://example.org/">■</a></mtext>
</msqrt>
</math>
</foreignObject>
</svg>`;
let image = new Image();
image.width = 100;
image.height = 100;
image.onload = () => {
let canvas = document.createElement('canvas');
canvas.width = 100;
canvas.height = 100;
canvas.style = "border: 1px solid black";
document.body.appendChild(canvas);
let context = canvas.getContext("2d");
context.drawImage(image, 0, 0);
};
image.src = `data:image/svg+xml;base64,${window.btoa(svg)}`;
본 명세는 DOM 요소의 레이아웃을 설명하며,
여기에 시스템 폰트가 사용될 수 있습니다. HTML/CSS 레이아웃과 마찬가지로,
자바스크립트 API(예:
context.,
getImageData()getBoundingClientRect() 등)로
박스 크기·위치를 측정하여 시스템 폰트로부터 정보를 유추할 수 있습니다.
이런 방식과 알려진 폰트와의 비교 측정을 조합함으로써 공격자가 사용자의 기본 폰트를 알아낼 수 있습니다.
아래 HTML+CSS+JavaScript 문서는
이례적으로 폭이 넓은 웹폰트(metrics)로
A Well Known System Font의 디폴트 여부 판별을 시도합니다.
<style>
@font-face {
font-family: MyWebFontWithVeryWideGlyphs;
src: url("/fonts/my-web-fonts-with-very-wide-glyphs.woff");
}
#container {
font-family: AWellKnownSystemFont, MyWebFontWithVeryWideGlyphs;
}
</style>
<div id="container">SOMETEXT</div>
<div id="reference">SOMETEXT</div>
<script>
document.fonts.ready.then(() => {
let containerWidth =
document.getElementById("container").getBoundingClientRect().width;
let referenceWidth =
document.getElementById("reference").getBoundingClientRect().width;
let isWellKnownSystemFontAvailable =
Math.abs(containerWidth - referenceWidth) < 1;
});
</script>
아래 HTML+CSS+JavaScript 문서는 UI serif 글꼴이 아시아권 글리프를 제공하는지 판별을 시도합니다:
<style>
@font-face {
font-family: MyWebFontWithVeryWideAsianGlyphs;
src: url("/fonts/my-web-fonts-with-very-wide-asian-glyphs.woff");
}
#container {
font-family: ui-serif, MyWebFontWithVeryWideAsianGlyphs
}
#reference {
font-family: MyWebFontWithVeryWideAsianGlyphs;
}
</style>
<div id="container">왕</div>
<div id="reference">왕</div>
<script>
document.fonts.ready.then(() => {
let containerWidth =
document.getElementById("container").getBoundingClientRect().width;
let referenceWidth =
document.getElementById("reference").getBoundingClientRect().width;
let uiSerifFontDoesNotContainAsianGlyph =
Math.abs(containerWidth - referenceWidth) < 1;
});
</script>
아래 HTML+CSS 문서는 동일한 텍스트를
text-decoration-thickness를 from-font와
1em(여기서는 100픽셀)로 렌더링합니다.
두 밑줄 높이를 비교하여,
PostScript Table의 underlineThickness 값을 근사할 수 있습니다
[OPEN-FONT-FORMAT].
<style>
#test {
font-size: 100px;
}
#container {
text-decoration-line: underline;
text-decoration-thickness: from-font;
}
#reference {
text-decoration-line: underline;
text-decoration-thickness: 1em;
}
</style>
<div id="test">
<div id="container">SOMETEXT</div>
<div id="reference">SOMETEXT</div>
</div>
본 명세는
5. OpenType MATH
테이블 정보를 사용해 MathML 콘텐츠를 렌더링합니다.
대부분의 레이아웃 파라미터는,
위에서 보인 HTML+CSS+자바스크립트와 유사한 측정법을 이용해 MathConstants나
MathGlyphInfo로부터 근사 가능합니다.
MathML 렌더링 시 MathVariants 테이블 사용은 크기가 다른 stretch 연산자를 canvas로 배치해 관찰할 수 있습니다.
이러한 파라미터 각각은 개인정보와 직접 관련은 없으나, 본 명세의 구현은 폰트 정보 노출이 늘어나 공격자가 핑거프린팅(fingerprinting) 기술에 활용할 수 있습니다. 예를 들어 사용자의 사용 가능/선호하는 수학용 폰트를 추론하는 데 도움이 될 수 있습니다.
적합성 요구는 설명적 단언과 RFC 2119 용어의 조합으로 표현됩니다. 규범 파트에서의 “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, “OPTIONAL”은 RFC 2119의 해석을 따릅니다. 단, 이 명세에서는 가독성을 위해 대문자가 아닌 형태로 표기했습니다.
특별히 비규범임을 명시한 부분, 예시, 노트를 제외한 본 명세의 모든 본문은 규범적입니다. [RFC2119]
본 명세의 예시는 “예를 들어(for example)”란 말로 시작하거나,
class="example"와 같이 본문과 구별됩니다:
이것은 설명용 예시입니다.
안내 노트는 “참고(Note)”로 시작하며
class="note"로 본문과 구분됩니다:
참고, 이것은 비규범적 노트입니다.
권고(advisement)는 강조된 주의가 필요한 규범 부분으로,
<strong class="advisement">처럼 본문과 구별됩니다:
UA는 MUST 접근성 대안을 제공해야 한다.
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in: