skf README
----------

1. Introduction
   skf is an i18n-capable kanji filter. skf is designed for
  reading documents in various languages and codes using kanji
  or unicode capable display devices. Like other kanji filters,
  skf provides basic japanese kanji code conversion features, 
  include to/from JIS, EUC, Shift-JIS, UCS2, KEIS83 and UTF-7/8,
  but expanded to handle Korian and Chinese standard codesets.
   Unlike nkf, it does not provide additional fancy features
  like broken jis recovery, but it has support for ISO-8859's,
  European domestic sets, JIS X-0212/X-0213 code conversion, 
  IBM gaiji support and can add other code supports easily.

   skf does not depend on glibc kanji support and locales. This
  program includes everything required for conversion within it.

2. Install SKF
   Since skf depends on only basic file I/O and provides configure
  scripts, install should be easy except some switches related to 
  locale features. Here are supported configure options.

  --enable[disable]-getenv
	Enable/Disable getting user setting from environment
	variables using gettext framework. See man page. Default 
	is enabled, and will be off on platform without gettext.

  --enable[disable]-oldnec
	Enable/Disable old NEC PC Kanji-shift sequence (i.e.
	ESC-K, H). Default is enabled.

  --enable[disable]-debug
	Enable/Disable compiling debugging codes into skf.
	Default is disabled. To gather information for debug,
	use -% option (see man page).

  --enable[disable]-dynamic
	Enable/Disable compiling code tables into skf. Note 
	that disabling this feature results in fairly large
	binary. Default is enabled.

  --enable[disable]-nls
	Enable/Disable locale specific messages. Default is
	enabled, but automatically disabled on OS's without
	gettextized NLS support. Note that skf only contains
	Japanese messages.

  Standard autoconf options, like --prefix and --exec-prefix are
  also supported.
  As shown above, skf implements locale features using GNU gettext
  framework, and the framework is used only to get localized 
  messages. skf does not support X11's catget features.

2.1 Linux, M*cOS X and Un*x-like systems
   If you are using a kind of modern unices system, just type 
  ./configure and then make. You'll get working binary. You might 
  need the gettext package installed to compile.
  Compilation on M*cOS X system (>10.3) is tested and supported, but
  needs gettext package from macport.
  If you are using an other kind of Un*x style system and configure
  process fails, just report! Or try to adjust locale features 
  (--disable-nls), external table features (--disable-dynamic) and CFLAGS
  in Makefile for your system. 
2.1.1. Create RPM package
   Use "make srpm" creates RPM source package in rpm/SRPMS and 
   prepare files to make rpms. Note that ${HOME}/.rpmmacro will
   be overwritten.  You are warned 8-)
   After that, make rpm creates RPM package in rpm/RPMS/${arch}.
2.1.2. Create DEB package
   Debian package creation is well tested and supported.  You can build
   package using dpkg-buildpackage with debhelper (Yep. You need debhelper.
   See debhelper's manual). 

2.2 Wind*ws
   For cygwin environment, cygwin-version binaries compilation is tested
  and supported. You will need latest cygwin environment and both gettext
  and gettext-dev packages for nls feature which will automatically be
  enabled by configure.  Please refer description in Makefile. 
  skf-1.94 doesn't support SFU 3.5. Proceeds with cautions :-)
  Note that name of function in perl extension is set to
  skfc::convert in some environment,
  not skf::convert in 1.94 built under cygwin.

   If you want some detailed or esoteric/cosmetic setting changes,
  see config.h. Common settings can be handled in Makefile.

  Compilation under Msys environment is tested and should work. But not
  fully tested.

3. Install SKF perl/ruby-plugin (will be enabled in 1.94 or later)
   Prerequisite: SWIG, Development package of the target LWL.
   Use "make perlext" in skf-root directory. Binary is generated
   in skf root directory. Requires gcc, and other GNU related stuff
   besides the script language itself. For ruby, s/perl/ruby/.
   Created extension will be skf.so(SKF.so in cygwin environment).


Happy Hacking!

Seiji Kaneko <skaneko@a2.mbn.or.jp>, 23 Jul 2006 22:50 +0900

