[Table of Contents] [docx version]

WordprocessingML Reference Material - Table of Contents

sig (Supported Unicode Subranges and Code Pages)

This element specifies information identifying the code pages and Unicode subranges for which the parent font provides glyphs. This information may be used as defined in font substitution logic to locate an appropriate substitute font when this font is not available. This information is determined by querying the font when present and shall not be modified when the font is not available.

When storing Unicode subrange information, the appropriate bit in the bitfield shall only be set if the entire subrange is supported by that font.

If this element is omitted, then no supported code page/Unicode subrange information is available.

[Example: Consider the following information stored for a single font:

<w:font w:name="Times New Roman">
<w:sig w:usb0="20002A87" w:usb1="80000000" w:usb2="00000008" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000" />

</w:font>

The sig element specifies the supported code pages and Unicode sub ranges via its attributes. For example, the code pages supported are:

Latin 1

Latin 2: Eastern Europe

Cyrillic

Greek

Turkish

Baltic

end example]

Parent Elements

font2.8.2.10)

 

Attributes

Description

csb0 (Lower 32 Bits of Code Page Bit Field)

Specifies a four digit hexadecimal encoding of the first 32 bits of the 64-bit code-page bit field that identifies which specific character sets or code pages are supported by the parent font.

 

Each bit in this 32 bits represents the following code page:

Bit

Description

0

Latin 1

1

Latin 2: Eastern Europe

2

Cyrillic

3

Greek

4

Turkish

5

Hebrew

6

Arabic

7

Windows Baltic

8 to 16

Reserved for Alternate ANSI

17

Thai

18

JIS/Japan

19

Chinese (Simplified)

20

Korean Wansung

21

Chinese (Traditional)

22 to 29

Reserved for Alternate ANSI and OEM

30

Macintosh Character Set (Standard Roman)

31

Symbol Character Set

 

[Example: Consider font information specified as follows:

 

<w:font w:name="Lucida Console">
<w:sig w:csb0="0000001F" … />

</w:font>

 

The csb0 attribute value of 0000001F specifies that the following code pages are supported by this font:

Latin 1

Latin 2: Eastern Europe

Cyrillic

Greek

Turkish

 

end example]

 

The possible values for this attribute are defined by the ST_LongHexNumber simple type2.18.57).

csb1 (Upper 32 Bits of Code Page Bit Field)

Specifies a four digit hexadecimal encoding of the upper 32 bits of the 64-bit code-page bit field that identifies which specific character sets or code pages are supported by the parent font.

 

Each bit in this 32 bits represents the following code page:

Bit

Description

0 to 15

Reserved for OEM

16

IBM Greek

17

MS-DOS Russian

18

MS-DOS Nordic

19

Arabic

20

MS-DOS Canadian French

21

Hebrew

22

MS-DOS Icelandic

23

MS-DOS Portuguese

24

IBM Turkish

25

IBM Cyrillic

26

Latin 2

27

MS-DOS Baltic

28

Greek (former 437G)

29

Arabic (AMSO 708)

30

WE/Latin 1

31

US

 

[Example: Consider font information specified as follows:

 

<w:font w:name="Lucida Console">
<w:sig w:csb1="00000000" … />

</w:font>

 

The csb1 attribute value of 00000000 specifies that none of the specified code pages are supported by this font. end example]

 

The possible values for this attribute are defined by the ST_LongHexNumber simple type2.18.57).

usb0 (First 32 Bits of Unicode Subset Bitfield)

Specifies the first 32 bits of the 128-bit Unicode subset bit field (USB). Subranges are ordered in accordance with the ISO 10646 standard.

 

[Example: Consider font information specified as follows:

 

<w:font w:name="Times New Roman">
<w:sig w:usb0="20002A87" … />

</w:font>

 

The usb0 attribute value of 20002A87 specifies that the first 32 bits of the bitfield are 00100000000000000010101010000111, which corresponds to:

Basic Latin

Latin-1 Supplement

Latin Extended-A

Basic Greek

Cyrillic

Basic Hebrew

Basic Arabic

Latin Extended Additional

 

end example]

 

The possible values for this attribute are defined by the ST_LongHexNumber simple type2.18.57).

usb1 (Second 32 Bits of Unicode Subset Bitfield)

Specifies the second 32 bits of the 128-bit Unicode subset bit field (USB). Subranges are ordered in accordance with the ISO 10646 standard.

 

[Example: Consider font information specified as follows:

 

<w:font w:name="Times New Roman">
<w:sig w:usb1="80000000" … />

</w:font>

 

The usb0 attribute value of 80000000 specifies that the first 32 bits of the bitfield are 10000000000000000000000000000000, which corresponds to:

Arabic Presentation Forms-A

 

end example]

 

The possible values for this attribute are defined by the ST_LongHexNumber simple type2.18.57).

usb2 (Third 32 Bits of Unicode Subset Bitfield)

Specifies the third 32 bits of the 128-bit Unicode subset bit field (USB). Subranges are ordered in accordance with the ISO 10646 standard.

 

[Example: Consider font information specified as follows:

 

<w:font w:name="Times New Roman">
<w:sig w:usb2="00000008" … />

</w:font>

 

The usb0 attribute value of 80000000 specifies that the first 32 bits of the bitfield are 00000000000000000000000000001000, which corresponds to:

Arabic Presentation Forms-B

 

end example]

 

The possible values for this attribute are defined by the ST_LongHexNumber simple type2.18.57).

usb3 (Fourth 32 Bits of Unicode Subset Bitfield)

Specifies the fourth 32 bits of the 128-bit Unicode subset bit field (USB). Subranges are ordered in accordance with the ISO 10646 standard.

 

[Example: Consider font information specified as follows:

 

<w:font w:name="Times New Roman">
<w:sig w:usb3="00000000" … />

</w:font>

 

The usb3 attribute value of 00000000 specifies that the first 32 bits of the bitfield are 00000000000000000000000000000000, which corresponds to no subranges. end example]

 

The possible values for this attribute are defined by the ST_LongHexNumber simple type2.18.57).

The following XML Schema fragment defines the contents of this element:

<complexType name="CT_FontSig">

   <attribute name="usb0" use="required" type="ST_LongHexNumber"/>

   <attribute name="usb1" use="required" type="ST_LongHexNumber"/>

   <attribute name="usb2" use="required" type="ST_LongHexNumber"/>

   <attribute name="usb3" use="required" type="ST_LongHexNumber"/>

   <attribute name="csb0" use="required" type="ST_LongHexNumber"/>

   <attribute name="csb1" use="required" type="ST_LongHexNumber"/>

</complexType>