UNPKG

utility-opentype

Version:

Simple, CSS utility classes for advanced typographic features.

515 lines (396 loc) 12.9 kB
/* Utility OpenType v0.1.4 Simple, CSS utility classes for advanced typographic features. http://utility-opentype.kennethormandy.com */ .liga { -ms-font-feature-settings: "liga"; -webkit-font-variant-ligatures: common-ligatures; font-variant-ligatures: common-ligatures; } @supports not ((-webkit-font-variant-ligatures: common-ligatures) or (font-variant-ligatures: common-ligatures)) { .liga { -webkit-font-feature-settings: "liga", "liga", "clig"; font-feature-settings: "liga", "liga", "clig"; } } .dlig { -ms-font-feature-settings: "dlig"; -webkit-font-variant-ligatures: discretionary-ligatures; font-variant-ligatures: discretionary-ligatures; } @supports not ((-webkit-font-variant-ligatures: discretionary-ligatures) or (font-variant-ligatures: discretionary-ligatures)) { .dlig { -webkit-font-feature-settings: "dlig", "dlig"; font-feature-settings: "dlig", "dlig"; } } .smcp { text-transform: uppercase; -ms-font-feature-settings: "lnum", "smcp", "c2sc" 0; } @supports not (font-variant-caps: small-caps) { .smcp { text-transform: inherit; -webkit-font-feature-settings: "onum", "smcp", "c2sc" 0; font-feature-settings: "onum", "smcp", "c2sc" 0; } } @supports (font-variant-caps: small-caps) { .smcp { text-transform: inherit; -webkit-font-feature-settings: "c2sc"; font-feature-settings: "c2sc"; font-variant-caps: small-caps; } } .c2sc { text-transform: uppercase; font-variant-caps: all-small-caps; -ms-font-feature-settings: "smcp" 0, "c2sc"; } @supports (font-variant-caps: all-small-caps) or (font-feature-settings: "c2sc") { .c2sc { text-transform: lowercase; } } @supports not (font-variant-caps: all-small-caps) { .c2sc { -webkit-font-feature-settings: "onum", "smcp" 0, "c2sc", "smcp", "c2sc"; font-feature-settings: "onum", "smcp" 0, "c2sc", "smcp", "c2sc"; } } .c2sc.smcp, .caps { text-transform: uppercase; -ms-font-feature-settings: "smcp", "c2sc"; font-variant-caps: all-small-caps; } @supports ((-webkit-font-feature-settings: "smcp", "c2sc") or (font-feature-settings: "smcp", "c2sc")) { @supports not (font-variant-caps: all-small-caps) { .c2sc.smcp, .caps { text-transform: inherit; -webkit-font-feature-settings: "smcp", "c2sc", "smcp", "c2sc"; font-feature-settings: "smcp", "c2sc", "smcp", "c2sc"; } } } @supports not (font-variant-caps: small-caps) { @supports not (font-variant-numeric: oldstyle-nums) { .smcp.onum { -webkit-font-feature-settings: "onum", "smcp" 1; font-feature-settings: "onum", "smcp" 1; } } } @supports not (font-variant-caps: all-small-caps) { @supports not (font-variant-numeric: oldstyle-nums) { .c2sc.onum, .caps.onum { text-transform: lowercase; -webkit-font-feature-settings: "onum", "smcp" 1; font-feature-settings: "onum", "smcp" 1; } } } .case { -webkit-font-feature-settings: "case"; font-feature-settings: "case"; } .titl { -ms-font-feature-settings: "titl"; font-variant-caps: titling-caps; } @supports not (font-variant-caps: titling-caps) { .titl { -webkit-font-feature-settings: "titl", "titl"; font-feature-settings: "titl", "titl"; } } .calt { -ms-font-feature-settings: "calt"; -webkit-font-variant-ligatures: contextual; font-variant-ligatures: contextual; } @supports not ((-webkit-font-variant-ligatures: contextual) or (font-variant-ligatures: contextual)) { .calt { -webkit-font-feature-settings: "calt", "calt"; font-feature-settings: "calt", "calt"; } } .hist { -ms-font-feature-settings: "hist"; font-variant-alternates: historical-forms; } @supports not (font-variant-alternates: historical-forms) { .hist { -webkit-font-feature-settings: "hist"; font-feature-settings: "hist"; } } .swsh, .swsh-1 { -webkit-font-feature-settings: "swsh"; font-feature-settings: "swsh" } .swsh-2 { -webkit-font-feature-settings: "swsh" 2; font-feature-settings: "swsh" 2 } .swsh-3 { -webkit-font-feature-settings: "swsh" 3; font-feature-settings: "swsh" 3 } .salt, .salt-1 { -webkit-font-feature-settings: "salt"; font-feature-settings: "salt" } .salt-2 { -webkit-font-feature-settings: "salt" 2; font-feature-settings: "salt" 2 } .salt-3 { -webkit-font-feature-settings: "salt" 3; font-feature-settings: "salt" 3 } .ss01 { -webkit-font-feature-settings: "ss01"; font-feature-settings: "ss01" } .ss02 { -webkit-font-feature-settings: "ss02"; font-feature-settings: "ss02" } .ss03 { -webkit-font-feature-settings: "ss03"; font-feature-settings: "ss03" } .ss04 { -webkit-font-feature-settings: "ss04"; font-feature-settings: "ss04" } .ss05 { -webkit-font-feature-settings: "ss05"; font-feature-settings: "ss05" } .ss06 { -webkit-font-feature-settings: "ss06"; font-feature-settings: "ss06" } .ss07 { -webkit-font-feature-settings: "ss07"; font-feature-settings: "ss07" } .ss08 { -webkit-font-feature-settings: "ss08"; font-feature-settings: "ss08" } .ss09 { -webkit-font-feature-settings: "ss09"; font-feature-settings: "ss09" } .ss10 { -webkit-font-feature-settings: "ss10"; font-feature-settings: "ss10" } .ss11 { -webkit-font-feature-settings: "ss11"; font-feature-settings: "ss11" } .ss12 { -webkit-font-feature-settings: "ss12"; font-feature-settings: "ss12" } .ss13 { -webkit-font-feature-settings: "ss13"; font-feature-settings: "ss13" } .ss14 { -webkit-font-feature-settings: "ss14"; font-feature-settings: "ss14" } .ss15 { -webkit-font-feature-settings: "ss15"; font-feature-settings: "ss15" } .ss16 { -webkit-font-feature-settings: "ss16"; font-feature-settings: "ss16" } .ss17 { -webkit-font-feature-settings: "ss17"; font-feature-settings: "ss17" } .ss18 { -webkit-font-feature-settings: "ss18"; font-feature-settings: "ss18" } .ss19 { -webkit-font-feature-settings: "ss19"; font-feature-settings: "ss19" } .ss20 { -webkit-font-feature-settings: "ss20"; font-feature-settings: "ss20" } .frac { -ms-font-feature-settings: "frac"; font-variant-numeric: diagonal-fractions; } @supports not (font-variant-numeric: diagonal-fractions) { .frac { -webkit-font-feature-settings: "frac", "frac"; font-feature-settings: "frac", "frac"; } } .afrc { -ms-font-feature-settings: "afrc"; font-variant-numeric: stacked-fractions; } @supports not (font-variant-numeric: stacked-fractions) { .afrc { -webkit-font-feature-settings: "afrc", "afrc"; font-feature-settings: "afrc", "afrc"; } } .ordn { -ms-font-feature-settings: "ordn"; font-variant-numeric: ordinal; } @supports not (font-variant-numeric: ordinal) { .ordn { -webkit-font-feature-settings: "ordn", "ordn"; font-feature-settings: "ordn", "ordn"; } } .sups { font-variant-position: super; } @supports not (font-variant-position: sup) { .sups { -webkit-font-feature-settings: "sups", "sups"; font-feature-settings: "sups", "sups"; } @supports ((-webkit-font-feature-settings: "sups") or (font-feature-settings: "sups")) { .sups { font-size: 1em; vertical-align: baseline; } } @supports (overflow: -webkit-marquee) and (justify-content: inherit) { .sups { vertical-align: super; } } } .subs, .sinf { font-size: inherit; font-variant-position: sub; } @supports not (font-variant-position: sub) { .subs, .sinf { -webkit-font-feature-settings: "subs", "subs"; font-feature-settings: "subs", "subs"; } @supports ((-webkit-font-feature-settings: "subs") or (font-feature-settings: "subs")) { .subs, .sinf { font-size: 1em; vertical-align: baseline; } } @supports (overflow: -webkit-marquee) and (justify-content: inherit) { .subs, .sinf { vertical-align: sub; font-size: smaller; } } } @supports ((-webkit-font-feature-settings: "sinf") or (font-feature-settings: "sinf")) { .sinf { font-variant-position: normal; -webkit-font-feature-settings: "sinf", "subs" off, "sups" off; font-feature-settings: "sinf", "subs" off, "sups" off; vertical-align: baseline; } } @supports (overflow: -webkit-marquee) and (justify-content: inherit) { .sinf { vertical-align: sub; font-size: smaller; } } .lnum { font-variant-numeric: lining-nums; } @supports not (font-variant-numeric: lining-nums) { .lnum { -webkit-font-feature-settings: "lnum", "onum" 0, "lnum"; font-feature-settings: "lnum", "onum" 0, "lnum"; } } .onum { font-variant-numeric: oldstyle-nums; } @supports not (font-variant-numeric: oldstyle-nums) { .onum { -webkit-font-feature-settings: "lnum" 0, "onum", "onum"; font-feature-settings: "lnum" 0, "onum", "onum"; } } .pnum { font-variant-numeric: proportional-nums; } @supports not (font-variant-numeric: proportional-nums) { .pnum { -webkit-font-feature-settings: "pnum", "tnum" 0, "pnum"; font-feature-settings: "pnum", "tnum" 0, "pnum"; } } .tnum { font-variant-numeric: tabular-nums; } @supports not (font-variant-numeric: tabular-nums) { .tnum { -webkit-font-feature-settings: "pnum" 0, "tnum", "tnum"; font-feature-settings: "pnum" 0, "tnum", "tnum"; } } .lnum.pnum { -ms-font-feature-settings: "lnum", "onum" 0, "pnum", "tnum" 0; } @supports not ((-webkit-font-feature-settings: "onum" inherit) or (font-feature-settings: "onum" inherit)) { .lnum.pnum { -webkit-font-feature-settings: "lnum", "onum" 0, "pnum", "tnum" 0; font-feature-settings: "lnum", "onum" 0, "pnum", "tnum" 0; } } .lnum.tnum { -ms-font-feature-settings: "lnum", "onum" 0, "pnum" 0, "tnum"; } @supports not ((-webkit-font-feature-settings: "onum" inherit) or (font-feature-settings: "onum" inherit)) { .lnum.tnum { -webkit-font-feature-settings: "lnum", "onum" 0, "pnum" 0, "tnum"; font-feature-settings: "lnum", "onum" 0, "pnum" 0, "tnum"; } } .onum.pnum { -ms-font-feature-settings: "lnum" 0, "onum", "pnum", "tnum" 0; } @supports not ((-webkit-font-feature-settings: "onum" inherit) or (font-feature-settings: "onum" inherit)) { .onum.pnum { -webkit-font-feature-settings: "lnum" 0, "onum", "pnum", "tnum" 0; font-feature-settings: "lnum" 0, "onum", "pnum", "tnum" 0; } } .onum.tnum { -ms-font-feature-settings: "lnum" 0, "onum", "pnum" 0, "tnum"; } @supports not ((-webkit-font-feature-settings: "onum" inherit) or (font-feature-settings: "onum" inherit)) { .onum.tnum { -webkit-font-feature-settings: "lnum" 0, "onum", "pnum" 0, "tnum"; font-feature-settings: "lnum" 0, "onum", "pnum" 0, "tnum"; } } .onum.zero { -ms-font-feature-settings: "onum", "zero"; } @supports not ((-webkit-font-feature-settings: "onum" inherit) or (font-feature-settings: "onum" inherit)) { .onum.zero { -webkit-font-feature-settings: "onum", "zero"; font-feature-settings: "onum", "zero"; } } .onum.tnum.zero { -ms-font-feature-settings: "onum", "zero", "tnum"; } @supports not ((-webkit-font-feature-settings: "onum" inherit) or (font-feature-settings: "onum" inherit)) { .onum.tnum.zero { -webkit-font-feature-settings: "onum", "zero", "tnum"; font-feature-settings: "onum", "zero", "tnum"; } } .onum.pnum.zero { -ms-font-feature-settings: "onum", "zero", "pnum"; } @supports not ((-webkit-font-feature-settings: "onum" inherit) or (font-feature-settings: "onum" inherit)) { .onum.pnum.zero { -webkit-font-feature-settings: "onum", "zero", "pnum"; font-feature-settings: "onum", "zero", "pnum"; } } .lnum.zero { -ms-font-feature-settings: "lnum", "zero"; } @supports not ((-webkit-font-feature-settings: "onum" inherit) or (font-feature-settings: "onum" inherit)) { .lnum.zero { -webkit-font-feature-settings: "lnum", "zero"; font-feature-settings: "lnum", "zero"; } } .lnum.tnum.zero { -ms-font-feature-settings: "lnum", "zero", "tnum"; } @supports not ((-webkit-font-feature-settings: "onum" inherit) or (font-feature-settings: "onum" inherit)) { .lnum.tnum.zero { -webkit-font-feature-settings: "lnum", "zero", "tnum"; font-feature-settings: "lnum", "zero", "tnum"; } } .lnum.pnum.zero { -ms-font-feature-settings: "lnum", "zero", "pnum"; } @supports not ((-webkit-font-feature-settings: "onum" inherit) or (font-feature-settings: "onum" inherit)) { .lnum.pnum.zero { -webkit-font-feature-settings: "lnum", "zero", "pnum"; font-feature-settings: "lnum", "zero", "pnum"; } } .zero { font-variant-numeric: slashed-zero; } @supports not (font-variant-numeric: slashed-zero) { .zero { -webkit-font-feature-settings: "zero", "zero"; font-feature-settings: "zero", "zero"; } } @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { .smcp { text-transform: lowercase; } .c2sc { text-transform: lowercase; } .c2sc.smcp, .caps { text-transform: lowercase; } }