在VSCode中,Fontconfig字符集编辑不生效,

kuhbmx9i  于 6个月前  发布在  Vscode
关注(0)|答案(3)|浏览(56)

当所有扩展都被禁用时,是否会出现这个问题?:是的

  • VS Code 版本:1.87.0-insider,

提交:c11a2dd

  • OS 版本:NixOS

重现步骤:
我在 fontconfig 中使用这个部分:

<match target="font">
		<test name="family" compare="not_eq">
			<string>Symbols Nerd Font</string>
		</test>
		<edit name="charset" mode="assign">
			<minus>
				<name>charset</name>
				<charset>
					<range>
						<int>0xE000</int>
						<int>0xFD46</int>
					</range>
				</charset>
			</minus>
		</edit>
	</match>

它会从字体的字符集中删除一系列代码点,然后使用:

<alias>
		<family>Iosevka Term</family>
		<prefer>
			<family>Iosevka Term</family>
			<family>Symbols Nerd Font</family>
		</prefer>
	</alias>

我可以将该范围委托给 Nerd Font。这样我就可以在使用 Nerd Font 符号而不修补字体文件的情况下使用 Nerd Font。这在其他终端模拟器(如 alacritty)中表现得非常好,但在 vscode 的集成终端中不起作用。
可能是 electron 的一个限制。我确实注意到了 chrome、firefox 和 konsole 中的相同行为。但是像 gedit、alacritty 等其他应用程序可以完美处理这个问题。

idfiyjo8

idfiyjo81#

我对此进行了一些测试。结果发现它确实可以在konsole(以及其他Qt应用程序)中工作,Qt应用程序只是在字体家族上略有不同,因此在规则中我必须使用"Iosevka Term Light"(尽管"Light"部分指定了权重,但不是字体家族名称的一部分),而gtk应用程序将匹配"Iosevka Term"。
但是即使在我添加了新规则之后,这仍然无法在vscode中正常工作。

drkbr07n

drkbr07n2#

顺便说一下,我确实认识到这是一个相当深奥的使用案例,可能有几十个人都在这样做😅

pxy2qtax

pxy2qtax3#

如果在Chrome中也出现了相同的行为,那么在Chromium Issues上提交这个问题可能是值得的。

相关问题