diff --git a/src/assets/images/app/projects/sistent/font-pair-dark.png b/src/assets/images/app/projects/sistent/font-pair-dark.png new file mode 100644 index 000000000000..d1baeadcc93e Binary files /dev/null and b/src/assets/images/app/projects/sistent/font-pair-dark.png differ diff --git a/src/assets/images/app/projects/sistent/font-pair-light.png b/src/assets/images/app/projects/sistent/font-pair-light.png new file mode 100644 index 000000000000..fbcfc1905d1b Binary files /dev/null and b/src/assets/images/app/projects/sistent/font-pair-light.png differ diff --git a/src/assets/images/app/projects/sistent/type-details-1-dark.png b/src/assets/images/app/projects/sistent/type-details-1-dark.png new file mode 100644 index 000000000000..5a46eacf4be5 Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-details-1-dark.png differ diff --git a/src/assets/images/app/projects/sistent/type-details-1-light.png b/src/assets/images/app/projects/sistent/type-details-1-light.png new file mode 100644 index 000000000000..86cf137677c0 Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-details-1-light.png differ diff --git a/src/assets/images/app/projects/sistent/type-scale-1-dark.png b/src/assets/images/app/projects/sistent/type-scale-1-dark.png new file mode 100644 index 000000000000..25b70ceb180a Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-scale-1-dark.png differ diff --git a/src/assets/images/app/projects/sistent/type-scale-1-light.png b/src/assets/images/app/projects/sistent/type-scale-1-light.png new file mode 100644 index 000000000000..67a52c74dc5d Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-scale-1-light.png differ diff --git a/src/assets/images/app/projects/sistent/type-scale-2-dark.png b/src/assets/images/app/projects/sistent/type-scale-2-dark.png new file mode 100644 index 000000000000..d4dfebff0be8 Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-scale-2-dark.png differ diff --git a/src/assets/images/app/projects/sistent/type-scale-2-light.png b/src/assets/images/app/projects/sistent/type-scale-2-light.png new file mode 100644 index 000000000000..b12b3b53c92c Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-scale-2-light.png differ diff --git a/src/assets/images/app/projects/sistent/type-scale-3-dark.png b/src/assets/images/app/projects/sistent/type-scale-3-dark.png new file mode 100644 index 000000000000..0518575fbe6e Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-scale-3-dark.png differ diff --git a/src/assets/images/app/projects/sistent/type-scale-3-light.png b/src/assets/images/app/projects/sistent/type-scale-3-light.png new file mode 100644 index 000000000000..cfa12f90caa2 Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-scale-3-light.png differ diff --git a/src/assets/images/app/projects/sistent/type-table-1-dark.png b/src/assets/images/app/projects/sistent/type-table-1-dark.png new file mode 100644 index 000000000000..14093a8fffef Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-table-1-dark.png differ diff --git a/src/assets/images/app/projects/sistent/type-table-1-light.png b/src/assets/images/app/projects/sistent/type-table-1-light.png new file mode 100644 index 000000000000..58e90e71c5f7 Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-table-1-light.png differ diff --git a/src/assets/images/app/projects/sistent/type-table-2-dark.png b/src/assets/images/app/projects/sistent/type-table-2-dark.png new file mode 100644 index 000000000000..bd74f313da6e Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-table-2-dark.png differ diff --git a/src/assets/images/app/projects/sistent/type-table-2-light.png b/src/assets/images/app/projects/sistent/type-table-2-light.png new file mode 100644 index 000000000000..5c23906fc5c4 Binary files /dev/null and b/src/assets/images/app/projects/sistent/type-table-2-light.png differ diff --git a/src/components/SistentNavigation/content.js b/src/components/SistentNavigation/content.js index 7fc89424582e..bde227f75937 100644 --- a/src/components/SistentNavigation/content.js +++ b/src/components/SistentNavigation/content.js @@ -2,5 +2,6 @@ export const content = [ { id: 0, link: "/projects/sistent/about", text: "About Sistent" }, { id: 1, link: "/projects/sistent/identity/color", text: "Colors" }, { id: 2, link: "/projects/sistent/identity/spacing", text: "Spacing" }, - { id: 3, link: "/projects/sistent/components", text: "Components" }, + { id: 3, link: "/projects/sistent/identity/typography", text: "Typography" }, + { id: 4, link: "/projects/sistent/components", text: "Components" }, ]; diff --git a/src/components/SistentNavigation/index.js b/src/components/SistentNavigation/index.js index 2875621a5a2c..5171e7fcd97a 100644 --- a/src/components/SistentNavigation/index.js +++ b/src/components/SistentNavigation/index.js @@ -82,6 +82,15 @@ const TOC = () => { Spacing +
+ The different fonts are referenced using unique token names to achieve + uniform application of the texts in different use cases across multiple + platforms. These tokens, just like the color, are split into primitive + and semantic categories. +
+ ++ This category refers to the seven sizes that were chosen as typesets + from the major third ratio. They form the foundation for all the other + fonts generated and used across the typography system. Since these + tokens lack complete styling however, they are should not be used + directly in designs and as such do not have any roles ascribed to them. + However, if a new role emerges and the need for a new token arises, + these typesets, serve as the reference size for any new font to be + created. +
++ The fonts in this category have specifications that make them suitable + for certain use cases either across all platforms or in any given + platform. +
++ After a suitable typeface has been chosen, it needs to be arranged to + form the various fonts that will be used to address different text needs + across designs. +
+ ++ It is not compulsory that all of the sizes in a type scale be used. + However, when choosing a size from the scale, ensure to identify + possible use cases in proposed designs to ensure efficiency and reduce + any chances of having redundant text styles. Remember that less is more + and a particular font size can function in multiple capacities. After + making a selection of sizes, if there is subsequent need for an + additional size because of a recurring use case, then a suitable + corresponding size can be chosen from the scale. This is a better + practice. +
++ For Layer5, we utilized the major third ratio to generate a type scale + that we could work with. +
++ From this type scale, seven text sizes were selected to account for + various needs in our websites and products. These sizes were further + modified with suitable font specifications that will provide accurate + guidance for usage across implementations. +
++ To create even more consistent designs, it is important to consider + typography with spacing and spatial proportions in mind. As a rule of + thumb, it is advisable that values obtained from the modular scale are + rounded off to a multiple of the base space value being used across a + set of designs. So for instance, if a set of designs has a base space + value of 4px or 6px, then, the font sizes selected are rounded off to be + multiples of four or six respectively. +
++ In keeping with this, the values of the above sizes are noticeably + distinct from the original type scale that it was derived from. This is + because our base space value is 8px and as such, all the text sizes have + been rounded off to a multiple of eight. This same principle is applied + to the accompanying line heights of these text sizes as well. +
++ For any digital product or website being created, one important thing to + be considered is the responsive nature of design, which translates to + what the said design will look like across different screen sizes + (desktop, tablet, and mobile). To this end, it is also crucial that any + of the text styles selected account for these different layout sizes as + well. As stated earlier, text styles can be used for multiple needs + across a given design. The important thing is that there is proper + documentation to point this out, ensuring that hierarchy and prominence + are duly established. +
+ ++ Since the selected text sizes cannot all be used for the same purpose, + it is necessary to differentiate them from each other in order to have a + working typography system that applies to different use cases and layout + sizes. This will require exploration and multiple tests of these text + styles in the screen sizes they are intended for and the possible use + cases that they will account for which may have already been identified + at those early stages before use. +
++ With these seven different text sizes derived from the type scale, we + have come up with ten fonts that can be applied in multiple use cases + and across multiple devices. This variation ensures that fonts are not + created randomly and utilized based on individual discretion, eventually + leading to multiple redundant fonts present in our type system. These + fonts must be considered first for application in any use case. If the + need arises for a new font to be added to the type system, sufficient + use cases have to be established to do so. +
++ NOTE: +
++ A new font can be something as little as changing only the font weight + of an already existing font and having both variations function in + different capacities. Of course it can also include replacing an already + existing font or creating an entirely new one to add to the type system. +
++ Headings are usually the first thing a user sees when reading a block of + text. The idea is for them to be concise and provide a hint of what + readers can expect from the accompanying body of text or an entire page. + It should also capture attention and encourage further exploration. They + can range from large hero section headings to much smaller subtitle and + label headings. Whatever the case, headings at different sizes can help + to accurately indicate hierarchy and provide guidance for any reader + going through a group of text. +
++ Of Layer5’s ten fonts, seven of them can function as heading text and + ensure hierarchy for different context. For text that needs to be + prominent in a group of text (especially at the beginning), any one of + these fonts will suffice. +
++ A bulk of text content is written in body or paragraph fonts. These are + less prominent fonts that provide more context to what brief ideas any + available headings may have outlined. It can also be used for short text + in components and when creating other interface elements due to its + higher legibility when compared to heading or subtitle texts. Three font + sizes have been earmarked to function in this capacity for the text + needs in Layer5 and across all of its products. +
+ ++ Each font should not be a product of random choices just to have a set + of text to work with. They should be informed decisions based on how + they can assist to reinforce a brand, what they can be used to achieve + in designs, and to what extent they should be applied. +
++ With these seven different text sizes derived from the type scale, we + have come up with ten fonts that can be applied in multiple use cases + and across multiple devices. This variation ensures that fonts are not + created randomly and utilized based on individual discretion, eventually + leading to multiple redundant fonts present in our type system. These + fonts must be considered first for application in any use case. If the + need arises for a new font to be added to the type system, sufficient + use cases have to be established to do so. +
++ Headings are usually the first thing a user sees when reading a block of + text. The idea is for them to be concise and provide a hint of what + readers can expect from the accompanying body of text or an entire page. + It should also capture attention and encourage further exploration. They + can range from large hero section headings to much smaller subtitle and + label headings. Whatever the case, headings at different sizes can help + to accurately indicate hierarchy and provide guidance for any reader + going through a group of text. +
++ Of Layer5’s ten fonts, seven of them can function as heading text and + ensure hierarchy for different context. For text that needs to be + prominent in a group of text (especially at the beginning), any one of + these fonts will suffice. +
++ A bulk of text content is written in body or paragraph fonts. These are + less prominent (larger) fonts that provide more context to what brief + ideas any available headings may have outlined. It can also be used for + short text in components and when creating other interface elements due + to its higher legibility when compared to heading or subtitle texts. + Three font sizes have been earmarked to function in this capacity for + the text needs in Layer5 and across all of its products. +
++ Below are a list of Layer5’s fonts along with hints on how they could be + applied to create usable and efficient text for our interfaces. For + reference purposes, more documentation can be done like how frequently + these fonts can appear on a page, what ui elements or text content they + can be used for, and how to adjust some font properties to suit multiple + scenarios. Responsive design documentation of the chosen fonts should be + documented as well to govern their usage and application. +
++ Most of the information that is present in a user interface for + the purpose of passing information across is represented via + typography. Correct typography structure and appropriate + application is important in all interfaces. +
++ There are a couple of things to consider when preparing to apply + typography to any interface. +
+ ++ A typeface is a set of letters, numbers, and accessories that have + common design features. These characters are usually grouped into + families and used in relation to each other to ensure uniform text + representation in designs and forms of text that are relative to each + other. Qanelas Soft, Times New Roman, Merriweather, and Roboto are all + examples of typefaces. +
++ Often wrongly used interchangeably with typeface, a font refers to + variations of a typeface. So this includes the weight, size, line + height, tracking (letter spacing), and any other features that are added + to a typeface for it to function in a certain capacity. A key + relationship between a typeface and a font is that characters in a + typeface can be modified to form different fonts. +
++ Line height is mostly used to refer to the distance between lines of + text. WCAG standards for line height recommend a line height that is at + least 1.5 times the chosen font size, especially for small text sizes. + For larger fonts, however, evidence has shown that anything between 1.2 + and 1.5 times the font size might also be appropriate, especially + considering the fact that most large fonts used for headings and + subheadings tend not to exceed a single line of text. +
+ ++ Type scale with respect to typography points to the set of incremental + steps or rations that dictate how font sizes increase or decrease as you + move up or down a given hierarchy. This increase or decrease is usually + originated from a base size that serves as the defining font within the + scale. These steps create a systemic progression of font sizes that + maintain harmony and visual balance within a system because of the + relationship they share with the base font. +
++ The base size used to generate a type scale is determined by the + principles governing size, typography, and other brand specific + contexts. As a design best practice, a text size of 16px is generally + accepted as very legible for responsive design. It is also a multiple of + eight which is our base space value and this is further elaborated on in + + Spacing + + . Reasons like these influence its use as a base size for our type + scale. A modular type scale can be generated using harmonious values + like the golden ratio, the major third, the perfect fifth, and so on. +
++ Because of the progressive increase or decrease that governs the content + of a type scale, it makes it easier to obtain consistent, related, and + harmonious font sizes that can each be used for specific needs when + curating digital interfaces. +
+ ++ Sometimes, it might be necessary to make use of more than one typeface. + In such a case, an applicable principle is that one of the typefaces is + used mostly for headings and subheadings, while the other is used for + most paragraphs and body text needs across the same design. Detailed + research on typefaces and their compatibility will help to make informed + decisions when it comes to choosing a typeface for font pairing. +
++ Layer5 has successfully been able to implement a font pairing of Qanelas + Soft for all heading and subheading text and Open Sans for all body, + paragraph, and content text needs. +
+