@ibm/plex-mono
v1.1.0
Published
The package of IBM’s typeface, IBM Plex Mono
Downloads
95,430
Maintainers
Keywords
Readme
IBM Plex® Mono
Add the IBM Plex Mono 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-mono
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-mono/scss' as PlexMono with (
$font-prefix: 'font-path'
);
@include PlexMono.all();
Font weights
We provide two ways of importing weights into your project. Using PlexMono.all()
will import all available weights and PlexMono.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-mono/scss' as PlexMono 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 PlexMono.all();
IBM Plex Mono typeface weights map:
| Weight | Enabled by default with | PlexMono.all() | PlexMono.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 Mono';
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 de-identified and anonymized 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.