PANOSE

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