2.2.2.2.1.2.5 Cache Glyph - Revision 1 (CACHE_GLYPH_ORDER)

The Cache Glyph - Revision 1 Secondary Drawing Order is used by the server to instruct the client to store a glyph in a particular glyph cache entry (section 3.1.1.1.2). Support for glyph caching is specified in the Glyph Cache Capability Set ([MS-RDPBCGR] section 2.2.7.1.8).


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

header

...

cacheId

cGlyphs

glyphData (variable)

...

unicodeCharacters (variable)

...

header (6 bytes): A Secondary Order Header, as defined in section 2.2.2.2.1.2.1.1. The embedded orderType field MUST be set to TS_CACHE_GLYPH (0x03).

The embedded extraFlags field MAY contain the following flags.

Value

Meaning

CG_GLYPH_UNICODE_PRESENT

0x0100

Indicates that the unicodeCharacters field is present.

cacheId (1 byte): An 8-bit, unsigned integer. The ID of the glyph cache in which the glyph data MUST be stored. This value MUST be in the range 0 to 9 (inclusive).

cGlyphs (1 byte): An 8-bit, unsigned integer. The number of glyph entries in the glyphData field.

glyphData (variable): An array of Cache Glyph Data (section 2.2.2.2.1.2.5.1) structures that describes each of the glyphs contained in this order (the number of glyphs is specified by the cGlyphs field).

unicodeCharacters (variable): An array of Unicode characters. Contains the Unicode character representation of each glyph in the glyphData field. The number of bytes in the field is given by cGlyphs * 2. This field MUST NOT be null-terminated. This string is used for diagnostic purposes only and is not necessary for successfully decoding and caching the glyphs in the glyphData field.