Skip to content

Commit

Permalink
Merge pull request #431 from Crissov/css
Browse files Browse the repository at this point in the history
  • Loading branch information
alerque authored Feb 26, 2021
2 parents 03f46a0 + 856e2f6 commit c253fca
Show file tree
Hide file tree
Showing 3 changed files with 349 additions and 1 deletion.
1 change: 1 addition & 0 deletions FONTLOG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ unreleased (GIT) <Libertinus> Version HEAD
- Add above marks for otilde, vtilde and Vtilde in Regular
- Correct placement of aboveMarks in Regular for:
uni0300, uni0301, uni0302, uni0303, uni0304, uni0306, uni0308, uni030c
- Add documentation of available OpenType features and sample CSS rules

9 January 2021 (Caleb Maclennan) <Libertinus> Version 7.031
- Correct distribution release filenames
Expand Down
347 changes: 347 additions & 0 deletions documentation/libertinus.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,347 @@
/**
* @version 7.031
* @date 2021-01-17
*/
/**
* Libertinus Font Faces
* =====================
*/
/**
* Libertinus Serif
* ----------------
*/
@font-face /* Libertinus Serif Regular Upright */
{
font-family: Libertinus Serif/*, Libertinus*/;
font-style: normal;
font-weight: 400;
src: local(Libertinus Serif), local(Libertinus Serif Regular), local(Libertinus),
/* local(Linux Libertine), */
url("static/OTF/LibertinusSerif-Regular.otf") format("opentype"),
url("static/WOFF2/LibertinusSerif-Regular.woff2") format("woff2");
}
@font-face /* Libertinus Serif Regular Italic */
{
font-family: Libertinus Serif/*, Libertinus*/;
font-style: italic;
font-weight: 400;
src: local(Libertinus Serif Italic),
url("static/OTF/LibertinusSerif-Italic.otf") format("opentype"),
url("static/WOFF2/LibertinusSerif-Italic.woff2") format("woff2");
}
@font-face /* Libertinus Serif Semibold Upright */
{
font-family: Libertinus Serif/*, Libertinus*/;
font-style: normal;
font-weight: 600;
src: local(Libertinus Serif), local(Libertinus Serif Semibold),
url("static/OTF/LibertinusSerif-Semibold.otf") format("opentype"),
url("static/WOFF2/LibertinusSerif-Semibold.woff2") format("woff2");
}
@font-face /* Libertinus Serif Semibold Italic */
{
font-family: Libertinus Serif/*, Libertinus*/;
font-style: italic;
font-weight: 600;
src: local(Libertinus Serif Semibold Italic),
url("static/OTF/LibertinusSerif-SemiboldItalic.otf") format("opentype"),
url("static/WOFF2/LibertinusSerif-SemiboldItalic.woff2") format("woff2");
}
@font-face /* Libertinus Serif Bold Upright */
{
font-family: Libertinus Serif/*, Libertinus*/;
font-style: normal;
font-weight: 700;
src: local(Libertinus Serif Bold),
url("static/OTF/LibertinusSerif-Bold.otf") format("opentype"),
url("static/WOFF2/LibertinusSerif-Bold.woff2") format("woff2");
}
@font-face /* Libertinus Serif Bold Italic */
{
font-family: Libertinus Serif/*, Libertinus*/;
font-style: italic;
font-weight: 700;
src: local(Libertinus Serif Bold Italic),
url("static/OTF/LibertinusSerif-BoldItalic.otf") format("opentype"),
url("static/WOFF2/LibertinusSerif-BoldItalic.woff2") format("woff2");
}
/**
* ### Libertinus Serif Display ###
*/
@font-face /* Libertinus Serif Display */
{
font-family: Libertinus /*Serif*/ Display/*, Libertinus*/;
font-style: normal;
font-weight: 400;
src: local(Libertinus Serif Display),
url("static/OTF/LibertinusSerifDisplay-Regular.otf") format("opentype"),
url("static/WOFF2/LibertinusSerifDisplay-Regular.woff2") format("woff2");
}
/**
* ### Libertinus Serif Initials ###
*/
@font-face /* Libertinus Serif Initials */
{
font-family: Libertinus /*Serif*/ Initials/*, Libertinus*/;
font-style: normal;
font-weight: 400;
src: local(Libertinus Serif Initials),
url("static/OTF/LibertinusSerifInitials-Regular.otf") format("opentype"),
url("static/WOFF2/LibertinusSerifInitials-Regular.woff2") format("woff2");
}
/**
* Libertinus Sans
* ---------------
*/
@font-face /* Libertinus Sans Regular Upright */
{
font-family: Libertinus Sans/*, Biolinum*/;
font-style: normal;
font-weight: 400;
src: local(Libertinus Sans),
url("static/OTF/LibertinusSans-Regular.otf") format("opentype"),
url("static/WOFF2/LibertinusSans-Regular.woff2") format("woff2");
}
@font-face /* Libertinus Sans Regular Italic */
{
font-family: Libertinus Sans/*, Biolinum*/;
font-style: italic;
font-weight: 400;
src: local(Libertinus Sans Italic),
url("static/OTF/LibertinusSans-Italic.otf") format("opentype"),
url("static/WOFF2/LibertinusSans-Italic.woff2") format("woff2");
}
@font-face /* Libertinus Sans Bold Upright */
{
font-family: Libertinus Sans/*, Biolinum*/;
font-style: normal;
font-weight: 700;
src: local(Libertinus Sans Bold),
url("static/OTF/LibertinusSans-Bold.otf") format("opentype"),
url("static/WOFF2/LibertinusSans-Bold.woff2") format("woff2");
}
/**
* Libertinus Math
*/
@font-face /* Libertinus Serif Math */
{
font-family: Libertinus /*Serif*/ Math;
font-style: normal;
font-weight: 400;
src: local(Libertinus Math),
url("static/OTF/LibertinusMath-Regular.otf") format("opentype"),
url("static/WOFF2/LibertinusMath-Regular.woff2") format("woff2");
}
/**
* Libertinus Mono
*/
@font-face /* Libertinus Serif Mono */
{
font-family: Libertinus /*Serif*/ Mono;
font-style: normal;
font-weight: 400;
src: local(Libertinus Mono),
url("static/OTF/LibertinusMono-Regular.otf") format("opentype"),
url("static/WOFF2/LibertinusMono-Regular.woff2") format("woff2");
}
/**
* Libertinus Keyboard
*/
@font-face /* Libertinus Serif Keyboard */
{
font-family: Libertinus Keyboard;
font-style: normal;
font-weight: 400;
src: local(Libertinus Keyboard),
url("static/OTF/LibertinusKeyboard-Regular.otf") format("opentype"),
url("static/WOFF2/LibertinusKeyboard-Regular.woff2") format("woff2");
}

