Jump to content

PANOSE: Difference between revisions

From EDM2
Anakor (talk | contribs)
New
 
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== PANOSE ==
The Panose field in the font metrics will allow for quantitative descriptions of the visual properties of font faces. The PANOSE definition contains ten digits, each of which currently describes up to sixteen variations.
 
The Panose field in the font metrics will allow for quantitative descriptions
of the visual properties of font faces. The PANOSE definition contains ten digits, each of which currently describes up to sixteen variations.  
   
   
=== Type ===
=== Type ===
 
  [[BYTE]]  bFamilyType;
  [[OS2 API:DataType:BYTE|BYTE]]  bFamilyType;
  BYTE  bSerifStyle;
  [[OS2 API:DataType:BYTE|BYTE]] bSerifStyle;
  BYTE  bWeight;
  [[OS2 API:DataType:BYTE|BYTE]] bWeight;
  BYTE  bProportion;
  [[OS2 API:DataType:BYTE|BYTE]] bProportion;
  BYTE  bContrast;
  [[OS2 API:DataType:BYTE|BYTE]] bContrast;
  BYTE  bStrokeVariation;
  [[OS2 API:DataType:BYTE|BYTE]] bStrokeVariation;
  BYTE  bArmStyle;
  [[OS2 API:DataType:BYTE|BYTE]] bArmStyle;
  BYTE  bLetterform;
  [[OS2 API:DataType:BYTE|BYTE]] bLetterform;
  BYTE  bMidline;
  [[OS2 API:DataType:BYTE|BYTE]] bMidline;
  BYTE  bXHeight;
  [[OS2 API:DataType:BYTE|BYTE]] bXHeight;
  BYTE  fbPassedISO;
  [[OS2 API:DataType:BYTE|BYTE]] fbPassedISO;
  BYTE  fbFailedISO;
  [[OS2 API:DataType:BYTE|BYTE]] fbFailedISO;


==== C Declaration Method ====
==== C Declaration Method ====
typedef struct
typedef struct


=== Fields ===
=== Fields ===
 
;bFamilyType:Family kind.
bFamilyType     Family kind.
:0  Any  
                  0  Any  
:1  No Fit  
                  1  No Fit  
:2  Text and Display  
                  2  Text and Display  
:3  Script  
                  3  Script  
:4  Decorative  
                  4  Decorative  
:5  Pictorial
                  5  Pictorial
;bSerifStyle:Serif style.
 
:0  Any
bSerifStyle     Serif style.
:1  No Fit  
                  0  Any
:2  Cove  
                  1  No Fit  
:3  Obtuse Cove  
                  2  Cove  
:4  Square Cove  
                  3  Obtuse Cove  
:5  Obtuse Square Cove  
                  4  Square Cove  
:6  Square  
                  5  Obtuse Square Cove  
:7  Thin  
                  6  Square  
:8  Bone  
                  7  Thin  
:9  Exaggerated  
                  8  Bone  
:10 Triangle  
                  9  Exaggerated  
:11 Normal Sans  
                  10 Triangle  
:12 Obtuse Sans  
                  11 Normal Sans  
:13 Perp Sans
                  12 Obtuse Sans  
:14 Flared  
                  13 Perp Sans  
:15 Rounded
                  14 Flared  
;bWeight:Weight.
                  15 Rounded
:0  Any  
 
:1  No Fit  
bWeight         Weight.
:2  Very Light  
                  0  Any  
:3  Light  
                  1  No Fit  
:4  Thin  
                  2  Very Light  
:5  Book  
                  3  Light  
:6  Medium  
                  4  Thin  
:7  Demi  
                  5  Book  
:8  Bold  
                  6  Medium  
:9  Heavy  
                  7  Demi  
:10 Black  
                  8  Bold  
:11 Nord
                  9  Heavy  
;bProportion:Proportion.
                  10 Black  
:0  Any  
                  11 Nord
:1  No Fit  
 
:2  Old Style  
bProportion     Proportion.
:3  Modern  
                  0  Any  
:4  Even Width  
                  1  No Fit  
:5  Expanded  
                  2  Old Style  
:6  Condensed  
                  3  Modern  
:7  Very Expanded  
                  4  Even Width  
:8  Very Condensed  
                  5  Expanded  
:9  Monospaced
                  6  Condensed  
;bContrast:Contrast.
                  7  Very Expanded  
:0  Any
                  8  Very Condensed  
:1  No Fit
                  9  Monospaced
:2  None
:3  Very Low
:4  Low
:5  Medium Low
:6  Medium
:7  Medium High
:8  High
:9  Very High
;bStrokeVariation:Stroke Variation.
: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:Arm Style.
: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


bContrast        Contrast.
;bLetterform:Letterform.
                  0  Any  
:0  Any  
                  1  No Fit  
:1  No Fit  
                  None
:Normal/Contact
                  Very Low
:ONormal/Weighted
                  Low
:ONormal/Boxed
                  Medium Low
:ONormal/Flattened
                  Medium
:ONormal/Rounded
                  Medium High
:ONormal/Off Center
                  High
:ONormal/Square
                  Very High
:Oblique/Contact
:10 Oblique/Weighted
:11 Oblique/Boxed
:12 Oblique/Flattened
:13 Oblique/Rounded
:14 Oblique/Off Center
:15 Oblique/Square


bStrokeVariation Stroke Variation.
;bMidline:Midline.
                  0  Any  
:0  Any  
                  1  No Fit  
:1  No Fit  
                  Gradual/Diagonal
:Standard/Trimmed
                  Gradual/Transitional
:Standard/Pointed
                  Gradual/Vertical
:Standard/Serifed
                  Gradual/Horizontal
:High/Trimmed
                  Rapid/Vertical
:High/Pointed
                  Rapid/Horizontal
:High/Serifed
                  Instant/Vertical
:Constant/Trimmed
:9  Constant/Pointed
:10 Constant/Serifed
:11 Low/Trimmed
:12 Low/Pointed
:13 Low/Serifed


bArmStyle        Arm Style.
;bXHeight:X-Height.
                  0 Any
:0 Any  
                  1 No Fit  
:1 No Fit  
                  2 Straight Arms/Horizontal
:2 Constant/Small
                  3 Straight Arms/Wedge
:3 Constant/Standard
                  4 Straight Arms/Vertical
:4 Constant/Large
                  5 Straight Arms/Single Serif
:5 Ducking/Small
                  6 Straight Arms/Double Serif
:6 Ducking/Standard
                  7 Non-Straight Arms/Horizontal
:7 Ducking/Large
                  8  Non-Straight Arms/Wedge
                  9  Non-Straight Arms/Vertical
                  10 Non-Straight Arms/Single Serif
                  11 Non-Straight Arms/Double Serif


bLetterform      Letterform.
;fbPassedISO:Font passed ISO test.
                  0  Any
:The following flags indicate those displays and resolutions at which the font complied with ISO 9241:
                  1  No Fit
:FM_ISO_9518_640
                  2  Normal/Contact
:FM_ISO_9515_640
                  3  ONormal/Weighted
:FM_ISO_9515_1024
                  4  ONormal/Boxed
:FM_ISO_9517_640
                  5  ONormal/Flattened
:FM_ISO_9517_1024
                  6  ONormal/Rounded
                  7  ONormal/Off Center
                  8  ONormal/Square
                  9  Oblique/Contact
                  10 Oblique/Weighted
                  11 Oblique/Boxed
                  12 Oblique/Flattened
                  13 Oblique/Rounded
                  14 Oblique/Off Center
                  15 Oblique/Square


bMidline        Midline.
;fbFailedISO:Font failed ISO test.
                  0  Any
:The following flags indicate those displays and resolutions at which the font did not comply with ISO 9241:
                  1  No Fit
:FM_ISO_9518_640
                  2  Standard/Trimmed
:FM_ISO_9515_640
                  3  Standard/Pointed
:FM_ISO_9515_1024
                  4  Standard/Serifed
:FM_ISO_9517_640
                  5  High/Trimmed
:FM_ISO_9517_1024
                  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         X-Height.
==Example Code==
                  0 Any
<PRE>
                  1 No Fit
