2.2.2.4.5.1 NETWORKFONT

The NETWORKFONT structure is the font description that is sent across the network when negotiating font support.


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

nfFaceName (32 bytes)

...

...

nfFontFlags

nfAveWidth

nfAveHeight

nfAspectX

nfAspectY

nfSigFats

nfSigThins

nfSigSymbol

nfCodePage

nfMaxAscent

nfFaceName (32 bytes): A 32-byte ASCII array that specifies the null-terminated face name of the font. There can be 31 characters maximum with a zero at the end.

nfFontFlags (2 bytes): Flags that indicate the font control to use:


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5

0

0

0

0

0

0

0

B

T

0

0

S

U

I

F

P

Where the bits are defined as:

Value

Description

B

                

The font is aligned on the text baseline.

T

                

The font is a TrueType font.

S

                

The font is struck out.

U

                

The font is underlined.

I

                

The font is italic.

F

                

The font is scalable.

P

                

The font has a fixed pitch.

Bits marked 0 MUST be set to zero.

nfAveWidth (2 bytes): The average width of the characters in the font, generally defined as the width of the letter "x".<7>

nfAveHeight (2 bytes): The amount that characters are placed relative to the baseline minus the internal leading amount for characters. Internal leading is the space where accent marks are often placed.<8>

nfAspectX (2 bytes): The horizontal aspect of the device for which the font was designed.<9>

nfAspectY (2 bytes): The vertical aspect of the device for which the font was designed.<10>

nfSigFats (2 bytes): The signature of the font, expressed as the sum of the width, in pixels, of the characters from 0 through 9, uppercase letters from A through Z, and the symbols @, $, %, and &, divided by two.<11>

nfSigThins (2 bytes): The signature of the font, expressed as the sum of the width, in pixels, of the characters with ASCII codes from 0x02 through 0x7E, minus nfSigFats before dividing by two, with the sum divided by two.<12>

nfSigSymbol (2 bytes): The signature of the font, expressed as the sum of the width, in pixels, of the characters with ASCII codes from 0x00 through 0x18 and from 0x80 through 0xFE.<13>

nfCodePage (2 bytes): Either the codepage of the font or one of the following codepages:<14>

Value

Meaning

WIN_ANSI

0x0000

The codepage is Windows ANSI.

OEM_FONT

0x00FF

The codepage is for an OEM font.

Unknown

0xFFFF

The codepage is unknown.

nfMaxAscent (2 bytes): For fixed size fonts, set to 0x0064.<15>