Interpolation of Contrast

download Interpolation of Contrast

of 7

Transcript of Interpolation of Contrast

  • 8/10/2019 Interpolation of Contrast

    1/7

    14/06/14 15:29Maciej Ratajski Interpolation of contrast

    Pgina 1 de 7http://www.maciejratajski.com/theory/interpolation-of-contrast/#problem

    Interpolation of contrast

    A simple formula and an algorithm for interpolating horizontal to

    vertical stem width ratio. The aim is for contrast to grow in linear

    relationship to weight. The algorithm results in anisotropic

    interpolation, hence its usability can be limited.

    1. The problem

    2. An example

    3. The formula

    4. The algorithm

    5. The implementations

    6. The limitations

    7. The application

    The problem

    The width of vertical and horizontal stems is hardly ever equal in

    type design. What's more, within one type family the bold weights

    often need a bigger difference in stroke weight than the light

    weights. At the same time, designing the former with highercontrast leads to problems with interpolation.

    The standard isotropic Multiple Master interpolation between a very

    light master with almost no stroke contrast and a very bold one with

    high contrast produces too thin horizontals in most of the

    interpolated weights.

    fig 1: Standard isotropic interpolation.

    1

    2

    3

  • 8/10/2019 Interpolation of Contrast

    2/7

    14/06/14 15:29Maciej Ratajski Interpolation of contrast

    Pgina 2 de 7http://www.maciejratajski.com/theory/interpolation-of-contrast/#problem

    fig 2: Interpolation of contrast (anisotropic).

    That is the case, because even if the stem weights grow linearly

    within the family, the ratio between them doesn't. On the contrary,

    we observe a negative exponential relationship between vertical

    stem width and horizontal to vertical ratio, which leads to uneven

    distribution of contrast.

    fig 3: Horizontal to vertical stem width ratio (as a percentage) in relation to vertical

    stem width for isotropic interpolation (left) and interpolation of contrast (right).

    An example

    Let's assume we have two masters: an extra light one with no

    stroke contrast and an extra bold one with horizontals that are 80%

    of verticals. If we interpolate the light, medium and bold weights, we

    get the linear interpolation of stem widths:

    ExtraLight 2020 = 100%

    Light 5565 85%

    Medium 90110

    82%Bold 125155 80%

  • 8/10/2019 Interpolation of Contrast

    3/7

    14/06/14 15:29Maciej Ratajski Interpolation of contrast

    Pgina 3 de 7http://www.maciejratajski.com/theory/interpolation-of-contrast/#problem

    ExtraBold 160200 = 80%

    What we want instead is probably closer to the linear interpolation

    of contrast:

    ExtraLight 2020 = 100%

    Light 6265 95%Medium 99110 = 90%

    Bold 132155 85%

    ExtraBold 160200 = 80%

    The formula

    The standard formula for isotropic, linear interpolation is:

    y= ( x x ) ( x x ) ( y y ) + y

    The proposed formula for interpolating yto xratio is:

    y= { [ 1 ( x x ) ( x x ) ] ( y x y x ) + y

    x } x

    fig 4: A comparison between standard isotropic interpolation (red) and interpolation

    0 1 0 1 0 0

    0 1 0 0 0 1 1

    1 1

  • 8/10/2019 Interpolation of Contrast

    4/7

    14/06/14 15:29Maciej Ratajski Interpolation of contrast

    Pgina 4 de 7http://www.maciejratajski.com/theory/interpolation-of-contrast/#problem

    of contrast (blue).

    The algorithm

    The algorithm interpolates ratio between horizontals and verticals. It

    needs to be provided with vertical and horizontal stem widths of the

    extreme masters (LightWeightX, LightWeightYand BoldWeightX,

    BoldWeightY).

    fig 5: A good way of providing the algorithm with xand yweight of the extreme

    masters is by using stem widths.

    For contrast to grow in linear relationship to weight, horizontals

    have to grow at a different rate than verticals. This leads to

    anisotropic interpolation.

    Interpolation of the xcoordinates

    Coordinates on the xaxis are interpolated traditionally. We start

    with calculating the interpolation point for the desired vertical stem

    weight (InterpolationWeightX) of the interpolated instance. It

  • 8/10/2019 Interpolation of Contrast

    5/7

    14/06/14 15:29Maciej Ratajski Interpolation of contrast

    Pgina 5 de 7http://www.maciejratajski.com/theory/interpolation-of-contrast/#problem

    designates the position on the interpolation axis (on the 01 scale).

    InterpolationPointX= ( InterpolationWeightX LightWeightX

    ) ( BoldWeightX LightWeightX)

    Then we apply it to x coordinates of nodes:

    x= InterpolationPointX( x x ) + x

    Interpolation of the ycoordinates

    We use our formula to calculate the horizontal stem weight for the

    interpolated instance:

    InterpolationWeightY= [ ( 1 InterpolationPointX) (

    LightWeightY LightWeightX BoldWeightY BoldWeightX

    ) + BoldWeightY BoldWeightX] InterpolationWeightX

    Now we can calculate the interpolation point for the ycoordinates:

    InterpolationPointY= ( InterpolationWeightY LightWeightY

    ) ( BoldWeightY LightWeightY)

    and apply it:

    y= InterpolationPointY( y y ) + y

    The implementations

    This can be tested in all apps that allow for independent x and y

    interpolation.

    Glyphs app

    Using it in Glyphs app requires adding InterpolationWeightY custom

    parameter to the instances. To calculate it, apply the

    InterpolationPointYvalue to the xinterpolation axis.

    GlyphsInterpolationWeightY= InterpolationPointY(

    BoldWeightX LightWeightX) + LightWeightX

    Creating instances with this custom parameter is automated by a

    great plug-indeveloped by Mekkablue.

    1 0 0

    1 0 0

  • 8/10/2019 Interpolation of Contrast

    6/7

    14/06/14 15:29Maciej Ratajski Interpolation of contrast

    Pgina 6 de 7http://www.maciejratajski.com/theory/interpolation-of-contrast/#problem

    fig 6: Glyphs script developed by Mekkablue.

    The limitations

    As with any anisotropic interpolation, there are some obvious

    limitations to using this method in current type design process. It

    doesn't take diagonal contrast into account and, depending on the

    positions of nodes and handles, the angles and widths of diagonals

    and the curvature might shift. These changes, though small, need

    to be corrected manually.

    The application

    This method can be used as a starting point for the design, since it

    automates the process of adjusting horizontal stroke weights. In

    some cases it can also be tricked into producing the desired

    diagonal angles and widths right away.

    Probably the best solution to the problem of contrast is still adding

    an intermediate master, so this method can be used to simplify the

    process of creating one.

    4

  • 8/10/2019 Interpolation of Contrast

    7/7

    14/06/14 15:29Maciej Ratajski Interpolation of contrast

    Pgina 7 de 7http://www.maciejratajski.com/theory/interpolation-of-contrast/#problem

    Provided with stem widths of extremes, the formula calculates

    adequate horizontal stem width for a chosen vertical stem width.

    The result doesn't need to be applied with the aforementioned

    interpolation method. It could be implemented manually or

    automatically by a parametric design tool, aware of curves,

    diagonals and the axis.

    Maciej Ratajski

    August 29th, 2013

    Thanks for contribution, feedback and critique to: Rainer Erich

    Scheichelbauer, MichaJarociski and Tim Ahrens.

    1. There are multiple reasons for it, one being the fact that horizontals tend to

    look thicker than verticals of the same width. Furthermore, contrast is often

    derived from pen-formed writing and is a strong part of the typographical

    tradition. It is also a design feature.

    2. This is also due to multiple reasons. In most cases there just isn't enough

    space for growth for horizontal stems. Bold letters can be wider than the light

    ones but they usually cannot be taller.

    3. Adequate contrast in medium and light instances is often achieved by

    compromising the design of the bold master.

    4. One way is to put nodes between which you interpolate at the same height

    (and interpolate traditionally). The other is to turn a flaw into a feature by

    setting vertical distances between interpolated nodes so that the angle (and

    the diagonal stroke) end up right.