memo

2022-08-02

Linux の GUI な Emacs で italic がちゃんと表示できてない

  • org-mode で /italic/斜体 になってないことに気づいた。

    • 下線が引かれた表示になっていて、斜体になってない。

    • customize-faceitalic を見てみると、なんか下線表示の設定になってる。

      • しかし、これを slant を italic に設定変更してみても表示が変わらない。

  • アレコレ調べたりとかしてみたけど、どうやら Emacs はフォント自体が斜体を持ってないと斜体表示してくれないっぽい。

    • 使ってるフォントが fc-liststyle=Italic って付いて出てこないとダメ。

    • fontconfig (?) にはそういうフォントでも斜体を合成して表示可能にしてくれる機能があるんだけど、その機能を使ってくれてないっぽい。

      • どうにか出来ないか色々頑張ってみたけど、無理っぽい。

  • ということで、しょうがないので fontforge でなんとかする。

    • make-italic.pe:

      #!/usr/bin/fontforge
      i = 1
      
      while (i < $argc)
          Open($argv[i])
          SetTTFName(0x409, 2, "Italic")
          SelectAll()
          Skew(15)
          Print("generate " + $argv[i]:t:r + "-italic.ttf")
          Generate($argv[i]:t:r + "-italic.ttf")
      
          i = i + 1
      endloop
      
    • 渡されたフォントのイタリック版を生成するスクリプト。

      • (style の設定のあたりがよく分からずテキトウだけど、とりあえず動いてるっぽいからいいか)