typedef struct tagPANOSE { /* panose */
BYTE bFamilyType;
BYTE bSerifStyle;
BYTE bWeight;
BYTE bProportion;
BYTE bContrast;
BYTE bStrokeVariation;
BYTE bArmStyle;
BYTE bLetterform;
BYTE bMidline;
BYTE bXHeight;
} PANOSE;
The PANOSE structure describes the Panose font-classification values for a TrueType font.
bFamilyType
Specifies the font family. This member can be one of the following values:
| Value | Meaning |
| 0 | Any |
| 1 | No fit |
| 2 | Text and display |
| 3 | Script |
| 4 | Decorative |
| 5 | Pictorial |
bSerifStyle
Specifies the style of serifs for the font. This member can be one of the following values:
| Value | Meaning |
| 0 | Any |
| 1 | No fit |
| 2 | Cove |
| 3 | Obtuse cove |
| 4 | Square cove |
| 5 | Obtuse square cove |
| 6 | Square |
| 7 | Thin |
| 8 | Bone |
| 9 | Exaggerated |
| 10 | Triangle |
| 11 | Normal sans |
| 12 | Obtuse sans |
| 13 | Perp sans |
| 14 | Flared |
| 15 | Rounded |
bWeight
Specifies the weight of the font. This member can be one of the following values:
| Value | Meaning |
| 0 | Any |
| 1 | No fit |
| 2 | Very light |
| 3 | Light |
| 4 | Thin |
| 5 | Book |
| 6 | Medium |
| 7 | Demi |
| 8 | Bold |
| 9 | Heavy |
| 10 | Black |
| 11 | Nord |
bProportion
Specifies the proportion of the font. This member can be one of the following values:
| Value | Meaning |
| 0 | Any |
| 1 | No fit |
| 2 | Old style |
| 3 | Modern |
| 4 | Even width |
| 5 | Expanded |
| 6 | Condensed |
| 7 | Very expanded |
| 8 | Very condensed |
| 9 | Monospaced |
bContrast
Specifies the contrast of the font. This member can be one of the following values:
| Value | Meaning |
| 0 | Any |
| 1 | No fit |
| 2 | None |
| 3 | Very low |
| 4 | Low |
| 5 | Medium low |
| 6 | Medium |
| 7 | Medium high |
| 8 | High |
| 9 | Very high |
bStrokeVariation
Specifies the stroke variation for the font. This member can be one of the following values:
| Value | Meaning |
| 0 | Any |
| 1 | No fit |
| 2 | Gradual/diagonal |
| 3 | Gradual/transitional |
| 4 | Gradual/vertical |
| 5 | Gradual/horizontal |
| 6 | Rapid/vertical |
| 7 | Rapid/horizontal |
| 8 | Instant/vertical |
bArmStyle
Specifies the style for the arms in the font. This member can be one of the following values:
| Value | Meaning |
| 0 | Any |
| 1 | No fit |
| 2 | Straight arms/horizontal |
| 3 | Straight arms/wedge |
| 4 | Straight arms/vertical |
| 5 | Straight arms/single serif |
| 6 | Straight arms/double serif |
| 7 | Non-straight arms/horizontal |
| 8 | Non-straight arms/wedge |
| 9 | Non-straight arms/vertical |
| 10 | Non-straight arms/single serif |
| 11 | Non-straight arms/double serif |
bLetterform
Specifies the letter form for the font. This member can be one of the following values:
| Value | Meaning |
| 0 | Any |
| 1 | No fit |
| 2 | Normal/contact |
| 3 | Normal/weighted |
| 4 | Normal/boxed |
| 5 | Normal/flattened |
| 6 | Normal/rounded |
| 7 | Normal/off-center |
| 8 | Normal/square |
| 9 | Oblique/contact |
| 10 | Oblique/weighted |
| 11 | Oblique/boxed |
| 12 | Oblique/flattened |
| 13 | Oblique/rounded |
| 14 | Oblique/off-center |
| 15 | Oblique/square |
bMidline
Specifies the style of the midline for the font. This member can be one of the following values:
| Value | Meaning |
| 0 | Any |
| 1 | No fit |
| 2 | Standard/trimmed |
| 3 | Standard/pointed |
| 4 | Standard/serifed |
| 5 | High/trimmed |
| 6 | High/pointed |
| 7 | High/serifed |
| 8 | Constant/trimmed |
| 9 | Constant/pointed |
| 10 | Constant/serifed |
| 11 | Low/trimmed |
| 12 | Low/pointed |
| 13 | Low/serifed |
bXHeight
Specifies the x-height of the font. This member can be one of the following values:
| Value | Meaning |
| 0 | Any |
| 1 | No fit |
| 2 | Constant/small |
| 3 | Constant/standard |
| 4 | Constant/large |
| 5 | Ducking/small |
| 6 | Ducking/standard |
| 7 | Ducking/large |