Giter Club home page Giter Club logo

plex's Introduction

IBM Plex® typeface

Plex

Meet the IBM Plex® typeface, our corporate typeface family. It’s global, it’s versatile and it’s distinctly IBM.

We designed the IBM Plex typeface carefully to both meet our needs as a global tech company and express who we are as IBMers. It took two years and a lot of work to get here, but today we have a signature typeface we’re proud and excited to share with the world. Discover more about our development of the IBM Plex typeface.

The IBM Plex typeface is an open-source project available for download and various uses following the Open Font License (OFL). The IBM Plex family comes in Sans, Serif, Mono, and Sans Condensed, all with roman and true italics. Plex has been designed to work well in user interface (UI) environments and other mediums. This project provides all source files and multiple formats to support most typographical situations. Currently, IBM Plex Sans supports Extended Latin, Arabic, Cyrillic, Devanagari, Greek, Hebrew, Japanese, Korean and Thai. Traditional and Simplified Chinese versions will be available in Q1 2024, and IBM Plex Math in Q2 2024.

Thanks for trying the IBM Plex typeface! We hope you like it.

Add the IBM Plex 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
  • Sassy CSS (SCSS) code partials down to each weight, variant and split

We also include whole .woff2, .woff, and .eot files. However, we recommend using the prescribed split strategy for performance.

Installation with Node.js®:

npm install @ibm/plex

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 beforehand by declaring this variable:

$font-prefix: './custom/path/to/font/files';
@import 'node_modules/@ibm/plex/scss/ibm-plex.scss';

Note: If your app, for example, React, can’t import the font because it’s outside the ‘src’ directory, then edit the imported ‘ibm-plex.scss’ file and change the relative path prefix there as follows: $font-prefix: '' !default;

Below are the font-family rules for the family:

font-family: 'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono',
  'Bitstream Vera Sans Mono', Courier, monospace;
font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
font-family: 'IBM Plex Sans Condensed', 'Helvetica Neue', Arial, sans-serif;
font-family: 'IBM Plex Serif', 'Georgia', Times, 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 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.

plex's People

Contributors

alisonjoseph avatar benlk avatar boneskull avatar brandondh avatar dependabot[bot] avatar dtinth avatar eltociear avatar haydaralrikabi avatar jeffchew avatar jjasghar avatar joshblack avatar lmapes avatar mattrosno avatar mjabbink avatar seejamescode avatar sockol avatar tay1orjones avatar vpicone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plex's Issues

Type set differentiation content

Hey @qqpin, can you provide values that separate the editorial and product type sets?

We currently say:

For editorial experiences, the type styles and sizes provided bring clarity to content density.

and

For product experiences, the type styles and sizes provided bring clarity to content density.

Don't apply bottom margin to list item elements

Current behavior: Bottom margin is applied to all elements, including list items, resulting in undesired styling.

image

Desired behavior: Bottom margin is not applied to list item elements. Designer/developer can add bottom margin as desired.

Spelling of GitHub

At the top of the page, GitHub needs a capital H (CamelCase)

The package of IBM’s new typeface, IBM Plex, and accompanying typography code. Find installation instructions on the Github repo.

Alignments examples don’t match text

alignnments-oops-text-mismatch

Mismatch

Justified Copy

Oops!
Flush right is reserved for languages that read right to left but is hard to read in Western Latin languages.

Flush Right Copy

Oops!
Justified copy can fit into IBM typography, but we recommend not using this approach as it is difficult to do well and requires strong typographic expertise.

Hat tip @johnmcvey

Design—little things

  • Just call it "Weights" instead of "Suggested default weights"

screen shot 2017-10-20 at 3 03 14 pm

  • Make the purple 1 unit, not 2 units

screen shot 2017-10-20 at 3 06 44 pm

  • Spacing here need to be adjusted.

screen shot 2017-10-20 at 3 16 07 pm

Let's do: line + 1 unit + text + 3 unit gap to the next. Blue color for code snippet.

screen shot 2017-10-20 at 3 20 08 pm

  • Need a max-width here

screen shot 2017-10-20 at 3 26 10 pm

  • For this:

screen shot 2017-10-20 at 3 27 21 pm

The line should layout like this way. Warning should be in red color.
screen shot 2017-10-20 at 3 27 39 pm

  • Make 7 units to 3 units

screen shot 2017-10-20 at 3 29 39 pm

  • Missing the top divide line

screen shot 2017-10-20 at 3 30 48 pm

Design—Spacing

I want to add 2 units spacing between "....principle." and "Resources"

screen shot 2017-10-20 at 2 57 06 pm

Design—toggle

