ホーム
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
開発室
開発者のブログ
ログイン
設定
MeryWiki について
免責事項
MeryWiki
検索
「
濁点・半濁音の結合(1文字化)
」を編集中
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
== 概要 == 選択範囲、またはファイル全体の分離した濁点・半濁点を1文字に結合します。 * 濁点(結合文字 U+3099、独立文字 U+309B、半角 U+FF9E) * 半濁音(結合文字 U+309A、独立文字 U+309C、半角 U+FF9F) 例:「じ」U+3057 U+3099を「じ」U+3058に変換。 注意:素人のAI作成です。 == 使い方 == Mery 3.8.3で動作確認。 以下のソースコードをNormalizeDakuten.jsなど適当な名前で保存。 QuickJSの場合、一行目に <syntaxhighlight lang="javascript" copy> #language = "quickjs" </syntaxhighlight> を追加。 == ソースコード == <syntaxhighlight lang="javascript" copy> #title="濁点・半濁音の結合(1文字化)" // 選択範囲、またはファイル全体の分離した濁点・半濁点を1文字に結合します var sel = document.selection; var isEmpty = sel.IsEmpty; // テキストが選択されていない場合はファイル全体を選択 if (isEmpty) { sel.SelectAll(); } var text = sel.Text; if (text !== "") { // 半濁音の変換辞書 var handakuMap = { "は":"ぱ", "ひ":"ぴ", "ふ":"ぷ", "へ":"ぺ", "ほ":"ぽ", "ハ":"パ", "ヒ":"ピ", "フ":"プ", "ヘ":"ペ", "ホ":"ポ" }; // 濁音の変換辞書 var dakuMap = { "か":"が", "き":"ぎ", "く":"ぐ", "け":"げ", "こ":"ご", "さ":"ざ", "し":"じ", "す":"ず", "せ":"ぜ", "そ":"ぞ", "た":"だ", "ち":"ぢ", "つ":"づ", "て":"で", "と":"ど", "は":"ば", "ひ":"び", "ふ":"ぶ", "へ":"べ", "ほ":"ぼ", "う":"ゔ", "ゝ":"ゞ", "カ":"ガ", "キ":"ギ", "ク":"グ", "ケ":"ゲ", "コ":"ゴ", "サ":"ザ", "シ":"ジ", "ス":"ズ", "セ":"ゼ", "ソ":"ゾ", "タ":"ダ", "チ":"ヂ", "ツ":"ヅ", "テ":"デ", "ト":"ド", "ハ":"バ", "ヒ":"ビ", "フ":"ブ", "ヘ":"ベ", "ホ":"ボ", "ウ":"ヴ", "ヽ":"ヾ", "ワ":"ヷ", "ヰ":"ヸ", "ヱ":"ヹ", "ヲ":"ヺ" }; // 半濁点(結合文字 U+309A, 独立文字 U+309C, 半角 U+FF9F)の置換 text = text.replace(/([はひふへほハヒフヘホ])[\u309A\u309C\uFF9F]/g, function(match, p1) { return handakuMap[p1]; }); // 濁点(結合文字 U+3099, 独立文字 U+309B, 半角 U+FF9E)の置換 text = text.replace(/([かきくけこさしすせそたちつてとはひふへほうゝカキクケコサシスセソタチツテトハヒフヘホウヽワヰヱヲ])[\u3099\u309B\uFF9E]/g, function(match, p1) { return dakuMap[p1]; }); // 置換したテキストを反映 sel.Text = text; } // もともと非選択状態だった場合は、カーソルを文書の先頭に移動 if (isEmpty) { sel.StartOfDocument(); } </syntaxhighlight> == 変更履歴 == * 2026-03-30: 初版公開 * 2026-03-31: 修正(uckyさんありがとうございます)
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク