Typeface for rendering small/medium-scale line charts (eg. time series).
Demo • Google fonts • V-fonts • Test
Put Linefont[wdth,wght].woff2 into your project directory and use this code:
<style>
@font-face {
font-family: linefont;
font-display: block;
src: url(./Linefont[wdth,wght].woff2) format('woff2');
}
.linefont {
--wght: 200;
--wdth: 50;
font-family: linefont;
font-variation-settings: 'wght' var(--wght), 'wdth' var(--wdth);
line-height: 1.4; /* match selection, optional */
}
</style>
<!-- Set values manually -->
<textarea id="linefont" class="linefont" cols="100">
abcdefghijklmnopqrstuvwwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
</textarea>
<script>
// Set values programmatically (more precise)
linefont.textContent = Array.from({length: 127}, (_,i) => String.fromCharCode(0x100 + i)).join('')
</script>
Linefont values span from 0 to 100, assigned to different characters:
| Tag | Range | Meaning |
|---|---|---|
wght |
4-1000 | Line thickness (quarter upms, linear), default 100. |
wdth |
25-200 | Width of the font (ie. zoom of the signal), default 100. |
wdth=100, preserving visual coherency.- are selectable by double click., \t` etc.Linefont npm package contains the font and a js function that produces font string from values.
import lf, { char } from 'linefont'
// characters for values from 0..127 range (clamped & rounded)
lf(0, 1, 50, 99, 127) // 'ĀāIJţſ'
// arrays or typed arrays of any length
lf(new Float32Array([0, 64, 127])) // 'Āŀſ'
Types included.
make build
rlig) enabled for it to be properly rendered. Some environments (eg. MS Word) may not have it enabled by default, in this case enable “All Ligatures” in advance font parameters.