【问题标题】:Custom font ligatures自定义字体连字
【发布时间】:2020-12-07 21:19:18
【问题描述】:

我正在使用 Visual Studio Code,我看到所有这些很酷的字体连字,用于双等号和三等号、箭头等,我不禁想知道是否有任何方法可以将新的自定义字体添加到字体或VS 代码。我尝试进行一些网络搜索,但似乎找不到任何东西。

例如,当我在 python 中时,我希望 lambda 关键字显示为真正的 lambda 符号 λ。这可能吗?

【问题讨论】:

    标签: visual-studio-code fonts editor vscode-extensions ligature


    【解决方案1】:

    这些功能被设计并内置在字体文件本身中,而不是与任何一个特定的代码编辑器有任何关系。

    如果您考虑添加它们的字体在开放许可下可用,或者在其他情况下允许对软件进行修改,则可以添加它们。

    一个流行的例子是Fira Code,它是经 OFL 许可的 Fira Mono 的修改版本,但带有专门为该项目绘制的连字字形。

    有一个脚本可以在其他字体中自动使用这些字形并生成功能代码,对于许可证允许修改的字体:https://github.com/ToxicFrog/Ligaturizer

    自述文件描述了如何启用或禁用新连字。你的应该是可能的,因为“λ” lambda 字形可能已经存在于 Fira Code 中——否则你也必须绘制一个新的字形。

    您需要添加到ligatures.py 的配置是:

    {
        # When the text has l+a+m+b+d+a…
        'chars': ['l', 'a', 'm', 'b', 'd', 'a'],
    
        # Use the existing `lambda` glyph from Fira Code, rather than one of the
        # custom drawn coding ligature glyphs
        'firacode_ligature_name': 'lambda',
    },
    

    【讨论】: