タブで入力される文字を半角スペースにした場合の、二段目以降について

  1. タブで入力される文字を半角スペース×2にしています。
    タブを2回連続入力した際に、2回目が半角スペース×1になってしまいます。
    連続でタブを入力しても、すべて同じ結果になる設定などはありますか?

    よろしくお願いします。

     |  hayata  |  返信
  2. 本来、タブはカラム位置を揃えるためのものであり、表示幅は可変です。
    タブの桁を8文字にして[1文字入力][タブ][2文字入力][タブ]とするとわかりますが、
    1個目のタブは7文字幅、2個目のタブは6文字幅になります。
    常に指定桁数の空白文字を入力したいなら、マクロで設定します。
     with(document.selection){(OverWriteMode)?CharRight(false,2):document.Write("  ")};
    上書きモード時は2文字分のカーソル移動、挿入モード時は2個分の空白が入ります。

    範囲選択中のことは考慮してません。上書きモード時は選択解除、挿入モード時は選択
    範囲が2文字のブランクに書き換わります。

     |  今日も匿名で  |  返信
  3. お早い返答ありがとうございます。

    プロポーショナルフォントを使っていることが原因でした。
    等幅フォントにするとご返答どおりの挙動になりました。
    タブだけを連続で入力しても同じ字数になりました。

    Meryだけに関する質問ではなくなってしまうのですが、
    プロポーショナルフォントで、タブを半角スペース × 8にして[タブ] [タブ] [タブ] [タブ]と入力すると、
    [半角スペース × 8] [ × 4] [ × 2] [ × 8]となります。
    1/2の字数になるのは、多くのテキストエディタで普通の動作なのでしょうか?

     |  hayata  |  返信
  4. そんな罠が…

    プロポーショナルフォント + 上書き編集モードでのタブキーの動作を確認したら
    もっとカオスになっていました > kuroさあ~ん

     |  今日も匿名で  |  返信
  5. こんばんは、書き込みありがとうございます。

    「タブの代わりに空白を挿入」モードですが、そもそもプロポーショナルフォントのことを考慮していませんでした^^;

    他のテキストエディタではプロポーショナルフォント使用時は横幅などは無視して固定ピッチフォントの場合と同様の処理を行うものが多いようですね。

    もう少し他のテキストエディタを研究の上、実装してみようと思います。

    > 上書き編集モードでのタブキー

    上書き編集モードでのタブキーの動作は以前に某エディタを参考に開発したのですが、なんでこんな動きなのか私もよくわかっていませんw

    MS Word の動作を参考にしたほうが良さそうですね。ちょっと見直してみます。

     |  Kuro  |  返信
  6. お二人とも、ご返答ありがとうございました。

    実装されるのを楽しみにしています。

     |  hayata  |  返信
スポンサーリンク