CSS でいう letter spacing の設定ですよね。
それ以外でしたら、フォントによっても文字間隔は変わります。
例えば、コードを書くエディタで、文字間隔の調整をする等の目的なら
Helvetica等の等幅フォント指定で十分だと思います。
レイアウト目的で任意の間隔に調整したい場合は、
個々の文字間隔の調整というのは対応してない様でした。
一応、以下は調べた範囲
Tcl/Tk のソースコード (C言語)
Tk source code
- Text ウィジェットのオプション (tkText, tkTextDisp ~)
テキストウィジェット内部は行でテキストデータの管理をしていて、
縦 spacing1~spaicng3
横 rmargin, lmargin, justify 辺りが x座標の調整ですが
個々の文字ではなく、行が対象のようでした。
linux であれば、XLFD に setwidth というオプションが有りますが、
これは、等幅かプロポーショナルフォントの設定のみです。
ピクセル単位の微調整といった事は出来ません。
他の環境でのサポート状況
- Web系やブラウザ組込の場合 CSS の letter spacing が使えるはずです。
- Qt5 では、フォントのプロパティに setLetterSpacing があります。
- SVG にも letter spacing プロパティはあり、
tk は 8.7 で キャンバスへの SVG 描画を部分対応するようです。
表示のみなら対応可能になるかもしれない。ただ、現状利用は難しいです。
tkinter上で実装する代案は、あまり良い案が思い浮かびませんでした。
実装に掛かる時間や労力を考えると、状況次第では他のライブラリ選んだ方が良い。
任意の幅を持つフォントを作るとか、
エディタのテキスト描画部分のみ改造(tcl/tkを独自にコンパイル)
キャンバス上に1文字づつ描画してエディターを1から作る。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/27 00:43