typedef struct _PANOSE {
                  2 Constant/Small
  BYTE    bFamilyType;      /*  Family kind. */
                  3 Constant/Standard
  BYTE    bSerifStyle;      /*  Serif style. */
                  4 Constant/Large
  BYTE    bWeight;          /*  Weight. */
                  5 Ducking/Small
  BYTE    bProportion;      /* Proportion. */
                  6 Ducking/Standard
  BYTE    bContrast;         /*  Contrast. */
                  7 Ducking/Large
  BYTE    bStrokeVariation;  /*  Stroke Variation. */
  BYTE    bArmStyle;        /*  Arm Style. */
  BYTE    bLetterform;      /*  Letterform. */
  BYTE    bMidline;          /*  Midline. */
  BYTE    bXHeight;          /*  X-Height. */
  BYTE    fbPassedISO;      /*  Font passed ISO test. */
  BYTE    fbFailedISO;      /*  Font failed ISO test. */
} PANOSE;


fbPassedISO      Font passed ISO test.
typedef  PANOSE  * PPANOSE ;
                  The following flags indicate those displays and resolutions
</PRE>
                  at which the font complied with ISO 9241:
                  FM_ISO_9518_640
                  FM_ISO_9515_640
                  FM_ISO_9515_1024
                  FM_ISO_9517_640
                  FM_ISO_9517_1024


fbFailedISO      Font failed ISO test.
[[Category:PM Data type]]
                  The following flags indicate those displays and resolutions
                  at which the font did not comply with ISO 9241:
                  FM_ISO_9518_640
                  FM_ISO_9515_640
                  FM_ISO_9515_1024
                  FM_ISO_9517_640
                  FM_ISO_9517_1024

Latest revision as of 20:48, 25 June 2023

The Panose field in the font metrics will allow for quantitative descriptions of the visual properties of font faces. The PANOSE definition contains ten digits, each of which currently describes up to sixteen variations.

Type

BYTE  bFamilyType;
BYTE  bSerifStyle;
BYTE  bWeight;
BYTE  bProportion;
BYTE  bContrast;
BYTE  bStrokeVariation;
BYTE  bArmStyle;
BYTE  bLetterform;
BYTE  bMidline;
BYTE  bXHeight;
BYTE  fbPassedISO;
BYTE  fbFailedISO;

C Declaration Method

typedef struct

Fields

bFamilyType
Family kind.
0 Any
1 No Fit
2 Text and Display
3 Script
4 Decorative
5 Pictorial
bSerifStyle
Serif style.
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
Weight.
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
Proportion.
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
Contrast.
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
Stroke Variation.
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
Arm Style.
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
Letterform.
0 Any
1 No Fit
2 Normal/Contact
3 ONormal/Weighted
4 ONormal/Boxed
5 ONormal/Flattened
6 ONormal/Rounded
7 ONormal/Off Center
8 ONormal/Square
9 Oblique/Contact
10 Oblique/Weighted
11 Oblique/Boxed
12 Oblique/Flattened
13 Oblique/Rounded
14 Oblique/Off Center
15 Oblique/Square
bMidline
Midline.
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
X-Height.
0 Any
1 No Fit
2 Constant/Small
3 Constant/Standard
4 Constant/Large
5 Ducking/Small
6 Ducking/Standard
7 Ducking/Large
fbPassedISO
Font passed ISO test.
The following flags indicate those displays and resolutions at which the font complied with ISO 9241:
FM_ISO_9518_640
FM_ISO_9515_640
FM_ISO_9515_1024
FM_ISO_9517_640
FM_ISO_9517_1024
fbFailedISO
Font failed ISO test.
The following flags indicate those displays and resolutions at which the font did not comply with ISO 9241:
FM_ISO_9518_640
FM_ISO_9515_640
FM_ISO_9515_1024
FM_ISO_9517_640
FM_ISO_9517_1024

Example Code

typedef struct _PANOSE {
  BYTE     bFamilyType;       /*  Family kind. */
  BYTE     bSerifStyle;       /*  Serif style. */
  BYTE     bWeight;           /*  Weight. */
  BYTE     bProportion;       /*  Proportion. */
  BYTE     bContrast;         /*  Contrast. */
  BYTE     bStrokeVariation;  /*  Stroke Variation. */
  BYTE     bArmStyle;         /*  Arm Style. */
  BYTE     bLetterform;       /*  Letterform. */
  BYTE     bMidline;          /*  Midline. */
  BYTE     bXHeight;          /*  X-Height. */
  BYTE     fbPassedISO;       /*  Font passed ISO test. */
  BYTE     fbFailedISO;       /*  Font failed ISO test. */
} PANOSE;

typedef   PANOSE   * PPANOSE ;