Skip to contentPorsche Design System
You are currently viewing an earlier release of the Porsche Design System.Switch to the latest Porsche Design System documentation.
SearchGitHub repository of Porsche Design SystemOpen settings sidebar
Typography The Porsche Design System ships Porsche Next as the global brand typeface. It covers most Western and Middle Eastern scripts (Latin, Greek, Cyrillic, Arabic, Vietnamese) in three weights: normal, semibold, and bold. For scripts not included in Porsche Next — primarily CJK (Chinese, Japanese, Korean) — the design system relies on high-quality system fallback fonts that ship with each operating system. This keeps page weight low and rendering fast, while still respecting native typographic conventions for each script. The samples below use canonical pangrams — short texts that exercise the full character set of a script — to make font coverage and rendering quality easy to compare across browsers and platforms.
Why no custom CJK font? A complete Chinese font weighs 5–10 MB per weight. Loading it on every page would add 15–30 MB of font data, severely impacting Core Web Vitals (LCP, FCP) and mobile data usage. System fonts like PingFang SC, Microsoft YaHei, or Noto Sans CJK are excellent and pre-installed — using them is the right trade-off for a global, performance-conscious design system.
Language-aware typography relies on the standard lang attribute. Set it once on <html> (and override on a subtree only when the language actually changes) so the :lang() selectors can pick the right CJK font stack — this also satisfies WCAG 3.1.1 (Language of Page) for assistive technologies.
<html lang="zh-Hans"> <!-- … --> </html>
Table of Contents Why per-flavor APIs differ Porsche Next is exposed slightly differently across the style flavors the design system ships. This is intentional — it reflects a real difference in how each flavor is consumed, not an inconsistency to be normalized away. FlavorDistribution modelCJK strategyStylesheetsOne global stylesheet (used by PDS components, also consumable standalone) → cascades to the whole documentAutomatic :lang() swap on --p-font-porsche-nextTailwind CSSOne global @theme block → cascades to the whole documentAutomatic :lang() swap on --font-porsche-nextSCSSPer-component mixins → only affect rules they're included inExplicit per-language tokens + optional cjk-font-family mixin; the prose-heading-*() and prose-text-*() mixins already apply :lang() selectors to auto-detect CJK contentEmotion / Vanilla ExtractPer-component runtime style objects → only affect one elementExplicit per-language tokens + optional getCJKFontFamilyStyle() helper; the proseHeading* and proseText* style objects already apply :lang() selectors to auto-detect CJK content Global flavors (Stylesheets, Tailwind) ship a single stylesheet that reaches every element on the page. A :lang() rule placed once at the document root is enough to switch the font for the entire app — so these flavors expose one logical font variable and handle CJK automatically. The PDS Stylesheets are loaded automatically by the PDS components, but they're also a fully supported standalone option: you can use --p-font-porsche-next and the other --p-* design tokens in any project, with or without the web components. Local flavors (SCSS, Emotion, Vanilla Extract) are composed per component. A mixin or style helper only affects the element it's applied to. Forcing language switching into a single helper here would require every component author to remember to call it on every font-family rule — easy to forget, impossible to enforce at build time, and unable to express legitimate cases like a Japanese pull-quote inside an English document. These flavors therefore expose the four CJK families as first-class tokens (fontPorscheNextZhHans, fontPorscheNextZhHant, fontPorscheNextJa, fontPorscheNextKo) and provide an opt-in :lang() helper for the common case. Recommendation: If your project already uses the PDS Stylesheets (directly, or transitively via PDS components) or the Tailwind theme, you get language-aware typography for free — just set lang on <html> and use --p-font-porsche-next, .font-porsche-next, <p-text> and/or <p-heading>. If you compose styles with SCSS, Emotion or Vanilla Extract, prefer the provided cjk-font-family mixin / getCJKFontFamilyStyle() helper on any rule that sets font-family. Reach for the per-language tokens only when you intentionally need to pin a specific CJK family regardless of the document's language. If you're using the prose-heading-*() / prose-text-*() mixins or the proseHeading* / proseText* helpers, you can skip this step — they already include the :lang() logic to auto-detect CJK content and apply the right font. Porsche Next Arabic Porsche Next has no dedicated semibold weight — it is aliased to bold.
Simplified & Traditional Chinese system fonts on macOS (PingFang SC / PingFang TC) have no dedicated semibold weight — they are aliased to bold.
Thai Porsche Next (DB Heavent) is not perfectly aligned with the Latin version in terms of geometry (cap height, x-height, vertical metrics).
Latin
macOS/iOS, Windows, Linux/Android/ChromeOS: Porsche Next
Porsche 911: The quick brown fox jumps over the lazy dog.Porsche 911: The quick brown fox jumps over the lazy dog.Porsche 911: The quick brown fox jumps over the lazy dog. Vietnamese
macOS/iOS, Windows, Linux/Android/ChromeOS: Porsche Next
Porsche 911: Do bạch kim rất quý nên sẽ dùng để lắp vô xương.Porsche 911: Do bạch kim rất quý nên sẽ dùng để lắp vô xương.Porsche 911: Do bạch kim rất quý nên sẽ dùng để lắp vô xương. Greek & Coptic
macOS/iOS, Windows, Linux/Android/ChromeOS: Porsche Next
Porsche 911: Ταχίστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνόςPorsche 911: Ταχίστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνόςPorsche 911: Ταχίστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός Cyrillic
macOS/iOS, Windows, Linux/Android/ChromeOS: Porsche Next
Porsche 911: Эх, чужак, общий съём цен шляп (юфть) – вдрызг!Porsche 911: Эх, чужак, общий съём цен шляп (юфть) – вдрызг!Porsche 911: Эх, чужак, общий съём цен шляп (юфть) – вдрызг! Arabic
macOS/iOS, Windows, Linux/Android/ChromeOS: Porsche Next
Porsche 911: نص حكيم له سر قاطع وذو شأن عظيم مكتوب على ثوب أخضر ومغلف بجلد أزرقPorsche 911: نص حكيم له سر قاطع وذو شأن عظيم مكتوب على ثوب أخضر ومغلف بجلد أزرقPorsche 911: نص حكيم له سر قاطع وذو شأن عظيم مكتوب على ثوب أخضر ومغلف بجلد أزرق System fallback Simplified Chinese
macOS/iOS: PingFang SC, Windows: Microsoft YaHei, Linux/Android/ChromeOS: Noto Sans SC
Porsche 911: 保时捷驾驶体验活动在线销售通用条款与条件Porsche 911: 保时捷驾驶体验活动在线销售通用条款与条件Porsche 911: 保时捷驾驶体验活动在线销售通用条款与条件 Traditional Chinese
macOS/iOS: PingFang TC, Windows: Microsoft JhengHei, Linux/Android/ChromeOS: Noto Sans TC
Porsche 911: 天地玄黃,宇宙洪荒。日月盈昃,辰宿列張。Porsche 911: 天地玄黃,宇宙洪荒。日月盈昃,辰宿列張。Porsche 911: 天地玄黃,宇宙洪荒。日月盈昃,辰宿列張。 Japanese
macOS/iOS: Hiragino Sans, Windows: Yu Gothic, Linux/Android/ChromeOS: Noto Sans JP
Porsche 911: いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせすんPorsche 911: いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせすんPorsche 911: いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせすん Korean
macOS/iOS: Apple SD Gothic Neo, Windows: Malgun Gothic, Linux/Android/ChromeOS: Noto Sans KR
Porsche 911: 키스의 고유조건은 입술끼리 만나야 하고 특별한 기술은 필요치 않다Porsche 911: 키스의 고유조건은 입술끼리 만나야 하고 특별한 기술은 필요치 않다Porsche 911: 키스의 고유조건은 입술끼리 만나야 하고 특별한 기술은 필요치 않다 Thai
macOS/iOS, Windows, Linux/Android/ChromeOS: Porsche Next (DB Heavent)
Porsche 911: เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉานPorsche 911: เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉานPorsche 911: เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน
Global settingsColor SchemeAll color tokens use the light-dark() CSS function. Set the theme via the CSS color-scheme property: light for light mode, dark for dark mode, or light dark to follow the user's system preference.LightDarkLight DarkDirectionThe dir global attribute in HTML changes the direction of text and other content within an element. It's most often used on the <html> tag to set the entire page's direction, which is crucial for supporting languages that are written from right to left (RTL), such as Arabic and Hebrew. For example, using <html dir="rtl"> makes the entire page display from right to left, adjusting the layout and text flow accordingly.LTR (left-to-right)RTL (right-to-left)Text ZoomTo ensure accessibility and comply with WCAG 2.2 AA standards, it is mandatory for web content to support text resizing up to at least 200% without loss of content or functionality. Using relative units like rem is a best practice for achieving this, as they allow the text to scale uniformly based on the user's browser settings.100%130%150%200%