アップグレードに必要なシステム要件が厳しすぎて新しめの PC でも動かない可能性があるということで問題になっている Windows 11。
私が所有している PC は Core™2 Duo 世代のものばかりなので Windows 11 へのアップグレードは絶望的。今後、Mery の Windows 11 対応をどうするか、非常に悩ましいところです。
ZOOM ズーム フィールドレコーダー 2チャンネル入力32bitフロート録音 2022年発売 F3 黒
ZOOM(ズーム)
手のひらサイズでプロの音。何とかして手に入れたい、録音機材の決定版!
Amazon で探す
楽天市場で探す
目次
Windows 11 を使ってみる
そんな状況ではありますが、Windows 11 の Insider Preview (テスト版) はシステム要件が緩いということで、これを使って Mery の動作を検証してみました。
さて、Windows 11 の UI ですが、雑に言うと macOS っぽくなった感じがします。エクスプローラーやアイコンのデザインはちょっとオシャレになっており、個人的には割と好みです。
ただ、macOS のようにタスクバーのアイコンを中央に配置するのは構いませんが、スタートボタンまで中央に寄せるのは好ましくないと思いました。
長年の Windows ユーザーは無意識のうちにマウスを左下に持っていってしまいますが、そこにスタートボタンはありません。
また、アプリを起動してタスクバーにアイコンが増えてくると、スタートボタンはどんどん左に移動していき、気づいたときにはもうそこにありません。
もちろん、設定で従来の Windows のような配置にすることもできるので、それほど大きな問題というわけではありません。
Mery はと言うと、こちらは問題ありです。
Windows 11 ではスクロールバーの仕様が変わって、線のように細くなってしまいました。マウスポインターを乗せると少しだけ太くなるのですがそれにしても細すぎます。
上の画像の [スクロールバーを常に表示する] という項目を [オン] にすれば常に少しだけ太い状態になるのですが、Win32 アプリにはこの設定が効かないようです。
従来の Mery では [検索] コマンドを実行したときにスクロールバーマーカーによって細いスクロールバーが隠れてしまいました。おまけにスクロールバーの上下ボタンは表示すらされません。
ダークモードにおける独自描画の部分もだめです。[オプション] ダイアログのスピンエディットの上下ボタンも表示されません。
チェックボックスの色なんてオレンジ色になってしまっています。
しかしながら、ダークモードの非公開 API がそのまま使えているのは不幸中の幸いでした。
なお、2021年9月17日現在、Windows 11 の正式版はまだリリースされておらず、アプリケーションマニフェストに記述する supportedOS の Id (アプリの構成ファイルに記述する、対応 OS の識別子のようなもの) も発表されていない状態です。
Windows 11 は Windows 10 の単なるリネーム品で、OS としては 10 と同じというウワサもあるようなので、supportedOS の Id も 10 のままだったりするのかもしれませんが…。
そういうわけで、本バージョンは Windows 11 への正式対応とまではいきませんが、問題が発生しそうな箇所に対策を行いました。
2021年12月24日 追記
アプリケーションマニフェストですが、Windows 11 における supportedOS の GUID が正式に発表されており、やはり Windows 10 と同じでした。
外部 アプリケーションマニフェスト - Win32 apps
supportedOS の GUID はそのままということで Mery 側での対応は不要、また、Windows 11 正式版でも動作確認が取れたので Windows 11 を対応 OS に追加しました。
Fluent UI System Icons を実装してみる
Mery のツールバーアイコンは Glyfz というサイトで購入した Glyfz Office 2010 Ribbon Bar Icons というアイコン素材を使っています。
外部 Ribbon bar icons, toolbar icons | Glyfz
Office 2010 風ということでデザインが古臭いのは否めませんが、それはさておき、ダークモードの場合に視認性が低いという問題がありました。
Glyfz Office 2019 には別売りでダークモード用のアイコンも用意されているのですが、これらを購入するためには多額の費用がかかります。
そこで、Microsoft が MIT ライセンスのオープンソースで公開している UI デザインに適したアイコン素材、Fluent UI System Icons を使ってダークモード用のアイコンを実装してみました。
Google のマテリアルアイコンと比べるとデザインに一貫性がなかったり、素材の品質がまちまちだったりしますが、視認性はなかなか良いのではないでしょうか。
ちなみに、ライトモードのときは従来どおりです。
ライトモードのときのツールバーアイコンのデザインを変更したいかたや Microsoft のデザインが苦手なかたはモダンな外観と高い視認性でオシャレなマテリアルアイコンはいかがでしょうか。
本バージョンからの機能として、マテリアルアイコンを適用するときにmymeryres.dll
という名前で Mery.exe と同じフォルダーに配置することでも適用できるようになりました。
mymeryres.dll
として配置しておけば Mery の本体をアップデートするときに上書きされなくなります。なお、本体のアップデートで meryres.dll の更新が伴う場合も上書きされないのでご注意ください。
PlemolJP を使ってみる
いまやプログラミングの世界では標準になりつつあるフォント、HackGen (白源) の作者様が新たに製作されたフォント、その名も PlemolJP (プレモル ジェイピー) を使ってみました。
PlemolJP は IBM がオープンソースで公開しているフォント、IBM Plex Sans JP をベースに作られており、日本語の視認性の高さはもちろんのこと、プログラマーさんに優しい判読性と、物書きさんに優しい可読性を兼ねそろえた実用的でオシャレなフォントです。
PlemolJP の特長のひとつに豊富なウエイトがあります。全 8 種類ということで、画面の明るさや背景の暗さに合わせて柔軟に文字の太さを調節することができます。
ウエイトによって印象が大きく変わるもので、例えば Thin (極細) ウエイトはモダンで洗練された印象のクールなフォントとなっています。
…が、ここで問題が発生しました。
フォーラム IBM Plex Sans JP で ExtraLight, Thin ウェイトを使うと Bold ウェイトになる
Mery の開発環境である Delphi には仕様上、フォントのウエイトの概念が [標準] と [太字] しか存在しないようで、当然、Mery もその制約を受けていました。
これは Mery に限らず、Delphi 製のアプリケーションはもちろん、Windows 標準のワードパッドなどでも同様、Thin を選択しても本来の細さで描画できないことがあるようです。
今回は PlemolJP の作者様にお力添えをいただき、フォントまわりの描画の仕組みを大幅に改善しまして、Thin もこのとおり、きちんと描画できるようになりました。
PlemolJP の見やすさと、作者様の細部にまでのこだわりは創作意欲を掻き立ててくれること間違いなし。それでは、早速、新しい Mery を使って PlemolJP 本来の美しい文字を存分にお楽しみくださいませ。
外部 あの IBM が作ったオープンソース日本語フォントを使い、プログラミングフォント『PlemolJP』を作ってみた - Qiita
等幅半角字形に対応してみる
フォントの OpenType 機能のひとつ、等幅半角字形を実装してみました。
等幅半角字形というのはプロポーショナルな字形を等幅半角の字形に置き換えることができる機能で、DTP 系のソフトなどに搭載されている機能のひとつです。
例えば、メイリオはプロポーショナルフォントなので半角英数字は等幅ではありませんが、等幅半角字形を使うことで等幅で描画できるようになるというわけです。
メイリオ [通常]
メイリオは以下のように日本語は等幅ですが半角英数字は等幅ではありません。
メイリオ [等幅半角字形を有効にする]
等幅半角字形を有効にすると、このとおり半角英数字が等幅になります。
メイリオなのに半角英数字の幅がきちんとそろうので、コーディングなどの用途にも使えるようになります。
IBM Plex Sans JP [通常]
先ほどご紹介した PlemolJP は等幅フォントですが、そのベースとなっている IBM Plex Sans JP はプロポーショナルフォントなので半角英数字の文字幅はまちまちです。
IBM Plex Sans JP [等幅半角字形を有効にする]
等幅半角字形を有効にすると、このとおり半角英数字が等幅になるだけでなく、0 なんてコーディングに使ってくださいと言わんばかりの斜線付きゼロになってくれます。
等幅半角字形を有効にする
等幅半角字形を有効にするには、DirectWrite という機能をオンにする必要があります。とは言っても、設定が難しいわけではないのでご安心ください。
DirectWrite をオンにすると、従来よりも美しい文字の描画ができるようになったり、カラー絵文字に対応したり、合字のオン・オフを切り替えたりすることができるようになったりもします。
Mery ではスペックの低いパソコンにも対応するため、初期設定では DIrectWrite がオフになっていますが、Windows 7 以降の比較的新しい?パソコンをお使いのかたはオンにしてみてくださいね。
Mery の [ツール] メニューから [オプション] を選択し、オプションダイアログの [DirectWrite] カテゴリを選択します。
その中にある [DirectWrite を有効にする] をオンにします。続いて [等幅半角字形を有効にする] をオンにして [OK] ボタンでオプションダイアログを閉じれば完了です。
すべてのフォントが等幅半角字形に対応しているというわけではありませんが、今回ご紹介したメイリオ、IBM Plex Sans JP の他、游ゴシック、游明朝も等幅半角字形に対応しているようです。
もともとこれらのフォントはプロポーショナルフォントですから、全角文字が等幅とは限りませんが、半角英数字が等幅になることでコーディングなどの用途に使えるフォントの選択の幅が広がるのではないでしょうか。
OpenType 機能に対応してみる
OpenType 機能はフォントの外観や振る舞いを変更できる拡張機能のようなもので、上記の等幅半角字形 (hwid) は OpenType 機能のひとつにすぎません。
次のスクリーンショットは IBM Plex Sans JP ですが、OpenType 機能を使用してデザインのバリエーションを切り替えてみるとこのようになります。
a、g、0 のデザインが切り替わっているのがお分かりいただけたでしょうか。4 文字の OpenType 機能タグを組み合わせて指定することで、様々な OpenType 機能を有効にできます。
OpenType 機能を有効にする
Mery の [ツール] メニューから [オプション] を選択し、オプションダイアログの [DirectWrite] カテゴリを選択して [詳細] ボタンをクリックします。
ダイアログが表示されるので、有効にしたい OpenType 機能タグを入力します。
例えば、"zero"
を入力すると数字の 0 がスラッシュ付きになったり、"salt"
を入力するとデザインのバリエーションが切り替わったりします。
ちなみに、[サンプル] の文字列はダブルクリックすることで Aaあぁアァ亜宇
と ij = I::oO(0xB81l);
を切り替えることができます。
salt 機能で複数のデザインのバリエーションが存在する場合などは"salt" 2
のようにインデックスを指定することもできます。
インデックスを省略した場合は 1 を指定したのと同じです。また、"liga" 0
のように 0 を指定することで機能を無効にすることもできます。
これらの機能は複数を組み合わせることもでき、その場合は"zero", "salt" 2, "liga" 0
のようにカンマ区切りで入力します。
OpenType 機能の詳細は以下のドキュメントをご確認ください。
外部 Registered features (OpenType 1.9) - Typography | Microsoft Docs
OpenType 機能の構文 (font-feature-settings) やフォントの特性については以下のサイトの解説が分かりやすいと思います。
外部 OpenType フォント特性の手引き - CSS: カスケーディングスタイルシート | MDN
OpenType 機能に対応しているフォントはまだそれほど多くありませんが、IBM Plex Sans JP、FiraCode などはいくつかの OpenType 機能に対応しているようです。
外部 How to enable stylistic sets · tonsky/FiraCode Wiki
今回は試験的な実装ということで [OpenType 機能] の設定を DirectWrite のオプションとして配置しましたが、OpenType 機能のさらに先、可変フォント (Variable Fonts) のカスタム軸の操作を実装するのであれば [フォントの設定] ダイアログに配置したほうが理にかなっていそうですね。
仕様上の制限事項
[合字を有効にする] は"liga", "clig", "calt"
を一括で切り替えるオプション、[等幅半角字形を有効にする] は"hwid"
を英数字のみに適用するオプションとなっており、これらの機能を使用するためにユーザーさんは OpenType の書式を知る必要はありません。
[OpenType 機能] は [合字を有効にする]、[等幅半角字形を有効にする] オプションを上書きするかたちで適用されます。
テキストエディターというアプリの性質上、DTP アプリのように [OpenType 機能] を部分的に適用することはできないため、例えば、[OpenType 機能] に"hwid"
を入力して等幅半角字形を指定した場合、それが必ずしも英数字のみに適用されるとは限りません。
また、等幅半角字形"hwid"
にデザインのバリエーション"salt"
が用意されていなかったり、スラッシュ付きゼロ"zero"
がドット付きゼロだったり、思ったとおりの結果が得られないこともあると思いますが、OpenType 機能の効果はフォントの仕様次第です。
変更ログ
本バージョンではいくつかの不具合修正や機能改善が含まれています。現在お使いのバージョンで問題がある場合はバージョンアップで改善されるかもしれません。
3.3.9 (2022-09-18)
-
縦書きで等幅半角字形に対応
DirectWrite のバグかと思ったらこっそりと IDWriteTextLayout2 に縦書き用の空白を含む文字の高さを取得する機能が用意されていました。
-
縦書きで絵文字を描画するときの高さをきちんと計算するようにした
縦書きで絵文字をきちんと扱えるアプリは少ないようなので正解はわかりませんが、この修正により Word の描画に近づきました。
-
コマンドラインオプションなしで引数のファイルがひとつの場合、パスを「"」で囲まなくても開けるようにした
ファイル名が
"a b.txt"
のように半角スペースを含むファイル名の場合、Mery.exe a b.txt
のような書き方でも開けるようになりました。 -
メモ帳の置き換え (/z) の引数で複数のファイルパスに対応
メモ帳ではできませんが、
notepad a.txt b.txt
のような書き方で複数のファイルを開けるようになりました。 -
[外部ツールの設定] のチェックボックスでメインメニューと外部ツールバーへの表示/非表示を切り替えられるようにした
UI 的に「何のチェックボックスだろう?」と思われそうですが、Mery のユーザーさんなら察してくれますよね?
- [行番号 (変更行)] と [行番号 (選択行)] を [透明] にしたときのサンプルの見え方を修正
-
[タイプライタースクロール] のショートカットキーの初期値 Ctrl+Tを廃止
Ctrl+Tに割り当てていましたが、誤って押してしまうことがあるようなので廃止しました。
-
[全画面表示] と [Zen モード] を実行したときに終了方法のヒントを表示するようにした
Zen モードの終了の仕方がわからないとのご意見をいただいたのでヒントを表示するようにしました。
- Hunspell を 1.7.1 に更新
-
結合文字と絵文字を Unicode 15.0 に更新
Emoji 15.0 は Windows (Segoe UI Emoji フォント) が対応すれば描画できるようになります。
- その他、細かい修正
3.3.8 (2022-07-23)
-
Windows 11 Insider Preview の特定のビルドで半角/全角キーを押すとフリーズする問題の対策
Insider Preview の特定のビルドと新しい IME の組み合わせで発生する問題です。Delphi 10.4.2 と Delphi 11 で VCL を使った単純なフォームだけのプログラムでも問題が発生することを確認しました。
Delphi の開発元であるエンバカデロでは新しい IME の問題は Windows OS および IME の修正によって対処すべきとの意向だそうですが、試しに Mery 側で対策を施してみました。
-
Per-Monitor DPI で特定の条件下でアウトラインプラグインがフリーズする問題の対策
Windows 10 の Per-Monitor DPI で TreeView コントロールを使用した場合に発生する問題で、Windows の不具合である可能性が高いです。Windows のエクスプローラーや Eclipse のアウトラインビューでも同様の問題が確認されています。
-
[無題] のタブを [書き換え禁止] にしてワークスペースを復元するとエラーが発生していたのを修正
[無題] で内容が空の状態かつ未保存のタブを [書き換え禁止] に設定してワークスペースを復元するとエラーが表示されていたのを修正しました。
-
その他、細かい修正
3.3.7 (2022-06-25)
-
鬼車を 6.9.8 に更新
USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE
をオフのハックも適用済みですが動作検証はあまりできていません。 -
[検索する文字列] と [置換後の文字列] の履歴で大文字小文字を区別するようにした
そのほうが便利ですよね。
-
ウィンドウにドラッグアンドドロップしたときに CF_UNICODETEXT よりも CF_HDROP を優先するようにした
Firefox のダウンロードファイルのリストからドラッグアンドドロップできるようになりました。
- ウィンドウを分離したときにツールバープラグインの位置をできるだけ保持するようにした
- [論理行で表示] のときに行番号の幅が表示行で計算されていたのを修正
-
ファイルの変更をチェックするときに微小の誤差を無視するようにした
Google ドライブにおけるファイルの変更チェックの問題が改善されるかもしれませんし、されないかもしれません。
-
[単語左削除] のショートカットキーの初期値を Ctrl + BkSp にした
メモ帳の仕様に合わせてみました。アップデートの場合、既存のキーボード割り当ての設定は上書きされません。
-
[編集モード] に [TypeScript] を追加
アップデートの場合は必要に応じて手動で [TypeScript] の項目を追加してください。
-
仮想デスクトップに対応
現在の仮想デスクトップに Mery のウィンドウがない場合、新しいウィンドウを作成します。ウィンドウを任意の仮想デスクトップに移動させたりワークスペースを仮想デスクトップに復元したりはできません。仮想デスクトップの API の仕様で、ウィンドウの移動や管理はユーザー側で行うことが前提となっているようです。
- それに伴い、隠しオプションの
[General] OpenIn=1
を廃止 - その代わり、 [タブとウィンドウ] に [外部から開く時] のオプションを追加
-
[重ねて表示]、[上下に並べて表示]、[左右に並べて表示] を仮想デスクトップに対応させた
現在の仮想デスクトップにあるウィンドウのみが対象となります。
- Windows Vista 以降で [ウィンドウ] の [上下に並べて表示]、[左右に並べて表示] に隙間があったのを修正
-
[ウィンドウ] メニューに [新しい上下グループ]、[新しい左右グループ] コマンドを追加
タブの上で右クリックからも呼び出せます。
-
[すべて保存して閉じる (現在のデスクトップのみ)]、[すべて閉じる (現在のデスクトップのみ)] コマンドを追加
現在の仮想デスクトップにあるウィンドウのみが対象となります。
-
[Zen モード] の文字数カウントの書式を修正
- メモ帳の置き換え (/z) の引数に相対パスを渡したときの挙動を修正
- Windows 7 でトレイアイコンをダブルクリックしたときにウィンドウが前面に来ない問題の対策
-
既にウィンドウが存在する場合はウィンドウの位置を復元しないようにした
新しいウィンドウで開いたときに前のウィンドウと同じ位置に復元されるのを回避するためです。
-
その他、細かい修正
ウィンドウを閉じたときの挙動の修正、トレイアイコンからファイルを開いたときにワークスペースが復元されなかった問題の修正など。
3.3.6 (2022-04-15)
-
カスタムバーにフォーカスがあるときに [新規作成]、[開く]、[閉じて開く]、[上書き保存]、[名前を付けて保存] は本体側のショートカットキーを優先するようにした
例えばアウトラインにフォーカスがある状態でCtrl+Nで [新規作成] できたりします。
-
カスタムバーが表示されるときに幅または高さがエディター部分の 4 分の 3 を超えていたら縮めるようにした
ウィンドウのサイズを小さくしてからアウトラインを表示した場合など、エディター部分が埋まってしまうのを防ぐための対策です。
-
DirectWrite の OpenType 機能を使えるようにしてみた
- プラグインの Editor_SetCaretPos メソッドにスクロール位置を指定できるフラグを追加
- [オプション] ダイアログで直前に開いていたページを保持するようにした
- [IME を開く] コマンドを追加
- その他、細かい修正
3.3.5 (2022-03-03)
- [読み直し] を実行したときに特定の条件下でタブの [*] が消えなかったのを修正
-
[読み直し] を実行したときに [書き換え禁止] の状態を更新するようにした
-
強調文字列に同じ単語が異なる色で複数登録されているときに色番号の小さいものを優先するようにした
-
起動時に Editor_ToolBarOpen と Editor_ToolBarShow が呼び出されたときに Editor_ToolBarShow を遅延実行するようにした
-
DirectWrite を有効にした状態で [オプション] ダイアログをディスプレイの外に移動したときに描画のサンプルが消えるのを修正
-
アウトラインプラグインのツリーでキー入力が効かなくなっていたのを修正
-
[フォントの設定] ダイアログで何も選択しなくても [OK] ボタンがクリックできていたのを修正
- ルーラーの背景色を変更できるようにした
-
[表示] ページに [偶数行] の項目を追加
-
[カーソルのある行] の [文字色] で行番号の文字色を変更していたのを廃止。カーソルのある行の文字色を変更するようにした
- それにともない [表示] ページに [行番号 (選択行)] の項目を追加
- 背景に画像が設定されていない場合は [カーソルのある行] の [背景色] を半透明描画しないようにした ([偶数行] も同様)
-
結合文字と絵文字を Unicode 14.0 に更新 (Emoji 14.0 は DirectWrite が対応している絵文字のみ)
-
[選択した範囲のみ] で置換したときに特定の条件下で鬼雲がフリーズする問題の対策
-
HSP の編集モードを 3.6 対応版に更新
強調文字列のキーワードを整理し、ラベルの色分けを追加しました。ボタンひとつで HSP をコンパイルして実行できるプラグインも 3.6 対応版に更新しておきました。
- その他、細かい修正
3.3.4 (2022-01-06)
- 新規作成で保存したときにもファイルの変更をチェックするようにした
-
Ver 3.3.2 の「プラグインイベントの発生タイミングを修正」を部分的にロールバック
3.3.3 (2022-01-05)
-
アウトラインプラグインでマウスを使ってツリーを操作したあとにマウスでタブをつかんでツリーの上を通過するとエラー (Runtime error 231) が発生する問題を修正
-
検索ダイアログでの Shift + Enter で [前を検索] するようにした
3.3.2 (2021-12-24)
- [日付と時刻] の書式に [地域と言語] の [短い形式] が反映されなかった Delphi の不具合への対策
-
Windows 10 の [文字を大きくする] でステータスバーの文字がはみ出てしまう問題へのさらなる対策
- プラグインの Editor_ViewToLogical メソッドで表示座標と論理座標が逆になっていたのを修正
- プラグインの Editor_LogicalToSerial メソッドが誤った値を返すことがあったのを修正
-
ファイルが外部で変更されたときに書き込みを禁止できるようにした
[オプション] の [基本] カテゴリから [外部で変更されたとき] で設定できます。
-
編集モードの [強調文字列] の優先順位をドラッグアンドドロップで変更できるようにした
正規表現を有効にした場合のみ、上から順に優先順位を付けれるようにしました。
- [編集モードの設定]、[マクロのカスタマイズ]、[プラグインの設定]、[外部ツールの設定]、[ポップアップメニューの設定]、[フォールバックフォント] の項目をドラッグアンドドロップで移動できるようにした
-
[編集モード] に [Markdown] を追加
Markdown
の名前で編集モードが既に登録されている場合、設定は上書きされません。構文解析ではなく正規表現でがんばっているだけなのでうまく色分けされないケースがあるかもしれません。
-
[テーマ] に [Windows Dark] を追加
Visual Studio の [濃色] テーマ風です。
Windows Dark
の名前でテーマが既に登録されている場合、設定は上書きされません。 -
Ver 3.2.9 の [対応する括弧を強調する] がオンの場合は常に括弧の部分で描画を分ける仕様を廃止
-
[オプション] ダイアログのサイズがディスプレイのサイズを超える場合にスクロールバーを表示するようにした
スクロールバーが表示される機会は少ないため、ダークモードには対応させていません。
-
プラグインイベントの発生タイミングを修正
プラグインが閉じられた後にイベントが発生してしまうケースがあったため、非同期で発生させていたイベントを同期で発生させるようにしました。
- クールバーのサイズが正しく保存・復元されないことがあった問題の対策
- プラグインメソッドに Editor_AddUndo、Editor_BeginUndoGroup、Editor_EndUndoGroup、Editor_RunMacro、Editor_GetMultiSel、Editor_SetMultiSel を追加
-
マクロメソッドの GetLine と GetLines で引数を省略した場合に論理座標を返すように修正
-
[次のペイン]、[前のペイン]、[アクティブなペイン] をセカンダリショートカットに対応
-
[自動保存フォルダーに保存する] がオンの場合は [ファイル] メニューの [自動保存] を非表示にした
自動保存フォルダーに保存する場合、[自動保存] を切り替えるケースは少ないので誤ってオフにしてしまわないための対策です。
-
[自動保存フォルダー] が空の場合は Mery.ini と同じ場所の "AutoSave" フォルダーに "AutoSave-ファイル名" の形式で保存、[上書き保存] 時に削除するようにした
Microsoft Word の自動保存のように回復の用途で使用できます。自動保存されたファイルは [上書き保存] を実行すると削除され、保存しないで終了した場合はそのまま残ります。
Mery.ini の
[AutoSave]
セクションにAutoSaveKeepUnsavedChanges=0
を追記すると、保存しないで終了した場合に自動保存されたファイルを削除します。 -
Home キーまたは End キーを 2 回押しで論理行の行頭または行末に移動できるようにした
- [アウトライン] プラグインの位置の初期値を [左] に変更
- 鬼雲の USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE をオフにした
-
鬼車を USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE をオフにした仕様に修正
いただいた情報により、Mery Ver 2.2.2 の記事に書いた問題 (いつの間にか鬼車の仕様が変わったのか?) は鬼車 5.7.0 での仕様変更によるものだとわかりました。
USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE
を無効にすれば [前を検索] の挙動が改善されますが、鬼車 6.8.0 でこの定義が廃止されていました。この修正は鬼車のソースコードに手を加える必要があり、鬼車に暫定対応した目的 (鬼車の開発のお役に立てれば…) から外れてしまうこととメンテナンス性が低くなることを懸念していましたが、鬼車のリリースも落ち着いている様子なので試験的に対応してみました。
- ダークモードでチェックボックスが無効のときに文字色を暗くした
-
ラベルが無効のときに文字色を薄くした
クリスマス更新になんとか間に合いました。
-
その他、細かい修正
3.3.1 (2021-10-02)
-
等幅半角字形に対応
[等幅半角字形を有効にする] をオンにした場合、内部の処理において英数字のチェックが走るようになるのと、文字幅取得の処理が変更されるため、動作速度に影響が及ぶ可能性があります。実用の範囲内かどうか、動作検証にご協力いただけると幸いです。
- ダークモードでクールバーのシェブロンの背景色がおかしかったのを修正
-
Windows 10 の [文字を大きくする] でステータスバーの文字がはみ出てしまう問題への対策
できるだけはみ出さないようにはしてみましたが、ダークモードの場合、 [文字を大きくする] の設定のよっては文字の下のほうが切れてしまうかもしれません。
-
Windows XP で [変換中の文字列を挿入モードで入力] がオンの場合に下線が表示されなくなることがある問題を修正
スクロールバーマーカーの描画で使っている TBitmap で
Transparent := True;
にすると、Windows XP 環境でなぜか IME 関連の API を実行した後に GetLastError でエラーコードが返るという謎の現象への対策を行いました。Transparent を使わずにマスク用の TBitmap を用意して BitBlt で SRCPAINT と SRCAND で転送するという、伝統的な透過の方法にしてみました。シンプルなのでスクロールバーマーカーの描画速度は向上しているかもしれません。
- その他、細かい修正
3.3.0 (2021-09-17)
-
Windows 11 のための修正 (Windows 11 Pro 21H2 22000.132、22000.176 で確認)
スクロールバーやスピンエディットが描画されない問題、ダークモード有効時に一部のチェックボックスの色がおかしい問題など Windows 11 向けの修正を行いました。
-
フォント関連の処理を全体的に作り直した
フォントによっては Thin や ExtraLight が正しく描画できないことがあるという問題への対策として、描画関連の処理を大幅に見直したため、今回、マイナーバージョンを上げました。
フォーラム IBM Plex Sans JP で ExtraLight, Thin ウェイトを使うと Bold ウェイトになる
-
タイ語、ラオ語、カンナダ語対応のため結合文字の処理を作り直した
結合文字の処理の見直しと、結合文字の判定に使用しているテーブルを Unicode 13.0 に対応させました。
-
U+02E5、U+02E9 の組み合わせに対応
U+02E5 と U+02E9 を組み合わせた文字の描画に例外的に対応しました。
-
[文字間] の設定をピクセル単位から 10 分の 1 文字単位に仕様変更
フォントのサイズを変更したときに文字間も相対的に変更されるようにしました。
-
印刷ダイアログから [文字間] を設定できるようにした
従来は印刷時にエディターウィンドウの文字間が適用されていましたが、印刷時にエディターウィンドウとは別に [文字間] を設定できるようにしました。
-
印刷ダイアログの [行間] を 10 分の 1 行単位に仕様変更
従来はドット単位でしたが文字の高さの 10 分の 1 単位に仕様変更しました。また、[文字間] の項目追加により [行間] の項目は印刷ダイアログの右下に移動しました。
-
[強調文字列] の設定と [マーカー] の設定の一覧で色番号の部分を右クリックで数値を減らせるようにした
左クリックで数値の増加、右クリックで数値の減少ができるようになりました。
-
[外部ツールの設定] ダイアログの設定値の表示項目でアンパサンドがアクセラレータキーとして表示されていたのを修正
-
DirectWrite 有効時、背景画像を設定していると特定の条件下で行番号の部分の背景が再描画されないことがあったのを修正
-
[ファイルへ移動] でカーソルのある行が中央付近になるようにした
[ファイルから検索] の結果からファイルに移動した場合など、カーソル位置が画面の下のほうになっていたものを改善しました。
-
Tidy を 5.8.0 に更新
ついにリリースされた、公式の安定版だそうです。
-
[オプション] の [DirectWrite] に [合字を有効にする] を追加
テキストエディターとしては合字 (リガチャ) をオフにしたほうが編集しやすいケースもあるので、オプションでオフにできるようにしました。
-
ダークモードで Microsoft の Fluent UI System Icons を実装
プラグインのアイコンは後日、更新しておきます。
-
[常に最上位] がオンの状態でモーダルなウィンドウが表示された場合に一時的に [常に最上位] を解除するようにした
-
テーマ無効時のタブの閉じるボタンの位置を修正
Windows XP などでクラシックスタイルを使っているときにズレていました。
-
サードパーティ製コンポーネントのライセンスを付属の ThirdPartyNotices.txt ファイルに記載するようにした
ライセンスを記載したファイルが散乱してきたのでひとつにまとめました。
-
クリップボード履歴に行テキスト、矩形テキストの形式を含めるようにした
以下の機能追加にともない、クリップボード履歴にこれらの機能が必要となりました。
-
マクロの ClipboardData オブジェクトでクリップボードの形式を指定できるようにした。従来の GetData、SetData も使用できますが Deprecated (非推奨) となります
フォーラムでご提案いただいていた、クリップボードに格納されているデータに対してクリップボード形式を追加で書き込むという
AddFormat
メソッドですが、技術的には実現できました。しかしながら、他のアプリケーションで作成されたクリップボードのデータに対して Mery のクリップボード形式を追加するとなると、想定外のデータが意図しない形式で貼り付けられる可能性があり、動作不良のもとにもなりますので、今回は実装を見送りました。
クリップボードにデータを設定するときは、
clipboardData.SetData(format, data [, pos]);
のように文字列と一緒に形式を指定していただくかたちとなります。詳細はマクロリファレンスをご参照ください。 - その他、細かい修正
3.2.9 (2021-06-04)
-
U+0E33 と U+0EB3 対応のため結合文字の処理を作り直した
-
document.Name プロパティで [無題] のタブの場合にタブの名前を取得できるようにした
- [対応する括弧を強調する] がオンの場合は常に括弧の部分で描画を分けるようにした
- Tidy を 5.7.28 に更新
- その他、細かい修正
ダウンロード
導入が簡単なインストーラー版、設定ファイルを外部に作成しないポータブル版、レジストリを一切使用しない ZIP 版を用意しています。
インストーラー版
解凍などの作業が必要なく簡単に使えるインストーラー版です。
Mery Ver 3.3.9 (64 ビット版) インストーラー- 3,398,146 バイト 2022/09/18
- SHA256: e703c55ba6bb69b302d0f754688b37833219ca11ee63e6824469b528be7d0750
- 対応 OS: Windows 11, 10, 8, 7, Vista (64 ビット)
- 3,013,366 バイト 2022/09/18
- SHA256: f4943158d2a2bae746189306868ce1f04cc1fb703e9ed33090023f345e16b878
- 対応 OS: Windows 11, 10, 8, 7, Vista, XP (32 ビット, 64 ビット)
ポータブル版
インストールは不要。通常の ZIP 版と異なり設定ファイルを外部に作成しないので USB メモリに保存して持ち歩けますし、PC 環境を汚すこともありません。
Mery Ver 3.3.9 (64 ビット版) ポータブル- 4,266,110 バイト 2022/09/18
- SHA256: a6b052fba75f32b325721ac9c4a7200f0100dd1aa7271c61860c61b042563951
- 対応 OS: Windows 11, 10, 8, 7, Vista (64 ビット)
- 3,598,148 バイト 2022/09/18
- SHA256: c9afb1fde6d74db4d2c94639ca8b5f951fd8c2a467612b0b0714c28619b5fe6c
- 対応 OS: Windows 11, 10, 8, 7, Vista, XP (32 ビット, 64 ビット)
ZIP 版
アーカイブを解凍するだけですぐに使える ZIP 版です。
Mery Ver 3.3.9 (64 ビット版) ZIP- 4,265,956 バイト 2022/09/18
- SHA256: 35aa6c0d7d1ca93af9e221ddb530507dd540ce7f0ba99dbeca21e2e5bb05b7bb
- 対応 OS: Windows 11, 10, 8, 7, Vista (64 ビット)
- 3,597,994 バイト 2022/09/18
- SHA256: 0add85336ae13c61f621a7140d0e6fa52af9064d81ded23a91131307dd648138
- 対応 OS: Windows 11, 10, 8, 7, Vista, XP (32 ビット, 64 ビット)
おわりに
某流行り病や世界情勢の影響でみなさん不安な日々をお過ごしのことと思いますが、Mery をご愛用いただき、動作検証と開発支援にご協力をいただきありがとうございます。
直接お礼を申し上げることができないのが心苦しい限りですが、この場を借りて心より感謝を申し上げます。
おかげさまで、今年も無事、当サイトと MeryWiki のレンタルサーバー料金の支払いを済ませることができました。
また、いただいた支援物資は大切に使わせていただいています。開発のモチベーションも維持できており、毛根もなんとかがんばってくれているようです。
バージョン 3 系では、DirectWrite の高速化、鬼車対応、矩形編集・マルチカーソル対応、ダークモード対応など試験的な内容が多かったため安定するまでに時間がかかってしまいました。
本バージョンからは正式版に向けて、以下のような作業に取り組みたいと考えています。
- 新機能の追加は控えて正式版に向けての調整
- 従来の正式版より後に追加された機能の整理
- マニュアルおよびマクロリファレンスの整備
- 使い方のヒントやよくある質問と回答の整備
こういった作業は苦手なもので、つい新機能の開発や面白い機能の実験で遊んでしまのです。
プログラミングって楽しいよね!!
何年待たせるんだというツッコミはスルーしつつ、今回も正式版に向けてのやる気だけは見せているテキストエディター Mery でした。
ティファール 電気ケトル 1.2L たっぷり大容量 「ジャスティン プラス ホワイト」 KO4901JP
ティファール(T-fal)
そろそろ買い替えどきじゃないですか?
Amazon で探す
楽天市場で探す