Jump to content

PANOSE: Difference between revisions

From EDM2
Ak120 (talk | contribs)
No edit summary
No edit summary
 
(3 intermediate revisions by one other user 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  
bContrast       Contrast.
:4  Low  
                  0  Any  
:5  Medium Low  
                  1  No Fit  
:6  Medium  
                  2  None  
:7  Medium High  
                  3  Very Low  
:8  High  
                  4  Low  
:9  Very High
                  5  Medium Low  
;bStrokeVariation:Stroke Variation.
                  6  Medium  
:0  Any
                  7  Medium High  
:1  No Fit
                  8  High  
:2  Gradual/Diagonal
                  9  Very High
: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


bStrokeVariation Stroke Variation.
;bLetterform:Letterform.
                  0  Any  
:0  Any  
                  1  No Fit  
:1  No Fit  
                  Gradual/Diagonal
:Normal/Contact
                  Gradual/Transitional
:ONormal/Weighted
                  Gradual/Vertical
:ONormal/Boxed
                  Gradual/Horizontal
:ONormal/Flattened
                  Rapid/Vertical
:ONormal/Rounded
                  Rapid/Horizontal
:ONormal/Off Center
                  Instant/Vertical
:ONormal/Square
:9  Oblique/Contact
:10 Oblique/Weighted
:11 Oblique/Boxed
:12 Oblique/Flattened
:13 Oblique/Rounded
:14 Oblique/Off Center
:15 Oblique/Square


bArmStyle        Arm Style.
;bMidline:Midline.
                  0  Any
:0  Any  
                  1  No Fit  
:1  No Fit  
                  Straight Arms/Horizontal
:Standard/Trimmed
                  Straight Arms/Wedge
:Standard/Pointed
                  Straight Arms/Vertical
:Standard/Serifed
                  Straight Arms/Single Serif
:High/Trimmed
                  Straight Arms/Double Serif
:High/Pointed
                  Non-Straight Arms/Horizontal
:High/Serifed
                  Non-Straight Arms/Wedge
:Constant/Trimmed
                  Non-Straight Arms/Vertical
:Constant/Pointed
                  10 Non-Straight Arms/Single Serif
:10 Constant/Serifed
                  11 Non-Straight Arms/Double Serif
:11 Low/Trimmed
:12 Low/Pointed
:13 Low/Serifed


bLetterform      Letterform.
;bXHeight:X-Height.
                  0 Any  
:0 Any  
                  1 No Fit  
:1 No Fit  
                  2 Normal/Contact
:2 Constant/Small
                  3 ONormal/Weighted
:3 Constant/Standard
                  4 ONormal/Boxed
:4 Constant/Large
                  5 ONormal/Flattened
:5 Ducking/Small
                  6 ONormal/Rounded
:6 Ducking/Standard
                  7 ONormal/Off Center
:7 Ducking/Large
                  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.
;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  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.
;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 Constant/Small
:FM_ISO_9515_640
                  3 Constant/Standard
:FM_ISO_9515_1024
                  4 Constant/Large
:FM_ISO_9517_640
                  5 Ducking/Small
:FM_ISO_9517_1024
                  6 Ducking/Standard
                  7 Ducking/Large


  fbPassedISO     Font passed ISO test.
==Example Code==
                  The following flags indicate those displays and resolutions
<PRE>
                  at which the font complied with ISO 9241:
typedef struct _PANOSE {
                  FM_ISO_9518_640
  BYTE    bFamilyType;      /*  Family kind. */
                  FM_ISO_9515_640
  BYTE    bSerifStyle;      /*  Serif style. */
                  FM_ISO_9515_1024
  BYTE    bWeight;          /*  Weight. */
                  FM_ISO_9517_640
  BYTE    bProportion;      /*  Proportion. */
                  FM_ISO_9517_1024
  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;


fbFailedISO      Font failed ISO test.
typedef  PANOSE  * PPANOSE ;
                  The following flags indicate those displays and resolutions
</PRE>
                  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


[[Category:The OS/2 API Project]]
[[Category:PM Data type]]

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 ;