last updated:2023/12/27
秀丸エディタ Ver.8以降は、文字列をUnicode(UTF-16LE)として扱う関数群が追加されています。
この関数群を使用すれば、半角 全角問わずに文字単位で、文字列を操作可能です。
ただし、UTF-16LE(16bit 0x0000 to 0xFFFF)なので、コードポイントが U+10000 を越えるとサロゲートペアを使って表現する必要がある為、上記関数群でも、1文字でも2文字扱いになります。
Unicode(UTF-16LE)ベースで文字単位で扱うには、
等があるので、全て考慮しようとするとかなり難しい事になります。
秀丸エディタ Ver.9以降は、「UCS-4単位」「秀丸単位(カーソル移動)」「書記素クラスター単位」で文字列操作する関数も追加されています。詳細はマクロヘルプの文字の単位を参照してください。「書記素クラスター単位」は「Windows 10 Version 1903 以降」のみ動作するとの事。