@ibm/plex-serif
v1.0.0
Published
The package of IBM’s typeface, IBM Plex Serif
Downloads
3,761
Maintainers
Keywords
Readme
IBM Plex® Serif
Add the IBM Plex Serif typeface to your device
Please download the latest zip files from our releases page for installation.
Web usage
This project contains the following for web development:
- IBM Plex .woff2 and .woff files split into performant subsets of glyphs
- Cascading style sheet (CSS) code to reference any weight, variant and split
- Sass (SCSS) modules for more granular configuration and control of output css
We only include .woff2 and .woff files due to NPM package size limitation.
Installation with Node.js®:
npm install @ibm/plex-serif
Manually installing the files for web development can be done by downloading the latest web zip from our releases page.
Developers using the CSS files should keep the directory structure as is, so the font files will be found. If you’re importing the SCSS files, you can set the path of the font files by declaring $font-prefix: 'font-path-prefix'
inside the @use
. For example:
@use '@ibm/plex-serif/scss' as PlexSerif with (
$font-prefix: 'font-path'
);
@include PlexSerif.all();
Font weights
We provide two ways of importing weights into your project. Using PlexSerif.all()
will import all available weights and PlexSerif.default()
will import only light
, regular
and semibold
weight. You can also disable
unwanted weights inside the @use
. For example:
// Disable weights
@use '@ibm/plex-serif/scss' as PlexSerif with (
$font-weights: (
bold: false,
boldItalic: false,
extralight: false,
extralightItalic: false,
italic: false,
light: false,
lightItalic: false,
medium: false,
mediumItalic: false,
regular: false,
semibold: false,
semiboldItalic: false,
text: false,
textItalic: false,
thin: false,
thinItalic: false
)
);
@include PlexSerif.all();
IBM Plex Serif typeface weights map:
| Weight | Enabled by default with | PlexSerif.all() | PlexSerif.default() | |------------------|-------------------------|----------------|--------------------| | bold | | ✅ | ✅ | | boldItalic | | ✅ | ❌ | | extralight | | ✅ | ❌ | | extralightItalic | | ✅ | ❌ | | italic | | ✅ | ❌ | | light | | ✅ | ❌ | | lightItalic | | ✅ | ❌ | | medium | | ✅ | ❌ | | mediumItalic | | ✅ | ❌ | | regular | | ✅ | ✅ | | semibold | | ✅ | ✅ | | semiboldItalic | | ✅ | ❌ | | text | | ✅ | ❌ | | textItalic | | ✅ | ❌ | | thin | | ✅ | ❌ | | thinItalic | | ✅ | ❌ |
Below are the font-family
rules for the family:
font-family: 'IBM Plex Serif'
Building the fonts from source
Requirements
To build binary font files from .vfb sources you need FontLab Studio 5. A Python script called IBM Plex export FDK files.py
is necessary to export the proper files from FontLab. To run this script you’ll need the RoboFab library. Also, you’ll need to have the Adobe Font Development Kit for OpenType (AFDKO) installed.
Building one font
From FontLab, run IBM Plex export FDK files.py
and choose a directory with IBM Plex .vfb source files. The script will create a new directory called fdk
in which subdirectories are created for every font. The script will export files necessary for AFDKO in those subdirectories.
Subsequently, OpenType Fonts (OTFs) or TrueType Fonts (TTFs) can be generated from the command line using makeotf
, which is part of the AFDKO toolset. Information and usage instructions can be found by executing makeotf -h
.
IBM Telemetry
This package uses IBM Telemetry to collect metrics data. By installing this package as a dependency you are agreeing to telemetry collection. To opt out, see opting out of IBM Telemetry data collection. For more information on the data being collected, please see the IBM Telemetry documentation.