前回ブログで宣言した通り、表題の件を調べてみた。

kodiで使用言語を日本語にしている場合、
表示されるテキストの行端が揃うことなく不規則に折り返されるのである。


不具合であることは一目瞭然である。
ただ、メディアプレイヤーとしての機能に支障はなく、
そんな事、誰も気に止めていないのだろう。
現に、ネット上を調べてみるが、関連する記事は微塵もない。

そもそも不人気であるがゆえに放置されたままなのだろうか。
いや、その逆もしかりか...。

不人気であることに関して言えば、それ以外にも理由は思い浮ぶ。
kodiは10feet uiを意識したものなので、pcでは使い勝手が悪い。
本領を発揮するのは、チューナレスTVや、
大画面モニターにラズパイ等のsbcを接続するといった環境だろう。
何れにしても敷居は高く、一朝一夕にユーザーが増えるとは思えない。
ただ、最近ではチューナレスTVが家電としての市民権を得つつある。
注目が集るとすれば今だと思うのだが...。

さて、kodiの悪口はここまで。
早速、この問題を調べていきたい。

まずは、スキンを構成するタグから解決する道を探りたいと思う。
これで修正できるようならお手軽である。
手始めにスキンのタグをマニュアルから確認してみる。

KODI Skinning Manual

数あるタグから、関係していそうなものは唯ひとつ。

<wrapmultiline>

しかしながら、行端での折り返しを指定するだけのようだ。
また、それより細かく指示できるタグはみあたらない。

こうなると、不本意ながらソースコードの修正を試みるしか無さそうである。

さて、この謎改行。
なんとなくではあるが、原因はアレだろうと想像がつく。

文章編集用エディターに備わっている機能として、
単語を行端で切らずに折り返すものがある。
見易くするためとはいえ、それが仇となってはもともこもない。

ソースコードから当該処理を確認してみる。
処理自体はとてもシンプル。
折り返し出来るもの、そうでないものを文字コードによって分けているだけ。
更に言えば、用意された範囲設定はひとつのみ。

コード表と比べてみると、日本語の一部が折り返し許可の範囲から漏れている。
それに合わせて範囲を広げるだけで問題は解消された。

未修正のkodi on Windows


修正済のkodi on pi


文字コードに関する複雑なことは理解していないが、
流石に、ひとつの範囲設定のみで各国言語を括るのは乱暴ではないか?

いずれにしても、修正にはkodiのビルドが必要になる。
それでなくても知名度の低いソフトなのに、
ローカライズがお座なりなのは寂しい限りである。
まぁ、そこはオープンソースの宿命なのか...。

 

追伸
投稿した後に気付いたのだが、
修正済み画像の最下行が、謎改行のままになっている。
これは、全角アルファベットを含む改行許可されない文字が影響しているようだ。
デフォルトは、漢字の終りとなる0x9fffまでを範囲としているのだが、
いっそのこと0xffffにすると改行されなくなる。