テキストエディター「Mery」ベータ版 Ver 3.7.15 を公開

テキストエディター「Mery」ベータ版 Ver 3.7.15 を公開

そろそろ Ver 3.7 系も落ち着いてきたし、次はいよいよ Ver 3.8 系の開発へ、と思っていたのですが…。

Ver 3.7.13 をリリースしてから、たくさんのご意見、ご要望、不具合のご報告をいただき、もう少しだけ Ver 3.7 系で手を入れておきたいところが見えてきました。

それから、これまで Ver 3.7 系の更新情報は 1 つの記事にまとめていましたが、リリース番号が 2 桁に突入し、記事もかなり長くなったため、ここで記事を分けることにしました。

ゴールデンウィークが終わっても、ちょっとした「お得」はまだ続きます。お出かけ気分を盛り上げるセール、見逃し厳禁です!

PR

Amazon で Fashion x お出かけ タイムセール祭りが開催中。この春のおしゃれもお出かけグッズも、お得にそろえるチャンスです。

Fashion x お出かけ タイムセール祭り
  • 2025年5月6日 (火) 9:00 ~ 5月12日 (月) 23:59

セール会場はこちらからチェック!

夏を先取りするファッション、アウトドアや旅行にぴったりなアイテムまで、幅広くお買い得にラインナップ!気になるアイテムは早めのチェックがおすすめです。

[LAMIO] ブルーライトカット メガネ PCメガネ 度なし ウェリントン マットブラック

[LAMIO] ブルーライトカット メガネ PCメガネ 度なし ウェリントン マットブラック
LAMIO
目も、気分も、軽やかに。ブルーライトから守る、毎日の相棒。
Amazon で探す 楽天市場で探す

スポンサーリンク

uchardet に対応

今回のバージョンでは、新たに uchardet というライブラリを導入し、テキストファイルのエンコード (保存形式) の自動検出機能を強化しました。

uchardet とは?

uchardet とは、Firefox でおなじみの Mozilla が開発した「文字のエンコードを推測するアルゴリズム」をベースにしたライブラリです。

ざっくり言うと、「このテキストファイル、どの言語で、どんな形式なの?」を賢く予測してくれる仕組みです。

これにより、これまでの Mery では判別できなかった外国語のテキストファイルも、より正確かつ柔軟に開けるようになります。

uchardet を使うには?

uchardet は多言語に対応しており、中国語やタイ語など、日本語以外のテキストにも強いのが特長です。

ただし、対応範囲が広い反面、短いテキストや、日本語のように似た文字コードが多い言語では、誤検出が起こりやすくなる可能性もあります。

特に日本語だけを扱う場合は、Mery がこれまで採用してきた日本語に特化した方式のほうが、正確に判別できるケースもあるため、uchardet の使用はオプションとして選べるようにしました。

外国語のテキストを扱う機会が多い方は、以下の手順で uchardet を有効にしてみてください。

  1. [ツール] メニューから [オプション] を選択し、[オプション] ダイアログを表示します。
  2. [基本] カテゴリの、[エンコードの検出に uchardet を使用する] をオンにします。
  3. 右下の [OK] ボタンをクリックして設定を適用します。

uchardet を使うには?

共通ダイアログをダーク モードに対応

[ファイルを開く] や [色の設定] などでおなじみの共通ダイアログ。

Mery は以前からダーク モードに対応していましたが、この共通ダイアログだけは、ずっと白いままでした。

というのも、Windows にダーク モードが追加された頃、エクスプローラーや [ファイルを開く] ダイアログはサクッと黒くなってくれて、「おっ、この調子で全部黒くなるんじゃ?」と期待していたのです。

…が、待てど暮らせど変わらず。

Windows 10 にダーク モードが登場したのが 2016 年。今はもう 2025 年。

さすがにそろそろ見切りをつけて、Mery 側で対応してみました。

メッセージ ボックス

Mery を使っていると、しばしば目にするこのダイアログ。

ダークな画面に突然、真っ白なウィンドウが現れると、ちょっと目がつらい…。今回の対応で、そのあたりの負担がグッと軽くなるはずです。

メッセージ ボックス

色の設定ダイアログ

