Recursive: 括号/括号/大括号对的高度在某些字体大小下看起来略有偏差

创建于 2020-01-16  ·  21评论  ·  资料来源: arrowtype/recursive

你好,

括号/括号/大括号对的高度在某些字体大小下看起来略有偏差。

| | |
| --- | --- |
| 操作系统 | 视窗 10 |
| VS Code 版本 | 1.41.1 |
| 字体版本 | 1.030 |
| 字体样式 | 递归单声道 Csl b030st |
| 字体连字 | 已启用(仅 dlig) |

随附来自休闲版的样本。 (也可以在线性版本中看到观察结果)。

高度看起来相等的参考资料:
image

image

这对看起来有点偏离的观察结果:
image

image

谢谢! :)

bug details to fix fixed in sources priority 1 – urgent & semi-important

所有21条评论

可以确认,在 Windows 10 2004 (19546) 上最新的稳定版 VSCode 中对我来说是一样的。 似乎也取决于字体粗细 - 即在给定的大小下,一些粗细看起来还可以(关于括号/大括号/括号),其他的 - 不是。

谢谢@krish-r 和@kamenminkov! 好眼力这个。

你能试试v1.034中的静态字体吗,让我知道你是否还有同样的问题?

https://github.com/arrowtype/recursive/tree/e882954365d4fafdf2fb43abeff99a28d615f32e/fonts_1.034

这些应该使用字体名称激活,例如:

RecursiveMonoLnr-RegularRecursiveMonoCsl-Regular

(这次名称中没有版本号)。

@arrowtype ,我能够在将 editor.fontFamily 指定为“Recursive Mono Casual”/“Recursive Mono Linear”后激活 Recursive

Windows 10,递归版本信息:
image

不幸的是,我仍然看到高度的差异。

image

image

image

image

好的,感谢您的尝试! 我会仔细看看,并在 Windows 上试一试。

我的猜测是,右括号使用左括号的组件,而 Windows 对它们的像素别名有点不同,因为它们是组件,或者因为它们可能只是稍微低一点对齐并且差异被放大了。

当我知道更多时,我会更新这个,希望在接下来的一周左右。

谢谢@thundernixon

而且,对不起,这个完全不相关的问题,“标题”在小写“i”上的外观有什么变化吗? 因为我可以看到我的原始屏幕截图和当前屏幕截图之间略有不同 - 大小 17,例如..

附注。 如果您认为这是劫持问题,很高兴(重新)移动此评论。

我们在静态构建过程中添加了一个自动提示步骤,希望这主要有助于在 Windows 中进行渲染,但可能会有一些权衡。 不过,这也是我认为括号可能不同的原因。 我还将大致了解 i 点和变音符号。 谢谢!

只是想提一下,我仍然在 Windows 上的 v1.052 上看到这个,使用 VS Code。

好的,终于尝试解决这个问题。 我正在尝试在构建中添加一个步骤来分解像这样的打开/关闭标点符号,这可能会有所帮助。

作为额外的说明,我注意到在较粗的 Sans 样式中括号略短:


附带问题(点击展开)

image

...并且 () 和 [] 在更粗的 Mono 样式中更短:

image

所以,我会仔细检查并确保它们的高度相同。

调整:

  • [x] 使( ) [ ]{ }高度相同
  • [x] 确保蓝色区域覆盖这些
  • [x] 确保.case版本也对齐并匹配高度

我用修复程序重建了字体,新字体在这里:

https://github.com/arrowtype/recursive/tree/4b59fd2f5ce78c342418c894d3a7e620819cac23/fonts_1.067

遇到此问题的人是否愿意在您的系统上试用这些新字体? @ krish-R,@kamenminkov,@ @jkyeung或@jwortmann? 我希望它可能会起作用,但并不完全确定。 🤞

括号/方括号/大括号现在对我来说看起来很完美👍,但是所有字体大小上的“小于”和“大于”符号<>之间仍然存在错位。

font

