Table of Contents

Class AdobeStylePrivateDictionary

Namespace
UglyToad.PdfPig.Fonts
Assembly
UglyToad.PdfPig.Fonts.dll

Holds common properties between Adobe Type 1 and Compact Font Format private dictionaries.

public abstract class AdobeStylePrivateDictionary
Inheritance
AdobeStylePrivateDictionary
Derived
Inherited Members

Constructors

AdobeStylePrivateDictionary(BaseBuilder)

protected AdobeStylePrivateDictionary(AdobeStylePrivateDictionary.BaseBuilder builder)

Parameters

builder AdobeStylePrivateDictionary.BaseBuilder

The builder used to gather property values.

Fields

DefaultBlueFuzz

Default value of BlueFuzz.

public const int DefaultBlueFuzz = 1

Field Value

int

DefaultBlueScale

Default value of BlueScale.

public static readonly decimal DefaultBlueScale

Field Value

decimal

DefaultBlueShift

Default value of BlueShift.

public const int DefaultBlueShift = 7

Field Value

int

DefaultExpansionFactor

Default value of ExpansionFactor.

public static readonly decimal DefaultExpansionFactor

Field Value

decimal

DefaultLanguageGroup

Default value of LanguageGroup.

public const int DefaultLanguageGroup = 0

Field Value

int

Properties

BlueFuzz

Optional: The number of character space units to extend an alignment zone on a horizontal stem. If the top or bottom of a horizontal stem is within BlueFuzz units outside a top-zone then the stem top/bottom is treated as if it were within the zone. Default: 1

public int BlueFuzz { get; }

Property Value

int

BlueScale

Optional: The point size at which overshoot suppression stops. The value is a related to the number of pixels tall that one character space unit will be before overshoot suppression is switched off. Overshoot suppression enforces features to snap to alignment zones when the point size is below that affected by this value. Default: 0.039625

public decimal BlueScale { get; }

Property Value

decimal

Examples

A blue scale of 0.039625 switches overshoot suppression off at 10 points on a 300 dpi device using the formula (for 300 dpi): BlueScale = (pointsize - 0.49)/240 For example, if you wish overshoot suppression to turn off at 11 points on a 300-dpi device, you should set BlueScale to (11 − 0.49) ÷ 240 or 0.04379

BlueShift

Optional: The character space distance beyond the flat position of alignment zones at which overshoot enforcement occurs. Default: 7

public int BlueShift { get; }

Property Value

int

BlueValues

Required. An array containing an even number of integers. The first pair is the baseline overshoot position and the baseline. All following pairs describe top-zones.

public IReadOnlyList<int> BlueValues { get; }

Property Value

IReadOnlyList<int>

ExpansionFactor

Optional: The limit for changing the size of a character bounding box for LanguageGroup 1 counters during font processing.

public decimal ExpansionFactor { get; }

Property Value

decimal

FamilyBlues

Optional: Integer pairs similar to BlueValues however these are used to enforce consistency across a font family when there are small differences (<1px) in font alignment.

public IReadOnlyList<int> FamilyBlues { get; }

Property Value

IReadOnlyList<int>

FamilyOtherBlues

Optional: Integer pairs similar to OtherBlues however these are used to enforce consistency across a font family with small differences in alignment similarly to FamilyBlues.

public IReadOnlyList<int> FamilyOtherBlues { get; }

Property Value

IReadOnlyList<int>

ForceBold

Optional: At small sizes at low resolutions this controls whether bold characters should appear thicker using special techniques.

public bool ForceBold { get; }

Property Value

bool

LanguageGroup

Optional: Language group 0 includes Latin, Greek and Cyrillic as well as similar alphabets. Language group 1 includes Chinese, Japanese Kanji and Korean Hangul as well as similar alphabets. Default: 0

public int LanguageGroup { get; }

Property Value

int

OtherBlues

Optional: Pairs of integers similar to BlueValues. These only describe bottom zones.

public IReadOnlyList<int> OtherBlues { get; }

Property Value

IReadOnlyList<int>

StandardHorizontalWidth

Optional: The dominant width of horizontal stems vertically in character space units.

public decimal? StandardHorizontalWidth { get; }

Property Value

decimal?

StandardVerticalWidth

Optional: The dominant width of vertical stems horizontally in character space units.

public decimal? StandardVerticalWidth { get; }

Property Value

decimal?

StemSnapHorizontalWidths

Optional: Up to 12 numbers with the most common widths for horizontal stems vertically in character space units.

public IReadOnlyList<decimal> StemSnapHorizontalWidths { get; }

Property Value

IReadOnlyList<decimal>

StemSnapVerticalWidths

Optional: Up to 12 numbers with the most common widths for vertical stems horizontally in character space units.

public IReadOnlyList<decimal> StemSnapVerticalWidths { get; }

Property Value

IReadOnlyList<decimal>