あまり出番は多くないかもしれませんが、Ver 3.7.13 で [カラー コードを開く] 機能が追加されたことで、ちょっと目にする機会が増えたかも?

こちらも黒くできましたが、一部どうしても色を変更できない部分 (三角マーク) がありまして…気になる方もいらっしゃるかもしれませんが、ご容赦ください。

色の設定

プリンターの設定ダイアログ

最近は紙に印刷する機会が減ったとはいえ、PDF への出力はむしろ増えてきましたよね。ということで、このダイアログも意外と登場する場面があると思います。

プリンターの設定

ちなみに、その奥にある [プロパティ] ダイアログなどは、仕様上ダーク モード非対応です。これをやり始めるとキリがないので、このあたりでご勘弁を…

フォルダーの参照ダイアログ

こちらは昔ながらの [フォルダーの参照] ダイアログ。

確か、Windows 7 か Vista あたりから、[ファイルを開く] ダイアログでもフォルダーが選べるようになりました。でも、やっぱりこのレガシーなダイアログの方がシンプルで使いやすいんですよね。

Mery では、[ファイルから検索] で [検索するフォルダー] を選ぶときなどに使われています。

フォルダーの参照

オートコンプリート ドロップダウン

編集コントロールに文字列を入力すると、ファイル パスの候補がドロップダウンで表示される、あの便利なやつです。

これ、[ファイルを開く] ダイアログで表示されるときはダーク モードに対応しているのですが、アプリに実装すると、白いままなんですよね。

オートコンプリート ドロップダウン

さらに、右下のサイズ変更グリップには謎の力が働いていて、テーマの変更がまったく効かないという、非常に厄介な状況。仕方なく、自前で描画することにしました。

[常に手前に表示] の視認性を向上

ウィンドウを常に手前に固定すると、たとえば、背面でブラウザーを開きながら、前面でテキストエディターでメモを取る、そんな作業もスムーズにできますよね。

便利に活用している方も多いと思いますが、「うっかりオンにしたままで、ちょっと邪魔だった…」なんて声も聞こえてきます。

そんな中、共通して寄せられるのが、こんなご意見。

「今、このウィンドウが [常に手前に表示] なのか、ちょっとわかりにくい…」

[常に手前に表示] の視認性を向上

確かに、ひと目で状態がわかるともっと便利になりそうですよね。

そこで思いついたのが、Windows 11 以降で Win32 アプリからも使えるようになった「タイトル バーとウィンドウの境界線の色を変える機能」です。

色でわかる [常に手前に表示]

この機能を使うと、[常に手前に表示] に設定されたウィンドウのタイトル バーと境界線の色が自動的に変わり、どのウィンドウが [常に手前に表示] されているかが一目でわかるようになります。

色でわかる [常に手前に表示]

Windows 11 のウィンドウ枠の色変更機能、「どんな時に使うんだろう?」と思っていましたが、[常に手前に表示] との相性はとても良さそうです。

また、従来、Win32 アプリで同じことを実現するためにはカスタム実装が必要でしたが、Windows 標準の仕組みを使うことで、UI の一貫性が保たれるのもポイントです。

[常に手前に表示] の色を変える設定

[常に手前に表示] の状態をわかりやすくしたい場合は、以下の手順で設定してみてください。

  1. [ツール] メニューから [オプション] を選択し、[オプション] ダイアログを表示します。
  2. [ウィンドウ] カテゴリの、[タイトル バーとウィンドウの境界線を強調表示する] をオンにします。
  3. 右側の [...] ボタン をクリックして、お好みの色を選択します。
  4. 右下の [OK] ボタンをクリックして設定を適用します。

[常に手前に表示] の色を変える設定

このオプションは Windows 11 以降でのみ有効です。Windows 10 以前では機能しません。
仕様上の制限として、マイカやアクリル テーマを使用している場合、ウィンドウを最大化するとタイトル バーのデザインが少しずれて表示される問題が確認されています。これは Windows 11 側の仕様によるもので、現時点では Microsoft の対応を待つしかなさそうです。

[常に手前に表示] を外部アプリと連動

さらに、この [常に手前に表示] 機能、ちょっと地味だけど便利な改善も加えています。

たとえば、Microsoft PowerToys のように、キーボード ショートカット (ホット キー) でウィンドウをサッと [常に手前に表示] に固定できるツールを使っている方も多いのではないでしょうか?

これまでは、そういった外部アプリで Mery のウィンドウを [常に手前に表示] にしても、Mery 側は「オンになった」と認識できず、[表示] メニューのチェック マークなども連動しませんでした。

今回のアップデートで、外部からの操作に対しても、Mery が状態を認識し、メニュー表示なども連動するようになりました。

もちろん、ウィンドウ枠の色変更も連動できます。

これにより、PowerToys のような枠線を表示して視認性を高めるツールだけでなく、シンプルなツールを使っている場合でも、Meryの [常に手前に表示] の状態が自動的に更新され、視覚的にもわかりやすくなります。

変更ログ

本バージョンではいくつかの不具合修正や機能改善が含まれています。現在お使いのバージョンで問題がある場合はバージョンアップで改善されるかもしれません。

3.7.15 (2025-05-06)

  • Windows の設定で [アクセス キーに下線を引く] がオンのとき、共通ダイアログのボタンがダーク モードで描画されない問題の対策

    フォーラム ver 3.7.14 リリースお疲れ様でしたーの雑談部屋

  • [ファイルから検索 (置換)] ダイアログで [複数行] がオンのとき、[>] ボタンの位置がずれる問題を修正

    フォーラム 「ファイルから検索」で「複数行」をオンにしているときに一部ボタン位置がずれる

  • [複数行] がオンのとき、エディットにフォーカスを移動すると、すべて選択するようにした

    [複数行] がオフのときと同じ動作にしました。

  • マクロ ファイルと単語補完辞書ファイルの読み込み時に、uchardet を使用しないようにした

    マクロ ファイルのように日本語をあまり含まないファイルでは、uchardet がシフト JIS を誤検出することがあります。

    そのため、[エンコードの検出に uchardet を使用する] の設定に関わらず、ファイルを開くとき以外では uchardet を使用しないようにしました。

  • その他、細かい修正

