The PANOSE structure describes the PANOSE font-classification values for a TrueType font. These characteristics are then used to associate the font with other fonts of similar appearance but different names.
typedef struct tagPANOSE { // pnse
BYTE bFamilyType;
BYTE bSerifStyle;
BYTE bWeight;
BYTE bProportion;
BYTE bContrast;
BYTE bStrokeVariation;
BYTE bArmStyle;
BYTE bLetterform;
BYTE bMidline;
BYTE bXHeight;
} PANOSE
Members
bFamilyType
For Latin fonts, bFamilyType can have one of the following values:
Value | Meaning |
PAN_ANY | Any |
PAN_NO_FIT | No fit |
PAN_FAMILY_TEXT_DISPLAY | Text and display |
PAN_FAMILY_SCRIPT | Script |
PAN_FAMILY_DECORATIVE | Decorative |
PAN_FAMILY_PICTORIAL | Pictorial |
bSerifStyle
Specifies the serif style. For Latin fonts, bSerifStyle can have one of the following values:
Value | Meaning |
PAN_ANY | Any |
PAN_NO_FIT | No fit |
PAN_SERIF_COVE | Cove |
PAN_SERIF_OBTUSE_COVE | Obtuse cove |
PAN_SERIF_SQUARE_COVE | Square cove |
PAN_SERIF_OBTUSE_SQUARE_COVE | Obtuse square cove |
PAN_SERIF_SQUARE | Square |
PAN_SERIF_THIN | Thin |
PAN_SERIF_BONE | Bone |
PAN_SERIF_EXAGGERATED | Exaggerated |
PAN_SERIF_TRIANGLE | Triangle |
PAN_SERIF_NORMAL_SANS | Normal sans serif |
PAN_SERIF_OBTUSE_SANS | Obtuse sans serif |
PAN_SERIF_PERP_SANS | Perp sans serif |
PAN_SERIF_FLARED | Flared |
PAN_SERIF_ROUNDED | Rounded |
bWeight
For Latin fonts, bWeight can have one of the following values:
Value | Meaning |
PAN_ANY | Any |
PAN_NO_FIT | No fit |
PAN_WEIGHT_VERY_LIGHT | Very light |
PAN_WEIGHT_LIGHT | Light |
PAN_WEIGHT_THIN | Thin |
PAN_WEIGHT_BOOK | Book |
PAN_WEIGHT_MEDIUM | Medium |
PAN_WEIGHT_DEMI | Demibold |
PAN_WEIGHT_BOLD | Bold |
PAN_WEIGHT_HEAVY | Heavy |
PAN_WEIGHT_BLACK | Black |
PAN_WEIGHT_NORD | Nord |
bProportion
For Latin fonts, bProportion can have one of the following values:
Value | Meaning |
PAN_ANY | Any |
PAN_NO_FIT | No fit |
PAN_PROP_OLD_STYLE | Old style |
PAN_PROP_MODERN | Modern |
PAN_PROP_EVEN_WIDTH | Even width |
PAN_PROP_EXPANDED | Expanded |
PAN_PROP_CONDENSED | Condensed |
PAN_PROP_VERY_EXPANDED | Very expanded |
PAN_PROP_VERY_CONDENSED | Very condensed |
PAN_PROP_MONOSPACED | Monospaced |
bContrast
For Latin fonts, bContrast can have one of the following values:
Value | Meaning |
PAN_ANY | Any |
PAN_NO_FIT | No fit |
PAN_CONTRAST_NONE | None |
PAN_CONTRAST_VERY_LOW | Very low |
PAN_CONTRAST_LOW | Low |
PAN_CONTRAST_MEDIUM_LOW | Medium low |
PAN_CONTRAST_MEDIUM | Medium |
PAN_CONTRAST_MEDIUM_HIGH | Medium high |
PAN_CONTRAST_HIGH | High |
PAN_CONTRAST_VERY_HIGH | Very high |
bStrokeVariation
For Latin fonts, bStrokeVariation can have one of the following values:
Value | Meaning |
PAN_ANY | Any |
PAN_NO_FIT | No fit |
PAN_STROKE_GRADUAL_DIAG | Gradual/diagonal |
PAN_STROKE_GRADUAL_TRAN | Gradual/transitional |
PAN_STROKE_GRADUAL_VERT | Gradual/vertical |
PAN_STROKE_GRADUAL_HORZ | Gradual/horizontal |
PAN_STROKE_RAPID_VERT | Rapid/vertical |
PAN_STROKE_RAPID_HORZ | Rapid/horizontal |
PAN_STROKE_INSTANT_VERT | Instant/vertical |
bArmStyle
For Latin fonts, bArmStyle can have one of the following values:
Value | Meaning |
PAN_ANY | Any |
PAN_NO_FIT | No fit |
PAN_STRAIGHT_ARMS_HORZ | Straight arms/horizontal |
PAN_STRAIGHT_ARMS_WEDGE | Straight arms/wedge |
PAN_STRAIGHT_ARMS_VERT | Straight arms/vertical |
PAN_STRAIGHT_ARMS_SINGLE_SERIF | Straight arms/single-serif |
PAN_STRAIGHT_ARMS_DOUBLE_SERIF | Straight arms/double-serif |
PAN_BENT_ARMS_HORZ | Nonstraight arms/horizontal |
PAN_BENT_ARMS_WEDGE | Nonstraight arms/wedge |
PAN_BENT_ARMS_VERT | Nonstraight arms/vertical |
PAN_BENT_ARMS_SINGLE_SERIF | Nonstraight arms/single-serif |
PAN_BENT_ARMS_DOUBLE_SERIF | Nonstraight arms/double-serif |
bLetterform
For Latin fonts, bLetterform can have one of the following values:
Value | Meaning |
PAN_ANY | Any |
PAN_NO_FIT | No fit |
PAN_LETT_NORMAL_CONTACT | Normal/contact |
PAN_LETT_NORMAL_WEIGHTED | Normal/weighted |
PAN_LETT_NORMAL_BOXED | Normal/boxed |
PAN_LETT_NORMAL_FLATTENED | Normal/flattened |
PAN_LETT_NORMAL_ROUNDED | Normal/rounded |
PAN_LETT_NORMAL_OFF_CENTER | Normal/off center |
PAN_LETT_NORMAL_SQUARE | Normal/square |
PAN_LETT_OBLIQUE_CONTACT | Oblique/contact |
PAN_LETT_OBLIQUE_WEIGHTED | Oblique/weighted |
PAN_LETT_OBLIQUE_BOXED | Oblique/boxed |
PAN_LETT_OBLIQUE_FLATTENED | Oblique/flattened |
PAN_LETT_OBLIQUE_ROUNDED | Oblique/rounded |
PAN_LETT_OBLIQUE_OFF_CENTER | Oblique/off center |
PAN_LETT_OBLIQUE_SQUARE | Oblique/square |
bMidline
For Latin fonts, bMidline can have one of the following values:
Value | Meaning |
PAN_ANY | Any |
PAN_NO_FIT | No fit |
PAN_MIDLINE_STANDARD_TRIMMED | Standard/trimmed |
PAN_MIDLINE_STANDARD_POINTED | Standard/pointed |
PAN_MIDLINE_STANDARD_SERIFED | Standard/serifed |
PAN_MIDLINE_HIGH_TRIMMED | High/trimmed |
PAN_MIDLINE_HIGH_POINTED | High/pointed |
PAN_MIDLINE_HIGH_SERIFED | High/serifed |
PAN_MIDLINE_CONSTANT_TRIMMED | Constant/trimmed |
PAN_MIDLINE_CONSTANT_POINTED | Constant/pointed |
PAN_MIDLINE_CONSTANT_SERIFED | Constant/serifed |
PAN_MIDLINE_LOW_TRIMMED | Low/trimmed |
PAN_MIDLINE_LOW_POINTED | Low/pointed |
PAN_MIDLINE_LOW_SERIFED | Low/serifed |
bXHeight
For Latin fonts, bXHeight can have one of the following values:
Value | Meaning |
PAN_ANY | Any |
PAN_NO_FIT | No fit |
PAN_XHEIGHT_CONSTANT_SMALL | Constant/small |
PAN_XHEIGHT_CONSTANT_STD | Constant/standard |
PAN_XHEIGHT_CONSTANT_LARGE | Constant/large |
PAN_XHEIGHT_DUCKING_SMALL | Ducking/small |
PAN_XHEIGHT_DUCKING_STD | Ducking/standard |
PAN_XHEIGHT_DUCKING_LARGE | Ducking/large |