/**
* Standard OpenType Features
* ==========================
*
* Libertinus supports several OpenType features,
* some are enabled by default (`-`) others have to be opted in (`+`),
* most can be accessed by high-level CSS properties and values:
*
* * Small Caps: features `font-variant` and `font-variant-caps` with values `small-caps` (`+smcp`) and `all-small-caps` (`+c2sc`)
* * Ligatures and Contextual Alternates: `-liga`, `+hlig`, `+dlig`; `-calt`
* * Kerning: `-kern`
* * Capital Spacing: `+cpsp`, `case`
* * Slashed zero: `+zero`
* * Numerals: `-tnum`, `+pnum`, `-lnum`, `+onum`, `+pnum+onum`
* * Vulgar fractions: `+frac`
* * Subscripts and Superscripts: `+sinf`, `+sups`
* * Diacritic marks: `-mark`, `-mkmk`
* * Stylistic alternates: `+salt`
*/
/**
* Cased forms: `+case`
* --------------------
*
* All digits and some punctuation characters (i.e. parentheses, guillemets and hyphen) use shapes that better fit with all-uppercase text (`.cap` or `.sc`).
*
* This should really be automatically activated for `text-transform: uppercase`, but is not as of Level 4 of CSS Fonts and CSS Text.
*/
/**
* Standard ligatures: `-liga`
* ---------------------------
*
* In serif faces, the Latin lowercase letter sequences
* _ſſ_, _ſſi_, _ſſj_, _ſſk_, _ſſl_, _ſh_, _ſi_, _ſj_, _ſl_, _ſs_, _ſt_,
* _ff_, _ffh_, _ffi_, _ffj_, _ffk_, _ffl_, _fh_, _fi_, _fj_, _fk_, _fl_, _ft_
* form default ligatures.
* In sans-serif faces, only the Latin lowercase letter sequences
* _ff_ (also if the second one has a shortened head) and _ft_
* form default ligatures.
*
* The related feature `clig` is not used.
*
* The respective CSS property is `font-variant-ligatures` with the value `common-ligatures` (or `no-common-ligatures`).
*/
/**
* Discretionary and Historical Ligatures: `+dlig`, `+hlig`
* --------------------------------------------------------
*
* The only historical ligatures supported are Latin lowercase _ st_ and _ct_ in all faces.
*
* In all faces, Latin lowercase letter sequences _tt_ and _tz_,
* in serif faces (i.e. non-sans-serif), also _Th_, _ck_ and _ch_,
* form discretionary ligatures.
*
* These can all be manually forced by using ZWJ (U+200D) between letters and just the default feature `liga`, too.
*
* The respective CSS property is `font-variant-ligatures` with the values `discretionary-ligatures` and `historical-ligatures`.
*/
/**
* Contextual alternates: `-calt`
* ------------------------------
*
* In all faces,
* the Latin capital and small-capital letter *Q* gains a long tail if followed by either lowercase or small-capital letter *u* or *v*, and
* the Latin lowercase letter *f*, even when part of the ligature *ff*, has a shortened head if followed by closing parentheses, top quotation mark, lowercase letter with ascending left leg, lowercase letter with diacritic mark above or uppercase letter not starting with a leg or them on the left.
*
* The related feature `clig` is not used.
*
* The respective CSS property is `font-variant-ligatures` with the value `contextual` (or `no-contextual`).
*/
/**
* Localized alternates: `locl`
* ----------------------------
*
* For Serbian and Macedonian,
* in all faces, the Cyrillic lowercase letter be *б* and
* in italic faces, the Cyrillic llowercase letters ghe *г*, gje *ѓ*, de *д*, pe *п* and te *т*
* are replaced by alternate glyphs.
* For Scandinavian languages, because of preferences in Sami typography, the Latin uppercase letter Eng *Ŋ* uses a alternative glyph, cf. `ss07`.
* For Turkic languages,
* ligatures where the Latin lowercase letter _i_ is the second part are deactivated, i.e. _fi_, _ffi_, _ſi_ and _ſſi_.
* The small-capitals handling of _i_ / _ı_ does not depend on `locl`, but is part of `smcp` (and `c2sc`).
*/
/**
* Numerals: `-tnum`, `+pnum`, `-lnum`, `+onum`, `+pnum+onum`
* ----------------------------------------------------------
*
* Except for Libertinus Math, the standard digits can be forced
* to _old-style_ forms (with ascenders and descenders) with `onum` (`.taboldstyle`),
* to default _lining_ forms with `lnum`,
* to _proportional_ forms with `pnum` (`.fitted`),
* to _tabular_ (fixed-width) forms with `tnum`.
* The latter two also apply to euro *€* and yen *¥* currency symbols and trump the other features.
*
* The respective CSS property is `font-variant-numeric` with the values `oldstyle-nums`, `lining-nums`, `proportional-nums` and `tabular-nums`.
*/
/**
* Vulgar fractions: `+frac`; `subs`, `sups`; `sinf`
* -------------------------
*
* The same sets of inferior/subscript and superior/superscript glyphs are used for various features.
*
* The respective CSS property for `frac` is `font-variant-numeric` with the value `diagonal-fractions`.
* The value `stacked-fraction` is not supported.
*/

