Info

Description

The Info object contains all names, numbers, URLs, dimensions, values, etc. that would otherwise clutter up the font object. You don’t have to create a Info object yourself, Font makes one when it is created.

Info validates any value set for a Info <BaseInfo> item, but does not check if the data is sane (i.e., you can set valid but incorrect data).

Overview

BaseInfo.copy Copy this object into a new object of the same type.
BaseInfo.font The info’s parent font.
BaseInfo.interpolate Interpolate all pairs between minInfo and maxInfo.
BaseInfo.round Round the following attributes to integers:
BaseInfo.update Update this object with the values from otherInfo.
BaseInfo.naked Return the environment’s native object that has been wrapped by this object.
BaseInfo.changed Tell the environment that something has changed in the object.

Reference

class fontParts.base.BaseInfo(*args, **kwargs)[source]

Copy

BaseInfo.copy()

Copy this object into a new object of the same type. The returned object will not have a parent object.

Parents

BaseInfo.font

The info’s parent font.

Interpolation

BaseInfo.interpolate(factor, minInfo, maxInfo, round=True, suppressError=True)[source]

Interpolate all pairs between minInfo and maxInfo. The interpolation occurs on a 0 to 1.0 range where minInfo is located at 0 and maxInfo is located at 1.0.

factor is the interpolation value. It may be less than 0 and greater than 1.0. It may be a number (integer, float) or a tuple of two numbers. If it is a tuple, the first number indicates the x factor and the second number indicates the y factor.

round indicates if the result should be rounded to integers.

suppressError indicates if incompatible data should be ignored or if an error should be raised when such incompatibilities are found.

Normalization

BaseInfo.round()[source]

Round the following attributes to integers:

  • unitsPerEm
  • descender
  • xHeight
  • capHeight
  • ascender
  • openTypeHeadLowestRecPPEM
  • openTypeHheaAscender
  • openTypeHheaDescender
  • openTypeHheaLineGap
  • openTypeHheaCaretSlopeRise
  • openTypeHheaCaretSlopeRun
  • openTypeHheaCaretOffset
  • openTypeOS2WidthClass
  • openTypeOS2WeightClass
  • openTypeOS2TypoAscender
  • openTypeOS2TypoDescender
  • openTypeOS2TypoLineGap
  • openTypeOS2WinAscent
  • openTypeOS2WinDescent
  • openTypeOS2SubscriptXSize
  • openTypeOS2SubscriptYSize
  • openTypeOS2SubscriptXOffset
  • openTypeOS2SubscriptYOffset
  • openTypeOS2SuperscriptXSize
  • openTypeOS2SuperscriptYSize
  • openTypeOS2SuperscriptXOffset
  • openTypeOS2SuperscriptYOffset
  • openTypeOS2StrikeoutSize
  • openTypeOS2StrikeoutPosition
  • openTypeVheaVertTypoAscender
  • openTypeVheaVertTypoDescender
  • openTypeVheaVertTypoLineGap
  • openTypeVheaCaretSlopeRise
  • openTypeVheaCaretSlopeRun
  • openTypeVheaCaretOffset
  • postscriptSlantAngle
  • postscriptUnderlineThickness
  • postscriptUnderlinePosition
  • postscriptBlueValues
  • postscriptOtherBlues
  • postscriptFamilyBlues
  • postscriptFamilyOtherBlues
  • postscriptStemSnapH
  • postscriptStemSnapV
  • postscriptBlueFuzz
  • postscriptBlueShift
  • postscriptDefaultWidthX
  • postscriptNominalWidthX

Update

BaseInfo.update(other)[source]

Update this object with the values from otherInfo.

Environment

BaseInfo.naked()

Return the environment’s native object that has been wrapped by this object.

>>> loweLevelObj = obj.naked()
BaseInfo.changed(*args, **kwargs)

Tell the environment that something has changed in the object. The behavior of this method will vary from environment to environment.

>>> obj.changed()