FontSignature Class

Supported Unicode Subranges and Code Pages.When the object is serialized out as xml, its qualified name is w:sig.

Inheritance Hierarchy

System.Object
  DocumentFormat.OpenXml.OpenXmlElement
    DocumentFormat.OpenXml.OpenXmlLeafElement
      DocumentFormat.OpenXml.Wordprocessing.FontSignature

Namespace:  DocumentFormat.OpenXml.Wordprocessing
Assembly:  DocumentFormat.OpenXml (in DocumentFormat.OpenXml.dll)

Syntax

'Declaration
Public Class FontSignature _
    Inherits OpenXmlLeafElement
'Usage
Dim instance As FontSignature
public class FontSignature : OpenXmlLeafElement

Remarks

[ISO/IEC 29500-1 1st Edition]

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:

  • Latin 1

  • Latin 2: Eastern Europe

  • Cyrillic

  • Greek

  • Turkish

  • Baltic

end example]

Parent Elements

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

[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 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.

[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 type (§17.18.50).

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.

[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 type (§17.18.50).

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.

[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 type (§17.18.50).

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.

[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 type (§17.18.50).

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.

[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 type (§17.18.50).

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

© ISO/IEC29500: 2008.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

FontSignature Members

DocumentFormat.OpenXml.Wordprocessing Namespace