/**
* Advanced OpenType Font Features: Stylistic Sets
* ===============================================
*/

@font-feature-values
Libertinus,
Libertinus Serif,
Libertinus Sans,
Libertinus Math,
Libertinus Mono,
Libertinus Keyboard
{
/**
* Stylistic alternates: `+salt`
* -----------------------------
*
* For non-sans-serif faces, uppercase letters J, K, R and W use alternate glyphs (`.alt`).
* For small-caps faces, lowercase letters a, q, ŋ and ß use alternate glyphs (`.scalt` etc.).
* In all faces,
* Latin uppercase letters *Q*, eng *Ŋ* and eszet *ẞ*,
* Latin lowercase letters *h*, *y* and eszet *ß*,
* Greek lowercase letters beta *β*, theta *θ*, kappa *κ* and phi *φ*,
* Cyrillic letter be *б* and
* the ampersand *&*
* use alternate glyphs, cf. `calt`, `ss03`, `ss04`, `ss06`, `ss07`, `locl`.
*
* The respective CSS property is `font-variant-alternates` with the value `stylistic(<feature-value-name>)`.
* The definition in CSS does not seem well thought out yet since it always requires a value name.
*/
@stylistic {on: 1;}
/**
* Stylistic Set 1 `ss01` _Low diaeresis on 'A', 'E', 'O'_
* -------------------------------------------------------
*
* In German, the umlaut dots above the Latin capital letters *A* and *O* (*Ä*, *Ö*) are sometimes moved further apart while the ones above *U* (*Ü*) are put closer together.
*/
@styleset {low-diaeresis: 1;}
/**
* Stylistic Set 2 `ss02` _Swashy 'J' 'K' 'R'_
* -------------------------------------------
*
* A bit more swashy, cursive look with elongated tails for Latin uppercase letter *K* and *R* and a left-hand horizontal top for *J*.
* This does not apply to sans-serif faces.
*/
@styleset {swashy: 2;}
/**
* Stylistic Set 3 `ss03` _'double s' to two 's'_
* ----------------------------------------------
*
* All variants of German eszett (lowercase *ß*, uppercase *ẞ* and small-capital) are rendered as round-s digraphs instead, very applicable to Swiss German texts.
*/
@styleset {double-s: 3;}
/**
* Stylistic Set 4 `ss04` _Upper case 'double s' to two 'S'_
* ---------------------------------------------------------
*
* Only the uppercase German eszett *ẞ* is rendered as a round-s digraph, subset of `ss03`.
*/
@styleset {uppercase-double-s: 4;}
/**
* Stylistic Set 5 `ss05` _Crossed 'W'";_
* --------------------------------------
*
* Latin uppercase letter *W* is rendered as a ligature of two V, i.e. the middle verticals are longer, as used in the Wikipedia logo.
* This does not apply to sans-serif faces.
*/
@styleset {crossed-W: 5;}
/**
* Stylistic Set 6 `ss06` _Swash '&'_
* ----------------------------------
*
* The ampersand *&* is rendered as an _et_ ligature.
*/
@styleset {swash-ampersand: 6;}
/**
* Stylistic Set 7 `ss07` _Swap 'Eng' forms_
* -----------------------------------------
*
* The uppercase letter Eng *Ŋ*, i.e. an N with a descending tail on the right leg, uses the capital N glyph as its base instead of the default enlarged lowercase n glyph. The localized `locl` UC Style for Sami is changed the other way around.
*/
@styleset {swap-eng: 7;}
}
2 changes: 1 addition & 1 deletion fontship.mk
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ install-dist: install-dist-$(PROJECT)

install-dist-$(PROJECT): | preview.svg
install -Dm644 -t "$(DISTDIR)/" preview.svg AUTHORS.txt CONTRIBUTING.md CONTRIBUTORS.txt FONTLOG.txt
install -Dm644 -t "$(DISTDIR)/$(DOCSDIR)" $(DOCSDIR)/*.pdf $(DOCSDIR)/*.md
install -Dm644 -t "$(DISTDIR)/$(DOCSDIR)" $(DOCSDIR)/*.pdf $(DOCSDIR)/*.md $(DOCSDIR)/*.css

CTAN_NAME = libertinus-fonts

Expand Down

0 comments on commit c253fca

Please sign in to comment.