We need to have those toggles to show different type sets and breakpoints.

screen shot 2017-10-20 at 3 50 33 pm

Design—lg

  • Make all the spacing between section 6 units in lg.

screen shot 2017-10-25 at 10 10 41 am

  • Make all blue to #0F6DFF, including icons.

screen shot 2017-10-25 at 10 14 14 am

  • Seems this image hasn't swapped. It looks blury.

screen shot 2017-10-25 at 10 16 00 am

Design—sm

  • Need to have all the Oops come closer to the image. 1 unit closer.

screen shot 2017-10-24 at 6 26 29 pm

  • Can we make the nav in sm 2 units height, same for the dropdown.

screen shot 2017-10-24 at 6 27 54 pm

  • the shorter divide line should have left and right padding. Not bleed out.

screen shot 2017-10-24 at 6 29 25 pm

Design—Small things 3

  • Name should be regular.

screen shot 2017-10-24 at 6 10 31 pm

  • No gap between images

screen shot 2017-10-24 at 6 10 22 pm

  • Change the quote to: “Don’t try to be original, just try to be good.” Paul Rand
    Try to hang the quotation mark....

  • Need new video player

screen shot 2017-10-24 at 6 21 43 pm

want something like this... probably it is from vimeo.com

screen shot 2017-10-24 at 6 22 28 pm

Design—Spacing

Need to have more space between type scales
screen shot 2017-10-20 at 8 43 00 am

Design in Sketch:
screen shot 2017-10-20 at 8 45 09 am

Font directory SCSS variable

Provide the ability to override default font directory in _core.scss to allow for specifying where fonts are located. For example:

$directory: '../fonts' !default;

@font-face {
  src: url('#{$directory}/#{$family}/web/woff2/IBMPlex#{$family}-#{$weight}-#{$unicode}.woff2') format('woff2');
}

Open Slack client instead of Slack in the browser

Current behavior: When clicking on the Slack channel link in the footer, the Slack channel is opened in the same browser window.

Desired behavior: When clicking on the Slack channel link in the footer, the Slack channel is opened in the Slack client. Alternatively, open the channel in a new window.

Baseline Grid for vertical rhythym

Hello

Been waiting for this font, so stocked it's here after seeing it on twitter!
Are there values to use the typeface at different sizes such that a vertical rhythm is maintainted.

EX: Using it in a Keynote deck at 18 pts on a 1440x900 px canvas. What's the right value for line-spcing that will ensure a even vertical rhythm?

Evaluate performance of original vs split files (WOFF and WOFF2)

The current stored files for the web fonts (WOFF and WOFF2) are split into smaller locale-specific parts. While this is OK for sites that can guarantee they only see characters from one or other of the splits, in all likelihood they will now need to download more than one font file to render a page. For example, non-latin or glyph-based languages will often have latin characters on screen as well (acronyms, formal words, user-entered text etc.).

We would like to have the option of including a single whole font file and ask that this be provided alongside the split editions. For size comparison, the current full size of Plex at 48KB (WOFF) is comparable or better than other very popular font files such as material icons (56KB WOFF) and font awesome (80KB WOFF) so does not represent a particular size penalty.

Proper apostrophe

Needs a curly, not a straight, apostrophe in the word "user's"

However, the text sizes will increase and decrease between those screen width breakpoints for perfect sizing with the user's device.

family usWeightClass values

The Thin weights are set to 100. This can create issues in some applications

Having a weightclass of 100 or 200 can result in a "smear bold" or (unintentionally) returning the style-linked bold. Because of this, you may wish to manually override the weightclass setting for all "extra light," "ultra light" or "thin" fonts.

https://www.adobe.com/devnet/opentype/afdko/topic_font_wt_win.html

I recommend you change Thin to 250 and ExtraLight to 275

Typography updates

Typography is the appearance and arrangement of type. Each word or paragraph lives in a grid system—creating helpful alignments, harmonious relationships and clear organizations. Typography should reflect careful choices in size, placement, and weight to create useful hierarchies to guide users through the content.

With our new bespoke corporate typeface, IBM Plex™, comes a new set of guidance and best practices. IBM typography is international and modern to reflect our brand and our design principles.

the — Go to Code for guidance of IBM Type’s developer offerings. — should move closer to download boxes. In mobile it creates very large space and in desktop it seems to be floating away.

In Typeface section the copy is reads … comes in sans, sans serif and monospace versions…

it should read… comes in sans serif, monospace and serif versions…

also reorder to:
IBM Plex Sans
IBM Plex Mono
IBM Plex Serif

In Scale the waterfall type in white box is too tightly line spaced.

The formula could be larger no? Seems tiny for such an important thing. Maybe it’s the header size?

the note under formula is also too far away.

Style
Typography creates purposeful texture. It guides users to read and understand the hierarchy of information. The right typographic treatment and the controlled usage of type styles helps manage the display of content, keeping it useful, simple and effective.

Style
These images should have same line spacing between each other

Alignments
By using grid driven typography we can create strong text alignments which organize content for the eye to follow, aiding readability. We use flush left typography for Western Latin and Asian languages (digital environments) to create clean and consistent layouts to help the user navigate information clearly.

Image quality is poor in these samples

Oops red captions are too far away from illustration in mobile

Why Fluid Type? This should be bigger no?

Case
Write content in sentence case. Title case can be used in proper titles, product names, and service names. but avoid all uppercase or “all caps.” Using sentence case is more comfortable for reading than all uppercase. This is because there is more distinction between the lowercase letters and working together with initial caps make for the optimum reading experience.

Oops!
Uppercase is not to be used for writing. It yells too much and is more formal in nature.

The type in the italic green check illustration is too small. maybe the text should read...

My favorite book is
Catcher in the Rye.

Weights
We suggest to use IBM Plex Light, Regular, SemiBold, and Italic for digital experiences. The semibold weight is ideal for headers and hierarchies but should not be used for long text. Note that IBM Plex Sans Bold, ExtraLight, Text, and Thin are not for digital experiences.

Design—Image

Images are blur still. We need to figure out how to make images sharp.

Make line length optional

Current behavior: The max-width property is automatically assigned using IBM type. This is causing content blocks that span the width of the page to wrap which is undesired.

image

Desired behavior: Make the line length enforcement optional. Guidance is appreciated, but ultimately should be up to the designer/developer to apply.

Serial (Oxford) commas

https://ibm.github.io/type/
Serial commas are used inconsistently throughout this page.

Examples on the page with a serial comma:

  • Typography should reflect careful choices in size, placement, and weight [...]
  • Line heights are included in the type scale to match type sizes, styles, and weights.
  • Title case can be used in proper titles, product names, and service names.

Examples on the page without a serial coma:

  • Each word or paragraph lives in a grid system—creating helpful alignments, harmonious relationships and clear organizations.
  • [...] controlled usage of type styles helps manage the display of content, keeping it useful, simple and effective.
  • {...} keeping it useful, simple and effective.

Declaring the font-family requires escaped quotes

When declaring IBM Plex Sans as a font-family, it only works when I declare it with the escaped quotes:

font-family: "\"ibm-plex-sans\"";

This makes the font show up in the inspector with the escaped quotes.

Ideally, to keep it clean, I would like to be able to declare it like this:

font-family: "ibm-plex-sans";

What is IBM Type?

Reading the introduction is vague and completely baffling.

What is IBM Type? Explain it in one sentence. The current explanation, quote:

Typography is the appearance and arrangement of type. Each word or paragraph lives in a grid system—creating helpful alignments, harmonious relationships and clear organizations. Typography should reflect careful choices in size, placement, and weight to create useful hierarchies to guide users through the content.

With our new bespoke corporate typeface, IBM Plex™, comes a new set of guidance and best practices. IBM typography is international and modern to reflect our brand and our design principles.

The visitor has still no clue if IBM Type is a new font (IBM Plex is?) or a new paradigm or what the heck is it? Is it a guideline for typography at IBM? Set of general principles? New CSS framework?

Of course this is my personal opinion, but chimes with the top comment on HN:
https://news.ycombinator.com/item?id=15653897

It'd be nice to have some clarification. I love the IBM Plex font, especially monospaced.

Also, it would be good to have the licensing information on the page.

Documentation: Alignment Examples Mixed Up

On the documentation site, the "oops" examples of justified text and right aligned text have the incorrect descriptions next to the images. They should be swapped. See screenshot (screenshot is of Google Chrome on Mac).

screen shot 2017-10-13 at 1 40 22 pm

Remove attribute class CSS matching

Currently there are some css declarations that rely on attribute class selections:

screen shot 2017-10-12 at 2 27 13 pm

These types of classes are really problematic because it can create unintended restyling. For my case, I am using the classes that are all prefixed with .ibm-type-checker. This means that all of my classes are modified by the styles displayed above. This is definitely not intended and difficult to work with.

Design—md

  • In md, Add 2 units height to the buttons:

screen shot 2017-10-23 at 11 55 21 am

  • Can we move the whole content to start with the second columns (2/8)?

screen shot 2017-10-24 at 5 30 13 pm

  • And then move Oops! to the bottom of the image.

screen shot 2017-10-24 at 5 32 32 pm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.