2018/06/18

2017年後半から2018年前半の活動報告

以下に挙げた以外のプロジェクトでの活動も少しだけ行っているが、主に活動していたプロジェクトでの活動内容についてをまとめておく。

  1. Winetricks
    1. DirectMusicのMIDI再生で必要な最小限のパッケージ選択 (Wine 3.0.x時点)
  2. Q4Wine
  3. Falkon
  4. Redshift
  5. Mageia

Winetricks

しばらくの間あまり作業することはなかったのだが、秋頃から色々と作業する部分(自分に修正できそうな問題点など)が出てきており、該当期間において最も活発に活動したプロジェクトとなった。

  • DirectMusic関係の多数のネイティブ版DLLについて、個別にインストールおよび使用(DLLオーバーライド設定)ができるように機能を分割
    • プログラムに最低限必要なネイティブ版DLLの組み合わせを探せるようにするとともに、正常動作する/しない範囲を明確にして将来のWineのDirectMusicの開発において役立つようにするのが狙いで、この分割により、アプリケーションによっては適用後のディスク使用量をわずかに減らすことができるようになった
  • VLゴシックフォントをインストールする機能vlgothicと、メイリオフォントの代替として同フォントを置換設定する機能fakejapanese_vlgothicを追加
  • Adobe AIRの最新バージョンをインストールできるように変更
    • URLが固定されたことにより、プロジェクト側としてはメンテナンスが楽になった反面、古いWinetricksを使用すると後述のダイジェストのチェックでインストールに失敗する場合があるため、最新のWinetricksをGitHubから取得して使用する必要がある点に注意
  • 全てのフォントをインストールする場合(allfontsの適用時)にフォント置換設定の項目を適用対象から除外して意図しない挙動を防ぎ、更にメタパッケージ的な項目も重複防止(処理時間短縮)のために除外
  • 管理者権限でのCDイメージマウントに関係した処理の改善と、fuseisoarchivemount(macOSでは標準ツールのhdiutil)を用いることでパスワードの入力をせずにイメージのマウントとその解除を行えるようにし、既存のCDイメージのマウント関係の処理についてこれらのツール群へ(全てを置き換えるのではなく、動作が確認できたものから)段階的に移行することも可能な機能の実装
  • タイプミスなどの小さな修正
  • Adobe AIRなどの最新バージョンが公開されたときにファイルのダイジェストのチェックが原因でインストールできなくなるため、早めの段階で最新バージョンのものにダイジェスト情報を修正
  • GitHubのリポジトリに新しい修正が入ったり、貢献者が修正取り込みの要求(Pull Request)を出したりするタイミングで “Travis CI” と呼ばれる別サービス上で実行される、本体の文法チェックおよび移植性チェックなどを行うツールの同サービスの環境へのインストール処理についての幾つかの改善
    • 実行されるチェックのプログラムはGitリポジトリのtestsディレクトリ内にあるシェルスクリプトで、Winetricksへの修正を作成した貢献者が自分のマシン上で直接実行することもできるが、変更の送信(gitpush)のタイミングで自動的にテストが行われて結果がしばらくした後で誰でもWebページ上で確認できるので便利・他の多数のGitHub上のプロジェクトでも同様の仕組みでソフトウェアのビルド処理やテストが自動的に動き、問題を含んだ修正が入りにくくなっている(プロジェクトによっては別途用意したサーバでJenkinsなどのプログラムを動かして連携させているところもある)
  • Wayback Machineでダウンロードするようになっていたファイルを別の利用可能なURLからダウンロードするように修正(archive.orgにアクセスできない国があることに加え、アクセスの安定性が完全ではないこともある)
  • DXVKのインストール処理を修正(機能が追加された時点ではDLLオーバーライドの指定が不正確で動作しなかった)
  • 一部のユーザの環境およびTravis CI内の環境でFTPサーバからのファイルのダウンロードが頻繁に失敗するため、HTTPやHTTPSの代替URLに置換

DirectMusicのMIDI再生で必要な最小限のパッケージ選択 (Wine 3.0.x時点)

音源データのgmdlsWineによっては提供されないため、必ず必要となる。ただ、DLS形式の別の音源ファイルを自分で用意して代わりに用いることはできる。

アプリケーションがこれ以外に必要とするネイティブ版DLLの組み合わせには幾つかのパターンがあり、ほとんどの場合に以下の2つが必須となる。最近のWOLF RPGエディター作品などGuruGuruSMF 4に基づくものはこれらだけで動作する。

  • dmsynth
  • dmusic

上記3つ以外に必要なものは、アプリケーションからの機能の呼び出され方(APIの使われ方)によって異なる。

ネイティブのdxdiag.exeにおけるDirectMusicのテストでは

  • dmband
  • dmime
  • dmstyle

Easy Music PlayerというMIDIプレーヤの場合は

  • dmband
  • dmime
  • dmloader
  • dmstyle

