XPG4DL

last update : 2000-08-04

What is XPG4DL?

XPG4DL is a set of extensions for the FreeBSD rune locale stuff, and its ported materials to NetBSD/OpenBSD.

Aims of XPG4DL

  1. The most important purpose of XPG4DL is that it provides "stopgap" locale system on NetBSD/OpenBSD.
  2. Provides the dynamically loadable encoding scheme.

Relationship between Citrus Project and XPG4DL

Sure, XPG4DL is a result of Citrus Project, but it cannot become the goal of Citrus Project. XPG4DL is nothing but an stopgap locale. Citrus Project intends to provide a new locale framework in the future.

Advanced point from FreeBSD locale stuff

  1. Charset Encoding Scheme (CES) stuffs are kicked out from libc, and XPG4DL will load them dynamically on demand by using dlopen.
  2. Many (but not all of) XPG5 locale functions are added.
  3. Two new CES stuffs, ISO-2022 and EUC-TW, are supported.

Advanced point from NetBSD/OpenBSD locale stuff

  1. XPG4DL allows users to use multibyte character sets. However, old NetBSD/OpenBSD executables can be run safely with any multibyte locale on the XPG4DL supported environment. For such executables, XPG4DL always works on the single byte locale. If a user specify a multibyte locale for such executables, XPG4DL works on the "C" locale instead of specified locale. Of cource, the new executables which are built on the XPG4DL supported environment can run with multibyte locale mode.
  2. Collation stuff is added. It is derived from FreeBSD.
  3. To keep forward compatibility, "rune" interface is hidden thoroughly on NetBSD/OpenBSD.

How to get XPG4DL

The current XPG4DL source codes are available via anonymous CVS.

  1. register password to ~/.cvspass on your local machine.
    CVS server:citrus.bsdclub.org
    user name: anoncvs
    password: anoncvs

    For example:
      % cvs -d :pserver:citrus.bsdclub.org:/anoncvs/citrus login
      CVS password: anoncvs
    
  2. check out
      % cvs -d :pserver:citrus.bsdclub.org:/anoncvs/citrus co -P xpg4dl
    
  3. If you are NetBSD user, you can checkout from master repository of NetBSD with "minoura-xpg4dl" branch tag. However, it is NOT the most recent version of XPG4DL, maybe.