gpt4 book ai didi

visual-studio-code - VS代码: behavior of "editor.fontLigatures" and "editor.fontVariations"?

转载 作者:行者123 更新时间:2023-12-03 07:59:38 25 4
gpt4 key购买 nike

到目前为止,很长一段时间以来都可以在“editor.fontLigatures”中配置 OpenType 变体,但它非常有限。例如,要为 Iosevka 字体配置双层“g”,可以将其添加到 settings.json:

"editor.fontLigatures": "'cv32'"

这会将 cv32 参数设置为 1。但是,据我所知,不可能指定该值,例如cv32=2 以获得双层开放式变体。在 1.74 中,他们添加了“editor.fontVariations”,并 promise 它将完成如下工作:

"editor.fontVariations": "'ital' 0.5"

(参见https://code.visualstudio.com/updates/v1_74)这似乎不起作用。此处没有 OpenType 参数,对字体渲染没有影响。它们在 fontLigatures 中以旧的、有限的方式工作。

我做错了什么?这两个配置参数预计如何工作?它适用于任何人,可能使用不同的编程字体吗?

最佳答案

这些设置取决于支持其激活功能的字体。来自 VS Code doc'n :

// Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.
"editor.fontLigatures": false,

如果设置为 true,则将激活 OpenType 连字功能(如果字体支持这些功能)。但如果设置为其他字符串,例如 "'cv32'",则将激活特定的 OpenType 功能(“cv32”功能)(如果字体支持该功能)。

以下是“cv01”-“cv99”功能的描述:https://learn.microsoft.com/en-us/typography/opentype/spec/features_ae#cv01-cv99

OpenType 具有不同的连字功能。 'liga' (standard ligatures该功能通常应该默认激活,但我不知道如果 .fontLigatures 为 false,Electron/VS Code 会做什么。以下是其他与连字相关的功能:

“clig”和“dlig”功能当然应该使用.fontLigatures 的 bool 值来激活或停用。 .fontLigatures 对“hlig”做同样的事情可能是有意义的。但“rlig”不应受到 .fontLigatures 的影响,因为该功能的目的是为了正确显示脚本所需的连字,例如阿拉伯语中的 lam-alef 连字。

现在让我们看看 VS Code 文档中有关 .fontVariations 的内容:

// Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property.
"editor.fontVariations": false,

第一部分并不完全清楚,但我推测 true 的 bool 值将导致 font-weight: nnn CSS 属性更改为该属性font-variation-settings: "wght"nnn,功能上几乎相同。 (CSS 级联的工作方式不同,但除此之外它们的作用相同。)

但让我们退一步来解释一下 font-variation-settings 属性的作用:它专门用于 OpenType 可变字体。可变字体具有一个或多个设计变化轴,通常在每个轴上具有连续变化。在字体内,所有变化轴都用四字符标签指定,例如“wght”或“wdth”。许多可变字体支持粗细轴(其标签是“wght”),但这完全取决于字体设计者的变化轴是什么。请参阅https://v-fonts.com/https://www.axis-praxis.org/有关可变字体及其支持的轴的许多示例。

那么,回到`.fontVariations。首先解释一下第二种用法,

or a string for the value of the CSS 'font-variation-settings' property

这可用于设置可变字体的任何轴上的任何变化。例如,

"editor.fontVariations": "wdth" 93, "GRAD" 88

将转换为 CSS 属性

font-variation-settings: "wdth" 93, "GRAD" 88

现在回到.fontVariations: true:它旨在与具有粗细(“wght”)轴的可变字体一起使用。这对我来说似乎不是特别有用,因为 (a) CSS font-weight: 700font-variation-settings: "wght"700 之间的唯一区别是后者不会以相同的方式级联,并且 (b) 可以通过 "editor.fontVariations": "wght"700 实现相同的效果。但这似乎是获取 CSS 属性 font-variation-settings: "wght"700 的另一种方法。 (顺便说一句,这将删除任何其他字体变化设置,这是我提到的不同的级联行为。)

关于visual-studio-code - VS代码: behavior of "editor.fontLigatures" and "editor.fontVariations"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74756334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com