3.7.14 (2025-04-30)

  • uchardet に対応

    最近は UTF-8 が主流ですが、他のエンコードもまだまだ使われていますよね。

    今回、「簡体字中国語 (GB18030) に対応してほしい」というご要望をいただき、どうせなら自動判別もできたら面白いかも?と思い、uchardet に対応してみました。

  • 共通ダイアログをダーク モードに対応

    Windows の機能をフック (割り込み) して、強引にダーク モード化しています。

    できるだけ Mery 本体の共通ダイアログだけに適用されるよう調整していますが、ダイアログのタイトルをもとに判別しているため、一部のプラグイン側のダイアログにも適用されてしまう場合があります。

    もし適用されて困る場合は、Mery.ini[General]セクションにUseSysDarkMode=0を追記することで、この機能を無効化できます。

    なお、Windows の機能を直接フックしている仕様上、[アプリのテーマ] を [システム設定を使用する] にしていても、共通ダイアログはリアルタイムでは Windows のモード変更に追従しません。ダイアログを開き直すと、現在のモードが反映されます。

  • Windows 11 でチェック ボックスをダーク モードに対応

    Windows 11 環境で、ようやくチェック ボックスがダーク モードに対応しました。今さら感はありますが…。Microsoft さん…ちょっと遅くないですか?

  • アウトプット バーとアウトライン プラグインのスクロール バーをマイカとアクリルに対応

    これで、表示部分のほとんどがマイカ対応になったかと思います。(アウトライン以外のプラグインは、未対応ですが…)

  • [エンコード] に [簡体字中国語 (GB18030)] を追加

    フォーラム 簡体字中国語(GB18030)に対応してもらえませんか?

  • [外部ツールのプロパティ] に [アウトプット バーにフォーカスを設定する] を追加

    これまでは外部ツール実行時に必ずアウトプット バーにフォーカスが移っていましたが、この設定をオフにすることで、エディターにフォーカスを維持できるようになります。

    また、この設定をオフにした上で [終了時に閉じる] をオンにすると、アウトプット バーを表示せずに外部ツールを実行することも可能です。

  • [外部ツールのプロパティ] の [出力] に [ツールチップを表示] と [クリップボードに保存] を追加
  • [編集] カテゴリに [行を選択] と [単語を選択] を追加

    フォーラム キー入力の任意回数繰り返しの簡単な方法はありますか?

  • 最大化中にタブを分離した際のウィンドウ サイズ調整処理を追加

    これまでは最大化されたサイズのまま分離されてしまっていましたが、今回の調整で元のウィンドウ サイズで分離されるようになりました。

    マルチディスプレイ環境だと、こういうケース、意外とあるんですよね。

  • [プラグインの設定] のチェック ボックスでメイン メニューとプラグイン バーへの表示/非表示を切り替えられるようにした

    「プラグインが増えすぎて困る!」という状況はあまりないかもしれませんが、メニューに出さなくていいプラグインを非表示にできるようになりました。

  • V8 マクロの動作速度が低下していた問題を修正

    Ver 3.7.12 の仕様に戻しました。

    フォーラム QuickJSやDelphiに関するちょっとした雑談

  • マクロの非同期処理をスレッド セーフにした

    マクロを別スレッドで実行する際、UI に関わる処理はメイン スレッドと同期して動作するようにしました。

    今回、記事を分けた理由のひとつがこれで、大きな仕様変更となるため、既存のマクロに影響が出る可能性があります。

    新しいバージョンでマクロの動作がおかしくなった場合に備え、Ver 3.7.13 は引き続き以前の記事からダウンロードできるようにしています。

  • マクロの editor.ExecuteMacro メソッドで V8 の呼び出しを入れ子にすると、エラーを返すように修正

    これは、内部で使用している WebView2 の仕様で、ExecuteScript(スクリプト実行機能) を入れ子にすると正しく動作しないためです。

  • マクロの Redraw プロパティをスクリプトエンジン間で共通化
  • マクロの ScrollX プロパティが正しく動作していなかった問題を修正
  • マクロの editor.EnableTab プロパティが読み取り専用になっていた問題を修正
  • マクロの document.KeepScrollPos の取得時に値が逆になっていた問題を修正
  • マクロの FuzzyOptions オブジェクトを editor から window へ移動

    仕様変更になりますが、今のところFuzzyOptionsを使っているユーザーさんはいないと思うので、大丈夫ですよね?

  • マクロに window.ShowTip メソッドを追加

    カーソル位置、またはマウス ポインター位置にツールチップを表示します。マクロからちょっとした結果をヒント表示したい、といった用途に使えます。

    マクロリファレンス ShowTip メソッド

  • マクロに window.CreateObject メソッドを追加

    V8 マクロからvar fs = CreateObject("Scripting.FileSystemObject");のように、ActiveXObject を使用できるようになりました。

    マクロリファレンス CreateObject メソッド

    また、互換性のため、new ActiveXObjectという書き方も使えるようにしておきました。

    ただし、JScript と JavaScript の仕様の違いなのか、一部のオブジェクトで互換性に問題がある場合があります。

    たとえば、Scripting.FileSystemObjectFileオブジェクトはPathプロパティが使えない、など。(Fileオブジェクト自体を出力するとPathが出力される?)

    ちなみに、Microsoft は ActiveX のサポート終了を発表しています。

    現時点では Internet Explorer や Office 製品での ActiveX コントロールに関する影響が中心のようですが、今後の動向によってはこの機能にも影響が出るかもしれません。

    フォーラム javascriptマクロでV8使用時にactivexオブジェクトを使いたい

  • マクロに window.CreateEnumerator メソッドを追加

    V8 マクロから、var enum = CreateEnumerator(editor.documents);のように、Enumerator を使用できるようになりました。

    マクロリファレンス CreateEnumerator メソッド

    また、互換性のため、new Enumeratorという書き方も使えるようにしておきました。

    Enumerator が使えないと、たとえば、Scripting.FileSystemObjectFilesコレクションのように、Enumerator が前提のオブジェクトにアクセスできませんからね。

    ただし、JScript の Enumerator と完全な互換性があるわけではありません。

  • マクロに shell.Exec メソッドを追加

    ActiveX 廃止を想定した実装で、WScript.Shell.Execの簡易版です。

    マクロリファレンス Exec メソッド

    非同期実行や出力ストリームなど、本家のWScript.Shell.Execにあるような高度な機能はありませんが、ちょっとした処理には手軽に使えると思います。

    フォーラム Meryで生成AIを使ってみる雑談部屋

  • マクロに shell.CurrentDirectory プロパティを追加

    こちらも、ActiveX 廃止を想定した実装で、WshShell.CurrentDirectoryと同様、カレント ディレクトリを取得または設定します。

    マクロリファレンス CurrentDirectory プロパティ

  • [オプションを指定して実行] の [繰り返し回数を指定する] で、エラーが発生した場合や [検索に失敗したら中止する] が有効な場合、繰り返しが停止しなかった問題を修正
  • [ウィンドウ] の [常に最上位] を [常に手前に表示] に変更

    フォーラム Mery以外のタスクバーボタンをクリックしてもウィンドウが切り替わらない

  • [オプション] の [タブ/インデント] カテゴリの項目の並び順を調整

    フォーラム オプション画面の文言案

  • [オプション] の [ウィンドウ] カテゴリに [常に手前に表示] の [タイトル バーとウィンドウの境界線を強調表示する] を追加

    このオプションは Windows 11 以降でのみ有効です。また、マイカ、アクリル テーマ使用時に OS 側の不具合 (最大化時の表示ずれ) があるため、試験的な実装となります。

  • [オプション] の [ウィンドウ] カテゴリの [アクセント カラーを使用する] を [基本] カテゴリに移動

    [基本] カテゴリに少しスペースができたので元に戻しました。ただし、今後さらに優先度の高い項目が出てきた場合は再移動する可能性もあります。

    フォーラム 「オプション」画面で「アクセントカラーを使用する」を設定する方法

  • [箇条書きインデントを有効にする] の項目名を [箇条書きのインデント幅を自動調整する] に変更
  • [箇条書きのインデント幅を自動調整する] を Markdown のタスク リストに対応

    Markdown のタスク リスト (- [ ]) を認識するようにしてみました。必要に応じて [追加のインデント文字] に-*を登録してください。なお、[]の登録は不要です。

    フォーラム QuickJSやDelphiに関するちょっとした雑談

  • 特定の条件下でウィンドウの位置が復元されないことがある問題の対策

    フォーラム 正常起動しない

  • [読み直し] 実行時に、水平スクロールの位置が正しく復元されない問題を修正
  • ダイアログの表示位置ができるだけディスプレイに収まるようにした

    これまでは、[オプション] ダイアログなどが親ウィンドウの中央に表示されていたため、親ウィンドウが画面端にあると、ダイアログが画面外に出てしまう…ということがありました。

  • ダイアログがディスプレイに収まらない場合はスクロール バーを表示するようにした

    フォーラム オプション画面のスクロールバーについて

  • 初回起動時にダーク モードが有効な場合、ダーク テーマを適用するようにした

    最近のアプリのトレンドに合わせて、よりスムーズに使い始められるように対応してみました。

  • TOpenPictureDialog を廃止

    最近の Windows に付属する標準の [ファイルを開く] ダイアログには既にプレビュー機能が備わっているため、専用の TOpenPictureDialog を使う必要がなくなったためです。

  • 隠しオプションの [General] UseSystemCursor を廃止

    Windows 2000 時代に互換性維持のために用意していたものだと思うのですが、もう使用されることもなさそうなので、今回で整理しました。

  • [Googleで検索] のリンク先を www.google.com に変更

    フォーラム メニューの要望

  • [Wikipediaで検索] のリンク先を、検索キーワードに一致しない場合でも検索結果ページが表示されるように変更
  • 検索ダイアログで [複数行] がオンのとき、正規表現テンプレートを選択すると入力済みの文字列が消えてしまう問題を修正

    フォーラム 検索窓で [複数行] オン時、正規表現テンプレート入力で既存文字列が消える

  • プラグインに Editor_ShowTip メソッドを追加
  • その他、細かい修正

ダウンロード

導入が簡単なインストーラー版、設定ファイルを外部に作成しないポータブル版、レジストリを一切使用しない ZIP 版を用意しています。

インストーラー版

解凍などの作業が必要なく簡単に使えるインストーラー版です。

Mery Ver 3.7.15 (64 ビット版) インストーラー Mery Ver 3.7.15 (32 ビット版) インストーラー
VirusTotal で誤検出されたり SmartScreen で保護されたりしますが、もちろんウイルスではありません。ご心配なかたは正式版が Vector さんか窓の杜さんで公開されるまでお待ちください。

ポータブル版

インストールは不要。通常の ZIP 版と異なり設定ファイルを外部に作成しないので USB メモリに保存して持ち歩けますし、PC 環境を汚すこともありません。

Mery Ver 3.7.15 (64 ビット版) ポータブル Mery Ver 3.7.15 (32 ビット版) ポータブル
ポータブル版は解凍したフォルダの中に、設定ファイルなどのすべてのデータを保存しますので、必ずアクセス権のあるフォルダに配置してください。

ZIP 版

アーカイブを解凍するだけですぐに使える ZIP 版です。

Mery Ver 3.7.15 (64 ビット版) ZIP Mery Ver 3.7.15 (32 ビット版) ZIP
ZIP 版はレジストリを汚したくないかた向けにインストーラー版の内容を ZIP アーカイブにしたものです。1 つの環境に複数の Mery を導入する場合は ZIP 版ではなくポータブル版をご利用ください。

おわりに

今回は、uchardet への対応や共通ダイアログのダーク モード対応など、個人的にはちょっと大きめのアップデートとなりました。

「えっ、大きな機能追加で Mery が重くなっちゃうんじゃ…?」と、心配された方もいらっしゃるかもしれませんね。

でも、そこはご安心ください!

Mery はこれまでもずっと、軽さとシンプルさを大切にしてきました。今回のアップデートでもそのポリシーは変わりません。

おわりに

実際、Mery.exeのファイル サイズを確認していただけると分かりますが、今回のバージョン、むしろちょっと小さくなっています。

実はこのあたり、地味に苦労したポイントなんです…

これからも「シュッとしたテキストエディター」を目指して、機能は厳選、実装はシンプルに。みなさんに長く使っていただけるように、一歩ずつ、大切に育てていきたいと思います。

それでは、新しい Mery をお楽しみください。そして、これからも Mery をどうぞよろしくお願いいたします。

by Amazon 秋田県産 あきたこまち 無洗米 5kg 令和6年産

by Amazon 秋田県産 あきたこまち 無洗米 5kg 令和6年産
全農パールライス
高騰に涙…でも、ふっくらご飯で心も温かくなるから、今すぐチェック!
Amazon で探す 楽天市場で探す

レンタルサーバー

「Haijin Boys Online」や「MeryWiki」など、Mery の最新版やマクロ、プラグイン、テーマなどのコンテンツを共有するプロジェクトは、レンタルサーバーで運営されています。

カラフルボックス (PR)

カラフルボックスは、業界トップクラスの信頼性を誇るレンタルサーバーです。

安定性と柔軟性に富んでおり、あらゆるニーズに応えることができます。

安心してご利用いただけるカラフルボックスは、Web サイトの構築やプロジェクトの展開に最適な環境を提供します。

クラウドソーシング サービス

個人向けの機能拡張やカスタマイズ、マクロやプラグインの開発、構文ファイルやテーマの制作について、お問い合わせをいただくことがあります。

しかし、現在は Mery 本体の開発に注力しており、個別のカスタマイズやその他の制作依頼にはお応えすることができません。

マクロやプラグイン、構文ファイルやテーマの制作は自由に行えますので、ぜひご自身で取り組んでみるか、あるいはクラウドソーシング サービスをご活用ください。

CrowdWorks (PR)

CrowdWorks は、日本最大規模のクラウドソーシング プラットフォームです。

アプリ開発やデータ入力、動画編集など、多岐にわたる仕事に対応しています。

数多くのプロフェッショナルが登録しており、高品質かつ迅速なサービスを提供しています。

ココナラ (PR)

ココナラは、手ごろな価格で高品質なクラウドソーシングサービスを提供しています。

プログラムの開発やロゴの作成、音楽制作など、幅広いニーズに対応しています。

クリエイティブなアイデアをかたちにするためのプロフェッショナルなサポートが用意されています。

スポンサーリンク

関連する記事

フォローする