-
Notifications
You must be signed in to change notification settings - Fork 5
/
fonts.ts
36 lines (31 loc) · 1.16 KB
/
fonts.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
const baseFontSizeUnit = 18;
const baseLineHeightUnit = 26;
/**
* Should do the same as: https://github.com/inuitcss/inuitcss/blob/c14029caf75b7b69d7551a5e22036ec280b02e9f/tools/_tools.font-size.scss
*/
function sizes(fontSize: string | number, lineHeight?: string | number) {
const fontSizeUnit = parseInt(fontSize as string, 10);
const fontSizeRem = parseInt(fontSize as string, 10) / baseFontSizeUnit;
const fontSizeStyling = `font-size: ${fontSize};font-size: ${fontSizeRem}rem;`;
if (lineHeight) {
return `${fontSizeStyling} line-height: ${lineHeight}`;
}
const defaultLineHeight =
Math.ceil(fontSizeUnit / baseLineHeightUnit) *
(baseLineHeightUnit / fontSizeUnit);
return `${fontSizeStyling} line-height: ${defaultLineHeight}`;
}
const fonts = {
sans:
"'Source Sans Pro',Helvetica,Arial,STKaiti,'华文楷体',KaiTi,SimKai,'楷体',KaiU,DFKai-SB,'標楷體',SongTi,'宋体',sans-serif",
serif:
"'Source Serif Pro',Times,STKaiti,'华文楷体',KaiTi,SimKai,'楷体',KaiU,DFKai-SB,'標楷體',SongTi,'宋体',serif",
weight: {
light: 300,
normal: 400,
semibold: 600,
bold: 700,
},
sizes,
};
export default fonts;