VSCodeのバッククォート表示がおかしい

スポンサーリンク

はじめに

Mac で VSCodeを使っているのですが、バッククォートが表示されたりされなかったり、、ということが起きていました。
調べてみると、これはどうやら VSCode の問題ではなく、使っていたフォントである Ricty の問題のようです。

Rictyのバッククオートを修正する - Qiita
Rictyはライセンスの関係上、使用に際してフォントを手元で合成する必要がありますが、2018年6月26日現在、合成後のフォントに不具合があり、バッククオート(`←これ)が後続の文字に重なって表示さ…

つまり、Ricty フォントで VSCode を使うとバッククォートの表示がおかしくなるという問題があるようです。

解決策

上記に記載したページに解決策の記載もありますが、Rictyフォントを修正することによる解消できました。

下記の fontforge script を作成します。

#!/usr/bin/env fontforge

Open($1)
Select(0u0060)
SetGlyphClass("base")
Generate($1)

この script に修正したいRictyフォントを指定すればOKです。
例えば、下記は script を fix_ricty.pe として作成した場合の実行例です。

% ./fix_ricty.pe ~/Library/Fonts/Ricty-Bold.ttf
% ./fix_ricty.pe ~/Library/Fonts/Ricty-Regular.ttf
% ./fix_ricty.pe ~/Library/Fonts/RictyDiscord-Bold.ttf
% ./fix_ricty.pe ~/Library/Fonts/RictyDiscord-Regular.ttf

ちなみに、VSCode上で有効化されるには、自分の場合はVSCodeの再起動が必要でした。

追記

その1

MacOS を Monterey に上げたら、なぜかこの設定が無効になってしまってました。
最初からやり直したら同じ状態に戻りましたが、いまいち原因不明です。

その2

Monterey に上げた後、fontforge script を実行すると、下記のようなエラーが出るようになりました。

% ./fix_ricty.pe ~/Library/Fonts/Ricty-Bold.ttf
 Copyright (c) 2000-2022. See AUTHORS for Contributors.
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 with many parts BSD <http://fontforge.org/license.html>. Please read LICENSE.
 Version: 20220308
 Based on sources from 2022-03-08 10:16 UTC-D.
  File "/xxx/./fix_ricty.pe", line 3
    Open($1)
         ^
SyntaxError: invalid syntax

どうやら fontforge の仕様が変わったらしく、-lang が必要になったことでこのようなエラーが出るようになったようです。
自分の環境では、下記のように変更することで正常に動くようになりました。

#!/usr/local/bin/fontforge -lang ff

Open($1)
Select(0u0060)
SetGlyphClass("base")
Generate($1)

コメント

タイトルとURLをコピーしました