128-bit Unicode subset bit field

128-bit Unicode subset bit field

[1] ECMA-376 Second Edition Part 1

17.8.3.16 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 using the mechanism defined in §4.2.7.18 and §4.2.7.28 of ISO/IEC 14496-22:2007. This information can 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:

end example]

Parent Elements
font (§17.8.3.10)

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 using the format defined by ulCodePageRange1 in §4.2.7.28 of ISO/IEC 14496-22:2007.

(ry

The possible values for this attribute are defined by the ST_LongHexNumber simple type (§17.18.50).

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 using the format defined by ulCodePageRange2 in §4.2.7.28 of ISO/IEC 14496-22:2007.

(ry

usb0 (First 32 Bits of Unicode Subset Bitfield)

Specifies the first 32 bits of the 128-bit Unicode subset bit field (USB) as defined by ulUnicodeRange1 of §4.2.7.18 of ISO/IEC 14496-22:2007.

(ry

usb1 (Second 32 Bits of Unicode Subset Bitfield)

Specifies the second 32 bits of the 128-bit Unicode subset bit field (USB) as defined by ulUnicodeRange2 of §4.2.7.18 of ISO/IEC 14496-22:2007.

(ry

usb2 (Third 32 Bits of Unicode Subset Bitfield)

Specifies the third 32 bits of the 128-bit Unicode subset bit field (USB) as defined by ulUnicodeRange3 of §4.2.7.18 of ISO/IEC 14496-22:2007.

(ry

usb3 (Fourth 32 Bits of Unicode Subset Bitfield)

Specifies the fourth 32 bits of the 128-bit Unicode subset bit field (USB) as defined by ulUnicodeRange4 of §4.2.7.18 of ISO/IEC 14496-22:2007.

(ry

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