# Customizing Line Height Manage line heights through `WindTheme`: pre-defined keys, arbitrary values, and runtime customization. - [Default Line Heights](#default-line-heights) - [Arbitrary Line Heights](#arbitrary-line-heights) - [Managing Line Heights](#managing-line-heights) - [Related Documentation](#related-documentation) ```dart WindTheme.setLineHeight('custom', 1.2); double height = WindTheme.getLineHeight('tight'); // 1.25 ``` ## Default Line Heights `WindTheme` includes several pre-defined line heights mapped to intuitive keys. Values are multipliers applied to the font size. | Key | Value | Description | |:---|:---|:---| | `3` | `0.75` | Compact line height | | `4` | `1` | Standard compact | | `5` | `1.25` | Slightly expanded | | `6` | `1.5` | Comfortable | | `7` | `1.75` | Spacious | | `8` | `2` | Very spacious | | `9` | `2.25` | Extra spacious | | `10` | `2.5` | Maximum spaciousness | | `none` | `1` | No additional spacing | | `tight` | `1.25` | Tight spacing | | `snug` | `1.375` | Snug spacing | | `normal` | `1.5` | Normal spacing | | `relaxed` | `1.625` | Relaxed spacing | | `loose` | `2` | Loose spacing | For example: - `leading-3` applies a line height of **0.75**. - `leading-8` applies a line height of **2**. ## Arbitrary Line Heights For values outside the scale, use the `leading-[value]` syntax, where value is the desired multiplier. - `leading-[1.2]` applies a line height of **1.2**. - `leading-[2.8]` applies a line height of **2.8**. ## Managing Line Heights `WindTheme` provides methods to check, retrieve, add, and remove line heights at runtime. ```dart // Check whether a line height exists bool exists = WindTheme.hasLineHeight('normal'); print(exists); // Output: true ``` ```dart // Retrieve a line height value double height = WindTheme.getLineHeight('tight'); print(height); // Output: 1.25 ``` ```dart // Add a custom line height WindTheme.setLineHeight('custom', 1.2); // Update an existing line height WindTheme.setLineHeight('snug', 1.4); ``` ```dart // Remove a line height WindTheme.removeLineHeight('custom'); ``` ## Related Documentation - [Line Height Utilities](../typography/line-height.md) — apply heights with `leading-*` - [Letter Spacing](./letter-spacing.md) — customize character spacing - [Font Size](./font-size.md) — customize the typographic scale