Skip to main content

Typography

GospeLib uses three font roles to create clear visual hierarchy: a scholarly serif for scripture text, a clean humanist sans for UI chrome, and Unicode-rich faces for original languages.

Font Roles

RoleDefault FontLicensePurpose
Scripture Text (Serif)Gentium PlusOFLUnicode scholarly serif with excellent Hebrew/Greek rendering, generous x-height, optimized for long reading sessions
UI Chrome (Humanist Sans)InterOFLClean, neutral, never competes with scripture text
Original LanguagesGentium Plus (Greek) / SBL Hebrew (Hebrew)FreeHebrew RTL with cantillation mark support; Greek with polytonic accents

User-Selectable Alternatives

RoleAlternatives
ScriptureGeorgia, Palatino, EB Garamond, Charter, user-installed fonts
UI ChromeSystem default (-apple-system, Segoe UI), Nunito for warmer feel
Hebrew fallbackEzra SIL

Token names: font.family.scripture, font.family.ui, font.family.hebrew, font.family.greek

Type Scale

Based on a 1.25 major third ratio, anchored at 16px base (configurable 12px–24px):

TokenSizeLine HeightUsage
font.size.xs11px1.4Strong's badges, metadata chips
font.size.sm13px1.45Secondary labels, captions
font.size.base16px1.6UI body text, default
font.size.md18px1.55Default scripture text size
font.size.lg20px1.5Large scripture, section headers
font.size.xl24px1.4Screen titles
font.size.2xl30px1.3Marketing headings
font.size.3xl38px1.2Hero headings

Scripture text defaults to md (18px) with 1.6 line height — generous for extended reading. User-configurable from sm to 2xl.

Scripture Text Rendering

Scripture text uses specific typography rules distinct from UI text:

font-feature-settings:
'kern' 1,
'liga' 1,
'calt' 1;
text-rendering: optimizeLegibility;
font-variant-numeric: oldstyle-nums;
hanging-punctuation: first;

Verse Numbers

PropertyValue
font-variantsmall-caps
colornavy-400 (light) / navy-300 (dark)
font-size0.7em
vertical-alignsuper
letter-spacing0.02em
margin-right0.35em

Chapter Drop Cap

The first verse of each chapter uses a decorative drop cap:

PropertyValue
Size3-line drop cap, font-size: 3.2em
ColorCorpus identity color (see Colors)

Red-Letter Christ Words

PropertyLight ModeDark Mode
color#A83232#E87070

User-toggleable in Settings → Reader.

Section Headings

Section headings within chapters (e.g., "The Creation," "The First Vision"):

font-variant: small-caps;
font-size: 0.8em;
letter-spacing: 0.12em;
color: var(--color-verse-number);
text-align: center;
margin: 1.8em 0 0.8em;

Section headings are decorative guides — they must never visually compete with scripture text.

Original Language Text Rules

Hebrew

PropertyValue
directionrtl
font-family"SBL Hebrew", "Ezra SIL", serif
font-size1.1em (slightly larger — Hebrew letterforms are compact)
line-height2.0 (extra space for cantillation marks above/below)
letter-spacing0.02em

Greek

PropertyValue
font-family"Gentium Plus", "SBL Greek", serif
font-size1.05em
line-height1.8

Transliteration

PropertyValue
font-family"Gentium Plus", serif
font-styleitalic
colornavy-400 (light) / navy-300 (dark)
font-size0.9em

Reading Density Interaction

Typography adjusts based on the selected reading density:

DensityLine HeightFont Size DeltaResult
Spacious1.85+2px20px default
Comfortable1.6018px default
Compact1.45-3px15px default

Density and font size are independent — a user can be in Compact density with a large font, or Spacious density with a small font.

Font Weights

TokenValueUsage
font.weight.regular400Body text
font.weight.medium500Emphasized labels
font.weight.semibold600Section headings
font.weight.bold700Strong emphasis