📄 getoutlinetextmetricsu.pas
字号:
PAN_WEIGHT_HEAVY: Add(' Weight: Heavy');
PAN_WEIGHT_BLACK: Add(' Weight: Black');
PAN_WEIGHT_NORD: Add(' Weight: Nord');
end;
{display the Panose proportion}
case otmPanoseNumber.bProportion of
PAN_ANY: Add(' Proportion: Any');
PAN_NO_FIT: Add(' Proportion: No fit');
PAN_PROP_OLD_STYLE: Add(' Proportion: Old style');
PAN_PROP_MODERN: Add(' Proportion: Modern');
PAN_PROP_EVEN_WIDTH: Add(' Proportion: Even width');
PAN_PROP_EXPANDED: Add(' Proportion: Expanded');
PAN_PROP_CONDENSED: Add(' Proportion: Condensed');
PAN_PROP_VERY_EXPANDED: Add(' Proportion: Very expanded');
PAN_PROP_VERY_CONDENSED: Add(' Proportion: Very condensed');
PAN_PROP_MONOSPACED: Add(' Proportion: Monospaced');
end;
{display the Panose contrast}
case otmPanoseNumber.bContrast of
PAN_ANY: Add(' Contrast: Any');
PAN_NO_FIT: Add(' Contrast: No fit');
PAN_CONTRAST_NONE: Add(' Contrast: None');
PAN_CONTRAST_VERY_LOW: Add(' Contrast: Very low');
PAN_CONTRAST_LOW: Add(' Contrast: Low');
PAN_CONTRAST_MEDIUM_LOW: Add(' Contrast: Medium low');
PAN_CONTRAST_MEDIUM: Add(' Contrast: Medium');
PAN_CONTRAST_MEDIUM_HIGH: Add(' Contrast: Medium high');
PAN_CONTRAST_HIGH: Add(' Contrast: High');
PAN_CONTRAST_VERY_HIGH: Add(' Contrast: Very high');
end;
{display the Panose stroke variation}
case otmPanoseNumber.bStrokeVariation of
PAN_ANY: Add(' Stroke variation: Any');
PAN_NO_FIT: Add(' Stroke variation: No fit');
PAN_STROKE_GRADUAL_DIAG: Add(' Stroke variation: Gradual diagonal');
PAN_STROKE_GRADUAL_TRAN: Add(' Stroke variation: Gradual transition');
PAN_STROKE_GRADUAL_VERT: Add(' Stroke variation: Gradual vertical');
PAN_STROKE_GRADUAL_HORZ: Add(' Stroke variation: Gradual horizontal');
PAN_STROKE_RAPID_VERT: Add(' Stroke variation: Rapid vertical');
PAN_STROKE_RAPID_HORZ: Add(' Stroke variation: Rapid horizontal');
PAN_STROKE_INSTANT_VERT: Add(' Stroke variation: Instant vertical');
end;
{display the Panose arm style}
case otmPanoseNumber.bArmStyle of
PAN_ANY: Add(' Arm style: Any');
PAN_NO_FIT: Add(' Arm style: No fit');
PAN_STRAIGHT_ARMS_HORZ: Add(' Arm style: Straight '+
'horizontal');
PAN_STRAIGHT_ARMS_WEDGE: Add(' Arm style: Straight wedge');
PAN_STRAIGHT_ARMS_VERT: Add(' Arm style: Straight vertical');
PAN_STRAIGHT_ARMS_SINGLE_SERIF: Add(' Arm style: Straight '+
'single_serif');
PAN_STRAIGHT_ARMS_DOUBLE_SERIF: Add(' Arm style: Straight '+
'double-serif');
PAN_BENT_ARMS_HORZ: Add(' Arm style: Nonstraight '+
'horizontal');
PAN_BENT_ARMS_WEDGE: Add(' Arm style: Nonstraight wedge');
PAN_BENT_ARMS_VERT: Add(' Arm style: Nonstraight '+
'vertical');
PAN_BENT_ARMS_SINGLE_SERIF: Add(' Arm style: Nonstraight '+
'single-serif');
PAN_BENT_ARMS_DOUBLE_SERIF: Add(' Arm style: Nonstraight '+
'double-serif');
end;
{display the Panose letter form}
case otmPanoseNumber.bLetterform of
PAN_ANY: Add(' Letter form: Any');
PAN_NO_FIT: Add(' Letter form: No fit');
PAN_LETT_NORMAL_CONTACT: Add(' Letter form: Normal contact');
PAN_LETT_NORMAL_WEIGHTED: Add(' Letter form: Normal weighted');
PAN_LETT_NORMAL_BOXED: Add(' Letter form: Normal boxed');
PAN_LETT_NORMAL_FLATTENED: Add(' Letter form: Normal flattened');
PAN_LETT_NORMAL_ROUNDED: Add(' Letter form: Normal rounded');
PAN_LETT_NORMAL_OFF_CENTER: Add(' Letter form: Normal off center');
PAN_LETT_NORMAL_SQUARE: Add(' Letter form: Normal square');
PAN_LETT_OBLIQUE_CONTACT: Add(' Letter form: Oblique contact');
PAN_LETT_OBLIQUE_WEIGHTED: Add(' Letter form: Oblique weighted');
PAN_LETT_OBLIQUE_BOXED: Add(' Letter form: Oblique boxed');
PAN_LETT_OBLIQUE_FLATTENED: Add(' Letter form: Oblique flattened');
PAN_LETT_OBLIQUE_ROUNDED: Add(' Letter form: Oblique rounded');
PAN_LETT_OBLIQUE_OFF_CENTER: Add(' Letter form: Oblique off center');
PAN_LETT_OBLIQUE_SQUARE: Add(' Letter form: Oblique square');
end;
{display the Panose midline}
case otmPanoseNumber.bMidline of
PAN_ANY: Add(' Midline: Any');
PAN_NO_FIT: Add(' Midline: No fit');
PAN_MIDLINE_STANDARD_TRIMMED: Add(' Midline: Standard trimmed');
PAN_MIDLINE_STANDARD_POINTED: Add(' Midline: Standard pointed');
PAN_MIDLINE_STANDARD_SERIFED: Add(' Midline: Standard serifed');
PAN_MIDLINE_HIGH_TRIMMED: Add(' Midline: High trimmed');
PAN_MIDLINE_HIGH_POINTED: Add(' Midline: High pointed');
PAN_MIDLINE_HIGH_SERIFED: Add(' Midline: High serifed');
PAN_MIDLINE_CONSTANT_TRIMMED: Add(' Midline: Constant trimmed');
PAN_MIDLINE_CONSTANT_POINTED: Add(' Midline: Constant pointed');
PAN_MIDLINE_CONSTANT_SERIFED: Add(' Midline: Constant serifed');
PAN_MIDLINE_LOW_TRIMMED: Add(' Midline: Low trimmed');
PAN_MIDLINE_LOW_POINTED: Add(' Midline: Low pointed');
PAN_MIDLINE_LOW_SERIFED: Add(' Midline: Low serifed');
end;
{display the Panose xheight}
case otmPanoseNumber.bXHeight of
PAN_ANY: Add(' XHeight: Any');
PAN_NO_FIT: Add(' XHeight: No fit');
PAN_XHEIGHT_CONSTANT_SMALL: Add(' XHeight: Constant small');
PAN_XHEIGHT_CONSTANT_STD: Add(' XHeight: Constant standard');
PAN_XHEIGHT_CONSTANT_LARGE: Add(' XHeight: Constant large');
PAN_XHEIGHT_DUCKING_SMALL: Add(' XHeight: Ducking small');
PAN_XHEIGHT_DUCKING_STD: Add(' XHeight: Ducking standard');
PAN_XHEIGHT_DUCKING_LARGE: Add(' XHeight: Ducking large');
end;
{display the inherent font attributes}
Add('Selection: ');
if (otmfsSelection and $01)>0 then
Add(' Italic');
if (otmfsSelection and $02)>0 then
Add(' Underscore');
if (otmfsSelection and $04)>0 then
Add(' Negative');
if (otmfsSelection and $08)>0 then
Add(' Outline');
if (otmfsSelection and $10)>0 then
Add(' Strikeout');
if (otmfsSelection and $20)>0 then
Add(' Bold');
{display font embedding information}
Add('Type:');
if (otmfsType and $02)>0 then
Add(' Embedding Forbidden');
if (otmfsType and $02)<1 then
Add(' Embedding Allowed');
if (otmfsType and $04)>0 then
Add(' Embedding Read-Only');
{display italics attributes}
Add('Slope Rise: '+IntToStr(otmsCharSlopeRise));
Add('Slope Run: '+IntToStr(otmsCharSlopeRun));
Add('Italic Angle: '+IntToStr(otmItalicAngle));
{display important physical attributes}
Add('EM Square: '+IntToStr(otmEMSquare));
Add('Typographic Ascent: '+IntToStr(otmAscent));
Add('Typographic Descent: '+IntToStr(otmDescent));
Add('Typographic Line Gap: '+IntToStr(otmLineGap));
{display the bounding box coordinates}
Add('Font Bounding Box: ');
Add(' Left: '+IntToStr(otmrcFontBox.Left));
Add(' Top: '+IntToStr(otmrcFontBox.Top));
Add(' Right: '+IntToStr(otmrcFontBox.Right));
Add(' Bottom: '+IntToStr(otmrcFontBox.Bottom));
{display the Macintosh attributes}
Add('Mac Ascent: '+IntToStr(otmMacAscent));
Add('MacDescent: '+IntToStr(otmMacDescent));
Add('Mac Line Gap: '+IntToStr(otmMacLineGap));
{display the minimum size}
Add('Minimum Size: '+IntToStr(otmusMinimumPPEM));
{display subscript suggestions}
Add('Subscript Size: ');
Add(' Horizontal: '+IntToStr(otmptSubscriptSize.X));
Add(' Vertical: '+IntToStr(otmptSubscriptSize.Y));
Add('Subscript Offset: ');
Add(' Horizontal: '+IntToStr(otmptSubscriptOffset.X));
Add(' Vertical: '+IntToStr(otmptSubscriptOffset.Y));
{display superscript suggestions}
Add('Superscript Size: ');
Add(' Horizontal: '+IntToStr(otmptSuperscriptSize.X));
Add(' Vertical: '+IntToStr(otmptSuperscriptSize.Y));
Add('Superscript Offset: ');
Add(' Horizontal: '+IntToStr(otmptSuperscriptOffset.X));
Add(' Vertical: '+IntToStr(otmptSuperscriptOffset.Y));
{display line sizes and positions}
Add('Strikeout Size: '+IntToStr(otmsStrikeoutSize));
Add('Strikeout Position: '+IntToStr(otmsStrikeoutPosition));
Add('Underscore Size: '+IntToStr(otmsUnderscoreSize));
Add('Underscore Position: '+IntToStr(otmsUnderscorePosition));
{display font family, face, and name strings}
Add('Family Name: '+PChar(Longint(FontInfo)+FontInfo^.otmpFamilyName));
Add('Face Name: '+PChar(Longint(FontInfo)+FontInfo^.otmpFaceName));
Add('Style Name: '+PChar(Longint(FontInfo)+FontInfo^.otmpStyleName));
end;
{display the full font name}
Label17.Caption := PChar(Longint(FontInfo)+FontInfo^.otmpFullName);
{free the allocated text metric buffer}
FreeMem(FontInfo, TheSize);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -