Skip to main content

Typography

Overview

The Dhub Design System establishes a unified typographic framework to ensure visual and functional consistency across both web and mobile products. The system defines six main categories: Title, Heading, Label, Body, Tiny, and Micro. All text styles are based on the primary font family used by Dhub and are optimized for scalability and accessibility.


Principles

  • Consistency – Maintain a clear typographic hierarchy across all platforms.

  • Scalability – Adapt seamlessly to varying screen sizes and device types.

  • Accessibility – Prioritize readability, clear spacing, and proper hierarchy.

  • Semantic Mapping – Use typography styles according to their functional purpose, not only visual appearance.


Font Family

  • Primary Typeface: (Specify Dhub’s main font – e.g., SF Pro or another chosen font)

  • Available Weights: Regular, Medium, Bold


Structure & Hierarchy

Typography is organized into semantic levels corresponding to functional roles:

  1. Title – Large hero and page titles

  2. Heading – Section and subsection headers (H1–H4)

  3. Label – Interface labels, button text (Label-1 – Label-5)

  4. Body – Paragraph and content text (Body-1 – Body-4)

  5. Tiny / Tiny Extended – Small supporting text and captions

  6. Micro – Metadata and smallest informational text


Token Structure

Typography tokens follow this naming convention:

byr.typography.[category].[level].[property]

Examples:

  • dhub.typography.title.title-1.font-size

  • dhub.typography.body.body-2.line-height


Title Styles

StyleFont SizeLine HeightWeightLetter Spacing
Title-164px70pxMedium / Bold-0.8px
Title-240px48pxMedium / Bold-0.64px
Title-332px36pxMedium / Bold-0.6px

Heading Styles

StyleFont SizeLine HeightWeightLetter Spacing
H128px32pxMedium / Bold-0.56px
H226px30pxMedium / Bold-0.26px
H324px28pxMedium / Bold-0.24px
H420px24pxMedium / Bold-0.2px

Label Styles

LevelFont SizeLine HeightWeightsLetter Spacing
Label-117px20pxRegular / Medium / Bold-0.18px
Label-215px18pxRegular / Medium / Bold-0.16px
Label-313px16pxRegular / Medium / Bold-0.14px
Label-412px14pxRegular / Medium / Bold-0.12px
Label-511px14pxRegular / Medium / Bold-0.1px

Body Styles

LevelFont SizeLine HeightWeightsLetter Spacing
Body-117px28pxRegular / Medium0px
Body-215px22pxRegular / Medium0px
Body-313px20pxRegular / Medium0px
Body-412px16pxRegular / Medium0px

Tiny & Micro Styles

StyleFont SizeLine HeightWeightsLetter Spacing
Tiny10px12pxMedium / Bold0px
Tiny Extended10px12pxMedium / Bold1px
Micro9px10pxMedium / Bold0px

Usage Guidelines

  • Titles – For hero banners and main page titles

  • Headings – For sections and subsections

  • Labels – For form labels and button text

  • Body – For content text and paragraphs

  • Tiny / Micro – For metadata, captions, and helper text\

Here’s the text size and usage guidelines for the Car Rental Card component:


Text Sizes

ElementFont sizeFont weightStyle
Promo label14pxSemiBoldAll caps or bold highlight (e.g., “Limited Time Offers”)
Car name16pxMedium or BoldPrimary title (e.g., “BMW M8 Coupe”)
Sub-label14pxRegularSecondary text (e.g., “or similar”)
Price16pxSemiBoldEmphasis on pricing (e.g., “135 ₼ /day”)
Meta info12px–14pxRegular(e.g., time, location, transport type)

Usage Guidelines

Do ✅

  • Use consistent font sizes across all car cards.

  • Maintain clear hierarchy between the car name and “or similar” subtext.

  • Emphasize price using bold or semi-bold styling.

  • Use truncation or wrapping for long car names (max 2 lines).

  • Use left-aligned or center-aligned text based on card layout (grid vs carousel).

Don’t ❌

  • Don’t mix font weights or styles inconsistently across cards.

  • Don’t display pricing without currency or duration.

  • Don’t stack more than two lines of text in compact card variants.

  • Avoid scaling down text sizes below 12px for accessibility.