やりたいこと
特定のプログラミング言語に対して、フォントのリガチャーを無効化する方法はありますか?
Marp for VSCodeという拡張機能を使ってスライドを作っています。これはMarkdownファイルからスライドを作れるものです。
スライドのテーマはCSSファイルで設定しています。
そこで、コードブロック(?)を表す部分(Markdownで```
で囲む部分)のフォントはFira Codeに設定しています。
Fira Codeにすると演算子などがリガチャーされてみやすくなるからです。
css
1section.slides code { 2 /* display: inline-block; */ 3 font-family: Fira Code; 4 background-color: #eeeeee; 5 border-radius: 5px; 6}
しかしプログラミング言語によってはリガチャーされて欲しくないものがあります。例えばVerilog-HDLでは<=
は矢印として表示したいのに、リガチャーされて「≦」として表示されてしまいます。
このように表示させたい↓
しかしフォントがリガチャーされてこのように表示されてしまう(これは画像です)↓
検索すると、font-variant-ligatures: none;
を追加すれば良いと出てきました。
確かに
css
1section.slides code { 2 /* display: inline-block; */ 3 font-family: Fira Code; 4 background-color: #eeeeee; 5 border-radius: 5px; 6 font-variant-ligatures: none; 7}
とすればFira Codeのリガチャーを解除できますが、全てのプログラミング言語に対してそうなってしまいます。
特定のプログラミング言語に対して、フォントのリガチャーを無効化する方法はありますか?
どうかよろしくお願いします。
追記
テスト用のスライドを作ってみました。 このGoogle Driveに置いておきます。
私が作成したのはtest.md
とtest_theme.css
で、Marp for VSCodeを使ってpdf, htmlにエクスポートしました。test_theme.css
は次のようにしました。
css
1/* @theme test_theme */ 2 3@import 'default'; 4 5 6section.slides code { 7 /* display: inline-block; */ 8 font-family: Fira Code; 9 background-color: #eeeeee; 10 color: #1e4c92; 11 border-radius: 5px; 12 /* font-variant-ligatures: none; */ 13}
変換されたhtmlファイルを開いて「verilog」というワードで検索をかけると、この部分だけヒットしました。
html
1<code class="language-verilog"> 2``` 3 4ここからどうすればいいかわかりますか? どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー