省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

darktable 3.8で日本語フォントを変更する (続報)

f:id:yasuo_ssi:20211128195339p:plain

お知らせ

 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

メイリオ
  darktable-Meiryo.css

BIZ UD ゴシック
  darktable-BIZ_UDP_Gothic.css

游明朝
  darktable-YuMincho.css

--------

追加分

IPAゴシック系 (Takaoフォント含む)
  darktable-IPAGothic.css

VLゴシック
  darktable-VLGothic.css

さざなみゴシック
  darktable-SazanamiGothic.css

RobotoJ
  darktable-RobotoJ.css

Noto sans JP
  darktable-NotoSansJP.css

源ノ角ゴシック
  darktable-SourceHANSansVF.css

 

 

f:id:yasuo_ssi:20211229154529p:plain

フォント別テーマの選択

 

f:id:yasuo_ssi:20211230164328p:plain

フォント別テーマ選択 (追加)

 もし、これらのフォントの中で気に入ったものがありましたら、該当する 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)でアクセス可能ですが、それ以外の日本語フォントは日本語フォント名ではアクセスできませんでした。

 また、今回 MacLinux上で該当フォントがあれば認識するよう、ネット上で情報を得てMac、Lunux上でのフォント名も一応書いたのですが、上記のような問題から MacLinux上でうまく動くかどうか分かりません(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  を置き換えると良いと思います。

f:id:yasuo_ssi:20211229144732p:plain

フォントを游明朝に変更

 

f:id:yasuo_ssi:20211229144836p:plain

フォントを BIZ UDゴシックに変更

f:id:yasuo_ssi:20211230164809p:plain

フォントをさざなみゴシックへ変更

f:id:yasuo_ssi:20211231102654p:plain

新しい darktable-elegant-darker.css ファイル(2021.12.31改訂)
を適用した 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のシステムファイルを使うのは仕方がなく(見てくれが汚ないのは、WindowsLinuxはシステムフォントにラスターフォント[画素データで文字を表現するフォント]を使っているためです。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のフォントに書き換えたもの、という訳です。他にMacLinuxのフォントも書き換えていますが(Linuxは標準的な日本語フォントと思しきものを入れてあります)、うまく適用できるかどうか... ?

 BIZ UDゴシックは現在無償で提供されLinuxでも使用できるようなのでいけるのではないかと思いますが、Linux上でも同じ英文フォント名なのかどうかがちょっとわかりません(同じならOKなはずです)。どなたか実証していただけると助かります。

 また、LinuxMacOS上での日本語フォントの英語名に関する情報も、こちらのページにお寄せいただけますとありがたいです。

no-windows.blog.jp

----------------------

この記事には Ubuntu他、日本語Linuxユーザ向けの続編記事があります。

yasuo-ssi.hatenablog.com