各ソフトウェアのアップデートのお知らせ

RINEARNでは、10月12日付けで、リニアングラフ3Dなどの各ソフトウェアのアップデート版を一括でリリースいたしました。

アップデート対象のソフトウェア一覧

今回アップデートを行ったソフトウェアの一覧は、下記の通りです:

主なアップデート内容

今回のアップデートは、内容としては、比較的地味な調整レベルのアップデートです。 一方で、今回は前回から1年以上の間が空いてしまい、久しぶりのアップデートとなったため、改めてお知らせ記事にまとめました。

主な更新点は下記の通りです。

デフォルトの文字コードを切り替え可能に

今回更新対象となったソフトウェアは、全てJava®言語製で、Java言語の実行環境上で動作します。 そのJava言語では、従来は日本語の Windows®環境において、標準で CP932/MS932(≒Shift_JIS)の文字コードが使用されていました。 一方で、最近のバージョン(Java 18)以降では、標準で UTF-8 の文字コードが使用されるようになりました。

UTF-8 は、長期に渡る文字コードの混沌期を経て、新しいスタンダードの座に収束しつつある文字コードです。 そのため、新たにソフトウェアを使い始めて、新しいファイル(データファイルやスクリプトなど)を作成していくような場合には、UTF-8 で使うのがおすすめです。

一方で、過去に作成したデータファイルやスクリプトは、新しいJava言語環境の上では、そのままでは文字化けしてしまう可能性があります。 文字化けしているファイルをテキストエディタ開いて、UTF-8 で保存しなおせば解消されるのですが、対象ファイルが大量にある場合には、少し面倒です。

そこで今回のアップデートにおいて、各ソフトウェアのフォルダ内に、標準の文字コードを切り替えるバッチファイル「 文字コードの切り替え.bat 」を同梱しました。 これをダブルクリックすると、文字コードを UTF-8 のまま使うか、旧来通りの CP932 に切り替えるかを選択できます(もちろん元にも戻せます)。 そのため、数年前に作成したファイルを開いて作業する際に便利です。

同梱のテキストファイル類の文字コードを UTF-8 に

上記に関連して、標準で同梱されているテキストファイル類(日本語を含んでいるサンプルデータファイルやスクリプトなど)の文字コードを、UTF-8 に切り替えました。

初回起動時の準備処理などを手短に

また、起動関連の処理も少し改修しました。

各ソフトの起動処理では、初回起動時に環境構築や初期設定が行われますが、従来ではその中に、「 ZIPファイルをユーザーが手動で展開する 」という手順が含まれていました。

他の処理はほぼ全自動なので、ここも自動化したいという思いはずっとありましたが、「なるべく古い環境でも使えるようにする」という観点から、長らく保留となっていました。 具体的には、ZIPファイルの自動展開のために使いたい処理(PowershellのExpand-Archive)が、Windows 7 の標準状態では恐らく動かないという点が懸念となっていました。

Windows 7 は既に2020年にサポートが終了しているのですが、前回アップデート配信時点ではまだそこから1年程度であったため、7 を使い続けている環境が一定割合存在する事を想定し、この箇所の自動化を見送りました。

今回は、さすがに Windows 7 のサポート終了から2年半以上が経過し、シェアも1桁パーセント台に落ちているため、今回のタイミングでZIP展開の自動化を実施しました。 なお、何らかの原因で自動展開に失敗した場合は、手動展開を案内するようになっているため、古い環境でも恐らく一応は使用可能です(おすすめはしませんが…)。

リニアングラフのアニメーションモード「INDEX」の問題点を修正して「INDEX-POINT」へ改名

ここまでは全ソフトウェアに共通の更新内容でしたが、ここからはリニアングラフに関するものです。 両者とも、アニメーションモードの「INDEX」に関するものです。

まずはリニアングラフ3Dの方についてですが、上記アニメーションモード「INDEX」は、線プロットとの併用時に、時刻スライダーの刻み値を t として、従来は「 t 番目と t + 1 番目の座標値 」を結ぶ線を描画していました。 それに伴い、点プロット併用時には、点は線の根本ではなく先に付くのが自然であるため、「 t + 1 番目の座標値 」の位置に点が描画されていました(これは t との対応関係がかなり不自然でした)。

上記は、座標点を結ぶ折れ線における [ t ] 番目の線分の定義として、上記の形になるのが自然である事に由来していました。 一方で他モードとの対応や、点プロット時の挙動の観点から見ると、t との対応付けを決める時点で吟味不足な、良くない定義になっていました。「INDEX」モードを多用されている方には混乱をお掛けしてしまい、申し訳ありません。

一方で、「INDEX」モードよりも後でサポートした「TRACE」モードでは、「 0 番目から t 番目までの座標値 」を結ぶ線を描画し、点も同範囲でプロットするようになっています(これは今回以降もそのままです)。 そして「INDEX」モードと「TRACE」モードを同じ時刻カウンタ値で比較すると、t との対応付けの違いにより、前者の方が 1 刻み分だけ未来の時点を表すという、厄介な非対称性がありました。

「INDEX」と「TRACE」は、恐らく切り替えて併用される事が多く、その場合、両者の違いは単に「 軌道の尾を引くか引かないか 」であってほしいと思われます。 また、「INDEX」モードの挙動はそもそも t との対応付け自体に問題を含んでおり、たとえ非互換な変更になったとしても、t との対応付けを 1 刻み分ずらし、自然な形に修正するのが望ましいのではないかと判断いたしました。

以上の事情から、今回のバージョンより、「INDEX」モードを「INDEX-POINT」に改名し、線プロット時は「 t - 1 番目と t 番目の座標値 」を結ぶ線、 点プロット時は「 t 番目の座標値 」の点を描画するように改めました。名称は、インデックスが「 座標点のインデックス 」を指す事(=そのように自然に解釈できる事)を意味します。

リニアングラフ2Dについても同様に、「INDEX」モードを「INDEX-POINT」に改名/小改修しました。

今回のアップデート内容は、以上の通りです。今後のアップデートについても、引き続きこのコーナーでお知らせしてまいります。


※ OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
※ Windows は、米国 Microsoft Corporation の米国およびその他の国における登録商標です。この記事は独立著作物であり、Microsoft Corporation と関連のある、もしくはスポンサーを受けるものではありません。