RPGツクールXP/VX/VX Ace作品では

  • dmband
  • dmime
  • dmstyle
  • dsdmo
  • dsound

が追加で必要。ただし、dmstyleについては端末にメッセージが大量に出るのを防ぐのが目的で音自体は内蔵版でも鳴るため、WINEDEBUG=-dmstyle指定をして内蔵版を使用することもできる。

Q4Wine

翻訳の更新の他、Winetricksで適用済みの項目(一覧内のアイコンが変わる)の認識に関係する修正(winetricks.logを直接読み込んで解析しQ4Wine向けの追加処理を行う)の追加を行った。

翻訳については、リリース版が公開されるタイミングが突然で事前に翻訳者にリリースが近いことが通知されないため、リリース版公開時に英語の部分が残ってしまうことがある。

Falkon

QupZilla時代の末期、未訳部分が幾つか残っていたのに気付いてしばらくした後で翻訳者申請をしてこれが通り、当時翻訳可能な部分はWebサイトを除いて全て翻訳を行った。その後プロジェクトがKDEに移行する関係でTransifexの翻訳はロック(変更できない状態に)され、今後はKDEの翻訳の流れで作業が行われるようになるため、 “翻訳者側が移行する手順についての案内が作者から行われる予定” と2月の時点で作者から通知が来ているのだが、その案内はFalkonの正式リリース後である6月の時点では来ていないため、それまでは翻訳が続行できない(バージョン3.0.1時点では幾つかの新しく追加された文字列が英語で表示される状態)。

なお、1月末に作者からFalkonの翻訳者一覧作成のために翻訳者名と言語名の申請が求められてこれに応じたことにより同ブラウザに既存の翻訳が引き継がれたが、それがなければ日本語の翻訳がFalkonへの移行時に失われて全て英語となっていた。

Redshift

以前作成した “ソフトウェアによる明るさとガンマの調整ソフト” xbrightness-rgbgammaとこのソフトウェアが競合する上にlibXxf86vmによる “ガンマランプ” の調整が手元の環境で動作しなくなったことでxbrightness-rgbgammaが実質動かなくなったのだが、GUIで明るさやガンマの調整を行うツールの需要は一部であるようなので、Redshiftのソースを直接利用して同ツール用の設定ファイルが書き出せて画面上で色の変化の確認もできるGUIツール(GTK+ 3を使用)を作成することを考え、2018年春に動くものができたので機能取り込みの要求を出したが、6月時点ではレビュー中段階なので、取り込まれるとしても期間がかかる見通し。

これが取り込まれれば、xbrightness-rgbgammaの代替として “ソフトウェア的な明るさと色ごとのガンマに加えて色温度も同時に設定可能なGUIツール” がRedshiftの一部として追加される。自動実行にはredshift-gtkが便利。色温度を変更しない(ブルーライトの軽減が不要な)場合は色温度を6500Kにすればよい。

このGUI設定ツールより前にはTravis CI用のファイルの修正やRedshiftの設定ファイルの探索ディレクトリについての改善(freedesktop.orgの仕様への準拠)も行い、バージョン1.12時点では取り込み済み。

また、このプロジェクトではLaunchpad上で翻訳を受け付けており、日本語は未訳部分が多かったのでそちらで翻訳作業を行い、バージョン1.12では日本語メッセージが表示されるようになっている。

Mageia

2017年夏にMageia 6を試したとき、あるエラーメッセージの日本語訳を目にしたことをきっかけにして同ディストリ固有の部分の翻訳の状況に興味を持ち、翻訳を希望する人向けのページを参考にしてTransifex上の申請と該当メーリングリストへのメール送信を行ったところ参加が承認され、その後翻訳を開始した。

翻訳はソフトウェアからWebサイト,ドキュメントに至るまで広い範囲にわたって行えるようになっているが、特にドキュメントの分量が多く、非常に手間と時間を要した。ただ、翻訳対象の種類を問わず、箇所によっては訳に自信のないところもある。

翻訳率は2017年夏に50%台だったのが90%台にまで上がったが、まだ残っているところや直す必要のありそうなところは色々とある。

日本語翻訳者用の日本語で書けるメーリングリストは2018年6月時点では存在しないが、(誰かMageiaの日本語翻訳について日本語で議論を行いたいという方がいる場合などで必要になれば)新しく設けることは可能ということだった。

翻訳以外では、翻訳時に見つけたソフトウェアの小さな不具合(翻訳可能文字列についての問題や、翻訳済みの文字列が英語で表示される問題など)やドキュメントの誤りなどの指摘や修正、ドキュメントの出力についての問題点の指摘や確認作業などの地味な活動も行ってきた。

Webの翻訳以外の成果物は今後公開されるリリースの6.1や7に含まれるものと思われるが、標準(と位置づけられている)デスクトップ環境のKDE Plasmaの側の翻訳率が低いため、Plasmaを選択してインストールした場合はその関係で英語のままの部分が多く感じられるかもしれない。