お知らせ
Linux系でよく使われるフォントに対応したファイルを追加しました。但しフォント名は、一旦各フォントをWindows上にインストールしてWindows上で取得しているので、Linux上で実際に動作するかどうか確認していません。Windows上では動作するのを確認しています。
(2021.12.31追記)
更に、RobotoJフォント、Noto sans JP、源の角ゴシック (Source HAN sans VF) 定義ファイルを追加しました。また、新しい darktable-elegant-darker.css に改訂しました。こちらは多くの日本語OS環境でうまくいくと思います.... が、やはりフォント名を Windows環境で取得しているので、Linux等の環境でご使用の方、ちゃんと適用できる、できない、をお知らせいただくと助かります。
多分、Macユーザの方はフォントに悩まれる方はあまりいないのかな... ?
-------------------
darktable3.8の設定で、フォントを直接指定することはできませんが、テーマを設定する css ファイルを編集し、そのテーマを選ぶことでフォントを変更することができます。そこで前回フォントを変更したテーマファイルを公開しました。
今回、そのテーマを改善するとともにフォントの種類も増やしました。こちらからダウンロードして下さい。これらのテーマファイルをdarktableインストールディレクトリの theme ファイル置き場に置くと、設定から選べるようになります。選択できるフォントは下記の通りです。
游ゴシックUI
darktable-YuGothicUI.css
游ゴシック
darktable-YuGothic.css
BIZ UD ゴシック
darktable-BIZ_UDP_Gothic.css
游明朝
darktable-YuMincho.css
--------
追加分
IPAゴシック系 (Takaoフォント含む)
darktable-IPAGothic.css
さざなみゴシック
darktable-SazanamiGothic.css
RobotoJ
darktable-RobotoJ.css
Noto sans JP
darktable-NotoSansJP.css
源ノ角ゴシック
darktable-SourceHANSansVF.css
もし、これらのフォントの中で気に入ったものがありましたら、該当する css ファイルを、darktable-elegant-darker.css と改名して、既存の同名のファイルを置き換えると、他のテーマにも (但し darktable, darktable-icons の2つのテーマは除く)、そのフォントを適用することができます。またこのファイルを編集して、ご自分の好きなフォント名に置き換えることで、新たなフォントを使ったテーマファイルを作成することができます。
なお、ファイルを編集する際にいくつか気づいた注意事項があります。あくまでも Windows上の話ですが、フォント名は英語フォント名がある場合は、日本語フォント名では取得できないようです。 また、これらの日本語フォント名にウェイト名がついているとなぜか認識してくれません。例えば、Yu Mincho Light と書くとダメで、Yu Mincho と書かなければ認識してくれません。なお、Windows上での英語フォント名の取得には以下の情報が参考になります。基本、この方法で取得できるフォント名でアクセスしないといけないようです。
okwave.jp リンク切れに備えて、上の記事の要点を以下に書いておきます。
---------------
windowsならpowershell_iseを起動し
foreach( $ifc in ( new-object System.Drawing.Text.InstalledFontCollection ) ){$ifc.Families|%{$_.Name+"`t:`t"+$_.GetName([System.Globalization.CultureInfo]::GetCultureInfo("en-us").LCID)}}
というコマンドを入れて、フォント名を取得する。
--------------
英語フォント名のないさざなみフォントだけは日本語(UTF-8)でアクセス可能ですが、それ以外の日本語フォントは日本語フォント名ではアクセスできませんでした。
また、今回 Mac、Linux上で該当フォントがあれば認識するよう、ネット上で情報を得てMac、Lunux上でのフォント名も一応書いたのですが、上記のような問題から MacやLinux上でうまく動くかどうか分かりません(Linuxはデフォルトの日本語フォントと思しきものを指定しています)。
Windowsでしか動作確認を行っていませんがよろしければお使いください。なお、darktable-elegant-darker.css というファイルも含んでいますが、これは中身は游ゴシックUIと同じものです。←中身を改訂しました。既存の darktable-elegant-darker.css を置き換えて使用してください。なお念のため、オリジナルの darktable-elegant-darker.css は必ずバックアップを取っておいてください。この darktable-elegant-darker.css で望みの結果が出ない場合は、気に入ったフォント定義 css ファイルをコピーし darktable-elegant-darker.css に名前を変えて、既存の darktable-elegant-darker.css を置き換えると良いと思います。
を適用した icons-gray テーマ (OS: Windows)
---------------------
技術的なお話し
darktableではフォントの指定はテーマを設定する css ファイルで行っているようです(Windows版の場合は、C:\Program Files\darktable\share\darktable\themes にある css ファイル)。
ここにあるファイルはデフォルトで以下の7本です。
2021/12/16 05:08 5,221 darktable-elegant-dark.css
2021/12/16 05:08 2,820 darktable-elegant-darker.css
2021/12/16 05:08 5,567 darktable-elegant-grey.css
2021/12/16 05:08 801 darktable-icons-dark.css
2021/12/16 05:08 803 darktable-icons-darker.css
2021/12/16 05:08 805 darktable-icons-grey.css
2021/12/16 05:08 9,404 darktable-icons.css
2021/12/16 05:08 63,588 darktable.css
このうち、darktable.css が基本的なインターフェースの定義を行うファイルで、darktable-icons.css は、darktable.css を読み込んだうえで、モジュールのタイトルの横にアイコンを付加することを定義するファイルです。この2本は font-family に sans-serif を使えという指定はありますが、使用するフォントを具体的に定義していません。つまりPCの各OSのシステムフォントの sans-serif を使うことになります。
フォントを定義しているのは、darktable-elegant-darker.css です。そして、他のファイルは darktable.css + darktable-elegant-darker.css の2つのファイルもしくは、この2つのファイルに加えて、darktable-icons.css を加えた3つのファイルを読み込んで、それで足りない分を定義して、インターフェースを決定しています。
つまり、darktable.css と darktable-icons.css はOSのシステムファイルを使うのは仕方がなく(見てくれが汚ないのは、WindowsやLinuxはシステムフォントにラスターフォント[画素データで文字を表現するフォント]を使っているためです。Macはどうか分かりません)、他のテーマは、フォントを定義している中核ファイルである darktable-elegant-darker.css での指定にあるフォントを使ってインターフェースを表示する、という仕組みになっています。
今回アップロードしたファイルはこの darktable-elegant-darker.css のWindows部分の指定フォントを変更して、ファイル名を変更したものです。従って、好みのフォントの css ファイルを darktable-elegant-darker.css に名称を変え、既存の darktable-elegant-darker.css に置き換えれば、darktable.css と darktable-icons.css 以外のテーマを選びさえすれば、お好みのフォントのインターフェースになる、という仕組みです。
ところで、darktable-elegant-darker.css で定義されているデフォルトのフォントは何でしょうか? 以下のようになっています。
font-family: "Roboto Light", "Roboto", /* best case scenario */
"Segoe UI Light", "Segoe UI", /* Windows 10 default */
"SF Pro Display Light", "SF Pro Display", /* Mac OS X default */
"Ubuntu Light", "Ubuntu", /* Ubuntu default */
"Cantarell", /* Gnome default */
sans-serif; /* default default */
Windowsの場合は Segoe UI というフォントが指定されています。ですので、darktable.css と darktable-icons.css 以外のテーマではこのフォントが指定されますので、darktable と darktable-icons よりましな表示になります。この Segoe フォントは基本的にWindowsで表示できる全文字種 (アラビア語等も含む) を含んだフォントです。昔 Arial Unicode MS というフォントがありましたが、その後継バージョンです。因みにこのフォント名、Segoe とは、韓国語で「世界 (ハングル表示では 세계)」という意味です(セゲ と読みます)。世界フォントという意味ですね。余談ですが、世界という漢字語は日本語読みでは sekai ですが、韓国語読みだと日本語の ai (アイ) という部分を エ と発音しますので、セカイ → セケ → セゲ という訳です。
Mac の場合は SF Pro Displayというフォントが指定されていますが、これも Segoe と同じく世界の文字を含んだ文字セットのフォントであるようです(厳密には日本語の場合、ヒラギノフォントへのエイリアスを含むようです)。SF は San Francisco の略だそうですが System Font のダジャレのような気がします。
Linux系はどうでしょうか。RobotフォントかUbuntuフォントもしくは Cantarell フォントということになりますが、いずれも欧文フォントでそれ以外の文字は含んでいません。ということは日本語のLinux系ではシステムフォントのsans-serif が使われることになってしまいます。従って表示が汚くなってしまいます (多分)。
そこで、今回公開しているファイルは、Windowsの場合、上の、 "Segoe UI Light", "Segoe UI", という部分をWindowsのフォントに書き換えたもの、という訳です。他にMacやLinuxのフォントも書き換えていますが(Linuxは標準的な日本語フォントと思しきものを入れてあります)、うまく適用できるかどうか... ?
BIZ UDゴシックは現在無償で提供されLinuxでも使用できるようなのでいけるのではないかと思いますが、Linux上でも同じ英文フォント名なのかどうかがちょっとわかりません(同じならOKなはずです)。どなたか実証していただけると助かります。
また、LinuxやMacOS上での日本語フォントの英語名に関する情報も、こちらのページにお寄せいただけますとありがたいです。
----------------------
この記事には Ubuntu他、日本語Linuxユーザ向けの続編記事があります。