OSMC Font入替え(真打!?) [Raspberry Pi]
大概ですね… またFontネタ。 実は,別件の副産物的なにか。。。
でも,今度の方法は,いつもとは一味違います。(多分…)
あぁ,そうそう。
先日,OSMCの自ビルドに使っていたSDカード,やっぱり,逝ってました orz
部分的にダメになっているのが,始末悪い。
やっぱり,SDカード上で,自ビルドなんてやっちゃダメですね(笑
で,何が違うかって,Font.xmlを編集しない!
と,言うことは,Updateに強い!(影響を受けない)
一部,例外(リネーム作業)は,ありますが,こっちの方法が本来の方法の様です。
ご参考: HOW-TO:Add a new true type font to the skin - Official Kodi Wiki
skin.osmc
は,Fontで"Arial"を選ぶと~/.kodi/media/Fonts
以下の代替えフォントを使うようになります。
厳密には…
~/.kodi/media/Fonts/arial.ttf
- /usr/share/kodi/media/Fonts/arial.ttf
の順番のよう…
ただし,fontset "Arial"の"SystemInfo"に定義されているフォント
LiberationMono-Regular.ttf
は,skin.osmc内蔵(/usr/share/kodi/addons/skin.osmc/fonts/
)の為,いくら~/.kodi/media/Fonts/
以下に代替えフォントを置いても機能してくれない orz
従って,SystemInfo部分は,Font.xmlの書き換え必須!
でしたが…
skin.osmc内蔵のフォントをリネームして,~/.kodi/media/Fonts/
の物を採用するように仕向けます。
ついでに,代替えフォントは,分かり易いように,シンボリックリンクを使っていきます。
一つ一つ手作業では,面倒なので,やっつけスクリプトを用意しました。
何やってるかは,スクリプトをご覧下さい。(大した事してません)
ファイルの配置
- /home/osmc/
- _setup/
- fonts.sh
- migu-1c-regular.ttf ...一般表示のフォント
- mplus-1m-regular.ttf ...SystemInfoのフォント
- _setup/
_setup
は,適当に付けてください。
スクリプトと代替えフォントを同じ階層に設置します。
ファイルの設置は,OSMCにSamba Serverをインストールして,そこで行った方が楽です。
Samba Serverのインストールは,MyOSMC →App Store(ショッピングカードのアイコン)で,Samba(SMB) Serverを選び,Install,右下でApplyを選びますと,ダウンロードインストールしてくれます。
やっつけスクリプトはこんな感じ…
fonts.sh
実行結果
osmc@osmc:~$ cd _setup osmc@osmc:~/_setup$ ./fonts.sh migu-1c-regular.ttf mplus-1m-regular.ttf osmc@osmc:~/_setup$ ls -l /home/osmc/.kodi/media/Fonts/ 合計 9408 -rw-r--r-- 1 osmc osmc 4641248 3月 1 12:52 DejaVu_Sans.ttf lrwxrwxrwx 1 osmc osmc 49 3月 1 12:52 LiberationMono-Regular.ttf -> /home/osmc/.kodi/media/Fonts/mplus-1m-regular.ttf lrwxrwxrwx 1 osmc osmc 48 3月 1 13:49 arial.ttf -> /home/osmc/.kodi/media/Fonts/migu-1c-regular.ttf -rw-r--r-- 1 osmc osmc 3235600 3月 1 13:49 migu-1c-regular.ttf -rw-r--r-- 1 osmc osmc 1644348 3月 1 13:49 mplus-1m-regular.ttf lrwxrwxrwx 1 osmc osmc 49 3月 1 13:49 teletext.ttf -> /home/osmc/.kodi/media/Fonts/mplus-1m-regular.ttf -rw-r--r-- 1 osmc osmc 105344 3月 1 12:52 teletext2.ttf osmc@osmc:~/_setup$ sudo reboot
フォントをシンボリックリンクにしたお陰で,今使っているフォントが一目瞭然。
ここでは,arial.ttfとLiberationMono-Regular.ttfの他,teletext.ttfも用意しています。
運良く他のskinでも対応していれば,arial.ttfとteletext.ttfが使われます。
この方法の利点は
- Font.xmlなどの編集が要らない
- Updateが有っても影響を受けない。
(ただし,内蔵のLiberationMono-Regular.ttfのリネームは必要)
長くOSMCを使うなら,こちらの方が有用と思います。
おまけ: skin.osmc 微改造(PS3っぽく)
ネタを出してなかったので,ついでにここで。
全部だと大量になるので,Diffったネタっぽい物で,ご容赦を。
- Font.xmlは,オリジナルな物を対象にしていますが,SystemInfoのフォント変更のみ(ファイルの行数が変わっていない)なら,当てても大丈夫です。
- この改造は,Updateが入ると,元に戻ってしまいます。
Font.xml.patch
--- /usr/share/kodi/addons/skin.osmc/16x9/Font.xml.orig 2019-01-03 15:55:49.879999988 +0900
+++ /usr/share/kodi/addons/skin.osmc/16x9/Font.xml 2019-03-01 16:18:22.295169448 +0900
@@ -420,6 +420,24 @@
<size>19</size>
</font>
+ <!-- for Datetime -->
+ <font>
+ <name>Font55</name>
+ <filename>Arial.ttf</filename>
+ <size>55</size>
+ <style>bold</style>
+ </font>
+ <font>
+ <name>Font54</name>
+ <filename>Arial.ttf</filename>
+ <size>55</size>
+ </font>
+ <font>
+ <name>font12</name>
+ <filename>Arial.ttf</filename>
+ <size>17</size>
+ </font>
+
</fontset>
-</fonts>
\ ファイル末尾に改行がありません
+</fonts>
fonts.sh
--- /usr/share/kodi/addons/skin.osmc/16x9/Viewtype50.xml.orig 2018-12-22 18:27:35.000000000 +0900
+++ /usr/share/kodi/addons/skin.osmc/16x9/Viewtype50.xml 2019-03-01 16:26:18.686248298 +0900
@@ -49,11 +49,22 @@
<left>32</left>
<top>0</top>
<width>1018</width>
- <height>60</height>
+ <height>40</height>
<font>Font36</font>
<label>[LIGHT]$INFO[ListItem.Label][/LIGHT]</label>
<textcolor>TextColor2</textcolor>
</control>
+ <!-- Datetime w Duration mmm -->
+ <control type="label">
+ <left>32</left>
+ <top>35</top>
+ <width>1018</width>
+ <height>20</height>
+ <font>Font13</font>
+ <label>[LIGHT]$INFO[ListItem.Date] $INFO[ListItem.StartTime(hh:mm)] $VAR[Duration][/LIGHT]</label>
+ <textcolor>TextColor2</textcolor>
+ <visible>!ListItem.IsFolder</visible>
+ </control>
<!-- Watched status -->
<control type="image">
<left>0</left>
@@ -71,13 +82,26 @@
<left>32</left>
<top>0</top>
<width>1018</width>
- <height>120</height>
- <font>Font73</font>
+ <height>102</height>
+ <font>Font55</font>
<label>$INFO[ListItem.Label]</label>
<textcolor>TextColor1</textcolor>
<scroll>True</scroll>
<animation effect="fade" start="100" end="50" time="200" tween="cubic" easing="out" reversible="true" condition="!Control.HasFocus(50)">Conditional</animation>
</control>
+ <!-- Datetime w Duration mmm -->
+ <control type="label">
+ <left>32</left>
+ <top>42</top>
+ <width>1018</width>
+ <height>102</height>
+ <font>Font27-Light</font>
+ <label>$INFO[ListItem.Date] $INFO[ListItem.StartTime(hh:mm)] $VAR[Duration]</label>
+ <textcolor>TextColor1</textcolor>
+ <scroll>True</scroll>
+ <animation effect="fade" start="100" end="50" time="200" tween="cubic" easing="out" reversible="true" condition="!Control.HasFocus(50)">Conditional</animation>
+ <visible>!ListItem.IsFolder</visible>
+ </control>
<control type="image">
<left>32</left>
<top>0</top>
以下 (patchコマンドを入れるので…)自己責任で…
ファイルのBackup $ cp -p /usr/share/kodi/addons/skin.osmc/16x9/Font.xml /usr/share/kodi/addons/skin.osmc/16x9/Font.xml.orig $ cp -p /usr/share/kodi/addons/skin.osmc/16x9/Viewtype50.xml /usr/share/kodi/addons/skin.osmc/16x9/Viewtype50.xml.orig OSMCってpatchが入っていないので,入れる。 $ sudo apt install patch -y $ patch < Font.xml.patch $ patch < Viewtype50.xml.patch $ sudo systemctl restart mediacenter
コメント 0