ARIB STD-B24用iconv(gconv)モジュール

はじめに

ARIBコードへまたはARIBから各種の文字コードを変換するOSSの文字コード変換ツールは、今までいくつか存在していましたが、汎用性と機能が不十分でした。

しかしながら、LinuxTVにおいて、Linuxの各ディストリビューションの標準的パッケージとして含まれるiconvコマンドおよびglibc内の文字変換モジュールiconvをARIBコードに対応させる拡張モジュールが公開されました。

http://www.linuxtv.org/

http://git.linuxtv.org/cgit.cgi/v4l-utils.git/tree/contrib/gconv

https://patchwork.linuxtv.org/patch/30438/

このページでは、上記のコードを単独のgconvモジュールとしてRHELまたはCentOS用にインストールするためのRPMを公開しています。
これはLGPLに基づくものです。

iconvとは

iconvは最初にHP-UXで開発され、後にPOSIX規格として標準化されました。

GNUのCライブラリにはフリー版のiconvが含まれ、Linuxディストリビューションは、GNUのCライブラリを標準で利用しているため、通常、新たな設定なしでiconvが利用できます。
また、iconvは、コマンドラインユーティリティも存在し、nkfに代わり利用することができます。

iconvは変換に際して、各文字コードを内部コードに変換するgconv モジュール (動的にロードされる共有ライブラリ)を順次呼び出し、所定の文字コード間の変換を行います。
つまり、対象の文字コードの変換を行うgconvモジュールを追加することで、容易に変換対象の文字コードを拡張することができます。

LinuxTVコミュニティ

LinuxTVコミュニティは、Linuxベースのセットトップボックスや携帯電話などの組み込み機器に向けて、Linuxカーネルメディア・サブシステムやユーザ空間ライブラリ、アプリケーションを開発およびメンテナンスを行っています。

この中で、日本のデジタル放送およびヨーロッパのデジタル放送で使用する文エンコーディングをサポートするgconvモジュールが開発、公開されています。
これらのgconvモジュールをLinuxに組み込むことで以下の文字コードのサポートが追加されます

なお、LinuxTVコミュニティが開発した上記のgconvモジュールはLinuxのメインストリームへのマージが提案されましたが、却下されており、各Linuxディストリビューションに包含される予定はありません。

RPMパッケージ

RHELまたはCentOSにおいて、上記のgconvモジュールを単独でインストール、利用するために以下のRPMを用意しました。

OSRPM
RHEL5
CentOS5
i386gconv-digital-tv-1.0.0-3.EL5.i386.rpmfilegconv-digital-tv-1.0.0-3.EL7.i686.rpm
x86_64gconv-digital-tv-1.0.0-3.EL5.x86_64.rpmfilegconv-digital-tv-1.0.0-3.EL5.x86_64.rpm
RHEL7
CentOS7
i686gconv-digital-tv-1.0.0-3.EL7.i686.rpmfilegconv-digital-tv-1.0.0-3.EL7.i686.rpm
x86_64gconv-digital-tv-1.0.0-3.EL7.x86_64.rpm&ref(): File not found: "gconv-digital-tv-1.0.0-3.EL7.x86_64.rpm" at page "ARIB STD-B24用iconv(gconv)モジュール";
armv7hlgconv-digital-tv-1.0.0-3.el7.centos.armv7hl.rpm&ref(): File not found: "gconv-digital-tv-1.0.0-3.el7.centos.armv7hl.rpm" at page "ARIB STD-B24用iconv(gconv)モジュール";
Ssource RPMgconv-digital-tv-1.0.0-3.src.rpmfilegconv-digital-tv-1.0.0-3.src.rpm

文字コード

文字コードとして下表の文字セットを使用します。ただし、モザイク集合はサポート対象外とします。また字幕のための制御コード は無視されます。

文字符号集合記事
漢字系集合ARIB STD-B24
JIS 互換漢字 1 面( 2 バイト符号)JIS X0213:2004
JIS 互換漢字 2 面( 2 バイト符号)JIS X0213:2004
英数( 1 バイト符号)ARIB STD-B24
平仮名( 1 バイト符号)ARIB STD-B24
片仮名( 1 バイト符号)ARIB STD-B24
JIS X0201 片仮名
外字符号集合ARIB STD-B24
マクロ符号集合ARIB STD-B24
追加記号( 2 バイト符号)ARIB STD-B24

符号化処理概要

符号化はARIB8単位文字符号に準じ符号化します。
下図に示す符号体系により符号化を実施します。
固定的に割り振られる制御コードと、GR/GLであらわされる割り当てがエスケープシーケンスにより変更されるコード(1バイトもしくは2バイト文字)により符号化されます。
また、GR/GLにマッピングされるコードは中間バッファ(G0~G3)に一旦マッピングされた後、再度GR/RLにマッピングされる仕組みを有します。
  エンコード動作において、動作を行います。
・GL符号領域は、G0/G1集合のみ指定します。
・GR符号領域は、G2/G3集合のみ指定します。
・G0集合は漢字系集合に固定指定します。
・G1集合はASCII(1バイトGセット)に固定指定します。
・G2集合は平仮名集合およびJIS 互換漢字1/2面に使用します。
・G3集合は片仮名集合、JIS X0201 片仮名集合および追加記号に使用します。
・G2集合にJIS 互換漢字1/2面を指示する場合および
 G3集合に追加記号を指示する場合は、シングルシフトにより指示します。

 UCS(国際符号化文字集合:Universal multi-octet coded Character Set)コードとARIB8単位コードとの対応については、ARIB STD-B62の
第1編 データ符号化方式
 第5章 文字符号化
  表5-2 追加する記号・文字
 を参照ください。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS