Font Reference Types

In the example above, two attributes were present, both referring to the font face with primary name Arial Black. This simple case illustrates the ability for a WordprocessingML document to store up to four fonts which may be used on the contents of a run, as follows:

  • ASCII font

  • High ANSI font

  • East Asian font

  • Complex Script font

Each of these font faces is used to format the characters in the run that fall under their purview:

The ASCII font formats all characters in the ASCII range (character values 0–127). This font is specified using the @ascii attribute on the <rFonts> element.

The East Asian font formats all characters that belong to Unicode sub ranges for East Asian languages. This font is specified using the @eastAsia attribute on the <rFonts> element.

The complex script font formats all characters that belong to Unicode sub ranges for complex script languages. This font is specified using the @cs attribute on the <rFonts> element.

The high ANSI font formats all characters that belong to Unicode sub ranges other than those explicitly included by one of the groups above. This font is specified using the @hAnsi attribute on the <rFonts> element.

For example, consider a run of text defined as follows:

<w:r>
  <w:rPr>
    <w:rFonts w:ascii="Arial Black" w:hAnsi="Arial Black" w:cs="Arial"
      w:eastAsia="SimSun"/>
  </w:rPr></w:r>

The <rFonts> element specifies that the contents of this run are formatted as follows:

  • Complex script characters used the Arial font

  • East Asian characters used the SimSun font

  • All other characters used the Arial Black font