Skip to content

Customizing Letter Spacing

View raw .md

Manage character spacing through WindTheme: pre-defined keys, arbitrary values, and runtime customization.

On this page
dart
WindTheme.setLetterSpacing('extra-wide', 0.15);
double spacing = WindTheme.getLetterSpacing('wide'); // 0.025

Default Letter Spacings#

WindTheme defines several pre-defined letter spacings mapped to descriptive keys. Values are in em units.

Key Value (em) Description
tighter -0.05 Very tight spacing
tight -0.025 Tight spacing
normal 0 Default spacing
wide 0.025 Wide spacing
wider 0.05 Very wide spacing
widest 0.1 Extremely wide spacing

For example:

  • tracking-tight applies a letter spacing of -0.025em.
  • tracking-wide applies a letter spacing of 0.025em.

Arbitrary Letter Spacings#

For values outside the scale, use the tracking-[value] syntax, where value is the desired spacing in em units.

  • tracking-[0.1] applies a letter spacing of 0.1em.
  • tracking-[0.3] applies a letter spacing of 0.3em.

Managing Letter Spacings#

WindTheme provides methods to check, retrieve, add, and remove letter spacings at runtime.

dart
// Check whether a letter spacing exists
bool exists = WindTheme.hasLetterSpacing('normal');
print(exists); // Output: true
dart
// Retrieve a letter spacing value
double spacing = WindTheme.getLetterSpacing('wide');
print(spacing); // Output: 0.025
dart
// Add a custom letter spacing
WindTheme.setLetterSpacing('extra-wide', 0.15);

// Update an existing letter spacing
WindTheme.setLetterSpacing('wide', 0.03);
dart
// Remove a letter spacing
WindTheme.removeLetterSpacing('extra-wide');
esc

Search index did not load.

No match for "".

Try a class like rounded-lg or a widget like WButton.