在 Windows 10 v2004、Sublime Text 3.2.2 上使用RecursiveMonoLnrSt-Regular.ttf + 斜体和粗体变体进行测试。

你好,

编辑器和操作系统: VS Code v1.51.1, Windows 10 v20H2

_静态字体_
正如@jwortmann 所提到的,我只能看到尖括号未对齐,其余部分看起来很完美。

RecursiveMonoLnrSt-Regular.ttf - 大多数字体大小的尖括号未对齐
image
image

RecursiveMonoCslSt-Regular.ttf - 尺寸 16 和 17 的尖括号未对齐(匹配其他尺寸,例如 14)
image
image


_可变字体_
当我尝试可变字体时,所有内容(包括尖括号)都与我完美对齐。

Recursive_VF_1.067.ttf
image
image
image
image (线性)
image

@jwortmann和@krish-r,非常感谢如此快速的测试和回复!

我部分地注意到了这一点,所以我记得我什么时候回过头来解决这个问题,但是......

我的猜测是,高度差异来自垂直不对称的尖括号。 它们模仿笔触,这往往是不对称的。 但是,这意味着即使它们在视觉上垂直对齐,Windows 渲染也可能会看到坐标高度的差异,并以不同的方式将它们捕捉到垂直像素。 当存在提示时会发生这种情况,这意味着静态字体(具有自动提示)显示这一点,而可变字体(没有提示)不会产生差异。 所以,我应该编辑它们以获得更对称的形状,有点类似于我处理箭头的方式。

image

我希望能在下周初到达这里。 我会尽快更新这个!

@jwortmann和@krish-r,如果你有机会,请你们中的一个人确认最新的字体(1.068 版)为你解决了这个问题? 如果是这样,我们可以关闭问题。 谢谢!

你好@arrowtype

谢谢,尝试 v1.068,尖括号现在正确对齐。 不幸的是,我可以看到在某些字体大小的其余括号中存在一些轻微的错位。

编辑器和操作系统: VS Code v1.52.0, Windows 10 v20H2

递归代码:
_Rec 单声道线性:_
image

image

image

image

_Rec Mono 休闲:_
image

image

image

image

@krish-r 非常感谢您帮助测试! 嗯,两件事:

  1. facepalm我已经在一个分支中进行了较早的修复,然后在处理新问题之前没有将它们合并到主分支中。 具体来说,我已经分解了结束标点符号,并且(我认为)稍微调整了垂直高度。 所以,我会尽快将这些修复程序引入并发布另一个新版本。
  2. 看起来您使用了“代码”字体,其中<>有一个新的连字 - 所以这些现在只显示一个字形,这可能会影响结果。 为了获得准确的结果,我们必须在它们之间留出一个空格来测试该组合。

我在这里过于自信,以为我已经用新版本把它搞定了。 😅对不起! 在发布新版本并要求确认之前,我将在 Windows VM 中专门对此进行测试。

总是乐于测试! 是的,你说得对,我忘了关掉连字。
"editor.fontLigatures": false再次尝试。

_Rec 单声道线性:_
image

image

image

image

_Rec Mono 休闲:_
image

image

image

image

好的! 是的,在我测试时,我记得 VS Code 可以轻松停用代码连字。 但也感谢您在这里指出这一点!

在我的测试中,标点符号不是_完全对称的,_但似乎避免了全像素关闭问题。

image

如果你有时间,@krish-r,你能不能试试最新版本, https://github.com/arrowtype/recursive/releases/tag/1.069? 它添加了似乎有助于早期测试的分解步骤。

试过 v1.069。 而且,括号看起来也与我对齐! 👌

谢谢@arrowtype!

_Rec Mono Linear_
image
image
image
image

_Rec Mono 休闲_
image
image
image
image

太棒了,非常感谢您在测试中提供的所有帮助!

很高兴我们解决了这个问题。

我可以确认,在 1.069 版中,所有类型的括号以及<>符号也对我正确对齐。 非常感谢更新!

感谢您的确认,@jwortmann!

此页面是否有帮助?
0 / 5 - 0 等级