<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://www.haijin-boys.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Haijinboys</id>
	<title>MeryWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://www.haijin-boys.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Haijinboys"/>
	<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Haijinboys"/>
	<updated>2026-08-21T22:38:21Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=9464</id>
		<title>MeryToys</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=9464"/>
		<updated>2026-05-05T05:51:03Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ソースコード (MeryToys.js) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
Mery の隠しオプションを簡単に設定できるマクロです。&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.17 以降で動作します。&lt;br /&gt;
* 一部の設定は、Mery の再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
== 使い方 ==&lt;br /&gt;
&lt;br /&gt;
# マクロを実行します。&lt;br /&gt;
# ポップアップ メニューが表示されるので、設定したい項目を選択します。&lt;br /&gt;
# 値を切り替えるか、必要に応じて入力します。&lt;br /&gt;
# 設定内容によっては、Mery を再起動する必要があります。設定が反映されていない場合は、Mery を再起動してみてください。&lt;br /&gt;
&lt;br /&gt;
== ソースコード (MeryToys.js) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
#language = &amp;quot;quickjs&amp;quot;&lt;br /&gt;
#title = &amp;quot;MeryToys&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var options = [&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;基本&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;折り返しモードを同期する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SyncWrap&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: なし, 1: 同期, 2: すべて&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム ダーク モードを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSysDarkMode&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;行番号の増分&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LineNumbersCountBy&amp;quot;,&lt;br /&gt;
				default: 10,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のルーラーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseClassicRuler&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;対応する括弧&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BracketPairs&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;自動的に囲む括弧/引用符&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SurroundingPairs&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;IME 候補ウィンドウの位置を後ろにする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCandidatePos&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;IME 入力モード ウィンドウの位置を修正する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCandidateFix&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Alt + Tab キーの動作を改善&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AltTabFix&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Ctrl + ホイールでフォント サイズを変更&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;WheelFont&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字単位で元に戻す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UndoCharByChar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイルから検索のスレッド数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;MaxThreads&amp;quot;,&lt;br /&gt;
				default: 4,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ファイル&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題のタブの名前&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;Untitled&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題の文書に連番を付ける&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UntitledSeqNum&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;初期フォルダー&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;InitialFolder&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル監視を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseFileWatcher&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル名をフルパスで表示&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ShowFullPath&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;非アクティブ時フルパスにしない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;NoFullPathIfNotActive&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;タブ/インデント&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のタブ幅を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseLegacyTabWidth&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;検索&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な検索&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FindStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な置換&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ReplaceStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;編集&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;指定した文字を全角カナとして扱う&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Edit&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;KatakanaFullWidthChars&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;表示&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Zen モード&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;行番号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideLineNumbers&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;ルーラーを非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideRuler&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;記号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideMarks&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;文字数を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideWordCount&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字最小幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CharacterMinWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;DirectWrite の文字幅を GDI 互換にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;GdiCompatible&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;正規表現モード&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RegExMode&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: 従来, 1: 柔軟, 2: 厳密&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;上マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TopMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;左マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LeftMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;右マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RightMargin&amp;quot;,&lt;br /&gt;
				default: 3,&lt;br /&gt;
				description: &amp;quot;文字&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅 (IME 有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高 (IME 有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;テキスト カーソル インジケーターを有効にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CursorIndicator&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;マクロ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;QuickJS を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Macros&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseQuickJS&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スクロール&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム スクロール バーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSystemScrollBar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;タイプライター スクロール オフセット&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TypewriterScrollOffset&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;行&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ウィンドウ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ダイアログ&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;アウトプット バー&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンの縁にスナップ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ScreenSnap&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンスナップの距離&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SnapBuffer&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;タイトル&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Window&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;Title&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スペル チェック&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;大文字小文字を区別しない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;IgnoreUpperCase&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;自動保存&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveDelay&amp;quot;,&lt;br /&gt;
				default: 1000,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;保存しないで終了する場合、最後に自動保存されたバージョンを残す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveKeepUnsavedChanges&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;バックアップ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;最大数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Backup&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackupMaxCount&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;履歴&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdDelay&amp;quot;,&lt;br /&gt;
				default: 200,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の最大文字数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdMaxLength&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;アウトライン&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ForeColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;背景色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
var commandId = 1;&lt;br /&gt;
var commandMap = {};&lt;br /&gt;
&lt;br /&gt;
function addMenuItems(items, parentMenu) {&lt;br /&gt;
	for (var i = 0; i &amp;lt; items.length; i++) {&lt;br /&gt;
		var item = items[i];&lt;br /&gt;
		if (item.items &amp;amp;&amp;amp; item.items.length &amp;gt; 0) {&lt;br /&gt;
			var subMenu = CreatePopupMenu();&lt;br /&gt;
			addMenuItems(item.items, subMenu);&lt;br /&gt;
			parentMenu.AddPopup(item.name, subMenu);&lt;br /&gt;
		} else if (item.name === &amp;quot;-&amp;quot;) {&lt;br /&gt;
			parentMenu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
		} else {&lt;br /&gt;
			var d = item.default;&lt;br /&gt;
			switch (typeof d) {&lt;br /&gt;
				case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
					d = Boolean(editor.ReadSettingInteger(item.section, item.ident, Number(d)));&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;number&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingInteger(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;string&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingString(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				default:&lt;br /&gt;
					value = undefined;&lt;br /&gt;
					break;&lt;br /&gt;
			}&lt;br /&gt;
			parentMenu.Add(item.name + &amp;quot;: &amp;quot; + d, commandId);&lt;br /&gt;
			commandMap[commandId] = {&lt;br /&gt;
				section: item.section,&lt;br /&gt;
				ident: item.ident,&lt;br /&gt;
				value: d,&lt;br /&gt;
				name: item.name,&lt;br /&gt;
				description: item.description&lt;br /&gt;
			};&lt;br /&gt;
			commandId++;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var menu = CreatePopupMenu();&lt;br /&gt;
for (var i = 0; i &amp;lt; options.length; i++) {&lt;br /&gt;
	var option = options[i];&lt;br /&gt;
	var subMenu = CreatePopupMenu();&lt;br /&gt;
	addMenuItems(option.items, subMenu);&lt;br /&gt;
	menu.AddPopup(option.name, subMenu);&lt;br /&gt;
}&lt;br /&gt;
var result = menu.Track(mePosMouse);&lt;br /&gt;
if (result !== 0) {&lt;br /&gt;
	var d = commandMap[result];&lt;br /&gt;
	var t = &amp;quot;変更を有効にするには、Mery を再起動する必要があります。&amp;quot;;&lt;br /&gt;
	switch (typeof d.value) {&lt;br /&gt;
		case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
			editor.WriteSettings();&lt;br /&gt;
			editor.WriteSettingInteger(d.section, d.ident, Number(!d.value));&lt;br /&gt;
			editor.ReadSettings();&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;number&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (!isNaN(s) &amp;amp;&amp;amp; (editor.WriteSettings(), editor.WriteSettingInteger(d.section, d.ident, Number(s)), editor.ReadSettings())) : (editor.DeleteSetting(d.section, d.ident), alert(t));&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;string&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (editor.WriteSettings(), editor.WriteSettingString(d.section, d.ident, s), editor.ReadSettings()) : (editor.DeleteSetting(d.section, d.ident), alert(t));&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		default:&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
&lt;br /&gt;
* 各オプションの説明 (うーん、できれば避けたいお仕事)&lt;br /&gt;
* Mery の再起動が必要なときに、それっぽく教えてくれるやつ？&lt;br /&gt;
* Mery のバージョンチェック (正直やりたくないし、どのバージョンで作ったかも忘れた)&lt;br /&gt;
&lt;br /&gt;
== スペシャルサンクス ==&lt;br /&gt;
&lt;br /&gt;
本マクロの制作にあたり、開発者さえ忘れていた隠しオプションについては、MSY-07 さんが作成された「[[隠しオプション一覧]]」を参考にさせていただきました。MSY-07 さんの詳細な記事に深く感謝しつつ、このマクロをお届けします。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=9458</id>
		<title>MeryToys</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=9458"/>
		<updated>2026-04-20T14:55:15Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ソースコード (MeryToys.js) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
Mery の隠しオプションを簡単に設定できるマクロです。&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.17 以降で動作します。&lt;br /&gt;
* 一部の設定は、Mery の再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
== 使い方 ==&lt;br /&gt;
&lt;br /&gt;
# マクロを実行します。&lt;br /&gt;
# ポップアップ メニューが表示されるので、設定したい項目を選択します。&lt;br /&gt;
# 値を切り替えるか、必要に応じて入力します。&lt;br /&gt;
# 設定内容によっては、Mery を再起動する必要があります。設定が反映されていない場合は、Mery を再起動してみてください。&lt;br /&gt;
&lt;br /&gt;
== ソースコード (MeryToys.js) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
#language = &amp;quot;quickjs&amp;quot;&lt;br /&gt;
#title = &amp;quot;MeryToys&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var options = [&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;基本&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;折り返しモードを同期する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SyncWrap&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: なし, 1: 同期, 2: すべて&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム ダーク モードを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSysDarkMode&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;行番号の増分&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LineNumbersCountBy&amp;quot;,&lt;br /&gt;
				default: 10,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のルーラーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseClassicRuler&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;対応する括弧&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BracketPairs&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;自動的に囲む括弧/引用符&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SurroundingPairs&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;IME 候補ウィンドウの位置を後ろにする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCandidatePos&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;IME 入力モード ウィンドウの位置を修正する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCandidateFix&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Alt + Tab キーの動作を改善&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AltTabFix&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Ctrl + ホイールでフォント サイズを変更&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;WheelFont&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字単位で元に戻す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UndoCharByChar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイルから検索のスレッド数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;MaxThreads&amp;quot;,&lt;br /&gt;
				default: 4,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ファイル&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題のタブの名前&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;Untitled&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題の文書に連番を付ける&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UntitledSeqNum&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;初期フォルダー&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;InitialFolder&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル監視を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseFileWatcher&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル名をフルパスで表示&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ShowFullPath&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;非アクティブ時フルパスにしない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;NoFullPathIfNotActive&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;タブ/インデント&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のタブ幅を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseLegacyTabWidth&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;検索&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な検索&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FindStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な置換&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ReplaceStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;編集&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;指定した文字を全角カナとして扱う&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Edit&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;KatakanaFullWidthChars&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;表示&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Zen モード&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;行番号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideLineNumbers&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;ルーラーを非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideRuler&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;記号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideMarks&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;文字数を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideWordCount&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字最小幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CharacterMinWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;DirectWrite の文字幅を GDI 互換にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;GdiCompatible&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;正規表現モード&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RegExMode&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: 従来, 1: 柔軟, 2: 厳密&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;上マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TopMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;左マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LeftMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;右マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RightMargin&amp;quot;,&lt;br /&gt;
				default: 3,&lt;br /&gt;
				description: &amp;quot;文字&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅 (IME 有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高 (IME 有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;テキスト カーソル インジケーターを有効にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CursorIndicator&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;マクロ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;QuickJS を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Macros&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseQuickJS&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スクロール&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム スクロール バーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSystemScrollBar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;タイプライター スクロール オフセット&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TypewriterScrollOffset&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;行&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ウィンドウ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ダイアログ&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;アウトプット バー&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンの縁にスナップ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ScreenSnap&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンスナップの距離&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SnapBuffer&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スペル チェック&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;大文字小文字を区別しない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;IgnoreUpperCase&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;自動保存&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveDelay&amp;quot;,&lt;br /&gt;
				default: 1000,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;保存しないで終了する場合、最後に自動保存されたバージョンを残す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveKeepUnsavedChanges&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;バックアップ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;最大数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Backup&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackupMaxCount&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;履歴&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdDelay&amp;quot;,&lt;br /&gt;
				default: 200,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の最大文字数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdMaxLength&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;アウトライン&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ForeColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;背景色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
var commandId = 1;&lt;br /&gt;
var commandMap = {};&lt;br /&gt;
&lt;br /&gt;
function addMenuItems(items, parentMenu) {&lt;br /&gt;
	for (var i = 0; i &amp;lt; items.length; i++) {&lt;br /&gt;
		var item = items[i];&lt;br /&gt;
		if (item.items &amp;amp;&amp;amp; item.items.length &amp;gt; 0) {&lt;br /&gt;
			var subMenu = CreatePopupMenu();&lt;br /&gt;
			addMenuItems(item.items, subMenu);&lt;br /&gt;
			parentMenu.AddPopup(item.name, subMenu);&lt;br /&gt;
		} else if (item.name === &amp;quot;-&amp;quot;) {&lt;br /&gt;
			parentMenu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
		} else {&lt;br /&gt;
			var d = item.default;&lt;br /&gt;
			switch (typeof d) {&lt;br /&gt;
				case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
					d = Boolean(editor.ReadSettingInteger(item.section, item.ident, Number(d)));&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;number&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingInteger(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;string&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingString(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				default:&lt;br /&gt;
					value = undefined;&lt;br /&gt;
					break;&lt;br /&gt;
			}&lt;br /&gt;
			parentMenu.Add(item.name + &amp;quot;: &amp;quot; + d, commandId);&lt;br /&gt;
			commandMap[commandId] = {&lt;br /&gt;
				section: item.section,&lt;br /&gt;
				ident: item.ident,&lt;br /&gt;
				value: d,&lt;br /&gt;
				name: item.name,&lt;br /&gt;
				description: item.description&lt;br /&gt;
			};&lt;br /&gt;
			commandId++;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var menu = CreatePopupMenu();&lt;br /&gt;
for (var i = 0; i &amp;lt; options.length; i++) {&lt;br /&gt;
	var option = options[i];&lt;br /&gt;
	var subMenu = CreatePopupMenu();&lt;br /&gt;
	addMenuItems(option.items, subMenu);&lt;br /&gt;
	menu.AddPopup(option.name, subMenu);&lt;br /&gt;
}&lt;br /&gt;
var result = menu.Track(mePosMouse);&lt;br /&gt;
if (result !== 0) {&lt;br /&gt;
	var d = commandMap[result];&lt;br /&gt;
	var t = &amp;quot;変更を有効にするには、Mery を再起動する必要があります。&amp;quot;;&lt;br /&gt;
	switch (typeof d.value) {&lt;br /&gt;
		case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
			editor.WriteSettings();&lt;br /&gt;
			editor.WriteSettingInteger(d.section, d.ident, Number(!d.value));&lt;br /&gt;
			editor.ReadSettings();&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;number&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (!isNaN(s) &amp;amp;&amp;amp; (editor.WriteSettings(), editor.WriteSettingInteger(d.section, d.ident, Number(s)), editor.ReadSettings())) : (editor.DeleteSetting(d.section, d.ident), alert(t));&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;string&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (editor.WriteSettings(), editor.WriteSettingString(d.section, d.ident, s), editor.ReadSettings()) : (editor.DeleteSetting(d.section, d.ident), alert(t));&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		default:&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
&lt;br /&gt;
* 各オプションの説明 (うーん、できれば避けたいお仕事)&lt;br /&gt;
* Mery の再起動が必要なときに、それっぽく教えてくれるやつ？&lt;br /&gt;
* Mery のバージョンチェック (正直やりたくないし、どのバージョンで作ったかも忘れた)&lt;br /&gt;
&lt;br /&gt;
== スペシャルサンクス ==&lt;br /&gt;
&lt;br /&gt;
本マクロの制作にあたり、開発者さえ忘れていた隠しオプションについては、MSY-07 さんが作成された「[[隠しオプション一覧]]」を参考にさせていただきました。MSY-07 さんの詳細な記事に深く感謝しつつ、このマクロをお届けします。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=9403</id>
		<title>MeryToys</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=9403"/>
		<updated>2026-03-22T04:07:59Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ソースコード (MeryToys.js) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
Mery の隠しオプションを簡単に設定できるマクロです。&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.17 以降で動作します。&lt;br /&gt;
* 一部の設定は、Mery の再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
== 使い方 ==&lt;br /&gt;
&lt;br /&gt;
# マクロを実行します。&lt;br /&gt;
# ポップアップ メニューが表示されるので、設定したい項目を選択します。&lt;br /&gt;
# 値を切り替えるか、必要に応じて入力します。&lt;br /&gt;
# 設定内容によっては、Mery を再起動する必要があります。設定が反映されていない場合は、Mery を再起動してみてください。&lt;br /&gt;
&lt;br /&gt;
== ソースコード (MeryToys.js) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
#title = &amp;quot;MeryToys&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var options = [&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;基本&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;折り返しモードを同期する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SyncWrap&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: なし, 1: 同期, 2: すべて&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム ダーク モードを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSysDarkMode&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;行番号の増分&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LineNumbersCountBy&amp;quot;,&lt;br /&gt;
				default: 10,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のルーラーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseClassicRuler&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;対応する括弧&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BracketPairs&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;自動的に囲む括弧/引用符&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SurroundingPairs&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;IME 候補ウィンドウの位置を後ろにする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCandidatePos&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;IME 入力モード ウィンドウの位置を修正する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCandidateFix&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Alt + Tab キーの動作を改善&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AltTabFix&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Ctrl + ホイールでフォント サイズを変更&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;WheelFont&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字単位で元に戻す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UndoCharByChar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイルから検索のスレッド数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;MaxThreads&amp;quot;,&lt;br /&gt;
				default: 4,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ファイル&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題のタブの名前&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;Untitled&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題の文書に連番を付ける&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UntitledSeqNum&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;初期フォルダー&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;InitialFolder&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル監視を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseFileWatcher&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル名をフルパスで表示&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ShowFullPath&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;非アクティブ時フルパスにしない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;NoFullPathIfNotActive&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;タブ/インデント&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のタブ幅を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseLegacyTabWidth&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;検索&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な検索&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FindStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な置換&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ReplaceStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;表示&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Zen モード&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;行番号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideLineNumbers&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;ルーラーを非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideRuler&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;記号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideMarks&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;文字数を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideWordCount&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字最小幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CharacterMinWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;DirectWrite の文字幅を GDI 互換にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;GdiCompatible&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;正規表現モード&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RegExMode&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: 従来, 1: 柔軟, 2: 厳密&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;上マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TopMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;左マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LeftMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;右マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RightMargin&amp;quot;,&lt;br /&gt;
				default: 3,&lt;br /&gt;
				description: &amp;quot;文字&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅 (IME 有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高 (IME 有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;テキスト カーソル インジケーターを有効にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CursorIndicator&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;マクロ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;QuickJS を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Macros&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseQuickJS&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スクロール&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム スクロール バーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSystemScrollBar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;タイプライター スクロール オフセット&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TypewriterScrollOffset&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;行&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ウィンドウ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ダイアログ&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;アウトプット バー&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンの縁にスナップ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ScreenSnap&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンスナップの距離&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SnapBuffer&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スペル チェック&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;大文字小文字を区別しない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;IgnoreUpperCase&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;自動保存&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveDelay&amp;quot;,&lt;br /&gt;
				default: 1000,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;保存しないで終了する場合、最後に自動保存されたバージョンを残す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveKeepUnsavedChanges&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;バックアップ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;最大数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Backup&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackupMaxCount&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;履歴&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdDelay&amp;quot;,&lt;br /&gt;
				default: 200,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の最大文字数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdMaxLength&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;アウトライン&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ForeColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;背景色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
var commandId = 1;&lt;br /&gt;
var commandMap = {};&lt;br /&gt;
&lt;br /&gt;
function addMenuItems(items, parentMenu) {&lt;br /&gt;
	for (var i = 0; i &amp;lt; items.length; i++) {&lt;br /&gt;
		var item = items[i];&lt;br /&gt;
		if (item.items &amp;amp;&amp;amp; item.items.length &amp;gt; 0) {&lt;br /&gt;
			var subMenu = CreatePopupMenu();&lt;br /&gt;
			addMenuItems(item.items, subMenu);&lt;br /&gt;
			parentMenu.AddPopup(item.name, subMenu);&lt;br /&gt;
		} else if (item.name === &amp;quot;-&amp;quot;) {&lt;br /&gt;
			parentMenu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
		} else {&lt;br /&gt;
			var d = item.default;&lt;br /&gt;
			switch (typeof d) {&lt;br /&gt;
				case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
					d = Boolean(editor.ReadSettingInteger(item.section, item.ident, Number(d)));&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;number&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingInteger(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;string&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingString(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				default:&lt;br /&gt;
					value = undefined;&lt;br /&gt;
					break;&lt;br /&gt;
			}&lt;br /&gt;
			parentMenu.Add(item.name + &amp;quot;: &amp;quot; + d, commandId);&lt;br /&gt;
			commandMap[commandId] = {&lt;br /&gt;
				section: item.section,&lt;br /&gt;
				ident: item.ident,&lt;br /&gt;
				value: d,&lt;br /&gt;
				name: item.name,&lt;br /&gt;
				description: item.description&lt;br /&gt;
			};&lt;br /&gt;
			commandId++;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var menu = CreatePopupMenu();&lt;br /&gt;
for (var i = 0; i &amp;lt; options.length; i++) {&lt;br /&gt;
	var option = options[i];&lt;br /&gt;
	var subMenu = CreatePopupMenu();&lt;br /&gt;
	addMenuItems(option.items, subMenu);&lt;br /&gt;
	menu.AddPopup(option.name, subMenu);&lt;br /&gt;
}&lt;br /&gt;
var result = menu.Track(mePosMouse);&lt;br /&gt;
if (result !== 0) {&lt;br /&gt;
	var d = commandMap[result];&lt;br /&gt;
	switch (typeof d.value) {&lt;br /&gt;
		case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
			editor.WriteSettings();&lt;br /&gt;
			editor.WriteSettingInteger(d.section, d.ident, Number(!d.value));&lt;br /&gt;
			editor.ReadSettings();&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;number&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (!isNaN(s) &amp;amp;&amp;amp; (editor.WriteSettings(), editor.WriteSettingInteger(d.section, d.ident, Number(s)), editor.ReadSettings())) : editor.DeleteSetting(d.section, d.ident);&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;string&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (editor.WriteSettings(), editor.WriteSettingString(d.section, d.ident, s), editor.ReadSettings()) : editor.DeleteSetting(d.section, d.ident);&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		default:&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
&lt;br /&gt;
* 各オプションの説明 (うーん、できれば避けたいお仕事)&lt;br /&gt;
* Mery の再起動が必要なときに、それっぽく教えてくれるやつ？&lt;br /&gt;
* Mery のバージョンチェック (正直やりたくないし、どのバージョンで作ったかも忘れた)&lt;br /&gt;
&lt;br /&gt;
== スペシャルサンクス ==&lt;br /&gt;
&lt;br /&gt;
本マクロの制作にあたり、開発者さえ忘れていた隠しオプションについては、MSY-07 さんが作成された「[[隠しオプション一覧]]」を参考にさせていただきました。MSY-07 さんの詳細な記事に深く感謝しつつ、このマクロをお届けします。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=9402</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=9402"/>
		<updated>2026-03-22T01:56:45Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ここから下に書き込んでください */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここは MeryWiki で編集・執筆をするための練習や実験などに使用できるページです。初心者の方はまずこちらで Wiki の編集をしてみてください。&lt;br /&gt;
&lt;br /&gt;
== ここから下に書き込んでください ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;===&amp;lt;/nowiki&amp;gt;の見出し。 ===&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Formatting/ja を見た。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;の表示が違ってた&lt;br /&gt;
&lt;br /&gt;
ソースの表示は&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;と&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;があるのかな？&lt;br /&gt;
行頭半角空けでもいいみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;太字は&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;斜体は&amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
内部リンク（例：[[よくある質問]]）は&amp;lt;nowiki&amp;gt;[[～]]&amp;lt;/nowiki&amp;gt;で囲う。&lt;br /&gt;
&lt;br /&gt;
ソースコードの貼り付けは &amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt; タグを使用する。(&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; タグは非推奨)&lt;br /&gt;
&lt;br /&gt;
lang は必須になった模様。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
if flg == 0: # コメント&lt;br /&gt;
    for head in handOut:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
line を付け加えると行番号を表示できる。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
if flg == 0: # コメント&lt;br /&gt;
    for head in handOut:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
start ではじめの行番号を指定できる。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line start=&amp;quot;2048&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line start=&amp;quot;2048&amp;quot;&amp;gt;&lt;br /&gt;
if flg == 0: # コメント&lt;br /&gt;
    for head in handOut:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:test-1436.png&amp;diff=9401</id>
		<title>ファイル:test-1436.png</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:test-1436.png&amp;diff=9401"/>
		<updated>2026-03-22T01:56:16Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=9399</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=9399"/>
		<updated>2026-03-22T01:54:10Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ここから下に書き込んでください */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここは MeryWiki で編集・執筆をするための練習や実験などに使用できるページです。初心者の方はまずこちらで Wiki の編集をしてみてください。&lt;br /&gt;
&lt;br /&gt;
== ここから下に書き込んでください ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;===&amp;lt;/nowiki&amp;gt;の見出し。 ===&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Formatting/ja を見た。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;の表示が違ってた&lt;br /&gt;
&lt;br /&gt;
ソースの表示は&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;と&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;があるのかな？&lt;br /&gt;
行頭半角空けでもいいみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;太字は&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;斜体は&amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
内部リンク（例：[[よくある質問]]）は&amp;lt;nowiki&amp;gt;[[～]]&amp;lt;/nowiki&amp;gt;で囲う。&lt;br /&gt;
&lt;br /&gt;
ソースコードの貼り付けは &amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt; タグを使用する。(&amp;lt;nowiki&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/nowiki&amp;gt; タグは非推奨)&lt;br /&gt;
&lt;br /&gt;
lang は必須になった模様。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
if flg == 0: # コメント&lt;br /&gt;
    for head in handOut:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
line を付け加えると行番号を表示できる。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
if flg == 0: # コメント&lt;br /&gt;
    for head in handOut:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
start ではじめの行番号を指定できる。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line start=&amp;quot;2048&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line start=&amp;quot;2048&amp;quot;&amp;gt;&lt;br /&gt;
if flg == 0: # コメント&lt;br /&gt;
    for head in handOut:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
てすと。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E6%93%8D%E4%BD%9C%E3%81%AE%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97&amp;diff=9208</id>
		<title>操作の繰り返し</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E6%93%8D%E4%BD%9C%E3%81%AE%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97&amp;diff=9208"/>
		<updated>2025-09-13T02:09:59Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: ページの作成:「__NOTOC__ == 概要 ==  指定した回数だけ操作を繰り返すマクロです。Emacs の&amp;lt;code&amp;gt;C-u&amp;lt;/code&amp;gt;(universal-argument) に近い動作をします。  == 動作環境 ==  * Mery Ver 3.7.18 以降  == 使用方法 ==  # マクロを実行します。 # ステータス バーに [繰り返し回数] が表示され、入力待ち状態になります。 # 繰り返したい回数を数値で入力します。 # 続けて実行するコマンドを入力…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
指定した回数だけ操作を繰り返すマクロです。Emacs の&amp;lt;code&amp;gt;C-u&amp;lt;/code&amp;gt;(universal-argument) に近い動作をします。&lt;br /&gt;
&lt;br /&gt;
== 動作環境 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.18 以降&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
&lt;br /&gt;
# マクロを実行します。&lt;br /&gt;
# ステータス バーに [繰り返し回数] が表示され、入力待ち状態になります。&lt;br /&gt;
# 繰り返したい回数を数値で入力します。&lt;br /&gt;
# 続けて実行するコマンドを入力します。&lt;br /&gt;
: (利用可能なコマンドはマクロのソースコードを参照してください)&lt;br /&gt;
&lt;br /&gt;
== 補足事項 ==&lt;br /&gt;
&lt;br /&gt;
* 入力待ちの状態で&amp;lt;kbd&amp;gt;Esc&amp;lt;/kbd&amp;gt;キーを押すとキャンセルできます。&lt;br /&gt;
* &amp;lt;code&amp;gt;actions&amp;lt;/code&amp;gt;にコマンドを追加することで機能を拡張できます。&lt;br /&gt;
* &amp;lt;code&amp;gt;C-&amp;lt;/code&amp;gt;は&amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt;キー、&amp;lt;code&amp;gt;M-&amp;lt;/code&amp;gt;は&amp;lt;kbd&amp;gt;Alt&amp;lt;/kbd&amp;gt;キーを表します。&lt;br /&gt;
&lt;br /&gt;
== 使用例 ==&lt;br /&gt;
&lt;br /&gt;
マクロを実行 → &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt; → &amp;lt;kbd&amp;gt;Ctrl&amp;lt;/kbd&amp;gt;+&amp;lt;kbd&amp;gt;Y&amp;lt;/kbd&amp;gt; と入力すると、クリップボードの内容を 10 回貼り付けます。&lt;br /&gt;
&lt;br /&gt;
== ソースコード (RepeatAction.js) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
#title = &amp;quot;操作の繰り返し&amp;quot;&lt;br /&gt;
#async = true&lt;br /&gt;
&lt;br /&gt;
const actions = {&lt;br /&gt;
	// 左へ移動&lt;br /&gt;
	&amp;quot;C-b&amp;quot;: &amp;quot;document.selection.CharLeft(false, %d)&amp;quot;,&lt;br /&gt;
	// 右へ移動&lt;br /&gt;
	&amp;quot;C-f&amp;quot;: &amp;quot;document.selection.CharRight(false, %d)&amp;quot;,&lt;br /&gt;
	// 上へ移動&lt;br /&gt;
	&amp;quot;C-p&amp;quot;: &amp;quot;document.selection.LineUp(false, %d)&amp;quot;,&lt;br /&gt;
	// 下へ移動&lt;br /&gt;
	&amp;quot;C-n&amp;quot;: &amp;quot;document.selection.LineDown(false, %d)&amp;quot;,&lt;br /&gt;
	// 上にスクロール&lt;br /&gt;
	&amp;quot;C-v&amp;quot;: &amp;quot;document.ScrollY -= %d;&amp;quot;,&lt;br /&gt;
	// 下にスクロール&lt;br /&gt;
	&amp;quot;v&amp;quot;: &amp;quot;document.ScrollY += %d;&amp;quot;,&lt;br /&gt;
	// 貼り付け&lt;br /&gt;
	&amp;quot;C-y&amp;quot;: &amp;quot;document.selection.Paste();&amp;quot;,&lt;br /&gt;
	// 削除&lt;br /&gt;
	&amp;quot;C-d&amp;quot;: &amp;quot;document.selection.Delete(%d);&amp;quot;,&lt;br /&gt;
	// 改行&lt;br /&gt;
	&amp;quot;C-j&amp;quot;: &amp;quot;document.selection.NewLine(%d);&amp;quot;,&lt;br /&gt;
	// 改行 (カーソル位置を維持)&lt;br /&gt;
	&amp;quot;C-o&amp;quot;: &amp;quot;let p = document.selection.GetActivePos(); document.selection.NewLine(%d); document.selection.SetActivePos(p);&amp;quot;,&lt;br /&gt;
	// 置換&lt;br /&gt;
	&amp;quot;r&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	// 置換 (正規表現)&lt;br /&gt;
	&amp;quot;x&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	// 挿入&lt;br /&gt;
	&amp;quot;i&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	// 単語を選択&lt;br /&gt;
	&amp;quot;w&amp;quot;: &amp;quot;document.selection.SelectWord();&amp;quot;,&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
const s = status;&lt;br /&gt;
function main() {&lt;br /&gt;
	status = &amp;quot;繰り返し回数: &amp;quot;;&lt;br /&gt;
	let repeat = 0;&lt;br /&gt;
	let pressed = {};&lt;br /&gt;
	let command = &amp;quot;&amp;quot;;&lt;br /&gt;
	const d = Date.now();&lt;br /&gt;
	while (Date.now() - d &amp;lt; 10000) {&lt;br /&gt;
		// Esc&lt;br /&gt;
		if ((shell.GetKeyState(0x1B) &amp;amp; 0x8000) !== 0) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		// 0 .. 9&lt;br /&gt;
		for (let k = 0x30; k &amp;lt;= 0x39; k++) {&lt;br /&gt;
			const press = (shell.GetKeyState(k) &amp;amp; 0x8000) !== 0;&lt;br /&gt;
			if (press &amp;amp;&amp;amp; !pressed[k]) {&lt;br /&gt;
				pressed[k] = true;&lt;br /&gt;
				const digit = k - 0x30;&lt;br /&gt;
				repeat = repeat * 10 + digit;&lt;br /&gt;
				status += digit.toString();&lt;br /&gt;
			}&lt;br /&gt;
			if (!press &amp;amp;&amp;amp; pressed[k]) {&lt;br /&gt;
				pressed[k] = false;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		// A .. Z&lt;br /&gt;
	    for (let k = 0x41; k &amp;lt;= 0x5A; k++) {&lt;br /&gt;
	        if ((shell.GetKeyState(k) &amp;amp; 0x8000) !== 0) {&lt;br /&gt;
	           	command = ((shell.GetKeyState(0x11) &amp;amp; 0x8000) !== 0 ? &amp;quot;C-&amp;quot; : &amp;quot;&amp;quot;) + ((shell.GetKeyState(0x12) &amp;amp; 0x8000) !== 0 ? &amp;quot;M-&amp;quot; : &amp;quot;&amp;quot;) + String.fromCharCode(k).toLowerCase();&lt;br /&gt;
	            break;&lt;br /&gt;
	        }&lt;br /&gt;
	    }&lt;br /&gt;
	    if (command !== &amp;quot;&amp;quot;)&lt;br /&gt;
	    	break;&lt;br /&gt;
	    Sleep(20);&lt;br /&gt;
	}&lt;br /&gt;
	if (repeat === 0) {&lt;br /&gt;
		repeat = 1;&lt;br /&gt;
	}&lt;br /&gt;
	Sleep(300);&lt;br /&gt;
	if ((command === &amp;quot;r&amp;quot;) || (command === &amp;quot;x&amp;quot;)) {&lt;br /&gt;
		const t = prompt(&amp;quot;検索する文字列:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
		const u = prompt(&amp;quot;置換後の文字列:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
		if (t &amp;amp;&amp;amp; u !== null) {&lt;br /&gt;
			Redraw = false;&lt;br /&gt;
			BeginUndoGroup();&lt;br /&gt;
			for (var i = 0; i &amp;lt; repeat; i++) {&lt;br /&gt;
				document.selection.Replace(t, u, meFindNext | (command === &amp;quot;x&amp;quot; ? meFindReplaceRegExp : 0));&lt;br /&gt;
			}&lt;br /&gt;
			document.selection.Collapse(meCollapseEnd);&lt;br /&gt;
			EndUndoGroup();&lt;br /&gt;
			Redraw = true;&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
	} else if (command === &amp;quot;i&amp;quot;) {&lt;br /&gt;
		const t = prompt(&amp;quot;挿入する文字列:&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
		if (t) {&lt;br /&gt;
			Redraw = false;&lt;br /&gt;
			BeginUndoGroup();&lt;br /&gt;
			for (var i = 0; i &amp;lt; repeat; i++) {&lt;br /&gt;
				document.selection.Text = t;&lt;br /&gt;
			}&lt;br /&gt;
			EndUndoGroup();&lt;br /&gt;
			Redraw = true;&lt;br /&gt;
		}&lt;br /&gt;
	} else if (command !== &amp;quot;&amp;quot; &amp;amp;&amp;amp; actions.hasOwnProperty(command)) {&lt;br /&gt;
		Redraw = false;&lt;br /&gt;
		BeginUndoGroup();&lt;br /&gt;
	    const action = actions[command];&lt;br /&gt;
    	if (/%d/.test(action)) {&lt;br /&gt;
    		editor.executeMacro(action.replace(/%d/g, repeat), meRunText | meMacroLangJScript);&lt;br /&gt;
    	} else {&lt;br /&gt;
			for (var i = 0; i &amp;lt; repeat; i++) {&lt;br /&gt;
				editor.executeMacro(action, meRunText | meMacroLangJScript);&lt;br /&gt;
			}&lt;br /&gt;
    	}&lt;br /&gt;
		EndUndoGroup();&lt;br /&gt;
		Redraw = true;&lt;br /&gt;
	}&lt;br /&gt;
	return false;&lt;br /&gt;
}&lt;br /&gt;
if (!main()) {&lt;br /&gt;
	status = s;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E6%9B%B8%E3%81%8B%E3%82%89%E6%A4%9C%E7%B4%A2&amp;diff=8983</id>
		<title>文書から検索</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E6%9B%B8%E3%81%8B%E3%82%89%E6%A4%9C%E7%B4%A2&amp;diff=8983"/>
		<updated>2025-06-29T04:25:25Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;現在開いているすべての文書から文字列を検索します。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
var s = prompt(&amp;quot;検索&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
if (!s) {&lt;br /&gt;
	Quit();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
editor.NewFile();&lt;br /&gt;
var d = editor.ActiveDocument;&lt;br /&gt;
var r = new RegExp(s, &amp;quot;i&amp;quot;);&lt;br /&gt;
for (var e = new Enumerator(editor.documents); !e.atEnd(); e.moveNext()) {&lt;br /&gt;
	var item = e.item();&lt;br /&gt;
	if (item != d) {&lt;br /&gt;
		d.selection.Text = Find(item, r);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
d.selection.StartOfDocument();&lt;br /&gt;
d.selection.Find(s, meFindNext + meFindReplaceRegExp);&lt;br /&gt;
d.selection.StartOfDocument();&lt;br /&gt;
&lt;br /&gt;
function Find(d, r) {&lt;br /&gt;
	var s1 = d.Text.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
	var s2 = [];&lt;br /&gt;
	var s3 = &amp;quot;&amp;quot;;&lt;br /&gt;
	for (var i = 0; i &amp;lt; s1.length; i++) {&lt;br /&gt;
		s3 = r.exec(s1[i]);&lt;br /&gt;
		if (s3) {&lt;br /&gt;
			s2.push((d.FullName != &amp;quot;&amp;quot; ? d.FullName : &amp;quot;無題&amp;quot;) + &amp;quot;(&amp;quot; + (i + 1) + &amp;quot;): &amp;quot; + s1[i]);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	s3 = s2.join(&amp;quot;\n&amp;quot;);&lt;br /&gt;
	return s3 != &amp;quot;&amp;quot; ? (s3 + &amp;quot;\n&amp;quot;) : &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E5%8D%98%E8%AA%9E%E3%82%92%E6%8A%BD%E5%87%BA&amp;diff=8982</id>
		<title>単語を抽出</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E5%8D%98%E8%AA%9E%E3%82%92%E6%8A%BD%E5%87%BA&amp;diff=8982"/>
		<updated>2025-06-29T04:25:02Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;文書から単語を抽出します。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
// 単語の区切りでぶった切って昇順に並べ替える&lt;br /&gt;
var s1 = document.Text.split(/[^0-9A-Z_a-z]+?/).sort();&lt;br /&gt;
var s2 = [];&lt;br /&gt;
// 重複する単語と数字で始まる単語は除外する&lt;br /&gt;
var r = new RegExp(&amp;quot;^[0-9]+?&amp;quot;, &amp;quot;i&amp;quot;);&lt;br /&gt;
for (var i = 0; i &amp;lt; s1.length; i++) {&lt;br /&gt;
	if (i == 0 || s1[i-1] != s1[i]) {&lt;br /&gt;
		if (!r.exec(s1[i])) {&lt;br /&gt;
			s2.push(s1[i]);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
editor.NewFile();&lt;br /&gt;
// 大文字小文字を無視して昇順に並べ替える&lt;br /&gt;
editor.ActiveDocument.Text = s2.sort(function(a, b) {&lt;br /&gt;
	var s1 = a.toLowerCase();&lt;br /&gt;
	var s2 = b.toLowerCase();&lt;br /&gt;
	return ((s1 &amp;lt; s2) ? -1 : ((s1 &amp;gt; s2) ? 1 : 0));&lt;br /&gt;
}).join(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E6%9B%B8%E3%81%8B%E3%82%89%E6%A4%9C%E7%B4%A2&amp;diff=8981</id>
		<title>文書から検索</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E6%9B%B8%E3%81%8B%E3%82%89%E6%A4%9C%E7%B4%A2&amp;diff=8981"/>
		<updated>2025-06-29T04:24:26Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;現在開いているすべての文書から文字列を検索します。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
var s = prompt(&amp;quot;検索&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
if (s == &amp;quot;&amp;quot;) {&lt;br /&gt;
	Quit();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
editor.NewFile();&lt;br /&gt;
var d = editor.ActiveDocument;&lt;br /&gt;
var r = new RegExp(s, &amp;quot;i&amp;quot;);&lt;br /&gt;
for (var e = new Enumerator(editor.documents); !e.atEnd(); e.moveNext()) {&lt;br /&gt;
	var item = e.item();&lt;br /&gt;
	if (item != d) {&lt;br /&gt;
		d.selection.Text = Find(item, r);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
d.selection.StartOfDocument();&lt;br /&gt;
d.selection.Find(s, meFindNext + meFindReplaceRegExp);&lt;br /&gt;
d.selection.StartOfDocument();&lt;br /&gt;
&lt;br /&gt;
function Find(d, r) {&lt;br /&gt;
	var s1 = d.Text.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
	var s2 = [];&lt;br /&gt;
	var s3 = &amp;quot;&amp;quot;;&lt;br /&gt;
	for (var i = 0; i &amp;lt; s1.length; i++) {&lt;br /&gt;
		s3 = r.exec(s1[i]);&lt;br /&gt;
		if (s3) {&lt;br /&gt;
			s2.push((d.FullName != &amp;quot;&amp;quot; ? d.FullName : &amp;quot;無題&amp;quot;) + &amp;quot;(&amp;quot; + (i + 1) + &amp;quot;): &amp;quot; + s1[i]);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	s3 = s2.join(&amp;quot;\n&amp;quot;);&lt;br /&gt;
	return s3 != &amp;quot;&amp;quot; ? (s3 + &amp;quot;\n&amp;quot;) : &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=SHA_%E3%81%A7%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E5%8C%96&amp;diff=8980</id>
		<title>SHA でハッシュ化</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=SHA_%E3%81%A7%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E5%8C%96&amp;diff=8980"/>
		<updated>2025-06-29T04:24:11Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;選択文字列を SHA-1 でハッシュ化します。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined&lt;br /&gt;
 * in FIPS PUB 180-1&lt;br /&gt;
 * Version 2.1a Copyright Paul Johnston 2000 - 2002.&lt;br /&gt;
 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet&lt;br /&gt;
 * Distributed under the BSD License&lt;br /&gt;
 * See http://pajhome.org.uk/crypt/md5 for details.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Configurable variables. You may need to tweak these to be compatible with&lt;br /&gt;
 * the server-side, but the defaults work in most cases.&lt;br /&gt;
 */&lt;br /&gt;
var hexcase = 0;  /* hex output format. 0 - lowercase; 1 - uppercase        */&lt;br /&gt;
var b64pad  = &amp;quot;&amp;quot;; /* base-64 pad character. &amp;quot;=&amp;quot; for strict RFC compliance   */&lt;br /&gt;
var chrsz   = 8;  /* bits per input character. 8 - ASCII; 16 - Unicode      */&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * These are the functions you&#039;ll usually want to call&lt;br /&gt;
 * They take string arguments and return either hex or base-64 encoded strings&lt;br /&gt;
 */&lt;br /&gt;
function hex_sha1(s) {&lt;br /&gt;
	return binb2hex(core_sha1(str2binb(s),s.length * chrsz));&lt;br /&gt;
}&lt;br /&gt;
function b64_sha1(s) {&lt;br /&gt;
	return binb2b64(core_sha1(str2binb(s),s.length * chrsz));&lt;br /&gt;
}&lt;br /&gt;
function str_sha1(s) {&lt;br /&gt;
	return binb2str(core_sha1(str2binb(s),s.length * chrsz));&lt;br /&gt;
}&lt;br /&gt;
function hex_hmac_sha1(key, data) {&lt;br /&gt;
	return binb2hex(core_hmac_sha1(key, data));&lt;br /&gt;
}&lt;br /&gt;
function b64_hmac_sha1(key, data) {&lt;br /&gt;
	return binb2b64(core_hmac_sha1(key, data));&lt;br /&gt;
}&lt;br /&gt;
function str_hmac_sha1(key, data) {&lt;br /&gt;
	return binb2str(core_hmac_sha1(key, data));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Perform a simple self-test to see if the VM is working&lt;br /&gt;
 */&lt;br /&gt;
function sha1_vm_test() {&lt;br /&gt;
  return hex_sha1(&amp;quot;abc&amp;quot;) == &amp;quot;a9993e364706816aba3e25717850c26c9cd0d89d&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Calculate the SHA-1 of an array of big-endian words, and a bit length&lt;br /&gt;
 */&lt;br /&gt;
function core_sha1(x, len) {&lt;br /&gt;
  /* append padding */&lt;br /&gt;
  x[len &amp;gt;&amp;gt; 5] |= 0x80 &amp;lt;&amp;lt; (24 - len % 32);&lt;br /&gt;
  x[((len + 64 &amp;gt;&amp;gt; 9) &amp;lt;&amp;lt; 4) + 15] = len;&lt;br /&gt;
&lt;br /&gt;
  var w = Array(80);&lt;br /&gt;
  var a =  1732584193;&lt;br /&gt;
  var b = -271733879;&lt;br /&gt;
  var c = -1732584194;&lt;br /&gt;
  var d =  271733878;&lt;br /&gt;
  var e = -1009589776;&lt;br /&gt;
&lt;br /&gt;
  for(var i = 0; i &amp;lt; x.length; i += 16) {&lt;br /&gt;
    var olda = a;&lt;br /&gt;
    var oldb = b;&lt;br /&gt;
    var oldc = c;&lt;br /&gt;
    var oldd = d;&lt;br /&gt;
    var olde = e;&lt;br /&gt;
&lt;br /&gt;
    for(var j = 0; j &amp;lt; 80; j++) {&lt;br /&gt;
      if(j &amp;lt; 16) {&lt;br /&gt;
      	w[j] = x[i + j];&lt;br /&gt;
      } else {&lt;br /&gt;
      	w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);&lt;br /&gt;
      }&lt;br /&gt;
      var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)),&lt;br /&gt;
                       safe_add(safe_add(e, w[j]), sha1_kt(j)));&lt;br /&gt;
      e = d;&lt;br /&gt;
      d = c;&lt;br /&gt;
      c = rol(b, 30);&lt;br /&gt;
      b = a;&lt;br /&gt;
      a = t;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    a = safe_add(a, olda);&lt;br /&gt;
    b = safe_add(b, oldb);&lt;br /&gt;
    c = safe_add(c, oldc);&lt;br /&gt;
    d = safe_add(d, oldd);&lt;br /&gt;
    e = safe_add(e, olde);&lt;br /&gt;
  }&lt;br /&gt;
  return Array(a, b, c, d, e);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Perform the appropriate triplet combination function for the current&lt;br /&gt;
 * iteration&lt;br /&gt;
 */&lt;br /&gt;
function sha1_ft(t, b, c, d) {&lt;br /&gt;
  if(t &amp;lt; 20) {&lt;br /&gt;
  	return (b &amp;amp; c) | ((~b) &amp;amp; d);&lt;br /&gt;
  }&lt;br /&gt;
  if(t &amp;lt; 40) {&lt;br /&gt;
  	return b ^ c ^ d;&lt;br /&gt;
  }&lt;br /&gt;
  if(t &amp;lt; 60) {&lt;br /&gt;
  	return (b &amp;amp; c) | (b &amp;amp; d) | (c &amp;amp; d);&lt;br /&gt;
  }&lt;br /&gt;
  return b ^ c ^ d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Determine the appropriate additive constant for the current iteration&lt;br /&gt;
 */&lt;br /&gt;
function sha1_kt(t) {&lt;br /&gt;
  return (t &amp;lt; 20) ?  1518500249 : (t &amp;lt; 40) ?  1859775393 :&lt;br /&gt;
         (t &amp;lt; 60) ? -1894007588 : -899497514;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Calculate the HMAC-SHA1 of a key and some data&lt;br /&gt;
 */&lt;br /&gt;
function core_hmac_sha1(key, data) {&lt;br /&gt;
  var bkey = str2binb(key);&lt;br /&gt;
  if(bkey.length &amp;gt; 16) {&lt;br /&gt;
  	bkey = core_sha1(bkey, key.length * chrsz);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var ipad = Array(16), opad = Array(16);&lt;br /&gt;
  for(var i = 0; i &amp;lt; 16; i++) {&lt;br /&gt;
    ipad[i] = bkey[i] ^ 0x36363636;&lt;br /&gt;
    opad[i] = bkey[i] ^ 0x5C5C5C5C;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  var hash = core_sha1(ipad.concat(str2binb(data)), 512 + data.length * chrsz);&lt;br /&gt;
  return core_sha1(opad.concat(hash), 512 + 160);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Add integers, wrapping at 2^32. This uses 16-bit operations internally&lt;br /&gt;
 * to work around bugs in some JS interpreters.&lt;br /&gt;
 */&lt;br /&gt;
function safe_add(x, y) {&lt;br /&gt;
  var lsw = (x &amp;amp; 0xFFFF) + (y &amp;amp; 0xFFFF);&lt;br /&gt;
  var msw = (x &amp;gt;&amp;gt; 16) + (y &amp;gt;&amp;gt; 16) + (lsw &amp;gt;&amp;gt; 16);&lt;br /&gt;
  return (msw &amp;lt;&amp;lt; 16) | (lsw &amp;amp; 0xFFFF);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Bitwise rotate a 32-bit number to the left.&lt;br /&gt;
 */&lt;br /&gt;
function rol(num, cnt) {&lt;br /&gt;
  return (num &amp;lt;&amp;lt; cnt) | (num &amp;gt;&amp;gt;&amp;gt; (32 - cnt));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Convert an 8-bit or 16-bit string to an array of big-endian words&lt;br /&gt;
 * In 8-bit function, characters &amp;gt;255 have their hi-byte silently ignored.&lt;br /&gt;
 */&lt;br /&gt;
function str2binb(str) {&lt;br /&gt;
  var bin = Array();&lt;br /&gt;
  var mask = (1 &amp;lt;&amp;lt; chrsz) - 1;&lt;br /&gt;
  for(var i = 0; i &amp;lt; str.length * chrsz; i += chrsz) {&lt;br /&gt;
    bin[i&amp;gt;&amp;gt;5] |= (str.charCodeAt(i / chrsz) &amp;amp; mask) &amp;lt;&amp;lt; (32 - chrsz - i%32);&lt;br /&gt;
  }&lt;br /&gt;
  return bin;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Convert an array of big-endian words to a string&lt;br /&gt;
 */&lt;br /&gt;
function binb2str(bin) {&lt;br /&gt;
  var str = &amp;quot;&amp;quot;;&lt;br /&gt;
  var mask = (1 &amp;lt;&amp;lt; chrsz) - 1;&lt;br /&gt;
  for(var i = 0; i &amp;lt; bin.length * 32; i += chrsz) {&lt;br /&gt;
    str += String.fromCharCode((bin[i&amp;gt;&amp;gt;5] &amp;gt;&amp;gt;&amp;gt; (32 - chrsz - i%32)) &amp;amp; mask);&lt;br /&gt;
  }&lt;br /&gt;
  return str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Convert an array of big-endian words to a hex string.&lt;br /&gt;
 */&lt;br /&gt;
function binb2hex(binarray) {&lt;br /&gt;
  var hex_tab = hexcase ? &amp;quot;0123456789ABCDEF&amp;quot; : &amp;quot;0123456789abcdef&amp;quot;;&lt;br /&gt;
  var str = &amp;quot;&amp;quot;;&lt;br /&gt;
  for(var i = 0; i &amp;lt; binarray.length * 4; i++) {&lt;br /&gt;
    str += hex_tab.charAt((binarray[i&amp;gt;&amp;gt;2] &amp;gt;&amp;gt; ((3 - i%4)*8+4)) &amp;amp; 0xF) +&lt;br /&gt;
           hex_tab.charAt((binarray[i&amp;gt;&amp;gt;2] &amp;gt;&amp;gt; ((3 - i%4)*8  )) &amp;amp; 0xF);&lt;br /&gt;
  }&lt;br /&gt;
  return str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Convert an array of big-endian words to a base-64 string&lt;br /&gt;
 */&lt;br /&gt;
function binb2b64(binarray) {&lt;br /&gt;
  var tab = &amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&amp;quot;;&lt;br /&gt;
  var str = &amp;quot;&amp;quot;;&lt;br /&gt;
  for(var i = 0; i &amp;lt; binarray.length * 4; i += 3) {&lt;br /&gt;
    var triplet = (((binarray[i   &amp;gt;&amp;gt; 2] &amp;gt;&amp;gt; 8 * (3 -  i   %4)) &amp;amp; 0xFF) &amp;lt;&amp;lt; 16)&lt;br /&gt;
                | (((binarray[i+1 &amp;gt;&amp;gt; 2] &amp;gt;&amp;gt; 8 * (3 - (i+1)%4)) &amp;amp; 0xFF) &amp;lt;&amp;lt; 8 )&lt;br /&gt;
                |  ((binarray[i+2 &amp;gt;&amp;gt; 2] &amp;gt;&amp;gt; 8 * (3 - (i+2)%4)) &amp;amp; 0xFF);&lt;br /&gt;
    for(var j = 0; j &amp;lt; 4; j++) {&lt;br /&gt;
      if(i * 8 + j * 6 &amp;gt; binarray.length * 32) {&lt;br /&gt;
      	str += b64pad;&lt;br /&gt;
      } else {&lt;br /&gt;
      	str += tab.charAt((triplet &amp;gt;&amp;gt; 6*(3-j)) &amp;amp; 0x3F);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return str;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * SHA for Mery&lt;br /&gt;
 * @author Kuro&lt;br /&gt;
 * @link https://www.haijin-boys.com/&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
document.selection.Text = hex_sha1(document.selection.Text);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%82%92%E5%BC%95%E6%95%B0%E3%81%AB%E3%81%97%E3%81%A6%E3%82%A2%E3%83%97%E3%83%AA%E8%B5%B7%E5%8B%95&amp;diff=8979</id>
		<title>ファイル名を引数にしてアプリ起動</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%82%92%E5%BC%95%E6%95%B0%E3%81%AB%E3%81%97%E3%81%A6%E3%82%A2%E3%83%97%E3%83%AA%E8%B5%B7%E5%8B%95&amp;diff=8979"/>
		<updated>2025-06-29T04:23:49Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ソースコード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;編集中の文書のファイル名を引数にして実行ファイルを起動させます。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;使用前にマクロ本体を編集して必ず設定を済ませておくこと&#039;&#039;&#039;（起動させる実行ファイルへのパスなど）。&lt;br /&gt;
&lt;br /&gt;
== 未完成なところ ==&lt;br /&gt;
実行ファイルを指定しないでマクロを起動させた場合の終了処理&lt;br /&gt;
&lt;br /&gt;
== ソースコード ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
// -----------------------------------------------------------------------------&lt;br /&gt;
// ファイル名を引数にしてアプリ起動 改&lt;br /&gt;
// Ver1.0&lt;br /&gt;
//&lt;br /&gt;
// 原作（？）：Copyright (c) Kuro. All Rights Reserved.&lt;br /&gt;
//  www:    https://www.haijin-boys.com/&lt;br /&gt;
// 改造：みそ&lt;br /&gt;
//　www:　http://www.symphonic-net.com/misodengaku/&lt;br /&gt;
// -----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
// 現在のファイル名を取得&lt;br /&gt;
var s = document.FullName;&lt;br /&gt;
&lt;br /&gt;
// 起動するEXEファイルへの絶対パス（かな？）を指定(\マークはエスケープする必要があります)&lt;br /&gt;
var exepath = &amp;quot;ここに実行ファイルへのパスを記述&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
if (exepath == &amp;quot;&amp;quot;){&lt;br /&gt;
	alert(&amp;quot;起動させる実行ファイルを指定してください&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
//コマンドラインで渡す文字列を指定。～&amp;quot;+s+&amp;quot;～とやるとsが編集しているファイル名に置き換わります&lt;br /&gt;
//ここを変更する場合36行目のvar cmdline～も変更すること&lt;br /&gt;
var cmdline = &amp;quot;&amp;quot;+s+&amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ファイル名があれば・・・&lt;br /&gt;
if (s != &amp;quot;&amp;quot;) {&lt;br /&gt;
	document.Save();&lt;br /&gt;
	var o = new ActiveXObject(&amp;quot;WScript.Shell&amp;quot;);&lt;br /&gt;
	o.Run(&amp;quot;\&amp;quot;&amp;quot;+exepath+&amp;quot;\&amp;quot; &amp;quot;+cmdline);&lt;br /&gt;
} else {&lt;br /&gt;
	// ファイル名がなければ・・・&lt;br /&gt;
	var s = editor.FullName;&lt;br /&gt;
	var a = s.split(&amp;quot;\\&amp;quot;);&lt;br /&gt;
	a.splice(a.length - 1, a.length);&lt;br /&gt;
	var s = a.join(&amp;quot;\\&amp;quot;) + &amp;quot;\\&amp;quot; + new Date().getTime() + &amp;quot;.hsp&amp;quot;;&lt;br /&gt;
	document.Save(s);&lt;br /&gt;
&lt;br /&gt;
	//コマンドラインを更新&lt;br /&gt;
	var cmdline = &amp;quot;&amp;quot;+s+&amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	var o = new ActiveXObject(&amp;quot;WScript.Shell&amp;quot;);&lt;br /&gt;
	o.Run(&amp;quot;\&amp;quot;&amp;quot;+exepath+&amp;quot;\&amp;quot; &amp;quot;+cmdline);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%AF%94%E8%BC%83&amp;diff=8978</id>
		<title>ファイルを比較</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%AF%94%E8%BC%83&amp;diff=8978"/>
		<updated>2025-06-29T04:23:33Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ソースコード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kuro 版 ==&lt;br /&gt;
[https://winmergejp.bitbucket.io/ WinMerge] にファイルのパスを渡すだけです。&lt;br /&gt;
&lt;br /&gt;
=== ソースコード ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
#title = &amp;quot;ファイルを比較&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;WinMergeにファイルのパスを渡します。&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var path = &amp;quot;C:\\Program Files\\WinMerge\\WinMergeU.exe&amp;quot;;&lt;br /&gt;
if (editor.documents.Count &amp;lt; 2) {&lt;br /&gt;
	status = &amp;quot;比較するファイルがありません&amp;quot;;&lt;br /&gt;
	Quit();&lt;br /&gt;
}&lt;br /&gt;
status = document.Name + &amp;quot; と比較するファイルを選択します&amp;quot;;&lt;br /&gt;
var m = CreatePopupMenu();&lt;br /&gt;
var d = editor.documents;&lt;br /&gt;
for (i = 0; i &amp;lt; d.Count; i++) {&lt;br /&gt;
	var item = d.item(i);&lt;br /&gt;
	if (item.FullName == document.FullName) {&lt;br /&gt;
		continue;&lt;br /&gt;
	}&lt;br /&gt;
	var s = &amp;quot;\&amp;quot;&amp;quot; + document.Name + &amp;quot;\&amp;quot; と \&amp;quot;&amp;quot; + item.Name + &amp;quot;\&amp;quot; を比較する&amp;quot;;&lt;br /&gt;
	if (!item.Saved) {&lt;br /&gt;
		s = s + &amp;quot; *&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	m.Add(s, i + 1);&lt;br /&gt;
}&lt;br /&gt;
var r = m.Track(1);&lt;br /&gt;
if (r &amp;gt; 0) {&lt;br /&gt;
	var item = d.Item(r - 1);&lt;br /&gt;
	if (!item.Saved) {&lt;br /&gt;
		item.Save(item.FullName);&lt;br /&gt;
	}&lt;br /&gt;
	if (!document.Saved) {&lt;br /&gt;
		document.Save(document.FullName);&lt;br /&gt;
	}&lt;br /&gt;
	var s = &amp;quot;\&amp;quot;&amp;quot; + path + &amp;quot;\&amp;quot; \&amp;quot;&amp;quot; + document.FullName + &amp;quot;\&amp;quot; \&amp;quot;&amp;quot; + item.FullName + &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
	status = s;&lt;br /&gt;
	var ws = new ActiveXObject(&amp;quot;WScript.Shell&amp;quot;);&lt;br /&gt;
	ws.Run(s);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MSY-07 版 ==&lt;br /&gt;
Kuro氏が作成したマクロでは2つのファイルを比較することができますが、改造したことで下記のマクロでは2つのファイルの比較だけでなく、3つのファイルを比較することができるようになりました。&lt;br /&gt;
&lt;br /&gt;
=== パラメーター ===&lt;br /&gt;
* showComparisonMenu：メニュー表示のフラグ（true：表示、false：非表示）&lt;br /&gt;
* comparisonType：デフォルトの比較方法（1：2つのファイル、2：3つのファイル）&lt;br /&gt;
&lt;br /&gt;
=== ソースコード ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#title = &amp;quot;ファイルを比較&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;WinMergeにファイルのパスを渡します。&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var path = &amp;quot;C:\\Program Files\\WinMerge\\WinMergeU.exe&amp;quot;;&lt;br /&gt;
var showComparisonMenu = true; // メニュー表示のフラグ（true: 表示, false: 非表示）&lt;br /&gt;
var comparisonType = 1; // デフォルトの比較方法（1: 2つのファイル, 2: 3つのファイル）&lt;br /&gt;
&lt;br /&gt;
if (!showComparisonMenu) {&lt;br /&gt;
	if (comparisonType == 2 &amp;amp;&amp;amp; editor.documents.Count &amp;lt; 3) {&lt;br /&gt;
		status = &amp;quot;3つのファイルを比較するには、少なくとも3つのファイルを開いてください&amp;quot;;&lt;br /&gt;
		Quit();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (editor.documents.Count &amp;lt; 2) {&lt;br /&gt;
	status = &amp;quot;比較するファイルがありません&amp;quot;;&lt;br /&gt;
	Quit();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (showComparisonMenu) {&lt;br /&gt;
	status = &amp;quot;比較方法を選択します&amp;quot;;&lt;br /&gt;
	var comparisonMenu = CreatePopupMenu();&lt;br /&gt;
	comparisonMenu.Add(&amp;quot;2つのファイルを比較する&amp;quot;, 1);&lt;br /&gt;
	comparisonMenu.Add(&amp;quot;3つのファイルを比較する&amp;quot;, 2);&lt;br /&gt;
&lt;br /&gt;
	comparisonType = comparisonMenu.Track(1);&lt;br /&gt;
	if (comparisonType == 0) {&lt;br /&gt;
		Quit(); // キャンセル&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (comparisonType == 1) {&lt;br /&gt;
	// 2つのファイルを比較する&lt;br /&gt;
	status = document.Name + &amp;quot; と比較するファイルを選択します&amp;quot;;&lt;br /&gt;
	var m = CreatePopupMenu();&lt;br /&gt;
	var d = editor.documents;&lt;br /&gt;
&lt;br /&gt;
	for (i = 0; i &amp;lt; d.Count; i++) {&lt;br /&gt;
		var item = d.item(i);&lt;br /&gt;
		if (item.FullName == document.FullName) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var s = &amp;quot;\&amp;quot;&amp;quot; + document.Name + &amp;quot;\&amp;quot; と \&amp;quot;&amp;quot; + item.Name + &amp;quot;\&amp;quot; を比較する&amp;quot;;&lt;br /&gt;
		if (!item.Saved) {&lt;br /&gt;
			s = s + &amp;quot; *&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		m.Add(s, i + 1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var r = m.Track(1);&lt;br /&gt;
	if (r &amp;gt; 0) {&lt;br /&gt;
		var item = d.Item(r - 1);&lt;br /&gt;
		if (!item.Saved) {&lt;br /&gt;
			item.Save(item.FullName);&lt;br /&gt;
		}&lt;br /&gt;
		if (!document.Saved) {&lt;br /&gt;
			document.Save(document.FullName);&lt;br /&gt;
		}&lt;br /&gt;
		var s = &amp;quot;\&amp;quot;&amp;quot; + path + &amp;quot;\&amp;quot; \&amp;quot;&amp;quot; + document.FullName + &amp;quot;\&amp;quot; \&amp;quot;&amp;quot; + item.FullName + &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
		status = s;&lt;br /&gt;
		var ws = new ActiveXObject(&amp;quot;WScript.Shell&amp;quot;);&lt;br /&gt;
		ws.Run(s);&lt;br /&gt;
	}&lt;br /&gt;
} else if (comparisonType == 2) {&lt;br /&gt;
	// 3つのファイルを比較する&lt;br /&gt;
	if (editor.documents.Count &amp;lt; 3) {&lt;br /&gt;
		status = &amp;quot;3つのファイルを比較するには、少なくとも3つのファイルを開いてください&amp;quot;;&lt;br /&gt;
		Quit();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	status = document.Name + &amp;quot; と比較する2つのファイルを選択します&amp;quot;;&lt;br /&gt;
	var m = CreatePopupMenu();&lt;br /&gt;
	var d = editor.documents;&lt;br /&gt;
&lt;br /&gt;
	for (i = 0; i &amp;lt; d.Count; i++) {&lt;br /&gt;
		var item = d.item(i);&lt;br /&gt;
		if (item.FullName == document.FullName) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var s = &amp;quot;\&amp;quot;&amp;quot; + document.Name + &amp;quot;\&amp;quot; と \&amp;quot;&amp;quot; + item.Name + &amp;quot;\&amp;quot; を比較対象に追加&amp;quot;;&lt;br /&gt;
		if (!item.Saved) {&lt;br /&gt;
			s = s + &amp;quot; *&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		m.Add(s, i + 1);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var r1 = m.Track(1);&lt;br /&gt;
	if (r1 &amp;gt; 0) {&lt;br /&gt;
		var firstItem = d.Item(r1 - 1);&lt;br /&gt;
		if (!firstItem.Saved) {&lt;br /&gt;
			firstItem.Save(firstItem.FullName);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var m2 = CreatePopupMenu();&lt;br /&gt;
		for (i = 0; i &amp;lt; d.Count; i++) {&lt;br /&gt;
			var item = d.item(i);&lt;br /&gt;
			if (item.FullName == document.FullName || item.FullName == firstItem.FullName) {&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			var s = &amp;quot;\&amp;quot;&amp;quot; + document.Name + &amp;quot;\&amp;quot; と \&amp;quot;&amp;quot; + firstItem.Name + &amp;quot;\&amp;quot; と \&amp;quot;&amp;quot; + item.Name + &amp;quot;\&amp;quot; を比較&amp;quot;;&lt;br /&gt;
			if (!item.Saved) {&lt;br /&gt;
				s = s + &amp;quot; *&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			m2.Add(s, i + 1);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var r2 = m2.Track(1);&lt;br /&gt;
		if (r2 &amp;gt; 0) {&lt;br /&gt;
			var secondItem = d.Item(r2 - 1);&lt;br /&gt;
			if (!secondItem.Saved) {&lt;br /&gt;
				secondItem.Save(secondItem.FullName);&lt;br /&gt;
			}&lt;br /&gt;
			if (!document.Saved) {&lt;br /&gt;
				document.Save(document.FullName);&lt;br /&gt;
			}&lt;br /&gt;
			var s = &amp;quot;\&amp;quot;&amp;quot; + path + &amp;quot;\&amp;quot; \&amp;quot;&amp;quot; + document.FullName + &amp;quot;\&amp;quot; \&amp;quot;&amp;quot; + firstItem.FullName + &amp;quot;\&amp;quot; \&amp;quot;&amp;quot; + secondItem.FullName + &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
			status = s;&lt;br /&gt;
			var ws = new ActiveXObject(&amp;quot;WScript.Shell&amp;quot;);&lt;br /&gt;
			ws.Run(s);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E7%AB%A0%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%96%87%E5%AD%97%E3%82%92%E3%83%A6%E3%83%8B%E3%83%BC%E3%82%AF%E6%8A%BD%E5%87%BA&amp;diff=8977</id>
		<title>文章で使用されている文字をユニーク抽出</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E7%AB%A0%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%96%87%E5%AD%97%E3%82%92%E3%83%A6%E3%83%8B%E3%83%BC%E3%82%AF%E6%8A%BD%E5%87%BA&amp;diff=8977"/>
		<updated>2025-06-29T04:23:13Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* 第一水準漢字、記号、ローマ字、カタカナ、ひらがな */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;日本語 Web フォントをサブセット化するときに[https://opentype.jp/subsetfontmk.htm サブセットフォントメーカー]で設定する「フォントに格納する文字」を生成したかったので作ってみました。&lt;br /&gt;
&lt;br /&gt;
Mery で開いているテキストの中から使用されている文字を抽出してソートして重複を取り除きます。データベースからブログ記事をすべて出力したものにこのマクロをかければ、サブセット化で使えるユニークな文字に変換できます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
var sel = document.selection;&lt;br /&gt;
if (sel.Text == &amp;quot;&amp;quot;) {&lt;br /&gt;
	sel.SelectAll();&lt;br /&gt;
}&lt;br /&gt;
var s1 = sel.Text.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[\s\S]|^$/g).filter(Boolean).sort();&lt;br /&gt;
var s2 = [];&lt;br /&gt;
for (var i = 0; i &amp;lt; s1.length; i++) {&lt;br /&gt;
	if (i == 0 || s1[i-1] != s1[i]) {&lt;br /&gt;
		s2.push(s1[i].trim());&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
sel.Text = s2.join(&amp;quot;&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
データが大きければそれなりに時間がかかりますが、25MB のテキストファイルで 2 分ぐらいでした。サロゲートペアに対応していますが、IVS には対応していません（サブセット化するのに IVS いりませんよね…）。&lt;br /&gt;
&lt;br /&gt;
== 第一水準漢字、記号、ローマ字、カタカナ、ひらがな ==&lt;br /&gt;
ついでに、第一水準漢字、記号、ローマ字、カタカナ、ひらがなです。サブセットフォントメーカーに以下のテキストを貼り付けて、そのテキストの末尾にこのマクロで抽出した文字列を追記するだけです。&lt;br /&gt;
&lt;br /&gt;
重複する文字が含まれていてもサブセットフォントメーカーは自動で取り除いてくれるようなので、出来上がったフォントファイルのサイズに影響はありません。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;height: 240px; overflow: auto;&amp;quot;&amp;gt;&lt;br /&gt;
唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕 　、。，．：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈〉《》「」『』【】＋－±×÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓∈∋⊆⊇⊂⊃∪∩∧∨￢⇒⇔∀∃∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬Å‰♯♭♪†‡¶◯１２３４５６７８９ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂!&amp;quot;#$`&amp;quot;&#039;①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡㍻〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪0@P`p!1AQaq&amp;quot;2BRbr#3CScs$4DTdt%5EUeu&amp;amp;6FVfv&#039;7GWgw(8HXhx)9IYiy*:JZgz+;K[k{,&amp;lt;L\l|-=M]m}.&amp;gt;N^n~/?O_o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E7%AB%A0%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%96%87%E5%AD%97%E3%82%92%E3%83%A6%E3%83%8B%E3%83%BC%E3%82%AF%E6%8A%BD%E5%87%BA&amp;diff=8976</id>
		<title>文章で使用されている文字をユニーク抽出</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E7%AB%A0%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%96%87%E5%AD%97%E3%82%92%E3%83%A6%E3%83%8B%E3%83%BC%E3%82%AF%E6%8A%BD%E5%87%BA&amp;diff=8976"/>
		<updated>2025-06-29T04:23:00Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* 第一水準漢字、記号、ローマ字、カタカナ、ひらがな */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;日本語 Web フォントをサブセット化するときに[https://opentype.jp/subsetfontmk.htm サブセットフォントメーカー]で設定する「フォントに格納する文字」を生成したかったので作ってみました。&lt;br /&gt;
&lt;br /&gt;
Mery で開いているテキストの中から使用されている文字を抽出してソートして重複を取り除きます。データベースからブログ記事をすべて出力したものにこのマクロをかければ、サブセット化で使えるユニークな文字に変換できます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
var sel = document.selection;&lt;br /&gt;
if (sel.Text == &amp;quot;&amp;quot;) {&lt;br /&gt;
	sel.SelectAll();&lt;br /&gt;
}&lt;br /&gt;
var s1 = sel.Text.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[\s\S]|^$/g).filter(Boolean).sort();&lt;br /&gt;
var s2 = [];&lt;br /&gt;
for (var i = 0; i &amp;lt; s1.length; i++) {&lt;br /&gt;
	if (i == 0 || s1[i-1] != s1[i]) {&lt;br /&gt;
		s2.push(s1[i].trim());&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
sel.Text = s2.join(&amp;quot;&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
データが大きければそれなりに時間がかかりますが、25MB のテキストファイルで 2 分ぐらいでした。サロゲートペアに対応していますが、IVS には対応していません（サブセット化するのに IVS いりませんよね…）。&lt;br /&gt;
&lt;br /&gt;
== 第一水準漢字、記号、ローマ字、カタカナ、ひらがな ==&lt;br /&gt;
ついでに、第一水準漢字、記号、ローマ字、カタカナ、ひらがなです。サブセットフォントメーカーに以下のテキストを貼り付けて、そのテキストの末尾にこのマクロで抽出した文字列を追記するだけです。&lt;br /&gt;
&lt;br /&gt;
重複する文字が含まれていてもサブセットフォントメーカーは自動で取り除いてくれるようなので、出来上がったフォントファイルのサイズに影響はありません。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;height: 240px; overflow: auto;&amp;quot; copy&amp;gt;&lt;br /&gt;
唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕 　、。，．：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈〉《》「」『』【】＋－±×÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓∈∋⊆⊇⊂⊃∪∩∧∨￢⇒⇔∀∃∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬Å‰♯♭♪†‡¶◯１２３４５６７８９ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂!&amp;quot;#$`&amp;quot;&#039;①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡㍻〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪0@P`p!1AQaq&amp;quot;2BRbr#3CScs$4DTdt%5EUeu&amp;amp;6FVfv&#039;7GWgw(8HXhx)9IYiy*:JZgz+;K[k{,&amp;lt;L\l|-=M]m}.&amp;gt;N^n~/?O_o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E5%86%85%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%81%99%E3%81%B9%E3%81%A6%E9%96%8B%E3%81%8F&amp;diff=8975</id>
		<title>フォルダ内のファイルをすべて開く</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E5%86%85%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%81%99%E3%81%B9%E3%81%A6%E9%96%8B%E3%81%8F&amp;diff=8975"/>
		<updated>2025-06-29T04:22:27Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;フォルダ内のファイルをすべて開きます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
// 対象の拡張子を定義(任意)&lt;br /&gt;
var r = new RegExp(&amp;quot;\.(txt|html|css)&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Mery本体のパスを取得&lt;br /&gt;
var mery = editor.FullName;&lt;br /&gt;
var application = new ActiveXObject(&amp;quot;Shell.Application&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// フォルダの参照ダイアログを表示&lt;br /&gt;
var folder = application.BrowseForFolder(0, &amp;quot;フォルダの参照&amp;quot;, 11, 0);&lt;br /&gt;
&lt;br /&gt;
// キャンセルの場合は終了&lt;br /&gt;
if (!folder) {&lt;br /&gt;
	Quit();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var shell = new ActiveXObject(&amp;quot;WScript.Shell&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
for (var e = new Enumerator(folder.Items()); !e.atEnd(); e.moveNext()) {&lt;br /&gt;
	var s = e.item().Path;&lt;br /&gt;
	if (s.match(r)) {&lt;br /&gt;
		shell.Exec(&amp;quot;\&amp;quot;&amp;quot; + mery + &amp;quot;\&amp;quot; \&amp;quot;&amp;quot; + s + &amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
		Sleep(40);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// 無題で未変更の場合は閉じる&lt;br /&gt;
if (document.FullName == &amp;quot;&amp;quot; &amp;amp;&amp;amp; document.Saved) {&lt;br /&gt;
	document.Close();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E7%AB%A0%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%96%87%E5%AD%97%E3%82%92%E3%83%A6%E3%83%8B%E3%83%BC%E3%82%AF%E6%8A%BD%E5%87%BA&amp;diff=8974</id>
		<title>文章で使用されている文字をユニーク抽出</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E7%AB%A0%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%96%87%E5%AD%97%E3%82%92%E3%83%A6%E3%83%8B%E3%83%BC%E3%82%AF%E6%8A%BD%E5%87%BA&amp;diff=8974"/>
		<updated>2025-06-29T04:22:14Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;日本語 Web フォントをサブセット化するときに[https://opentype.jp/subsetfontmk.htm サブセットフォントメーカー]で設定する「フォントに格納する文字」を生成したかったので作ってみました。&lt;br /&gt;
&lt;br /&gt;
Mery で開いているテキストの中から使用されている文字を抽出してソートして重複を取り除きます。データベースからブログ記事をすべて出力したものにこのマクロをかければ、サブセット化で使えるユニークな文字に変換できます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
var sel = document.selection;&lt;br /&gt;
if (sel.Text == &amp;quot;&amp;quot;) {&lt;br /&gt;
	sel.SelectAll();&lt;br /&gt;
}&lt;br /&gt;
var s1 = sel.Text.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[\s\S]|^$/g).filter(Boolean).sort();&lt;br /&gt;
var s2 = [];&lt;br /&gt;
for (var i = 0; i &amp;lt; s1.length; i++) {&lt;br /&gt;
	if (i == 0 || s1[i-1] != s1[i]) {&lt;br /&gt;
		s2.push(s1[i].trim());&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
sel.Text = s2.join(&amp;quot;&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
データが大きければそれなりに時間がかかりますが、25MB のテキストファイルで 2 分ぐらいでした。サロゲートペアに対応していますが、IVS には対応していません（サブセット化するのに IVS いりませんよね…）。&lt;br /&gt;
&lt;br /&gt;
== 第一水準漢字、記号、ローマ字、カタカナ、ひらがな ==&lt;br /&gt;
ついでに、第一水準漢字、記号、ローマ字、カタカナ、ひらがなです。サブセットフォントメーカーに以下のテキストを貼り付けて、そのテキストの末尾にこのマクロで抽出した文字列を追記するだけです。&lt;br /&gt;
&lt;br /&gt;
重複する文字が含まれていてもサブセットフォントメーカーは自動で取り除いてくれるようなので、出来上がったフォントファイルのサイズに影響はありません。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;height: 240px; overflow: auto;&amp;quot;&amp;gt;&lt;br /&gt;
唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕 　、。，．：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈〉《》「」『』【】＋－±×÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓∈∋⊆⊇⊂⊃∪∩∧∨￢⇒⇔∀∃∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬Å‰♯♭♪†‡¶◯１２３４５６７８９ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂!&amp;quot;#$`&amp;quot;&#039;①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡㍻〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪0@P`p!1AQaq&amp;quot;2BRbr#3CScs$4DTdt%5EUeu&amp;amp;6FVfv&#039;7GWgw(8HXhx)9IYiy*:JZgz+;K[k{,&amp;lt;L\l|-=M]m}.&amp;gt;N^n~/?O_o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E6%A8%99%E6%BA%96%E5%A4%89%E6%8F%9B&amp;diff=8973</id>
		<title>標準変換</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E6%A8%99%E6%BA%96%E5%A4%89%E6%8F%9B&amp;diff=8973"/>
		<updated>2025-06-29T04:21:29Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ソースコード */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kuro 版 ==&lt;br /&gt;
半角カタカナを全角カタカナに、全角英数字を半角英数字に変換します。文字列変換のサンプルとしても最適かも。&lt;br /&gt;
&lt;br /&gt;
=== ソースコード ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
#title = &amp;quot;標準変換&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;半角カタカナを全角カタカナに、全角英数字を半角英数字に変換します。&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var sel = document.selection;&lt;br /&gt;
if (sel.Text == &amp;quot;&amp;quot;) {&lt;br /&gt;
	sel.SelectAll();&lt;br /&gt;
}&lt;br /&gt;
var map = [];&lt;br /&gt;
map[&amp;quot;　&amp;quot;] = &amp;quot; &amp;quot;;&lt;br /&gt;
map[&amp;quot;！&amp;quot;] = &amp;quot;!&amp;quot;;&lt;br /&gt;
map[&amp;quot;“&amp;quot;] = &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
map[&amp;quot;”&amp;quot;] = &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
map[&amp;quot;＃&amp;quot;] = &amp;quot;#&amp;quot;;&lt;br /&gt;
map[&amp;quot;＄&amp;quot;] = &amp;quot;$&amp;quot;;&lt;br /&gt;
map[&amp;quot;％&amp;quot;] = &amp;quot;%&amp;quot;;&lt;br /&gt;
map[&amp;quot;＆&amp;quot;] = &amp;quot;&amp;amp;&amp;quot;;&lt;br /&gt;
map[&amp;quot;’&amp;quot;] = &amp;quot;&#039;&amp;quot;;&lt;br /&gt;
map[&amp;quot;（&amp;quot;] = &amp;quot;(&amp;quot;;&lt;br /&gt;
map[&amp;quot;）&amp;quot;] = &amp;quot;)&amp;quot;;&lt;br /&gt;
map[&amp;quot;＊&amp;quot;] = &amp;quot;*&amp;quot;;&lt;br /&gt;
map[&amp;quot;＋&amp;quot;] = &amp;quot;+&amp;quot;;&lt;br /&gt;
map[&amp;quot;，&amp;quot;] = &amp;quot;,&amp;quot;;&lt;br /&gt;
map[&amp;quot;－&amp;quot;] = &amp;quot;-&amp;quot;;&lt;br /&gt;
map[&amp;quot;．&amp;quot;] = &amp;quot;.&amp;quot;;&lt;br /&gt;
map[&amp;quot;／&amp;quot;] = &amp;quot;/&amp;quot;;&lt;br /&gt;
map[&amp;quot;０&amp;quot;] = &amp;quot;0&amp;quot;;&lt;br /&gt;
map[&amp;quot;１&amp;quot;] = &amp;quot;1&amp;quot;;&lt;br /&gt;
map[&amp;quot;２&amp;quot;] = &amp;quot;2&amp;quot;;&lt;br /&gt;
map[&amp;quot;３&amp;quot;] = &amp;quot;3&amp;quot;;&lt;br /&gt;
map[&amp;quot;４&amp;quot;] = &amp;quot;4&amp;quot;;&lt;br /&gt;
map[&amp;quot;５&amp;quot;] = &amp;quot;5&amp;quot;;&lt;br /&gt;
map[&amp;quot;６&amp;quot;] = &amp;quot;6&amp;quot;;&lt;br /&gt;
map[&amp;quot;７&amp;quot;] = &amp;quot;7&amp;quot;;&lt;br /&gt;
map[&amp;quot;８&amp;quot;] = &amp;quot;8&amp;quot;;&lt;br /&gt;
map[&amp;quot;９&amp;quot;] = &amp;quot;9&amp;quot;;&lt;br /&gt;
map[&amp;quot;：&amp;quot;] = &amp;quot;:&amp;quot;;&lt;br /&gt;
map[&amp;quot;；&amp;quot;] = &amp;quot;;&amp;quot;;&lt;br /&gt;
map[&amp;quot;＜&amp;quot;] = &amp;quot;&amp;lt;&amp;quot;;&lt;br /&gt;
map[&amp;quot;＝&amp;quot;] = &amp;quot;=&amp;quot;;&lt;br /&gt;
map[&amp;quot;＞&amp;quot;] = &amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
map[&amp;quot;？&amp;quot;] = &amp;quot;?&amp;quot;;&lt;br /&gt;
map[&amp;quot;＠&amp;quot;] = &amp;quot;@&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ａ&amp;quot;] = &amp;quot;A&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｂ&amp;quot;] = &amp;quot;B&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｃ&amp;quot;] = &amp;quot;C&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｄ&amp;quot;] = &amp;quot;D&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｅ&amp;quot;] = &amp;quot;E&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｆ&amp;quot;] = &amp;quot;F&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｇ&amp;quot;] = &amp;quot;G&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｈ&amp;quot;] = &amp;quot;H&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｉ&amp;quot;] = &amp;quot;I&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｊ&amp;quot;] = &amp;quot;J&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｋ&amp;quot;] = &amp;quot;K&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｌ&amp;quot;] = &amp;quot;L&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｍ&amp;quot;] = &amp;quot;M&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｎ&amp;quot;] = &amp;quot;N&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｏ&amp;quot;] = &amp;quot;O&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｐ&amp;quot;] = &amp;quot;P&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｑ&amp;quot;] = &amp;quot;Q&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｒ&amp;quot;] = &amp;quot;R&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｓ&amp;quot;] = &amp;quot;S&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｔ&amp;quot;] = &amp;quot;T&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｕ&amp;quot;] = &amp;quot;U&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｖ&amp;quot;] = &amp;quot;V&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｗ&amp;quot;] = &amp;quot;W&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｘ&amp;quot;] = &amp;quot;X&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｙ&amp;quot;] = &amp;quot;Y&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｚ&amp;quot;] = &amp;quot;Z&amp;quot;;&lt;br /&gt;
map[&amp;quot;［&amp;quot;] = &amp;quot;[&amp;quot;;&lt;br /&gt;
map[&amp;quot;￥&amp;quot;] = &amp;quot;\\&amp;quot;;&lt;br /&gt;
map[&amp;quot;］&amp;quot;] = &amp;quot;]&amp;quot;;&lt;br /&gt;
map[&amp;quot;＾&amp;quot;] = &amp;quot;^&amp;quot;;&lt;br /&gt;
map[&amp;quot;＿&amp;quot;] = &amp;quot;_&amp;quot;;&lt;br /&gt;
map[&amp;quot;‘&amp;quot;] = &amp;quot;`&amp;quot;;&lt;br /&gt;
map[&amp;quot;’&amp;quot;] = &amp;quot;`&amp;quot;;&lt;br /&gt;
map[&amp;quot;ａ&amp;quot;] = &amp;quot;a&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｂ&amp;quot;] = &amp;quot;b&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｃ&amp;quot;] = &amp;quot;c&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｄ&amp;quot;] = &amp;quot;d&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｅ&amp;quot;] = &amp;quot;e&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｆ&amp;quot;] = &amp;quot;f&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｇ&amp;quot;] = &amp;quot;g&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｈ&amp;quot;] = &amp;quot;h&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｉ&amp;quot;] = &amp;quot;i&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｊ&amp;quot;] = &amp;quot;j&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｋ&amp;quot;] = &amp;quot;k&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｌ&amp;quot;] = &amp;quot;l&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｍ&amp;quot;] = &amp;quot;m&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｎ&amp;quot;] = &amp;quot;n&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｏ&amp;quot;] = &amp;quot;o&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｐ&amp;quot;] = &amp;quot;p&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｑ&amp;quot;] = &amp;quot;q&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｒ&amp;quot;] = &amp;quot;r&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｓ&amp;quot;] = &amp;quot;s&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｔ&amp;quot;] = &amp;quot;t&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｕ&amp;quot;] = &amp;quot;u&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｖ&amp;quot;] = &amp;quot;v&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｗ&amp;quot;] = &amp;quot;w&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｘ&amp;quot;] = &amp;quot;x&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｙ&amp;quot;] = &amp;quot;y&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｚ&amp;quot;] = &amp;quot;z&amp;quot;;&lt;br /&gt;
map[&amp;quot;｛&amp;quot;] = &amp;quot;{&amp;quot;;&lt;br /&gt;
map[&amp;quot;｜&amp;quot;] = &amp;quot;|&amp;quot;;&lt;br /&gt;
map[&amp;quot;｝&amp;quot;] = &amp;quot;}&amp;quot;;&lt;br /&gt;
map[&amp;quot;～&amp;quot;] = &amp;quot;~&amp;quot;;&lt;br /&gt;
map[&amp;quot;｡&amp;quot;] = &amp;quot;。&amp;quot;;&lt;br /&gt;
map[&amp;quot;｢&amp;quot;] = &amp;quot;「&amp;quot;;&lt;br /&gt;
map[&amp;quot;｣&amp;quot;] = &amp;quot;」&amp;quot;;&lt;br /&gt;
map[&amp;quot;､&amp;quot;] = &amp;quot;、&amp;quot;;&lt;br /&gt;
map[&amp;quot;･&amp;quot;] = &amp;quot;・&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｦ&amp;quot;] = &amp;quot;ヲ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｧ&amp;quot;] = &amp;quot;ァ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｨ&amp;quot;] = &amp;quot;ィ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｩ&amp;quot;] = &amp;quot;ゥ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｪ&amp;quot;] = &amp;quot;ェ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｫ&amp;quot;] = &amp;quot;ォ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｬ&amp;quot;] = &amp;quot;ャ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｭ&amp;quot;] = &amp;quot;ュ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｮ&amp;quot;] = &amp;quot;ョ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｯ&amp;quot;] = &amp;quot;ッ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｰ&amp;quot;] = &amp;quot;ー&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｱ&amp;quot;] = &amp;quot;ア&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｲ&amp;quot;] = &amp;quot;イ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｳ&amp;quot;] = &amp;quot;ウ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｴ&amp;quot;] = &amp;quot;エ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｵ&amp;quot;] = &amp;quot;オ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｶ&amp;quot;] = &amp;quot;カ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｷ&amp;quot;] = &amp;quot;キ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｸ&amp;quot;] = &amp;quot;ク&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｹ&amp;quot;] = &amp;quot;ケ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｺ&amp;quot;] = &amp;quot;コ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｶﾞ&amp;quot;] = &amp;quot;ガ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｷﾞ&amp;quot;] = &amp;quot;ギ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｸﾞ&amp;quot;] = &amp;quot;グ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｹﾞ&amp;quot;] = &amp;quot;ゲ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｺﾞ&amp;quot;] = &amp;quot;ゴ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｻ&amp;quot;] = &amp;quot;サ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｼ&amp;quot;] = &amp;quot;シ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｽ&amp;quot;] = &amp;quot;ス&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｾ&amp;quot;] = &amp;quot;セ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｿ&amp;quot;] = &amp;quot;ソ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｻﾞ&amp;quot;] = &amp;quot;ザ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｼﾞ&amp;quot;] = &amp;quot;ジ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｽﾞ&amp;quot;] = &amp;quot;ズ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｾﾞ&amp;quot;] = &amp;quot;ゼ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｿﾞ&amp;quot;] = &amp;quot;ゾ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾀ&amp;quot;] = &amp;quot;タ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾁ&amp;quot;] = &amp;quot;チ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾂ&amp;quot;] = &amp;quot;ツ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾃ&amp;quot;] = &amp;quot;テ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾄ&amp;quot;] = &amp;quot;ト&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾀﾞ&amp;quot;] = &amp;quot;ダ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾁﾞ&amp;quot;] = &amp;quot;ヂ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾂﾞ&amp;quot;] = &amp;quot;ヅ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾃﾞ&amp;quot;] = &amp;quot;デ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾄﾞ&amp;quot;] = &amp;quot;ド&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾅ&amp;quot;] = &amp;quot;ナ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾆ&amp;quot;] = &amp;quot;ニ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾇ&amp;quot;] = &amp;quot;ヌ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾈ&amp;quot;] = &amp;quot;ネ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾉ&amp;quot;] = &amp;quot;ノ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾊ&amp;quot;] = &amp;quot;ハ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾋ&amp;quot;] = &amp;quot;ヒ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾌ&amp;quot;] = &amp;quot;フ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾍ&amp;quot;] = &amp;quot;ヘ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾎ&amp;quot;] = &amp;quot;ホ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾊﾞ&amp;quot;] = &amp;quot;バ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾋﾞ&amp;quot;] = &amp;quot;ビ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾌﾞ&amp;quot;] = &amp;quot;ブ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾍﾞ&amp;quot;] = &amp;quot;ベ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾎﾞ&amp;quot;] = &amp;quot;ボ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾊﾟ&amp;quot;] = &amp;quot;パ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾋﾟ&amp;quot;] = &amp;quot;ピ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾌﾟ&amp;quot;] = &amp;quot;プ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾍﾟ&amp;quot;] = &amp;quot;ペ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾎﾟ&amp;quot;] = &amp;quot;ポ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾏ&amp;quot;] = &amp;quot;マ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾐ&amp;quot;] = &amp;quot;ミ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾑ&amp;quot;] = &amp;quot;ム&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾒ&amp;quot;] = &amp;quot;メ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾓ&amp;quot;] = &amp;quot;モ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾔ&amp;quot;] = &amp;quot;ヤ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾕ&amp;quot;] = &amp;quot;ユ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾖ&amp;quot;] = &amp;quot;ヨ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾗ&amp;quot;] = &amp;quot;ラ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾘ&amp;quot;] = &amp;quot;リ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾙ&amp;quot;] = &amp;quot;ル&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾚ&amp;quot;] = &amp;quot;レ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾛ&amp;quot;] = &amp;quot;ロ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾜ&amp;quot;] = &amp;quot;ワ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾝ&amp;quot;] = &amp;quot;ン&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｳﾞ&amp;quot;] = &amp;quot;ヴ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾞ&amp;quot;] = &amp;quot;゛&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾟ&amp;quot;] = &amp;quot;゜&amp;quot;;&lt;br /&gt;
var s1 = sel.Text;&lt;br /&gt;
var s2 = &amp;quot;&amp;quot;;&lt;br /&gt;
for (var i = 0; i &amp;lt; s1.length; i++) {&lt;br /&gt;
	if (i + 1 &amp;lt; s1.length) {&lt;br /&gt;
		var c = map[s1.substring(i, i + 2)];&lt;br /&gt;
		if (c) {&lt;br /&gt;
			s2 += c;&lt;br /&gt;
			i++;&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	var c = map[s1.substring(i, i + 1)];&lt;br /&gt;
	if (c) {&lt;br /&gt;
		s2 += c;&lt;br /&gt;
		continue;&lt;br /&gt;
	}&lt;br /&gt;
	s2 += s1.substring(i, i + 1);&lt;br /&gt;
}&lt;br /&gt;
sel.Text = s2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MSY-07 版 ==&lt;br /&gt;
機種依存文字を機種に依存しない文字に変換します。&lt;br /&gt;
&lt;br /&gt;
Kuro氏が作成した標準変換は2文字までしか変換することができないため、改造して10文字まで変換できるようにしました。なお、「j = 10」の値を変更すれば、11文字以上を変換することもできます。&lt;br /&gt;
&lt;br /&gt;
=== ソースコード ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#title = &amp;quot;標準変換&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;機種依存文字を機種に依存しない文字に変換します。&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var sel = document.selection;&lt;br /&gt;
if (sel.Text == &amp;quot;&amp;quot;) {&lt;br /&gt;
	sel.SelectAll();&lt;br /&gt;
}&lt;br /&gt;
var map = [];&lt;br /&gt;
map[&amp;quot;Ⅰ&amp;quot;] = &amp;quot;I&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅱ&amp;quot;] = &amp;quot;II&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅲ&amp;quot;] = &amp;quot;III&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅳ&amp;quot;] = &amp;quot;IV&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅴ&amp;quot;] = &amp;quot;V&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅵ&amp;quot;] = &amp;quot;VI&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅶ&amp;quot;] = &amp;quot;VII&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅷ&amp;quot;] = &amp;quot;VIII&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅸ&amp;quot;] = &amp;quot;IX&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅹ&amp;quot;] = &amp;quot;X&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅺ&amp;quot;] = &amp;quot;XI&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅻ&amp;quot;] = &amp;quot;XII&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅰ&amp;quot;] = &amp;quot;i&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅱ&amp;quot;] = &amp;quot;ii&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅲ&amp;quot;] = &amp;quot;iii&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅳ&amp;quot;] = &amp;quot;iv&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅴ&amp;quot;] = &amp;quot;v&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅵ&amp;quot;] = &amp;quot;vi&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅶ&amp;quot;] = &amp;quot;vii&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅷ&amp;quot;] = &amp;quot;viii&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅸ&amp;quot;] = &amp;quot;ix&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅹ&amp;quot;] = &amp;quot;x&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅺ&amp;quot;] = &amp;quot;xi&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅻ&amp;quot;] = &amp;quot;xii&amp;quot;;&lt;br /&gt;
map[&amp;quot;①&amp;quot;] = &amp;quot;(1)&amp;quot;;&lt;br /&gt;
map[&amp;quot;②&amp;quot;] = &amp;quot;(2)&amp;quot;;&lt;br /&gt;
map[&amp;quot;③&amp;quot;] = &amp;quot;(3)&amp;quot;;&lt;br /&gt;
map[&amp;quot;④&amp;quot;] = &amp;quot;(4)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑤&amp;quot;] = &amp;quot;(5)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑥&amp;quot;] = &amp;quot;(6)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑦&amp;quot;] = &amp;quot;(7)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑧&amp;quot;] = &amp;quot;(8)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑨&amp;quot;] = &amp;quot;(9)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑩&amp;quot;] = &amp;quot;(10)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑪&amp;quot;] = &amp;quot;(11)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑫&amp;quot;] = &amp;quot;(12)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑬&amp;quot;] = &amp;quot;(13)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑭&amp;quot;] = &amp;quot;(14)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑮&amp;quot;] = &amp;quot;(15)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑯&amp;quot;] = &amp;quot;(16)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑰&amp;quot;] = &amp;quot;(17)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑱&amp;quot;] = &amp;quot;(18)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑲&amp;quot;] = &amp;quot;(19)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑳&amp;quot;] = &amp;quot;(20)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉑&amp;quot;] = &amp;quot;(21)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉒&amp;quot;] = &amp;quot;(22)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉓&amp;quot;] = &amp;quot;(23)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉔&amp;quot;] = &amp;quot;(24)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉕&amp;quot;] = &amp;quot;(25)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉖&amp;quot;] = &amp;quot;(26)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉗&amp;quot;] = &amp;quot;(27)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉘&amp;quot;] = &amp;quot;(28)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉙&amp;quot;] = &amp;quot;(29)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉚&amp;quot;] = &amp;quot;(30)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉛&amp;quot;] = &amp;quot;(31)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉜&amp;quot;] = &amp;quot;(32)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉝&amp;quot;] = &amp;quot;(33)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉞&amp;quot;] = &amp;quot;(34)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉟&amp;quot;] = &amp;quot;(35)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊱&amp;quot;] = &amp;quot;(36)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊲&amp;quot;] = &amp;quot;(37)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊳&amp;quot;] = &amp;quot;(38)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊴&amp;quot;] = &amp;quot;(39)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊵&amp;quot;] = &amp;quot;(40)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊶&amp;quot;] = &amp;quot;(41)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊷&amp;quot;] = &amp;quot;(42)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊸&amp;quot;] = &amp;quot;(43)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊹&amp;quot;] = &amp;quot;(44)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊺&amp;quot;] = &amp;quot;(45)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊻&amp;quot;] = &amp;quot;(46)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊼&amp;quot;] = &amp;quot;(47)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊽&amp;quot;] = &amp;quot;(48)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊾&amp;quot;] = &amp;quot;(49)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊿&amp;quot;] = &amp;quot;(50)&amp;quot;;&lt;br /&gt;
var s1 = sel.Text;&lt;br /&gt;
var s2 = &amp;quot;&amp;quot;;&lt;br /&gt;
for (var i = 0; i &amp;lt; s1.length;) {&lt;br /&gt;
	var matched = false;&lt;br /&gt;
	for (var j = 10; j &amp;gt;= 1; j--) {&lt;br /&gt;
		var c = map[s1.substring(i, i + j)];&lt;br /&gt;
		if (c) {&lt;br /&gt;
			s2 += c;&lt;br /&gt;
			i += j;&lt;br /&gt;
			matched = true;&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	if (!matched) {&lt;br /&gt;
		s2 += s1.charAt(i);&lt;br /&gt;
		i++;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
sel.Text = s2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%90%E3%82%A4%E3%83%88%E6%95%B0&amp;diff=8972</id>
		<title>バイト数</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%90%E3%82%A4%E3%83%88%E6%95%B0&amp;diff=8972"/>
		<updated>2025-06-29T04:20:56Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* Kuro 版 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kuro 版 ==&lt;br /&gt;
編集中の文書のバイト数をステータスバーに表示します。半角文字は1バイト、全角文字は2バイトとして計算します。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
var s = document.selection.Text;&lt;br /&gt;
if (s == &amp;quot;&amp;quot;) {&lt;br /&gt;
	s = document.Text;&lt;br /&gt;
}&lt;br /&gt;
var j = 0;&lt;br /&gt;
var l = s.length;&lt;br /&gt;
for (var i = 0; i &amp;lt; l; i++) {&lt;br /&gt;
	var c = s.charCodeAt(i);&lt;br /&gt;
	if ((c &amp;gt;= 0x0 &amp;amp;&amp;amp; c &amp;lt; 0x81) || (c == 0xf8f0) ||&lt;br /&gt;
		(c &amp;gt;= 0xff61 &amp;amp;&amp;amp; c &amp;lt; 0xffa0) || (c &amp;gt;= 0xf8f1 &amp;amp;&amp;amp; c &amp;lt; 0xf8f4)) {&lt;br /&gt;
		j += 1;&lt;br /&gt;
	} else {&lt;br /&gt;
		j += 2;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
window.status = (&amp;quot;&amp;quot; + j).match(/./g).reverse().join(&amp;quot;&amp;quot;)&lt;br /&gt;
	.replace(/(\d{3})/g, &amp;quot;$1,&amp;quot;).match(/./g)&lt;br /&gt;
	.reverse().join(&amp;quot;&amp;quot;).replace(/^,/, &amp;quot;&amp;quot;) + &amp;quot; バイト&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ks 版 ==&lt;br /&gt;
文字コードを指定、または取得してバイト数を計算します。&lt;br /&gt;
&lt;br /&gt;
=== オプション ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!encoding&lt;br /&gt;
|文字コード指定。&amp;lt;br&amp;gt;空の場合はそのドキュメントの文字モード。&amp;lt;br&amp;gt;sjis のように直接指定すれば常にその文字コードで計算。&lt;br /&gt;
|-&lt;br /&gt;
!CRLF&lt;br /&gt;
|改行コードの指定。&amp;lt;br&amp;gt;CR + LF の場合は true。&amp;lt;br&amp;gt;CR または LF の場合は false。&lt;br /&gt;
|-&lt;br /&gt;
!BOM&lt;br /&gt;
|BOM コード分を加算するかの指定。&amp;lt;br&amp;gt;BOM 分を加算するときは true（保存したファイルのサイズと一致します）。&amp;lt;br&amp;gt;BOM 分を加算しない場合は false。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ソースコード ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var encoding = &amp;quot;&amp;quot;;  // 指定時はその文字コード。&lt;br /&gt;
var CRLF = true;    // 改行コードが CRLF なら true。そうでないなら false。&lt;br /&gt;
var BOM = true;     // BOM を考慮する場合は true。考慮しない場合は false。&lt;br /&gt;
&lt;br /&gt;
var charset = &amp;quot;&amp;quot;;&lt;br /&gt;
var s = document.selection.IsEmpty ? document.Text : document.selection.Text;&lt;br /&gt;
s = CRLF ? s.replace(/\r?\n/g, &amp;quot;\r\n&amp;quot;) : s;&lt;br /&gt;
if (!encoding) {&lt;br /&gt;
	switch (document.Encoding){&lt;br /&gt;
		case meEncodingUTF16LEBOM:&lt;br /&gt;
		case meEncodingUTF16LENoBOM:&lt;br /&gt;
		case meEncodingUTF16BEBOM:&lt;br /&gt;
		case meEncodingUTF16BENoBOM:  WriteBytes(s.length * 2 + (BOM?2:0)); Quit();&lt;br /&gt;
		case meEncodingUTF8BOM:&lt;br /&gt;
		case meEncodingUTF8NoBOM:     charset = &amp;quot;utf-8&amp;quot;;        break;&lt;br /&gt;
		case meEncodingUTF7:          charset = &amp;quot;utf-7&amp;quot;;        break;&lt;br /&gt;
		case meEncodingEUC:           charset = &amp;quot;euc-jp&amp;quot;;       break;&lt;br /&gt;
		case meEncodingJIS:           charset = &amp;quot;iso-2022-jp&amp;quot;;  break;&lt;br /&gt;
		case meEncodingShiftJIS:      charset = &amp;quot;sjis&amp;quot;;         break;&lt;br /&gt;
	}&lt;br /&gt;
} else {&lt;br /&gt;
	charset = encoding;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var adodb = new ActiveXObject(&#039;ADODB.Stream&#039;);&lt;br /&gt;
adodb.Type = 2;&lt;br /&gt;
adodb.Charset = charset;&lt;br /&gt;
adodb.Open();&lt;br /&gt;
adodb.WriteText(s);&lt;br /&gt;
var bytes = adodb.Position;&lt;br /&gt;
adodb.Close();&lt;br /&gt;
&lt;br /&gt;
if (!encoding &amp;amp;&amp;amp; (document.Encoding == meEncodingUTF8NoBOM || (!BOM &amp;amp;&amp;amp; document.Encoding == meEncodingUTF8BOM))) {&lt;br /&gt;
	bytes -= 3;&lt;br /&gt;
}&lt;br /&gt;
WriteBytes(bytes);&lt;br /&gt;
function WriteBytes(bytes){&lt;br /&gt;
	Status = String(bytes).split(&amp;quot;&amp;quot;).reverse().join(&amp;quot;&amp;quot;).replace(/(\d{3})/g, &amp;quot;$1,&amp;quot;).split(&amp;quot;&amp;quot;).reverse().join(&amp;quot;&amp;quot;).replace(/^,/, &amp;quot;&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=Google_Gemini_%E3%81%A7%E5%9F%B7%E7%AD%86%E6%94%AF%E6%8F%B4&amp;diff=8967</id>
		<title>Google Gemini で執筆支援</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=Google_Gemini_%E3%81%A7%E5%9F%B7%E7%AD%86%E6%94%AF%E6%8F%B4&amp;diff=8967"/>
		<updated>2025-06-29T04:09:22Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ソースコード (AskGemini.js) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
Google の生成 AI「Gemini」を活用した V8 マクロのサンプルです。&lt;br /&gt;
&lt;br /&gt;
テキストを選択した状態でマクロを実行すると、Gemini が文章作成をサポートします。&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.8 以上で動作します。&lt;br /&gt;
* Google AI Studio で [https://ai.google.dev/gemini-api/docs/api-key?hl=ja Gemini API キー]を取得してください。&lt;br /&gt;
* Gemini API の特性上、送信した文字列が AI の学習に利用される可能性があります。機密情報やプライバシーに関わる内容は送信しないでください。&lt;br /&gt;
* 本マクロを登録することで、選択したテキストが Google Gemini に送信され処理されることに同意したものとみなします。データの取り扱いについては、Google Gemini の[https://support.google.com/gemini?p=privacy_help 利用規約およびプライバシーポリシー]を必ずご確認ください。&lt;br /&gt;
* 2025年6月21日時点で無料の Gemini API を使用しています。ただし、将来の仕様変更や設定ミスにより費用が発生しても、作者は責任を負いません。&lt;br /&gt;
&lt;br /&gt;
== 使い方 ==&lt;br /&gt;
&lt;br /&gt;
* 環境変数の設定&lt;br /&gt;
:コマンド プロンプトで以下のコマンドを実行し、環境変数を設定してください。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot; copy&amp;gt;&lt;br /&gt;
setx GEMINI_API_KEY &amp;quot;***************************************&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:設定後、Mery または Windows の再起動が必要な場合があります。&lt;br /&gt;
* マクロの実行&lt;br /&gt;
** テキストを選択し、マクロを実行するとポップアップ メニューが表示されます。&lt;br /&gt;
** [やわらかく書き換えて] や [要約して] など、相談したい項目を選択すると、Gemini API に送信され、結果が出力されます。&lt;br /&gt;
&lt;br /&gt;
== ソースコード (AskGemini.js) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
#language = &amp;quot;V8&amp;quot;&lt;br /&gt;
#title = &amp;quot;Gemini で執筆支援&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;選択範囲を Google Gemini に相談します。&amp;quot;&lt;br /&gt;
/*&lt;br /&gt;
1. 環境変数の設定&lt;br /&gt;
マクロを使用する前に、コマンド プロンプトで以下の環境変数を設定してください。&lt;br /&gt;
setx GOOGLE_API_KEY &amp;quot;***************************************&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2. データ利用についての同意&lt;br /&gt;
マクロを登録することにより、文書内のテキスト データが Google Gemini に送信され、処理されることに同意したものとみなします。データの取り扱いやプライバシーに関する詳細は、Google Gemini の利用規約およびプライバシーポリシーをご確認ください。&lt;br /&gt;
https://support.google.com/gemini?p=privacy_help&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// [出力] 0: 選択範囲の後, 1: 新規文書, 2: アウトプット バー&lt;br /&gt;
const output = 0;&lt;br /&gt;
async function callGemini(apiKey, promptText) {&lt;br /&gt;
	try {&lt;br /&gt;
		const response = await fetch(&amp;quot;https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite-preview-06-17:generateContent?key=&amp;quot; + apiKey, {&lt;br /&gt;
			method: &amp;quot;POST&amp;quot;,&lt;br /&gt;
			headers: {&lt;br /&gt;
				&amp;quot;Content-Type&amp;quot;: &amp;quot;application/json&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			body: JSON.stringify({&lt;br /&gt;
				&amp;quot;contents&amp;quot;: [{&lt;br /&gt;
					&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
					&amp;quot;parts&amp;quot;: [{&lt;br /&gt;
						&amp;quot;text&amp;quot;: promptText&lt;br /&gt;
					}],&lt;br /&gt;
				}],&lt;br /&gt;
			}),&lt;br /&gt;
		});&lt;br /&gt;
		if (!response.ok) {&lt;br /&gt;
			alert(await response.text());&lt;br /&gt;
			Quit();&lt;br /&gt;
		}&lt;br /&gt;
		const responseObj = await response.json();&lt;br /&gt;
		if (!responseObj.candidates || responseObj.candidates.length === 0) {&lt;br /&gt;
			alert(&amp;quot;candidates が見つかりませんでした。&amp;quot;);&lt;br /&gt;
			Quit();&lt;br /&gt;
		}&lt;br /&gt;
		return responseObj.candidates[0].content.parts[0].text;&lt;br /&gt;
	} catch (error) {&lt;br /&gt;
		alert(error.message);&lt;br /&gt;
		Quit();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
async function main() {&lt;br /&gt;
	const prefix = &amp;quot;次の文章を&amp;quot;;&lt;br /&gt;
	const rewrite = &amp;quot;書き換え&amp;quot;;&lt;br /&gt;
	const rewrites = [&lt;br /&gt;
		&amp;quot;やわらかく書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;フォーマルに書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;エモーショナルに書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;わかりやすく書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;簡潔に書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;バズるように書き換えて&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const actions = [&lt;br /&gt;
		&amp;quot;要約して&amp;quot;,&lt;br /&gt;
		&amp;quot;3 行にまとめて&amp;quot;,&lt;br /&gt;
		&amp;quot;SNS の投稿用にまとめて&amp;quot;,&lt;br /&gt;
		&amp;quot;文末のまとめを書いて&amp;quot;,&lt;br /&gt;
		&amp;quot;-&amp;quot;,&lt;br /&gt;
		&amp;quot;もっと読まれるようにして&amp;quot;,&lt;br /&gt;
		&amp;quot;間違いを見つけて&amp;quot;,&lt;br /&gt;
		&amp;quot;反対意見を書いて&amp;quot;,&lt;br /&gt;
		&amp;quot;炎上しないように確認して&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const translate = &amp;quot;翻訳&amp;quot;;&lt;br /&gt;
	const translates = [&lt;br /&gt;
		&amp;quot;日本語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;英語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;中国語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;韓国語に翻訳して&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const ask = &amp;quot;くわしく相談...&amp;quot;;&lt;br /&gt;
	const send = &amp;quot;そのまま送信&amp;quot;;&lt;br /&gt;
	const apiKey = shell.getEnv(&amp;quot;GEMINI_API_KEY&amp;quot;);&lt;br /&gt;
	if (!apiKey) {&lt;br /&gt;
		alert(&amp;quot;API キーが設定されていません。&amp;quot;);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	let sel = document.selection;&lt;br /&gt;
	let text = sel.Text;&lt;br /&gt;
	if (text.length === 0) {&lt;br /&gt;
		alert(&amp;quot;テキストが選択されていません。&amp;quot;);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	const menu = CreatePopupMenu();&lt;br /&gt;
	const submenu = CreatePopupMenu();&lt;br /&gt;
	const submenu2 = CreatePopupMenu();&lt;br /&gt;
	const askCommandId = 1001;&lt;br /&gt;
	const sendCommandId = 1002;&lt;br /&gt;
	let commandId = 0;&lt;br /&gt;
	for (let i = 0; i &amp;lt; rewrites.length; ++i) {&lt;br /&gt;
		submenu.Add(rewrites[i], ++commandId);&lt;br /&gt;
	}&lt;br /&gt;
	menu.AddPopup(rewrite, submenu);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	for (let i = 0; i &amp;lt; actions.length; ++i) {&lt;br /&gt;
		if (actions[i] === &amp;quot;-&amp;quot;) {&lt;br /&gt;
			menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
		} else {&lt;br /&gt;
			menu.Add(actions[i], ++commandId);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	for (let i = 0; i &amp;lt; translates.length; ++i) {&lt;br /&gt;
		submenu2.Add(translates[i], ++commandId);&lt;br /&gt;
	}&lt;br /&gt;
	menu.AddPopup(translate, submenu2);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	menu.Add(ask, askCommandId);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	menu.Add(send, sendCommandId);&lt;br /&gt;
	const result = menu.Track(mePosMouse);&lt;br /&gt;
	if (result !== 0) {&lt;br /&gt;
		let promptText = &amp;quot;&amp;quot;;&lt;br /&gt;
		if (result === askCommandId) {&lt;br /&gt;
			promptText = prompt(&amp;quot;Gemini に相談(&amp;amp;A)&amp;quot;, &amp;quot;校正してください。&amp;quot;, mePromptMultiline).substring(0, 65530);&lt;br /&gt;
			if (promptText.length === 0) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
		} else if (result !== sendCommandId) {&lt;br /&gt;
			promptText = menu.GetText(result);&lt;br /&gt;
		}&lt;br /&gt;
		if (promptText.length !== 0 || text.length !== 0) {&lt;br /&gt;
			if (promptText.length === 0) {&lt;br /&gt;
				promptText = text;&lt;br /&gt;
			} else if (text.length !== 0) {&lt;br /&gt;
				promptText = prefix + promptText + &amp;quot;:\n&amp;quot; + text;&lt;br /&gt;
			}&lt;br /&gt;
			shell.KeepRunning = true;&lt;br /&gt;
			status = &amp;quot;Gemini に相談しています...&amp;quot;;&lt;br /&gt;
			try {&lt;br /&gt;
				const response = await callGemini(apiKey, promptText);&lt;br /&gt;
				switch (output) {&lt;br /&gt;
					case 1:&lt;br /&gt;
						editor.NewFile();&lt;br /&gt;
						editor.ActiveDocument.write(response);&lt;br /&gt;
						break;&lt;br /&gt;
					case 2:&lt;br /&gt;
						outputBar.writeln(response);&lt;br /&gt;
						outputBar.Visible = true;&lt;br /&gt;
						break;&lt;br /&gt;
					default:&lt;br /&gt;
						BeginUndoGroup();&lt;br /&gt;
						try {&lt;br /&gt;
							sel.CharRight();&lt;br /&gt;
							sel.EndOfLine(false, mePosLogical);&lt;br /&gt;
							sel.NewLine();&lt;br /&gt;
							sel.Text = &amp;quot;\n---\n\n&amp;quot; + response.trim() + &amp;quot;\n\n---\n&amp;quot;;&lt;br /&gt;
						} finally {&lt;br /&gt;
							EndUndoGroup();&lt;br /&gt;
						}&lt;br /&gt;
						break;&lt;br /&gt;
				}&lt;br /&gt;
			} catch (error) {&lt;br /&gt;
				console.log(&amp;quot;Gemini API エラー: &amp;quot;, error);&lt;br /&gt;
			} finally {&lt;br /&gt;
				status = &amp;quot;&amp;quot;;&lt;br /&gt;
				shell.KeepRunning = false;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
main();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== カスタマイズ ==&lt;br /&gt;
* ソースコードの最初の部分で、output の値を変更することで、Gemini の結果をどこに出力するかを選択できます。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// [出力] 0: 選択範囲の後, 1: 新規文書, 2: アウトプット バー&lt;br /&gt;
const output = 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Gemini へのアクションは、ソースコードの中ほどで actions などの定数に定義されています。文字列を変更または追加することで、お好みのアクションを定義できます。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const actions = [&lt;br /&gt;
	&amp;quot;要約して&amp;quot;,&lt;br /&gt;
	&amp;quot;3 行にまとめて&amp;quot;,&lt;br /&gt;
	&amp;quot;SNS の投稿用にまとめて&amp;quot;,&lt;br /&gt;
	&amp;quot;文末のまとめを書いて&amp;quot;,&lt;br /&gt;
	&amp;quot;-&amp;quot;,&lt;br /&gt;
	&amp;quot;もっと読まれるようにして&amp;quot;,&lt;br /&gt;
	&amp;quot;間違いを見つけて&amp;quot;,&lt;br /&gt;
	&amp;quot;反対意見を書いて&amp;quot;,&lt;br /&gt;
	&amp;quot;炎上しないように確認して&amp;quot;&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== スペシャルサンクス ==&lt;br /&gt;
&lt;br /&gt;
本マクロは、yuko さんが作成された「[[Google Gemini に相談]]」マクロにインスパイアされ、Mery のあまり使われていないと思われる V8 マクロ機能を使って実装したサンプルです。yuko さんの素晴らしいアイデアに感謝し、このマクロをお届けします。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=Google_Gemini_%E3%81%A7%E5%9F%B7%E7%AD%86%E6%94%AF%E6%8F%B4&amp;diff=8966</id>
		<title>Google Gemini で執筆支援</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=Google_Gemini_%E3%81%A7%E5%9F%B7%E7%AD%86%E6%94%AF%E6%8F%B4&amp;diff=8966"/>
		<updated>2025-06-29T04:09:08Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* 使い方 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
Google の生成 AI「Gemini」を活用した V8 マクロのサンプルです。&lt;br /&gt;
&lt;br /&gt;
テキストを選択した状態でマクロを実行すると、Gemini が文章作成をサポートします。&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.8 以上で動作します。&lt;br /&gt;
* Google AI Studio で [https://ai.google.dev/gemini-api/docs/api-key?hl=ja Gemini API キー]を取得してください。&lt;br /&gt;
* Gemini API の特性上、送信した文字列が AI の学習に利用される可能性があります。機密情報やプライバシーに関わる内容は送信しないでください。&lt;br /&gt;
* 本マクロを登録することで、選択したテキストが Google Gemini に送信され処理されることに同意したものとみなします。データの取り扱いについては、Google Gemini の[https://support.google.com/gemini?p=privacy_help 利用規約およびプライバシーポリシー]を必ずご確認ください。&lt;br /&gt;
* 2025年6月21日時点で無料の Gemini API を使用しています。ただし、将来の仕様変更や設定ミスにより費用が発生しても、作者は責任を負いません。&lt;br /&gt;
&lt;br /&gt;
== 使い方 ==&lt;br /&gt;
&lt;br /&gt;
* 環境変数の設定&lt;br /&gt;
:コマンド プロンプトで以下のコマンドを実行し、環境変数を設定してください。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot; copy&amp;gt;&lt;br /&gt;
setx GEMINI_API_KEY &amp;quot;***************************************&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:設定後、Mery または Windows の再起動が必要な場合があります。&lt;br /&gt;
* マクロの実行&lt;br /&gt;
** テキストを選択し、マクロを実行するとポップアップ メニューが表示されます。&lt;br /&gt;
** [やわらかく書き換えて] や [要約して] など、相談したい項目を選択すると、Gemini API に送信され、結果が出力されます。&lt;br /&gt;
&lt;br /&gt;
== ソースコード (AskGemini.js) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#language = &amp;quot;V8&amp;quot;&lt;br /&gt;
#title = &amp;quot;Gemini で執筆支援&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;選択範囲を Google Gemini に相談します。&amp;quot;&lt;br /&gt;
/*&lt;br /&gt;
1. 環境変数の設定&lt;br /&gt;
マクロを使用する前に、コマンド プロンプトで以下の環境変数を設定してください。&lt;br /&gt;
setx GOOGLE_API_KEY &amp;quot;***************************************&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2. データ利用についての同意&lt;br /&gt;
マクロを登録することにより、文書内のテキスト データが Google Gemini に送信され、処理されることに同意したものとみなします。データの取り扱いやプライバシーに関する詳細は、Google Gemini の利用規約およびプライバシーポリシーをご確認ください。&lt;br /&gt;
https://support.google.com/gemini?p=privacy_help&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// [出力] 0: 選択範囲の後, 1: 新規文書, 2: アウトプット バー&lt;br /&gt;
const output = 0;&lt;br /&gt;
async function callGemini(apiKey, promptText) {&lt;br /&gt;
	try {&lt;br /&gt;
		const response = await fetch(&amp;quot;https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite-preview-06-17:generateContent?key=&amp;quot; + apiKey, {&lt;br /&gt;
			method: &amp;quot;POST&amp;quot;,&lt;br /&gt;
			headers: {&lt;br /&gt;
				&amp;quot;Content-Type&amp;quot;: &amp;quot;application/json&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			body: JSON.stringify({&lt;br /&gt;
				&amp;quot;contents&amp;quot;: [{&lt;br /&gt;
					&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
					&amp;quot;parts&amp;quot;: [{&lt;br /&gt;
						&amp;quot;text&amp;quot;: promptText&lt;br /&gt;
					}],&lt;br /&gt;
				}],&lt;br /&gt;
			}),&lt;br /&gt;
		});&lt;br /&gt;
		if (!response.ok) {&lt;br /&gt;
			alert(await response.text());&lt;br /&gt;
			Quit();&lt;br /&gt;
		}&lt;br /&gt;
		const responseObj = await response.json();&lt;br /&gt;
		if (!responseObj.candidates || responseObj.candidates.length === 0) {&lt;br /&gt;
			alert(&amp;quot;candidates が見つかりませんでした。&amp;quot;);&lt;br /&gt;
			Quit();&lt;br /&gt;
		}&lt;br /&gt;
		return responseObj.candidates[0].content.parts[0].text;&lt;br /&gt;
	} catch (error) {&lt;br /&gt;
		alert(error.message);&lt;br /&gt;
		Quit();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
async function main() {&lt;br /&gt;
	const prefix = &amp;quot;次の文章を&amp;quot;;&lt;br /&gt;
	const rewrite = &amp;quot;書き換え&amp;quot;;&lt;br /&gt;
	const rewrites = [&lt;br /&gt;
		&amp;quot;やわらかく書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;フォーマルに書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;エモーショナルに書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;わかりやすく書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;簡潔に書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;バズるように書き換えて&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const actions = [&lt;br /&gt;
		&amp;quot;要約して&amp;quot;,&lt;br /&gt;
		&amp;quot;3 行にまとめて&amp;quot;,&lt;br /&gt;
		&amp;quot;SNS の投稿用にまとめて&amp;quot;,&lt;br /&gt;
		&amp;quot;文末のまとめを書いて&amp;quot;,&lt;br /&gt;
		&amp;quot;-&amp;quot;,&lt;br /&gt;
		&amp;quot;もっと読まれるようにして&amp;quot;,&lt;br /&gt;
		&amp;quot;間違いを見つけて&amp;quot;,&lt;br /&gt;
		&amp;quot;反対意見を書いて&amp;quot;,&lt;br /&gt;
		&amp;quot;炎上しないように確認して&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const translate = &amp;quot;翻訳&amp;quot;;&lt;br /&gt;
	const translates = [&lt;br /&gt;
		&amp;quot;日本語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;英語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;中国語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;韓国語に翻訳して&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const ask = &amp;quot;くわしく相談...&amp;quot;;&lt;br /&gt;
	const send = &amp;quot;そのまま送信&amp;quot;;&lt;br /&gt;
	const apiKey = shell.getEnv(&amp;quot;GEMINI_API_KEY&amp;quot;);&lt;br /&gt;
	if (!apiKey) {&lt;br /&gt;
		alert(&amp;quot;API キーが設定されていません。&amp;quot;);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	let sel = document.selection;&lt;br /&gt;
	let text = sel.Text;&lt;br /&gt;
	if (text.length === 0) {&lt;br /&gt;
		alert(&amp;quot;テキストが選択されていません。&amp;quot;);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	const menu = CreatePopupMenu();&lt;br /&gt;
	const submenu = CreatePopupMenu();&lt;br /&gt;
	const submenu2 = CreatePopupMenu();&lt;br /&gt;
	const askCommandId = 1001;&lt;br /&gt;
	const sendCommandId = 1002;&lt;br /&gt;
	let commandId = 0;&lt;br /&gt;
	for (let i = 0; i &amp;lt; rewrites.length; ++i) {&lt;br /&gt;
		submenu.Add(rewrites[i], ++commandId);&lt;br /&gt;
	}&lt;br /&gt;
	menu.AddPopup(rewrite, submenu);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	for (let i = 0; i &amp;lt; actions.length; ++i) {&lt;br /&gt;
		if (actions[i] === &amp;quot;-&amp;quot;) {&lt;br /&gt;
			menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
		} else {&lt;br /&gt;
			menu.Add(actions[i], ++commandId);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	for (let i = 0; i &amp;lt; translates.length; ++i) {&lt;br /&gt;
		submenu2.Add(translates[i], ++commandId);&lt;br /&gt;
	}&lt;br /&gt;
	menu.AddPopup(translate, submenu2);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	menu.Add(ask, askCommandId);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	menu.Add(send, sendCommandId);&lt;br /&gt;
	const result = menu.Track(mePosMouse);&lt;br /&gt;
	if (result !== 0) {&lt;br /&gt;
		let promptText = &amp;quot;&amp;quot;;&lt;br /&gt;
		if (result === askCommandId) {&lt;br /&gt;
			promptText = prompt(&amp;quot;Gemini に相談(&amp;amp;A)&amp;quot;, &amp;quot;校正してください。&amp;quot;, mePromptMultiline).substring(0, 65530);&lt;br /&gt;
			if (promptText.length === 0) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
		} else if (result !== sendCommandId) {&lt;br /&gt;
			promptText = menu.GetText(result);&lt;br /&gt;
		}&lt;br /&gt;
		if (promptText.length !== 0 || text.length !== 0) {&lt;br /&gt;
			if (promptText.length === 0) {&lt;br /&gt;
				promptText = text;&lt;br /&gt;
			} else if (text.length !== 0) {&lt;br /&gt;
				promptText = prefix + promptText + &amp;quot;:\n&amp;quot; + text;&lt;br /&gt;
			}&lt;br /&gt;
			shell.KeepRunning = true;&lt;br /&gt;
			status = &amp;quot;Gemini に相談しています...&amp;quot;;&lt;br /&gt;
			try {&lt;br /&gt;
				const response = await callGemini(apiKey, promptText);&lt;br /&gt;
				switch (output) {&lt;br /&gt;
					case 1:&lt;br /&gt;
						editor.NewFile();&lt;br /&gt;
						editor.ActiveDocument.write(response);&lt;br /&gt;
						break;&lt;br /&gt;
					case 2:&lt;br /&gt;
						outputBar.writeln(response);&lt;br /&gt;
						outputBar.Visible = true;&lt;br /&gt;
						break;&lt;br /&gt;
					default:&lt;br /&gt;
						BeginUndoGroup();&lt;br /&gt;
						try {&lt;br /&gt;
							sel.CharRight();&lt;br /&gt;
							sel.EndOfLine(false, mePosLogical);&lt;br /&gt;
							sel.NewLine();&lt;br /&gt;
							sel.Text = &amp;quot;\n---\n\n&amp;quot; + response.trim() + &amp;quot;\n\n---\n&amp;quot;;&lt;br /&gt;
						} finally {&lt;br /&gt;
							EndUndoGroup();&lt;br /&gt;
						}&lt;br /&gt;
						break;&lt;br /&gt;
				}&lt;br /&gt;
			} catch (error) {&lt;br /&gt;
				console.log(&amp;quot;Gemini API エラー: &amp;quot;, error);&lt;br /&gt;
			} finally {&lt;br /&gt;
				status = &amp;quot;&amp;quot;;&lt;br /&gt;
				shell.KeepRunning = false;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
main();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== カスタマイズ ==&lt;br /&gt;
* ソースコードの最初の部分で、output の値を変更することで、Gemini の結果をどこに出力するかを選択できます。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// [出力] 0: 選択範囲の後, 1: 新規文書, 2: アウトプット バー&lt;br /&gt;
const output = 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Gemini へのアクションは、ソースコードの中ほどで actions などの定数に定義されています。文字列を変更または追加することで、お好みのアクションを定義できます。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const actions = [&lt;br /&gt;
	&amp;quot;要約して&amp;quot;,&lt;br /&gt;
	&amp;quot;3 行にまとめて&amp;quot;,&lt;br /&gt;
	&amp;quot;SNS の投稿用にまとめて&amp;quot;,&lt;br /&gt;
	&amp;quot;文末のまとめを書いて&amp;quot;,&lt;br /&gt;
	&amp;quot;-&amp;quot;,&lt;br /&gt;
	&amp;quot;もっと読まれるようにして&amp;quot;,&lt;br /&gt;
	&amp;quot;間違いを見つけて&amp;quot;,&lt;br /&gt;
	&amp;quot;反対意見を書いて&amp;quot;,&lt;br /&gt;
	&amp;quot;炎上しないように確認して&amp;quot;&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== スペシャルサンクス ==&lt;br /&gt;
&lt;br /&gt;
本マクロは、yuko さんが作成された「[[Google Gemini に相談]]」マクロにインスパイアされ、Mery のあまり使われていないと思われる V8 マクロ機能を使って実装したサンプルです。yuko さんの素晴らしいアイデアに感謝し、このマクロをお届けします。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=8965</id>
		<title>MeryToys</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=8965"/>
		<updated>2025-06-29T04:08:40Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ソースコード (MeryToys.js) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
Mery の隠しオプションを簡単に設定できるマクロです。&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.17 以降で動作します。&lt;br /&gt;
* 一部の設定は、Mery の再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
== 使い方 ==&lt;br /&gt;
&lt;br /&gt;
# マクロを実行します。&lt;br /&gt;
# ポップアップ メニューが表示されるので、設定したい項目を選択します。&lt;br /&gt;
# 値を切り替えるか、必要に応じて入力します。&lt;br /&gt;
# 設定内容によっては、Mery を再起動する必要があります。設定が反映されていない場合は、Mery を再起動してみてください。&lt;br /&gt;
&lt;br /&gt;
== ソースコード (MeryToys.js) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; copy&amp;gt;&lt;br /&gt;
#title = &amp;quot;MeryToys&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var options = [&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;基本&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;折り返しモードを同期する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SyncWrap&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: なし, 1: 同期, 2: すべて&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム ダーク モードを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSysDarkMode&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;行番号の増分&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LineNumbersCountBy&amp;quot;,&lt;br /&gt;
				default: 10,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のルーラーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseClassicRuler&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;IME 候補ウィンドウの位置を後ろにする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCandidatePos&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Alt + Tab キーの動作を改善&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AltTabFix&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Ctrl + ホイールでフォント サイズを変更&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;WheelFont&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字単位で元に戻す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UndoCharByChar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイルから検索のスレッド数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;MaxThreads&amp;quot;,&lt;br /&gt;
				default: 4,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ファイル&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題のタブの名前&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;Untitled&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題の文書に連番を付ける&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UntitledSeqNum&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;初期フォルダー&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;InitialFolder&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル監視を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseFileWatcher&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル名をフルパスで表示&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ShowFullPath&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;非アクティブ時フルパスにしない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;NoFullPathIfNotActive&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;タブ/インデント&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のタブ幅を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseLegacyTabWidth&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;検索&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な検索&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FindStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な置換&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ReplaceStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;表示&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Zen モード&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;行番号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideLineNumbers&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;ルーラーを非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideRuler&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;記号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideMarks&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;文字数を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideWordCount&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字最小幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CharacterMinWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;DirectWrite の文字幅を GDI 互換にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;GdiCompatible&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;正規表現モード&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RegExMode&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: 従来, 1: 柔軟, 2: 厳密&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;上マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TopMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;左マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LeftMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;右マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RightMargin&amp;quot;,&lt;br /&gt;
				default: 3,&lt;br /&gt;
				description: &amp;quot;文字&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅 (IME 有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高 (IME 有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;テキスト カーソル インジケーターを有効にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CursorIndicator&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スクロール&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム スクロール バーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSystemScrollBar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;タイプライター スクロール オフセット&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TypewriterScrollOffset&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;行&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ウィンドウ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ダイアログ&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;アウトプット バー&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンの縁にスナップ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ScreenSnap&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンスナップの距離&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SnapBuffer&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スペル チェック&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;大文字小文字を区別しない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;IgnoreUpperCase&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;自動保存&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveDelay&amp;quot;,&lt;br /&gt;
				default: 1000,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;保存しないで終了する場合、最後に自動保存されたバージョンを残す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveKeepUnsavedChanges&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;バックアップ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;最大数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Backup&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackupMaxCount&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;履歴&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdDelay&amp;quot;,&lt;br /&gt;
				default: 200,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の最大文字数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdMaxLength&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;アウトライン&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ForeColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;背景色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
var commandId = 1;&lt;br /&gt;
var commandMap = {};&lt;br /&gt;
&lt;br /&gt;
function addMenuItems(items, parentMenu) {&lt;br /&gt;
	for (var i = 0; i &amp;lt; items.length; i++) {&lt;br /&gt;
		var item = items[i];&lt;br /&gt;
		if (item.items &amp;amp;&amp;amp; item.items.length &amp;gt; 0) {&lt;br /&gt;
			var subMenu = CreatePopupMenu();&lt;br /&gt;
			addMenuItems(item.items, subMenu);&lt;br /&gt;
			parentMenu.AddPopup(item.name, subMenu);&lt;br /&gt;
		} else if (item.name === &amp;quot;-&amp;quot;) {&lt;br /&gt;
			parentMenu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
		} else {&lt;br /&gt;
			var d = item.default;&lt;br /&gt;
			switch (typeof d) {&lt;br /&gt;
				case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
					d = Boolean(editor.ReadSettingInteger(item.section, item.ident, Number(d)));&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;number&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingInteger(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;string&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingString(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				default:&lt;br /&gt;
					break;&lt;br /&gt;
			}&lt;br /&gt;
			parentMenu.Add(item.name + &amp;quot;: &amp;quot; + d, commandId);&lt;br /&gt;
			commandMap[commandId] = {&lt;br /&gt;
				section: item.section,&lt;br /&gt;
				ident: item.ident,&lt;br /&gt;
				value: d,&lt;br /&gt;
				name: item.name,&lt;br /&gt;
				description: item.description&lt;br /&gt;
			};&lt;br /&gt;
			commandId++;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var menu = CreatePopupMenu();&lt;br /&gt;
for (var i = 0; i &amp;lt; options.length; i++) {&lt;br /&gt;
	var option = options[i];&lt;br /&gt;
	var subMenu = CreatePopupMenu();&lt;br /&gt;
	addMenuItems(option.items, subMenu);&lt;br /&gt;
	menu.AddPopup(option.name, subMenu);&lt;br /&gt;
}&lt;br /&gt;
var result = menu.Track(mePosMouse);&lt;br /&gt;
if (result !== 0) {&lt;br /&gt;
	var d = commandMap[result];&lt;br /&gt;
	switch (typeof d.value) {&lt;br /&gt;
		case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
			editor.WriteSettings();&lt;br /&gt;
			editor.WriteSettingInteger(d.section, d.ident, Number(!d.value));&lt;br /&gt;
			editor.ReadSettings();&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;number&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (!isNaN(s) &amp;amp;&amp;amp; (editor.WriteSettings(), editor.WriteSettingInteger(d.section, d.ident, Number(s)), editor.ReadSettings())) : editor.DeleteSetting(d.section, d.ident);&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;string&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (editor.WriteSettings(), editor.WriteSettingString(d.section, d.ident, s), editor.ReadSettings()) : editor.DeleteSetting(d.section, d.ident);&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		default:&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
&lt;br /&gt;
* 各オプションの説明 (うーん、できれば避けたいお仕事)&lt;br /&gt;
* Mery の再起動が必要なときに、それっぽく教えてくれるやつ？&lt;br /&gt;
* Mery のバージョンチェック (正直やりたくないし、どのバージョンで作ったかも忘れた)&lt;br /&gt;
&lt;br /&gt;
== スペシャルサンクス ==&lt;br /&gt;
&lt;br /&gt;
本マクロの制作にあたり、開発者さえ忘れていた隠しオプションについては、MSY-07 さんが作成された「[[隠しオプション一覧]]」を参考にさせていただきました。MSY-07 さんの詳細な記事に深く感謝しつつ、このマクロをお届けします。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=Google_Gemini_%E3%81%A7%E5%9F%B7%E7%AD%86%E6%94%AF%E6%8F%B4&amp;diff=8959</id>
		<title>Google Gemini で執筆支援</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=Google_Gemini_%E3%81%A7%E5%9F%B7%E7%AD%86%E6%94%AF%E6%8F%B4&amp;diff=8959"/>
		<updated>2025-06-21T07:34:08Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
Google の生成 AI「Gemini」を活用した V8 マクロのサンプルです。&lt;br /&gt;
&lt;br /&gt;
テキストを選択した状態でマクロを実行すると、Gemini が文章作成をサポートします。&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.8 以上で動作します。&lt;br /&gt;
* Google AI Studio で [https://ai.google.dev/gemini-api/docs/api-key?hl=ja Gemini API キー]を取得してください。&lt;br /&gt;
* Gemini API の特性上、送信した文字列が AI の学習に利用される可能性があります。機密情報やプライバシーに関わる内容は送信しないでください。&lt;br /&gt;
* 本マクロを登録することで、選択したテキストが Google Gemini に送信され処理されることに同意したものとみなします。データの取り扱いについては、Google Gemini の[https://support.google.com/gemini?p=privacy_help 利用規約およびプライバシーポリシー]を必ずご確認ください。&lt;br /&gt;
* 2025年6月21日時点で無料の Gemini API を使用しています。ただし、将来の仕様変更や設定ミスにより費用が発生しても、作者は責任を負いません。&lt;br /&gt;
&lt;br /&gt;
== 使い方 ==&lt;br /&gt;
&lt;br /&gt;
* 環境変数の設定&lt;br /&gt;
:コマンド プロンプトで以下のコマンドを実行し、環境変数を設定してください。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
setx GEMINI_API_KEY &amp;quot;***************************************&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:設定後、Mery または Windows の再起動が必要な場合があります。&lt;br /&gt;
* マクロの実行&lt;br /&gt;
** テキストを選択し、マクロを実行するとポップアップ メニューが表示されます。&lt;br /&gt;
** [やわらかく書き換えて] や [要約して] など、相談したい項目を選択すると、Gemini API に送信され、結果が出力されます。&lt;br /&gt;
&lt;br /&gt;
== ソースコード (AskGemini.js) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#language = &amp;quot;V8&amp;quot;&lt;br /&gt;
#title = &amp;quot;Gemini で執筆支援&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;選択範囲を Google Gemini に相談します。&amp;quot;&lt;br /&gt;
/*&lt;br /&gt;
1. 環境変数の設定&lt;br /&gt;
マクロを使用する前に、コマンド プロンプトで以下の環境変数を設定してください。&lt;br /&gt;
setx GOOGLE_API_KEY &amp;quot;***************************************&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2. データ利用についての同意&lt;br /&gt;
マクロを登録することにより、文書内のテキスト データが Google Gemini に送信され、処理されることに同意したものとみなします。データの取り扱いやプライバシーに関する詳細は、Google Gemini の利用規約およびプライバシーポリシーをご確認ください。&lt;br /&gt;
https://support.google.com/gemini?p=privacy_help&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// [出力] 0: 選択範囲の後, 1: 新規文書, 2: アウトプット バー&lt;br /&gt;
const output = 0;&lt;br /&gt;
async function callGemini(apiKey, promptText) {&lt;br /&gt;
	try {&lt;br /&gt;
		const response = await fetch(&amp;quot;https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite-preview-06-17:generateContent?key=&amp;quot; + apiKey, {&lt;br /&gt;
			method: &amp;quot;POST&amp;quot;,&lt;br /&gt;
			headers: {&lt;br /&gt;
				&amp;quot;Content-Type&amp;quot;: &amp;quot;application/json&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			body: JSON.stringify({&lt;br /&gt;
				&amp;quot;contents&amp;quot;: [{&lt;br /&gt;
					&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
					&amp;quot;parts&amp;quot;: [{&lt;br /&gt;
						&amp;quot;text&amp;quot;: promptText&lt;br /&gt;
					}],&lt;br /&gt;
				}],&lt;br /&gt;
			}),&lt;br /&gt;
		});&lt;br /&gt;
		if (!response.ok) {&lt;br /&gt;
			alert(await response.text());&lt;br /&gt;
			Quit();&lt;br /&gt;
		}&lt;br /&gt;
		const responseObj = await response.json();&lt;br /&gt;
		if (!responseObj.candidates || responseObj.candidates.length === 0) {&lt;br /&gt;
			alert(&amp;quot;candidates が見つかりませんでした。&amp;quot;);&lt;br /&gt;
			Quit();&lt;br /&gt;
		}&lt;br /&gt;
		return responseObj.candidates[0].content.parts[0].text;&lt;br /&gt;
	} catch (error) {&lt;br /&gt;
		alert(error.message);&lt;br /&gt;
		Quit();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
async function main() {&lt;br /&gt;
	const prefix = &amp;quot;次の文章を&amp;quot;;&lt;br /&gt;
	const rewrite = &amp;quot;書き換え&amp;quot;;&lt;br /&gt;
	const rewrites = [&lt;br /&gt;
		&amp;quot;やわらかく書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;フォーマルに書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;エモーショナルに書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;わかりやすく書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;簡潔に書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;バズるように書き換えて&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const actions = [&lt;br /&gt;
		&amp;quot;要約して&amp;quot;,&lt;br /&gt;
		&amp;quot;3 行にまとめて&amp;quot;,&lt;br /&gt;
		&amp;quot;SNS の投稿用にまとめて&amp;quot;,&lt;br /&gt;
		&amp;quot;文末のまとめを書いて&amp;quot;,&lt;br /&gt;
		&amp;quot;-&amp;quot;,&lt;br /&gt;
		&amp;quot;もっと読まれるようにして&amp;quot;,&lt;br /&gt;
		&amp;quot;間違いを見つけて&amp;quot;,&lt;br /&gt;
		&amp;quot;反対意見を書いて&amp;quot;,&lt;br /&gt;
		&amp;quot;炎上しないように確認して&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const translate = &amp;quot;翻訳&amp;quot;;&lt;br /&gt;
	const translates = [&lt;br /&gt;
		&amp;quot;日本語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;英語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;中国語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;韓国語に翻訳して&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const ask = &amp;quot;くわしく相談...&amp;quot;;&lt;br /&gt;
	const send = &amp;quot;そのまま送信&amp;quot;;&lt;br /&gt;
	const apiKey = shell.getEnv(&amp;quot;GEMINI_API_KEY&amp;quot;);&lt;br /&gt;
	if (!apiKey) {&lt;br /&gt;
		alert(&amp;quot;API キーが設定されていません。&amp;quot;);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	let sel = document.selection;&lt;br /&gt;
	let text = sel.Text;&lt;br /&gt;
	if (text.length === 0) {&lt;br /&gt;
		alert(&amp;quot;テキストが選択されていません。&amp;quot;);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	const menu = CreatePopupMenu();&lt;br /&gt;
	const submenu = CreatePopupMenu();&lt;br /&gt;
	const submenu2 = CreatePopupMenu();&lt;br /&gt;
	const askCommandId = 1001;&lt;br /&gt;
	const sendCommandId = 1002;&lt;br /&gt;
	let commandId = 0;&lt;br /&gt;
	for (let i = 0; i &amp;lt; rewrites.length; ++i) {&lt;br /&gt;
		submenu.Add(rewrites[i], ++commandId);&lt;br /&gt;
	}&lt;br /&gt;
	menu.AddPopup(rewrite, submenu);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	for (let i = 0; i &amp;lt; actions.length; ++i) {&lt;br /&gt;
		if (actions[i] === &amp;quot;-&amp;quot;) {&lt;br /&gt;
			menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
		} else {&lt;br /&gt;
			menu.Add(actions[i], ++commandId);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	for (let i = 0; i &amp;lt; translates.length; ++i) {&lt;br /&gt;
		submenu2.Add(translates[i], ++commandId);&lt;br /&gt;
	}&lt;br /&gt;
	menu.AddPopup(translate, submenu2);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	menu.Add(ask, askCommandId);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	menu.Add(send, sendCommandId);&lt;br /&gt;
	const result = menu.Track(mePosMouse);&lt;br /&gt;
	if (result !== 0) {&lt;br /&gt;
		let promptText = &amp;quot;&amp;quot;;&lt;br /&gt;
		if (result === askCommandId) {&lt;br /&gt;
			promptText = prompt(&amp;quot;Gemini に相談(&amp;amp;A)&amp;quot;, &amp;quot;校正してください。&amp;quot;, mePromptMultiline).substring(0, 65530);&lt;br /&gt;
			if (promptText.length === 0) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
		} else if (result !== sendCommandId) {&lt;br /&gt;
			promptText = menu.GetText(result);&lt;br /&gt;
		}&lt;br /&gt;
		if (promptText.length !== 0 || text.length !== 0) {&lt;br /&gt;
			if (promptText.length === 0) {&lt;br /&gt;
				promptText = text;&lt;br /&gt;
			} else if (text.length !== 0) {&lt;br /&gt;
				promptText = prefix + promptText + &amp;quot;:\n&amp;quot; + text;&lt;br /&gt;
			}&lt;br /&gt;
			shell.KeepRunning = true;&lt;br /&gt;
			status = &amp;quot;Gemini に相談しています...&amp;quot;;&lt;br /&gt;
			try {&lt;br /&gt;
				const response = await callGemini(apiKey, promptText);&lt;br /&gt;
				switch (output) {&lt;br /&gt;
					case 1:&lt;br /&gt;
						editor.NewFile();&lt;br /&gt;
						editor.ActiveDocument.write(response);&lt;br /&gt;
						break;&lt;br /&gt;
					case 2:&lt;br /&gt;
						outputBar.writeln(response);&lt;br /&gt;
						outputBar.Visible = true;&lt;br /&gt;
						break;&lt;br /&gt;
					default:&lt;br /&gt;
						BeginUndoGroup();&lt;br /&gt;
						try {&lt;br /&gt;
							sel.CharRight();&lt;br /&gt;
							sel.EndOfLine(false, mePosLogical);&lt;br /&gt;
							sel.NewLine();&lt;br /&gt;
							sel.Text = &amp;quot;\n---\n\n&amp;quot; + response.trim() + &amp;quot;\n\n---\n&amp;quot;;&lt;br /&gt;
						} finally {&lt;br /&gt;
							EndUndoGroup();&lt;br /&gt;
						}&lt;br /&gt;
						break;&lt;br /&gt;
				}&lt;br /&gt;
			} catch (error) {&lt;br /&gt;
				console.log(&amp;quot;Gemini API エラー: &amp;quot;, error);&lt;br /&gt;
			} finally {&lt;br /&gt;
				status = &amp;quot;&amp;quot;;&lt;br /&gt;
				shell.KeepRunning = false;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
main();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== カスタマイズ ==&lt;br /&gt;
* ソースコードの最初の部分で、output の値を変更することで、Gemini の結果をどこに出力するかを選択できます。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// [出力] 0: 選択範囲の後, 1: 新規文書, 2: アウトプット バー&lt;br /&gt;
const output = 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Gemini へのアクションは、ソースコードの中ほどで actions などの定数に定義されています。文字列を変更または追加することで、お好みのアクションを定義できます。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const actions = [&lt;br /&gt;
	&amp;quot;要約して&amp;quot;,&lt;br /&gt;
	&amp;quot;3 行にまとめて&amp;quot;,&lt;br /&gt;
	&amp;quot;SNS の投稿用にまとめて&amp;quot;,&lt;br /&gt;
	&amp;quot;文末のまとめを書いて&amp;quot;,&lt;br /&gt;
	&amp;quot;-&amp;quot;,&lt;br /&gt;
	&amp;quot;もっと読まれるようにして&amp;quot;,&lt;br /&gt;
	&amp;quot;間違いを見つけて&amp;quot;,&lt;br /&gt;
	&amp;quot;反対意見を書いて&amp;quot;,&lt;br /&gt;
	&amp;quot;炎上しないように確認して&amp;quot;&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== スペシャルサンクス ==&lt;br /&gt;
&lt;br /&gt;
本マクロは、yuko さんが作成された「[[Google Gemini に相談]]」マクロにインスパイアされ、Mery のあまり使われていないと思われる V8 マクロ機能を使って実装したサンプルです。yuko さんの素晴らしいアイデアに感謝し、このマクロをお届けします。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=8945</id>
		<title>MeryToys</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=8945"/>
		<updated>2025-06-15T08:39:58Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ソースコード (MeryToys.js) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
Mery の隠しオプションを簡単に設定できるマクロです。&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.17 以降で動作します。&lt;br /&gt;
* 一部の設定は、Mery の再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
== 使い方 ==&lt;br /&gt;
&lt;br /&gt;
# マクロを実行します。&lt;br /&gt;
# ポップアップ メニューが表示されるので、設定したい項目を選択します。&lt;br /&gt;
# 値を切り替えるか、必要に応じて入力します。&lt;br /&gt;
# 設定内容によっては、Mery を再起動する必要があります。設定が反映されていない場合は、Mery を再起動してみてください。&lt;br /&gt;
&lt;br /&gt;
== ソースコード (MeryToys.js) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#title = &amp;quot;MeryToys&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var options = [&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;基本&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;折り返しモードを同期する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SyncWrap&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: なし, 1: 同期, 2: すべて&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム ダーク モードを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSysDarkMode&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;行番号の増分&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LineNumbersCountBy&amp;quot;,&lt;br /&gt;
				default: 10,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のルーラーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseClassicRuler&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;IME 候補ウィンドウの位置を後ろにする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCandidatePos&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Alt + Tab キーの動作を改善&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AltTabFix&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Ctrl + ホイールでフォント サイズを変更&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;WheelFont&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字単位で元に戻す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UndoCharByChar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイルから検索のスレッド数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;MaxThreads&amp;quot;,&lt;br /&gt;
				default: 4,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ファイル&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題のタブの名前&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;Untitled&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題の文書に連番を付ける&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UntitledSeqNum&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;初期フォルダー&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;InitialFolder&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル監視を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseFileWatcher&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル名をフルパスで表示&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ShowFullPath&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;非アクティブ時フルパスにしない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;NoFullPathIfNotActive&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;タブ/インデント&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のタブ幅を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseLegacyTabWidth&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;検索&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な検索&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FindStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な置換&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ReplaceStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;表示&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Zen モード&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;行番号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideLineNumbers&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;ルーラーを非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideRuler&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;記号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideMarks&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;文字数を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideWordCount&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字最小幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CharacterMinWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;DirectWrite の文字幅を GDI 互換にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;GdiCompatible&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;正規表現モード&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RegExMode&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: 従来, 1: 柔軟, 2: 厳密&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;上マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TopMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;左マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LeftMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;右マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RightMargin&amp;quot;,&lt;br /&gt;
				default: 3,&lt;br /&gt;
				description: &amp;quot;文字&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅 (IME 有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高 (IME 有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;テキスト カーソル インジケーターを有効にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CursorIndicator&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スクロール&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム スクロール バーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSystemScrollBar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;タイプライター スクロール オフセット&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TypewriterScrollOffset&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;行&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ウィンドウ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ダイアログ&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;アウトプット バー&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンの縁にスナップ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ScreenSnap&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンスナップの距離&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SnapBuffer&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スペル チェック&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;大文字小文字を区別しない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;IgnoreUpperCase&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;自動保存&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveDelay&amp;quot;,&lt;br /&gt;
				default: 1000,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;保存しないで終了する場合、最後に自動保存されたバージョンを残す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveKeepUnsavedChanges&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;バックアップ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;最大数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Backup&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackupMaxCount&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;履歴&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdDelay&amp;quot;,&lt;br /&gt;
				default: 200,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の最大文字数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdMaxLength&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;アウトライン&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォント サイズ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ForeColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;背景色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
var commandId = 1;&lt;br /&gt;
var commandMap = {};&lt;br /&gt;
&lt;br /&gt;
function addMenuItems(items, parentMenu) {&lt;br /&gt;
	for (var i = 0; i &amp;lt; items.length; i++) {&lt;br /&gt;
		var item = items[i];&lt;br /&gt;
		if (item.items &amp;amp;&amp;amp; item.items.length &amp;gt; 0) {&lt;br /&gt;
			var subMenu = CreatePopupMenu();&lt;br /&gt;
			addMenuItems(item.items, subMenu);&lt;br /&gt;
			parentMenu.AddPopup(item.name, subMenu);&lt;br /&gt;
		} else if (item.name === &amp;quot;-&amp;quot;) {&lt;br /&gt;
			parentMenu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
		} else {&lt;br /&gt;
			var d = item.default;&lt;br /&gt;
			switch (typeof d) {&lt;br /&gt;
				case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
					d = Boolean(editor.ReadSettingInteger(item.section, item.ident, Number(d)));&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;number&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingInteger(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;string&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingString(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				default:&lt;br /&gt;
					break;&lt;br /&gt;
			}&lt;br /&gt;
			parentMenu.Add(item.name + &amp;quot;: &amp;quot; + d, commandId);&lt;br /&gt;
			commandMap[commandId] = {&lt;br /&gt;
				section: item.section,&lt;br /&gt;
				ident: item.ident,&lt;br /&gt;
				value: d,&lt;br /&gt;
				name: item.name,&lt;br /&gt;
				description: item.description&lt;br /&gt;
			};&lt;br /&gt;
			commandId++;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var menu = CreatePopupMenu();&lt;br /&gt;
for (var i = 0; i &amp;lt; options.length; i++) {&lt;br /&gt;
	var option = options[i];&lt;br /&gt;
	var subMenu = CreatePopupMenu();&lt;br /&gt;
	addMenuItems(option.items, subMenu);&lt;br /&gt;
	menu.AddPopup(option.name, subMenu);&lt;br /&gt;
}&lt;br /&gt;
var result = menu.Track(mePosMouse);&lt;br /&gt;
if (result !== 0) {&lt;br /&gt;
	var d = commandMap[result];&lt;br /&gt;
	switch (typeof d.value) {&lt;br /&gt;
		case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
			editor.WriteSettings();&lt;br /&gt;
			editor.WriteSettingInteger(d.section, d.ident, Number(!d.value));&lt;br /&gt;
			editor.ReadSettings();&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;number&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (!isNaN(s) &amp;amp;&amp;amp; (editor.WriteSettings(), editor.WriteSettingInteger(d.section, d.ident, Number(s)), editor.ReadSettings())) : editor.DeleteSetting(d.section, d.ident);&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;string&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (editor.WriteSettings(), editor.WriteSettingString(d.section, d.ident, s), editor.ReadSettings()) : editor.DeleteSetting(d.section, d.ident);&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		default:&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
&lt;br /&gt;
* 各オプションの説明 (うーん、できれば避けたいお仕事)&lt;br /&gt;
* Mery の再起動が必要なときに、それっぽく教えてくれるやつ？&lt;br /&gt;
* Mery のバージョンチェック (正直やりたくないし、どのバージョンで作ったかも忘れた)&lt;br /&gt;
&lt;br /&gt;
== スペシャルサンクス ==&lt;br /&gt;
&lt;br /&gt;
本マクロの制作にあたり、開発者さえ忘れていた隠しオプションについては、MSY-07 さんが作成された「[[隠しオプション一覧]]」を参考にさせていただきました。MSY-07 さんの詳細な記事に深く感謝しつつ、このマクロをお届けします。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:vbscript-deprecation-3.png&amp;diff=8938</id>
		<title>ファイル:vbscript-deprecation-3.png</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:vbscript-deprecation-3.png&amp;diff=8938"/>
		<updated>2025-06-15T00:50:08Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:vbscript-deprecation-2.png&amp;diff=8937</id>
		<title>ファイル:vbscript-deprecation-2.png</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:vbscript-deprecation-2.png&amp;diff=8937"/>
		<updated>2025-06-15T00:49:48Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:vbscript-deprecation-1.png&amp;diff=8936</id>
		<title>ファイル:vbscript-deprecation-1.png</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:vbscript-deprecation-1.png&amp;diff=8936"/>
		<updated>2025-06-15T00:49:18Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:vbscript-deprecation.png&amp;diff=8935</id>
		<title>ファイル:vbscript-deprecation.png</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:vbscript-deprecation.png&amp;diff=8935"/>
		<updated>2025-06-15T00:48:58Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&amp;diff=8928</id>
		<title>マクロライブラリ</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&amp;diff=8928"/>
		<updated>2025-06-14T13:13:24Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* おもしろ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mery 用のマクロ ライブラリです。&lt;br /&gt;
&lt;br /&gt;
スクリプトを拡張子 &amp;quot;js&amp;quot;（JavaScript、JScript の場合）にして Macros フォルダーなどに保存し、[マクロ] メニューの [選択] や [カスタマイズ] から読み込んで使用してください。&lt;br /&gt;
&lt;br /&gt;
このマクロ ライブラリはどなたでも自由に編集可能ですので、ご自身が開発した便利なマクロをどんどん共有してください。&lt;br /&gt;
&lt;br /&gt;
また、[[隠しオプション一覧]]に希望するオプションがあるかもしれませんので、そちらも参照してみてください。&lt;br /&gt;
&lt;br /&gt;
== テキスト操作補助 ==&lt;br /&gt;
* [https://github.com/haijinboys/mery-macro-emmet/blob/master/emmet.js Emmet] (Kuro)&lt;br /&gt;
* [[Zen Coding]] (Kuro)&lt;br /&gt;
* [[バイト数]] (Kuro, ks)&lt;br /&gt;
* [[日付と時刻を挿入]] (n, masme, isari)&lt;br /&gt;
* [[日付と時刻を挿入（カレンダー版）]] (papagoat)&lt;br /&gt;
* [[選択範囲を上下に移動]] (ks)&lt;br /&gt;
* [[TeraPadのCtrl↑と同じような動作をするマクロ]] (suke)&lt;br /&gt;
* [[TeraPadのCtrl↓と同じような動作をするマクロ]] (suke)&lt;br /&gt;
* [[Vz 風テキストスタック 2 ストロークキー]] (papagoat)&lt;br /&gt;
* [[ラクラク罫線]] (手石)&lt;br /&gt;
* [[矩形ペースト]] (手石)&lt;br /&gt;
* [[自動箇条書き]] (手石)&lt;br /&gt;
* [[特殊改行]] (FuG)&lt;br /&gt;
* [[部分編集]] (ks)&lt;br /&gt;
* [[文字カウント]] (masme)&lt;br /&gt;
* [[字下げ・字上げ]] (masme)&lt;br /&gt;
* [[数値を増減]] (masme)&lt;br /&gt;
* [[上に行挿入]] (yuko)&lt;br /&gt;
* [[選択範囲を広げる]] (yuko)&lt;br /&gt;
* [[貼付け実行後のカーソル位置を貼付け文字列の先頭にする]] (yuko)&lt;br /&gt;
* [[選択した文字列を文書からすべて削除]] (Noah)&lt;br /&gt;
* [[文章で使用されている文字をユニーク抽出]] (Kuro)&lt;br /&gt;
* [[CSV のカーソル位置の列を削除]] (MSY-07)&lt;br /&gt;
* [[XHTML入力補助]] (アラフォー親父)&lt;br /&gt;
* [[Markdown文書で改行時にリスト、引用ブロック開始記号を自動入力する]] (catfist, yuko)&lt;br /&gt;
* [[Markdown 向け、リスト記号 (*) のトグル]] (yuko)&lt;br /&gt;
* [[Markdown 向け、タスクリスト (* ［］) のチェック状態をトグル]] (yuko)&lt;br /&gt;
* [[Markdown入力補助]] (急急如律令)&lt;br /&gt;
* [[青空文庫用整形補助]] (ks, 急急如律令)&lt;br /&gt;
* [[自動ルビ振り]] (急急如律令)&lt;br /&gt;
* [[ドイツ語特殊文字]] (鯉)&lt;br /&gt;
* [[何年生で習う漢字？]] (シリル)&lt;br /&gt;
&lt;br /&gt;
== ファイル操作補助 ==&lt;br /&gt;
* [[フォルダ内のファイルをすべて開く]] (Kuro)&lt;br /&gt;
* [[ファイルを比較]] (Kuro, MSY-07)&lt;br /&gt;
* [[ファイル名を引数にしてアプリ起動]] (Kuro, miso)&lt;br /&gt;
* [[文字列中のパス起動]] (ks)&lt;br /&gt;
* [[パス・URLを開く コマンドを実行する]] (yuko)&lt;br /&gt;
* [[開いている文書のファイル名を変更する]] (yuko)&lt;br /&gt;
* [[上書き保存(UAC対応)]] (ks)&lt;br /&gt;
* [[含んでいるフォルダを開く]] (ks)&lt;br /&gt;
* [[フォルダを開く]] (n)&lt;br /&gt;
* [[拡張子の違うファイルを開く]] (n)&lt;br /&gt;
* [[コマンドプロンプトを開く]] (n)&lt;br /&gt;
* [[ブックマーク一覧ジャンプ]] (goat)&lt;br /&gt;
* [[よく使うフォルダ]] (手石)&lt;br /&gt;
* [[ファイル（選択範囲）の仮保存]] (手石)&lt;br /&gt;
* [[ポップアップメニューでファイル選択]] (手石)&lt;br /&gt;
* [[フォルダツリーをポップアップ表示]] (n)&lt;br /&gt;
* [[タグジャンプ]] (o)&lt;br /&gt;
* [[ウィンドウの位置とサイズを拡張子で指定]] (papagoat)&lt;br /&gt;
* [[編集モードの自動選択]] (Bleat)&lt;br /&gt;
* [[書き換え禁止モード色反転]] (Bleat)&lt;br /&gt;
* [[変更なしのタブをすべて閉じる]] (Noah)&lt;br /&gt;
&lt;br /&gt;
== 変換・ソート・整形 ==&lt;br /&gt;
* [[標準変換]] (Kuro, MSY-07)&lt;br /&gt;
* [[テキスト変換]] (ks)&lt;br /&gt;
* [[テキスト整形]] (masme)&lt;br /&gt;
* [[旧漢字から新漢字に変換]] (furu)&lt;br /&gt;
* [[Unicode正規化]] (ucky)&lt;br /&gt;
* [[Wikipediaマークアップ修正]] (MSY-07)&lt;br /&gt;
* [[SHA でハッシュ化]] (Kuro)&lt;br /&gt;
* [[ブックマーク系コマンド集]] (ks)&lt;br /&gt;
* [[clustalw を用いてアライメントを実行]] (suke)&lt;br /&gt;
* [[clustal-omegaを用いてアライメントを実行]] (suke)&lt;br /&gt;
* [[連番の挿入]] (手石)&lt;br /&gt;
* [[連番を挿入]] (masme)&lt;br /&gt;
* [[マルチカーソルに連番を入力]] (yuko)&lt;br /&gt;
* [[可変長を固定長に変換]] (MSY-07)&lt;br /&gt;
* [[TSV(CSV) ⇒ 固定長]] (手石)&lt;br /&gt;
* [[行並べ替え]] (masme)&lt;br /&gt;
* [[GFMをHTMLに変換]] (noonworks)&lt;br /&gt;
* [[基数変換10 16]] (シリル)&lt;br /&gt;
* [[スネークケース ⇔ キャメルケースの変換]] (Noah)&lt;br /&gt;
* [[自然数ソート]] (tak)&lt;br /&gt;
&lt;br /&gt;
== 検索・置換 ==&lt;br /&gt;
* [[文書から検索]] (Kuro)&lt;br /&gt;
* [[単語を抽出]] (Kuro)&lt;br /&gt;
* [[タグの外側（内側）だけ置換]] (手石)&lt;br /&gt;
* [[ポップアップメニューで検索先にジャンプ]] (手石)&lt;br /&gt;
* [[検索(SJIS以外)]] (masme)&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/blob/master/SearchWithMode.js 現在開いているファイルの言語名をつけてWeb検索] (高見知英)&lt;br /&gt;
* [https://github.com/GunseiKPaseri/Mery_macro/blob/master/count.js 文字出現量ランキング] (群生系パセリ)&lt;br /&gt;
* [[検索ヒット数表示]] (ks)&lt;br /&gt;
* [[任意の検索エンジンで検索]] (Noah)&lt;br /&gt;
* [[任意の検索エンジンで検索ー改良版]] (Takeshi)&lt;br /&gt;
* [[デフォルトの検索フラグを設定して検索ウィンドウ表示]] (yuko)&lt;br /&gt;
* [[複数置換]] (Noah)&lt;br /&gt;
* [[類義語アウトプット【Python】]] (シリル)&lt;br /&gt;
* [[校正支援アウトプット]] (シリル)&lt;br /&gt;
* [[見出しジャンプ]] (yuko)&lt;br /&gt;
* [[CSV/TSVでアクティブ列選択]] (yuko)&lt;br /&gt;
&lt;br /&gt;
== プログラミング補助 ==&lt;br /&gt;
* [[Eclipse風コメントアウト]] (ks)&lt;br /&gt;
* [[Eclipse風コメントアウト(改)]] (pizz)&lt;br /&gt;
* [[コメントマーク付け外し]] (手石, masme)&lt;br /&gt;
* [[スマートインデント(C 構文)]] (ks)&lt;br /&gt;
* [[ctags.exeでtagsファイルを生成、タグジャンプを行うマクロ]] (kazy)&lt;br /&gt;
* [[タグファイルから補完]] (n)&lt;br /&gt;
* [[コードスニペットもどき]] (手石)&lt;br /&gt;
* [[TeX文書のコンパイル]] (手石, isari)&lt;br /&gt;
* [[簡易数式計算]] (ks)&lt;br /&gt;
* [[定義へ移動]] (ks)&lt;br /&gt;
* [[タブの桁数]] (手石)&lt;br /&gt;
* [[行末の空白を削除]] (n)&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/blob/master/FileExecutor.js 開いているスクリプトファイルを実行] (高見知英)&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/blob/master/SyntaxChecker.js 開いているスクリプトファイルを構文チェック] (高見知英)&lt;br /&gt;
* [[説明を出力]] (s)&lt;br /&gt;
* [[JSON整形]] (Ovis)&lt;br /&gt;
* [[コンソール実行]] (YOS G-spec)&lt;br /&gt;
* [[拡張子からコンソール実行]] (YOS G-spec)&lt;br /&gt;
* [[ScriptRun]] (fuka)&lt;br /&gt;
* [[JavaScript を実行]] (n)&lt;br /&gt;
* [[Ruby を実行]] (n)&lt;br /&gt;
* [[HSPキーワード検索]] (SSSE)&lt;br /&gt;
&lt;br /&gt;
== おもしろ ==&lt;br /&gt;
* [[メール送信]] (ks)&lt;br /&gt;
* [[あつまれ☆みんなのおもしろアイコン]] (シリル, ucky)&lt;br /&gt;
* [[テーマのトグル]] (ucky)&lt;br /&gt;
* [[お気に入りフォント]] (ucky)&lt;br /&gt;
* [[Google Gemini に相談]] (yuko)&lt;br /&gt;
* [[OpenAI GPT に相談]] (yuko)&lt;br /&gt;
* [[GroqCloud Llama に相談]] (yuko)&lt;br /&gt;
* [[Google Gemini で執筆支援]] (Kuro)&lt;br /&gt;
* [[MeryToys]] (Kuro)&lt;br /&gt;
&lt;br /&gt;
== その他 ==&lt;br /&gt;
* [[最新版を確認]] (diaphragm)&lt;br /&gt;
* [[SAPI 使って単語読み上げ]] (miso)&lt;br /&gt;
* [[フォルダ選択ダイアログ]] (手石)&lt;br /&gt;
* [[HTA(HTML)の自作ダイアログを表示]] (noonworks)&lt;br /&gt;
* [[ポップアップメニューを手軽に扱う]] (komorebikoboshi)&lt;br /&gt;
* [[ポップアップメニューでチェックボックス]] (手石)&lt;br /&gt;
* [[ポップアップメニューでラジオボタン]] (手石)&lt;br /&gt;
* [[マクロ・関数をメニューで呼び出す]] (aliquis)&lt;br /&gt;
* [[階層化マクロメニュー]] (ks)&lt;br /&gt;
* [[シェルコマンドを実行]] (sasaki)&lt;br /&gt;
* [[Editor.OpenFile()のポリフィル]] (kazy)&lt;br /&gt;
* [[折り返しトグル切り替え]] (Bleat)&lt;br /&gt;
* [[Beep音の例]] (star0worshipper)&lt;br /&gt;
* [[ブラウザ風タブ移動]] (yuko)&lt;br /&gt;
* [[タブ位置を先頭/末尾に移動]] (yuko)&lt;br /&gt;
* [[Mery 電卓]] (yuko)&lt;br /&gt;
&lt;br /&gt;
== 開発者向け ==&lt;br /&gt;
* [[キーアサイン集]] (ks, masme, isari)&lt;br /&gt;
* [[includeライブラリ]] (ks)&lt;br /&gt;
* [[マクロ覚え書き（開発者向け）]] (ks, papagoat)&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
[https://www.haijin-boys.com/software/mery/mery-2-6-6#5 Mery Ver 2.6.6]以前に作成されたマクロが動作しない場合は下記のページを参照してください。&lt;br /&gt;
&lt;br /&gt;
* [https://www.haijin-boys.com/wiki/%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9:3:%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96##language マクロリファレンス:3:ディレクティブ]&lt;br /&gt;
* [https://www.haijin-boys.com/discussions/6929 公式のマクロ 箇条書きが最新メリーで動作するかチェックいただけませんか？]&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=8927</id>
		<title>MeryToys</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=8927"/>
		<updated>2025-06-14T13:12:25Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
Mery の隠しオプションを簡単に設定できるマクロです。&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.17 以降で動作します。&lt;br /&gt;
* 一部の設定は、Mery の再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
== 使い方 ==&lt;br /&gt;
&lt;br /&gt;
# マクロを実行します。&lt;br /&gt;
# ポップアップ メニューが表示されるので、設定したい項目を選択します。&lt;br /&gt;
# 値を切り替えるか、必要に応じて入力します。&lt;br /&gt;
# 設定内容によっては、Mery を再起動する必要があります。設定が反映されていない場合は、Mery を再起動してみてください。&lt;br /&gt;
&lt;br /&gt;
== ソースコード (MeryToys.js) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#title = &amp;quot;MeryToys&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var options = [&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;基本&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;折り返しモードを同期する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SyncWrap&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: なし, 1: 同期, 2: すべて&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム ダーク モードを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSysDarkMode&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;行番号の増分&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LineNumbersCountBy&amp;quot;,&lt;br /&gt;
				default: 10,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のルーラーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseClassicRuler&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;IME 候補ウィンドウの位置を後ろにする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCandidatePos&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;リンクを Ctrl キー + クリックで開く&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;Links&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Alt + Tab キーの動作を改善&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AltTabFix&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Ctrl + ホイールでフォントサイズを変更&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;WheelFont&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字単位で元に戻す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UndoCharByChar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイルから検索のスレッド数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;MaxThreads&amp;quot;,&lt;br /&gt;
				default: 4,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ファイル&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題のタブの名前&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;Untitled&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;無題の文書に連番を付ける&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UntitledSeqNum&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;初期フォルダー&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;InitialFolder&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル監視を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseFileWatcher&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ファイル名をフルパスで表示&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ShowFullPath&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;非アクティブ時フルパスにしない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;NoFullPathIfNotActive&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;タブ/インデント&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;従来のタブ幅を使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;General&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseLegacyTabWidth&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;検索&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な検索&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FindStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;厳密な置換&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Search&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ReplaceStrict&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;表示&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;Zen モード&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;行番号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideLineNumbers&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;ルーラーを非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideRuler&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;記号を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideMarks&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;文字数を非表示&amp;quot;,&lt;br /&gt;
						section: &amp;quot;View&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;HideWordCount&amp;quot;,&lt;br /&gt;
						default: true,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字最小幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CharacterMinWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;DirectWrite の文字幅を GDI 互換にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;GdiCompatible&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;正規表現モード&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RegExMode&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;0: 従来, 1: 柔軟, 2: 厳密&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;上マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TopMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;左マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;LeftMargin&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;右マージン&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;RightMargin&amp;quot;,&lt;br /&gt;
				default: 3,&lt;br /&gt;
				description: &amp;quot;文字&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル幅 (IME有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretWidth&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;カーソル高 (IME有効)&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ImeCaretHeight&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;テキストカーソルインジケーターを有効にする&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Display&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;CursorIndicator&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スクロール&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;システム スクロール バーを使用する&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;UseSystemScrollBar&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;タイプライター スクロール オフセット&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Scroll&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;TypewriterScrollOffset&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
				description: &amp;quot;行&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;ウィンドウ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;ダイアログ&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォントサイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;MainForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;アウトプット バー&amp;quot;,&lt;br /&gt;
				items: [&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontName&amp;quot;,&lt;br /&gt;
						default: &amp;quot;&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
					{&lt;br /&gt;
						name: &amp;quot;フォントサイズ&amp;quot;,&lt;br /&gt;
						section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
						ident: &amp;quot;OutputBarFontSize&amp;quot;,&lt;br /&gt;
						default: 8,&lt;br /&gt;
						description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
					},&lt;br /&gt;
				]&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;-&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンの縁にスナップ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ScreenSnap&amp;quot;,&lt;br /&gt;
				default: false,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;スクリーンスナップの距離&amp;quot;,&lt;br /&gt;
				section: &amp;quot;ChildForm&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;SnapBuffer&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;px&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;スペル チェック&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;大文字小文字を区別しない&amp;quot;,&lt;br /&gt;
				section: &amp;quot;File&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;IgnoreUpperCase&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;自動保存&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveDelay&amp;quot;,&lt;br /&gt;
				default: 1000,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;保存しないで終了する場合、最後に自動保存されたバージョンを残す&amp;quot;,&lt;br /&gt;
				section: &amp;quot;AutoSave&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;AutoSaveKeepUnsavedChanges&amp;quot;,&lt;br /&gt;
				default: true,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;バックアップ&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;最大数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Backup&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackupMaxCount&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;履歴&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の遅延&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdDelay&amp;quot;,&lt;br /&gt;
				default: 200,&lt;br /&gt;
				description: &amp;quot;ms&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;クリップボード履歴の最大文字数&amp;quot;,&lt;br /&gt;
				section: &amp;quot;History&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ClipbrdMaxLength&amp;quot;,&lt;br /&gt;
				default: 0,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name: &amp;quot;アウトライン&amp;quot;,&lt;br /&gt;
		items: [&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォント名&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontName&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;フォントサイズ&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;FontSize&amp;quot;,&lt;br /&gt;
				default: 8,&lt;br /&gt;
				description: &amp;quot;pt&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;文字色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;ForeColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				name: &amp;quot;背景色&amp;quot;,&lt;br /&gt;
				section: &amp;quot;Outline&amp;quot;,&lt;br /&gt;
				ident: &amp;quot;BackColor&amp;quot;,&lt;br /&gt;
				default: &amp;quot;&amp;quot;,&lt;br /&gt;
				description: &amp;quot;#RGB, #RRGGBB&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
		]&lt;br /&gt;
	},&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
var commandId = 1;&lt;br /&gt;
var commandMap = {};&lt;br /&gt;
&lt;br /&gt;
function addMenuItems(items, parentMenu) {&lt;br /&gt;
	for (var i = 0; i &amp;lt; items.length; i++) {&lt;br /&gt;
		var item = items[i];&lt;br /&gt;
		if (item.items &amp;amp;&amp;amp; item.items.length &amp;gt; 0) {&lt;br /&gt;
			var subMenu = CreatePopupMenu();&lt;br /&gt;
			addMenuItems(item.items, subMenu);&lt;br /&gt;
			parentMenu.AddPopup(item.name, subMenu);&lt;br /&gt;
		} else if (item.name === &amp;quot;-&amp;quot;) {&lt;br /&gt;
			parentMenu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
		} else {&lt;br /&gt;
			var d = item.default;&lt;br /&gt;
			switch (typeof d) {&lt;br /&gt;
				case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
					d = Boolean(editor.ReadSettingInteger(item.section, item.ident, Number(d)));&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;number&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingInteger(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				case &amp;quot;string&amp;quot;:&lt;br /&gt;
					d = editor.ReadSettingString(item.section, item.ident, d);&lt;br /&gt;
					break;&lt;br /&gt;
				default:&lt;br /&gt;
					value = undefined;&lt;br /&gt;
					break;&lt;br /&gt;
			}&lt;br /&gt;
			parentMenu.Add(item.name + &amp;quot;: &amp;quot; + d, commandId);&lt;br /&gt;
			commandMap[commandId] = {&lt;br /&gt;
				section: item.section,&lt;br /&gt;
				ident: item.ident,&lt;br /&gt;
				value: d,&lt;br /&gt;
				name: item.name,&lt;br /&gt;
				description: item.description&lt;br /&gt;
			};&lt;br /&gt;
			commandId++;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var menu = CreatePopupMenu();&lt;br /&gt;
for (var i = 0; i &amp;lt; options.length; i++) {&lt;br /&gt;
	var option = options[i];&lt;br /&gt;
	var subMenu = CreatePopupMenu();&lt;br /&gt;
	addMenuItems(option.items, subMenu);&lt;br /&gt;
	menu.AddPopup(option.name, subMenu);&lt;br /&gt;
}&lt;br /&gt;
var result = menu.Track(mePosMouse);&lt;br /&gt;
if (result !== 0) {&lt;br /&gt;
	var d = commandMap[result];&lt;br /&gt;
	switch (typeof d.value) {&lt;br /&gt;
		case &amp;quot;boolean&amp;quot;:&lt;br /&gt;
			editor.WriteSettings();&lt;br /&gt;
			editor.WriteSettingInteger(d.section, d.ident, Number(!d.value));&lt;br /&gt;
			editor.ReadSettings();&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;number&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (!isNaN(s) &amp;amp;&amp;amp; (editor.WriteSettings(), editor.WriteSettingInteger(d.section, d.ident, Number(s)), editor.ReadSettings())) : editor.DeleteSetting(d.section, d.ident);&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;string&amp;quot;:&lt;br /&gt;
			var s = prompt(d.name + (d.description ? &amp;quot; (&amp;quot; + d.description + &amp;quot;):&amp;quot; : &amp;quot;:&amp;quot;), d.value);&lt;br /&gt;
			if (s !== null) {&lt;br /&gt;
				s ? (editor.WriteSettings(), editor.WriteSettingString(d.section, d.ident, s), editor.ReadSettings()) : editor.DeleteSetting(d.section, d.ident);&lt;br /&gt;
			}&lt;br /&gt;
			break;&lt;br /&gt;
		default:&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ToDo ==&lt;br /&gt;
&lt;br /&gt;
* 各オプションの説明 (うーん、できれば避けたいお仕事)&lt;br /&gt;
* Mery の再起動が必要なときに、それっぽく教えてくれるやつ？&lt;br /&gt;
* Mery のバージョンチェック (正直やりたくないし、どのバージョンで作ったかも忘れた)&lt;br /&gt;
&lt;br /&gt;
== スペシャルサンクス ==&lt;br /&gt;
&lt;br /&gt;
本マクロの制作にあたり、開発者さえ忘れていた隠しオプションについては、MSY-07 さんが作成された「[[隠しオプション一覧]]」を参考にさせていただきました。MSY-07 さんの詳細な記事に深く感謝しつつ、このマクロをお届けします。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=8925</id>
		<title>MeryToys</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=MeryToys&amp;diff=8925"/>
		<updated>2025-06-14T08:31:08Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: ページの作成:「__NOTOC__ == 概要 ==  Mery の隠しオプションを簡単に設定できるマクロです。  == 注意事項 ==  * Mery Ver 3.7.17 以上で動作します。 * 一部の設定項目は、Mery の再起動が必要です。  == 使い方 ==  # マクロを実行します。 # ポップアップ メニューが表示されるので、設定したい項目を選択します。 # 値を切り替えるか、必要に応じて入力します。 # 設定内容に…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
Mery の隠しオプションを簡単に設定できるマクロです。&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.17 以上で動作します。&lt;br /&gt;
* 一部の設定項目は、Mery の再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
== 使い方 ==&lt;br /&gt;
&lt;br /&gt;
# マクロを実行します。&lt;br /&gt;
# ポップアップ メニューが表示されるので、設定したい項目を選択します。&lt;br /&gt;
# 値を切り替えるか、必要に応じて入力します。&lt;br /&gt;
# 設定内容によっては、Mery を再起動する必要があります。&lt;br /&gt;
&lt;br /&gt;
== ソースコード (MeryToys.js) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#title = &amp;quot;MeryToys&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E5%8D%98%E8%AA%9E%E3%82%92%E6%8A%BD%E5%87%BA&amp;diff=8510</id>
		<title>単語を抽出</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E5%8D%98%E8%AA%9E%E3%82%92%E6%8A%BD%E5%87%BA&amp;diff=8510"/>
		<updated>2024-12-29T02:57:47Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: コピーライトを削除&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;文書から単語を抽出します。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// 単語の区切りでぶった切って昇順に並べ替える&lt;br /&gt;
var s1 = document.Text.split(/[^0-9A-Z_a-z]+?/).sort();&lt;br /&gt;
var s2 = new Array();&lt;br /&gt;
// 重複する単語と数字で始まる単語は除外する&lt;br /&gt;
var r = new RegExp(&amp;quot;^[0-9]+?&amp;quot;, &amp;quot;i&amp;quot;);&lt;br /&gt;
for (var i = 0; i &amp;lt; s1.length; i++) {&lt;br /&gt;
    if (i == 0 || s1[i-1] != s1[i]) {&lt;br /&gt;
        if (!r.exec(s1[i])) {&lt;br /&gt;
            s2.push(s1[i]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
editor.NewFile();&lt;br /&gt;
// 大文字小文字を無視して昇順に並べ替える&lt;br /&gt;
editor.ActiveDocument.Text = s2.sort(function(a, b) {&lt;br /&gt;
    var s1 = a.toLowerCase();&lt;br /&gt;
    var s2 = b.toLowerCase();&lt;br /&gt;
    return ((s1 &amp;lt; s2) ? -1 : ((s1 &amp;gt; s2) ? 1 : 0));&lt;br /&gt;
}).join(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E6%9B%B8%E3%81%8B%E3%82%89%E6%A4%9C%E7%B4%A2&amp;diff=8509</id>
		<title>文書から検索</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E6%96%87%E6%9B%B8%E3%81%8B%E3%82%89%E6%A4%9C%E7%B4%A2&amp;diff=8509"/>
		<updated>2024-12-29T02:57:31Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: コピーライトを削除&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;現在開いているすべての文書から文字列を検索します。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var s = prompt(&amp;quot;検索&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
if (s == &amp;quot;&amp;quot;) {&lt;br /&gt;
    Quit();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
editor.NewFile();&lt;br /&gt;
var d = editor.ActiveDocument;&lt;br /&gt;
var r = new RegExp(s, &amp;quot;i&amp;quot;);&lt;br /&gt;
for (var e = new Enumerator(editor.documents); !e.atEnd(); e.moveNext()) {&lt;br /&gt;
  var item = e.item();&lt;br /&gt;
  if (item != d) {&lt;br /&gt;
    d.selection.Text = Find(item, r);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
with (d.selection) {&lt;br /&gt;
    StartOfDocument();&lt;br /&gt;
    Find(s, meFindNext + meFindReplaceRegExp);&lt;br /&gt;
    StartOfDocument();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function Find(d, r) {&lt;br /&gt;
    var s1 = d.Text.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
    var s2  = new Array();&lt;br /&gt;
    var s3 = &amp;quot;&amp;quot;;&lt;br /&gt;
    for (var i = 0; i &amp;lt; s1.length; i++) {&lt;br /&gt;
        var s3 = r.exec(s1[i]);&lt;br /&gt;
        if (s3) {&lt;br /&gt;
            s2.push((d.FullName != &amp;quot;&amp;quot; ? d.FullName : &amp;quot;無題&amp;quot;) + &amp;quot;(&amp;quot; + (i + 1) + &amp;quot;): &amp;quot; + s1[i]);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    s3 = s2.join(&amp;quot;\n&amp;quot;);&lt;br /&gt;
    return s3 != &amp;quot;&amp;quot; ? (s3 + &amp;quot;\n&amp;quot;) : &amp;quot;&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E6%A8%99%E6%BA%96%E5%A4%89%E6%8F%9B&amp;diff=8508</id>
		<title>標準変換</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E6%A8%99%E6%BA%96%E5%A4%89%E6%8F%9B&amp;diff=8508"/>
		<updated>2024-12-29T02:57:13Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: コピーライトを削除&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kuro 版 ==&lt;br /&gt;
半角カタカナを全角カタカナに、全角英数字を半角英数字に変換します。文字列変換のサンプルとしても最適かも。&lt;br /&gt;
&lt;br /&gt;
=== ソースコード ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#title = &amp;quot;標準変換&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;半角カタカナを全角カタカナに、全角英数字を半角英数字に変換します。&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var sel = document.selection;&lt;br /&gt;
if (sel.Text == &amp;quot;&amp;quot;) {&lt;br /&gt;
	sel.SelectAll();&lt;br /&gt;
}&lt;br /&gt;
var map = new Array();&lt;br /&gt;
map[&amp;quot;　&amp;quot;] = &amp;quot; &amp;quot;;&lt;br /&gt;
map[&amp;quot;！&amp;quot;] = &amp;quot;!&amp;quot;;&lt;br /&gt;
map[&amp;quot;“&amp;quot;] = &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
map[&amp;quot;”&amp;quot;] = &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
map[&amp;quot;＃&amp;quot;] = &amp;quot;#&amp;quot;;&lt;br /&gt;
map[&amp;quot;＄&amp;quot;] = &amp;quot;$&amp;quot;;&lt;br /&gt;
map[&amp;quot;％&amp;quot;] = &amp;quot;%&amp;quot;;&lt;br /&gt;
map[&amp;quot;＆&amp;quot;] = &amp;quot;&amp;amp;&amp;quot;;&lt;br /&gt;
map[&amp;quot;’&amp;quot;] = &amp;quot;&#039;&amp;quot;;&lt;br /&gt;
map[&amp;quot;（&amp;quot;] = &amp;quot;(&amp;quot;;&lt;br /&gt;
map[&amp;quot;）&amp;quot;] = &amp;quot;)&amp;quot;;&lt;br /&gt;
map[&amp;quot;＊&amp;quot;] = &amp;quot;*&amp;quot;;&lt;br /&gt;
map[&amp;quot;＋&amp;quot;] = &amp;quot;+&amp;quot;;&lt;br /&gt;
map[&amp;quot;，&amp;quot;] = &amp;quot;,&amp;quot;;&lt;br /&gt;
map[&amp;quot;－&amp;quot;] = &amp;quot;-&amp;quot;;&lt;br /&gt;
map[&amp;quot;．&amp;quot;] = &amp;quot;.&amp;quot;;&lt;br /&gt;
map[&amp;quot;／&amp;quot;] = &amp;quot;/&amp;quot;;&lt;br /&gt;
map[&amp;quot;０&amp;quot;] = &amp;quot;0&amp;quot;;&lt;br /&gt;
map[&amp;quot;１&amp;quot;] = &amp;quot;1&amp;quot;;&lt;br /&gt;
map[&amp;quot;２&amp;quot;] = &amp;quot;2&amp;quot;;&lt;br /&gt;
map[&amp;quot;３&amp;quot;] = &amp;quot;3&amp;quot;;&lt;br /&gt;
map[&amp;quot;４&amp;quot;] = &amp;quot;4&amp;quot;;&lt;br /&gt;
map[&amp;quot;５&amp;quot;] = &amp;quot;5&amp;quot;;&lt;br /&gt;
map[&amp;quot;６&amp;quot;] = &amp;quot;6&amp;quot;;&lt;br /&gt;
map[&amp;quot;７&amp;quot;] = &amp;quot;7&amp;quot;;&lt;br /&gt;
map[&amp;quot;８&amp;quot;] = &amp;quot;8&amp;quot;;&lt;br /&gt;
map[&amp;quot;９&amp;quot;] = &amp;quot;9&amp;quot;;&lt;br /&gt;
map[&amp;quot;：&amp;quot;] = &amp;quot;:&amp;quot;;&lt;br /&gt;
map[&amp;quot;；&amp;quot;] = &amp;quot;;&amp;quot;;&lt;br /&gt;
map[&amp;quot;＜&amp;quot;] = &amp;quot;&amp;lt;&amp;quot;;&lt;br /&gt;
map[&amp;quot;＝&amp;quot;] = &amp;quot;=&amp;quot;;&lt;br /&gt;
map[&amp;quot;＞&amp;quot;] = &amp;quot;&amp;gt;&amp;quot;;&lt;br /&gt;
map[&amp;quot;？&amp;quot;] = &amp;quot;?&amp;quot;;&lt;br /&gt;
map[&amp;quot;＠&amp;quot;] = &amp;quot;@&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ａ&amp;quot;] = &amp;quot;A&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｂ&amp;quot;] = &amp;quot;B&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｃ&amp;quot;] = &amp;quot;C&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｄ&amp;quot;] = &amp;quot;D&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｅ&amp;quot;] = &amp;quot;E&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｆ&amp;quot;] = &amp;quot;F&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｇ&amp;quot;] = &amp;quot;G&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｈ&amp;quot;] = &amp;quot;H&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｉ&amp;quot;] = &amp;quot;I&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｊ&amp;quot;] = &amp;quot;J&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｋ&amp;quot;] = &amp;quot;K&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｌ&amp;quot;] = &amp;quot;L&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｍ&amp;quot;] = &amp;quot;M&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｎ&amp;quot;] = &amp;quot;N&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｏ&amp;quot;] = &amp;quot;O&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｐ&amp;quot;] = &amp;quot;P&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｑ&amp;quot;] = &amp;quot;Q&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｒ&amp;quot;] = &amp;quot;R&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｓ&amp;quot;] = &amp;quot;S&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｔ&amp;quot;] = &amp;quot;T&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｕ&amp;quot;] = &amp;quot;U&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｖ&amp;quot;] = &amp;quot;V&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｗ&amp;quot;] = &amp;quot;W&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｘ&amp;quot;] = &amp;quot;X&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｙ&amp;quot;] = &amp;quot;Y&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ｚ&amp;quot;] = &amp;quot;Z&amp;quot;;&lt;br /&gt;
map[&amp;quot;［&amp;quot;] = &amp;quot;[&amp;quot;;&lt;br /&gt;
map[&amp;quot;￥&amp;quot;] = &amp;quot;\\&amp;quot;;&lt;br /&gt;
map[&amp;quot;］&amp;quot;] = &amp;quot;]&amp;quot;;&lt;br /&gt;
map[&amp;quot;＾&amp;quot;] = &amp;quot;^&amp;quot;;&lt;br /&gt;
map[&amp;quot;＿&amp;quot;] = &amp;quot;_&amp;quot;;&lt;br /&gt;
map[&amp;quot;‘&amp;quot;] = &amp;quot;`&amp;quot;;&lt;br /&gt;
map[&amp;quot;’&amp;quot;] = &amp;quot;`&amp;quot;;&lt;br /&gt;
map[&amp;quot;ａ&amp;quot;] = &amp;quot;a&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｂ&amp;quot;] = &amp;quot;b&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｃ&amp;quot;] = &amp;quot;c&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｄ&amp;quot;] = &amp;quot;d&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｅ&amp;quot;] = &amp;quot;e&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｆ&amp;quot;] = &amp;quot;f&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｇ&amp;quot;] = &amp;quot;g&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｈ&amp;quot;] = &amp;quot;h&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｉ&amp;quot;] = &amp;quot;i&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｊ&amp;quot;] = &amp;quot;j&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｋ&amp;quot;] = &amp;quot;k&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｌ&amp;quot;] = &amp;quot;l&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｍ&amp;quot;] = &amp;quot;m&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｎ&amp;quot;] = &amp;quot;n&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｏ&amp;quot;] = &amp;quot;o&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｐ&amp;quot;] = &amp;quot;p&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｑ&amp;quot;] = &amp;quot;q&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｒ&amp;quot;] = &amp;quot;r&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｓ&amp;quot;] = &amp;quot;s&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｔ&amp;quot;] = &amp;quot;t&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｕ&amp;quot;] = &amp;quot;u&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｖ&amp;quot;] = &amp;quot;v&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｗ&amp;quot;] = &amp;quot;w&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｘ&amp;quot;] = &amp;quot;x&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｙ&amp;quot;] = &amp;quot;y&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｚ&amp;quot;] = &amp;quot;z&amp;quot;;&lt;br /&gt;
map[&amp;quot;｛&amp;quot;] = &amp;quot;{&amp;quot;;&lt;br /&gt;
map[&amp;quot;｜&amp;quot;] = &amp;quot;|&amp;quot;;&lt;br /&gt;
map[&amp;quot;｝&amp;quot;] = &amp;quot;}&amp;quot;;&lt;br /&gt;
map[&amp;quot;～&amp;quot;] = &amp;quot;~&amp;quot;;&lt;br /&gt;
map[&amp;quot;｡&amp;quot;] = &amp;quot;。&amp;quot;;&lt;br /&gt;
map[&amp;quot;｢&amp;quot;] = &amp;quot;「&amp;quot;;&lt;br /&gt;
map[&amp;quot;｣&amp;quot;] = &amp;quot;」&amp;quot;;&lt;br /&gt;
map[&amp;quot;､&amp;quot;] = &amp;quot;、&amp;quot;;&lt;br /&gt;
map[&amp;quot;･&amp;quot;] = &amp;quot;・&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｦ&amp;quot;] = &amp;quot;ヲ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｧ&amp;quot;] = &amp;quot;ァ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｨ&amp;quot;] = &amp;quot;ィ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｩ&amp;quot;] = &amp;quot;ゥ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｪ&amp;quot;] = &amp;quot;ェ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｫ&amp;quot;] = &amp;quot;ォ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｬ&amp;quot;] = &amp;quot;ャ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｭ&amp;quot;] = &amp;quot;ュ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｮ&amp;quot;] = &amp;quot;ョ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｯ&amp;quot;] = &amp;quot;ッ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｰ&amp;quot;] = &amp;quot;ー&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｱ&amp;quot;] = &amp;quot;ア&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｲ&amp;quot;] = &amp;quot;イ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｳ&amp;quot;] = &amp;quot;ウ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｴ&amp;quot;] = &amp;quot;エ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｵ&amp;quot;] = &amp;quot;オ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｶ&amp;quot;] = &amp;quot;カ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｷ&amp;quot;] = &amp;quot;キ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｸ&amp;quot;] = &amp;quot;ク&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｹ&amp;quot;] = &amp;quot;ケ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｺ&amp;quot;] = &amp;quot;コ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｶﾞ&amp;quot;] = &amp;quot;ガ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｷﾞ&amp;quot;] = &amp;quot;ギ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｸﾞ&amp;quot;] = &amp;quot;グ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｹﾞ&amp;quot;] = &amp;quot;ゲ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｺﾞ&amp;quot;] = &amp;quot;ゴ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｻ&amp;quot;] = &amp;quot;サ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｼ&amp;quot;] = &amp;quot;シ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｽ&amp;quot;] = &amp;quot;ス&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｾ&amp;quot;] = &amp;quot;セ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｿ&amp;quot;] = &amp;quot;ソ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｻﾞ&amp;quot;] = &amp;quot;ザ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｼﾞ&amp;quot;] = &amp;quot;ジ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｽﾞ&amp;quot;] = &amp;quot;ズ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｾﾞ&amp;quot;] = &amp;quot;ゼ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｿﾞ&amp;quot;] = &amp;quot;ゾ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾀ&amp;quot;] = &amp;quot;タ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾁ&amp;quot;] = &amp;quot;チ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾂ&amp;quot;] = &amp;quot;ツ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾃ&amp;quot;] = &amp;quot;テ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾄ&amp;quot;] = &amp;quot;ト&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾀﾞ&amp;quot;] = &amp;quot;ダ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾁﾞ&amp;quot;] = &amp;quot;ヂ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾂﾞ&amp;quot;] = &amp;quot;ヅ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾃﾞ&amp;quot;] = &amp;quot;デ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾄﾞ&amp;quot;] = &amp;quot;ド&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾅ&amp;quot;] = &amp;quot;ナ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾆ&amp;quot;] = &amp;quot;ニ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾇ&amp;quot;] = &amp;quot;ヌ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾈ&amp;quot;] = &amp;quot;ネ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾉ&amp;quot;] = &amp;quot;ノ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾊ&amp;quot;] = &amp;quot;ハ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾋ&amp;quot;] = &amp;quot;ヒ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾌ&amp;quot;] = &amp;quot;フ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾍ&amp;quot;] = &amp;quot;ヘ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾎ&amp;quot;] = &amp;quot;ホ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾊﾞ&amp;quot;] = &amp;quot;バ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾋﾞ&amp;quot;] = &amp;quot;ビ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾌﾞ&amp;quot;] = &amp;quot;ブ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾍﾞ&amp;quot;] = &amp;quot;ベ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾎﾞ&amp;quot;] = &amp;quot;ボ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾊﾟ&amp;quot;] = &amp;quot;パ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾋﾟ&amp;quot;] = &amp;quot;ピ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾌﾟ&amp;quot;] = &amp;quot;プ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾍﾟ&amp;quot;] = &amp;quot;ペ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾎﾟ&amp;quot;] = &amp;quot;ポ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾏ&amp;quot;] = &amp;quot;マ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾐ&amp;quot;] = &amp;quot;ミ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾑ&amp;quot;] = &amp;quot;ム&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾒ&amp;quot;] = &amp;quot;メ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾓ&amp;quot;] = &amp;quot;モ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾔ&amp;quot;] = &amp;quot;ヤ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾕ&amp;quot;] = &amp;quot;ユ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾖ&amp;quot;] = &amp;quot;ヨ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾗ&amp;quot;] = &amp;quot;ラ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾘ&amp;quot;] = &amp;quot;リ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾙ&amp;quot;] = &amp;quot;ル&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾚ&amp;quot;] = &amp;quot;レ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾛ&amp;quot;] = &amp;quot;ロ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾜ&amp;quot;] = &amp;quot;ワ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾝ&amp;quot;] = &amp;quot;ン&amp;quot;;&lt;br /&gt;
map[&amp;quot;ｳﾞ&amp;quot;] = &amp;quot;ヴ&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾞ&amp;quot;] = &amp;quot;゛&amp;quot;;&lt;br /&gt;
map[&amp;quot;ﾟ&amp;quot;] = &amp;quot;゜&amp;quot;;&lt;br /&gt;
var s1 = sel.Text;&lt;br /&gt;
var s2 = &amp;quot;&amp;quot;;&lt;br /&gt;
for (var i = 0; i &amp;lt; s1.length; i++) {&lt;br /&gt;
	if (i + 1 &amp;lt; s1.length) {&lt;br /&gt;
		var c = map[s1.substring(i, i + 2)];&lt;br /&gt;
		if (c) {&lt;br /&gt;
			s2 += c;&lt;br /&gt;
			i++;&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	var c = map[s1.substring(i, i + 1)];&lt;br /&gt;
	if (c) {&lt;br /&gt;
		s2 += c;&lt;br /&gt;
		continue;&lt;br /&gt;
	}&lt;br /&gt;
	s2 += s1.substring(i, i + 1);&lt;br /&gt;
}&lt;br /&gt;
sel.Text = s2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MSY-07 版 ==&lt;br /&gt;
機種依存文字を機種に依存しない文字に変換します。&lt;br /&gt;
&lt;br /&gt;
Kuro氏が作成した標準変換は2文字までしか変換することができないため、改造して10文字まで変換できるようにしました。なお、「j = 10」の値を変更すれば、11文字以上を変換することもできます。&lt;br /&gt;
&lt;br /&gt;
=== ソースコード ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#title = &amp;quot;標準変換&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;機種依存文字を機種に依存しない文字に変換します。&amp;quot;&lt;br /&gt;
/*&lt;br /&gt;
Copyright (c) MSY-07. All rights reserved.&lt;br /&gt;
Licensed under the MIT License.&lt;br /&gt;
*/&lt;br /&gt;
var sel = document.selection;&lt;br /&gt;
if (sel.Text == &amp;quot;&amp;quot;) {&lt;br /&gt;
	sel.SelectAll();&lt;br /&gt;
}&lt;br /&gt;
var map = new Array();&lt;br /&gt;
map[&amp;quot;Ⅰ&amp;quot;] = &amp;quot;I&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅱ&amp;quot;] = &amp;quot;II&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅲ&amp;quot;] = &amp;quot;III&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅳ&amp;quot;] = &amp;quot;IV&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅴ&amp;quot;] = &amp;quot;V&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅵ&amp;quot;] = &amp;quot;VI&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅶ&amp;quot;] = &amp;quot;VII&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅷ&amp;quot;] = &amp;quot;VIII&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅸ&amp;quot;] = &amp;quot;IX&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅹ&amp;quot;] = &amp;quot;X&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅺ&amp;quot;] = &amp;quot;XI&amp;quot;;&lt;br /&gt;
map[&amp;quot;Ⅻ&amp;quot;] = &amp;quot;XII&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅰ&amp;quot;] = &amp;quot;i&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅱ&amp;quot;] = &amp;quot;ii&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅲ&amp;quot;] = &amp;quot;iii&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅳ&amp;quot;] = &amp;quot;iv&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅴ&amp;quot;] = &amp;quot;v&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅵ&amp;quot;] = &amp;quot;vi&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅶ&amp;quot;] = &amp;quot;vii&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅷ&amp;quot;] = &amp;quot;viii&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅸ&amp;quot;] = &amp;quot;ix&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅹ&amp;quot;] = &amp;quot;x&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅺ&amp;quot;] = &amp;quot;xi&amp;quot;;&lt;br /&gt;
map[&amp;quot;ⅻ&amp;quot;] = &amp;quot;xii&amp;quot;;&lt;br /&gt;
map[&amp;quot;①&amp;quot;] = &amp;quot;(1)&amp;quot;;&lt;br /&gt;
map[&amp;quot;②&amp;quot;] = &amp;quot;(2)&amp;quot;;&lt;br /&gt;
map[&amp;quot;③&amp;quot;] = &amp;quot;(3)&amp;quot;;&lt;br /&gt;
map[&amp;quot;④&amp;quot;] = &amp;quot;(4)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑤&amp;quot;] = &amp;quot;(5)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑥&amp;quot;] = &amp;quot;(6)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑦&amp;quot;] = &amp;quot;(7)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑧&amp;quot;] = &amp;quot;(8)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑨&amp;quot;] = &amp;quot;(9)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑩&amp;quot;] = &amp;quot;(10)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑪&amp;quot;] = &amp;quot;(11)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑫&amp;quot;] = &amp;quot;(12)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑬&amp;quot;] = &amp;quot;(13)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑭&amp;quot;] = &amp;quot;(14)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑮&amp;quot;] = &amp;quot;(15)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑯&amp;quot;] = &amp;quot;(16)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑰&amp;quot;] = &amp;quot;(17)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑱&amp;quot;] = &amp;quot;(18)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑲&amp;quot;] = &amp;quot;(19)&amp;quot;;&lt;br /&gt;
map[&amp;quot;⑳&amp;quot;] = &amp;quot;(20)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉑&amp;quot;] = &amp;quot;(21)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉒&amp;quot;] = &amp;quot;(22)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉓&amp;quot;] = &amp;quot;(23)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉔&amp;quot;] = &amp;quot;(24)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉕&amp;quot;] = &amp;quot;(25)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉖&amp;quot;] = &amp;quot;(26)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉗&amp;quot;] = &amp;quot;(27)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉘&amp;quot;] = &amp;quot;(28)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉙&amp;quot;] = &amp;quot;(29)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉚&amp;quot;] = &amp;quot;(30)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉛&amp;quot;] = &amp;quot;(31)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉜&amp;quot;] = &amp;quot;(32)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉝&amp;quot;] = &amp;quot;(33)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉞&amp;quot;] = &amp;quot;(34)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㉟&amp;quot;] = &amp;quot;(35)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊱&amp;quot;] = &amp;quot;(36)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊲&amp;quot;] = &amp;quot;(37)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊳&amp;quot;] = &amp;quot;(38)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊴&amp;quot;] = &amp;quot;(39)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊵&amp;quot;] = &amp;quot;(40)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊶&amp;quot;] = &amp;quot;(41)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊷&amp;quot;] = &amp;quot;(42)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊸&amp;quot;] = &amp;quot;(43)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊹&amp;quot;] = &amp;quot;(44)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊺&amp;quot;] = &amp;quot;(45)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊻&amp;quot;] = &amp;quot;(46)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊼&amp;quot;] = &amp;quot;(47)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊽&amp;quot;] = &amp;quot;(48)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊾&amp;quot;] = &amp;quot;(49)&amp;quot;;&lt;br /&gt;
map[&amp;quot;㊿&amp;quot;] = &amp;quot;(50)&amp;quot;;&lt;br /&gt;
var s1 = sel.Text;&lt;br /&gt;
var s2 = &amp;quot;&amp;quot;;&lt;br /&gt;
for (var i = 0; i &amp;lt; s1.length;) {&lt;br /&gt;
	var matched = false;&lt;br /&gt;
	for (var j = 10; j &amp;gt;= 1; j--) {&lt;br /&gt;
		var c = map[s1.substring(i, i + j)];&lt;br /&gt;
		if (c) {&lt;br /&gt;
			s2 += c;&lt;br /&gt;
			i += j;&lt;br /&gt;
			matched = true;&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	if (!matched) {&lt;br /&gt;
		s2 += s1.charAt(i);&lt;br /&gt;
		i++;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
sel.Text = s2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%AF%94%E8%BC%83&amp;diff=8506</id>
		<title>ファイルを比較</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%AF%94%E8%BC%83&amp;diff=8506"/>
		<updated>2024-12-29T02:56:16Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: コピーライトを削除&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://winmergejp.bitbucket.io/ WinMerge] にファイルのパスを渡すだけです。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#title = &amp;quot;ファイルを比較&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;WinMergeにファイルのパスを渡します。&amp;quot;&lt;br /&gt;
&lt;br /&gt;
var path = &amp;quot;C:\\Program Files\\WinMerge\\WinMergeU.exe&amp;quot;;&lt;br /&gt;
if (editor.documents.Count &amp;lt; 2) {&lt;br /&gt;
    status = &amp;quot;比較するファイルがありません&amp;quot;;&lt;br /&gt;
    Quit();&lt;br /&gt;
}&lt;br /&gt;
status = document.Name + &amp;quot; と比較するファイルを選択します&amp;quot;;&lt;br /&gt;
var m = CreatePopupMenu();&lt;br /&gt;
var d = editor.documents;&lt;br /&gt;
for (i = 0; i &amp;lt; d.Count; i++) {&lt;br /&gt;
    var item = d.item(i);&lt;br /&gt;
    if (item.FullName == document.FullName) {&lt;br /&gt;
        continue;&lt;br /&gt;
    }&lt;br /&gt;
    var s;&lt;br /&gt;
    s = &amp;quot;\&amp;quot;&amp;quot; + document.Name + &amp;quot;\&amp;quot; と \&amp;quot;&amp;quot; + item.Name + &amp;quot;\&amp;quot; を比較する&amp;quot;;&lt;br /&gt;
    if (!item.Saved) {&lt;br /&gt;
        s = s + &amp;quot; *&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    m.Add(s, i + 1);&lt;br /&gt;
}&lt;br /&gt;
var r = m.Track(1);&lt;br /&gt;
if (r &amp;gt; 0) {&lt;br /&gt;
    var item = d.Item(r - 1);&lt;br /&gt;
    if (!item.Saved) {&lt;br /&gt;
        item.Save(item.FullName);&lt;br /&gt;
    }&lt;br /&gt;
    if (!document.Saved) {&lt;br /&gt;
        document.Save(document.FullName);&lt;br /&gt;
    }&lt;br /&gt;
    var s = &amp;quot;\&amp;quot;&amp;quot; + path + &amp;quot;\&amp;quot; \&amp;quot;&amp;quot; + document.FullName + &amp;quot;\&amp;quot; \&amp;quot;&amp;quot; + item.FullName + &amp;quot;\&amp;quot;&amp;quot;;&lt;br /&gt;
    status = s;&lt;br /&gt;
    var ws = new ActiveXObject(&amp;quot;WScript.Shell&amp;quot;);&lt;br /&gt;
    ws.Run(s);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E5%86%85%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%81%99%E3%81%B9%E3%81%A6%E9%96%8B%E3%81%8F&amp;diff=8505</id>
		<title>フォルダ内のファイルをすべて開く</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E5%86%85%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%81%99%E3%81%B9%E3%81%A6%E9%96%8B%E3%81%8F&amp;diff=8505"/>
		<updated>2024-12-29T02:55:47Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: コピーライトを削除&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;フォルダ内のファイルをすべて開きます。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// 対象の拡張子を定義(任意)&lt;br /&gt;
var r = new RegExp(&amp;quot;\.(txt|html|css)&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Mery本体のパスを取得&lt;br /&gt;
var mery = editor.FullName;&lt;br /&gt;
var application = new ActiveXObject(&amp;quot;Shell.Application&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// フォルダの参照ダイアログを表示&lt;br /&gt;
var folder = application.BrowseForFolder(0, &amp;quot;フォルダの参照&amp;quot;, 11, 0);&lt;br /&gt;
&lt;br /&gt;
// キャンセルの場合は終了&lt;br /&gt;
if (!folder) {&lt;br /&gt;
  Quit();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var shell = new ActiveXObject(&amp;quot;WScript.Shell&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
for (var e = new Enumerator(folder.Items()); !e.atEnd(); e.moveNext()) {&lt;br /&gt;
  var s = e.item().Path;&lt;br /&gt;
  if (s.match(r)) {&lt;br /&gt;
    shell.Exec(&amp;quot;\&amp;quot;&amp;quot; + mery + &amp;quot;\&amp;quot; \&amp;quot;&amp;quot; + s + &amp;quot;\&amp;quot;&amp;quot;);&lt;br /&gt;
    Sleep(40);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// 無題で未変更の場合は閉じる&lt;br /&gt;
if (document.FullName == &amp;quot;&amp;quot; &amp;amp;&amp;amp; document.Saved) {&lt;br /&gt;
    document.Close();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&amp;diff=8504</id>
		<title>マクロライブラリ</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&amp;diff=8504"/>
		<updated>2024-12-29T02:51:12Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: パスを取得 (Kuro) を削除&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mery 用のマクロ ライブラリです。&lt;br /&gt;
&lt;br /&gt;
スクリプトを拡張子 &amp;quot;js&amp;quot;（JavaScript、JScript の場合）にして Macros フォルダーなどに保存し、[マクロ] メニューの [選択] や [カスタマイズ] から読み込んで使用してください。&lt;br /&gt;
&lt;br /&gt;
このマクロ ライブラリはどなたでも自由に編集可能ですので、ご自身が開発した便利なマクロをどんどん共有してください。&lt;br /&gt;
&lt;br /&gt;
また、[[隠しオプション一覧]]に希望するオプションがあるかもしれませんので、そちらも参照してみてください。&lt;br /&gt;
&lt;br /&gt;
== テキスト操作補助 ==&lt;br /&gt;
* [https://github.com/haijinboys/mery-macro-emmet/blob/master/emmet.js Emmet] (Kuro)&lt;br /&gt;
* [[Zen Coding]] (Kuro)&lt;br /&gt;
* [[バイト数]] (Kuro, Ks)&lt;br /&gt;
* [[日付と時刻を挿入]] (N, Masme, Isari)&lt;br /&gt;
* [[日付と時刻を挿入（カレンダー版）]] (Papagoat)&lt;br /&gt;
* [[選択範囲を上下に移動]] (Ks)&lt;br /&gt;
* [[TeraPadのCtrl↑と同じような動作をするマクロ]] (Suke)&lt;br /&gt;
* [[TeraPadのCtrl↓と同じような動作をするマクロ]] (Suke)&lt;br /&gt;
* [[Vz 風テキストスタック 2 ストロークキー]] (Papagoat)&lt;br /&gt;
* [[ラクラク罫線]] (手石)&lt;br /&gt;
* [[XHTML入力補助]] (アラフォー親父)&lt;br /&gt;
* [[矩形ペースト]] (手石)&lt;br /&gt;
* [[自動箇条書き]] (手石)&lt;br /&gt;
* [[青空文庫用整形補助]] (Ks, 急急如律令)&lt;br /&gt;
* [[部分編集]] (Ks)&lt;br /&gt;
* [[文字カウント]] (Masme)&lt;br /&gt;
* [[字下げ・字上げ]] (Masme)&lt;br /&gt;
* [[数値を増減]] (Masme)&lt;br /&gt;
* [[自動ルビ振り]] (急急如律令)&lt;br /&gt;
* [[貼付け実行後のカーソル位置を貼付け文字列の先頭にする]] (yuko)&lt;br /&gt;
* [[ドイツ語特殊文字]] (鯉)&lt;br /&gt;
* [[文章で使用されている文字をユニーク抽出]] (Kuro)&lt;br /&gt;
* [[アウトライン用ノード追加]] (Mik)&lt;br /&gt;
* [[アウトラインのノードレベルを上げる]] (Mik)&lt;br /&gt;
* [[アウトラインのノードレベルを下げる]] (Mik)&lt;br /&gt;
* [[アウトラインのノードの完了/未完了を切り替える]] (Mik)&lt;br /&gt;
* [[ハルナアウトライン用の完了/未完了フラグをノード名に反映する]] (Mik)&lt;br /&gt;
* [[Markdown文書で改行時にリスト、引用ブロック開始記号を自動入力する]] (Catfist, yuko)&lt;br /&gt;
* [[Markdown 向け、リスト記号 (*) のトグル]] (yuko)&lt;br /&gt;
* [[Markdown 向け、タスクリスト (* ［］) のチェック状態をトグル]] (yuko)&lt;br /&gt;
* [[Markdown入力補助]] (急急如律令)&lt;br /&gt;
* [[何年生で習う漢字？]] (シリル)&lt;br /&gt;
* [[上に行挿入]] (yuko)&lt;br /&gt;
* [[選択範囲を広げる]] (yuko)&lt;br /&gt;
* [[選択した文字列を文書からすべて削除]] (Noah)&lt;br /&gt;
* [[CSV のカーソル位置の列を削除]] (MSY-07)&lt;br /&gt;
* [[特殊改行]] (FuG)&lt;br /&gt;
&lt;br /&gt;
== ファイル操作補助 ==&lt;br /&gt;
* [[フォルダ内のファイルをすべて開く]] (Kuro)&lt;br /&gt;
* [[ファイルを比較]] (Kuro)&lt;br /&gt;
* [[ファイル名を引数にしてアプリ起動]] (Kuro, Miso)&lt;br /&gt;
* [[文字列中のパス起動]] (Ks)&lt;br /&gt;
* [[パス・URLを開く コマンドを実行する]] (yuko)&lt;br /&gt;
* [[開いている文書のファイル名を変更する]] (yuko)&lt;br /&gt;
* [[上書き保存(UAC対応)]] (Ks)&lt;br /&gt;
* [[含んでいるフォルダを開く]] (Ks)&lt;br /&gt;
* [[ブックマーク一覧ジャンプ]] (Goat)&lt;br /&gt;
* [[拡張子の違うファイルを開く]] (N)&lt;br /&gt;
* [[フォルダを開く]] (N)&lt;br /&gt;
* [[コマンドプロンプトを開く]] (N)&lt;br /&gt;
* [[よく使うフォルダ]] (手石)&lt;br /&gt;
* [[ファイル（選択範囲）の仮保存]] (手石)&lt;br /&gt;
* [[ポップアップメニューでファイル選択]] (手石)&lt;br /&gt;
* [[フォルダツリーをポップアップ表示]] (N)&lt;br /&gt;
* [[タグジャンプ]] (O)&lt;br /&gt;
* [[ウィンドウの位置とサイズを拡張子で指定]] (Papagoat)&lt;br /&gt;
* [[編集モードの自動選択]] (Bleat)&lt;br /&gt;
* [[書き換え禁止モード色反転]] (Bleat)&lt;br /&gt;
* [[変更なしのタブをすべて閉じる]] (Noah)&lt;br /&gt;
&lt;br /&gt;
== 変換・ソート・整形 ==&lt;br /&gt;
* [[標準変換]] (Kuro, MSY-07)&lt;br /&gt;
* [[テキスト変換]] (Ks)&lt;br /&gt;
* [[テキスト整形]] (Masme)&lt;br /&gt;
* [[旧漢字から新漢字に変換]] (Furu)&lt;br /&gt;
* [[Wikipediaマークアップ修正]] (MSY-07)&lt;br /&gt;
* [[SHA でハッシュ化]] (Kuro)&lt;br /&gt;
* [[ブックマーク系コマンド集]] (Ks)&lt;br /&gt;
* [[clustalw を用いてアライメントを実行]] (Suke)&lt;br /&gt;
* [[clustal-omegaを用いてアライメントを実行]] (Suke)&lt;br /&gt;
* [[連番の挿入]] (手石)&lt;br /&gt;
* [[可変長を固定長に変換]] (MSY-07)&lt;br /&gt;
* [[TSV(CSV) ⇒ 固定長]] (手石)&lt;br /&gt;
* [[行並べ替え]] (Masme)&lt;br /&gt;
* [[連番を挿入]] (Masme)&lt;br /&gt;
* [[GFMをHTMLに変換]] (Noonworks)&lt;br /&gt;
* [[基数変換10 16]] (シリル)&lt;br /&gt;
* [[スネークケース ⇔ キャメルケースの変換]] (Noah)&lt;br /&gt;
* [[マルチカーソルに連番を入力]] (yuko)&lt;br /&gt;
* [[自然数ソート]] (Tak)&lt;br /&gt;
&lt;br /&gt;
== 検索・置換 ==&lt;br /&gt;
* [[文書から検索]] (Kuro)&lt;br /&gt;
* [[単語を抽出]] (Kuro)&lt;br /&gt;
* [[タグの外側（内側）だけ置換]] (手石)&lt;br /&gt;
* [[ポップアップメニューで検索先にジャンプ]] (手石)&lt;br /&gt;
* [[検索(SJIS以外)]] (Masme)&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/blob/master/SearchWithMode.js 現在開いているファイルの言語名をつけてWeb検索] (高見知英)&lt;br /&gt;
* [https://github.com/GunseiKPaseri/Mery_macro/blob/master/count.js 文字出現量ランキング] (群生系パセリ)&lt;br /&gt;
* [[検索ヒット数表示]] (Ks)&lt;br /&gt;
* [[任意の検索エンジンで検索ー改良版]] (Takeshi)&lt;br /&gt;
* [[デフォルトの検索フラグを設定して検索ウィンドウ表示]] (yuko)&lt;br /&gt;
* [[複数置換]] (Noah)&lt;br /&gt;
* [[類義語アウトプット【Python】]] (シリル)&lt;br /&gt;
* [[校正支援アウトプット]] (シリル)&lt;br /&gt;
* [[見出しジャンプ]] (yuko)&lt;br /&gt;
* [[CSV/TSVでアクティブ列選択]] (yuko)&lt;br /&gt;
&lt;br /&gt;
== プログラミング補助 ==&lt;br /&gt;
* [[Eclipse風コメントアウト]] (Ks)&lt;br /&gt;
* [[Eclipse風コメントアウト(改)]] (Pizz)&lt;br /&gt;
* [[コメントマーク付け外し]] (手石, Masme)&lt;br /&gt;
* [[スマートインデント(C 構文)]] (Ks)&lt;br /&gt;
* [[ctags.exeでtagsファイルを生成、タグジャンプを行うマクロ]] (Kazy)&lt;br /&gt;
* [[タグファイルから補完]] (N)&lt;br /&gt;
* [[コードスニペットもどき]] (手石)&lt;br /&gt;
* [[TeX文書のコンパイル]] (手石, Isari)&lt;br /&gt;
* [[TeX数式のチェック]] (手石)&lt;br /&gt;
* [[簡易数式計算]] (Ks)&lt;br /&gt;
* [[定義へ移動]] (Ks)&lt;br /&gt;
* [[タブの桁数]] (手石)&lt;br /&gt;
* [[行末の空白を削除]] (N)&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/blob/master/FileExecutor.js 開いているスクリプトファイルを実行] (高見知英)&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/blob/master/SyntaxChecker.js 開いているスクリプトファイルを構文チェック] (高見知英)&lt;br /&gt;
* [[説明を出力]] (S)&lt;br /&gt;
* [[JSON整形]] (Ovis)&lt;br /&gt;
* [[拡張子からコンソール実行]] (YOS G-spec)&lt;br /&gt;
* [[ScriptRun]] (Fuka)&lt;br /&gt;
* [[JavaScript を実行]] (N)&lt;br /&gt;
* [[Ruby を実行]] (N)&lt;br /&gt;
* [[HSPキーワード検索]] (SSSE)&lt;br /&gt;
&lt;br /&gt;
== おもしろ ==&lt;br /&gt;
* [[メール送信]] (Ks)&lt;br /&gt;
* [[あつまれ☆みんなのおもしろアイコン]] (シリル)&lt;br /&gt;
* [[テーマのトグル]] (Ucky)&lt;br /&gt;
* [[お気に入りフォント]] (Ucky)&lt;br /&gt;
* [[Google Gemini に相談]] (yuko)&lt;br /&gt;
* [[OpenAI GPT に相談]] (yuko)&lt;br /&gt;
* [[Google Gemini で執筆支援]] (Kuro)&lt;br /&gt;
&lt;br /&gt;
== その他 ==&lt;br /&gt;
* [[最新版を確認]] (Diaphragm)&lt;br /&gt;
* [[SAPI 使って単語読み上げ]] (Miso)&lt;br /&gt;
* [[フォルダ選択ダイアログ]] (手石)&lt;br /&gt;
* [[HTA(HTML)の自作ダイアログを表示]] (Noonworks)&lt;br /&gt;
* [[ポップアップメニューを手軽に扱う]] (Komorebikoboshi)&lt;br /&gt;
* [[マクロ・関数をメニューで呼び出す]] (Aliquis)&lt;br /&gt;
* [[階層化マクロメニュー]] (Ks)&lt;br /&gt;
* [[シェルコマンドを実行]] (Sasaki)&lt;br /&gt;
* [[ポップアップメニューでチェックボックス]] (手石)&lt;br /&gt;
* [[ポップアップメニューでラジオボタン]] (手石)&lt;br /&gt;
* [[Editor.OpenFile()のポリフィル]] (Kazy)&lt;br /&gt;
* [[折り返しトグル切り替え]] (Bleat)&lt;br /&gt;
* [[Beep音の例]] (Star0worshipper)&lt;br /&gt;
* [[ブラウザ風タブ移動]] (yuko)&lt;br /&gt;
* [[タブ位置を先頭/末尾に移動]] (yuko)&lt;br /&gt;
&lt;br /&gt;
== 開発者向け ==&lt;br /&gt;
* [[キーアサイン集]] (Ks, Masme, Isari)&lt;br /&gt;
* [[includeライブラリ]] (Ks)&lt;br /&gt;
* [[マクロ覚え書き（開発者向け）]] (Ks, Papagoat)&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
[https://www.haijin-boys.com/software/mery/mery-2-6-6#5 Mery Ver 2.6.6]以前に作成されたマクロが動作しない場合は下記のページを参照してください。&lt;br /&gt;
&lt;br /&gt;
* [https://www.haijin-boys.com/wiki/%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9:3:%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96##language マクロリファレンス:3:ディレクティブ]&lt;br /&gt;
* [https://www.haijin-boys.com/discussions/6929 公式のマクロ 箇条書きが最新メリーで動作するかチェックいただけませんか？]&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%90%E3%82%A4%E3%83%88%E6%95%B0&amp;diff=8503</id>
		<title>バイト数</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%90%E3%82%A4%E3%83%88%E6%95%B0&amp;diff=8503"/>
		<updated>2024-12-29T02:44:56Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: with の仕様を中止。コピーライトの削除&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kuro 版 ==&lt;br /&gt;
編集中の文書のバイト数をステータスバーに表示します。半角文字は1バイト、全角文字は2バイトとして計算します。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var s = document.selection.Text;&lt;br /&gt;
if (s == &amp;quot;&amp;quot;) {&lt;br /&gt;
	s = document.Text;&lt;br /&gt;
}&lt;br /&gt;
var j = 0;&lt;br /&gt;
var l = s.length;&lt;br /&gt;
for (var i = 0; i &amp;lt; l; i++) {&lt;br /&gt;
	var c = s.charCodeAt(i);&lt;br /&gt;
	if ((c &amp;gt;= 0x0 &amp;amp;&amp;amp; c &amp;lt; 0x81) || (c == 0xf8f0) ||&lt;br /&gt;
		(c &amp;gt;= 0xff61 &amp;amp;&amp;amp; c &amp;lt; 0xffa0) || (c &amp;gt;= 0xf8f1 &amp;amp;&amp;amp; c &amp;lt; 0xf8f4)) {&lt;br /&gt;
		j += 1;&lt;br /&gt;
	} else {&lt;br /&gt;
		j += 2;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
window.status = (&amp;quot;&amp;quot; + j).match(/./g).reverse().join(&amp;quot;&amp;quot;)&lt;br /&gt;
	.replace(/(\d{3})/g, &amp;quot;$1,&amp;quot;).match(/./g)&lt;br /&gt;
	.reverse().join(&amp;quot;&amp;quot;).replace(/^,/, &amp;quot;&amp;quot;) + &amp;quot; バイト&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ks 版 ==&lt;br /&gt;
文字コードを指定、または取得してバイト数を計算します。&lt;br /&gt;
&lt;br /&gt;
=== オプション ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!encoding&lt;br /&gt;
|文字コード指定。&amp;lt;br&amp;gt;空の場合はそのドキュメントの文字モード。&amp;lt;br&amp;gt;sjis のように直接指定すれば常にその文字コードで計算。&lt;br /&gt;
|-&lt;br /&gt;
!CRLF&lt;br /&gt;
|改行コードの指定。&amp;lt;br&amp;gt;CR + LF の場合は true。&amp;lt;br&amp;gt;CR または LF の場合は false。&lt;br /&gt;
|-&lt;br /&gt;
!BOM&lt;br /&gt;
|BOM コード分を加算するかの指定。&amp;lt;br&amp;gt;BOM 分を加算するときは true（保存したファイルのサイズと一致します）。&amp;lt;br&amp;gt;BOM 分を加算しない場合は false。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== ソースコード ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
var encoding = &amp;quot;&amp;quot;;  // 指定時はその文字コード。&lt;br /&gt;
var CRLF = true;    // 改行コードが CRLF なら true。そうでないなら false。&lt;br /&gt;
var BOM = true;     // BOM を考慮する場合は true。考慮しない場合は false。&lt;br /&gt;
&lt;br /&gt;
var charset = &amp;quot;&amp;quot;;&lt;br /&gt;
var s = Document.Selection.IsEmpty ? Document.Text : Document.Selection.Text;&lt;br /&gt;
s = CRLF ? s.replace(/\r?\n/g, &amp;quot;\r\n&amp;quot;) : s;&lt;br /&gt;
if (!encoding) {&lt;br /&gt;
  switch (Document.Encoding){&lt;br /&gt;
    case meEncodingUTF16LE:&lt;br /&gt;
    case meEncodingUTF16BE:               WriteBytes(s.length * 2 + (BOM?2:0)); Quit();&lt;br /&gt;
    case meEncodingUTF8WithSignature:&lt;br /&gt;
    case meEncodingUTF8WithoutSignature:  charset = &amp;quot;utf-8&amp;quot;;        break;&lt;br /&gt;
    case meEncodingUTF7:                  charset = &amp;quot;utf-7&amp;quot;;        break;&lt;br /&gt;
    case meEncodingEUC:                   charset = &amp;quot;euc-jp&amp;quot;;       break;&lt;br /&gt;
    case meEncodingJIS:                   charset = &amp;quot;iso-2022-jp&amp;quot;;  break;&lt;br /&gt;
    case meEncodingShiftJIS:              charset = &amp;quot;sjis&amp;quot;;         break;&lt;br /&gt;
  }&lt;br /&gt;
} else {&lt;br /&gt;
  charset = encoding;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var adodb = new ActiveXObject(&#039;ADODB.Stream&#039;);&lt;br /&gt;
adodb.Type = 2;&lt;br /&gt;
adodb.Charset = charset;&lt;br /&gt;
adodb.Open();&lt;br /&gt;
adodb.WriteText(s);&lt;br /&gt;
var bytes = adodb.Position;&lt;br /&gt;
adodb.Close();&lt;br /&gt;
&lt;br /&gt;
if (!encoding &amp;amp;&amp;amp; (Document.Encoding == meEncodingUTF8WithoutSignature || (!BOM &amp;amp;&amp;amp; Document.Encoding == meEncodingUTF8WithSignature))) {&lt;br /&gt;
  bytes -= 3;&lt;br /&gt;
}&lt;br /&gt;
WriteBytes(bytes);&lt;br /&gt;
function WriteBytes(bytes){&lt;br /&gt;
  Status = String(bytes).split(&amp;quot;&amp;quot;).reverse().join(&amp;quot;&amp;quot;).replace(/(\d{3})/g, &amp;quot;$1,&amp;quot;).split(&amp;quot;&amp;quot;).reverse().join(&amp;quot;&amp;quot;).replace(/^,/, &amp;quot;&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=Google_Gemini_%E3%81%A7%E5%9F%B7%E7%AD%86%E6%94%AF%E6%8F%B4&amp;diff=8308</id>
		<title>Google Gemini で執筆支援</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=Google_Gemini_%E3%81%A7%E5%9F%B7%E7%AD%86%E6%94%AF%E6%8F%B4&amp;diff=8308"/>
		<updated>2024-11-26T13:35:16Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: ページの作成:「__NOTOC__ == 概要 ==  Google の生成 AI「Gemini」を活用した V8 マクロのサンプルです。  テキストを選択した状態でマクロを実行すると、Gemini が文章作成をサポートします。  == 注意事項 ==  * Mery Ver 3.7.8 以上で動作します。 * Google AI Studio で [https://ai.google.dev/gemini-api/docs/api-key?hl=ja Gemini API キー]を取得してください。 * Gemini API の特性上、送信した文字列が A…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== 概要 ==&lt;br /&gt;
&lt;br /&gt;
Google の生成 AI「Gemini」を活用した V8 マクロのサンプルです。&lt;br /&gt;
&lt;br /&gt;
テキストを選択した状態でマクロを実行すると、Gemini が文章作成をサポートします。&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
&lt;br /&gt;
* Mery Ver 3.7.8 以上で動作します。&lt;br /&gt;
* Google AI Studio で [https://ai.google.dev/gemini-api/docs/api-key?hl=ja Gemini API キー]を取得してください。&lt;br /&gt;
* Gemini API の特性上、送信した文字列が AI の学習に利用される可能性があります。機密情報やプライバシーに関わる内容は送信しないでください。&lt;br /&gt;
* 本マクロを登録することで、選択したテキストが Google Gemini に送信され処理されることに同意したものとみなします。データの取り扱いについては、Google Gemini の[https://support.google.com/gemini?p=privacy_help 利用規約およびプライバシーポリシー]を必ずご確認ください。&lt;br /&gt;
* 2024年11月26日時点で無料の Gemini API を使用しています。ただし、将来の仕様変更や設定ミスにより費用が発生しても、作者は責任を負いません。&lt;br /&gt;
&lt;br /&gt;
== 使い方 ==&lt;br /&gt;
&lt;br /&gt;
* 環境変数の設定&lt;br /&gt;
:コマンド プロンプトで以下のコマンドを実行し、環境変数を設定してください。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bat&amp;quot;&amp;gt;&lt;br /&gt;
setx GOOGLE_API_KEY &amp;quot;***************************************&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:設定後、Mery または Windows の再起動が必要な場合があります。&lt;br /&gt;
* マクロの実行&lt;br /&gt;
** テキストを選択し、マクロを実行するとポップアップ メニューが表示されます。&lt;br /&gt;
** [やわらかく書き換えて] や [要約して] など、相談したい内容を選択すると、Gemini API に送信され、結果が出力されます。&lt;br /&gt;
&lt;br /&gt;
=== ソースコード (AskGemini.js) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#language = &amp;quot;v8&amp;quot;&lt;br /&gt;
#title = &amp;quot;Gemini で執筆支援&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;選択範囲を Google Gemini に相談します。&amp;quot;&lt;br /&gt;
/*&lt;br /&gt;
1. 環境変数の設定&lt;br /&gt;
マクロを使用する前に、コマンド プロンプトで以下の環境変数を設定してください。&lt;br /&gt;
setx GOOGLE_API_KEY &amp;quot;***************************************&amp;quot;&lt;br /&gt;
&lt;br /&gt;
2. データ利用についての同意&lt;br /&gt;
マクロを登録することにより、文書内のテキスト データが Google Gemini に送信され、処理されることに同意したものとみなします。データの取り扱いやプライバシーに関する詳細は、Google Gemini の利用規約およびプライバシーポリシーをご確認ください。&lt;br /&gt;
https://support.google.com/gemini?p=privacy_help&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// [出力] 0: 選択範囲の後, 1: 新規文書, 2: アウトプット バー&lt;br /&gt;
const output = 0;&lt;br /&gt;
async function callGemini(apiKey, promptText) {&lt;br /&gt;
	try {&lt;br /&gt;
		const response = await fetch(&amp;quot;https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent?key=&amp;quot; + apiKey, {&lt;br /&gt;
			method: &amp;quot;POST&amp;quot;,&lt;br /&gt;
			headers: {&lt;br /&gt;
				&amp;quot;Content-Type&amp;quot;: &amp;quot;application/json&amp;quot;,&lt;br /&gt;
			},&lt;br /&gt;
			body: JSON.stringify({&lt;br /&gt;
				&amp;quot;contents&amp;quot;: [{&lt;br /&gt;
					&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
					&amp;quot;parts&amp;quot;: [{&lt;br /&gt;
						&amp;quot;text&amp;quot;: promptText&lt;br /&gt;
					}],&lt;br /&gt;
				}],&lt;br /&gt;
			}),&lt;br /&gt;
		});&lt;br /&gt;
		if (!response.ok) {&lt;br /&gt;
			alert(await response.text());&lt;br /&gt;
			Quit();&lt;br /&gt;
		}&lt;br /&gt;
		const responseObj = await response.json();&lt;br /&gt;
		if (!responseObj.candidates || responseObj.candidates.length === 0) {&lt;br /&gt;
			alert(&amp;quot;candidates が見つかりませんでした。&amp;quot;);&lt;br /&gt;
			Quit();&lt;br /&gt;
		}&lt;br /&gt;
		return responseObj.candidates[0].content.parts[0].text;&lt;br /&gt;
	} catch (error) {&lt;br /&gt;
		alert(error.message);&lt;br /&gt;
		Quit();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
async function main() {&lt;br /&gt;
	const prefix = &amp;quot;次の文章を&amp;quot;;&lt;br /&gt;
	const rewrite = &amp;quot;書き換え&amp;quot;;&lt;br /&gt;
	const rewrites = [&lt;br /&gt;
		&amp;quot;やわらかく書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;フォーマルに書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;エモーショナルに書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;わかりやすく書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;簡潔に書き換えて&amp;quot;,&lt;br /&gt;
		&amp;quot;バズるように書き換えて&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const actions = [&lt;br /&gt;
		&amp;quot;要約して&amp;quot;,&lt;br /&gt;
		&amp;quot;3 行にまとめて&amp;quot;,&lt;br /&gt;
		&amp;quot;SNS の投稿用にまとめて&amp;quot;,&lt;br /&gt;
		&amp;quot;文末のまとめを書いて&amp;quot;,&lt;br /&gt;
		&amp;quot;-&amp;quot;,&lt;br /&gt;
		&amp;quot;もっと読まれるようにして&amp;quot;,&lt;br /&gt;
		&amp;quot;間違いを見つけて&amp;quot;,&lt;br /&gt;
		&amp;quot;反対意見を書いて&amp;quot;,&lt;br /&gt;
		&amp;quot;炎上しないように確認して&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const translate = &amp;quot;翻訳&amp;quot;;&lt;br /&gt;
	const translates = [&lt;br /&gt;
		&amp;quot;日本語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;英語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;中国語に翻訳して&amp;quot;,&lt;br /&gt;
		&amp;quot;韓国語に翻訳して&amp;quot;&lt;br /&gt;
	];&lt;br /&gt;
	const ask = &amp;quot;くわしく相談...&amp;quot;;&lt;br /&gt;
	const send = &amp;quot;そのまま送信&amp;quot;;&lt;br /&gt;
	const apiKey = shell.getEnv(&amp;quot;GOOGLE_API_KEY&amp;quot;);&lt;br /&gt;
	if (!apiKey) {&lt;br /&gt;
		alert(&amp;quot;API キーが設定されていません。&amp;quot;);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	let sel = document.selection;&lt;br /&gt;
	let text = sel.Text;&lt;br /&gt;
	if (text.length === 0) {&lt;br /&gt;
		alert(&amp;quot;テキストが選択されていません。&amp;quot;);&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
	const menu = CreatePopupMenu();&lt;br /&gt;
	const submenu = CreatePopupMenu();&lt;br /&gt;
	const submenu2 = CreatePopupMenu();&lt;br /&gt;
	const askCommandId = 1001;&lt;br /&gt;
	const sendCommandId = 1002;&lt;br /&gt;
	let commandId = 0;&lt;br /&gt;
	for (let i = 0; i &amp;lt; rewrites.length; ++i) {&lt;br /&gt;
		submenu.Add(rewrites[i], ++commandId);&lt;br /&gt;
	}&lt;br /&gt;
	menu.AddPopup(rewrite, submenu);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	for (let i = 0; i &amp;lt; actions.length; ++i) {&lt;br /&gt;
		if (actions[i] === &amp;quot;-&amp;quot;) {&lt;br /&gt;
			menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
		} else {&lt;br /&gt;
			menu.Add(actions[i], ++commandId);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	for (let i = 0; i &amp;lt; translates.length; ++i) {&lt;br /&gt;
		submenu2.Add(translates[i], ++commandId);&lt;br /&gt;
	}&lt;br /&gt;
	menu.AddPopup(translate, submenu2);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	menu.Add(ask, askCommandId);&lt;br /&gt;
	menu.Add(&amp;quot;&amp;quot;, 0, meMenuSeparator);&lt;br /&gt;
	menu.Add(send, sendCommandId);&lt;br /&gt;
	const result = menu.Track(mePosMouse);&lt;br /&gt;
	if (result !== 0) {&lt;br /&gt;
		let promptText = &amp;quot;&amp;quot;;&lt;br /&gt;
		if (result === askCommandId) {&lt;br /&gt;
			promptText = prompt(&amp;quot;Gemini に相談(&amp;amp;A)&amp;quot;, &amp;quot;校正してください。&amp;quot;, mePromptMultiline).substring(0, 65530);&lt;br /&gt;
			if (promptText.length === 0) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
		} else if (result !== sendCommandId) {&lt;br /&gt;
			promptText = menu.GetText(result);&lt;br /&gt;
		}&lt;br /&gt;
		if (promptText.length !== 0 || text.length !== 0) {&lt;br /&gt;
			if (promptText.length === 0) {&lt;br /&gt;
				promptText = text;&lt;br /&gt;
			} else if (text.length !== 0) {&lt;br /&gt;
				promptText = prefix + promptText + &amp;quot;:\n&amp;quot; + text;&lt;br /&gt;
			}&lt;br /&gt;
			shell.KeepRunning = true;&lt;br /&gt;
			status = &amp;quot;Gemini に相談しています...&amp;quot;;&lt;br /&gt;
			try {&lt;br /&gt;
				const response = await callGemini(apiKey, promptText);&lt;br /&gt;
				switch (output) {&lt;br /&gt;
					case 1:&lt;br /&gt;
						editor.NewFile();&lt;br /&gt;
						editor.ActiveDocument.write(response);&lt;br /&gt;
						break;&lt;br /&gt;
					case 2:&lt;br /&gt;
						outputBar.writeln(response);&lt;br /&gt;
						outputBar.Visible = true;&lt;br /&gt;
						break;&lt;br /&gt;
					default:&lt;br /&gt;
						BeginUndoGroup();&lt;br /&gt;
						try {&lt;br /&gt;
							sel.CharRight();&lt;br /&gt;
							sel.EndOfLine(false, mePosLogical);&lt;br /&gt;
							sel.NewLine();&lt;br /&gt;
							sel.Text = &amp;quot;\n---\n\n&amp;quot; + response.trim() + &amp;quot;\n\n---\n&amp;quot;;&lt;br /&gt;
						} finally {&lt;br /&gt;
							EndUndoGroup();&lt;br /&gt;
						}&lt;br /&gt;
						break;&lt;br /&gt;
				}&lt;br /&gt;
			} catch (error) {&lt;br /&gt;
				console.log(&amp;quot;Gemini API エラー: &amp;quot;, error);&lt;br /&gt;
			} finally {&lt;br /&gt;
				status = &amp;quot;&amp;quot;;&lt;br /&gt;
				shell.KeepRunning = false;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
main();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== カスタマイズ ==&lt;br /&gt;
* ソースコードの最初の部分で、output の値を変更することで、Gemini の結果をどこに出力するかを選択できます。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
// [出力] 0: 選択範囲の後, 1: 新規文書, 2: アウトプット バー&lt;br /&gt;
const output = 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Gemini へのアクションは、ソースコードの中ほどで actions などの定数に定義されています。文字列を変更または追加することで、お好みのアクションを定義できます。&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const actions = [&lt;br /&gt;
	&amp;quot;要約して&amp;quot;,&lt;br /&gt;
	&amp;quot;3 行にまとめて&amp;quot;,&lt;br /&gt;
	&amp;quot;SNS の投稿用にまとめて&amp;quot;,&lt;br /&gt;
	&amp;quot;文末のまとめを書いて&amp;quot;,&lt;br /&gt;
	&amp;quot;-&amp;quot;,&lt;br /&gt;
	&amp;quot;もっと読まれるようにして&amp;quot;,&lt;br /&gt;
	&amp;quot;間違いを見つけて&amp;quot;,&lt;br /&gt;
	&amp;quot;反対意見を書いて&amp;quot;,&lt;br /&gt;
	&amp;quot;炎上しないように確認して&amp;quot;&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== スペシャルサンクス ==&lt;br /&gt;
&lt;br /&gt;
本マクロは、yuko さんが作成された「[[Google Gemini に相談]]」マクロにインスパイアされ、Mery のあまり使われていないと思われる V8 マクロ機能を使って実装したサンプルです。yuko さんの素晴らしいアイデアに感謝し、このマクロをお届けします。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&amp;diff=8307</id>
		<title>マクロライブラリ</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&amp;diff=8307"/>
		<updated>2024-11-26T12:36:44Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* おもしろ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mery 用のマクロ ライブラリです。&lt;br /&gt;
&lt;br /&gt;
スクリプトを拡張子 &amp;quot;js&amp;quot;（JavaScript、JScript の場合）にして Macros フォルダーなどに保存し、[マクロ] メニューの [選択] や [カスタマイズ] から読み込んで使用してください。&lt;br /&gt;
&lt;br /&gt;
このマクロ ライブラリはどなたでも自由に編集可能ですので、ご自身が開発した便利なマクロをどんどん共有してください。&lt;br /&gt;
&lt;br /&gt;
また、[[隠しオプション一覧]]に希望するオプションがあるかもしれませんので、そちらも参照してみてください。&lt;br /&gt;
&lt;br /&gt;
== テキスト操作補助 ==&lt;br /&gt;
* [https://github.com/haijinboys/mery-macro-emmet/blob/master/emmet.js Emmet] (Kuro)&lt;br /&gt;
* [[Zen Coding]] (Kuro)&lt;br /&gt;
* [[バイト数]] (Kuro, Ks)&lt;br /&gt;
* [[日付と時刻を挿入]] (N, Masme, Isari)&lt;br /&gt;
* [[日付と時刻を挿入（カレンダー版）]] (Papagoat)&lt;br /&gt;
* [[選択範囲を上下に移動]] (Ks)&lt;br /&gt;
* [[TeraPadのCtrl↑と同じような動作をするマクロ]] (Suke)&lt;br /&gt;
* [[TeraPadのCtrl↓と同じような動作をするマクロ]] (Suke)&lt;br /&gt;
* [[Vz 風テキストスタック 2 ストロークキー]] (Papagoat)&lt;br /&gt;
* [[ラクラク罫線]] (手石)&lt;br /&gt;
* [[XHTML入力補助]] (アラフォー親父)&lt;br /&gt;
* [[矩形ペースト]] (手石)&lt;br /&gt;
* [[自動箇条書き]] (手石)&lt;br /&gt;
* [[青空文庫用整形補助]] (Ks, 急急如律令)&lt;br /&gt;
* [[部分編集]] (Ks)&lt;br /&gt;
* [[文字カウント]] (Masme)&lt;br /&gt;
* [[字下げ・字上げ]] (Masme)&lt;br /&gt;
* [[数値を増減]] (Masme)&lt;br /&gt;
* [[自動ルビ振り]] (急急如律令)&lt;br /&gt;
* [[貼付け実行後のカーソル位置を貼付け文字列の先頭にする]] (Yuko)&lt;br /&gt;
* [[ドイツ語特殊文字]] (鯉)&lt;br /&gt;
* [[文章で使用されている文字をユニーク抽出]] (Kuro)&lt;br /&gt;
* [[アウトライン用ノード追加]] (Mik)&lt;br /&gt;
* [[アウトラインのノードレベルを上げる]] (Mik)&lt;br /&gt;
* [[アウトラインのノードレベルを下げる]] (Mik)&lt;br /&gt;
* [[アウトラインのノードの完了/未完了を切り替える]] (Mik)&lt;br /&gt;
* [[ハルナアウトライン用の完了/未完了フラグをノード名に反映する]] (Mik)&lt;br /&gt;
* [[Markdown文書で改行時にリスト、引用ブロック開始記号を自動入力する]] (Catfist, Yuko)&lt;br /&gt;
* [[Markdown 向け、リスト記号 (*) のトグル]] (Yuko)&lt;br /&gt;
* [[Markdown 向け、タスクリスト (* ［］) のチェック状態をトグル]] (Yuko)&lt;br /&gt;
* [[Markdown入力補助]] (急急如律令)&lt;br /&gt;
* [[何年生で習う漢字？]] (シリル)&lt;br /&gt;
* [[上に行挿入]] (Yuko)&lt;br /&gt;
* [[選択範囲を広げる]] (Yuko)&lt;br /&gt;
* [[選択した文字列を文書からすべて削除]] (Noah)&lt;br /&gt;
* [[特殊改行]] (FuG)&lt;br /&gt;
&lt;br /&gt;
== ファイル操作補助 ==&lt;br /&gt;
* [[パスを取得]] (Kuro)&lt;br /&gt;
* [[フォルダ内のファイルをすべて開く]] (Kuro)&lt;br /&gt;
* [[ファイルを比較]] (Kuro)&lt;br /&gt;
* [[ファイル名を引数にしてアプリ起動]] (Kuro, Miso)&lt;br /&gt;
* [[文字列中のパス起動]] (Ks)&lt;br /&gt;
* [[パス・URLを開く コマンドを実行する]] (Yuko)&lt;br /&gt;
* [[開いている文書のファイル名を変更する]] (Yuko)&lt;br /&gt;
* [[上書き保存(UAC対応)]] (Ks)&lt;br /&gt;
* [[含んでいるフォルダを開く]] (Ks)&lt;br /&gt;
* [[ブックマーク一覧ジャンプ]] (Goat)&lt;br /&gt;
* [[拡張子の違うファイルを開く]] (N)&lt;br /&gt;
* [[フォルダを開く]] (N)&lt;br /&gt;
* [[コマンドプロンプトを開く]] (N)&lt;br /&gt;
* [[よく使うフォルダ]] (手石)&lt;br /&gt;
* [[ファイル（選択範囲）の仮保存]] (手石)&lt;br /&gt;
* [[ポップアップメニューでファイル選択]] (手石)&lt;br /&gt;
* [[フォルダツリーをポップアップ表示]] (N)&lt;br /&gt;
* [[タグジャンプ]] (O)&lt;br /&gt;
* [[ウィンドウの位置とサイズを拡張子で指定]] (Papagoat)&lt;br /&gt;
* [[編集モードの自動選択]] (Bleat)&lt;br /&gt;
* [[書き換え禁止モード色反転]] (Bleat)&lt;br /&gt;
* [[変更なしのタブをすべて閉じる]] (Noah)&lt;br /&gt;
&lt;br /&gt;
== 変換・ソート・整形 ==&lt;br /&gt;
* [[標準変換]] (Kuro, MSY-07)&lt;br /&gt;
* [[テキスト変換]] (Ks)&lt;br /&gt;
* [[テキスト整形]] (Masme)&lt;br /&gt;
* [[旧漢字から新漢字に変換]] (Furu)&lt;br /&gt;
* [[Wikipediaマークアップ修正]] (MSY-07)&lt;br /&gt;
* [[SHA でハッシュ化]] (Kuro)&lt;br /&gt;
* [[ブックマーク系コマンド集]] (Ks)&lt;br /&gt;
* [[clustalw を用いてアライメントを実行]] (Suke)&lt;br /&gt;
* [[clustal-omegaを用いてアライメントを実行]] (Suke)&lt;br /&gt;
* [[連番の挿入]] (手石)&lt;br /&gt;
* [[TSV(CSV) ⇒ 固定長]] (手石)&lt;br /&gt;
* [[行並べ替え]] (Masme)&lt;br /&gt;
* [[連番を挿入]] (Masme)&lt;br /&gt;
* [[GFMをHTMLに変換]] (Noonworks)&lt;br /&gt;
* [[基数変換10 16]] (シリル)&lt;br /&gt;
* [[スネークケース ⇔ キャメルケースの変換]] (Noah)&lt;br /&gt;
* [[マルチカーソルに連番を入力]] (Yuko)&lt;br /&gt;
* [[自然数ソート]] (Tak)&lt;br /&gt;
&lt;br /&gt;
== 検索・置換 ==&lt;br /&gt;
* [[文書から検索]] (Kuro)&lt;br /&gt;
* [[単語を抽出]] (Kuro)&lt;br /&gt;
* [[タグの外側（内側）だけ置換]] (手石)&lt;br /&gt;
* [[ポップアップメニューで検索先にジャンプ]] (手石)&lt;br /&gt;
* [[検索(SJIS以外)]] (Masme)&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/blob/master/SearchWithMode.js 現在開いているファイルの言語名をつけてWeb検索] (高見知英)&lt;br /&gt;
* [https://github.com/GunseiKPaseri/Mery_macro/blob/master/count.js 文字出現量ランキング] (群生系パセリ)&lt;br /&gt;
* [[検索ヒット数表示]] (Ks)&lt;br /&gt;
* [[任意の検索エンジンで検索ー改良版]] (Takeshi)&lt;br /&gt;
* [[デフォルトの検索フラグを設定して検索ウィンドウ表示]] (Yuko)&lt;br /&gt;
* [[複数置換]] (Noah)&lt;br /&gt;
* [[類義語アウトプット【Python】]] (シリル)&lt;br /&gt;
* [[校正支援アウトプット]] (シリル)&lt;br /&gt;
* [[見出しジャンプ]] (Yuko)&lt;br /&gt;
&lt;br /&gt;
== プログラミング補助 ==&lt;br /&gt;
* [[Eclipse風コメントアウト]] (Ks)&lt;br /&gt;
* [[Eclipse風コメントアウト(改)]] (Pizz)&lt;br /&gt;
* [[コメントマーク付け外し]] (手石, Masme)&lt;br /&gt;
* [[スマートインデント(C 構文)]] (Ks)&lt;br /&gt;
* [[ctags.exeでtagsファイルを生成、タグジャンプを行うマクロ]] (Kazy)&lt;br /&gt;
* [[タグファイルから補完]] (N)&lt;br /&gt;
* [[コードスニペットもどき]] (手石)&lt;br /&gt;
* [[TeX文書のコンパイル]] (手石, Isari)&lt;br /&gt;
* [[TeX数式のチェック]] (手石)&lt;br /&gt;
* [[簡易数式計算]] (Ks)&lt;br /&gt;
* [[定義へ移動]] (Ks)&lt;br /&gt;
* [[タブの桁数]] (手石)&lt;br /&gt;
* [[行末の空白を削除]] (N)&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/blob/master/FileExecutor.js 開いているスクリプトファイルを実行] (高見知英)&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/blob/master/SyntaxChecker.js 開いているスクリプトファイルを構文チェック] (高見知英)&lt;br /&gt;
* [[説明を出力]] (S)&lt;br /&gt;
* [[JSON整形]] (Ovis)&lt;br /&gt;
* [[拡張子からコンソール実行]] (YOS G-spec)&lt;br /&gt;
* [[ScriptRun]] (Fuka)&lt;br /&gt;
* [[JavaScript を実行]] (N)&lt;br /&gt;
* [[Ruby を実行]] (N)&lt;br /&gt;
* [[HSPキーワード検索]] (SSSE)&lt;br /&gt;
&lt;br /&gt;
== おもしろ ==&lt;br /&gt;
* [[メール送信]] (Ks)&lt;br /&gt;
* [[あつまれ☆みんなのおもしろアイコン]] (シリル)&lt;br /&gt;
* [[テーマのトグル]] (Ucky)&lt;br /&gt;
* [[お気に入りフォント]] (Ucky)&lt;br /&gt;
* [[Google Gemini に相談]] (yuko)&lt;br /&gt;
* [[Google Gemini で執筆支援]] (Kuro)&lt;br /&gt;
&lt;br /&gt;
== その他 ==&lt;br /&gt;
* [[最新版を確認]] (Diaphragm)&lt;br /&gt;
* [[SAPI 使って単語読み上げ]] (Miso)&lt;br /&gt;
* [[フォルダ選択ダイアログ]] (手石)&lt;br /&gt;
* [[HTA(HTML)の自作ダイアログを表示]] (Noonworks)&lt;br /&gt;
* [[ポップアップメニューを手軽に扱う]] (Komorebikoboshi)&lt;br /&gt;
* [[マクロ・関数をメニューで呼び出す]] (Aliquis)&lt;br /&gt;
* [[階層化マクロメニュー]] (Ks)&lt;br /&gt;
* [[シェルコマンドを実行]] (Sasaki)&lt;br /&gt;
* [[ポップアップメニューでチェックボックス]] (手石)&lt;br /&gt;
* [[ポップアップメニューでラジオボタン]] (手石)&lt;br /&gt;
* [[Editor.OpenFile()のポリフィル]] (Kazy)&lt;br /&gt;
* [[折り返しトグル切り替え]] (Bleat)&lt;br /&gt;
* [[Beep音の例]] (Star0worshipper)&lt;br /&gt;
* [[ブラウザ風タブ移動]] (Yuko)&lt;br /&gt;
* [[タブ位置を先頭/末尾に移動]] (Yuko)&lt;br /&gt;
&lt;br /&gt;
== 開発者向け ==&lt;br /&gt;
* [[キーアサイン集]] (Ks, Masme, Isari)&lt;br /&gt;
* [[includeライブラリ]] (Ks)&lt;br /&gt;
* [[マクロ覚え書き（開発者向け）]] (Ks, Papagoat)&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
[https://www.haijin-boys.com/software/mery/mery-2-6-6#5 Mery Ver 2.6.6]以前に作成されたマクロが動作しない場合は下記のページを参照してください。&lt;br /&gt;
&lt;br /&gt;
* [https://www.haijin-boys.com/wiki/%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9:3:%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96##language マクロリファレンス:3:ディレクティブ]&lt;br /&gt;
* [https://www.haijin-boys.com/discussions/6929 公式のマクロ 箇条書きが最新メリーで動作するかチェックいただけませんか？]&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=4638</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=4638"/>
		<updated>2019-08-29T13:09:37Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここは MeryWiki で編集・執筆をするための練習や実験などに使用できるページです。初心者の方はまずこちらで Wiki の編集をしてみてください。&lt;br /&gt;
&lt;br /&gt;
== ここから下に書き込んでください ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;===&amp;lt;/nowiki&amp;gt;の見出し。 ===&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Formatting/ja を見た。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;の表示が違ってた。&lt;br /&gt;
&lt;br /&gt;
ソースの表示は&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;と&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;があるのかな？&lt;br /&gt;
行頭半角空けでもいいみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;太字は&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;斜体は&amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
内部リンク（例：[[ダウンロード]]）は&amp;lt;nowiki&amp;gt;[[～]]&amp;lt;/nowiki&amp;gt;で囲う。&lt;br /&gt;
&lt;br /&gt;
秀丸と同じgrep&lt;br /&gt;
ファイルじゃなくて、(現在の内容)で出来れば&lt;br /&gt;
完璧なのに&lt;br /&gt;
&lt;br /&gt;
↑&lt;br /&gt;
[[このファイルから検索(マッチする行)]]&lt;br /&gt;
&lt;br /&gt;
ゲッツ&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
if flg == 0: # コメント&lt;br /&gt;
    for head in handOut:&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E7%A7%BB%E8%BB%A2%E3%81%AB%E4%BC%B4%E3%81%86%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88.png&amp;diff=4637</id>
		<title>ファイル:サーバー移転に伴うアップロードのテスト.png</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E7%A7%BB%E8%BB%A2%E3%81%AB%E4%BC%B4%E3%81%86%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88.png&amp;diff=4637"/>
		<updated>2019-08-29T13:08:29Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=4636</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=4636"/>
		<updated>2019-08-29T13:07:45Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここは MeryWiki で編集・執筆をするための練習や実験などに使用できるページです。初心者の方はまずこちらで Wiki の編集をしてみてください。&lt;br /&gt;
&lt;br /&gt;
== ここから下に書き込んでください ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;===&amp;lt;/nowiki&amp;gt;の見出し。 ===&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Formatting/ja を見た。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;の表示が違ってた。&lt;br /&gt;
&lt;br /&gt;
ソースの表示は&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;と&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;があるのかな？&lt;br /&gt;
行頭半角空けでもいいみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;太字は&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;斜体は&amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
内部リンク（例：[[ダウンロード]]）は&amp;lt;nowiki&amp;gt;[[～]]&amp;lt;/nowiki&amp;gt;で囲う。&lt;br /&gt;
&lt;br /&gt;
秀丸と同じgrep&lt;br /&gt;
ファイルじゃなくて、(現在の内容)で出来れば&lt;br /&gt;
完璧なのに&lt;br /&gt;
&lt;br /&gt;
↑&lt;br /&gt;
[[このファイルから検索(マッチする行)]]&lt;br /&gt;
&lt;br /&gt;
ゲッツ&lt;br /&gt;
&lt;br /&gt;
[[ファイル:アップロードはどうやるんだろ.zip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
if flg == 0: # コメント&lt;br /&gt;
    for head in handOut:&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ファイル:サーバー移転に伴うアップロードのテスト.png]]&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=4635</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=4635"/>
		<updated>2019-08-29T13:07:23Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここは MeryWiki で編集・執筆をするための練習や実験などに使用できるページです。初心者の方はまずこちらで Wiki の編集をしてみてください。&lt;br /&gt;
&lt;br /&gt;
== ここから下に書き込んでください ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;===&amp;lt;/nowiki&amp;gt;の見出し。 ===&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Formatting/ja を見た。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;の表示が違ってた。&lt;br /&gt;
&lt;br /&gt;
ソースの表示は&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;と&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;があるのかな？&lt;br /&gt;
行頭半角空けでもいいみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;太字は&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;斜体は&amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
内部リンク（例：[[ダウンロード]]）は&amp;lt;nowiki&amp;gt;[[～]]&amp;lt;/nowiki&amp;gt;で囲う。&lt;br /&gt;
&lt;br /&gt;
秀丸と同じgrep&lt;br /&gt;
ファイルじゃなくて、(現在の内容)で出来れば&lt;br /&gt;
完璧なのに&lt;br /&gt;
&lt;br /&gt;
↑&lt;br /&gt;
[[このファイルから検索(マッチする行)]]&lt;br /&gt;
&lt;br /&gt;
ゲッツ&lt;br /&gt;
&lt;br /&gt;
[[ファイル:アップロードはどうやるんだろ.zip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
if flg == 0: # コメント&lt;br /&gt;
    for head in handOut:&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ファイル:サーバー移転に伴うアップロードのテスト.zip]]&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=4634</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=4634"/>
		<updated>2019-08-29T12:56:04Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここは MeryWiki で編集・執筆をするための練習や実験などに使用できるページです。初心者の方はまずこちらで Wiki の編集をしてみてください。&lt;br /&gt;
&lt;br /&gt;
== ここから下に書き込んでください ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;===&amp;lt;/nowiki&amp;gt;の見出し。 ===&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Formatting/ja を見た。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;の表示が違ってた。&lt;br /&gt;
&lt;br /&gt;
ソースの表示は&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;と&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;があるのかな？&lt;br /&gt;
行頭半角空けでもいいみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;太字は&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;斜体は&amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
内部リンク（例：[[ダウンロード]]）は&amp;lt;nowiki&amp;gt;[[～]]&amp;lt;/nowiki&amp;gt;で囲う。&lt;br /&gt;
&lt;br /&gt;
秀丸と同じgrep&lt;br /&gt;
ファイルじゃなくて、(現在の内容)で出来れば&lt;br /&gt;
完璧なのに&lt;br /&gt;
&lt;br /&gt;
↑&lt;br /&gt;
[[このファイルから検索(マッチする行)]]&lt;br /&gt;
&lt;br /&gt;
ゲッツ&lt;br /&gt;
&lt;br /&gt;
[[ファイル:アップロードはどうやるんだろ.zip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
if flg == 0: # コメント&lt;br /&gt;
    for head in handOut:&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2845</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2845"/>
		<updated>2017-09-06T13:42:15Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: /* ここから下に書き込んでください */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここは MeryWiki で編集・執筆をするための練習や実験などに使用できるページです。初心者の方はまずこちらで Wiki の編集をしてみてください。&lt;br /&gt;
&lt;br /&gt;
== ここから下に書き込んでください ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;===&amp;lt;/nowiki&amp;gt;の見出し。 ===&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Formatting/ja を見た。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;の表示が違ってた。&lt;br /&gt;
&lt;br /&gt;
ソースの表示は&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;と&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;があるのかな？&lt;br /&gt;
行頭半角空けでもいいみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;太字は&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;斜体は&amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
内部リンク（例：[[ダウンロード]]）は&amp;lt;nowiki&amp;gt;[[～]]&amp;lt;/nowiki&amp;gt;で囲う。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2844</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2844"/>
		<updated>2017-09-06T13:42:04Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここは MeryWiki で編集・執筆をするための練習や実験などに使用できるページです。初心者の方はまずこちらで Wiki の編集をしてみてください。&lt;br /&gt;
&lt;br /&gt;
== ここから下に書き込んでください ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;===&amp;lt;/nowiki&amp;gt;の見出し。 ===&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Formatting/ja を見た。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;の表示が違ってた。&lt;br /&gt;
&lt;br /&gt;
ソースの表示は&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;と&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;があるのかな？&lt;br /&gt;
行頭半角空けでもいいみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;太字は&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;斜体は&amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
内部リンク（例：[[ダウンロード]]）は&amp;lt;nowiki&amp;gt;[[～]]&amp;lt;/nowiki&amp;gt;で囲う。aaa&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2611</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2611"/>
		<updated>2017-05-30T09:06:34Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここは MeryWiki で編集・執筆をするための練習や実験などに使用できるページです。初心者の方はまずこちらで Wiki の編集をしてみてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ここから下に書き込んでください ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;===&amp;lt;/nowiki&amp;gt;の見出し。 ===&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Formatting/ja を見た。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;の表示が違ってた。&lt;br /&gt;
&lt;br /&gt;
ソースの表示は&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;と&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;があるのかな？&lt;br /&gt;
行頭半角空けでもいいみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;太字は&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;斜体は&amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
内部リンク（例：[[ダウンロード]]）は&amp;lt;nowiki&amp;gt;[[～]]&amp;lt;/nowiki&amp;gt;で囲う。&lt;br /&gt;
&lt;br /&gt;
[[ファイル:test.png|border]]&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2608</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2608"/>
		<updated>2017-05-30T09:04:37Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここは MeryWiki で編集・執筆をするための練習や実験などに使用できるページです。初心者の方はまずこちらで Wiki の編集をしてみてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ここから下に書き込んでください ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;===&amp;lt;/nowiki&amp;gt;の見出し。 ===&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Formatting/ja を見た。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;の表示が違ってた。&lt;br /&gt;
&lt;br /&gt;
ソースの表示は&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;と&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;があるのかな？&lt;br /&gt;
行頭半角空けでもいいみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;太字は&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;斜体は&amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
内部リンク（例：[[ダウンロード]]）は&amp;lt;nowiki&amp;gt;[[～]]&amp;lt;/nowiki&amp;gt;で囲う。&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2605</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2605"/>
		<updated>2017-05-30T08:47:31Z</updated>

		<summary type="html">&lt;p&gt;Haijinboys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ここは MeryWiki で編集・執筆をするための練習や実験などに使用できるページです。初心者の方はまずこちらで Wiki の編集をしてみてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ここから下に書き込んでください ==&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;nowiki&amp;gt;===&amp;lt;/nowiki&amp;gt;の見出し。 ===&lt;br /&gt;
&lt;br /&gt;
http://www.mediawiki.org/wiki/Help:Formatting/ja を見た。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;&amp;lt;/nowiki&amp;gt;の表示が違ってた。&lt;br /&gt;
&lt;br /&gt;
ソースの表示は&amp;lt;nowiki&amp;gt;&amp;lt;pre&amp;gt;と&amp;lt;script&amp;gt;&amp;lt;/nowiki&amp;gt;があるのかな？&lt;br /&gt;
行頭半角空けでもいいみたい。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;太字は&amp;lt;nowiki&amp;gt;&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;斜体は&amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;で囲う&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
内部リンク（例：[[ダウンロード]]）は&amp;lt;nowiki&amp;gt;[[～]]&amp;lt;/nowiki&amp;gt;で囲う。&lt;br /&gt;
&lt;br /&gt;
[[File:test.png]]&lt;/div&gt;</summary>
		<author><name>Haijinboys</name></author>
	</entry>
</feed>