|
2 | 2 | <html lang="en"> |
3 | 3 | <head> |
4 | 4 | <meta charset="utf-8" /> |
5 | | - <title>EasyType – Full Specimen (Sans, Focus, Dyslexic × Regular/Italic/Bold/Bold Italic)</title> |
| 5 | + <meta name="viewport" content="width=device-width, initial-scale=1" /> |
| 6 | + <title>EasyType – Full Specimen (EasyTypeSans, EasyTypeFocus, EasyTypeDyslexic × Regular/Italic/Bold/Bold Italic)</title> |
| 7 | + |
| 8 | + <link rel="stylesheet" href="css/easytype.css"> |
6 | 9 |
|
7 | 10 | <!-- |
8 | 11 | Usage: |
9 | | - 1) Put this HTML in the SAME folder as your generated fonts: |
10 | | - EasyTypeSans-Regular.ttf |
11 | | - EasyTypeSans-Italic.ttf |
12 | | - EasyTypeSans-Bold.ttf |
13 | | - EasyTypeSans-BoldItalic.ttf |
14 | | - EasyTypeFocus-Regular.ttf |
15 | | - EasyTypeFocus-Italic.ttf |
16 | | - EasyTypeFocus-Bold.ttf |
17 | | - EasyTypeFocus-BoldItalic.ttf |
18 | | - EasyTypeDyslexic-Regular.ttf |
19 | | - EasyTypeDyslexic-Italic.ttf |
20 | | - EasyTypeDyslexic-Bold.ttf |
21 | | - EasyTypeDyslexic-BoldItalic.ttf |
22 | | -
|
23 | | - 2) Open this file in a modern browser. |
| 12 | + 1) Ensure the generated fonts live in fonts/ttf and fonts/web, and that css/easytype.css points to them. |
| 13 | + 2) Open this file in a modern browser from the project root so the stylesheet is resolved. |
24 | 14 | --> |
25 | 15 |
|
26 | 16 | <style> |
27 | | - /* ---------- Font faces: 3 families × 4 styles ---------- */ |
28 | | - @font-face { font-family: "EasyType Sans"; src: url("out/EasyTypeSans-Regular.ttf?v=7") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; } |
29 | | - @font-face { font-family: "EasyType Sans"; src: url("out/EasyTypeSans-Italic.ttf?v=7") format("truetype"); font-weight: 400; font-style: italic; font-display: swap; } |
30 | | - @font-face { font-family: "EasyType Sans"; src: url("out/EasyTypeSans-Bold.ttf?v=7") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; } |
31 | | - @font-face { font-family: "EasyType Sans"; src: url("out/EasyTypeSans-BoldItalic.ttf?v=7") format("truetype"); font-weight: 700; font-style: italic; font-display: swap; } |
32 | | - |
33 | | - @font-face { font-family: "EasyType Focus"; src: url("out/EasyTypeFocus-Regular.ttf?v=7") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; } |
34 | | - @font-face { font-family: "EasyType Focus"; src: url("out/EasyTypeFocus-Italic.ttf?v=7") format("truetype"); font-weight: 400; font-style: italic; font-display: swap; } |
35 | | - @font-face { font-family: "EasyType Focus"; src: url("out/EasyTypeFocus-Bold.ttf?v=7") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; } |
36 | | - @font-face { font-family: "EasyType Focus"; src: url("out/EasyTypeFocus-BoldItalic.ttf?v=7") format("truetype"); font-weight: 700; font-style: italic; font-display: swap; } |
37 | | - |
38 | | - @font-face { font-family: "EasyType Dyslexic"; src: url("out/EasyTypeDyslexic-Regular.ttf?v=7") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; } |
39 | | - @font-face { font-family: "EasyType Dyslexic"; src: url("out/EasyTypeDyslexic-Italic.ttf?v=7") format("truetype"); font-weight: 400; font-style: italic; font-display: swap; } |
40 | | - @font-face { font-family: "EasyType Dyslexic"; src: url("out/EasyTypeDyslexic-Bold.ttf?v=7") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; } |
41 | | - @font-face { font-family: "EasyType Dyslexic"; src: url("out/EasyTypeDyslexic-BoldItalic.ttf?v=7") format("truetype"); font-weight: 700; font-style: italic; font-display: swap; } |
42 | | - |
43 | | - /* Base reference: Noto Sans */ |
| 17 | + /* Base reference: Noto Sans (for comparison blocks) */ |
44 | 18 | @font-face { font-family: "Noto Sans"; src: url("base_fonts/NotoSans-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; } |
45 | 19 | @font-face { font-family: "Noto Sans"; src: url("base_fonts/NotoSans-Italic.ttf") format("truetype"); font-weight: 400; font-style: italic; font-display: swap; } |
46 | 20 | @font-face { font-family: "Noto Sans"; src: url("base_fonts/NotoSans-Bold.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; } |
|
66 | 40 | margin:0; |
67 | 41 | color:var(--fg); |
68 | 42 | background:var(--bg); |
69 | | - font: 14px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "EasyType Sans", "Noto Sans", sans-serif; |
| 43 | + font: 15px/1.5 "EasyTypeSans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", sans-serif; |
70 | 44 | } |
71 | 45 |
|
72 | 46 | header{ |
73 | 47 | position:sticky; top:0; z-index:10; |
74 | 48 | background:var(--card); |
75 | 49 | border-bottom:1px solid var(--ring); |
76 | | - padding:16px; |
| 50 | + padding:14px; |
| 51 | + box-shadow:0 4px 12px rgba(0,0,0,0.04); |
| 52 | + } |
| 53 | + .row{ |
| 54 | + display:flex; |
| 55 | + flex-direction:column; |
| 56 | + gap:10px; |
| 57 | + align-items:flex-start; |
77 | 58 | } |
78 | | - .row{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; } |
| 59 | + .row.controls{ margin-top:10px; } |
79 | 60 | .row > *{ margin:0; } |
80 | | - label{ font-size:12px; color:var(--muted); } |
81 | | - input[type="range"]{ width:200px; } |
| 61 | + label{ |
| 62 | + font-size:12px; |
| 63 | + color:var(--muted); |
| 64 | + display:flex; |
| 65 | + flex-direction:column; |
| 66 | + gap:6px; |
| 67 | + width:100%; |
| 68 | + } |
| 69 | + input[type="range"]{ |
| 70 | + width:100%; |
| 71 | + min-height:32px; |
| 72 | + } |
82 | 73 | .chip{ |
83 | | - display:inline-block; padding:6px 10px; border:1px solid var(--ring); border-radius:999px; background:#fff; font-size:12px; color:#333; |
| 74 | + display:inline-flex; |
| 75 | + align-items:center; |
| 76 | + padding:6px 12px; |
| 77 | + border:1px solid var(--ring); |
| 78 | + border-radius:999px; |
| 79 | + background:#fff; |
| 80 | + font-size:12px; |
| 81 | + color:#333; |
84 | 82 | } |
85 | 83 |
|
86 | | - main{ padding:20px; max-width:1200px; margin:0 auto; } |
| 84 | + main{ |
| 85 | + padding:20px 16px 32px; |
| 86 | + max-width:1200px; |
| 87 | + margin:0 auto; |
| 88 | + } |
87 | 89 |
|
88 | 90 | .family{ |
89 | 91 | margin:24px 0 32px 0; |
90 | 92 | } |
91 | 93 | .family h2{ |
92 | | - margin:0 0 12px 0; font-size:22px; font-weight:700; |
| 94 | + margin:0 0 12px 0; |
| 95 | + font-size:clamp(1.4rem, 5vw, 2rem); |
| 96 | + font-weight:700; |
93 | 97 | } |
94 | 98 | .grid{ |
95 | 99 | display:grid; |
96 | | - grid-template-columns: repeat(2, minmax(320px, 1fr)); |
| 100 | + grid-template-columns:1fr; |
97 | 101 | gap:16px; |
98 | 102 | } |
99 | | - @media (min-width:1100px){ |
100 | | - .grid{ grid-template-columns: repeat(4, 1fr); } |
101 | | - } |
102 | 103 | .card{ |
103 | 104 | background:var(--card); |
104 | 105 | border:1px solid var(--ring); |
105 | | - border-radius:12px; |
106 | | - padding:14px; |
107 | | - box-shadow:0 1px 2px rgba(0,0,0,.03); |
| 106 | + border-radius:16px; |
| 107 | + padding:18px; |
| 108 | + box-shadow:0 6px 18px rgba(0,0,0,0.06); |
| 109 | + } |
| 110 | + @media (min-width:640px){ |
| 111 | + .row{ flex-direction:row; flex-wrap:wrap; align-items:center; } |
| 112 | + label{ width:auto; min-width:220px; } |
| 113 | + } |
| 114 | + @media (min-width:900px){ |
| 115 | + .grid{ grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); } |
| 116 | + } |
| 117 | + @media (min-width:1200px){ |
| 118 | + .grid{ grid-template-columns: repeat(4, 1fr); } |
| 119 | + header{ padding:18px 22px; } |
| 120 | + main{ padding:32px 24px 48px; } |
108 | 121 | } |
109 | 122 | .meta{ |
110 | 123 | display:flex; justify-content:space-between; align-items:center; |
|
132 | 145 | } |
133 | 146 |
|
134 | 147 | /* Font family classes */ |
135 | | - .of-sans{ font-family: "EasyType Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", sans-serif; } |
136 | | - .of-focus{ font-family: "EasyType Focus", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", sans-serif; } |
137 | | - .of-dys{ font-family: "EasyType Dyslexic", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", sans-serif; } |
| 148 | + .of-sans{ font-family: "EasyTypeSans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", sans-serif; } |
| 149 | + .of-focus{ font-family: "EasyTypeFocus", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", sans-serif; } |
| 150 | + .of-dys{ font-family: "EasyTypeDyslexic", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", sans-serif; } |
138 | 151 | .of-noto{ font-family: "Noto Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; } |
139 | 152 | </style> |
140 | 153 | </head> |
|
145 | 158 | <span class="chip">12 styles</span> |
146 | 159 | <span class="chip">Live controls</span> |
147 | 160 | </div> |
148 | | - <div class="row" style="margin-top:8px"> |
| 161 | + <div class="row controls"> |
149 | 162 | <label>Size |
150 | 163 | <input id="sz" type="range" min="12" max="28" step="1" value="16"> |
151 | 164 | <span id="szv" class="kbd">16 px</span> |
|
166 | 179 | </header> |
167 | 180 |
|
168 | 181 | <main> |
169 | | - <!-- FAMILY: EasyType Sans --> |
| 182 | + <!-- FAMILY: EasyTypeSans --> |
170 | 183 | <section class="family"> |
171 | | - <h2>EasyType Sans</h2> |
| 184 | + <h2>EasyTypeSans</h2> |
172 | 185 | <div class="grid of-sans"> |
173 | 186 | <!-- Regular --> |
174 | 187 | <div class="card"> |
@@ -228,9 +241,9 @@ <h2>EasyType Sans</h2> |
228 | 241 | </div> |
229 | 242 | </section> |
230 | 243 |
|
231 | | - <!-- FAMILY: EasyType Focus --> |
| 244 | + <!-- FAMILY: EasyTypeFocus --> |
232 | 245 | <section class="family"> |
233 | | - <h2>EasyType Focus</h2> |
| 246 | + <h2>EasyTypeFocus</h2> |
234 | 247 | <div class="grid of-focus"> |
235 | 248 | <!-- Regular --> |
236 | 249 | <div class="card"> |
@@ -290,9 +303,9 @@ <h2>EasyType Focus</h2> |
290 | 303 | </div> |
291 | 304 | </section> |
292 | 305 |
|
293 | | - <!-- FAMILY: EasyType Dyslexic --> |
| 306 | + <!-- FAMILY: EasyTypeDyslexic --> |
294 | 307 | <section class="family"> |
295 | | - <h2>EasyType Dyslexic</h2> |
| 308 | + <h2>EasyTypeDyslexic</h2> |
296 | 309 | <div class="grid of-dys"> |
297 | 310 | <!-- Regular --> |
298 | 311 | <div class="card"> |
|
0 commit comments