Tgif で utf-8 を使う

Tgifは残念ながらutf-8に対応しておらず,utf-8の環境下では日本語入力が できません.そこでximから受けるutf-8文字列をeucに変換してしまおうとい う 大胆な発想のパッチが浦島さん@富山県立大学から提案され,utf-8の環境 下でもtgifが使えるようになっています.パッチはバージョン4.1.45に対するも のですが,最新の4.2.3でも有効であることを確認しました.このパッチをあて たtgifはutf-8の環境下でも問題なく(ximからの文字列をそのまま渡すようになっ ています)動きます.

さまざまなパッチ(それぞれ独立にあてることができます)


UbuntuでLangをUTF-8のまま使う

日本語化されたものをソースからコンパイルする方法については, Qiitaの記事がとても役に立ちました. → CentOS7.6に日本語対応のTgifの導入
なお,以下で説明する手順ではQiitaの記事中で紹介されているパッチ tgif-QPL-4.2-patch5b をあてなくても構いません.また,xmkmf が動くように するためにはX11のいろいろなツールをインストールする必要があります.
xutils-dev libx11-dev libxext-dev libxmu-dev libidn11-dev

さて,私はVineを長年使ってますが,どうやらVer.7は公開されそうもないので, Ubuntuを使い始めています.Ubuntuでも tgif 本体は

sudo apt install tgif
でインストールされ,漢字もリソース (/etc/defaults/tgif) に記述すれば表示されますが,元々EUCで保存する仕様ですので入力されたUTF8の文字列 は全く別物となります.上述のUTF8からEUCへ変換するパッチを当ててコンパイ ルすれば,LANGがUTF8のままでも期待通りの表示を得られることを確認しました.

TgifはX11の時代のものですから日本語入力の問題以外にも,フォント情報をマニュアル で与える必要があります.スケーラブルな日本語は現在主流のOTFは使えません ので,例えばTTFである takao をインストールした後に,インストールされたディレク トリで fonts.dir を作成し,xset でサーバーに登録する必要があります. 具体的には,以下のような感じです.

sudo apt install fonts-takao-micho
sudo apt install fonts-takao-gothic
cd /usr/share/fonts/truetype/takao-mincho/
sudo mkfontscale
sudo mkfontdir
cd /usr/share/fonts/truetype/takao-gothic/
sudo mkfontscale
sudo mkfontdir
xset fp+ /usr/share/fonts/truetype/takao-mincho
xset fp+ /usr/share/fonts/truetype/takao-gotic
Times, Courier, Helvetica, Symbolなどのスケーラブルなフォント (パッケージ名:fonts-urw-base35, インストール先: /usr/share/fonts/type1/urw-base35)も必要かもしれません.