Improve font family and emoji (#13241)
* Improve font family and emoji (#45) fix https://github.com/siyuan-note/siyuan/issues/13213 https://github.com/siyuan-note/siyuan/issues/13187 * 补充字体 LICENSE * 去除新增的变量 * 优先使用自定义字体的数字字形;更新 --b3-font-family-emoji * 代码中的数字字形应使用 JetBrainsMono-Regular
This commit is contained in:
parent
352ff0676e
commit
3d3def6ea2
7 changed files with 170 additions and 13 deletions
|
@ -23,11 +23,12 @@
|
|||
|
||||
/* 字体 */
|
||||
/* Windows 斜体遮挡添加 "Segoe UI" 字体 https://github.com/siyuan-note/siyuan/issues/11841 */
|
||||
--b3-font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Segoe UI", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
|
||||
/* DejaVu Sans 包含部分黑白 emoji 字形,会覆盖其他 emoji 字体的相应字形,所以emoji字体要放前面 https://github.com/siyuan-note/siyuan/issues/13213 */
|
||||
--b3-font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans", "Segoe UI", "Tahoma", "Arial", "Other Emojis", sans-serif;
|
||||
--b3-font-family-protyle: var(--b3-font-family);
|
||||
--b3-font-family-code: "JetBrainsMono-Regular", mononoki, Consolas, "Liberation Mono", Menlo, Courier, monospace, var(--b3-font-family);
|
||||
--b3-font-family-code: "Number Glyphs Of JetBrainsMono-Regular", "Segoe Good Emoji", "Other SiYuan Emojis", "JetBrainsMono-Regular", mononoki, Consolas, "Liberation Mono", Menlo, Courier, monospace, var(--b3-font-family);
|
||||
--b3-font-family-graph: arial;
|
||||
--b3-font-family-emoji: "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji";
|
||||
--b3-font-family-emoji: "Segoe Good Emoji", "Other Emojis";
|
||||
--b3-font-family-math: KaTeX_Math;
|
||||
--b3-font-size: 14px;
|
||||
|
||||
|
@ -201,8 +202,14 @@
|
|||
--b3-parent-background: var(--b3-theme-background);
|
||||
}
|
||||
|
||||
:lang(ja_JP):root {
|
||||
--b3-font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans", "Yu Gothic UI", "Segoe UI", sans-serif, "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
|
||||
:root:lang(zh_CN) { /* Simplified Chinese */
|
||||
--b3-font-family: "Helvetica Neue", "PingFang SC", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Segoe UI", "Source Han Sans SC", "Microsoft Yahei", "Tahoma", "Arial", "Other Emojis", sans-serif;
|
||||
}
|
||||
:root:lang(zh_CHT) { /* Traditional Chinese */
|
||||
--b3-font-family: "Helvetica Neue", "PingFang TC", "Luxi Sans", "DejaVu Sans", "Hiragino Sans TC", "Segoe UI", "Source Han Sans TC", "Microsoft JhengHei", "Tahoma", "Arial", "Other Emojis", sans-serif;
|
||||
}
|
||||
:root:lang(ja_JP) { /* Japanese */
|
||||
--b3-font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans", "Yu Gothic UI", "Segoe UI Symbol", "Segoe UI", "Tahoma", "Arial", "Other Emojis", sans-serif;
|
||||
}
|
||||
|
||||
/* https://github.com/siyuan-note/siyuan/issues/6440 */
|
||||
|
|
|
@ -22,11 +22,11 @@
|
|||
--b3-theme-on-error: #fff;
|
||||
|
||||
/* 字体 */
|
||||
--b3-font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Segoe UI", "Microsoft Yahei", sans-serif, "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
|
||||
--b3-font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans", "Segoe UI", "Tahoma", "Arial", "Other Emojis", sans-serif;
|
||||
--b3-font-family-protyle: var(--b3-font-family);
|
||||
--b3-font-family-code: "JetBrainsMono-Regular", mononoki, Consolas, "Liberation Mono", Menlo, Courier, monospace, var(--b3-font-family);
|
||||
--b3-font-family-code: "Number Glyphs Of JetBrainsMono-Regular", "Segoe Good Emoji", "Other SiYuan Emojis", "JetBrainsMono-Regular", mononoki, Consolas, "Liberation Mono", Menlo, Courier, monospace, var(--b3-font-family);
|
||||
--b3-font-family-graph: arial;
|
||||
--b3-font-family-emoji: "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji";
|
||||
--b3-font-family-emoji: "Segoe Good Emoji", "Other Emojis";
|
||||
--b3-font-family-math: KaTeX_Math;
|
||||
--b3-font-size: 14px;
|
||||
|
||||
|
@ -200,8 +200,14 @@
|
|||
--b3-parent-background: var(--b3-theme-background);
|
||||
}
|
||||
|
||||
:lang(ja_JP):root {
|
||||
--b3-font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans", "Yu Gothic UI", "Segoe UI", sans-serif, "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols";
|
||||
:root:lang(zh_CN) { /* Simplified Chinese */
|
||||
--b3-font-family: "Helvetica Neue", "PingFang SC", "Luxi Sans", "DejaVu Sans", "Hiragino Sans GB", "Segoe UI", "Source Han Sans SC", "Microsoft Yahei", "Tahoma", "Arial", "Other Emojis", sans-serif;
|
||||
}
|
||||
:root:lang(zh_CHT) { /* Traditional Chinese */
|
||||
--b3-font-family: "Helvetica Neue", "PingFang TC", "Luxi Sans", "DejaVu Sans", "Hiragino Sans TC", "Segoe UI", "Source Han Sans TC", "Microsoft JhengHei", "Tahoma", "Arial", "Other Emojis", sans-serif;
|
||||
}
|
||||
:root:lang(ja_JP) { /* Japanese */
|
||||
--b3-font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", "Hiragino Sans", "Yu Gothic UI", "Segoe UI Symbol", "Segoe UI", "Tahoma", "Arial", "Other Emojis", sans-serif;
|
||||
}
|
||||
|
||||
/* https://github.com/siyuan-note/siyuan/issues/6440 */
|
||||
|
|
92
app/src/assets/fonts/Noto-COLRv1-2.047/LICENSE
Normal file
92
app/src/assets/fonts/Noto-COLRv1-2.047/LICENSE
Normal file
|
@ -0,0 +1,92 @@
|
|||
This Font Software is licensed under the SIL Open Font License,
|
||||
Version 1.1.
|
||||
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font
|
||||
creation efforts of academic and linguistic communities, and to
|
||||
provide a free and open framework in which fonts may be shared and
|
||||
improved in partnership with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply to
|
||||
any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software
|
||||
components as distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to,
|
||||
deleting, or substituting -- in part or in whole -- any of the
|
||||
components of the Original Version, by changing formats or by porting
|
||||
the Font Software to a new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed,
|
||||
modify, redistribute, and sell modified and unmodified copies of the
|
||||
Font Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components, in
|
||||
Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the
|
||||
corresponding Copyright Holder. This restriction only applies to the
|
||||
primary font name as presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created using
|
||||
the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
BIN
app/src/assets/fonts/Noto-COLRv1-2.047/Noto-COLRv1.woff2
Normal file
BIN
app/src/assets/fonts/Noto-COLRv1-2.047/Noto-COLRv1.woff2
Normal file
Binary file not shown.
|
@ -2,13 +2,65 @@
|
|||
font-family: 'JetBrainsMono-Regular';
|
||||
src: url(../fonts/JetBrainsMono-2.304/JetBrainsMono-Regular.woff2) format('woff2');
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Number Glyphs Of JetBrainsMono-Regular";
|
||||
src: url(../fonts/JetBrainsMono-2.304/JetBrainsMono-Regular.woff2) format('woff2');
|
||||
/* 数字 0-9 */
|
||||
unicode-range: U+30-39;
|
||||
}
|
||||
/* 用户指定了字体时才添加 */
|
||||
@font-face {
|
||||
font-family: "Number Glyphs Of Custom Font";
|
||||
src: local("/* 用户设置的编辑器字体 */");
|
||||
/* 数字 0-9 */
|
||||
unicode-range: U+30-39;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Number Glyphs";
|
||||
src: local("Helvetica Neue"),
|
||||
local("Luxi Sans"),
|
||||
local("DejaVu Sans"),
|
||||
local("Hiragino Sans GB"),
|
||||
local("Segoe UI"),
|
||||
local("Microsoft Yahei"),
|
||||
local("sans-serif");
|
||||
/* 数字 0-9 */
|
||||
unicode-range: U+30-39;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Segoe Good Emoji";
|
||||
src: local("Segoe UI Emoji"),
|
||||
local("Segoe UI Symbol");
|
||||
/* SiYuan表情选择器中包含的emoji(去除区域指示符字母和国旗)对应的Unicode */
|
||||
unicode-range: U+23, U+2A, U+30-39, U+A9, U+AE, U+200D, U+203C, U+2049, U+20E3, U+2122, U+2139, U+2194-2199, U+21A9-21AA, U+231A-231B, U+2328, U+23CF, U+23E9-23F3, U+23F8-23FA, U+24C2, U+25AA-25AB, U+25B6, U+25C0, U+25FB-25FE, U+2600-2604, U+260E, U+2611, U+2614-2615, U+2618, U+261D, U+2620, U+2622-2623, U+2626, U+262A, U+262E-262F, U+2638-263A, U+2640, U+2642, U+2648-2653, U+265F-2660, U+2663, U+2665-2666, U+2668, U+267B, U+267E-267F, U+2692-2697, U+2699, U+269B-269C, U+26A0-26A1, U+26A7, U+26AA-26AB, U+26B0-26B1, U+26BD-26BE, U+26C4-26C5, U+26C8, U+26CE-26CF, U+26D1, U+26D3-26D4, U+26E9-26EA, U+26F0-26F5, U+26F7-26FA, U+26FD, U+2702, U+2705, U+2708-270D, U+270F, U+2712, U+2714, U+2716, U+271D, U+2721, U+2728, U+2733-2734, U+2744, U+2747, U+274C, U+274E, U+2753-2755, U+2757, U+2763-2764, U+2795-2797, U+27A1, U+27B0, U+27BF, U+2934-2935, U+2B05-2B07, U+2B1B-2B1C, U+2B50, U+2B55, U+3030, U+303D, U+3297, U+3299, U+E50A, U+FE0F, U+1F004, U+1F0CF, U+1F170-1F171, U+1F17E-1F17F, U+1F18E, U+1F191-1F19A, U+1F201-1F202, U+1F21A, U+1F22F, U+1F232-1F23A, U+1F250-1F251, U+1F300-1F321, U+1F324-1F393, U+1F396-1F397, U+1F399-1F39B, U+1F39E-1F3F0, U+1F3F3-1F3F5, U+1F3F7-1F4FD, U+1F4FF-1F53D, U+1F549-1F54E, U+1F550-1F567, U+1F56F-1F570, U+1F573-1F57A, U+1F587, U+1F58A-1F58D, U+1F590, U+1F595-1F596, U+1F5A4-1F5A5, U+1F5A8, U+1F5B1-1F5B2, U+1F5BC, U+1F5C2-1F5C4, U+1F5D1-1F5D3, U+1F5DC-1F5DE, U+1F5E1, U+1F5E3, U+1F5E8, U+1F5EF, U+1F5F3, U+1F5FA-1F64F, U+1F680-1F6C5, U+1F6CB-1F6D2, U+1F6D5-1F6D7, U+1F6DC-1F6E5, U+1F6E9, U+1F6EB-1F6EC, U+1F6F0, U+1F6F3-1F6FC, U+1F7E0-1F7EB, U+1F7F0, U+1F90C-1F93A, U+1F93C-1F945, U+1F947-1F9FF, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Other SiYuan Emojis";
|
||||
src: local("Apple Color Emoji"),
|
||||
local("Twemoji Mozilla"),
|
||||
local("Noto Color Emoji"),
|
||||
local("Android Emoji"),
|
||||
local("EmojiSymbols"),
|
||||
url(../fonts/Noto-COLRv1-2.047/Noto-COLRv1.woff2) format("woff2");
|
||||
/* SiYuan表情选择器中包含的emoji对应的Unicode */
|
||||
unicode-range: U+23, U+2A, U+30-39, U+A9, U+AE, U+200D, U+203C, U+2049, U+2122, U+2139, U+2194-2199, U+21A9-21AA, U+231A-231B, U+2328, U+23CF, U+23E9-23F3, U+23F8-23FA, U+24C2, U+25AA-25AB, U+25B6, U+25C0, U+25FB-25FE, U+2600-2604, U+260E, U+2611, U+2614-2615, U+2618, U+261D, U+2620, U+2622-2623, U+2626, U+262A, U+262E-262F, U+2638-263A, U+2640, U+2642, U+2648-2653, U+265F-2660, U+2663, U+2665-2666, U+2668, U+267B, U+267E-267F, U+2692-2697, U+2699, U+269B-269C, U+26A0-26A1, U+26A7, U+26AA-26AB, U+26B0-26B1, U+26BD-26BE, U+26C4-26C5, U+26C8, U+26CE-26CF, U+26D1, U+26D3-26D4, U+26E9-26EA, U+26F0-26F5, U+26F7-26FA, U+26FD, U+2702, U+2705, U+2708-270D, U+270F, U+2712, U+2714, U+2716, U+271D, U+2721, U+2728, U+2733-2734, U+2744, U+2747, U+274C, U+274E, U+2753-2755, U+2757, U+2763-2764, U+2795-2797, U+27A1, U+27B0, U+27BF, U+2934-2935, U+2B05-2B07, U+2B1B-2B1C, U+2B50, U+2B55, U+3030, U+303D, U+3297, U+3299, U+E50A, U+1F004, U+1F0CF, U+1F170-1F171, U+1F17E-1F17F, U+1F18E, U+1F191-1F19A, U+1F1E6-1F1FF, U+1F201-1F202, U+1F21A, U+1F22F, U+1F232-1F23A, U+1F250-1F251, U+1F300-1F321, U+1F324-1F393, U+1F396-1F397, U+1F399-1F39B, U+1F39E-1F3F0, U+1F3F3-1F3F5, U+1F3F7-1F4FD, U+1F4FF-1F53D, U+1F549-1F54E, U+1F550-1F567, U+1F56F-1F570, U+1F573-1F57A, U+1F587, U+1F58A-1F58D, U+1F590, U+1F595-1F596, U+1F5A4-1F5A5, U+1F5A8, U+1F5B1-1F5B2, U+1F5BC, U+1F5C2-1F5C4, U+1F5D1-1F5D3, U+1F5DC-1F5DE, U+1F5E1, U+1F5E3, U+1F5E8, U+1F5EF, U+1F5F3, U+1F5FA-1F64F, U+1F680-1F6C5, U+1F6CB-1F6D2, U+1F6D5-1F6D7, U+1F6DC-1F6E5, U+1F6E9, U+1F6EB-1F6EC, U+1F6F0, U+1F6F3-1F6FC, U+1F7E0-1F7EB, U+1F7F0, U+1F90C-1F93A, U+1F93C-1F945, U+1F947-1F9FF, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Other Emojis";
|
||||
src: local("Apple Color Emoji"),
|
||||
local("Twemoji Mozilla"),
|
||||
local("Noto Color Emoji"),
|
||||
local("Android Emoji"),
|
||||
local("EmojiSymbols"),
|
||||
url(../fonts/Noto-COLRv1-2.047/Noto-COLRv1.woff2) format("woff2");
|
||||
}
|
||||
|
||||
.b3-typography,
|
||||
.protyle-wysiwyg {
|
||||
font-variant-ligatures: no-common-ligatures;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
font-family: var(--b3-font-family-protyle);
|
||||
font-family: "Number Glyphs Of Custom Font", "Number Glyphs", "Segoe Good Emoji", "Other SiYuan Emojis", var(--b3-font-family-protyle);
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
|
|
|
@ -344,7 +344,7 @@
|
|||
margin: 34px 16px 0 24px;
|
||||
position: relative;
|
||||
font-size: 16px;
|
||||
font-family: var(--b3-font-family-protyle);
|
||||
font-family: "Number Glyphs Of Custom Font", "Number Glyphs", "Segoe Good Emoji", "Other SiYuan Emojis", var(--b3-font-family-protyle);
|
||||
padding-left: 2px;
|
||||
border-radius: var(--b3-border-radius);
|
||||
|
||||
|
|
|
@ -219,7 +219,7 @@ export const setInlineStyle = (set = true) => {
|
|||
.protyle-wysiwyg .li {min-height:${height + 8}px}
|
||||
.protyle-gutters button svg {height:${height}px}`;
|
||||
if (window.siyuan.config.editor.fontFamily) {
|
||||
style += `\n.b3-typography:not(.b3-typography--default), .protyle-wysiwyg, .protyle-title {font-family: "${window.siyuan.config.editor.fontFamily}", var(--b3-font-family-protyle)}`;
|
||||
style += `\n.b3-typography:not(.b3-typography--default), .protyle-wysiwyg, .protyle-title {font-family: "Number Glyphs Of Custom Font", "Number Glyphs", "Segoe Good Emoji", "Other SiYuan Emojis", "${window.siyuan.config.editor.fontFamily}", var(--b3-font-family-protyle)}`;
|
||||
}
|
||||
// pad 端菜单移除显示,如工作空间
|
||||
if ("ontouchend" in document) {
|
||||
|
|
Loading…
Add table
Reference in a new issue