サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
bogytech.blogspot.com
パッチの使い方を説明する前に GNU screen の文字コードについて簡単におさらい。GNU screen では2種類に場所に文字コードを指定できます。 1種類目は screen のウィンドウごとに持っている文字コードです。ウィンドウというのは screen 個々の画面のことで中で動いているシェル/プログラムが使用する文字コードだと思えばわかり易かな。ctrl-a ctrl-c とかで新規に作成して ctrl-a ctrl-n とかで切り換えるやつです。(emacs や shell との相性が悪いので当然キーは ctrl-a から別のものに変えていますが、いちおうデフォルトの ctrl-a で説明)。スクリーンはウィンドウごとに別々の文字コード指定できます。ctrl-a : encoding utf8 とかすればそのウィンドウの文字コードを変更できます。ウィンドウの文字コードのデフォルト
最近は linux でもファイル名やディレクトリ名に日本語を使うことも多くなってきているようです。個人的にはファイル名にASCII文字以外を使用したくはないのですが、添附メールでもらったりとか、MS-Windows や Macintosh のファイル共有など色々と必要となる場面があります。 このような日本語の文字や記号をファイル名に使用している場合 ls などの表示桁がズレてしまうという経験をしている人も多いのではないかと思います。 これは UTF-8ロケール等で ls の認識している文字幅と、端末が認識している文字幅が異っていることが原因です。端末の文字幅設定の変更方法はそれぞれご存知かと思いますが、ls などの一般コマンド使用する文字幅が変更できることはあまり知られていないようです。 ls などの一般コマンドは libc のロケール機能を使って文字幅を決定しています。linux ならば
説明ではくて単な愚痴ですが、パッチが何故がぐちゃぐちゃなのかを書いておきます。 GNU screen は最近は更新はされていないようですが、既に UTF-8 にも ISO-2022/EUC/SJIS にも対応しているので JIS X 0213 に対応させるのも簡単だろうという軽い気持ちで作業を始めたのですが、色々と大変なことに。 まず screen の内部の文字の持ち方ですが、image[] と呼ばれる文字コードの入ったバイト列と、font[] と呼ばれる文字集合の種類が入ったバイト列で表現されています。そして Unicode の場合には、何とその上位バイトを font[] に下位バイトを image[] に格納することで対応していたのです(←最初の困惑、酷いよー)。 格納領域が2バイトしかない以上、16ビットまでの基本多言語面(BMP)の文字しか扱えません。ところが JIS X 0213
このページを最初にブックマークしてみませんか?
『bogytech.blogspot.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く