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

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

Windows 11 22H2 で半角/全角キーを押すと一部のアプリケーションがクラッシュするという問題が発生していましたが、Microsoft が問題を認識し、2022年11月29日にリリースされた更新プログラム (KB5020044) 以降で解決されたようです。

外部 Delphi/C++Builder 製アプリが日本語変換時にクラッシュ ~Windows 11 バージョン 22H2 - 窓の杜

この問題は Windows Update で解決されると思いますが、引き続き問題が発生する場合は Mery を対策済みの Ver 3.3.8 以降に更新してみてください。

それから、Windows 10 April 2018 Update 以降で縦書きのダッシュ (―) やリーダー (…) が横書きで表示されてしまうという問題がありましたが、これも Windows 11 22H2 で解決されたようですね。

SwitchBot スマートリモコン ハブミニ Alexa スイッチボット Hub Mini スマートホーム 学習リモコン 赤外線家電を管理 スケジュール 遠隔操作 Google Home IFTTT Siriに対応(ホワイト)

SwitchBot スマートリモコン ハブミニ Alexa スイッチボット Hub Mini スマートホーム 学習リモコン 赤外線家電を管理 スケジュール 遠隔操作 Google Home IFTTT Siriに対応(ホワイト)
スイッチボット(SwitchBot)
すべてのリモコンはここに集まる!温かいオフトニウムから出ることなく、声だけであらゆるデバイスを操作してみよう。
Amazon で探す 楽天市場で探す

スポンサーリンク

V8 JavaScript エンジンに対応

マクロ機能で V8 JavaScript エンジンを使用できるようになりました。

V8 JavaScript エンジンは Edge や Chrome に搭載されているエンジンで、最新の JavaScript の仕様に対応しています。例えば…

JavaScript
#language = "V8"

// クラスフィールド宣言
class Cat {
	age = 2;
	static name = "souvenir";
}

// static なクラスフィールドはクラスから直接参照できます。
alert(Cat.name);

// クラスフィールドはインスタンスから参照します。
const cat = new Cat();
alert(cat.age);

このような感じで、ファイルの先頭に#language = "V8"を記述することで V8 JavaScript エンジンを使用できます。

現在のところ JavaScript モジュールには対応していないためimportexportは使用できませんが、#includeを使用して外部の js を読み込むことはできます。

例えば、markdown-it を読み込むときは…

JavaScript
#language = "V8"
#include "markdown-it.min.js"

editor.NewFile();
editor.ActiveDocument.selection.Text = markdownit().render(document.Text);

このような感じで、#include "markdown-it.min.js"を記述することで読み込めます。ちなみに、上記のマクロは Markdown 形式で記述した内容をレンダリングして、新しいタブに HTML 形式で出力します。

注意事項

キーワードの大文字と小文字は区別されます

V8 JavaScript エンジンを使用する場合、キーワードの大文字と小文字は区別されます。

従来のマクロとの互換性を保つため、先頭の文字に限って大文字と小文字、どちらも使用できるようにしておきましたが、それ以外の記述をされている場合はご注意ください。

JavaScript
#language = "V8"
// パスカルケース
Alert(ScriptName); // OK
JavaScript
#language = "V8"
// キャメルケース
alert(scriptName); // OK
JavaScript
#language = "V8"
// すべて小文字
alert(scriptname); // FAIL
仕様上の制限として window オブジェクトは小文字のみとなっています。
マクロは非同期で実行されます

マクロは WebView2 コントロールを使用して非同期で実行されるため、従来の JScript より遅くなる場合があります。

また、V8 JavaScript エンジンでは実行中のマクロを途中で停止できるようになりました。無限ループになってしまったときなどに [マクロ] メニューの [停止] からマクロを停止できます。

WebView2 ランタイムが必要です

V8 JavaScript エンジンは WebView2 コントロールを使用しています。

Windows 10 未満の場合はこちらから WebView2 ランタイム (Evergreen ブートストラップ、または Evergreen スタンドアロン インストーラー) をインストールしてください。

通常、Windows 10, 11 には WebView2 ランタイムが含まれていますが、マクロが動作しない場合は Windows を最新の状態にアップデートしてみてください。

タイプライター スクロールの [可変] モード

編集中の行 (カーソルのある行) が常に画面の中央に配置されるようになる「タイプライター スクロール」機能ですが、従来は [上 4 分の 1]、[上 3 分の 1]、[中間]、[下 3 分の 1]、[下 4 分の 1] から選択するかたちになっていました。

中間 + 固定スクロール

タイプライター スクロールの「可変」モード 1

上図は従来のモードで、[位置] を [中間] に設定し [固定スクロール] を有効にしたところです。カーソルのある行が常に画面の中央に配置されるようになり、視線の移動を抑えることで目への負担を軽減できます。

新たに追加された [可変] モードは、編集中の行 (カーソルのある行) を固定しつつ、その位置を自由に設定できる機能です。

メニューの [ツール]、[オプション] から [スクロール] カテゴリの [タイプライター スクロール] で [位置] を [可変] に設定します。

可変

[可変] に設定すると、改行を入力したときに編集中の行を固定してスクロールします。

タイプライター スクロールの「可変」モード 2

この設定は Scrivener で [タイプライター スクロール] を有効にしたときの動作に似ています。

可変 + 固定スクロール

[可変] に設定し [固定スクロール] を有効にすると、マウスでクリックした行を基準に、カーソルの移動に追従してスクロールします。

タイプライター スクロールの「可変」モード 3

この設定は Ulysses で [固定スクロール] の [可変] を選択したときの動作に似ています。

使い方のヒント

[可変] モードにおける [固定スクロール] の位置はマウスでクリックした行、または、[タイプライター スクロール] を有効にしたときにカーソルのある行が基準として設定されます。

[タイプライター スクロール] に Shift+Ctrl+T などのショートカット キーを割り当てて、必要に応じて [タイプライター スクロール] の有効/無効を切り替えることで、キーボードのみで操作することもできます。

正規表現でメタ文字を無効化する機能

正規表現を使って検索するときに、[検索する文字列] にドット.やカッコ[]などのメタ文字を含む文字列をそのまま検索したい場合、それらをエスケープする必要があります。

例えば[2022.12.24]という文字列を含む行を検索するなら、^.*?\[2022\.12\.24\].*?$のような感じになるでしょう。

今回の機能追加で正規表現の新たな構文、\Q\Eが使えるようになりました。

正規表現でメタ文字を無効化する機能

\Q\Eで囲まれた文字列はエスケープしなくてもメタ文字として認識されなくなるので、シンプルに^.*?\Q[2022.12.24]\E.*?$と記述できます。

\Q\Eで囲むだけという簡単な記述で、一時的または部分的に正規表現を無効化できるので「これってエスケープが必要だっけ?」という心配もなくなって、とっても便利です。

変更ログ

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

3.4.3 (2023-02-07)

  • ポータブル版で V8 JavaScript エンジン (WebView2 コントロール) が動作しない問題の対策

    この問題が発生したユーザーさんで、ポータブル版の Ver 3.4.3 を上書きインストールされる場合はMery.exeと同じ場所にWebView2フォルダー (このフォルダーが原因でした) が作成されているはずなので削除してください。

    フォーラム 中点『・』の単語区切りでの扱い

3.4.2 (2023-02-07)

3.4.1 (2023-02-06)

3.4.0 (2022-12-24)

  • タブの何もないところでマウスホイールをクリックしたときにアクティブなタブを閉じていたのを廃止

    フォーラム タブバー上でホイールクリックしたときの動作について

  • [全画面表示] と [Zen モード] の終了方法のヒント表示を廃止

    フォーラム Windows のコントラストテーマ有効時に Zen モードの通知の文字が見えなくなる

  • [オプション] の [タブとウィンドウ] カテゴリに [マウス ホイールでタブを選択する] を追加

    マウスの慣性スクロールで予期せずタブが切り替わってしまう場合など、マウス ホイールによるタブの選択を無効化できるようになりました。

  • [オプション] の [キーボード] カテゴリに [リセット] ボタンを追加

    キーボードの割り当てを初期値に戻せるようになりました。

  • マクロの定数に meStatusEnabled と meStatusChecked を追加

    QueryStatusByIDの戻り値としてmeStatusEnabledmeStatusCheckedの組み合わせを返します。

  • マクロイベントの [文字が挿入された時] が制御文字の入力や [書き換え禁止] のときにも発生していた問題の対策

    フォーラム マクロのイベントで実行について

  • マクロの記録で [書き換え禁止] のときにもキーの入力が記録されていたのを修正
  • [検索する文字列]、[置換後の文字列] に改行文字が含まれる場合の動作を改善

    フォーラム 検索、置換で改行を含む文章が選択できません

  • [単語補完] のウィンドウで Tab キーでも確定できるようにした

    フォーラム 【要望】単語補完の確定を Tab キーでも行いたい

  • [論理行で表示] のときにステータスバーの選択行数を論理行数で表示するようにした
  • カーソルが行頭にあるときは選択行数に含めないようにした

    フォーラム 選択時のステータスラインの行数表示

  • エディターごとに [折り返し方法]、[行の文字数] が異なる状態でオプション画面を開いたときに設定を維持するようにした

    エディターごとに [折り返し方法]、[行の文字数] が異なる場合、オプション画面の [折り返し方法] は未選択となり、その状態で [OK] ボタンをクリックしてもエディターごとの設定は維持されるようになりました。

  • 正規表現で鬼車、鬼雲の \Q...\E に対応
  • [タイプライター スクロール] の [可変] に対応
  • [タイプライター スクロール] のショートカットキーの初期値を Shift + Ctrl + T に変更

    フォーラム タイプライタースクロールを無効にしたい

  • [固定スクロール] がオフの場合、サブエディターで [タイプライター スクロール] が動作しなかったのを修正
  • Windows 11 でメニューをマウスで操作したときの挙動を修正

    フォーラム メニュー項目の選択表示について

  • Windows 11 のダークモードでタブバーのスクロールボタンが描画されない問題の対策
  • ダークモードでタブバーのスクロールボタンにマウスを乗せたときにタブのホバー状態が解除されなかったのを修正
  • [タブを複数行にする] がオフの場合、新規タブでタブバーをアクティブなタブまでスクロールするようにした

    フォーラム ファイルオープン時、タブが見切れた状態になってしまう

  • URL の判定処理の仕様を変更

    ユニコード文字を含む URL に暫定対応しました。仕様は Visual Studio Code Ver 1.74.2 Ver 1.75.0 に準拠したつもりです。

    フォーラム デコード URL

  • [アクセント カラーを使用する] をライトモードでも使えるようにした
  • ハイコントラストモードのときに [アクセント カラーを使用する] でタブを強調表示するようにした

    フォーラム 開いてるタブの視認性について

  • ハイコントラストモードのときに [書き換え禁止] アイコンを見やすくした
  • [インクリメンタル サーチ] がオンのときに [すべて検索] の履歴が記録されなかったのを修正

    フォーラム [すべて検索] をしたときの検索履歴の挙動について

  • マルチディスプレイ利用時、[全画面表示]、[Zen モード] を解除するときのマウスの判定を修正
  • その他、細かい修正

ダウンロード

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

インストーラー版

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

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

ポータブル版

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

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

ZIP 版

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

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

おわりに

執筆向けとして評判のよいエディター、Scrivener や Ulysses は Mac 向けの有料アプリケーションですが、それらの機能のひとつを Mery にも実装して欲しいというご要望をいただきました。

一応、開発に挑戦してみましたが、これらの機能が気に入ったらぜひ Mac を購入して Scrivener と Ulysses に課金してくださいね。…と、怒られたときのフォローをしつつ。

おわりに

みなさん、開発支援のご協力ありがとうございます。

ドクペにパスタにスープ、シャンプーと青のり、猫ちゃんのフードボウル、お米、ビール、ギフト券などなど。

こんなにたくさんの支援物資とメッセージをお送りいただけるとは思ってもいなかったもので、驚きと感謝の気持ちでいっぱいです。

本当にありがとうございます!

ささやかではありますが感謝の気持ちを込めてクリスマスプレゼントをご用意いたしました。ご支援いただいたかたは12月24日、25日の期間限定、無料でダウンロードできるようになっていますので、どうぞご利用ください。

上記の特典は、ご好評につき配布終了しました。

Anker Nebula (ネビュラ) Capsule II(Android TV搭載 モバイル プロジェクター)【小型 プロジェクター / 200ANSI ルーメン / オートフォーカス機能 / 8W スピーカー / DLP搭載 / 5000種類以上のアプリケーション / ホームシアター】

Anker Nebula (ネビュラ) Capsule II(Android TV搭載 モバイル プロジェクター)【小型 プロジェクター / 200ANSI ルーメン / オートフォーカス機能 / 8W スピーカー / DLP搭載 / 5000種類以上のアプリケーション / ホームシアター】
Anker
おうちで大迫力な映画を見よう。私はダイソーで買った白い布でスクリーンを作りましたが、自宅映画館、楽しいよー!天井に投影して寝ながら見るのもアリですね。
Amazon で探す 楽天市場で探す

スポンサーリンク

関連する記事

フォローする