Skip to main content

Typography Theming

Hashi's typography system is a system designed to handle font/type-related concerns like the font sizes, typefaces, line-heights, etc.

Properties

The system is divided into a few properties: Supertitle, Title, Subtitle, Body, Mono, and Small. These properties are affected by four (4) factors: Typeface (font family), Size, Weight, and Line Height.

Types

We decided to name these types distinctively, and assign a purpose to them.

TypeDescription
SupertitleFor eye-catching headers (usually <h1>, and <h2>). Typically used in hero sections.
TitleFor defining headers (usually <h3>). Typically used as section titles.
SubtitleFor descriptive headers (usually <h4>, <h5>, and <h6>). Typically used to define section titles.
BodyFor most text (usually <p>).
MonoFor code snippets in text.
SmallFor helper texts.

Typefaces

Hashi allows you to use a maximum of two (2) different typefaces, This makes sure that fonts aren't just thrown out here and there, and promotes consistency.

Typeface Guidelines

Global, Body, and Small Typefaces

We recommend using a typeface that's easily-readable, expressive, and in context of the project's purpose--say a more static, blog-ish type website could use either a serif or a sans-serif typeface. Some of our recommended fonts include: DM Sans, Inter, Roboto, Roboto Serif, etc. The default typeface is DM Sans.

Supertitle, Title, and Subtitle Typefaces

We recommend using a typeface that's expressive, yet non-intrusive. This can be the brand's own typeface, or a heavy-weight version of the global font. Recommended fonts include: Syne, Inter (700), Playfair Display, etc. The default typeface is Syne.

Monospace Typefaces

This typeface is mostly used inside code snippets in projects. Since Dev Protocol is geared towards development in the blockchain, we've decided to include Monospace in our guidelines for consistency. Some of our recommended fonts include: IBM Plex Mono, Fira Code, Jetbrains Mono, etc. The default typeface is IBM Plex Mono.

Sizes, Line Heights and Weights

These are non-modifiable constants for Hashi's standardized typography sizes, default line heights, and default weights.

Sizes with default weights

TypeSize (px)Line Height (1.5)Default Weight
Supertitle4263700
Title3654700
Subtitle2430700
Body1624400
Mono1624400
Small1218300