質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

2090閲覧

【CSS】コードブロックの特定のプログラミング言語だけリガチャーを無効にしたい

BOLTE

総合スコア26

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/05/06 13:26

編集2021/05/07 02:32

やりたいこと

特定のプログラミング言語に対して、フォントのリガチャーを無効化する方法はありますか?

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では<=は矢印として表示したいのに、リガチャーされて「≦」として表示されてしまいます。

このように表示させたい↓

このように表示させたい

しかしフォントがリガチャーされてこのように表示されてしまう(これは画像です)↓

bg width:600px drop-shadow:0,5px,10px,rgba(0,0,0,.4)

検索すると、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.mdtest_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ここからどうすればいいかわかりますか? どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2021/05/07 00:17 編集

スライドのHTMLはどのようになっていますか? コードブロックがHTMLに変換された結果に、言語を判定できるような情報は残っていますか?
BOLTE

2021/05/07 02:31

追記をいたしました。どうぞよろしくお願いいたします。
BOLTE

2021/05/07 02:33

すいません、リンク先がPDFだけだったので修正しました。
guest

回答1

0

ベストアンサー

css

1code.language-verilog { 2 font-variant-ligatures: none; 3}

を追加すれば期待どおりになりそうですね。

投稿2021/05/07 02:36

int32_t

総合スコア20890

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

BOLTE

2021/05/07 02:38

ありがとうございます!! 大変助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問