17.3.2.26 rFonts

This element specifies the fonts which shall be used to display the text contents of this run. Within a single run, there can be up to four types of font slot which shall each be allowed to use a unique font:

  • ASCII (i.e., the first 128 Unicode code points)

  • High ANSI

  • Complex Script

  • East Asian

If this element is not present, the default value is to leave the formatting applied at previous level in the style hierarchy. If this element is never applied in the style hierarchy, then the text shall be displayed in any default font which supports that set of characters.

[Example: Consider a single text run with both Arabic and English text, which can be expressed as follows:

<w:r>
  <w:rPr>
    <w:rFonts w:ascii="Courier New" w:cs="Times New Roman" />
  </w:rPr>
  <w:t>English ةيبرعلا</w:t>
</w:r>

In this run, both “English” and “ةيبرعلا” should be in ASCII font slot, according to the two-step algorithm below. Therefore, both of them should be in the Courier New font face.

The same content can also be expressed as follows:

<w:r>
  <w:rPr>
    <w:rFonts w:ascii="Courier New" w:cs="Times New Roman" />
    <w:rtl/>
  </w:rPr>
  <w:t>English ةيبرعلا</w:t>
</w:r>

In this run, both “English” and “ةيبرعلا” should be in Complex Script font slot, according to the two-step algorithm. Therefore, both of them should be in the Times New Roman font face. end example]

For each Unicode character in a run, the font slot can be determined using the following two-step methodology:

  • Use the table below to decide the classification of the content, based on its Unicode code point.

Unicode Block

Range

Classification

Basic Latin

U+0000–U+007F

ASCII font

Unicode Block

Range

Latin-1 Supplement

U+00A0–U+00FF

Latin Extended-A

U+0100–U+017F

Latin Extended-B

U+0180–U+024F

IPA Extensions

U+0250–U+02AF

Spacing Modifier Letters

U+02B0–U+02FF

Combining Diacritical Marks

U+0300–U+036F

Greek

U+0370–U+03CF

Cyrillic

U+0400–U+04FF

Hebrew

U+0590–U+05FF

Arabic

U+0600–U+06FF

Syriac

U+0700–U+074F

Arabic Supplement

U+0750–U+077F

Thaana

U+0780–U+07BF

Classification

High ANSI font, with the following exceptions: - If the value of the hint attribute is eastAsia, the following characters use East Asian font (or eastAsiaTheme if defined): A1, A4, A7 – A8, AA, AD, AF, B0 – B4, B6 – BA, BC – BF, D7, F7 If the value of the hint attribute is eastAsia and the language component of the language specified in the eastAsia attribute on the lang element is “zh”, the following characters use East Asian font (or eastAsiaTheme if defined): E0 – E1, E8 – EA, EC – ED, F2 – F3, F9 – FA, FC

High ANSI font, with the following exception: If the value of the hint attribute is eastAsia, and the language component of the language specified in the eastAsia attribute on the lang element is “zh”, or the character set of the East Asian font (or eastAsiaTheme if defined) font is Big5 or GB2312, then East Asian font is used.

High ANSI font, with the following exception: If the value of the hint attribute is eastAsia, and the language component of the language specified in the eastAsia attribute on the lang element is “zh”, or the character set of the East Asian font (or eastAsiaTheme if defined) font is Big5 or GB2312, then East Asian font is used.

High ANSI font, with the following exception: If the value of the hint attribute is eastAsia, and the language component of the language specified in the eastAsia attribute on the lang element is “zh”, or the character set of the East Asian font (or eastAsiaTheme if defined) font is Big5 or GB2312, then East Asian font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

ASCII font

ASCII font

ASCII font

ASCII font

ASCII font

Unicode Block

Hangul Jamo

Latin Extended Additional

Greek Extended

General Punctuation

Superscripts and Subscripts

Currency Symbols

Combining Diacritical Marks for Symbols

Letter-like Symbols

Number Forms

Arrows

Mathematical Operators

Miscellaneous Technical

Control Pictures

Optical Character Recognition

Enclosed Alphanumerics

Box Drawing

Block Elements

Geometric Shapes

Miscellaneous Symbols

Range

U+1100–U+11FF

U+1E00–U+1EFF

U+1F00–U+1FFF

U+2000–U+206F

U+2070–U+209F

U+20A0–U+20CF

U+20D0–U+20FF

U+2100–U+214F

U+2150–U+218F

U+2190–U+21FF

U+2200–U+22FF

U+2300–U+23FF

U+2400–U+243F

U+2440–U+245F

U+2460–U+24FF

U+2500–U+257F

U+2580–U+259F

U+25A0–U+25FF

U+2600–U+26FF

East Asian font

Classification

High ANSI font, with the following exception: If the value of the hint attribute is eastAsia and the language component of the language specified in the eastAsia attribute on the lang element is “zh”, then East Asian is used.

High ANSI font

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

Unicode Block

Range

Dingbats

U+2700–U+27BF

CJK Radicals Supplement

U+2E80–U+2EFF

Kangxi Radicals

U+2F00–U+2FDF

Ideographic Description Characters

U+2FF0–U+2FFF

CJK Symbols and Punctuation

U+3000–U+303F

Hiragana

U+3040–U+309F

Katakana

U+30A0–U+30FF

Bopomofo

U+3100–U+312F

Hangul Compatibility Jamo

U+3130–U+318F

Kanbun

U+3190–U+319F

Enclosed CJK Letters and Months

U+3200–U+32FF

CJK Compatibility

U+3300–U+33FF

CJK Unified Ideographs Extension A

U+3400–U+4DBF

CJK Unified Ideographs

U+4E00–U+9FAF

Yi Syllables

U+A000–U+A48F

Yi Radicals

U+A490–U+A4CF

Hangul Syllables

U+AC00–U+D7AF

High Surrogates

U+D800–U+DB7F

High Private Use Surrogates

U+DB80–U+DBFF

Low Surrogates

U+DC00–U+DFFF

Private Use Area

U+E000–U+F8FF

CJK Compatibility Ideographs

U+F900–U+FAFF

Alphabetic Presentation Forms

U+FB00–U+FB4F

Arabic Presentation Forms-A

U+FB50–U+FDFF

Classification

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

East Asian font

If the value of the hint attribute is eastAsia then East Asian font is used, otherwise High ANSI font is used.

East Asian font

If the value of the hint attribute is eastAsia then East Asian font is used for characters in the range FB00 – FB1C, otherwise High ANSI font is used. For the range FB1D – FB4F, ASCII font is used.

ASCII font

Unicode Block

Range

CJK Compatibility Forms

U+FE30–U+FE4F

Small Form Variants

U+FE50–U+FE6F

Arabic Presentation Forms-B

U+FE70–U+FEFE

Halfwidth and Fullwidth Forms

U+FF00–U+FFEF

Classification

East

Asian font

East Asian font

ASCII font

East Asian font

  • If, after the first step, the character falls into East Asian classification and the value of the hint attribute
  • is eastAsia, then the character should use East Asian font slot a. Otherwise, if there is <w:cs/> or <w:rtl/> in this run, then the character should use Complex Script font slot, regardless of its Unicode code point. i. Otherwise, the character is decided using the font slot that is corresponding to the classification in the table above.

Once the font slot for the run has been determined using the above steps, the appropriate formatting elements (either complex script or non-complex script) will affect the content.

[Note: This process is also represented in the following diagram:

image

end note]

[Example: Consider text with both English and East Asian character in this WordprocessingML:

<w:rPr>
  <w:rFonts
  <w:bCs/>
  <w:rtl/>
</w:rPr>
<w:t> English

In this example, all the characters in the table are first checked. Because 中文 falls into East Asian classification and plus the value of the hint attribute is eastAsia in the run, the characters should use East Asian font slot, and in turn <w:bCs/> (17.3.2.2) should not be able to make it bold. As to English, because it does not fall into the East Asian classification and there is <w:rtl/> in this run, it should use Complex Script font slot, regardless of its Unicode code point. And in turn, <w:bCs/> should be able to make it bold. Therefore, in the document, English should be bold, while 中文 should be regular, as illustrated below:

image

end example]

[Example: Consider a single text run with both Arabic and English text, as follows:

Englishةيبرعلا

This content can be expressed in a single WordprocessingML run:

<w:r>
  <w:t>English ةيبرعلا</w:t>
</w:r>

Although it is in the same run, the content is in different font faces by specifying a different font for ASCII and CS characters in the run:

<w:r>
  <w:rPr>
    <w:rFonts w:ascii="Courier New" w:cs="Times New Roman" />
  </w:rPr>
  <w:t>English ةيبرعلا</w:t>
</w:r>

This text run must therefore use the Courier New font for all characters in the range U+0000 to U+007F, and must use the Times New Roman font for all characters in the Complex Script range. end example]

Attributes

asciiTheme (ASCII Theme Font)

Specifies a theme font which shall be used to format all characters in the Unicode code point range (U+0000–U+007F) within the parent run. This theme font is a reference to one of the predefined theme fonts, located in the document’s Theme part,which allows for font information to be set centrally in the document.

If the ascii attribute is also specified, then that attribute shall be ignored and this value shall be used instead.

If this attribute is not present, the default value is to leave the formatting applied at previous level in the style hierarchy. If this attribute is never applied in the style hierarchy, then the text shall be displayed in the font specified by the ascii attribute.

[Example: Consider a run of ASCII text which must be displayed using the majorAscii theme font. This requirement would be specified as follows in the resulting WordprocessingML:

  <w:rPr>
    <w:rFonts w:asciiTheme="majorAscii" />
  </w:rPr>

The ascii attribute specifies that the run must use the majorAscii theme font as defined in the document’s themes part for all text in this range. end example]

The possible values for this attribute are defined by the ST_Theme simple type (17.18.96).

ascii (ASCII Font)

Specifies a font which shall be used to format all characters in the Unicode code point range (U+0000–U+007F) within the parent run.

If the asciiTheme attribute is also specified, then this attribute shall be ignored and that value shall be used instead.

If this attribute is not present, the default value is to leave the formatting applied at previous level in the style hierarchy. If this attribute is never applied in the style hierarchy, then the text shall be displayed in any default font which supports these characters.

[Example: Consider a run of text consisting of characters in this range, which must be displayed using the Courier New font. This requirement would be specified as follows in the resulting WordprocessingML:

  <w:rPr>
    <w:rFonts w:ascii="Courier New" />
  </w:rPr>

The ascii attribute specifies that the run must use the Courier New font for all text in thisrange. end example]

The possible values for this attribute are defined by the ST_String simple type (22.9.2.13).

cstheme (Complex Script Theme Font)

Specifies a theme font which shall be used to format all characters that are determined to be in the Complex Script font slot within the parent run. This theme font is a reference to one of the predefined theme fonts, located in the document’s Theme part,which allows for font information to be set centrally in the document.

If the cs attribute is also specified, then that attribute shall be ignored and this value shall be used instead.

If this attribute is not present, the default value is to leave the formatting applied at previous level in the style hierarchy. If this attribute is never applied in the style hierarchy, then the text shall be displayed in the font specified by the cs attribute.

[Example: Consider a run of Arabic text that must be displayed using the majorBidi

theme font. This requirement would be specified as follows in the resulting WordprocessingML:

  <w:rPr>
    <w:rFonts w:cstheme="majorBidi" />
    <w:cs />
  </w:rPr>

The cstheme attribute specifies that the run must use the majorBidi theme font as defined in the document’s themes part for all text in a complex script range. end example]

The possible values for this attribute are defined by the ST_Theme simple type (17.18.96).

cs (Complex Script Font)

Specifies a font which shall be used to format all characters that are determined to be in the Complex Script font slot within the parent run.

If the cstheme attribute is also specified, then this attribute shall be ignored and that value shall be used instead.

If this attribute is not present, the default value is to leave the formatting applied at previous level in the style hierarchy. If this attribute is never applied in the style hierarchy, then the text shall be displayed in any default font which supports complex script content.

[Example: Consider a run of Arabic text which must be displayed using the Arial WordprocessingML:

  <w:rPr>
    <w:rFonts w:cs="Arial Unicode MS" />
    <w:cs />
  </w:rPr>

The cs attribute specifies that the run must use the Arial Unicode MS font for all text in a complex script range. end example]

The possible values for this attribute are defined by the ST_String simple type (22.9.2.13).

eastAsiaTheme (East Asian Theme Font)

Specifies a theme font which shall be used to format all characters in an East Asian Unicode code point range within the parent run. This theme font is a reference to one of the predefined theme fonts, located in the document’s Theme part,which allows for font information to be set centrally in the document.

If the eastAsia attribute is also specified, then that attribute shall be ignored and this value shall be used instead.

If this attribute is not present, the default value is to leave the formatting applied at

previous level in the style hierarchy. If this attribute is never applied in the style hierarchy, then the text shall be displayed in the font specified by the eastAsia attribute.

[Example: Consider a run of Japanese text which must be displayed using the resulting WordprocessingML:

  <w:rPr>
    <w:rFonts w:eastAsiaTheme="minorEastAsia" />
  </w:rPr>

The eastAsiaTheme attribute specifies that the run must use the minorEastAsia theme font as defined in the document’s themes part for all text in an East Asian range. end example]

The possible values for this attribute are defined by the ST_Theme simple type (17.18.96).

eastAsia (East Asian Font)

Specifies a font which shall be used to format all characters in an East Asian Unicode code point range within the parent run.

If the eastAsiaTheme attribute is also specified, then this attribute shall be ignored and that value shall be used instead.

