Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@zozovo
Last active September 8, 2023 18:22
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save zozovo/8a76915acf197a873304dd23f2cfd49c to your computer and use it in GitHub Desktop.
Save zozovo/8a76915acf197a873304dd23f2cfd49c to your computer and use it in GitHub Desktop.
Substitute fonts with Sarasa Gothic CJK and Sarasa Mono.
// ==UserScript==
// @name Font-sub:Sarasa-Gothic
// @name:en-US Font substitute: Sarasa Gothic
// @name:zh-CN 字体替换:更纱黑体
// @name:zh-TW 字体替换:更紗黑體
// @name:zh-HK 字体替换:更紗黑體
// @name:ja-JP フォント置換:更紗ゴシック
// @name:ko-KR 글꼴 대체:사라사고딕
// @namespace https://gist.github.com/zozovo/8a76915acf197a873304dd23f2cfd49c
// @version 7.3
// @author zozovo
// @description Substitute fonts with Sarasa Gothic CJK and Sarasa Mono.
// @description:en-US Substitute fonts with Sarasa Gothic CJK and Sarasa Mono.
// @description:zh-CN 将字体替换为 更纱黑体(中日韩)和 等宽更纱黑体。
// @description:zh-TW 將字體替換為 更紗黑體(中日韓)和 等寬更紗黑體。
// @description:zh-HK 將字體替換為 更紗黑體(中日韓)和 等寬更紗黑體。
// @description:ja-JP フォントを 更紗ゴシック(CJK) および 更紗ゴシック Mono に 置き換えます。
// @description:ko-KR 글꼴을 사라사고딕 CJK 및 사라사고딕 Mono 교체합니다.
// @match *://*/*
// @run-at document-start
// @grant GM_addStyle
// @license MIT
// @supportURL https://gist.github.com/zozovo/8a76915acf197a873304dd23f2cfd49c
// ==/UserScript==
GM_addStyle(`
@font-face {
font-family: "Color Emoji";
src: local("Apple Color Emoji"), local("Noto Color Emoji"), local("Segoe UI Emoji");
unicode-range: U+200C, U+200D, U+FE0E, U+FE0F, U+2190-21FF, U+27F?, U+2900-297F, U+2B??, U+23??, U+25A0-27BF, U+32??, U+1F???
}
@font-face {
font-family: "Monochrome Emoji";
src: local("Apple Monochrome Emoji"), local("Noto Emoji"), local("Segoe Fluent Icons"), local("Segoe MDL2 Assets");
unicode-range: U+200C, U+200D, U+FE0E, U+FE0F, U+2190-21FF, U+27F?, U+2900-297F, U+2B??, U+23??, U+25A0-27BF, U+32??, U+1F???
}
@font-face {
font-family: "Consolas";
src: local("Sarasa Fixed SC"), local("Sarasa Fixed HC"), local("Sarasa Fixed TC"), local("Sarasa Fixed J"), local("Sarasa Fixed K")
}
@font-face {
font-family: "Courier New";
src: local("Sarasa Fixed SC"), local("Sarasa Fixed HC"), local("Sarasa Fixed TC"), local("Sarasa Fixed J"), local("Sarasa Fixed K")
}
:root {
--icon-font-family: "Color Emoji", "Monochrome Emoji";
--normal-font-family: "Sarasa UI SC";
--code-font-family: "Sarasa Fixed SC"
}
:is([lang$=HK], [lang$=MO]) {
--normal-font-family: "Sarasa UI HC";
--code-font-family: "Sarasa Fixed HC"
}
:is([lang$=TW], [lang$=hant]) {
--normal-font-family: "Sarasa UI TC";
--code-font-family: "Sarasa Fixed TC"
}
:lang(ja) {
--normal-font-family: "Sarasa UI J";
--code-font-family: "Sarasa Fixed J"
}
:lang(ko) {
--normal-font-family: "Sarasa UI K";
--code-font-family: "Sarasa Fixed K"
}
:not(#_#_) :not([class*=fa-], [class*=icon]):not([aria-hidden="true"] *, [role="presentation"] *, [role="none"] *) {
&:not(i, s, a:hover, span, textarea):not([aria-hidden="true"], [role="presentation"], [role="none"]) {
font-family: var(--icon-font-family), var(--normal-font-family), system-ui;
&:where(pre, code, samp, kbd, var),
&:where([class*=font-mono], [class*=cm-]) {
font-family: var(--icon-font-family), var(--code-font-family), monospace;
& :not(i, a, span) {
font-family: var(--icon-font-family), var(--code-font-family), monospace;
}
}
&:where([class*=code]:not(#readme, .readme)) {
font-family: var(--icon-font-family), var(--code-font-family), monospace;
}
}
}
`);
@Leoyzen
Copy link

Leoyzen commented Jul 1, 2022

[class*=fa] should be added in order to excluding font awesome.

@zozovo
Copy link
Author

zozovo commented Jul 8, 2022

@Leoyzen brilliant!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment