更新了 Windows 11 ,在 Intel 12 大小核的调度下,系统运行极其稳定、平滑。
唯 x 让人不满意的有几点:
- 字体渲染,丧心病狂的比 Win 10 还拉跨。极端锐化,看得我老眼昏花,看着屏幕完全无法对焦。
- 任务栏无法选择不合并,必须借用第三方工具,如:StartAllBack
- 右键菜单,设计简化其实挺好的,原有的菜单功能(如 7zip 解压),必须二层菜单,非常麻烦,可以参考:Windows11恢复Windows10右键菜单样式
2-3 都有解决方案(2 要掏钱,所以就勉强忍耐了,毕竟用了那么久 OSX),唯独 1 这字体,真的看着巨难受,实在无法忍。
本文针对 1 字体渲染的问题,有以下的折腾优化方案,操作有两步:
- 安装 mactype。
- Chrome/Edge 安装 Tampermonkey 或 Violentmonkey,添加如下脚本:
以下脚本源自:https://n2o.io/go?page=userstyles
原安装脚本:https://greasyfork.org/zh-CN/scripts/419362-%E5%85%A8%E5%B1%80%E6%80%9D%E6%BA%90%E9%BB%91%E4%BD%93
// ==UserScript==
// @name 全局思源黑体
// @namespace franciszhao
// @version 2.2.9-alpha
// @description 一款使用 Adobe 品牌字体替换网页原有字体的用户样式表,为你呈现更统一美观的页面风格。
// @author Francis Zhao <[email protected]>
// @homepageURL https://n2o.io/go?page=userstyles
// @supportURL https://n2o.io/go?page=userstyles
// @license MIT
// @grant GM_addStyle
// @run-at document-end
// @include *
// ==/UserScript==
(
() => {
(
function () {
'use strict';
var u = `html {
-webkit-font-smoothing: antialiased !important;
-moz-osx-font-smoothing: grayscale !important;
text-rendering: optimizeLegibility !important;
}
body, p {
font-family: \${rootFont} !important;
font-weight: 400 !important;
}
h1, h2, h3, h4, h5, h6 {
font-family: "Roboto Condensed", \${rootFont} !important;
font-weight: 500 !important;
}
strong, b, th {
font-family: "Roboto Condensed", \${rootFont} !important;
font-weight: 500 !important;
}
button,
input,
keygen,
optgroup,
select,
textarea {
font-family: \${rootFont} !important;
}
code,
kbd,
pre,
samp {
font-family: \${monoFont} !important;
}
`, o;
(
function (t) {
t[t.default = 0] = 'default', t[t.monospace = 1] = 'monospace';
}
)(o || (
o = {}
));
const m = '"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", emoji',
r = (t = 0) => {
switch (t) {
case 1:
return `monospace, ${m}`;
}
return `system-ui, -apple-system, sans-serif, ${m}`;
},
f = (t, n = 0) => t == null ? r(n) : Array.isArray(t) ? [
...t.filter(Boolean).map(e => `"${e}"`),
r(n),
].filter(Boolean).join(',') : typeof t != 'string' || t.trim() === '' ? r(n) : [t, r(n)].join(','),
i = {},
h = t => t === 'monoFont' ? o.monospace : o.default,
d = (t, n) => (
i[t] == null && (
/font/i.test(t) ? i[t] = f(n, h(t)) : i[t] = n + ''
), i[t]
),
g = (t, n, e) => t.replace(/\${([^{}]+)}/gm, (c, a) => d(a, n[a] || null)) + `
` + e;
(
(t, n, e, c, a) => {
if (t == null || t.getElementById(e)) return;
const p = () => {
try {
const s = g(u, c, a), l = t.createElement('style');
l.setAttribute('id', e), l.appendChild(t.createTextNode(s)), (
t.head || t.querySelector('head') || t.documentElement
).appendChild(l);
} catch (s) {
console.warn(`inject reset styles error: ${s.message}`);
}
};
n ? t.addEventListener('DOMContentLoaded', function () {
p();
}) : p();
}
)(
document,
// 是否使用 dom ready 注入样式
false,
// 注入样式 id
`__reset_style_${new Date().valueOf()}_${Math.floor(Math.random() * 1e5)}`,
// 字体配置
{
rootFont: [
'Roboto',
'PingFang SC',
],
monoFont: [
'JetBrains Mono',
'PingFang SC',
],
},
// 额外注入的样式
'',
);
}
)();
}
)();
以上脚本为本地开发后经 vite 转译,之后会将这个构建代码开源出来。
是否启用 dom ready ,有些网站存在延迟加载样式的情况,使得注入的样式被后续覆盖,使用 dom ready 能较好的解决此问题,但就会存在页面加载时一闪的情况(先按照网站原来的字体样式渲染,而后 dom ready 才注入 reset 样式)。
至此,Win 11 内的字体渲染,基本接近 OSX 的水平,上截图:
输入法问题
这又是一个老问题,话说 OSX 更新到 12 以后,输入法切换彻底进入 Win 8-10 的恐怖年代。新版本增加了一个地球仪键来切换输入法,又摈弃了 Caps lock 键,这就和搜狗输入法的配置又存在冲突了。
而且以前可以删除掉默认的英文,只保留一种输入法。12 又不允许了。
而且输入法/英文,各个窗口不停的在重置,简直把人逼疯了。
直接倒退回到 2014 年的水平,X你个输入法。
这次换回 Win 11,输入法问题有了新的解决办法。
-
不安装任何输入法,就使用系统自带的微软输入法。
-
修改输入法按键设置,我去掉了 <kbd>Shift</kbd> ,改为 <kbd>Ctrl + Space</kbd> ,因为很容易误触(比如输入大写,可能存在 <kbd>shift</kbd> 先按或后离开导致误触):
-
安装 PowerToys,微软团队官方出品:
-
打开 PowerToys 的键盘管理器,添加 <kbd>Caps Lock</kbd> to <kbd>Ctrl + Space</kbd>。
到此,即可轻松实现 OSX 10-11 时期 Caps Lock 切换输入法,非常简单有效。