日本語辞書順の並べ替え(ソート)

■ 概要説明

 編集テキスト内のある行範囲を、日本語辞書順に並べ替えるには、次のようにします。 まず、並べ替える行内で比較する桁範囲を矩形選択します。 例えば、以下のように、果物名の桁範囲を矩形選択します。

  :
  :
 赤 りんご 青森
 橙 みかん 和歌山
 黄 バナナ フィリピン
 緑 メロン 茨城
 紫 ぶどう 山梨
  :
  :
 次に、メインメニューの「編集」下の「行操作」内の「行を並替(桁範囲比較)」を実行します。 すると、以下のように、並び替わります。
  :
  :
 黄 バナナ フィリピン
 紫 ぶどう 山梨
 橙 みかん 和歌山
 緑 メロン 茨城
 赤 りんご 青森
  :
  :
 ちなみに、通常の並べ替え(文字コード順)では、以下のような順になってしまいます。
  :
  :
 紫 ぶどう 山梨
 橙 みかん 和歌山
 赤 りんご 青森
 黄 バナナ フィリピン
 緑 メロン 茨城
  :
  :

■ 詳細説明

 この「日本語辞書順」では、日本語の「かな」は、まず、次のようにしてから、 50音順で比較します。

  ・ひらかなとカタカナを同一視  (例: あ ⇔ ア )
  ・カタカナの全角と半角を同一視 (例: イ ⇔ イ )
  ・大小字の区別なし       (例: う ⇔ ぅ )
  ・濁点と半濁点を無視      (例: は ⇔ ば ⇔ ぱ )
  ・「ー」は前字の母音字と同字  (例: キー ⇔ キイ )
  ・「ゝ」は前字ひらかなと同字  (例: やゝ ⇔ やや )
  ・「ゞ」は前字ひらかな+濁点  (例: はゞ ⇔ はば )
  ・「ヽ」は前字カタカナと同字  (例: マヽ ⇔ ママ )
  ・「ヾ」は前字カタカナ+濁点  (例: スヾ ⇔ スズ )
これで順が決まらないときは、次の優先順で決めます。なお、以下の表記で、 「A < B」は、AがBよりも先順であることを示します。
  (1) 半濁点 無 < 有    (例: は < ぱ )
  (2) 濁点 無 < 有     (例: ひ < び )
  (3) 「ー」の代替が先順  (例: あー < ああ )
  (4) 小字 < 大字     (例: ぃ < い )
  (5) 「ゝゞヽヾ」代替が先順(例: あゝ < ああ )
  (6) 全角 < 半角     (例: イ < ィ )
  (7) ひらかな < カタカナ (例: う < ウ )
このようにして比較した例を、以下に示します。
   あー < あぁ < あゝ < ああ
   たゝ < たた < たゞ < ただ
   は < ハ < ハ < ば < バ < バ < ぱ < パ < パ

 英字は、まず、大文字と小文字、半角と全角を区別せずに、アルファベット順で比較します。 これで順が決まらなければ、次に「半角 < 全角」の順で決めます。 それでも決まらなければ、「大文字 < 小文字」の順で決めます。

 (例) ABC < ABC < abc < XYZ
 数字は、数字列の値としての順になります。数字の全角と半角は、まずは区別しませんが、 それで順が決まらなければ、「半角 < 全角」の順で決めます。 なお、0 が先頭にある場合は、その方が先順になります。
 (例) 078 < 78 < 78 < 123
 全角空白は、まず、半角空白と区別なしに扱い、それで順が決まらないときは、 半角空白の方を先順にします。

 現状、日本語辞書順として正規に扱っているのは、日本語の「かな」、英字アルファベット、数字です。 その他の文字は、単純に文字コードを比較しているだけです。 特に、漢字はその読みを比較しているわけではありません。 なお、「ー」「ゝ」「ゞ」「ヽ」「ヾ」は、前字が不正な場合、代替せずに、そのまま扱います。

 本機能は、SortBySelClm.mc というスクリプトで実現しています。 この起動は、初期環境では、メインメニューの「編集」下の「行操作」内の「行を並替(桁範囲比較)」に割り当てられています。 並べ替えの仕様を変更したい場合は、このスクリプトの起動オプション、または、ソースの変更で行なえます。