Skip to content
This repository has been archived by the owner on Sep 13, 2023. It is now read-only.
/ unicon Public archive

VD UNICON (discontinued project)

Notifications You must be signed in to change notification settings

dai-vdr/unicon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IMPORTANT NOTICE

project discontinued (2009/10/26)

重要なおしらせ

VD UNICON のメンテナンスは 2009/10/26 に 2.6.31 対応 patch を最後に終了しました。長らくのご利用ありがとうございました。 現在、UTF-8 対応コンソールとして utf-8 kernel が開発されています。なお、一切関与していません。

はじめに

UNICON は Linux のフレームバッファ上で CJK(中国語/日本語/韓国語)を表示するための仕組みです (UTF-8 には未対応)。TurboLinux 北京オフィス にて開発されていましたが、長らく更新が停止した状態になっています。dai が非公式に VD UNICON の名称でメンテナンスを続けていましたが、2009/10/26 に 2.6.31 対応 patch を最後に終了しました。

この文章およびパッチなどは無保証です。UNICON による Linux 日本語 console テストに際し、UNICON を使って日本語コンソールを実現しよう および UNICON を参考にさせて頂きました。多謝。

Kernel 編

Kernel にパッチを当てる

kernel に フォントのパッチと VD UNICON 本体のパッチの両方を当てる。

これらのパッチは Turbolinux の kernel SRPM に含まれている UNICON パッチを元に、UNICON を使って日本語コンソールを実現しようOkpos.com:: Unicon にて提供されているパッチ、dai による修正を加えてある。

% cd /usr/src/linux-2.*.*

# font patch
% bzcat .../vd_unicon-kernel-fonts-YYYYMMDD.patch.bz2 | patch -p1

# unicon patch
% cat .../vd_unicon-kernel-YYYYMMDD-2.*.patch | patch -p1

Kernel の再構築

実験的機能のサポート、ローダブルモジュールのサポート、フレームバッファサポートをそれぞれ有効にし(詳細は Framebuffer HOWTO を参照)、 UNICON サポートを組み込み、表示したい言語のフォントをモジュールとする。

CONFIG_UNICON=y
CONFIG_UNICON_GB=m
CONFIG_UNICON_GBK=m
CONFIG_UNICON_BIG5=m
CONFIG_UNICON_EUCJP=m
CONFIG_UNICON_JIS=m
CONFIG_UNICON_SJIS=m
CONFIG_UNICON_KSCM=m

通常は EUCJP のみでかまわないだろう。 (GB/GBK は簡体字中国語、BIG5 は繁体字中国語、 EUCJP/JIS/SJIS は日本語、 KSCM は韓国語それぞれのフォントサポート)

bootloader の設定

UNICON はフレームバッファ上で動作するため、フレームバッファを利用するように bootloader で設定を行う。詳細は Framebuffer HOWTO、コンソールを高解像度で表示するには(GRUB編, LILO編)を参照。

2.6.24 以降、boot option に「vt.default_utf8=0」が必要となる場合がある。

GNU GRUB では kernel 行に

kernel /boot/vmlinuz root=/dev/sda1 ro video=vesafb vga=0x305 vt.default_utf8=0

LILO では append 行に

append="vt.default_utf8=0"

のように追加する。

Userland 編

unicon-tools を取得

unicon-tools-0.0.0.20050707.tar.gz を拾ってくる。

これは unicon-3.0.4-20010924.tar.gz (Turbolinux 北京オフィスではもう配布されていないようなのでここで配布) に vd_unicon-userland-20031122.patch (UNICON を使って日本語コンソールを実現しようUNICON にて提供されているパッチ及び dai による修正)を当て、必要な部分のみを取り出したものである。

unicon-tools の make

% ./configure --prefix=/usr
% make
# make install

デバイスファイルの作成

devfs, udev を使っていれば必要ない。

# mknod /dev/unikey c 10 202
# chmod 640 /dev/unikey

起動設定

以下を適当な boot script に追加。

#!/bin/sh
#
# VD UNICON for EUC-JP

if [ \( -f /lib/modules/`/bin/uname -r`/kernel/drivers/video/unicon/unikey.o \
     -o -f /lib/modules/`/bin/uname -r`/kernel/drivers/video/unicon/unikey.ko \) \
     -a -x /usr/bin/uniconctrl \
     -a -e /dev/fb0 ]; then
        /sbin/modprobe unikey
        /sbin/modprobe encode-eucjp

        # console-tools
        if [ -x /usr/bin/consolechars ]; then
                /usr/bin/consolechars --sfm /usr/lib/unicon/direct.uni
        # kbd
        elif [ -x /usr/bin/setfont ]; then
                /usr/bin/setfont -u /usr/lib/unicon/direct.uni
        # kbd (obsoleted)
        elif [ -x /usr/bin/loadunimap ]; then
                /usr/bin/loadunimap /usr/lib/unicon/direct.uni
        fi

        /usr/bin/uniconctrl --eucjp tty1
        /usr/bin/uniconctrl --eucjp tty2
        /usr/bin/uniconctrl --eucjp tty3
        /usr/bin/uniconctrl --eucjp tty4
        /usr/bin/uniconctrl --eucjp tty5
        /usr/bin/uniconctrl --eucjp tty6
fi

おしらせ等

ライセンス

元々の UNICON が GPL2 なので、この非公式パッチ VD UNICON も GPL2 として公開しています。

制限事項

UTF-8 には対応していません。例えば UTF-8 でのかな漢字は 3バイトありますが、UNICON は実装上の仕様により 2バイトまでしか扱えないため、UTF-8 を扱うことができません。かつて UNICON を Unicode Console と紹介している文書が散見されたことや、UNICON という語感から UTF-8 も扱えるという誤解があるようですが、UNICON は正確には Universal Console です。

リンク

このページへのリンクは https://vdr.jp/d/unicon.html として頂けると覚えやすいし閲覧時の見栄えもよいと思います。

貢献者(順不同,敬称略)

  • YAMAGUCHI Shingo
  • OHNO Tetsuji
  • Katsumi Kikuchi
  • Toshi

関連リンク