FreeBSD Daily Topics

2009年10月23日FreeBSDステータスレポート200904-09 その6 - 新しいロケールシステム、BSDライセンスデバッガ

heads-up

New approach to the FreeBSD locale database

Edwin Groothuis氏がFreeBSDのロケールシステムを新しくする取り組みを発表しています。現在のFreeBSDには言語、国や地域、文字コードの3つの組み合わせで定義される対象が165個に至っています。それぞれ次のディレクトリにデータファイルが収められています。

  • src/share/colldef
  • src/share/monetdef
  • src/share/msgdef
  • src/share/numericdef
  • src/share/timedef

定義ファイルの内容は西欧関連のものは最上位ビットが0のlow-ASCIIですが、東欧やアジアでは再上位ビットが1のhigh-ASCIIが使われています。このため、対象となる文字コードの解釈方法や表示方法がわからないと扱いができないという問題があります。

提案されている新しい方法では、まずこの定義ファイルの内容をUnicode定義の記述へ変更します。たとえば日本の通貨情報に記載されている「\」という表記を、といったUnicode定義への記述に変換します。これらデータは中間形式(UTF-8)に変換して使われます。ロケールで定義されている文字コードへlibiconvを使って変換することで、最終的にデータが出力されることになります。Unicodeプロジェクトで用意されているデータとCommon Locale Data Repositoryを組み合わせることで、データのトラッキングを現在よりも簡単にする狙いもあります。

現状ではmonetdef、msgdef、numericdef、timedefのデータ変換は完了。リグレッション試験も実施され、ツールも用意されているようです。あとはbsdiconvがベースシステムにマージされるのを待っている段階にあると説明があります。この取り組みでは、現在のように「言語、国や地域、文字コード」の3つを定義してデータを組み立てる必要がなく、⁠言語、国や地域」という2つに対してそれを表現する文字コードを組み合わせればいいことになります。

New BSD licensed debugger

Doug Rabson氏からFreeBSDをターゲットにして開発された新しいデバッガに関する報告が行われています。このデバッガはD言語で開発されているというおもしろい側面も持っています。ライセンスは新しいBSDライセンスで、現状ではi386をサポート、使いうちにamd64もサポート対象に加えると説明があります。またGDBリモートデバッグプロトコルも後でサポートすると説明があります。このところ、デフォルトで提供されるユーザランドツールをBSDライセンスのもとへ書き換える開発が多数進められています。

おすすめ記事

記事・ニュース一覧