@ptlm-azulejo/fonts-adeo 0.1.0-alpha.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +58 -0
  2. package/index.css +1 -0
  3. package/package.json +17 -0
package/README.md ADDED
@@ -0,0 +1,58 @@
1
+ # @ptlm-azulejo/fonts-adeo
2
+
3
+ Roboto — the **`.preset-adeo`** typeface of
4
+ [`@ptlm-azulejo/themes`](../themes/README.md) — loaded from the **Google Fonts
5
+ CDN**.
6
+
7
+ The theme names the typeface in `--font-family` but ships no `@font-face`, same
8
+ contract as upstream Mozaic. This package is that job, packaged.
9
+
10
+ ## Installation
11
+
12
+ ```bash
13
+ yarn add @ptlm-azulejo/fonts-adeo
14
+ ```
15
+
16
+ ## Usage
17
+
18
+ ```js
19
+ import '@ptlm-azulejo/themes/presets/adeo.css'
20
+ import '@ptlm-azulejo/fonts-adeo'
21
+ ```
22
+
23
+ ## What you get
24
+
25
+ | Style | Weights |
26
+ |---|---|
27
+ | Roman | 400–700 |
28
+ | Italic | 400–700 |
29
+
30
+ Continuous ranges, not fixed steps — Roboto is a variable font, so any weight in
31
+ between is real rather than synthesized. This matches the 400–700 range
32
+ [`@ptlm-azulejo/fonts-leroy-merlin`](../FontsLeroyMerlin/README.md) covers with
33
+ static cuts, so both brands support the same weights.
34
+
35
+ ## Cost
36
+
37
+ A Portuguese/English/French page downloads **one 42 KB file**, plus a 46 KB
38
+ italic file only if it renders italic text.
39
+
40
+ Every `@font-face` Google returns carries a `unicode-range`, so only the `latin`
41
+ subset loads — it spans `U+0000-00FF` plus `U+0152-0153`, covering every accent
42
+ those three languages use, including the French `Œ/œ`. `latin-ext`, Cyrillic and
43
+ Greek never load.
44
+
45
+ The request asks for a range rather than a list of weights. Both cost the same —
46
+ Google answers any multi-weight request with the same single variable file — but
47
+ a discrete list pins each face to one weight, so a token asking for an undeclared
48
+ value would snap to the nearest one instead of interpolating.
49
+
50
+ ## Why Roboto is not vendored here
51
+
52
+ Unlike LeroyMerlinSans, Roboto is a **catalogued OFL-1.1** font — `Copyright 2011
53
+ The Roboto Project Authors`, licence at
54
+ [openfontlicense.org](https://openfontlicense.org) — and Google serves every cut
55
+ we need. Loading it from the CDN keeps this package a single `@import` instead of
56
+ shipping binaries — and since a CDN face is fetched only when matching text is on
57
+ the page, italics cost nothing here, where on the Leroy Merlin side they are two
58
+ more binaries in every install and so sit behind an opt-in import.
package/index.css ADDED
@@ -0,0 +1 @@
1
+ @import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400..700;1,400..700&display=swap");
package/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@ptlm-azulejo/fonts-adeo",
3
+ "version": "0.1.0-alpha.100",
4
+ "description": "Roboto web font for the .preset-adeo brand of @ptlm-azulejo/themes, loaded from the Google Fonts CDN.",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": "./index.css",
8
+ "./index.css": "./index.css"
9
+ },
10
+ "publishConfig": {
11
+ "access": "public",
12
+ "registry": "https://registry.npmjs.org"
13
+ },
14
+ "files": [
15
+ "*.css"
16
+ ]
17
+ }