Introducing the New System Fonts - Apple

311
© 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. #WWDC15 Session 804 Introducing the New System Fonts Antonio Cavedoni Type Designer Design

description

Introducing the New System Fonts - Apple

Transcript of Introducing the New System Fonts - Apple

  • 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

    #WWDC15

    Session 804

    Introducing the New System Fonts

    Antonio Cavedoni Type Designer

    Design

  • Agenda

  • Agenda

    San Francisco Fonts

  • Agenda

    San Francisco FontsDesign Principles

  • Agenda

    San Francisco FontsDesign PrinciplesNew Features, Changes, and Code

  • Agenda

    San Francisco FontsDesign PrinciplesNew Features, Changes, and CodePotential API Pitfalls

  • San Francisco

  • aaaaaaaaa

  • ////////// / / / / / / / /

    / / / / / / / / /

  • aaaaaa

    aa

    aaaa

    1 2 3 4 5 6 7 8 9A

    AA

    AA

    AA

    AAA

    AA

  • AAA

  • San Francisco

    ABCDEFGHIJKLMNO PQRSTUVWXYZ abcdefghijklmn opqrstuvwxyz 123456789&0

  • Family TreeSan Francisco

  • Family TreeSan Francisco

    SF SF Compact

  • Family TreeSan Francisco

    SF SF Compact

    Text Display Text Display

  • Family TreeSan Francisco

    SF SF Compact

    Text Display Text Display

    ABC abcABC abcABC abcABC abcABC abcABC abc

    ABC abcABC abcABC abcABC abcABC abcABC abcABC abcABC abcABC abc

    ABC abcABC abcABC abcABC abcABC abcABC abc

    ABC abcABC abcABC abcABC abcABC abcABC abcABC abcABC abcABC abc

  • ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

    ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

    SF

  • ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

    ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

    ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

    ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

    SF Compact

  • SF and SF Compact

    San Francisco

    SF SF Compact

  • abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    SF and SF Compact

  • abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    oesoes

    SF and SF Compact

  • abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    oesoes

    SF and SF Compact

  • abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    oesoes

    SF and SF Compact

  • abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    oesoes

    SF and SF Compact

  • abcdefghijklmnopqrstuvwxyz

    abcdefghijklmnopqrstuvwxyz

    oesoes

    SF and SF Compact

  • oesoes

    Texture

  • To be the first to enter the cosmos, to engage, single-handed, in an unprecedented duel with naturecould one dream of anything more? We choose to go to the moon in this decade and do the other things, not because they are easy,

    Texture

    To be the first to enter the cosmos, to engage, single-handed, in an unprecedented duel with naturecould one dream of anything more? We choose to go to the moon in this decade and do the other things, not because they are easy,

    oesoes

  • To be the first to enter the cosmos, to engage, single-handed, in an unprecedented duel with naturecould one dream of anything more? We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Here men from the planet Earth first set foot upon the Moon.

    Texture

    To be the first to enter the cosmos, to engage, single-handed, in an unprecedented duel with naturecould one dream of anything more? We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Here men from the planet Earth first set foot upon the Moon.

    oesoes

  • To be the first to enter the cosmos, to engage, single-handed, in an unprecedented duel with naturecould one dream of anything more? We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Never in all their history have men been able truly to conceive of the world as one: a single sphere, a globe, having the qualities of a globe, a round earth in which all the directions eventually meet, in which there is no center because every point, or none, is center an equal earth which all men occupy as equals. The airman's earth, if free men make it, will be truly round: a globe in practice, not in theory.

    Texture

    To be the first to enter the cosmos, to engage, single-handed, in an unprecedented duel with naturecould one dream of anything more? We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Never in all their history have men been able truly to conceive of the world as one: a single sphere, a globe, having the qualities of a globe, a round earth in which all the directions eventually meet, in which there is no center because every point, or none, is center an equal earth which all men occupy as equals. The airman's earth, if free men make it, will be truly round: a globe in practice, not in theory.

    oesoes

  • Proportions

    5Hlpx

  • 5HlpxBaseline

  • 5Hlpxx-Height

  • 5HlpxCap-Height

  • 5HlpxDescender

  • 5HlpxAscender

  • Proportions

    5Hlpx

  • 5HlpxCompatible Overall Vertical Metrics

  • Cap-Height Lower Than Ascenders

    5Hlpx

  • Large x-Height

    5Hlpx

  • Numbers Align with Uppercase

    5Hlpx

  • Latin

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Za b c d e f g h i j k l m n

    o p q r s t u v w x y z

  • Polishktre wstrzsny sumieniem ludzkoci, i e

    ogoszono uroczycie jako najwzniolejszy cel ludzkoci denie do zbudowania takiego wiata, w

    ktrym ludzie korzysta bd z wolnoci sowa i przekona oraz z wolnoci od strachu i ndzy,

    zwaywszy, e konieczne jest zawarowanie praw czowieka przepisami prawa, aby nie musia

    doprowadzony do ostatecznoci ucieka si do buntu przeciw tyranii i uciskowi, zwaywszy, e

  • Icelandicsta markmi almennings um heim allan s a skapa verld, ar sem menn fi noti mlfrelsis,

    trfrelsis og ttaleysis um einkalf afkomu. Mannrttindi a vernda me lgum. A rum

    kosti hljta menn a grpa til ess rrifars a rsa upp gegn kgun og ofbeldi. a er mikilsvert a efla

    vinsamleg samskipti ja milli. stofnskr sinni hafa Sameinuu jdirnar lst yfir tr sinni grundvallaratrii mannrttinda, gfgi og gildi

  • Hungarianfellzt barbr cselekmnyekhez vezetett, s hogy az ember legfbb vgya egy olyan vilg eljvetele,

    amelyben az elnyomstl, valamint a nyomortl megszabadult emberi lnyek szava s

    meggyzdse szabad lesz, tekintettel annak fontossgra, hogy az emberi jogokat a jog uralma vdelmezze, nehogy az ember vgs szksgben

    a zsarnoksg s az elnyoms elleni lzadsra knyszerljn, tekintettel arra, hogy igen lnyeges a

  • Vietnamesec cc nc v tt c cc dn tc nh gi vic

    thc hin mc tiu m mi c nhn v mi t chc trong x hi, trn c s lun ghi nh Bn tuyn ngn

    ny, s phn u thc y s tn trng cc quyn v t do c bn ca con ngi thng qua truyn b

    v gio dc, cng nh s phn u m bo cho mi ngi dn, chnh cc nc thnh vin ca

    Lin Hp Quc v cc lnh th thuc quyn qun l ca mnh, cng nhn v thc hin nhng quyn

  • Cyrillic

  • Russian

    , ,

    , , ,

  • Greek

  • Greek , ,

    , , , , , ,

  • San Francisco

  • San Francisco

    New typeface called San Francisco

  • San Francisco

    New typeface called San FranciscoiOS and OS X make use of a new font family called SF

  • San Francisco

    New typeface called San FranciscoiOS and OS X make use of a new font family called SFWatch family renamed to SF Compact

  • San Francisco

    New typeface called San FranciscoiOS and OS X make use of a new font family called SFWatch family renamed to SF CompactFamilies have similar proportions

  • San Francisco

    New typeface called San FranciscoiOS and OS X make use of a new font family called SFWatch family renamed to SF CompactFamilies have similar proportionsSF and SF Compact are related but dierent designs

  • Download Info

    Apple Fonts and Text Pagedeveloper.apple.com/fonts

  • Download Info BETA

    Apple Fonts and Text Pagedeveloper.apple.com/fonts

  • Principles

  • Visual perception islargely about illusion

  • Equalizing Height

  • Equalizing Height

  • Equalizing Height

  • Equalizing Height

  • Equalizing Height

  • Equalizing HeightOvershoot

  • Equalizing HeightOvershoot

  • To make two shapes look similar, they often have to be made dissimilar

  • To make two shapes look similar, they often have to be made dissimilar

  • To make two shapes look similar, they often have to be made dissimilar

  • To make two shapes look similar, they often have to be made dissimilar

  • #Bonus

  • #Bonus: Octothorpe

  • #Bonus: Octothorpe

  • #Bonus: Octothorpe

  • Bonus: Octothorpe

    #

  • Bonus: Octothorpe

    #

  • Bonus: Octothorpe

    #

  • #Bonus: Octothorpe

  • #Bonus: Octothorpe

  • Visual perception islargely about illusion

  • Optical Sizes

  • Optical Sizes

    San Francisco

    SF SF Compact

    Text Display Text Display

  • hamburgefonstiv120pt

    Same Font, Dierent Sizes

  • Same Font, Dierent Sizes

    hamburgefonstiv

    hamburgefonstiv120pt15pt

  • hamburgefonstiv

    hamburgefonstiv

    Same Font, Dierent Sizes

  • hamburgefonstiv

    Display Versus Text

    hamburgefonstiv

    Same Font, Dierent Sizes

  • hamburgefonstiv

    hamburgefonstiv

    Display Versus Text

  • hamburgefonstiv

    Display Versus Text

    hamburgefonstiv

  • hamburgefonstivhamburgefonstiv

    Negative Space

  • hamburgefonstivhamburgefonstiv

    Negative Space

  • hamburgefonstivhamburgefonstiv

    Negative Space

  • Negative Space

    hamburgefonstivhamburgefonstiv

  • Negative Space

  • aesConfusable Shapes

  • aesConfusable Shapes

  • aesConfusable Shapes

  • easConfusable Shapes

  • aesConfusable Shapes

  • aesConfusable Shapes

  • hamburghamburgeDisplay Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    Display Versus Text

  • hamburgefonstivhamburgefonstiv

    hamburgefonstivhamburgefonstiv

    hamburgefonstivhamburgefonstiv

    hamburgefonstiv

    Text

    Display

    40pt

    16pt

    17pt

    18pt

    19pt

    20pt

    30pt

    Display Versus Text

  • Optical Sizes

  • Optical Sizes

    Two optical, size-specific familiesText and Display

  • Optical Sizes

    Two optical, size-specific familiesText and DisplayThe system automatically switches at 20pt

  • Optical Sizes

    Two optical, size-specific familiesText and DisplayThe system automatically switches at 20ptNo adoption necessary

  • Optical Sizes

    Two optical, size-specific familiesText and DisplayThe system automatically switches at 20ptNo adoption necessaryApp designers need to be aware of the dierence

  • Tracking

  • Tracking

    hamburgefonstiv

  • Tracking

    ha m b urg efon st iv

  • H OHH OOHHHH OHH OOHHH

    Tracking Versus KerningTracking

  • OOO HHHH H HO HOOHHH H H

    PositiveTracking

  • Tracking

    H OHH OOHHHH OHH OOHHH

  • TrackingNegative

    H OHH OOHHHH OHH OOHHH

  • TrackingNegative

    H OHH OOHHHH OHH OOHHH

  • TrackingNegative

    H OHH OOHHH

  • H OHH OOHHH

    Kerning

  • HHHHLTHHH

    Kerning

    H OHH OOHHH

  • HHHHLTHHHTHHHHHHHL

    Kerning

    H OHH OOHHH

  • HHHHLTHHHTHHHHHHHL

    Kerning

    H OHH OOHHH

  • HHHHLTHHHTHHHHHHHL

    KerningNegative

    H OHH OOHHH

  • H OHH OOHHH

    Tracking Versus Kerning

    HHHHLTHHHTHHHHHHHLH OHH OOHHH

  • Tracking Versus Kerning

    HHHO HHHOOHHHHLTHHHTHHHHHHHL

    H OHH OOHHH

  • Tracking Is Size-Specific

    Point size

    Trac

    king

    valu

    e

    180

    0

    -60

    9 18 20 40

    90

    60 80

  • hamburgefonstivhamburgefonstiv

    hamburgefonstivhamburgefonstiv

    hamburgefonstivhamburgefonstiv

    hamburgefonstivTracking Is Size-Specific

    Text

    Display

    40pt

    16pt

    17pt

    18pt

    19pt

    20pt

    30pt

    -25T

    -24T

    -24T

    -20T

    19T

    11T

    10T

  • Tracking Summary

  • Tracking Summary

    Tracking is automatically enabled for System Font

  • Tracking Summary

    Tracking is automatically enabled for System FontFor designers, we provide the tracking tables that System Font supports

  • Weights

  • Font Weight n

  • nFont Weight

  • Font Weightn

  • Text Weights

    Light Regular Medium Semibold Bold Heavy

  • Light Italic Regular Italic Medium Italic Semibold Italic Bold Italic Heavy Italic

    Light Regular Medium Semibold Bold Heavy

    Text Weights

  • Display Weights

    Light Regular Medium Semibold Bold HeavyBlack

    ThinUltralight

  • Light Regular Medium Semibold Bold HeavyBlack

    ThinUltralight

    ?Display Weights

  • Display WeightsTo be the first to enter the cosmos, to engage, single-handed, in an unprecedented duel with naturecould one dream of anything more? We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Never in all their history have men been able truly to conceive of the world as one: a single sphere, a globe, having the qualities of a globe, a round earth in which all the directions eventually meet, in which there is no center because every point, or none, is center an equal earth which all men occupy as equals. The airman's earth, if free men make it, will be truly round: a globe in practice, not in theory.

    To be the first to enter the cosmos, to engage, single-handed, in an unprecedented duel with naturecould one dream of anything more? We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Never in all their history have men been able truly to conceive of the world as one: a single sphere, a globe, having the qualities of a globe, a round earth in which all the directions eventually meet, in which there is no center because every point, or none, is center an equal earth which all men occupy as equals. The airman's earth, if free men make it, will be truly round: a globe in practice, not in theory.

    To be the first to enter the cosmos, to engage, single-handed, in an unprecedented duel with naturecould one dream of anything more? We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Here men from the planet Earth first set foot upon the Moon. July 1969 AD. We came in peace for all mankind. Never in all their history have men been able truly to conceive of the world as one: a single sphere, a globe, having the qualities of a globe, a round earth in which all the directions eventually meet, in which there is no center because every point, or none, is center an equal earth which all men occupy as equals. The airman's earth, if free men make it, will be truly round: a globe in practice, not in theory.

    from the planet Earth d. Never in all their hist sphere, a globe, having meet in which there is

    the other things, not becaus easure the best of our ener g to postpone, and one which We come in peace for all manre? We choose to go to the re hard, because that goal s one that we are willing to the planet Earth first set to

  • New System Font weight APIs in AppKit and UIKit

    New Weights Adoption

  • New System Font weight APIs in AppKit and UIKitNSFont.systemFontOfSize(SIZE, weight: WEIGHT) UIFont.systemFontOfSize(SIZE, weight: WEIGHT)

    New Weights Adoption

  • New System Font weight APIs in AppKit and UIKitNSFont.systemFontOfSize(SIZE, weight: WEIGHT) UIFont.systemFontOfSize(SIZE, weight: WEIGHT)

    New Weights Adoption

    UIFontWeightUltralight UIFontWeightThin UIFontWeightLight UIFontWeightRegular UIFontWeightMedium UIFontWeightSemibold UIFontWeightHeavy UIFontWeightBlack

    NSFontWeightUltralight NSFontWeightThin NSFontWeightLight NSFontWeightRegular NSFontWeightMedium NSFontWeightSemibold NSFontWeightHeavy NSFontWeightBlack

  • How to Use Weights

  • How to Use Weights

    Dierentiation and hierarchy

  • How to Use Weights

    Dierentiation and hierarchySimilitude

  • How to Use Weights

    Dierentiation and hierarchySimilitudeVoice

  • Weight-Use in Dierentiation and Hierarchy

  • Todays weather is great.

    Weight-Use in Dierentiation and Hierarchy

  • Todays weather is great.

    Weight-Use in Dierentiation and Hierarchy

  • Weather forecasts Monday Tuesday Wednesday Thursday Friday Saturday Sunday

    Weight-Use in Dierentiation and Hierarchy

  • Weather forecasts Monday Tuesday Wednesday Thursday Friday Saturday Sunday

    Weight-Use in Dierentiation and Hierarchy

  • Weight Used for Similitude

  • Weight Used for Similitude

  • Weight Used for Similitude

  • Weight Used for Similitude

  • Larger size = Lighter weightSmaller size = Heavier weight

    Weight Used for Similitude

  • Weight Used for Voice

  • Weight Used for Voice

    Bee Weather

    Tuesday 37CWednesdayThursdayFridaySaturdaySunday

    39C38C37C38C40C

    Monday 39C37C39C38C37C38C40C

    39C

  • Weight Used for Voice

    Bee Weather

    Tuesday 37CWednesdayThursdayFridaySaturdaySunday

    39C38C37C38C40C

    Monday 39C37C39C38C37C38C40C

    39CDove WeatherMonday 20CTuesday 23CWednesdayThursdayFridaySaturdaySunday

    20C22C23C22C20C

  • Weight Used for Voice

    Zebra Weather

    Tuesday 37CWednesdayThursdayFridaySaturdaySunday

    39C38C37C38C40C

    Monday 39C37C39C38C37C38C40C

    39CDove WeatherMonday 20CTuesday 23CWednesdayThursdayFridaySaturdaySunday

    20C22C23C22C20C

  • How to Use Weights

  • How to Use Weights

    Legibility first

  • How to Use Weights

    Legibility first Establish hierarchy with consistency and clarity

  • How to Use Weights

    Legibility first Establish hierarchy with consistency and clarity On iOS, use Text Style APIs and adopt Dynamic Type

  • Settings > General > Accessibility > Bold Text

  • Settings > General > Accessibility > Bold Text

  • Settings > General > Accessibility > Bold Text

  • How to Use Weights

  • How to Use Weights

    Relying on weights that are too bold will hit upper weight limit

  • How to Use Weights

    Relying on weights that are too bold will hit upper weight limitOn the other hand, too-light text is unreadable for many users

  • Weights Summary

  • Weights Summary

    New font weights are available in OS X 10.11 and iOS 9

  • Weights Summary

    New font weights are available in OS X 10.11 and iOS 9New APIs are available to make use of them

  • Weights Summary

    New font weights are available in OS X 10.11 and iOS 9New APIs are available to make use of themSame guidelines about hierarchy, legibility, and taste apply to usage

  • Typographic Features

  • Features Make Fonts Active

  • Features Make Fonts Active

    Features are behaviors embedded inside a font

  • Features Make Fonts Active

    Features are behaviors embedded inside a fontMake complex scripts and languages possible

  • Features Make Fonts Active

    Features are behaviors embedded inside a fontMake complex scripts and languages possibleAllow access to extended glyphs

  • Feature Example: Fractions

    1/2

  • 1/2 Feature Example: Fractions

  • 1/2 U+00BD VULGAR FRACTION ONE HALF

    Feature Example: Fractions

  • 2/9Feature Example: Fractions

  • 2/9 ?Feature Example: Fractions

  • 2/9 2Feature Example: Fractions

  • 2/9 2/Feature Example: Fractions

  • 2/9 2 9/Feature Example: Fractions

  • 2/9 2 9/Feature Example: Fractions

  • 2/9 2 9U+2044 FRACTION SLASH

    Feature Example: Fractions

  • 2/9Feature Example: Fractions

  • 2/9 29Feature Example: Fractions

  • 65/324 65324Feature Example: Fractions

  • 65/324 65324Feature Example: Fractions

  • 65/324 65324Feature Example: Fractions

  • 65/324 65324Feature Example: Fractions

  • 65/324 65324Feature Example: Fractions

  • 65/324 65324Feature Example: Fractions

  • 65/324 65324Feature Example: Fractions

  • Enabling Features: Typography Panel

  • let pointSize : CGFloat = 60.0 let systemFontDesc = UIFont.systemFontOfSize(pointSize, weight: UIFontWeightLight).fontDescriptor() let fractionFontDesc = systemFontDesc.fontDescriptorByAddingAttributes( [ UIFontDescriptorFeatureSettingsAttribute: [ [ UIFontFeatureTypeIdentifierKey: kFractionsType, UIFontFeatureSelectorIdentifierKey: kDiagonalFractionsSelector, ], ] ] )

    label.font = UIFont(descriptor: fractionFontDesc, size:pointSize)

    Enabling Features: Code

  • let pointSize : CGFloat = 60.0 let systemFontDesc = UIFont.systemFontOfSize(pointSize, weight: UIFontWeightLight).fontDescriptor() let fractionFontDesc = systemFontDesc.fontDescriptorByAddingAttributes( [ UIFontDescriptorFeatureSettingsAttribute: [ [ UIFontFeatureTypeIdentifierKey: kFractionsType, UIFontFeatureSelectorIdentifierKey: kDiagonalFractionsSelector, ], ] ] )

    label.font = UIFont(descriptor: fractionFontDesc, size:pointSize)

    Enabling Features: Code

  • let pointSize : CGFloat = 60.0 let systemFontDesc = UIFont.systemFontOfSize(pointSize, weight: UIFontWeightLight).fontDescriptor() let fractionFontDesc = systemFontDesc.fontDescriptorByAddingAttributes( [ UIFontDescriptorFeatureSettingsAttribute: [ [ UIFontFeatureTypeIdentifierKey: kFractionsType, UIFontFeatureSelectorIdentifierKey: kDiagonalFractionsSelector, ], ] ] )

    label.font = UIFont(descriptor: fractionFontDesc, size:pointSize)

    Enabling Features: Code

  • let pointSize : CGFloat = 60.0 let systemFontDesc = UIFont.systemFontOfSize(pointSize, weight: UIFontWeightLight).fontDescriptor() let fractionFontDesc = systemFontDesc.fontDescriptorByAddingAttributes( [ UIFontDescriptorFeatureSettingsAttribute: [ [ UIFontFeatureTypeIdentifierKey: kFractionsType, UIFontFeatureSelectorIdentifierKey: kDiagonalFractionsSelector, ], ] ] )

    label.font = UIFont(descriptor: fractionFontDesc, size:pointSize)

    Enabling Features: Code

  • let pointSize : CGFloat = 60.0 let systemFontDesc = UIFont.systemFontOfSize(pointSize, weight: UIFontWeightLight).fontDescriptor() let fractionFontDesc = systemFontDesc.fontDescriptorByAddingAttributes( [ UIFontDescriptorFeatureSettingsAttribute: [ [ UIFontFeatureTypeIdentifierKey: kFractionsType, UIFontFeatureSelectorIdentifierKey: kDiagonalFractionsSelector, ], ] ] )

    label.font = UIFont(descriptor: fractionFontDesc, size:pointSize)

    Enabling Features: Code

  • let pointSize : CGFloat = 60.0 let systemFontDesc = UIFont.systemFontOfSize(pointSize, weight: UIFontWeightLight).fontDescriptor() let fractionFontDesc = systemFontDesc.fontDescriptorByAddingAttributes( [ UIFontDescriptorFeatureSettingsAttribute: [ [ UIFontFeatureTypeIdentifierKey: kFractionsType, UIFontFeatureSelectorIdentifierKey: kDiagonalFractionsSelector, ], ] ] )

    label.font = UIFont(descriptor: fractionFontDesc, size:pointSize)

    Enabling Features: Code

  • e=mc2 e=mc2

    Feature Example: Superiors/Superscripts

  • e=mc2 e=mc2

    Feature Example: Superiors/Superscripts

  • e=mc2 e=mc2

    Feature Example: Superiors/Superscripts

  • Feature Example: Inferiors/Subscripts

    C3H8

  • C3H8

    Feature Example: Inferiors/Subscripts

    C3H8

  • C3H8

    Feature Example: Inferiors/Subscripts

    C3H8

  • Feature Example: Uppercase Forms

    A+3

  • Feature Example: Uppercase Forms

    A+3A+3

  • Feature Example: Uppercase Forms

    A+3A+3

  • Special Features

  • Special Feature: Vertically Centered Colon

  • Special Feature: Vertically Centered Colon

  • Special Feature: Vertically Centered Colon

  • 9:41Friday, June 12

    Special Feature: Vertically Centered Colon

  • 9:41Friday, June 12

    Wed 9:41 AM

    Special Feature: Vertically Centered Colon

  • 9:41Friday, June 12

    Cupertino, CA

    Sunset 7:10PM9HRS 1MIN

    14:59 7:00 00 46

    9:41

    Wed 9:41 AM

    Special Feature: Vertically Centered Colon

  • 9:41Friday, June 12

    Cupertino, CA

    Sunset 7:10PM9HRS 1MIN

    14:59 7:00 00 46

    9:41

    Wed 9:41 AM

    00:26.2200:02.37

    Special Feature: Vertically Centered Colon

  • Special Feature: Vertically Centered Colon

  • Special Feature: Vertically Centered Colon

  • Special Feature: Alternate Six and Nine

    6 9

  • 6 9 6 9Special Feature: Alternate Six and Nine

  • 60

    301545

    300510

    152025

    MON9

    12 12

    3

    4567

    8

    9

    1011

    Special Feature: Alternate Six and Nine

  • 60

    301545

    300510

    152025

    MON9

    12 12

    3

    4567

    8

    9

    1011

    Special Feature: Alternate Six and Nine

  • Special Feature: Alternate Six and Nine

  • Special Feature: Alternate Six and Nine

    Optional feature

  • Special Feature: Alternate Six and Nine

    Optional featureAvailable with code

  • Special Feature: Alternate Six and Nine

    Optional featureAvailable with codeUIFontFeatureTypeIdentifierKey: kStylisticAlternativesType

  • Special Feature: Alternate Six and Nine

    Optional featureAvailable with codeUIFontFeatureTypeIdentifierKey: kStylisticAlternativesType

    UIFontFeatureSelectorIdentifierKey: kStylisticAltOneOnSelector

  • Bonus: Features and Optical Sizes

  • 265324Display

    Bonus: Features and Optical Sizes

  • 265324 265324Display Text

    Bonus: Features and Optical Sizes

  • Features Summary

  • Features Summary

    Features are behavior-embedded inside a font

  • Features Summary

    Features are behavior-embedded inside a fontSome features are automatically turned on for System Font

  • Features Summary

    Features are behavior-embedded inside a fontSome features are automatically turned on for System FontOthers require opt-in

  • Numbers

  • 0123456789

    Number Spacing

  • 0123456789

    Number Spacing

  • Monospaced (Tabular) Numbers

    0123456789

  • Monospaced (Tabular) Numbers

    235,667+30,521+

    1,273,313+9,831+

    127,053+9,967,345+

  • 235,667+30,521+

    1,273,313+9,831+

    127,053+9,967,345+

    Monospaced (Tabular) Numbers

  • 235,667+30,521+

    1,273,313+9,831+

    127,053+9,967,345+

    2015/06/12 12:342014/12/03 00:332013/06/22 22:352012/10/30 04:042011/01/01 08:542011/03/12 12:382010/05/12 06:272010/09/14 09:412010/02/31 23:15

    Monospaced (Tabular) Numbers

  • 235,667+30,521+

    1,273,313+9,831+

    127,053+9,967,345+

    2015/06/12 12:342014/12/03 00:332013/06/22 22:352012/10/30 04:042011/01/01 08:542011/03/12 12:382010/05/12 06:272010/09/14 09:412010/02/31 23:15

    Monospaced (Tabular) Numbers

  • Monospaced (Tabular) Numbers

    0123456789

  • Proportional Numbers

    0123456789

  • Monospaced for Animation

  • Monospaced for Animation

  • Monospaced for Animation

  • Friday,June 12th

    Proportionals for Static Labels

  • Friday,June 12th

    +1 (123) 300-4000

    Proportionals for Static Labels

  • Friday,June 12th

    Inbox (3172 messages, 2 unread)

    +1 (123) 300-4000

    Proportionals for Static Labels

  • Friday,June 12th

    Inbox (3172 messages, 2 unread)

    [email protected]

    +1 (123) 300-4000

    Proportionals for Static Labels

  • Friday,June 12th

    Inbox (3172 messages, 2 unread)

    [email protected]://www.apple.com/pr/library/2015/06/08Apple-Previews-iOS-9.html

    +1 (123) 300-4000

    Proportionals for Static Labels

  • Proportionals for Static Labels

    Friday,June 12 th

    +1 (123) 300-4000

    Inbox (3172 messages, 2 unread)

    [email protected]://www.apple.com/pr/library/2015/06/08Apple-Previews-iOS-9.html

  • Proportionals for Static Labels

  • Proportionals for Static Labels

  • Proportionals for Static Labels

  • Proportionals for Static Labels

  • Proportionals for Static Labels

  • Proportionals for Static Labels

  • Proportionals for Static Labels

  • Proportionals for Static Labels

  • Proportional numbers by default, opt into

    monospaced

  • Numbers Summary

  • Numbers Summary

    Numbers are now proportional by default

  • Numbers Summary

    Numbers are now proportional by defaultApplications not linked against OS X 10.11 and iOS 9.0 get monospaced numbers

  • Numbers Summary

    Numbers are now proportional by defaultApplications not linked against OS X 10.11 and iOS 9.0 get monospaced numbers New shortcut API in AppKit

  • Numbers Summary

    Numbers are now proportional by defaultApplications not linked against OS X 10.11 and iOS 9.0 get monospaced numbers New shortcut API in AppKitNSFont.monospacedDigitsSystemFontOfSize(mySize weight:)

  • Font API Pitfalls

  • Dont Access Fonts with Private Names

    let myFont = UIFont.fontWithName(.ApplePrivateFont size:mySize)

  • Dont Reference Font File Names

    /System/Library/Fonts/Apple Color Emoji.ttf /System/Library/Fonts/AppleSDGothicNeo-Bold.otf /System/Library/Fonts/Avenir.ttc /System/Library/Fonts/HiraKakuInterface-W2.otf /System/Library/Fonts/Monaco.dfont /System/Library/Fonts/Palatino.ttc /System/Library/Fonts/ZapfDingbats.ttf

  • Dont Access System Font by Name

    let myFont = UIFont.systemFontOfSize(mySize)

    later in the code

    let myOtherFont = UIFont.fontWithName(myFont.familyName size:mySize)

  • Do Reuse Font Descriptors

    let systemFont = UIFont.systemFontOfSize(mySize)

    later in the code

    let myOtherFont = UIFont.fontWithDescriptor(systemFont.fontDescriptor() size:mySize)

  • Dont Draw System Font at a Dierent-Than-Nominal Point Size

    hamburgefonstiv15pt

  • Dont Draw System Font at a Dierent-Than-Nominal Point Size

    hamburgefonstivhamburgefonstiv15pt

    15pt scaled up

  • Dont Draw System Font at a Dierent-Than-Nominal Point Size

    hamburgefonstivhamburgefonstiv

    hamburgefonstiv

    15pt

    15pt scaled up

    120pt

  • Font API Pitfalls

  • Font API Pitfalls

    Treat fonts as opaque objects

  • Font API Pitfalls

    Treat fonts as opaque objectsFonts with optical sizes break old assumptions

  • Font API Pitfalls

    Treat fonts as opaque objectsFonts with optical sizes break old assumptionsRelying on System APIs ensures correct behavior and rendering stability

  • Summary

  • MotivationSan FranciscoOptical SizesTrackingWeightFeaturesNumbersFont API Pitfalls

    Summary

  • More Information

    DocumentationApple Fonts and Text Pagedeveloper.apple.com/fonts

    Designing Great Appsdeveloper.apple.com/design

    Technical SupportApple Developer Forumsdeveloper.apple.com/forums

    Developer Technical Supportdeveloper.apple.com/support/technical

    General InquiriesCurt Rothert, App Frameworks [email protected]

    Mike Stern, User Experience [email protected]

  • Apple Watch Design Tips and Tricks Presidio Friday 3:30PM

    Text and Fonts Lab Frameworks Lab D Friday 3:30PM

    Related Session and Lab