@nebutra/fonts 0.1.1 → 2.0.0

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.
@@ -0,0 +1,92 @@
1
+ This Font Software is licensed under the SIL Open Font License,
2
+ Version 1.1.
3
+
4
+ This license is copied below, and is also available with a FAQ at:
5
+ http://scripts.sil.org/OFL
6
+
7
+ -----------------------------------------------------------
8
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
9
+ -----------------------------------------------------------
10
+
11
+ PREAMBLE
12
+ The goals of the Open Font License (OFL) are to stimulate worldwide
13
+ development of collaborative font projects, to support the font
14
+ creation efforts of academic and linguistic communities, and to
15
+ provide a free and open framework in which fonts may be shared and
16
+ improved in partnership with others.
17
+
18
+ The OFL allows the licensed fonts to be used, studied, modified and
19
+ redistributed freely as long as they are not sold by themselves. The
20
+ fonts, including any derivative works, can be bundled, embedded,
21
+ redistributed and/or sold with any software provided that any reserved
22
+ names are not used by derivative works. The fonts and derivatives,
23
+ however, cannot be released under any other type of license. The
24
+ requirement for fonts to remain under this license does not apply to
25
+ any document created using the fonts or their derivatives.
26
+
27
+ DEFINITIONS
28
+ "Font Software" refers to the set of files released by the Copyright
29
+ Holder(s) under this license and clearly marked as such. This may
30
+ include source files, build scripts and documentation.
31
+
32
+ "Reserved Font Name" refers to any names specified as such after the
33
+ copyright statement(s).
34
+
35
+ "Original Version" refers to the collection of Font Software
36
+ components as distributed by the Copyright Holder(s).
37
+
38
+ "Modified Version" refers to any derivative made by adding to,
39
+ deleting, or substituting -- in part or in whole -- any of the
40
+ components of the Original Version, by changing formats or by porting
41
+ the Font Software to a new environment.
42
+
43
+ "Author" refers to any designer, engineer, programmer, technical
44
+ writer or other person who contributed to the Font Software.
45
+
46
+ PERMISSION & CONDITIONS
47
+ Permission is hereby granted, free of charge, to any person obtaining
48
+ a copy of the Font Software, to use, study, copy, merge, embed,
49
+ modify, redistribute, and sell modified and unmodified copies of the
50
+ Font Software, subject to the following conditions:
51
+
52
+ 1) Neither the Font Software nor any of its individual components, in
53
+ Original or Modified Versions, may be sold by itself.
54
+
55
+ 2) Original or Modified Versions of the Font Software may be bundled,
56
+ redistributed and/or sold with any software, provided that each copy
57
+ contains the above copyright notice and this license. These can be
58
+ included either as stand-alone text files, human-readable headers or
59
+ in the appropriate machine-readable metadata fields within text or
60
+ binary files as long as those fields can be easily viewed by the user.
61
+
62
+ 3) No Modified Version of the Font Software may use the Reserved Font
63
+ Name(s) unless explicit written permission is granted by the
64
+ corresponding Copyright Holder. This restriction only applies to the
65
+ primary font name as presented to the users.
66
+
67
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
68
+ Software shall not be used to promote, endorse or advertise any
69
+ Modified Version, except to acknowledge the contribution(s) of the
70
+ Copyright Holder(s) and the Author(s) or with their explicit written
71
+ permission.
72
+
73
+ 5) The Font Software, modified or unmodified, in part or in whole,
74
+ must be distributed entirely under this license, and must not be
75
+ distributed under any other license. The requirement for fonts to
76
+ remain under this license does not apply to any document created using
77
+ the Font Software.
78
+
79
+ TERMINATION
80
+ This license becomes null and void if any of the above conditions are
81
+ not met.
82
+
83
+ DISCLAIMER
84
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
85
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
86
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
87
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
88
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
89
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
90
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
91
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
92
+ OTHER DEALINGS IN THE FONT SOFTWARE.
@@ -1,27 +0,0 @@
1
- // src/next-cjk.ts
2
- import localFont from "next/font/local";
3
- var vivoSansCn = localFont({
4
- src: [
5
- { path: "../generated/vivo-sans-sc-400.woff2", weight: "400", style: "normal" },
6
- { path: "../generated/vivo-sans-sc-500.woff2", weight: "500", style: "normal" },
7
- { path: "../generated/vivo-sans-sc-600.woff2", weight: "600", style: "normal" },
8
- { path: "../generated/vivo-sans-sc-700.woff2", weight: "700", style: "normal" }
9
- ],
10
- declarations: [
11
- {
12
- prop: "unicode-range",
13
- value: "U+3000-303F, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF"
14
- }
15
- ],
16
- display: "swap",
17
- preload: false,
18
- adjustFontFallback: false,
19
- variable: "--font-vivo-sans-sc"
20
- });
21
- var cjkFontClassName = vivoSansCn.variable;
22
-
23
- export {
24
- vivoSansCn,
25
- cjkFontClassName
26
- };
27
- //# sourceMappingURL=chunk-MI5GQA6D.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/next-cjk.ts"],"sourcesContent":["/**\n * @nebutra/fonts/next/cjk — the self-hosted Simplified-Chinese face (server-only).\n *\n * WHY A SEPARATE ENTRY FROM `./next`: that module declares ~16 `next/font/google`\n * faces for the theme / DESIGN.md registry. Importing it just to get the CJK face\n * would drag those build-time Google downloads into every app — and this repo has\n * a known trap where `next/font/google` fails outright in a network-sandboxed dev\n * server. This file imports `next/font/local` ONLY: the woff2 files ship in the\n * package, so it works offline, in CI, and in the sandbox. `./next` re-exports it,\n * so an app already applying `fontRegistryClassName` still only needs one import.\n *\n * WHY SELF-HOSTED AT ALL: Geist has no CJK coverage, so without this every Chinese\n * character falls back to whatever the OS supplies — PingFang on macOS, Microsoft\n * YaHei on Windows, something else on Android. Chinese copy is a first-class\n * surface here (see docs/microcopy/), so the face is pinned rather than left to\n * the OS.\n *\n * The files are built by `pnpm --filter @nebutra/fonts subset:cjk`; the literal\n * `src` list below mirrors VIVO_SANS_CN_SOURCES in ../generated/index.ts (a drift\n * test in ./next-cjk.test.ts asserts they agree). It is spelled out rather than\n * spread because next/font is a compile-time transform — SWC statically analyses\n * this call, so the options object cannot be computed.\n *\n * FONT ATTRIBUTION (vivo Sans 字体知识产权许可协议 clause 2.1):\n * 您应在软件中特别注明使用了vivo Sans 字体 — this software uses the vivo Sans\n * typeface. See ../vendor/vivo-sans/LICENCE-vivo-Sans.txt and the package README.\n */\n\nimport localFont from \"next/font/local\";\n\n/**\n * vivo Sans SC — 400 / 500 / 600 / 700 static subsets.\n *\n * - `preload: false` on purpose. Each weight is ~490 KB; preloading them on every\n * route would tax Latin-only pages for nothing. The browser fetches a weight\n * only when a glyph in the `unicode-range` below actually renders.\n * - `declarations` carries that `unicode-range` (CJK blocks only — no ASCII, no\n * Latin, no general punctuation), so a Latin-only page can never trigger a CJK\n * download even if a font stack somewhere is written the wrong way round. Curly\n * quotes, the em dash and the ellipsis are deliberately left to Geist: they are\n * the codepoints Latin and Chinese copy share.\n * - `adjustFontFallback: false` — next/font's metric-matched fallback is derived\n * from Arial, which is meaningless for a Han face and would add a size-adjusted\n * ghost face into the same family.\n * - 700 is a real Bold subset (not synthetic). Without it, CSS weight matching\n * collapses 700 → 600 and the mixed-script ladder flattens against Geist.\n * `font-synthesis: none` still forbids faux bold for any weight we do not ship.\n */\nexport const vivoSansCn = localFont({\n src: [\n { path: \"../generated/vivo-sans-sc-400.woff2\", weight: \"400\", style: \"normal\" },\n { path: \"../generated/vivo-sans-sc-500.woff2\", weight: \"500\", style: \"normal\" },\n { path: \"../generated/vivo-sans-sc-600.woff2\", weight: \"600\", style: \"normal\" },\n { path: \"../generated/vivo-sans-sc-700.woff2\", weight: \"700\", style: \"normal\" },\n ],\n declarations: [\n {\n prop: \"unicode-range\",\n value: \"U+3000-303F, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF\",\n },\n ],\n display: \"swap\",\n preload: false,\n adjustFontFallback: false,\n variable: \"--font-vivo-sans-sc\",\n});\n\n/**\n * Apply to <html> next to the Geist loaders so `--font-vivo-sans-sc` exists:\n *\n * className={`${GeistSans.variable} ${GeistMono.variable} ${cjkFontClassName}`}\n *\n * The token stacks (`--font-sans` / `--font-cn` / `--font-display` in\n * @nebutra/tokens) reference the variable AFTER Geist, so Geist keeps Latin and\n * the numerals and only CJK falls through to this face.\n */\nexport const cjkFontClassName = vivoSansCn.variable;\n"],"mappings":";AA4BA,OAAO,eAAe;AAoBf,IAAM,aAAa,UAAU;AAAA,EAClC,KAAK;AAAA,IACH,EAAE,MAAM,uCAAuC,QAAQ,OAAO,OAAO,SAAS;AAAA,IAC9E,EAAE,MAAM,uCAAuC,QAAQ,OAAO,OAAO,SAAS;AAAA,IAC9E,EAAE,MAAM,uCAAuC,QAAQ,OAAO,OAAO,SAAS;AAAA,IAC9E,EAAE,MAAM,uCAAuC,QAAQ,OAAO,OAAO,SAAS;AAAA,EAChF;AAAA,EACA,cAAc;AAAA,IACZ;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,SAAS;AAAA,EACT,SAAS;AAAA,EACT,oBAAoB;AAAA,EACpB,UAAU;AACZ,CAAC;AAWM,IAAM,mBAAmB,WAAW;","names":[]}
@@ -1,55 +0,0 @@
1
- /*
2
- * vivo-sans-cn.css — GENERATED FILE, DO NOT EDIT.
3
- * Written by packages/design/fonts/scripts/subset-cjk.mjs (`pnpm --filter
4
- * @nebutra/fonts subset:cjk`). Re-run it after adding Chinese copy; the
5
- * character set is collected from the repo's zh* message catalogs by glob.
6
- *
7
- * 4282 characters per face. Source: vivo Sans SC (static Brand faces),
8
- * licensed — see vendor/vivo-sans/LICENCE-vivo-Sans.txt. Per clause 2.1 of that
9
- * agreement: 您应在软件中特别注明使用了vivo Sans 字体 / this software uses the
10
- * vivo Sans typeface.
11
- *
12
- * STACK ORDER: use "Geist, vivo Sans SC, …" — Geist first so it keeps Latin and
13
- * the numerals (tabular figures, tighter x-height), with CJK falling through to
14
- * vivo Sans SC. The unicode-range below contains no Latin, ASCII or general
15
- * punctuation, so Latin-only text never downloads a CJK file.
16
- *
17
- * font-display: swap — the fallback (PingFang / YaHei) paints immediately and is
18
- * replaced when the subset arrives; CJK text must never be invisible.
19
- */
20
-
21
- @font-face {
22
- font-family: "vivo Sans SC";
23
- font-style: normal;
24
- font-weight: 400;
25
- font-display: swap;
26
- src: url("./vivo-sans-sc-400.woff2") format("woff2");
27
- unicode-range: U+3000-303F, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF;
28
- }
29
-
30
- @font-face {
31
- font-family: "vivo Sans SC";
32
- font-style: normal;
33
- font-weight: 500;
34
- font-display: swap;
35
- src: url("./vivo-sans-sc-500.woff2") format("woff2");
36
- unicode-range: U+3000-303F, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF;
37
- }
38
-
39
- @font-face {
40
- font-family: "vivo Sans SC";
41
- font-style: normal;
42
- font-weight: 600;
43
- font-display: swap;
44
- src: url("./vivo-sans-sc-600.woff2") format("woff2");
45
- unicode-range: U+3000-303F, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF;
46
- }
47
-
48
- @font-face {
49
- font-family: "vivo Sans SC";
50
- font-style: normal;
51
- font-weight: 700;
52
- font-display: swap;
53
- src: url("./vivo-sans-sc-700.woff2") format("woff2");
54
- unicode-range: U+3000-303F, U+3400-4DBF, U+4E00-9FFF, U+F900-FAFF, U+FE30-FE4F, U+FF00-FFEF;
55
- }
Binary file
Binary file
Binary file
Binary file
@@ -1,37 +0,0 @@
1
- vivo Sans字体知识产权许可协议
2
-  
3
- 本《vivo Sans字体知识产权许可协议》(以下简称“协议”)是您与维沃移动通信有限公司(以下简称“vivo”或“许可⽅”)之间有关安装、使⽤vivo Sans字体(以下简称“vivo Sans”或“vivo Sans字体”)的法律协议。您在使⽤vivo Sans字体的所有或任何部分前,应接受本协议中规定的所有条款和条件。安装、使⽤vivo Sans主体的⾏为表示您同意接受本协议所有条款的约束。否则,请不要安装和/或使⽤vivo Sans字体,并应⽴即销毁和删除所有 vivo Sans字体包。
4
-  
5
- 1.定义
6
- 1.1 “vivo Sans字体”代表许可⽅在本协议项下提供并明确标记为“vivo Sans”的字体软件,包括但不限于以各种形式、格式及媒介存在的源代码、数据库、⽂档等。
7
- 1.2 “⽤户”或“您”代表⾏使本协议授予许可的⾃然⼈、法⼈或⾮法⼈组织。⽤户应依照本协议安装、使⽤vivo Sans字体。
8
- 1.3 “使⽤”是指安装、下载、复制、展览或以其他⽅式通过利⽤vivo Sans字体⽽获益的⾏为。
9
-  
10
- 2.授权许可
11
- 根据本协议的条款和条件,许可⽅在此授予您⼀份不可转让的、⾮独占的、免版税的、可撤销的、全球性的版权许可,使您依照本协议约定使⽤vivo Sans字体,前提是符合下列条件:
12
- 2.1您应在软件中特别注明使⽤了vivo Sans 字体。
13
- 2.2您不得对vivo Sans字体或其任何单独组件进⾏改编或⼆次开发。
14
- 2.3您不得单独将vivo Sans字体或其组件对外租赁、再许可、给予、出借或进⼀步分发字体软件或其任何副本以及重新分发或售卖。此限制不适⽤于您使⽤vivo Sans字体创作的任何其他作品。如您使⽤vivo Sans字体创作宣传素材、logo、应⽤App等,您有权分发或出售该作品。
15
- 2.4您应在vivo Sans字体的任何副本中保留版权声明和本协议。
16
- 2.5不可将vivo Sans字体⽤于任何违法⽤途。
17
-  
18
- 3.知识产权
19
- vivo Sans字体软件及其所包含的字体以及vivo授权您制作的任何副本均为vivo的知识产品,本字库软件的结构、组织和代码以及与本字库软件相关的所有信息均为vivo的商业秘密。本字库软件及其所包含的字体受《中华⼈⺠共和国著作权法》、《计算机软件保护条例》和其他知识产权法律法规及国际公约、条约的保护。除本协议中明确的许可,vivo不授予您对vivo Sans字体相关的其他知识产权权利。
20
-  
21
- 4.免责声明
22
- 4.1 vivo Sans是按“原样”提供的。许可⽅不对本协议作出任何明示、暗示或依照相关法律规定的担保,包括但不限于对适销性、所有权、就某⼀⽤途的适⽤性或不侵犯版权、专利、商标或其他权利的保证。
23
- 4.2 在任何情况下,许可⽅及其关联公司均不对任何直接、间接、特殊、附带或间接的损害(包括但不限于购买替代商品或服务)负责。⽆论根据合同理论、侵权⾏为(包括过失)理论、严格责任理论或其他法律理论,因使⽤或⽆法使⽤ vivo Sans字体,即使许可⽅及其关联公司已被告知存在这种损害的可能性,⽽导致的任何⽅式的业务中断,使⽤数据或利润的损失,许可⽅及其关联公司不承担任何责任。
24
- 4.3 您需明确承担使⽤ vivo Sans字体的所有责任和⻛险。如果⽆法证明vivo Sans字体有任何缺陷,您将承担所有必要的服务、修复或纠正的全部费⽤。
25
-  
26
- 5.许可终⽌
27
- ⼀旦您违反本协议的相关条款,vivo随时有权终⽌本协议、收回授权,并要求您承担相应法律责任。
28
-  
29
- 6.适⽤法律与管辖
30
- 本协议适⽤中华⼈⺠共和国的法律。如您与vivo就本协议的相关问题发⽣争议,您与vivo均有权向广东省东莞市第二人民法院提起诉讼。
31
-  
32
- 7.⼀般规定
33
- 7.1 本协议是vivo与您之间有关vivo Sans软件及其所包含的字体的最新许可协议,它将取代先前所有与本字库软件相关的陈述、承诺、宣传或许可协议。
34
- 7.2 如果您对本协议有任何疑问或者希望获得有关字体授权许可的任何信息,请通过如下⽅式与vivo联系:
35
- 维沃移动通信有限公司
36
- 地址:广东省东莞市长安镇维沃路1号
37
- 邮箱:vivo@vivo.com.cn