If this attribute is not present, the default value is to leave the formatting applied at previous level in the style hierarchy. If this attribute is never applied in the style hierarchy, then the text shall be displayed in any default font which supports East Asian content.

[Example: Consider a run of Japanese text which must be displayed using the MS Mincho font. This requirement would be specified as follows in the resulting WordprocessingML:

  <w:rPr>
    <w:rFonts w:eastAsia="MS Mincho" />
  </w:rPr>

The eastAsia attribute specifies that the run must use the MS Mincho font for all text in an East Asian range. end example]

The possible values for this attribute are defined by the ST_String simple type (22.9.2.13).

hAnsiTheme (High ANSI Theme Font)

Specifies a theme font which shall be used to format all characters in a Unicode code point range within the parent run which does not fall into one of the three categories defined above, which is called the high ANSI range in WordprocessingML. This theme font is a reference to one of the predefined theme fonts, located in the document’s

Theme part,which allows for font information to be set centrally in the document.

If the hAnsi attribute is also specified, then that attribute shall be ignored and this value shall be used instead.

If this attribute is not present, the default value is to leave the formatting applied at previous level in the style hierarchy. If this attribute is never applied in the style hierarchy, then the text shall be displayed in the font specified by the hAnsi attribute.

[Example: Consider a run of text which falls into a high ANSI range, and must be displayed using the minorHAnsi theme font. This requirement would be specified as follows in the resulting WordprocessingML:

  <w:rPr>
    <w:rFonts w:hAnsiTheme="minorHAnsi" />
  </w:rPr>

The hAnsiTheme attribute specifies that the run must use the minorHAnsi theme font as defined in the document’s themes part for all text in a high ANSI range. end example]

The possible values for this attribute are defined by the ST_Theme simple type (17.18.96).

hAnsi (High ANSI Font)

Specifies a font which shall be used to format all characters in a Unicode code point range within the parent run which does not fall into one of the three categories defined above, which is called the high ANSI range in WordprocessingML.

If the hAnsiTheme attribute is also specified, then this attribute shall be ignored and that value shall be used instead.

If this attribute is not present, the default value is to leave the formatting applied at previous level in the style hierarchy. If this attribute is never applied in the style hierarchy, then the text shall be displayed in any default font which supports high ANSI content.

[Example: Consider a run of text which falls into a high ANSI range, and must be displayed using the Bauhaus 93 font. This requirement would be specified as follows in the resulting WordprocessingML:

  <w:rPr>
    <w:rFonts w:hAnsi="Bauhaus 93" />
  </w:rPr>

The hAnsi attribute specifies that the run must use the Bauhaus 93 font for all text in a high ANSI range. end example]

The possible values for this attribute are defined by the ST_String simple type (22.9.2.13).

hint (Font Content Type)

Specifies the font type which shall be used to format any ambiguous characters in the current run.

There are certain characters which are not explicitly stored in the document, and can be mapped into multiple categories of the four mentioned above. This attribute shall be used to arbitrate that conflict, and determine how ambiguities in this run shall be handled. [Note: This is primarily used to handle the formatting on the paragraph mark glyph, and other characters that are not stored as text in the WordprocessingML document. end note]

If this attribute is omitted, then this ambiguity can be resolved by any means available.

[Example: Consider two runs, both of which contains an ellipsis in the text but the hint is different. The first run is specified as follows in the WordprocessingML:

  <w:r>
    <w:rPr>
        <w:rFonts/>
    </w:rPr>
    <w:t>Ellipsis…</w:t>
  </w:r>

This piece of text would be displayed as below in a document:

The second run is specified as follows in the WordprocessingML:
  <w:r>
    <w:rPr>
        <w:rFonts w:hint="eastAsia" />
    </w:rPr>
    <w:t>省略…</w:t>
  </w:r>

This piece of text would be displayed as below in a document:

Although the “…” in both runs has the same Unicode code point, the first run uses ASCII font slot, while the second run uses the East Asian font slot, as determined by the hint attribute. Therefore, these two ellipses look different in the document. end example]

[Example: Consider the run representing the paragraph mark glyph, which is not stored as a physical character. Since this could therefore be formatted with any of the fonts specified for the run, this ambiguity is resolved using the following WordprocessingML:

  <w:pPr>
    <w:rPr>
        <w:rFonts w:hint="eastAsia" />
    </w:rPr>
  </w:pPr>

The hint attribute specifies that the run must use the eastAsia font (theme or not, whichever is in use for East Asian text) as defined for this range. end example]

The possible values for this attribute are defined by the ST_Hint simple type (17.18.41).

image

image

[Note: The W3C XML Schema definition of this element’s content model (CT_Fonts) is located in A.1. end note]

Last updated on