diff -Ncr a2ps-4.13/Makefile.am a2ps-4.13-ja_nls/Makefile.am
*** a2ps-4.13/Makefile.am	Sat Feb  5 04:53:09 2000
--- a2ps-4.13-ja_nls/Makefile.am	Tue Jun 20 19:21:40 2000
***************
*** 20,26 ****
  
  ## Make sure to drop doc at the end: it causes may problems, so
  ## let's do the maximum before it
! SUBDIRS = auxdir m4 etc ps ogonkify intl \
  	lib src po tests sheets encoding afm fonts ppd contrib doc man
  
  ## I use special autoconf/make macros
--- 20,26 ----
  
  ## Make sure to drop doc at the end: it causes may problems, so
  ## let's do the maximum before it
! SUBDIRS = auxdir m4 etc ps ogonkify intl libjcode \
  	lib src po tests sheets encoding afm fonts ppd contrib doc man
  
  ## I use special autoconf/make macros
diff -Ncr a2ps-4.13/Makefile.in a2ps-4.13-ja_nls/Makefile.in
*** a2ps-4.13/Makefile.in	Wed Mar  8 19:12:03 2000
--- a2ps-4.13-ja_nls/Makefile.in	Tue Jun 20 19:21:40 2000
***************
*** 133,139 ****
  
  AUTOMAKE_OPTIONS = check-news 1.4a dist-bzip2 readme-alpha
  
! SUBDIRS = auxdir m4 etc ps ogonkify intl \
  	lib src po tests sheets encoding afm fonts ppd contrib doc man
  
  
--- 133,139 ----
  
  AUTOMAKE_OPTIONS = check-news 1.4a dist-bzip2 readme-alpha
  
! SUBDIRS = auxdir m4 etc ps ogonkify intl libjcode \
  	lib src po tests sheets encoding afm fonts ppd contrib doc man
  
  
diff -Ncr a2ps-4.13/README.jp a2ps-4.13-ja_nls/README.jp
*** a2ps-4.13/README.jp	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/README.jp	Tue Jun 20 19:21:40 2000
***************
*** 0 ****
--- 1,89 ----
+ a2ps 4.12¤Ç´Á»ú¤ò°õºþ¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥Á
+ 				·ÄØæÂç³ØÂç³Ø±¡
+ 				¸ÅÀî ÂÙÇ· <yasu@on.cs.keio.ac.jp>
+ 
+ composite font ¤ò»È¤Ã¤Æ´Á»ú¤òÉ½¼¨¤¹¤ë¤¿¤á¤Î¥Ñ¥Ã¥Á¤Ç¤¹¡£
+ composite font¤Ë¤Ï¡¢ÊÒ»³ µªÉ×¤µ¤ó(¤Ï¤¸¤á¤ÆÆüËÜ¸ìghostscript¤òºîÀ®¤·¤¿
+ ¿Í)¤Îfixeucfont ¤ò¥Ù¡¼¥¹¤Ëa2psÍÑ¤ËÂ¿¾¯¼ê¤ò¤¤¤ì¤Æ¤ª¤ê¤Þ¤¹¡£¤³¤ì¤òÍøÍÑ¤¹
+ ¤ë¤³¤È¤Ç¡¢2¥Ð¥¤¥ÈEUC¡ÜASCII¤ÎÊ¸»úÎó¤ÎPostscript¤Î°·¤¤¤¬¤°¤Ã¤È´ÊÃ±¤Ë¤Ê
+ ¤ê¤Þ¤¹¡£
+ 
+ ¡üComposite¥Õ¥©¥ó¥È¤ÎÀßÄêÊýË¡¤Ë¤Ä¤¤¤Æ
+ ºÇÄã¸Â¤ÎÀßÄê¤Ï¥Ñ¥Ã¥Á¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤ºÂç¾æÉ×¤À¤È¤Ï»×¤¤¤Þ
+ ¤¹¡£°ì±þ¥á¥â¤·¤Æ¤ª¤­¤Þ¤¹¡£
+ 
+ encoding¥Õ¥¡¥¤¥ë($prefix/share/a2ps/encoding/¤Î²¼¤Î¥Õ¥¡¥¤¥ë)¤Ë¤Ï
+ ¡ØComposite:¡Ù¤ª¤è¤Ó¡¢¡ØDefaultComposite:¡Ù¤¬¿·¤¿¤Ë»ØÄê¤Ç¤­¤Þ¤¹¡£¤¿¤È
+ ¤¨¤Ð¡¢±Ñ¸ì¥Õ¥©¥ó¥È¤ËÂÐ±þ¤¹¤ëEUC¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ÎÆüËÜ¸ì¥Õ¥©¥ó¥È¤ò½ñ¤¤
+ ¤Æ¹Ô¤­¤Þ¤¹¡£¤Þ¤¿¡¢¤³¤ÎºÝ¡¢¥Õ¥©¥ó¥ÈÉý¤ÈÈ¾³Ñ¤È´Á»ú¤ÎÈæ¤â»ØÄê¤·¤Ê¤¯¤Æ¤Ï¤Ê
+ ¤ê¤Þ¤»¤ó¡£¼êÈ´¤­¤Ë¤è¤Ã¤Æ¡¢´Á»ú¤Ï¸ÇÄêÉý¥Õ¥©¥ó¥È¤·¤«»ØÄê¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
+ 
+ --------------------------------------------------
+ #	                  ÆüËÜ¸ì¥Õ¥©¥ó¥È          ¥Õ¥©¥ó²£Éý	È¾³Ñ¤È´Á»ú¤ÎÈæ
+ DefaultComposite:         Ryumin-Light-EUC-H      1             1.1	
+ #	    ±Ñ¸ì¥Õ¥©¥ó¥È  ÆüËÜ¸ì¥Õ¥©¥ó¥È	  ¥Õ¥©¥ó²£Éý	È¾³Ñ¤È´Á»ú¤ÎÈæ
+ Composite:  Helvetica     GothicBBB-Medium-EUC-H  1		1.1
+ --------------------------------------------------
+ 
+ ¤Þ¤¿¡¢¤³¤ì¤À¤È¼ÐÂÎ´Á»ú¤¬¤Ê¤¯¡¢¤µ¤ß¤·¤¤¤Î¤Ç¡¢SlantFont¤ò»È¤¤¡¢¼ÐÂÎ¤Î´Á
+ »ú¥Õ¥©¥ó¥È¤âºîÀ®¤Ç¤­¤Þ¤¹¡£
+ 
+ --------------------------------------------------
+ #               ¿·µ¬¼ÐÂÎÆüËÜ¸ì¥Õ¥©¥ó¥ÈÌ¾	¥½¡¼¥¹ÆüËÜ¸ì¥Õ¥©¥ó¥È	·¹¤­ÅÙ
+ SlantFont:	Ryumin-Light-EUC-H-Italic	Ryumin-Light-EUC-H	0.2
+ --------------------------------------------------
+ 
+ SlantFont¤ÇÀ¸À®¤·¤¿¼ÐÂÎ¥Õ¥©¥ó¥È¤ÏComposite¥Õ¥©¥ó¥È(Âè2°ú¿ô)¤ÇÍøÍÑ¤Ç¤­
+ ¤Þ¤¹¡£
+ 
+ ¡ü¤³¤Î¥Ñ¥Ã¥Á¤Î¾ÜºÙ¥Ç¡¼¥¿
+   ¡¦»ÄÇ°¤Ê¤¬¤é2¥Ð¥¤¥ÈEUC¥³¡¼¥É¤òÁ°Äó¤È¤·¤¿¥³¡¼¥Ç¥£¥ó¥°¤ò¤·¤Æ¤¤¤Þ¤¹¡£
+     ¤½¤Î¤¿¤á¡¢¤¢¤Þ¤ê´Á»ú°Ê³°¤Î¸À¸ì¤ò¹Í¤¨¤Æ¤ª¤ê¤Þ¤»¤ó¡Ä¡£
+   ¡¦ÁÒ¸÷ ·¯Ïº»á¤Îlibjcode¤ò»È¤Ã¤ÆÆâÉô¤ÇÆþÎÏ¥Õ¥¡¥¤¥ë¤Î´Á»ú¥¨¥ó¥³¡¼¥Ç¥£
+     ¥ó¥°¤ò¤¹¤Ù¤ÆEUC¤ËÊÑ´¹¤·¤Æ½èÍý¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£¤¿¤À¤·¡¢¥ª¥ê¥¸
+     ¥Ê¥ë¤Îlibjcode¤Ï¡¢SJIS¤ª¤è¤ÓEUC¤ÎÈ½Äê¤¬´Å¤«¤Ã¤¿¤Î¤ÇÂ¿¾¯¥«¥¹¥¿¥à¤·
+     ¤Æ¤ª¤ê¤Þ¤¹¡£
+   ¡¦¤Þ¤¿¡¢tex¤Îdelegate(contrib/texi2dvi4a2ps)Ãæ¡¢TeX¥É¥é¥¤¥Ð¤Ë¤ÏpTeX
+     ¤È·è¤á¤¦¤Á¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤¬¤¤¤ä¤Ê¤é¡¢Îã¤¨¤ÐNTT-jTeX¤ò»ÈÍÑ¤·¤¿¤¤¾ì
+     ¹ç¡¢´Ä¶­ÊÑ¿ôTEX¤Ë¡Øjtex¡Ù¤ò¡¢LATEX¤Ë¤Ï¡Øjlatex¡Ù¤ò»ØÄê¤·¤Æ¤¯¤À¤µ¤¤¡£
+   ¡¦compositefont¤òa2psÍÑ¤ËÂ¿¾¯¥«¥¹¥¿¥Þ¥¤¥º¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¥Õ¥©¥ó¥È¤Î¹â
+     ¤µ¤Ê¤É¤Î¾ðÊó¤ò´°Á´¤Ë¸ÇÄê¤Ç·è¤áÂÇ¤Á¤·¤Æ¤¤¤ë²Õ½ê¤¬¤¢¤ê¤Þ¤¹(XXX¤Ç¥á¥â
+     ¤·¤Æ¤¤¤Þ¤¹)¡£¤½¤Î¤¿¤á¤¢¤Þ¤ê±þÍÑÀ­¤¬Äã¤¤¤È»×¤¤¤Þ¤¹¡£
+ 
+ ¡üÈ¾³Ñ¤òÁ´³Ñ¤Î1/2¤ÎÂç¤­¤µ¤Ë¤·¤¿¤¤
+ ¥Ñ¥Ã¥Á¥Ç¥Õ¥©¥ë¥È¤Ç¤ÏÁ´³ÑÊ¸»ú¤ÈÈ¾³ÑÊ¸»ú¤ÎÂç¤­¤µ¤Î¥Ð¥é¥ó¥¹¤Ï¡¢¸«¤¿´¶¤¸¤¬
+ (¸Ä¿ÍÅª¤Ê¥»¥ó¥¹¤Ç)°ÂÄê¤¹¤ë¤è¤¦¤Ë¥Á¥å¡¼¥Ë¥ó¥°¤·¤Æ¤¤¤Þ¤¹¡£¤â¤·¡¢¥Æ¥­¥¹¥È
+ ¤ÇÉ½¤òºîÀ®¤·¤Æ¤¤¤Æ¡¢¤½¤Î¤¿¤á¡¢È¾³ÑÊ¸»ú¤òÁ´³Ñ¤Î¤Á¤ç¤¦¤ÉÈ¾Ê¬¤Ë¤½¤í¤¨¤¿¤¤
+ ¤È¤¤¤¦¾ì¹ç¤ÎÂÐ½èÊýË¡¤ò½ñ¤¤¤Æ¤ª¤­¤Þ¤¹¡£
+ 
+ ¥¤¥ó¥¹¥È¡¼¥ë¸å¡¢$prefix/share/a2ps/encoding/euc-jpÃæ¤Ë¡¢
+ 
+ --------------------------------------------------
+ DefaultComposite:         Ryumin-Light-EUC-H      1.0  1.1
+ --------------------------------------------------
+ 
+ ¤È¤¤¤¦¤Î¤¬¤¢¤ë¤È»×¤¤¤Þ¤¹¡£ºÇ¸å¤Î¡Ø1.1¡Ù¤ò¡Ø0.8342¡Ù¤¢¤¿¤ê¤ËÊÑ¹¹¤·¤Æ²¼
+ ¤µ¤¤¡£¥Î¡¼¥Þ¥ë¸ÇÄêÊ¸»ú¤Ë´Ø¤·¤Æ¤Ï¤³¤ì¤ÇË¾¤ß¤Î·ë²Ì¤¬ÆÀ¤é¤ì¤ë¤È»×¤¤¤Þ¤¹¡£
+ 
+ Â¾¤ÎÂÀ»ú¥Õ¥©¥ó¥È¤Ê¤É¤â¡¢Îã¤¨¤Ð
+ 
+ --------------------------------------------------
+ Composite: Courier-Bold   GothicBBB-Medium-EUC-H  1.0  0.8342
+ --------------------------------------------------
+ 
+ ¤Î¤è¤¦¤ËÊÑ¹¹¤¹¤ì¤Ð¤¤¤¤¤È»×¤¤¤Þ¤¹¡£¤Ê¤ª¡¢Courier¤¬¤Ä¤«¤Ê¤¤¥Õ¥©¥ó¥È
+ (HelveticaÅù)¤Ï¤â¤È¤â¤È¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤Ê¤Î¤Ç¡¢¸ÇÄêÉý¤Ë¤Ï¤Ç¤­
+ ¤Þ¤»¤ó¡£
+ 
+ 
+ 
+ ¡üºÆÇÛÉÛ¤Ë¤Ä¤¤¤Æ
+ ¤Ê¤ó¤À¤«¤ó¤À¤¤¤Ã¤Æ¡¢¤³¤Î¥Ñ¥Ã¥Á¤Ï¡¢
+ 
+ ÁÒ¸÷ ·¯Ïº¤µ¤ó¤Îlibjcode  ¡Ü  ÊÒ»³ µªÉ×¤µ¤ó¤Îfixeucfont 
+ 
+ ¤òÁÈ¤ß¹ç¤ï¤Æ¤Ç¤­¤¿¤â¤Î¤Ç»ä¼«¿È¤Î¥³¡¼¥É¤Ï¼Â¤Ï¤Û¤È¤ó¤É¤¢¤ê¤Þ¤»¤ó¡Ä¡£
+ 
+ »ä¼«¿È¤Î¥³¡¼¥É¤ÏºÆÇÛÉÕ¡¿²þÂ¤¤Ë´Ø¤·¤Æ¤Ê¤ó¤éÀ©¸Â¤òÀß¤±¤ë¤Ä¤â¤ê¤Ï¤¢¤ê¤Þ¤»
+ ¤ó¡£¤¿¤À¤·¡¢»ä°Ê³°¤Î¥³¡¼¥É¤ÎÊý¤¬Â¿¤¤¤¿¤á¡¢°ì±þ¤½¤ì¤À¤±¤Ï¸æÎ»¾µ¤ª´ê¤¤Ã×
+ ¤·¤Þ¤¹¡£
diff -Ncr a2ps-4.13/config.h.in a2ps-4.13-ja_nls/config.h.in
*** a2ps-4.13/config.h.in	Wed Mar  8 18:33:14 2000
--- a2ps-4.13-ja_nls/config.h.in	Tue Jun 20 19:21:40 2000
***************
*** 22,27 ****
--- 22,30 ----
  /* Define if TIOCGWINSZ requires sys/ioctl.h */
  #undef GWINSZ_IN_SYS_IOCTL
  
+ /* Define if you use libjcode for japanese  */
+ #undef USE_LIBJCODE
+ 
  /* Define if you have the `alarm' function. */
  #undef HAVE_ALARM
  
diff -Ncr a2ps-4.13/configure a2ps-4.13-ja_nls/configure
*** a2ps-4.13/configure	Thu Mar  9 02:43:57 2000
--- a2ps-4.13-ja_nls/configure	Tue Jun 20 19:24:38 2000
***************
*** 436,442 ****
    --with-medium=medium    specify the default medium (A4, Letter, Legal, etc.)
                            default=A4
    --with-encoding=enc     specify the default encoding (ascii, latin1,
!                           latin2... latin6, hp etc.) default=latin1
  
  Some influent environment variables:
    CFLAGS      Extra flags for the C compiler
--- 436,443 ----
    --with-medium=medium    specify the default medium (A4, Letter, Legal, etc.)
                            default=A4
    --with-encoding=enc     specify the default encoding (ascii, latin1,
!                           latin2... latin6, euc-jp, hp etc.) default=latin1
!   --enable-libjcode	  Japanese code auto convert library (default: yes)
  
  Some influent environment variables:
    CFLAGS      Extra flags for the C compiler
***************
*** 900,906 ****
  EOF
  
  # Available translations
! ALL_LINGUAS="ca cs da de es et fr it ko nl no pl pt ru sl sv tr"
  
  ## --------------------- ##
  ## Checks for programs.  ##
--- 901,907 ----
  EOF
  
  # Available translations
! ALL_LINGUAS="ca cs da de es et fr it ko nl no pl pt ru sl sv tr ja"
  
  ## --------------------- ##
  ## Checks for programs.  ##
***************
*** 8608,8613 ****
--- 8609,8654 ----
    ENCODING=latin1
  fi
  
+ # Check whether --enable-libjcode or --disable-libjcode was given.
+ if test "${enable_libjcode+set}" = set; then
+   enableval="$enable_libjcode"
+   COMPILE_LIBJCODE=$enableval
+ else
+   COMPILE_LIBJCODE=yes
+ fi
+ 
+ if test "$COMPILE_LIBJCODE" = "yes"; then
+ 	LIBJCODELIBS=\$\(top_builddir\)/libjcode/libjcode.a
+ 	cat >> confdefs.h <<\EOF
+ #define USE_LIBJCODE 1
+ EOF
+ 
+ 	ENCODING=euc-jp
+ fi
+ 
+ 
+ 
+ 
+ # Check whether --enable-libjcode or --disable-libjcode was given.
+ if test "${enable_libjcode+set}" = set; then
+   enableval="$enable_libjcode"
+   COMPILE_LIBJCODE=$enableval
+ else
+   COMPILE_LIBJCODE=yes
+ fi
+ 
+ if test "$COMPILE_LIBJCODE" = "yes"; then
+ 	LIBJCODELIBS=\$\(top_builddir\)/libjcode/libjcode.a
+ 	cat >> confdefs.h <<\EOF
+ #define USE_LIBJCODE 1
+ EOF
+ 
+ 	ENCODING=euc-jp
+ fi
+ 
+ 
+ 
+ 
  ########################
  # Nice special printers
  ########################
***************
*** 10172,10178 ****
  config_files="\\
    contrib/card contrib/fixps contrib/pdiff contrib/psmandup contrib/psset
    Makefile src/Makefile doc/Makefile man/Makefile tests/Makefile tests/defs
!   lib/Makefile auxdir/Makefile m4/Makefile etc/Makefile etc/a2ps_cfg
    etc/a2ps-site.cfg intl/Makefile po/Makefile.in sheets/Makefile
    encoding/Makefile ps/Makefile afm/Makefile contrib/Makefile
    contrib/sample/Makefile contrib/emacs/Makefile fonts/Makefile ppd/Makefile"
--- 10213,10219 ----
  config_files="\\
    contrib/card contrib/fixps contrib/pdiff contrib/psmandup contrib/psset
    Makefile src/Makefile doc/Makefile man/Makefile tests/Makefile tests/defs
!   lib/Makefile libjcode/Makefile auxdir/Makefile m4/Makefile etc/Makefile etc/a2ps_cfg
    etc/a2ps-site.cfg intl/Makefile po/Makefile.in sheets/Makefile
    encoding/Makefile ps/Makefile afm/Makefile contrib/Makefile
    contrib/sample/Makefile contrib/emacs/Makefile fonts/Makefile ppd/Makefile"
***************
*** 10276,10281 ****
--- 10317,10323 ----
    'tests/Makefile' ) CONFIG_FILES="\$CONFIG_FILES tests/Makefile" ;;
    'tests/defs' ) CONFIG_FILES="\$CONFIG_FILES tests/defs" ;;
    'lib/Makefile' ) CONFIG_FILES="\$CONFIG_FILES lib/Makefile" ;;
+   'libjcode/Makefile' ) CONFIG_FILES="\$CONFIG_FILES libjcode/Makefile" ;;
    'auxdir/Makefile' ) CONFIG_FILES="\$CONFIG_FILES auxdir/Makefile" ;;
    'm4/Makefile' ) CONFIG_FILES="\$CONFIG_FILES m4/Makefile" ;;
    'etc/Makefile' ) CONFIG_FILES="\$CONFIG_FILES etc/Makefile" ;;
***************
*** 10451,10456 ****
--- 10493,10500 ----
  s%@LPR_QUEUE_OPTION@%$LPR_QUEUE_OPTION%;t t
  s%@MEDIUM@%$MEDIUM%;t t
  s%@ENCODING@%$ENCODING%;t t
+ s%@COMPILE_LIBJCODE@%$COMPILE_LIBJCODE%g
+ s%@LIBJCODELIBS@%$LIBJCODELIBS%g
  s%@COM_gv@%$COM_gv%;t t
  s%@gv@%$gv%;t t
  s%@COM_ghostview@%$COM_ghostview%;t t
diff -Ncr a2ps-4.13/configure.in a2ps-4.13-ja_nls/configure.in
*** a2ps-4.13/configure.in	Fri Feb 25 02:53:03 2000
--- a2ps-4.13-ja_nls/configure.in	Tue Jun 20 19:21:40 2000
***************
*** 18,24 ****
  AC_SUBST(GNU_PACKAGE)
  
  # Available translations
! ALL_LINGUAS="ca cs da de es et fr it ko nl no pl pt ru sl sv tr"
  
  ## --------------------- ##
  ## Checks for programs.  ##
--- 18,24 ----
  AC_SUBST(GNU_PACKAGE)
  
  # Available translations
! ALL_LINGUAS="ca cs da de es et fr it ko nl no pl pt ru sl sv tr ja"
  
  ## --------------------- ##
  ## Checks for programs.  ##
***************
*** 264,274 ****
  #
  AC_ARG_WITH(encoding,
  AC_HELP_STRING([--with-encoding=enc],
!                [specify the default encoding (ascii, latin1, latin2... latin6, hp etc.) [default=latin1]]),
  ENCODING=$with_encoding,
  ENCODING=latin1)
  AC_SUBST(ENCODING)
  
  ########################
  # Nice special printers
  ########################
--- 264,289 ----
  #
  AC_ARG_WITH(encoding,
  AC_HELP_STRING([--with-encoding=enc],
!                [specify the default encoding (ascii, latin1, latin2... latin6, euc-jp, hp etc.) [default=latin1]]),
  ENCODING=$with_encoding,
  ENCODING=latin1)
  AC_SUBST(ENCODING)
  
+ #
+ # use libjcode
+ #
+ AC_ARG_ENABLE(libjcode,
+ 	[  --enable-libjcode	  Japanese code auto convert library (default: yes)],
+ 			COMPILE_LIBJCODE=$enableval, COMPILE_LIBJCODE=yes)
+ if test "$COMPILE_LIBJCODE" = "yes"; then
+ 	LIBJCODELIBS=\$\(top_builddir\)/libjcode/libjcode.a
+ 	AC_DEFINE(USE_LIBJCODE)
+ 	ENCODING=euc-jp
+ fi
+ AC_SUBST(COMPILE_LIBJCODE)
+ AC_SUBST(LIBJCODELIBS)
+ 
+ 
  ########################
  # Nice special printers
  ########################
***************
*** 359,364 ****
--- 374,380 ----
    tests/Makefile tests/defs
    lib/Makefile
    auxdir/Makefile
+   libjcode/Makefile
    m4/Makefile
    etc/Makefile etc/a2ps_cfg etc/a2ps-site.cfg
    intl/Makefile po/Makefile.in
diff -Ncr a2ps-4.13/contrib/texi2dvi4a2ps a2ps-4.13-ja_nls/contrib/texi2dvi4a2ps
*** a2ps-4.13/contrib/texi2dvi4a2ps	Fri Feb 25 02:45:31 2000
--- a2ps-4.13-ja_nls/contrib/texi2dvi4a2ps	Tue Jun 20 19:21:40 2000
***************
*** 369,375 ****
        makeinfo= # no point in running makeinfo on latex source.
        texindex=${MAKEINDEX:-makeindex}
        if test $oformat = dvi; then
!         tex=${LATEX:-latex}
        else
          tex=${PDFLATEX:-pdflatex}
        fi
--- 369,375 ----
        makeinfo= # no point in running makeinfo on latex source.
        texindex=${MAKEINDEX:-makeindex}
        if test $oformat = dvi; then
!         tex=${LATEX:-platex}
        else
          tex=${PDFLATEX:-pdflatex}
        fi
***************
*** 380,386 ****
        bibtex=
        texindex=${TEXINDEX:-texindex}
        if test $oformat = dvi; then
!         tex=${TEX:-tex}
        else
          tex=${PDFTEX:-pdftex}
        fi
--- 380,386 ----
        bibtex=
        texindex=${TEXINDEX:-texindex}
        if test $oformat = dvi; then
!         tex=${TEX:-ptex}
        else
          tex=${PDFTEX:-pdftex}
        fi
diff -Ncr a2ps-4.13/encoding/Makefile.am a2ps-4.13-ja_nls/encoding/Makefile.am
*** a2ps-4.13/encoding/Makefile.am	Fri May 14 21:47:45 1999
--- a2ps-4.13-ja_nls/encoding/Makefile.am	Tue Jun 20 19:21:40 2000
***************
*** 16,22 ****
  minor_encodings = \
  ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf	\
  iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf	\
! iso15.edf koi8.edf
  
  if EXTENSIONS
  encodings_DATA = encoding.map $(major_encodings) $(minor_encodings)
--- 16,22 ----
  minor_encodings = \
  ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf	\
  iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf	\
! iso15.edf koi8.edf euc-jp.edf
  
  if EXTENSIONS
  encodings_DATA = encoding.map $(major_encodings) $(minor_encodings)
diff -Ncr a2ps-4.13/encoding/Makefile.in a2ps-4.13-ja_nls/encoding/Makefile.in
*** a2ps-4.13/encoding/Makefile.in	Fri Feb 25 03:00:40 2000
--- a2ps-4.13-ja_nls/encoding/Makefile.in	Tue Jun 20 20:54:35 2000
***************
*** 141,147 ****
  minor_encodings = \
  ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf	\
  iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf	\
! iso15.edf koi8.edf
  
  @EXTENSIONS_TRUE@encodings_DATA = @EXTENSIONS_TRUE@encoding.map $(major_encodings) $(minor_encodings)
  @EXTENSIONS_FALSE@encodings_DATA = @EXTENSIONS_FALSE@encoding.map $(major_encodings)
--- 141,147 ----
  minor_encodings = \
  ms-cp1250.edf hp.edf mac.edf ibm-cp437.edf ibm-cp850.edf iso2.edf	\
  iso3.edf iso4.edf iso5.edf iso7.edf iso9.edf iso10.edf iso13.edf	\
! iso15.edf koi8.edf euc-jp.edf
  
  @EXTENSIONS_TRUE@encodings_DATA = @EXTENSIONS_TRUE@encoding.map $(major_encodings) $(minor_encodings)
  @EXTENSIONS_FALSE@encodings_DATA = @EXTENSIONS_FALSE@encoding.map $(major_encodings)
diff -Ncr a2ps-4.13/encoding/encoding.map a2ps-4.13-ja_nls/encoding/encoding.map
*** a2ps-4.13/encoding/encoding.map	Fri May 14 21:48:27 1999
--- a2ps-4.13-ja_nls/encoding/encoding.map	Tue Jun 20 19:21:40 2000
***************
*** 93,98 ****
--- 93,104 ----
  koi8			koi8
  koi			koi8
  
+ euc-jp			euc-jp
+ eucjp			euc-jp
+ japanese		euc-jp
+ ja			euc-jp
+ jp			euc-jp
+ 
  ########################################################################
  # Some architectures specific char sets
  ########################################################################
diff -Ncr a2ps-4.13/encoding/euc-jp.edf a2ps-4.13-ja_nls/encoding/euc-jp.edf
*** a2ps-4.13/encoding/euc-jp.edf	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/encoding/euc-jp.edf	Tue Jun 20 19:21:40 2000
***************
*** 0 ****
--- 1,109 ----
+ # Description of the EUC-JP encoding
+ # Copyright (c) 1988, 89, 90, 91, 92, 93 Miguel Santana
+ # Copyright (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana
+ #
+ 
+ #
+ # This file is part of a2ps.
+ # 
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2, or (at your option)
+ # any later version.
+ #
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; see the file COPYING.  If not, write to
+ # the Free Software Foundation, 59 Temple Place - Suite 330,
+ # Boston, MA 02111-1307, USA.
+ #
+ 
+ Name: EUC-JP
+ 
+ # This text is reproduced by a courtesy of Roman Czyborra
+ # http://czyborra.com/charsets/iso8859.html
+ Documentation
+ The EUC-JP character set, often simply referred to as Latin 1,
+ covers most West European languages, such as French, Spanish, Catalan,
+ Basque, Portuguese, Italian, Albanian, Rhaeto-Romanic, Dutch, German,
+ Danish, Swedish, Norwegian, Finnish, Faroese, Icelandic, Irish,
+ Scottish, and English, incidentally also Afrikaans and Swahili, thus
+ in effect also the entire American continent, Australia and the
+ southern two-thirds of Africa. The lack of the ligatures Dutch IJ,
+ French OE and ,,German`` quotation marks is considered tolerable.
+ 
+ The lack of the new C=-resembling Euro currency symbol U+20AC has
+ opened the discussion of a new Latin0.
+ EndDocumentation
+ 
+ # If there is an unknown font requested, use Courier
+ Default: Courier
+ 
+ # Automatic spell checking :)
+ Substitute: 	Times			Times-Roman
+ Substitute: 	Helvetica-Italic	Helvetica-Oblique
+ Substitute: 	Helvetica-BoldItalic	Helvetica-BoldOblique
+ 
+ 
+ # SlantFont for Japanese Italic Kanji font
+ #		new font			source font		value
+ SlantFont:	Ryumin-Light-EUC-H-Italic	Ryumin-Light-EUC-H	0.2
+ SlantFont:	GothicBBB-Medium-EUC-H-Italic	GothicBBB-Medium-EUC-H	0.2
+ 
+ # Compose font for japanese EUC code
+ #		target font		additional font			width	size rate
+ DefaultComposite:			Ryumin-Light-EUC-H		1.0	1.1
+ 
+ # 1:2 fixed
+ #DefaultComposite:			Ryumin-Light-EUC-H		1.0	0.8333
+ 
+ # 1:1 fixed
+ #DefaultComposite:			Ryumin-Light-EUC-H		1.0	1.6666
+ 
+ Composite:	Helvetica		GothicBBB-Medium-EUC-H		1.0	1.1
+ Composite:	Helvetica-Oblique	GothicBBB-Medium-EUC-H-Italic	1.0 	1.1
+ Composite:	Helvetica-Bold		GothicBBB-Medium-EUC-H  	1.0 	1.1
+ Composite:	Helvetica-BoldOblique	GothicBBB-Medium-EUC-H-Italic	1.0	1.1
+ 
+ Composite:	Courier-Oblique		Ryumin-Light-EUC-H-Italic	1.0	1.1
+ Composite:	Courier-Bold		GothicBBB-Medium-EUC-H		1.0	1.1
+ Composite:	Courier-BoldOblique	GothicBBB-Medium-EUC-H-Italic	1.0	1.1
+ Composite:	Times-Bold		GothicBBB-Medium-EUC-H		1.0	1.1
+ 
+ Vector:
+ .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+ .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+ .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+ .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+ space exclam quotedbl numbersign dollar percent ampersand quoteright
+ parenleft parenright asterisk plus comma minus period slash
+ zero one two three four five six seven
+ eight nine colon semicolon less equal greater question
+ at A B C D E F G
+ H I J K L M N O
+ P Q R S T U V W
+ X Y Z bracketleft backslash bracketright asciicircum underscore
+ quoteleft a b c d e f g
+ h i j k l m n o
+ p q r s t u v w
+ x y z braceleft bar braceright asciitilde .notdef
+ .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+ .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+ .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+ .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+ space exclamdown cent sterling currency yen brokenbar section
+ dieresis copyright ordfeminine guillemotleft logicalnot hyphen registered macron
+ degree plusminus twosuperior threesuperior acute mu paragraph bullet
+ cedilla onesuperior ordmasculine guillemotright onequarter onehalf threequarters questiondown
+ Agrave Aacute Acircumflex Atilde Adieresis Aring AE Ccedilla
+ Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis
+ Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis multiply
+ Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn germandbls
+ agrave aacute acircumflex atilde adieresis aring ae ccedilla
+ egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis
+ eth ntilde ograve oacute ocircumflex otilde odieresis divide
+ oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis
diff -Ncr a2ps-4.13/lib/encoding.c a2ps-4.13-ja_nls/lib/encoding.c
*** a2ps-4.13/lib/encoding.c	Wed Sep  1 02:42:41 1999
--- a2ps-4.13-ja_nls/lib/encoding.c	Tue Jun 20 20:26:39 2000
***************
*** 38,43 ****
--- 38,46 ----
  #include "document.h"
  #include "quotearg.h"
  #include "strverscmp.h"
+ #ifdef USE_LIBJCODE
+ int use_libjcode = false;
+ #endif
  
  /* Suffix of the Encoding Description Files */
  #define EDF_SUFFIX ".edf"
***************
*** 390,404 ****
--- 393,417 ----
   * Association of suffixes rules, and corresponding style sheet
   * (The hashing is upon `alias')
   */
+ struct slantfont_info {
+   char * name;
+   char * src;
+   float raito;
+ };
+ 
  struct encoding {
    char * key;			/* e.g. latin1			*/
    char * name;			/* e.g. ISO Latin 1		*/
+   int    composite_flag;		/* flag for composite font	*/
    uchar * documentation;		/* Useful pieces of text	*/
  
    char * default_font;		/* When a font can't be used
  				   define the font to use	*/
    struct pair_htable * substitutes;	/* e.g. in latin2, don't use
  					 * Courier, but Courier-Ogonki	*/
+   struct pair_htable * composite;
+ 
+   struct slantfont_info     slantfont[NB_FACES];
  
    char * vector[256];	/* Define the char set			*/
    struct darray * font_names_used;
***************
*** 408,413 ****
--- 421,429 ----
    struct hash_table_s * fonts;	/* Contains cells that are
  				 * 1. name of font, 2. int wx[256] 	*/
    unsigned int * faces_wx[NB_FACES];
+ 
+   unsigned int   composite_wx[NB_FACES];     /* fixed length font width*/
+   float          composite_raito[NB_FACES];  /* size raito of additonal and orinal font */
  };
  
  /*
***************
*** 424,432 ****
--- 440,451 ----
    res->name = NULL;
    res->default_font = NULL;
    res->documentation = NULL;
+   res->composite_flag = false;
  
    /* Vector will be set by setup */
    res->substitutes = pair_table_new ();
+   res->composite = pair_table_new ();
+   res->slantfont[0].name = NULL;
    res->font_names_used = da_new ("List of font names", 10,
  				 da_linear, 10,
  				 (da_print_func_t) da_str_print,
***************
*** 472,477 ****
--- 491,524 ----
  }
  
  /*
+  * Add a composite font in the current encoding
+  */
+ static void
+ encoding_add_composite_font (struct encoding * encoding,
+ 			      const char * orig, const char * subs,
+ 			      int wx, float raito)
+ {
+   encoding->composite_flag = true;
+   pair_add2 (encoding->composite, orig, subs, wx, raito);
+ }
+ 
+ /*
+  * Add a composite font in the current encoding
+  */
+ static void
+ encoding_add_slant_font (struct encoding * encoding,
+ 			 const char * new, const char * src,
+ 			 float raito)
+ {
+   static num =  0;
+   encoding->slantfont[num].name = strdup(new);
+   encoding->slantfont[num].src  = strdup(src);
+   encoding->slantfont[num].raito = raito;
+   encoding->slantfont[num+1].name = NULL;
+   num++;
+ }
+ 
+ /*
   * When FONT_NAME is used with ENCODING, return the
   * real font name to use (e.g., in latin2, Courier-Ogonki
   * should be returned when asked for Courier).
***************
*** 515,520 ****
--- 562,638 ----
      }
  
    message (msg_enc,
+ 	   (stderr, "In encoding %s, composite font for %s is resolved as %s\n",
+ 	    encoding->key, font_name, res));
+   return res;
+ }
+ 
+ /*
+  * Get composite font size and raito
+  */
+ static int
+ composite_font_info_get_wx(struct a2ps_job * job,
+ 			   struct encoding * encoding,
+ 			   const char * font_list)
+ {
+   int wx= -1;
+   char * font_list_copy;
+   char * font_name;
+   astrcpy (font_list_copy, font_list);
+   font_name = strtok (font_list_copy, ",<>;");
+ 
+   wx = pair_get_wx (encoding->composite, font_name);
+   if (wx<0)
+       wx = pair_get_wx (encoding->composite, "default_composite__");
+ 
+   return wx;
+ }
+ 
+ static float
+ composite_font_info_get_raito(struct a2ps_job * job,
+ 			      struct encoding * encoding,
+ 			      const char * font_list)
+ {
+   float raito= -1;
+   char * font_list_copy;
+   char * font_name;
+ 
+   astrcpy (font_list_copy, font_list);
+   font_name = strtok (font_list_copy, ",<>;");
+ 
+   raito = pair_get_raito (encoding->composite, font_name);
+   if (raito<0)
+       raito = pair_get_raito (encoding->composite, "default_composite__");
+   return raito;
+ }
+ 
+ const char *
+ encoding_resolve_composite_font (struct a2ps_job * job,
+ 				  struct encoding * encoding,
+ 				  const char * font_list)
+ {
+   const char * res = NULL;
+   char * font_list_copy;
+   char * font_name;
+ 
+   astrcpy (font_list_copy, font_list);
+   font_name = strtok (font_list_copy, ",<>;");
+ 
+   /* Find if there is a substitute for that font */
+   res = pair_get (encoding->composite, font_name);
+ 
+   /* We've found nothing interesting.  Last chance is the default
+    * font */
+   if (!res)
+     {
+       res = pair_get (encoding->composite, "default_composite__");
+ 
+       if (!res)
+ 	error (1, 0, "Cannot find font %s, nor any composite font",
+ 	       font_name);
+     }
+   
+   message (msg_enc,
  	   (stderr, "In encoding %s, font %s is resolved as %s\n",
  	    encoding->key, font_name, res));
    return res;
***************
*** 586,591 ****
--- 704,715 ----
  	{
  	  token2 = GET_TOKEN (NULL);
  	  CHECK_TOKEN ();
+ #ifdef USE_LIBJCODE
+ 	  if( strcmp(token2, "EUC-JP")== 0)
+ 	    use_libjcode = true;
+ 	  else 
+ 	    use_libjcode = false;
+ #endif
  	  encoding->name = xstrdup (token2);
  	}
        else if (strequ (token, "Default:"))
***************
*** 634,639 ****
--- 758,823 ----
  	  subs = token2;
  	  encoding_add_font_substitute (encoding, orig, subs);
  	}
+       else if (strequ (token, "DefaultComposite:"))
+ 	{
+ 	  char * orig, * subs;
+ 	  int wx;
+ 	  float raito;
+ 
+ 	  token2 = GET_TOKEN (NULL);
+ 	  CHECK_TOKEN ();
+ 	  subs = token2;
+ 	  token2 = GET_TOKEN (NULL);
+ 	  CHECK_TOKEN ();
+ 	  wx = (int)atof(token2)*1000;
+ 	  token2 = GET_TOKEN (NULL);
+ 	  CHECK_TOKEN ();
+ 	  raito = atof(token2);
+ 	  encoding_add_composite_font(encoding, "default_composite__",
+ 				      subs, wx, raito);
+ 	}
+       else if (strequ (token, "Composite:"))
+ 	{
+ 	  char * orig, * subs;
+ 	  int wx;
+ 	  float raito;
+ 
+ 	  token2 = GET_TOKEN (NULL);
+ 	  CHECK_TOKEN ();
+ 	  orig = token2;
+ 	  token2 = GET_TOKEN (NULL);
+ 	  CHECK_TOKEN ();
+ 	  subs = token2;
+ 	  token2 = GET_TOKEN (NULL);
+ 	  CHECK_TOKEN ();
+ 	  wx = (int)atof(token2)*1000;
+ 	  token2 = GET_TOKEN (NULL);
+ 	  CHECK_TOKEN ();
+ 	  raito = atof(token2);
+ 	  encoding_add_composite_font(encoding, orig, subs, wx, raito);
+ 	}
+       else if (strequ (token, "SlantFont:"))
+ 	{
+ 	  char * new, * src;
+ 	  float raito;
+ 	  unsigned int num;
+ 
+ 	  token2 = GET_TOKEN (NULL);
+ 	  CHECK_TOKEN ();
+ 	  new = token2;
+ 	  token2 = GET_TOKEN (NULL);
+ 	  CHECK_TOKEN ();
+ 	  src = token2;
+ 	  token2 = GET_TOKEN (NULL);
+ 	  CHECK_TOKEN ();
+ 	  raito = atof(token2);
+ 	  for (num = 0 ; encoding->slantfont[num].name ; num ++ );
+ 	  if (num > sizeof encoding->slantfont - 1){
+ 	      error_at_line (1, 0, fname, firstline,
+ 			   _("too many slant font: `%s'"), new);
+ 	  }
+ 	  encoding_add_slant_font(encoding, new, src, raito);
+ 	}
        else
          error_at_line (1, 0, fname, firstline,
                         _("invalid option `%s'"), quotearg (token));
***************
*** 755,760 ****
--- 939,953 ----
  }
  
  /*
+  * Return the flag of composite flag
+  */
+ int
+ encoding_get_composite_flag (struct encoding * enc)
+ {
+   return enc->composite_flag;
+ }
+ 
+ /*
   * Prepare the environment (a dictionary) for the support
   * of ENCODING, dump it into STREAM.
   *
***************
*** 767,775 ****
--- 960,970 ----
  		     struct encoding * encoding)
  {
    size_t i, nb;
+   size_t ns;
    const char * real_font_name;		/* After subsitution	*/
    char ** font_names = (char **) encoding->font_names_used->content;
  
+ 
    /* How many fonts are there? */
    da_qsort (encoding->font_names_used);
    da_unique (encoding->font_names_used, (da_map_func_t) free);
***************
*** 788,802 ****
     * in the current ENCODING	*/
    nb = encoding->font_names_used->len;
  
    /* Create the dictionary and fill it */
    fprintf (stream, "%% Dictionary for %s support\n",
  	  encoding->name);
!   fprintf (stream, "/%sdict %d dict begin\n", encoding->key, nb);
    for (i = 0 ; i < nb ; i++)
      fprintf (stream, "  /f%s %sEncoding /%s reencode_font\n",
  	     font_names [i],
  	     encoding->name,
  	     encoding_resolve_font_substitute (job, encoding, font_names [i]));
    fputs ("currentdict end def\n", stream);
  }
  
--- 983,1028 ----
     * in the current ENCODING	*/
    nb = encoding->font_names_used->len;
  
+   /* The number of slant fonts */
+   for (i= 0, ns=0 ; encoding->slantfont[i].name ; i++ )
+       ns++;
+ 
    /* Create the dictionary and fill it */
    fprintf (stream, "%% Dictionary for %s support\n",
  	  encoding->name);
!   fprintf (stream, "/%sdict %d dict begin\n", encoding->key,
! 	   (encoding->composite_flag == true)? nb+nb+ns:nb+ns);
    for (i = 0 ; i < nb ; i++)
      fprintf (stream, "  /f%s %sEncoding /%s reencode_font\n",
  	     font_names [i],
  	     encoding->name,
  	     encoding_resolve_font_substitute (job, encoding, font_names [i]));
+ 
+   /* Slant font setting */
+   for (i = 0 ; encoding->slantfont[i].name ; i++ )
+     fprintf (stream, "  /%s /%s %f slantfont  definefont pop\n",
+ 	     encoding->slantfont[i].name,
+ 	     encoding->slantfont[i].src,
+ 	     encoding->slantfont[i].raito);
+ 
+   /*
+    * Composite font setting.
+    * If kanji font size is larger than alphabet character, 
+    * set base font size to kanji charactor size.
+    */
+   if (encoding->composite_flag == true) {
+     for (i = 0 ; i < nb ; i++)
+       fprintf (stream, "  /f%s /f%s /%s %f %f false  compositefont "
+ 	               "%f scalefont def\n",
+ 	       font_names [i],
+ 	       font_names [i],
+ 	       encoding_resolve_composite_font (job, encoding, font_names [i]),
+ 	       encoding->composite_raito[i],
+ 	       (encoding->composite_raito[i] > 1.0)?
+ 	       0: (1-encoding->composite_raito[i])/2.0,
+ 	       (encoding->composite_raito[i] > 1.0)?
+ 	       1.0/encoding->composite_raito[i]: 1.0 );
+   }
    fputs ("currentdict end def\n", stream);
  }
  
***************
*** 940,945 ****
--- 1166,1187 ----
  				   true_font_name,
  				   encoding->vector,
  				   encoding->faces_wx [face]);
+ 
+       if (encoding->composite_flag)
+ 	{
+ 	  encoding->composite_raito[i] =
+ 	    composite_font_info_get_raito(job, encoding, 
+ 					  job->face_eo_font [face]);
+ 
+ 	  encoding->composite_wx[i] =
+ 	    composite_font_info_get_wx(job, encoding, 
+ 				       job->face_eo_font [face]);
+ 
+ 	  /* If kanji font size is larger than alphabet character, 
+ 	     fit kanji charactor size to base font size */
+ 	  if (encoding->composite_raito[i] < 1.0)
+ 	      encoding->composite_wx[i] *= encoding->composite_raito[i]; 
+ 	}
      }
  }
  
***************
*** 1072,1077 ****
--- 1314,1326 ----
      }
  
    return 0;	/* For -Wall */
+ }
+ 
+ unsigned int
+ char_composite_WX (a2ps_job * job, uchar c)
+ {
+   return (job->encoding->composite_wx[job->status->face]/
+ 	  job->encoding->composite_raito[job->status->face]);
  }
  
  /*
diff -Ncr a2ps-4.13/lib/encoding.h a2ps-4.13-ja_nls/lib/encoding.h
*** a2ps-4.13/lib/encoding.h	Wed Sep  1 02:42:41 1999
--- a2ps-4.13-ja_nls/lib/encoding.h	Tue Jun 20 19:21:40 2000
***************
*** 43,48 ****
--- 43,49 ----
   */
  unsigned int char_WX PARAMS ((struct a2ps_job * job, uchar c));
  unsigned int string_WX PARAMS ((struct a2ps_job * job, uchar * string));
+ unsigned int char_composite_WX PARAMS ((struct a2ps_job * job, uchar c));
  
  
  /************************************************************************/
***************
*** 56,61 ****
--- 57,63 ----
  					FILE * stream));
  int encoding_char_exists PARAMS ((struct encoding * enc,
  					enum face_e face, uchar c));
+ int encoding_get_composite_flag (struct encoding * enc);
  struct encoding *
  get_encoding_by_alias PARAMS ((struct a2ps_job * job, 
  			       char *string));
***************
*** 67,72 ****
--- 69,80 ----
   * use (e.g., in latin2, Courier-Ogonki should be returned when asked
   * for Courier).  */
  const char * encoding_resolve_font_substitute
+ 	PARAMS ((struct a2ps_job * job,
+ 		 struct encoding * encoding,
+ 		 const char * font_name));
+ 
+ 
+ const char * encoding_resolve_composite_font
  	PARAMS ((struct a2ps_job * job,
  		 struct encoding * encoding,
  		 const char * font_name));
diff -Ncr a2ps-4.13/lib/pair_ht.c a2ps-4.13-ja_nls/lib/pair_ht.c
*** a2ps-4.13/lib/pair_ht.c	Wed Sep  1 02:42:41 1999
--- a2ps-4.13-ja_nls/lib/pair_ht.c	Tue Jun 20 20:26:40 2000
***************
*** 49,54 ****
--- 49,56 ----
  {
    char * key;
    char * value;
+   float  raito;
+   int    wx;
  };
  
  /*
***************
*** 165,170 ****
--- 167,203 ----
  }
  
  /*
+  *  Add a pair, with your own allocation for them.
+  * It KEY is yet used, override its value with VALUE
+  */
+ void
+ pair_add2 (struct hash_table_s * table,
+ 	  const char * key, const char * value, int wx, float raito)
+ {
+   struct pair * item, token;
+   
+   token.key = (char *) key;
+   item = (struct pair *) hash_find_item (table, &token);
+ 
+   if (item) {
+     if (item->value)
+       free (item->value);
+   } else {
+     item = XMALLOC (struct pair, 1);
+     item->key = xstrdup(key);
+     item->wx    = wx;
+     item->raito = raito;
+   }
+   
+   if (value)
+     item->value = xstrdup (value);
+   else
+     item->value = NULL;
+ 
+   hash_insert (table, item);
+ }
+ 
+ /*
   * Remove a pair and free it.
   * It KEY is yet used, override its value with VALUE
   */
***************
*** 199,204 ****
--- 232,265 ----
      return item->value;
    else
      return NULL;
+ }
+ 
+ int
+ pair_get_wx (struct hash_table_s * table, const char * key)
+ {
+   struct pair * item, token;
+   
+   token.key = (char *) key;
+   item = (struct pair *) hash_find_item (table, &token);
+ 
+   if (item)
+     return item->wx;
+   else
+     return -1;
+ }
+ 
+ float
+ pair_get_raito (struct hash_table_s * table, const char * key)
+ {
+   struct pair * item, token;
+   
+   token.key = (char *) key;
+   item = (struct pair *) hash_find_item (table, &token);
+ 
+   if (item)
+     return item->raito;
+   else
+     return -1;
  }
  
  /*
diff -Ncr a2ps-4.13/lib/pair_ht.h a2ps-4.13-ja_nls/lib/pair_ht.h
*** a2ps-4.13/lib/pair_ht.h	Wed Sep  1 02:42:41 1999
--- a2ps-4.13-ja_nls/lib/pair_ht.h	Tue Jun 20 19:21:40 2000
***************
*** 56,61 ****
--- 56,65 ----
  void pair_add PARAMS ((struct pair_htable * table, 
  		       const char * key, const char * value));
  
+ void pair_add2 PARAMS ((struct pair_htable * table, 
+ 		       const char * key, const char * value,
+ 			int wx, float raito));
+ 
  /*
   * The key and value of the matching item  will be free'd
   * (No problem if KEY matches nothing)
***************
*** 68,73 ****
--- 72,81 ----
   */
  char * pair_get PARAMS ((struct pair_htable * table,
  			 const char * key));
+ int    pair_get_wx PARAMS ((struct pair_htable * table,
+ 			    const char * key));
+ float  pair_get_raito PARAMS ((struct pair_htable * table,
+ 			       const char * key));
  
  void pair_table_list_short PARAMS ((struct pair_htable * table,
  				    FILE * stream));
diff -Ncr a2ps-4.13/lib/psgen.c a2ps-4.13-ja_nls/lib/psgen.c
*** a2ps-4.13/lib/psgen.c	Sun Jan 16 08:15:07 2000
--- a2ps-4.13-ja_nls/lib/psgen.c	Tue Jun 20 20:26:39 2000
***************
*** 875,880 ****
--- 875,881 ----
    print:
    default:
      {
+       static mb_flag= 0;
        uchar buf[256];
        int nchars;
        *buf = '\0';
***************
*** 889,894 ****
--- 890,918 ----
      job->status->face_declared = false;
    }
  
+   if (c > 127 && encoding_get_composite_flag (job->encoding) &&
+       job->status->face != Symbol) {
+     if (mb_flag) {
+         nchars = ps_escape_char (job, mb_flag, buf) + 
+ 	         ps_escape_char (job, c, buf);
+ 	job->status->wx += char_composite_WX(job, c);
+ 	job->status->column += nchars;
+ 	if (line_full) {
+ 	    if (job->folding) {
+ 	        fold_line (job, new_face);
+ 		job->status->column = nchars*2;
+ 		job->status->wx = char_composite_WX(job, c);
+ 	    } else {
+ 	      job->status->is_in_cut = true;
+ 	      return;
+ 	    }
+ 	}
+ 	mb_flag = 0;
+     } else {
+         mb_flag = c;
+ 	return;
+     }
+   } else {
        nchars = ps_escape_char (job, c, buf);
        job->status->wx += char_WX (job, c);
        job->status->column += nchars;
***************
*** 902,909 ****
  	  return;
  	}
        }
        output (jdiv, "%s", buf);
!       job->status->chars++;
      }
      break;
    }
--- 926,934 ----
  	  return;
  	}
        }
+   }
        output (jdiv, "%s", buf);
!       job->status->chars+=nchars;
      }
      break;
    }
diff -Ncr a2ps-4.13/libjcode/Doc/rfc1468.txt a2ps-4.13-ja_nls/libjcode/Doc/rfc1468.txt
*** a2ps-4.13/libjcode/Doc/rfc1468.txt	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/libjcode/Doc/rfc1468.txt	Tue Jun 20 19:21:40 2000
***************
*** 0 ****
--- 1,339 ----
+ 
+ 
+ 
+ 
+ 
+ 
+ Network Working Group                                           J. Murai
+ Request for Comments: 1468                               Keio University
+                                                               M. Crispin
+                                                        Panda Programming
+                                                          E. van der Poel
+                                                                June 1993
+ 
+ 
+            Japanese Character Encoding for Internet Messages
+ 
+ Status of this Memo
+ 
+    This memo provides information for the Internet community.  It does
+    not specify an Internet standard.  Distribution of this memo is
+    unlimited.
+ 
+ Introduction
+ 
+    This document describes the encoding used in electronic mail [RFC822]
+    and network news [RFC1036] messages in several Japanese networks. It
+    was first specified by and used in JUNET [JUNET]. The encoding is now
+    also widely used in Japanese IP communities.
+ 
+    The name given to this encoding is "ISO-2022-JP", which is intended
+    to be used in the "charset" parameter field of MIME headers (see
+    [MIME1] and [MIME2]).
+ 
+ Description
+ 
+    The text starts in ASCII [ASCII], and switches to Japanese characters
+    through an escape sequence. For example, the escape sequence ESC $ B
+    (three bytes, hexadecimal values: 1B 24 42) indicates that the bytes
+    following this escape sequence are Japanese characters, which are
+    encoded in two bytes each.  To switch back to ASCII, the escape
+    sequence ESC ( B is used.
+ 
+    The following table gives the escape sequences and the character sets
+    used in ISO-2022-JP messages. The ISOREG number is the registration
+    number in ISO's registry [ISOREG].
+ 
+        Esc Seq    Character Set                  ISOREG
+ 
+        ESC ( B    ASCII                             6
+        ESC ( J    JIS X 0201-1976 ("Roman" set)    14
+        ESC $ @    JIS X 0208-1978                  42
+        ESC $ B    JIS X 0208-1983                  87
+ 
+    Note that JIS X 0208 was called JIS C 6226 until the name was changed
+ 
+ 
+ 
+ Murai, Crispin & van der Poel                                   [Page 1]
+ 
+ RFC 1468   Japanese Character Encoding for Internet Messages   June 1993
+ 
+ 
+    on March 1st, 1987. Likewise, JIS C 6220 was renamed JIS X 0201.
+ 
+    The "Roman" character set of JIS X 0201 [JISX0201] is identical to
+    ASCII except for backslash () and tilde (~). The backslash is
+    replaced by the Yen sign, and the tilde is replaced by overline. This
+    set is Japan's national variant of ISO 646 [ISO646].
+ 
+    The JIS X 0208 [JISX0208] character sets consist of Kanji, Hiragana,
+    Katakana and some other symbols and characters. Each character takes
+    up two bytes.
+ 
+    For further details about the JIS Japanese national character set
+    standards, refer to [JISX0201] and [JISX0208].  For further
+    information about the escape sequences, see [ISO2022] and [ISOREG].
+ 
+    If there are JIS X 0208 characters on a line, there must be a switch
+    to ASCII or to the "Roman" set of JIS X 0201 before the end of the
+    line (i.e., before the CRLF). This means that the next line starts in
+    the character set that was switched to before the end of the previous
+    line.
+ 
+    Also, the text must end in ASCII.
+ 
+    Other restrictions are given in the Formal Syntax below.
+ 
+ Formal Syntax
+ 
+    The notational conventions used here are identical to those used in
+    RFC 822 [RFC822].
+ 
+    The * (asterisk) convention is as follows:
+ 
+        l*m something
+ 
+    meaning at least l and at most m somethings, with l and m taking
+    default values of 0 and infinity, respectively.
+ 
+ 
+    message             = headers 1*( CRLF *single-byte-char *segment
+                          single-byte-seq *single-byte-char )
+                                            ; see also [MIME1] "body-part"
+                                            ; note: must end in ASCII
+ 
+    headers             = <see [RFC822] "fields" and [MIME1] "body-part">
+ 
+    segment             = single-byte-segment / double-byte-segment
+ 
+    single-byte-segment = single-byte-seq 1*single-byte-char
+ 
+ 
+ 
+ Murai, Crispin & van der Poel                                   [Page 2]
+ 
+ RFC 1468   Japanese Character Encoding for Internet Messages   June 1993
+ 
+ 
+    double-byte-segment = double-byte-seq 1*( one-of-94 one-of-94 )
+ 
+    single-byte-seq     = ESC "(" ( "B" / "J" )
+ 
+    double-byte-seq     = ESC "$" ( "@" / "B" )
+ 
+    CRLF                = CR LF
+ 
+                                                     ; ( Octal, Decimal.)
+ 
+    ESC                 = <ISO 2022 ESC, escape>     ; (    33,      27.)
+ 
+    SI                  = <ISO 2022 SI, shift-in>    ; (    17,      15.)
+ 
+    SO                  = <ISO 2022 SO, shift-out>   ; (    16,      14.)
+ 
+    CR                  = <ASCII CR, carriage return>; (    15,      13.)
+ 
+    LF                  = <ASCII LF, linefeed>       ; (    12,      10.)
+ 
+    one-of-94           = <any one of 94 values>     ; (41-176, 33.-126.)
+ 
+    7BIT                = <any 7-bit value>          ; ( 0-177,  0.-127.)
+ 
+    single-byte-char    = <any 7BIT, including bare CR & bare LF, but NOT
+                           including CRLF, and not including ESC, SI, SO>
+ 
+ MIME Considerations
+ 
+    The name given to the JUNET character encoding is "ISO-2022-JP". This
+    name is intended to be used in MIME messages as follows:
+ 
+        Content-Type: text/plain; charset=iso-2022-jp
+ 
+    The ISO-2022-JP encoding is already in 7-bit form, so it is not
+    necessary to use a Content-Transfer-Encoding header. It should be
+    noted that applying the Base64 or Quoted-Printable encoding will
+    render the message unreadable in current JUNET software.
+ 
+    ISO-2022-JP may also be used in MIME Part 2 headers.  The "B"
+    encoding should be used with ISO-2022-JP text.
+ 
+ Background Information
+ 
+    The JUNET encoding was described in the JUNET User's Guide [JUNET]
+    (JUNET Riyou No Tebiki Dai Ippan).
+ 
+    The encoding is based on the particular usage of ISO 2022 announced
+ 
+ 
+ 
+ Murai, Crispin & van der Poel                                   [Page 3]
+ 
+ RFC 1468   Japanese Character Encoding for Internet Messages   June 1993
+ 
+ 
+    by 4/1 (see [ISO2022] for details). However, the escape sequence
+    normally used for this announcement is not included in ISO-2022-JP
+    messages.
+ 
+    The Kana set of JIS X 0201 is not used in ISO-2022-JP messages.
+ 
+    In the past, some systems erroneously used the escape sequence ESC (
+    H in JUNET messages. This escape sequence is officially registered
+    for a Swedish character set [ISOREG], and should not be used in ISO-
+    2022-JP messages.
+ 
+    Some systems do not distinguish between ESC ( B and ESC ( J or
+    between ESC $ @ and ESC $ B for display. However, when relaying a
+    message to another system, the escape sequences must not be altered
+    in any way.
+ 
+    The human user (not implementor) should try to keep lines within 80
+    display columns, or, preferably, within 75 (or so) columns, to allow
+    insertion of ">" at the beginning of each line in excerpts. Each JIS
+    X 0208 character takes up two columns, and the escape sequences do
+    not take up any columns. The implementor is reminded that JIS X 0208
+    characters take up two bytes and should not be split in the middle to
+    break lines for displaying, etc.
+ 
+    The JIS X 0208 standard was revised in 1990, to add two characters at
+    the end of the table. Although ISO 2022 specifies special additional
+    escape sequences to indicate the use of revised character sets, it is
+    suggested here not to make use of this special escape sequence in
+    ISO-2022-JP text, even if the two characters added to JIS X 0208 in
+    1990 are used.
+ 
+    For further information about Japanese character encodings such as PC
+    codes, FTP locations of implementations, etc, see "Electronic
+    Handling of Japanese Text" [JPN.INF].
+ 
+ References
+ 
+    [ASCII] American National Standards Institute, "Coded character set
+    -- 7-bit American national standard code for information
+    interchange", ANSI X3.4-1986.
+ 
+    [ISO646] International Organization for Standardization (ISO),
+    "Information technology -- ISO 7-bit coded character set for
+    information interchange", International Standard, Ref. No. ISO/IEC
+    646:1991.
+ 
+    [ISO2022] International Organization for Standardization (ISO),
+    "Information processing -- ISO 7-bit and 8-bit coded character sets
+ 
+ 
+ 
+ Murai, Crispin & van der Poel                                   [Page 4]
+ 
+ RFC 1468   Japanese Character Encoding for Internet Messages   June 1993
+ 
+ 
+    -- Code extension techniques", International Standard, Ref. No. ISO
+    2022-1986 (E).
+ 
+    [ISOREG] International Organization for Standardization (ISO),
+    "International Register of Coded Character Sets To Be Used With
+    Escape Sequences".
+ 
+    [JISX0201] Japanese Standards Association, "Code for Information
+    Interchange", JIS X 0201-1976.
+ 
+    [JISX0208] Japanese Standards Association, "Code of the Japanese
+    graphic character set for information interchange", JIS X 0208-1978,
+    -1983 and -1990.
+ 
+    [JPN.INF] Ken R. Lunde <lunde@adobe.com>, "Electronic Handling of
+    Japanese Text", March 1992,
+    msi.umn.edu(128.101.24.1):pub/lunde/japan[123].inf
+ 
+    [JUNET] JUNET Riyou No Tebiki Sakusei Iin Kai (JUNET User's Guide
+    Drafting Committee), "JUNET Riyou No Tebiki (Dai Ippan)" ("JUNET
+    User's Guide (First Edition)"), February 1988.
+ 
+    [MIME1] Borenstein N., and N. Freed, "MIME (Multipurpose
+    Internet Mail Extensions): Mechanisms for Specifying and
+    Describing the Format of Internet Message Bodies", RFC 1341,
+    Bellcore, Innosoft, June 1992.
+ 
+    [MIME2] Moore, K., "Representation of Non-ASCII Text in Internet
+    Message Headers", RFC 1342, University of Tennessee, June 1992.
+ 
+    [RFC822] Crocker, D., "Standard for the Format of ARPA Internet
+    Text Messages", STD 11, RFC 822, UDEL, August 1982.
+ 
+    [RFC1036] Horton M., and R. Adams, "Standard for Interchange of USENET
+    Messages", RFC 1036, AT&T Bell Laboratories, Center for Seismic
+    Studies, December 1987.
+ 
+ Acknowledgements
+ 
+    Many people assisted in drafting this document. The authors wish to
+    thank in particular Akira Kato, Masahiro Sekiguchi and Ken'ichi
+    Handa.
+ 
+ Security Considerations
+ 
+    Security issues are not discussed in this memo.
+ 
+ 
+ 
+ 
+ 
+ Murai, Crispin & van der Poel                                   [Page 5]
+ 
+ RFC 1468   Japanese Character Encoding for Internet Messages   June 1993
+ 
+ 
+ Authors' Addresses
+ 
+    Jun Murai
+    Keio University
+    5322 Endo, Fujisawa
+    Kanagawa 252 Japan
+ 
+    Fax: +81 466 49 1101
+    EMail: jun@wide.ad.jp
+ 
+ 
+    Mark Crispin
+    Panda Programming
+    6158 Lariat Loop NE
+    Bainbridge Island, WA 98110-2098
+    USA
+ 
+    Phone: +1 206 842 2385
+    EMail: MRC@PANDA.COM
+ 
+ 
+    Erik M. van der Poel
+    A-105 Park Avenue
+    4-4-10 Ohta, Kisarazu
+    Chiba 292 Japan
+ 
+    Phone: +81 438 22 5836
+    Fax:   +81 438 22 5837
+    EMail: erik@poel.juice.or.jp
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ Murai, Crispin & van der Poel                                   [Page 6]
+ 
\ No newline at end of file
diff -Ncr a2ps-4.13/libjcode/Doc/rfc1554.txt a2ps-4.13-ja_nls/libjcode/Doc/rfc1554.txt
*** a2ps-4.13/libjcode/Doc/rfc1554.txt	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/libjcode/Doc/rfc1554.txt	Tue Jun 20 19:21:40 2000
***************
*** 0 ****
--- 1,339 ----
+ 
+ 
+ 
+ 
+ 
+ 
+ Network Working Group                                            M. Ohta
+ Request for Comments: 1554                 Tokyo Institute of Technology
+ Category: Informational                                         K. Handa
+                                                                      ETL
+                                                            December 1993
+ 
+ 
+           ISO-2022-JP-2: Multilingual Extension of ISO-2022-JP
+ 
+ Status of this Memo
+ 
+    This memo provides information for the Internet community.  This memo
+    does not specify an Internet standard of any kind.  Distribution of
+    this memo is unlimited.
+ 
+ Introduction
+ 
+    This memo describes a text encoding scheme: "ISO-2022-JP-2", which is
+    used experimentally for electronic mail [RFC822] and network news
+    [RFC1036] messages in several Japanese networks.  The encoding is a
+    multilingual extension of "ISO-2022-JP", the existing encoding for
+    Japanese [2022JP].  The encoding is supported by an Emacs based
+    multilingual text editor: MULE [MULE].
+ 
+    The name, "ISO-2022-JP-2", is intended to be used in the "charset"
+    parameter field of MIME headers (see [MIME1] and [MIME2]).
+ 
+ Description
+ 
+    The text with "ISO-2022-JP-2" starts in ASCII [ASCII], and switches
+    to other character sets of ISO 2022 [ISO2022] through limited
+    combinations of escape sequences.  All the characters are encoded
+    with 7 bits only.
+ 
+    At the beginning of text, the existence of an announcer sequence:
+    "ESC 2/0 4/1 ESC 2/0 4/6 ESC 2/0 5/10" is (though omitted) assumed.
+    Thus, characters of 94 character sets are designated to G0 and
+    invoked as GL.  C1 control characters are represented with 7 bits.
+    Characters of 96 character sets are designated to G2 and invoked with
+    SS2 (single shift two, "ESC 4/14" or "ESC N").
+ 
+    For example, the escape sequence "ESC 2/4 2/8 4/3" or "ESC $ ( C"
+    indicates that the bytes following the escape sequence are Korean KSC
+    characters, which are encoded in two bytes each.  The escape sequence
+    "ESC 2/14 4/1" or "ESC . A" indicates that ISO 8859-1 is designated
+    to G2. After the designation, the single shifted sequence "ESC 4/14
+    4/1" or "ESC N A" is interpreted to represent a character "A with
+    acute".
+ 
+ 
+ 
+ Ohta & Handa                                                    [Page 1]
+ 
+ RFC 1554         Multilingual Extension of ISO-2022-JP     December 1993
+ 
+ 
+    The following table gives the escape sequences and the character sets
+    used in "ISO-2022-JP-2" messages. The reg# is the registration number
+    in ISO's registry [ISOREG].
+ 
+                               94 character sets
+       reg#  character set      ESC sequence                designated to
+       ------------------------------------------------------------------
+       6     ASCII              ESC 2/8 4/2      ESC ( B    G0
+       42    JIS X 0208-1978    ESC 2/4 4/0      ESC $ @    G0
+       87    JIS X 0208-1983    ESC 2/4 4/2      ESC $ B    G0
+       14    JIS X 0201-Roman   ESC 2/8 4/10     ESC ( J    G0
+       58    GB2312-1980        ESC 2/4 4/1      ESC $ A    G0
+       149   KSC5601-1987       ESC 2/4 2/8 4/3  ESC $ ( C  G0
+       159   JIS X 0212-1990    ESC 2/4 2/8 4/4  ESC $ ( D  G0
+ 
+                               96 character sets
+       reg#  character set      ESC sequence                designated to
+       ------------------------------------------------------------------
+       100   ISO8859-1          ESC 2/14 4/1     ESC . A    G2
+       126   ISO8859-7(Greek)   ESC 2/14 4/6     ESC . F    G2
+ 
+    For further information about the character sets and the escape
+    sequences, see [ISO2022] and [ISOREG].
+ 
+    If there is any G0 designation in text, there must be a switch to
+    ASCII or to JIS X 0201-Roman before a space character (but not
+    necessarily before "ESC 4/14 2/0" or "ESC N ' '") or control
+    characters such as tab or CRLF.  This means that the next line starts
+    in the character set that was switched to before the end of the
+    previous line.  Though the designation to JIS X 0201-Roman is allowed
+    for backward compatibility to "ISO-2022-JP", its use is discouraged.
+    Applications such as pagers and editors which randomly seek within a
+    text file encoded with "ISO-2022-JP-2" may assume that all the lines
+    begin with ASCII, not with JIS X 0201-Roman.
+ 
+    At the beginning of a line, information on G2 designation of the
+    previous line is cleared.  New designation must be given before a
+    character in 96 character sets is used in the line.
+ 
+    The text must end in ASCII designated to G0.
+ 
+    As the "ISO-2022-JP", and thus, "ISO-2022-JP-2", is designed to
+    represent English and modern Japanese, left-to-right directionality
+    is assumed if the text is displayed horizontally.
+ 
+    Users of "ISO-2022-JP-2" must be aware that some common transport
+    such as old Bnews can not relay a 7-bit value 7/15 (decimal 127),
+    which is used to encode, say, "y with diaeresis" of ISO 8859-1.
+ 
+ 
+ 
+ Ohta & Handa                                                    [Page 2]
+ 
+ RFC 1554         Multilingual Extension of ISO-2022-JP     December 1993
+ 
+ 
+    Other restrictions are given in the Formal Syntax section below.
+ 
+ Formal Syntax
+ 
+    The notational conventions used here are identical to those used in
+    STD 11, RFC 822 [RFC822].
+ 
+    The * (asterisk) convention is as follows:
+ 
+       l*m something
+ 
+    meaning at least l and at most m somethings, with l and m taking
+    default values of 0 and infinity, respectively.
+ 
+    message             = headers 1*(CRLF text)
+                                           ; see also [MIME1] "body-part"
+                                           ; note: must end in ASCII
+ 
+    text                = *(single-byte-char /
+                            g2-desig-seq /
+                            single-shift-char)
+                           [*segment
+                            reset-seq
+                            *(single-byte-char /
+                              g2-desig-seq /
+                              single-shift-char ) ]
+                                           ; note: g2-desig-seq must
+                                           ; precede single-shift-char
+ 
+    headers             = <see [RFC822] "fields" and [MIME1] "body-part">
+ 
+    segment             = single-byte-segment / double-byte-segment
+ 
+    single-byte-segment = single-byte-seq
+                          *(single-byte-char /
+                            g2-desig-seq /
+                            single-shift-char )
+ 
+    double-byte-segment = double-byte-seq
+                          *((one-of-94 one-of-94) /
+                            g2-desig-seq /
+                            single-shift-char )
+ 
+    reset-seq           = ESC "(" ( "B" / "J" )
+ 
+    single-byte-seq     = ESC "(" ( "B" / "J" )
+ 
+    double-byte-seq     = (ESC "$" ( "@" / "A" / "B" )) /
+ 
+ 
+ 
+ Ohta & Handa                                                    [Page 3]
+ 
+ RFC 1554         Multilingual Extension of ISO-2022-JP     December 1993
+ 
+ 
+                          (ESC "$" "(" ( "C" / "D" ))
+ 
+    g2-desig-seq        = ESC "." ( "A" / "F" )
+ 
+    single-shift-seq    = ESC "N"
+ 
+    single-shift-char   = single-shift-seq one-of-96
+ 
+    CRLF                = CR LF
+ 
+                                                     ; ( Octal, Decimal.)
+ 
+    ESC                 = <ISO 2022 ESC, escape>     ; (    33,      27.)
+ 
+    SI                  = <ISO 2022 SI, shift-in>    ; (    17,      15.)
+ 
+    SO                  = <ISO 2022 SO, shift-out>   ; (    16,      14.)
+ 
+    CR                  = <ASCII CR, carriage return>; (    15,      13.)
+ 
+    LF                  = <ASCII LF, linefeed>       ; (    12,      10.)
+ 
+    one-of-94           = <any one of 94 values>     ; (41-176, 33.-126.)
+ 
+    one-of-96           = <any one of 96 values>     ; (40-177, 32.-127.)
+ 
+    7BIT                = <any 7-bit value>          ; ( 0-177,  0.-127.)
+ 
+    single-byte-char    = <any 7BIT, including bare CR & bare LF, but NOT
+                           including CRLF, and not including ESC, SI, SO>
+ 
+ MIME Considerations
+ 
+    The name given to the character encoding is "ISO-2022-JP-2". This
+    name is intended to be used in MIME messages as follows:
+ 
+       Content-Type: text/plain; charset=iso-2022-jp-2
+ 
+    The "ISO-2022-JP-2" encoding is already in 7-bit form, so it is not
+    necessary to use a Content-Transfer-Encoding header. It should be
+    noted that applying the Base64 or Quoted-Printable encoding will
+    render the message unreadable in non-MIME-compliant software.
+ 
+    "ISO-2022-JP-2" may also be used in MIME headers.  Both "B" and "Q"
+    encoding could be useful with "ISO-2022-JP-2" text.
+ 
+ 
+ 
+ 
+ 
+ 
+ Ohta & Handa                                                    [Page 4]
+ 
+ RFC 1554         Multilingual Extension of ISO-2022-JP     December 1993
+ 
+ 
+ References
+ 
+    [ASCII] American National Standards Institute, "Coded character set
+            -- 7-bit American national standard code for information
+            interchange", ANSI X3.4-1986.
+ 
+ 
+    [ISO2022] International Organization for Standardization (ISO),
+              "Information processing -- ISO 7-bit and 8-bit coded
+              character sets -- Code extension techniques",
+              International Standard, Ref. No. ISO 2022-1986 (E).
+ 
+    [ISOREG] International Organization for Standardization (ISO),
+             "International Register of Coded Character Sets To Be Used
+             With Escape Sequences".
+ 
+    [MIME1] Borenstein, N., and N. Freed, "MIME  (Multipurpose Internet
+            Mail Extensions) Part One: Mechanisms for Specifying and
+            Describing the Format of Internet Message Bodies", RFC 1521,
+            September 1993.
+ 
+    [MIME2] Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part
+            Two: Message Header Extensions for Non-ASCII Text", RFC 1522,
+            September 1993.
+ 
+    [RFC822] Crocker, D., "Standard for the Format of ARPA Internet Text
+             Messages", STD 11, RFC 1522, UDEL, August 1982.
+ 
+    [RFC1036] Horton M., and R. Adams, "Standard for Interchange of
+              USENET Messages", RFC 1036, AT&T Bell Laboratories, Center
+              for Seismic Studies, December 1987.
+ 
+    [2022JP] Murai, J., Crispin, M., and E. van der Poel, "Japanese
+             Character Encoding for Internet Messages", RFC 1468, June
+             1993.
+ 
+    [MULE] Nishikimi, M., Handa, K., and S. Tomura, "Mule: MULtilingual
+           Enhancement to GNU Emacs", Proc. of INET'93, August, 1993.
+ 
+ Acknowledgements
+ 
+    This memo is the result of discussion between various people in a
+    news group: fj.kanji and is reviewed by a mailing list: jp-msg
+    @iij.ad.jp.  The Authors wish to thank in particular Prof. Eiichi
+    Wada for his suggestions based on profound knowledge in ISO 2022 and
+    related standards.
+ 
+ 
+ 
+ 
+ 
+ Ohta & Handa                                                    [Page 5]
+ 
+ RFC 1554         Multilingual Extension of ISO-2022-JP     December 1993
+ 
+ 
+ Security Considerations
+ 
+    Security issues are not discussed in this memo.
+ 
+ Authors' Addresses
+ 
+    Masataka Ohta
+    Tokyo Institute of Technology
+    2-12-1, O-okayama, Meguro-ku,
+    Tokyo 152, JAPAN
+ 
+    Phone: +81-3-5499-7084
+    Fax: +81-3-3729-1940
+    EMail: mohta@cc.titech.ac.jp
+ 
+ 
+    Ken'ichi Handa
+    Electrotechnical Laboratory
+    Umezono 1-1-4, Tsukuba,
+    Ibaraki 305, JAPAN
+ 
+    Phone: +81-298-58-5916
+    Fax: +81-298-58-5918
+    EMail: handa@etl.go.jp
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ Ohta & Handa                                                    [Page 6]
+ 
\ No newline at end of file
diff -Ncr a2ps-4.13/libjcode/Makefile.in a2ps-4.13-ja_nls/libjcode/Makefile.in
*** a2ps-4.13/libjcode/Makefile.in	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/libjcode/Makefile.in	Tue Jun 20 19:21:40 2000
***************
*** 0 ****
--- 1,100 ----
+ # Makefile for directory with library jcode
+ # by Kuramitsu Kimio
+ 
+ PACKAGE = @PACKAGE@
+ VERSION = @VERSION@
+ 
+ SHELL = /bin/sh
+ 
+ srcdir = @srcdir@
+ top_srcdir = @top_srcdir@
+ top_builddir = ..
+ VPATH = @srcdir@
+ 
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+ transform = @program_transform_name@
+ libdir = $(exec_prefix)/lib
+ includedir = $(prefix)/include
+ datadir = $(prefix)/@DATADIRNAME@
+ subdir = libjcode
+ 
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
+ 
+ AR = ar
+ CC = @CC@
+ LIBTOOL = @LIBTOOL@
+ RANLIB = @RANLIB@
+ 
+ DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \
+ -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@
+ CPPFLAGS = @CPPFLAGS@
+ CFLAGS = @CFLAGS@
+ LDFLAGS = @LDFLAGS@
+ 
+ COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
+ 
+ HEADERS = $(COMHDRS)
+ COMHDRS = jlib.h
+ SOURCES = $(COMSRCS)
+ COMSRCS = detect.c libjcode.c
+ OBJECTS = detect.$lo libjcode.$lo
+ DISTFILES.common = README
+ DISTFILES.normal = VERSION
+ 
+ .SUFFIXES:
+ .SUFFIXES: .c .o .lo
+ .c.o:
+ 	$(COMPILE) $<
+ .c.lo:
+ 	$(LIBTOOL) --mode=compile $(COMPILE) $<
+ 
+ INCLUDES = -I. -I$(top_srcdir)/
+ 
+ all: all-@COMPILE_LIBJCODE@
+ 
+ all-yes: libjcode.$la
+ all-no:
+ 
+ libjcode.a: $(OBJECTS)
+ 	rm -f $@
+ 	$(AR) cru $@ $(OBJECTS)
+ 	$(RANLIB) $@
+ 
+ libjcode.la: $(OBJECTS)
+ 	$(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJECTS) \
+ 		   -version-info 1:0 -rpath $(libdir)
+ 
+ check: all
+ 
+ install: install-exec install-data
+ install-exec: all
+ 
+ install-data: all
+ 
+ # Define this as empty until I found a useful application.
+ installcheck:
+ 
+ uninstall:
+ 
+ info dvi:
+ 
+ $(OBJECTS): jlibconfig.h jlib.h
+ 
+ mostlyclean:
+ 	rm -f *.a *.o *.lo core core.*
+ 
+ clean: mostlyclean
+ 
+ distclean: clean
+ 	rm -f Makefile ID TAGS po2msg.sed po2tbl.sed
+ 
+ maintainer-clean: distclean
+ 	@echo "This command is intended for maintainers to use;"
+ 	@echo "it deletes files that may require special tools to rebuild."
+ 
+ Makefile: Makefile.in ../config.status
+ 	cd .. \
+ 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff -Ncr a2ps-4.13/libjcode/README a2ps-4.13-ja_nls/libjcode/README
*** a2ps-4.13/libjcode/README	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/libjcode/README	Tue Jun 20 19:21:40 2000
***************
*** 0 ****
--- 1,158 ----
+ libjcode ¥é¥¤¥Ö¥é¥ê¥Ñ¥Ã¥±¡¼¥¸	1.00 ÈÇ/ 1996
+ 
+ ¤´Â¸ÃÎ¤ÎÄÌ¤ê¡¢ÆüËÜ¸ì¤òÉ½¤¹¤¿¤á¤ÎÊ¸»ú¥³¡¼¥É¤Ï¡¢JIS(ISO-2022)¡¢EUC¡¢SJIS  ¤Î
+ £³¼ïÎà¤¬¤è¤¯»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥Ñ¥½¥³¥ó´Ö¤ÇSJIS¤ÎÊ¸¾Ï¤ò¤ä¤ê¼è¤ê¤¹¤ë»þ
+ ¤Ï¡¢²¿¤Ë¤âÌäÂê¤Î¤Ê¤¤ÏÃ¤Ç¤·¤¿¡£¤·¤«¤·¡¢WWW ¤Î¤è¤¦¤Ê¥¤¥ó¥¿¡¼¥Í¥Ã¥È»þÂå¤Ë¤Ê¤ë
+ ¤È¡¢ÍÍ¡¹¤ÊÊ¸»ú¥³¡¼¥É¤¬º®ºß¤·¤Æ¤·¤Þ¤¤¡¢Âç¤­¤Êº®Íð¤ò¾·¤¯·ë²Ì¤Ë¤Ê¤ê¤Þ¤¹¡£
+ 
+ ¤½¤ó¤ÊÃæ¤ÇÂ¿¤¯¤Î¥×¥í¥°¥é¥Þ¡¼¤¬ÆüËÜ¸ì¥³¡¼¥É½èÍý¤ÎÈÑ»¨¤µ¤Îæ«¤Ë´Ù¤é¤Ê¤¯¤ÆºÑ¤à
+ ¤è¤¦¤Ë¤Þ¤È¤á¤¿¤Î¤¬¡¢¤³¤Î C¸À¸ìÍÑ¤Î libjcode ¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£
+ 
+ -- libjcode ¥Ñ¥Ã¥±¡¼¥¸¤ÎÆÃÄ§ ------------------------------------------------
+ 
+  1. ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ç¤ÎÍøÍÑ¤òÁ°Äó¤È¤·¤¿ÆüËÜ¸ì¥³¡¼¥ÉÊÑ´¹¥é¥¤¥Ö¥é¥ê
+  2. SJIS È¾³Ñ¥«¥Ê¤òÁ´³Ñ¤ËÊÑ´¹²ÄÇ½
+ 
+ -- ¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¿È ---------------------------------------------------------
+ 
+ 	/
+ 	README		¤³¤Î¥Õ¥¡¥¤¥ë
+ 	Makefile	Unix ÈÇ Makefile
+ 	config.h	ÀßÄêÍÑ #include ¥Õ¥¡¥¤¥ë
+ 	libjcode.c	JIS¡¢SJIS¡¢EUC¤ÎÊÑ´¹
+ 	detect.c	¥³¡¼¥ÉÈ½ÄêÍÑ
+ 	sample.c	´ÊÃ±¤Ê¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à
+ 	jlib.h		¥é¥¤¥Ö¥é¥êÍÑ #include ¥Õ¥¡¥¤¥ë
+ 
+ 	Doc/
+ 	rfc1468.txt	RFC1468
+ 			"Japanese Character Encoding for Internet Messages."
+ 	rfc1554.txt	RFC1554	
+ 			"ISO-2022-JP-2: Multilingual Extension of ISO-2022-JP"
+ 
+ -- ÍøÍÑ¾å¤ÎÃí°Õ -------------------------------------------------------------
+ 
+ libjcode ¤Ï¡¢´°Á´¤Ë¥Õ¥ê¡¼¤Ê¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Ë¤ª¤±¤ëÆüËÜ¸ì´Ä¶­
+ ¤Î²þÁ±¤òºÇ½ªÌÜÉ¸¤Ë¤·¤Æ¤ª¤ê¤Þ¤¹¡£ÆüËÜ¸ì¥³¡¼¥É¤ÎÊÑ´¹¤ò¹Ô¤¤¤¿¤¤Êý¤Ê¤éÃ¯¤Ç¤â¡¢
+ ¼«Í³¤Ë²þÎÉ¤·¤Æ¡¢¼«Ê¬¤Î¥×¥í¥°¥é¥à¤Ë¹ç¤ï¤»¤ÆÁÈ¤ß¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
+ 
+ ¤¿¤À¤·¡¢ÍøÍÑ¤Ë¤¹¤ë¾ì¹ç¤Ï¼¡¤Î¾ò·ï¤ò¼é¤Ã¤Æ¤¯¤À¤µ¤¤¡£
+ 
+  1. libjcode ¤òÍøÍÑ¤·¤¿¤¿¤á¤ËÇ¡²¿¤Ê¤ëÂ»³²¤¬À¸¤¸¤Æ¤âºî¼Ô¤Ë¤Ï°ìÀÚ¤ÎÀÕÇ¤¤ò
+     ¼è¤ê¤Þ¤»¤ó¡£
+  2. ¹ñÎ©Âç³Ø¤Î¥³¥ó¥Ô¥å¡¼¥¿»ñ¸»¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢Ãøºî¸¢É½¼¨¡¢
+ 	(C) Kuramitsu Kimio, Tokyo Univ. 1996-97
+     ¤òÇ°¤Î¤¿¤á¤Ë»Ä¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
+ 
+ ¥é¥¤¥Ö¥é¥êÍøÍÑÃæ¤Ë¥Ð¥°¤òÈ¯¸«¤·Ä¾¤µ¤ì¤¿Êý¡¢¤è¤ê¸úÎ¨¤Î¤è¤ê¥¢¥ë¥´¥ê¥º¥à¤ò¼ÂÁõ
+ ¤Ê¤µ¤Ã¤¿Êý¤Ï¡¢¤½¤ì¤òºî¼Ô¤ËÁ÷¤Ã¤ÆÄº¤±¤ë¤È¡¢libjcode ¤È¤·¤Æ¤â¤è¤ê¿®ÍêÀ­¤Î¹â¤¤
+ ¥é¥¤¥Ö¥é¥ê¤Ø¤ÈÀ®Ä¹¤Ç¤­¤Þ¤¹¡£¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡£
+ 
+ ¤Þ¤¿¡¢libjcode¤òÁÈ¤ß¹þ¤ó¤À¥½¥Õ¥È¥¦¥¨¥¢¤ÎÌ¾Á°¤â¶µ¤¨¤Æ¤¤¤¿¤À¤±¤ë¤È¡¢¼ÂºÝ¤Î¼Â
+ ÁõÎã¤È¤·¤Æ¡¢¾Ò²ð¤·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
+ 
+ -- »È¤¤Êý -------------------------------------------------------------------
+ 
+ 1. ¤Þ¤º¡¢make ¤Ë¤è¤Ã¤Æ¡¢libjcode.a ¥é¥¤¥Ö¥é¥ê¤òºî¤ê¤Þ¤¹¡£
+    config.h ¤òÄ¾¤¹¤³¤È¤Ç¡¢Â¿¾¯µ¡Ç½¤òÊÑ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¥½¡¼¥¹¥³¡¼¥É
+    ¤òÆÉ¤ó¤ÀÊý¤¬Áá¤¤¤Ç¤·¤ç¤¦¡£
+ 
+ 2. ¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à sample.c ¤È Makefile ¤ò¸«¤ë¤È¡¢¤³¤Î¥é¥¤¥Ö¥é¥ê¤ò¤É¤Î
+    ¤è¤¦¤ËÁÈ¤ß¹þ¤à¤«»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
+ 
+ -- Æ°ºî³ÎÇ§´Ä¶­ -------------------------------------------------------------
+ 
+ ANSI C ¥³¥ó¥Ñ¥¤¥é¤ò»È¤Ã¤Æ¤¤¤ì¤Ð¡¢ÉáÄÌ¤Ë¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¤Ï¤º¤Ç¤¹¡£
+ 
+ 	Solaris 2.5 (Sparc) with gcc 2.7.2
+ 	Linux 2.0 with gcc 2.7.2
+ 
+ -- ¥é¥¤¥Ö¥é¥ê¤Î°ìÍ÷ ---------------------------------------------------------
+ 
+ ÉáÄÌ¤Ë»È¤¨¤ë¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ï¡¢jlib.h ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ë½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ºÇ½é
+ ¤Ë #include "jlib.h" ¤òÄÉ²Ã¤·¤Þ¤¹¡£
+ 
+ #define ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÆâÍÆ
+ 
+ #define ASCII	ASCII ¥³¡¼¥É
+ #define JIS	iso-2022-jp ¥³¡¼¥É
+ #define EUC	x-euc-jp ¥³¡¼¥É
+ #define SJIS	x-sjis ¥³¡¼¥É
+ 
+ ´Ø¿ô:
+ 
+ extern int detectKanjiCode(char *str);
+ 
+ 	Ê¸»úÎó str ¤Î¥³¡¼¥É¤òÈ½Äê¤·¤Þ¤¹¡£
+ 	ÊÖ¤êÃÍ¤Ï¡¢ASCII, JIS, EUC, SJIS ¤Î¤É¤ì¤«¤Ç¤¹¡£
+ 
+ extern char *toStringJIS(char *str);
+ 
+ 	Ê¸»úÎó str ¤òJIS ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹¡£
+ 
+ extern char *toStringEUC(char *str);
+ 
+ 	Ê¸»úÎó str ¤òEUC ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹¡£
+ 
+ extern char *toStringSJIS(char *str);
+ 
+ 	Ê¸»úÎó str ¤òSJIS ¥³¡¼¥É¤ËÊÑ´¹¤·¤Þ¤¹¡£
+ 
+ -- ÃÎ¤é¤ì¤Æ¤¤¤ëÌäÂêÅÀ -------------------------------------------------------
+ 
+ È¾³ÑSJIS¤¬´Þ¤Þ¤ì¤¿¥Æ¥­¥¹¥È¤òÁÛÄê¤·¤Æ¤¤¤ë¤Î¤Ç¡¢EUC ¤È SJIS ¤Î¼«Æ°È½Äê¤¬
+ ¤«¤Ê¤ê¼å¤¤¡£
+ 
+ -- º£¸å¤ÎÍ½Äê ---------------------------------------------------------------
+ 
+ ³Î¼Â¤Ë¤ä¤í¤¦¤È»×¤Ã¤Æ¤¤¤ë¤³¤È¡£
+ 	JIS X 0212-1990 (Â¯¾Î Êä½õ´Á»ú)¤ÎÊÑ´¹¤ËÂÐ±þ
+ 	MIME ¥Ø¥Ã¥À¤Î¥¨¥ó¥³¡¼¥É/¥Ç¥³¡¼¥É
+ 
+ ¤Ç¤­¤¿¤é¤ä¤ê¤¿¤¤¤³¤È(CGI ¸þ¤±¥é¥¤¥Ö¥é¥ê)
+ 	Á´³Ñ --> È¾³Ñ 
+ 		(Îã £æ£ï£ï¡÷£í£á£é£ì¡¥£ã£ï£í --> foo@mail.com)
+ 	Ê¿²¾Ì¾ <--> ¥«¥¿¥«¥Ê 
+ 	ROMAN »ú --> ¤«¤Ê
+ 		(Kuramitsu --> ¤¯¤é¤ß¤Ä)
+ 
+ Ä©Àï¤·¤¿¤¤¤³¤È¡£
+ 	SJIS ¤È ISO-8859-1(laten) ¤Î¼«Æ°¼±ÊÌ
+ 
+ Æ»µÁÅª¤ËÇº¤à¤È¤³¤í
+ 	Unicode ¤Ø¤ÎÂÐ±þ
+ 
+ 
+ -- Îò»Ë ---------------------------------------------------------------------
+ 
+ libjcode ¤òºî¤ëÄ¾ÀÜ¤Î¤­¤Ã¤«¤±¤È¤Ê¤Ã¤¿¤Î¤Ï¡¢Thomus Boutell Ãø¤Î
+ "CGI Programming with C and Perl"(Addison-Wesley)¤ËÉÕÂ°¤¹¤ë¥µ¥ó¥×¥ëCGI¥×¥í
+ ¥°¥é¥à¤òÆüËÜ¸ì¤ÎÆþÎÏ¤ò¼õ¤±ÉÕ¤±¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¡¢´Á»ú¥³¡¼¥ÉÊÑ´¹¤Ë¿¨¤ì¤ëÉ¬
+ Í×À­¤¬¤¢¤ê¤Þ¤·¤¿¡£¤È¤³¤í¤¬¡¢PerlÍÑ¤Ë¤ÏÍ¥¤ì¤¿´Á»úÊÑ´¹¤Î¥é¥¤¥Ö¥é¥ê¤¬Â¸ºß¤·¤Þ
+ ¤·¤¿¤¬¡¢»ÄÇ°¤Ê¤¬¤éCÈÇ¤Ë¤Ï¡¢Í¥¤ì¤¿¥é¥¤¥Ö¥é¥ê¤¬¼ê¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç
+ ¤·¤¿¡£
+ 
+ ¤½¤³¤Ç¡¢Ken Lunde Ãø¤Î¡ÖÆüËÜ¸ì¾ðÊó½èÍý¡×(O'Reilly)¤ò»²¹Í¤Ë¥é¥¤¥Ö¥é¥êºîÀ®¤ò
+ »Ï¤á¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
+ 
+ 1996/12/10	¥Û¡¼¥à¥Ú¡¼¥¸¾å¤Ç¸ø³«³«»Ï¡£
+ 		http://www.lib.m.u-tokyo.ac.jp/~kiki/libjcode/
+ 
+ 1996/12/19	"CGI Programming with C and Perl5"¤ÎÆüËÜ¸ìÈÇÉÕÏ¿CD-ROMÉÕÏ¿
+ 		¤È¤·¤Æ¡¢libjcode-1.00 ÇÛÉÛ³«»Ï
+ 
+ -- ¼Õ¼­ ---------------------------------------------------------------------
+ 
+ ºäÂ¼¸¦µæ¼¼¤ÎÀèÇÚ¤Ç¤¢¤ëÀîÈ¨ ÂÀ°ì(kawabata@is.s.u-tokyo.ac.jp)¤µ¤ó¤Ë¤Ï¡¢ÆüËÜ
+ ¸ì½èÍý¤È¤¤¤¦¶¹¤¤´ÑÅÀ¤Ë¤È¤é¤ï¤ì¤º¡¢¹­¤¯Â¿¹ñ¸ì´Ä¶­¤ä½èÍý¤Ë¤Ä¤¤¤ÆÍÍ¡¹¤Ê½õ¸À¤ä
+ ¥¢¥É¥Ð¥¤¥¹¤ò¤·¤ÆÄº¤­¤Þ¤·¤¿¡£¤Þ¤¿¡¢ËÜ¥é¥¤¥Ö¥é¥ê¼Â¸½¤Î¤¿¤á¤Î¥Ð¥°¼è¤ê¤â¼êÅÁ¤Ã
+ ¤ÆÄº¤­¤Þ¤·¤¿¡£
+ 
+ ---
+ ËÜ¥é¥¤¥Ö¥é¥ê¤ò³èÍÑ¤·¤ÆÂ¿¤¯¤ÎCGI¥×¥í¥°¥é¥à¤äWindows/Macintosh ÍÑ¤Î¥Õ¥ê¡¼¥¦
+ ¥¨¥¢¡¢¤Þ¤¿¾¦ÍÑ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÆüËÜ¸ìÈÇ¤¬Àµ¤·¤¯´Á»ú¥³¡¼¥É¤ò°·¤¨¤ë¤è¤¦¤Ë
+ ¤Ê¤Ã¤ÆÄº¤±¤ì¤ì¤Ð¡¢¹¬¤¤¤Ç¤¹¡£
+ 
+ 					 		      1996Ç¯ 12·î
+ 					      ÁÒ¸÷ ·¯Ïº / Kuramitsu Kimio
+ 						  kiki@is.s.u-tokyo.ac.jp
diff -Ncr a2ps-4.13/libjcode/detect.c a2ps-4.13-ja_nls/libjcode/detect.c
*** a2ps-4.13/libjcode/detect.c	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/libjcode/detect.c	Tue Jun 20 19:21:40 2000
***************
*** 0 ****
--- 1,204 ----
+ /*
+  * detect.c - libjcode ¥³¡¼¥É¼«Æ°È½Äê¥ë¡¼¥Á¥ó
+  *                (C) Kuramitsu Kimio, Tokyo Univ. 1996-97 
+  *
+  * Ken Lunde Ãø ¡ÖÆüËÜ¸ì¾ðÊó½èÍý¡× ¤È jconv.c ¤ò»²¹Í¤Ëºî¤ê 
+  * ¤Þ¤·¤¿¡£
+  * CGI ¥×¥í¥°¥é¥à¤Ç¤ÎÍøÍÑ¤ò¹Í¤¨¤Æ¡¢¤Ò¤é¤¬¤Ê¡¢¤«¤¿¤«¤Ê¤ÎÊÂ¤Ó
+  * ¤Ë¤è¤ëSJIS, EUC ¤Î¿äÄê¥¢¥ë¥´¥ê¥º¥àÅù¤ò²Ã¤¨¤Æ¤¢¤ê¤Þ¤¹¡£
+  *
+  * ¹¹¿·ÍúÎò
+  *       - jcode.pl¤ÎSJIS/EUCÈ½Äê¤Ë¥³¡¼¥É¤òÍÑ¤¤¤¿
+  *                Yasuyuki Furukawa (yasu@on.cs.keio.ac.jp)
+  */
+ 
+ #include <stdio.h>
+ #include "config.h"
+ #include "jlibconfig.h"
+ 
+ static int _detect(unsigned char *str, int expected);
+ static int _detect_euc_or_sjis(unsigned char *str);
+ void printDetectCode(int detected);
+ int detectKanjiCode(char *str);
+ 
+ 
+ /* ------------------------------------------------------ ´Á»ú¥³¡¼¥É¤Î¼±ÊÌ --*/
+ 
+ static int _detect(unsigned char *str, int expected)
+ {
+   register int c;
+ 
+   while((c = (int)*str)!= '\0') {
+ 
+     /* JIS ¥³¡¼¥É¤ÎÈ½Äê */
+     if(c == ESC) {
+       if((c = (int)*(++str)) == '\0') return expected; 
+       if (c == '$') {
+ 	if((c = (int)*(++str)) == '\0') return expected; 
+ 	/* ESC $ B --> ¿·JIS 
+ 	   ESC $ @ --> µìJIS */
+ 	if (c == 'B' || c == '@') return JIS;
+       }
+ #ifdef NECKANJI
+       if (c == 'K')
+ 	return NEC;    /* ESC K --> NEC JIS */
+ #endif
+       str++;
+       continue;
+     }
+     
+     /* SJIS ¤Ë°ì°Õ¤Ë·èÄê */
+     if ((c >= 129 && c <= 141) || (c >= 143 && c <= 159))
+         return SJIS;
+     /* SS2 */
+     if (c == SS2) {
+       if((c = (int)*(++str)) == '\0') return expected; 
+       if ((c >= 64 && c <= 126) || (c >= 128 && c <= 160) || 
+ 	  (c >= 224 && c <= 252)) return SJIS;
+       if (c >= 161 && c <= 223) expected = EUCORSJIS;
+       str++;
+       continue;
+     }
+ 
+     if (c >= 161 && c <= 223) {
+       if((c = (int)*(++str)) == '\0') return expected; 
+       
+       if (c >= 240 && c <= 254)
+ 	return EUC;
+       if (c >= 161 && c <= 223) {
+ 	expected = EUCORSJIS;
+ 	str++;
+ 	continue;
+       }
+       if (c <= 159) return SJIS;
+       if (c >= 240 && c <= 254) return EUC;
+      
+       if (c >= 224 && c <= 239) {
+ 	expected = EUCORSJIS;
+ 	while (c >= 64) {
+ 	  if (c >= 129) {
+ 	    if (c <= 141 || (c >= 143 && c <= 159))
+ 	      return SJIS;
+ 	    else if (c >= 253 && c <= 254) {
+ 	      return EUC;
+ 	    }
+ 	  }
+ 	  if((c = (int)*(++str)) == '\0') return EUCORSJIS; 
+ 	}
+ 	str++;
+ 	continue;
+       }
+       
+       if (c >= 224 && c <= 239) {
+         if((c = (int)*(++str)) == '\0') return expected; 
+         if ((c >= 64 && c <= 126) || (c >= 128 && c <= 160))
+           return SJIS;
+         if (c >= 253 && c <= 254) return EUC;
+         if (c >= 161 && c <= 252)
+           expected = EUCORSJIS;
+       }
+     }
+     str++;
+   }
+   return expected;
+ }
+ 
+ /* ---------------------------------------------------SJIS ¤« EUC ¤ÎÈ½Äê -- */
+ /* ÆüËÜ¸ì¤ÎÆÃÄ§(¤Ò¤é¤¬¤Ê¡¢¥«¥¿¥«¥Ê)¤«¤éÈ½Äê¤¹¤ë¤¿¤á¡¢
+    È½Äê¥ß¥¹¤¬È¯À¸¤¹¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¡£ */
+ 
+ static int _detect_euc_or_sjis(unsigned char *str) {
+   int c1, c2;
+   int euc_c = 0, sjis_c = 0;
+   unsigned char *ptr;
+   static int expected = EUCORSJIS;
+ 
+ #ifdef USE_CACHE_KANA_NARABI
+   if (expected != EUCORSJIS)
+       return expected;
+ #endif
+ 
+   ptr = str, c2 = 0;
+   while ((c1 = (int)*ptr++) != '\0') {
+       if ((c2 >  0x80 && c2 < 0xa0) && (c2 >= 0xe0 && c2 < 0xfd) &&
+ 	  (c1 >= 0x40 && c1 < 0x7f) && (c1 >= 0x80 && c1 < 0xfd))
+ 	  sjis_c++, c1 = *ptr++;
+       c2 = c1;
+   }
+   if (sjis_c == 0)
+       expected = EUC;
+   else {
+       ptr = str, c2 = 0;
+       while ((c1 = (int)*ptr++) != '\0') {
+ 	  if ((c2 > 0xa0  && c2 < 0xff) &&
+ 	      (c1 > 0xa0  && c1 < 0xff))
+ 	    euc_c++, c1 = *ptr++;
+ 	  c2 = c1;
+       }
+       if (sjis_c > euc_c)
+ 	  expected = SJIS;
+       else
+ 	  expected = EUC;
+   }
+   return expected;
+ }
+ 
+ /* ---------------------------------------------------------- Public ´Ø¿ô -- */
+ 
+ 
+ #ifdef DEBUG
+ void printDetectCode(int detected) {
+   switch(detected) {
+   case ASCII:
+     fprintf(stderr, "ASCII/JIS-Roman characters(94 printable)\n");
+     break;
+   case JIS:
+     fprintf(stderr, "JIS(iso-2022-jp)\n");
+     break;
+   case EUC:
+     fprintf(stderr, "EUC(x-euc-jp)\n");
+     break;
+   case SJIS:
+     fprintf(stderr, "SJIS(x-sjis)\n");
+     break;
+   case NEW:
+     fprintf(stderr, "JIS X 0208-1990\n");
+     break;
+   case OLD:
+     fprintf(stderr, "JIS X 0208-1978\n");
+     break;
+   case EUCORSJIS:
+     fprintf(stderr, "EUC or SJIS\n");
+     break;
+   default:
+     printf("Another Codes!!\n");
+   }
+ }
+ #endif
+ 
+ int detectKanjiCode(char *str)
+ {
+   static int detected = ASCII;
+ 
+   if(!str) return (0);
+ 
+   /* JIS, EUC, SJIS, EUCORSJIS ¤ÎÈ½Äê */
+   detected = _detect((unsigned char *)str, ASCII);
+ 
+   /* ¿·JIS, µìJIS, NEC JIS ¤Î¾ì¹ç¡¢JIS ¤ËÊÑ¹¹¤¹¤ë */
+   if(detected == NEW || detected == OLD || detected == NEC)
+     return JIS;
+ 
+   /* SJIS ¤« EUC ¤Î¶èÊÌ¤ò¥«¥Ê¤ÎÊÂ¤Ó¤«¤é¿äÄê¤¹¤ë */
+   if(detected == EUCORSJIS)
+ #ifdef KANA_NARABI
+     detected = _detect_euc_or_sjis((unsigned char *)str);
+ #else
+     detected = EUC;  /* ¥Ç¥Õ¥©¥ë¥È EUC */
+ #endif
+ #ifdef DEBUG
+     printDetectCode(detected);
+ #endif
+ 
+   return detected;
+ }
diff -Ncr a2ps-4.13/libjcode/jlib.h a2ps-4.13-ja_nls/libjcode/jlib.h
*** a2ps-4.13/libjcode/jlib.h	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/libjcode/jlib.h	Tue Jun 20 19:21:40 2000
***************
*** 0 ****
--- 1,17 ----
+ /*
+  *  jlib.h -- jlib.c ÍÑ¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë  by. ÁÒ¸÷ ·¯Ïº
+  *
+  *  jlib.c ¤òÍøÍÑ¤¹¤ë¾ì¹ç¤Ï¡¢include ¤·¤Æ¤¯¤À¤µ¤¤¡£
+  *
+  */
+ 
+ #define ASCII         0
+ #define JIS           1
+ #define EUC           2
+ #define SJIS          3
+ 
+ extern int detectKanjiCode(char *str);
+ extern char *toStringJIS(char *str);
+ extern char *toStringEUC(char *str);
+ extern char *toStringSJIS(char *str);
+ extern char *toStringAuto(char *str);
diff -Ncr a2ps-4.13/libjcode/jlibconfig.h a2ps-4.13-ja_nls/libjcode/jlibconfig.h
*** a2ps-4.13/libjcode/jlibconfig.h	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/libjcode/jlibconfig.h	Tue Jun 20 19:21:40 2000
***************
*** 0 ****
--- 1,42 ----
+ /*
+  * config.h
+  */
+ 
+ #define ASCII         0
+ #define JIS           1
+ #define EUC           2
+ #define SJIS          3
+ #define NEW           4
+ #define OLD           5
+ #define NEC           6
+ #define EUCORSJIS     7
+ #define NUL           0
+ #define LF            10
+ #define FF            12
+ #define CR            13
+ #define ESC           27
+ #define SS2           142
+ #define TRUE          1
+ #define FALSE         0
+ 
+ /* È¾³Ñ¥«¥Ê(SJIS) ¤ò¶¯À©Åª¤ËÁ´³Ñ¥«¥Ê¤ËÊÑ¹¹¤¹¤ë */
+ #undef NO_HANKAKU_SJIS
+ 
+ /* ¤Ò¤é¤¬¤Ê¡¢¥«¥¿¥«¥Ê¤ÎÊÂ¤Ó¤«¤é EUC , SJIS ¤ò¿äÄê¤¹¤ë */
+ #define KANA_NARABI
+ 
+ /* EUC , SJIS ¤ò¿äÄê¤ò»Ï¤á¤Î°ìÅÙ¤·¤«¹Ô¤Ê¤ï¤Ê¤¤ */
+ /* (¥Õ¥¡¥¤¥ë¤ò°ì¤Ä¤·¤«¤Ò¤é¤«¤Ê¤¤¤Ê¤éÍ­¸ú¤Ç¤¤¤¤) */
+ #undef USE_CACHE_KANA_NARABI
+ 
+ /* strdup´Ø¿ô¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ì¤Ðdefine */
+ #define HAVE_STRDUP     1
+ 
+ /* ¥Ç¥Ð¥Ã¥¯ÍÑ¤Î´Ø¿ô¤òÍ­¸ú¤Ë¤¹¤ë */
+ #undef DEBUG
+ 
+ /* ¥í¥±¡¼¥ëÌ¾(ÂçÊ¸»ú¡¢¾®Ê¸»ú¤Ï¶èÊÌ¤µ¤ì¤Ê¤¤) */
+ #define SJIS_LOCALE_NAME  "ja_JP.SJIS", "ja_JP.PCK"
+ #define JIS_LOCALE_NAME   "ja_JP.JIS", "ja_JP.jis7"
+ #define EUC_LOCALE_NAME   "ja_JP.ujis", "ja_JP.EUC",\
+                           "ja_JP.eucJP","japanese", "ja"
diff -Ncr a2ps-4.13/libjcode/libjcode.c a2ps-4.13-ja_nls/libjcode/libjcode.c
*** a2ps-4.13/libjcode/libjcode.c	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/libjcode/libjcode.c	Tue Jun 20 19:21:40 2000
***************
*** 0 ****
--- 1,554 ----
+ /* 
+  *  libjcode.c -- ´Á»úÊÑ´¹¥é¥¤¥Ö¥é¥ê    1.0 ÈÇ
+  *                (C) Kuramitsu Kimio, Tokyo Univ. 1996-97
+  *
+  *  ¤³¤Î¥é¥¤¥Ö¥é¥ê¤Ï¡¢CGI Programming with C and Perl ¤Î¤¿¤á¤Ë
+  *  Ken Lunde Ãø ¡ÖÆüËÜ¸ì¾ðÊó½èÍý¡× (O'llery) ¤ò»²¹Í¤Ë¤·¤Æ¡¢
+  *  ¥¹¥È¥ê¡¼¥àÍÑ¤À¤Ã¤¿jconv.c ¤ò¡¢¥¹¥È¥ê¥ó¥°ÂÐ±þ¤Ë¤·¤Æ¥é¥¤¥Ö¥é¥ê²½
+  *  ¤·¤Þ¤·¤¿¡£ 
+  *  ¤¿¤À¤·¡¢CGI (INTERNET)¤Ç¤ÎÍøÍÑ¤ò¹Í¤¨¤Æ¡¢ÊÑ¹¹¤·¤Æ¤¢¤ê¤Þ¤¹¡£
+  */
+  
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <locale.h>
+ #include "jlib.h"
+ #include "config.h"
+ #include "jlibconfig.h"
+  
+ extern int detectKanjiCode(char *str);
+ static unsigned char *_to_jis(unsigned char *str);
+ static unsigned char *_to_ascii(unsigned char *str);
+ static void _jis_shift(int *p1, int *p2);
+ static void _sjis_shift(int *p1, int *p2);
+ static unsigned char *_sjis_han2zen(unsigned char *str, int *p1, int *p2);
+ static void _shift2seven(unsigned char *str, unsigned char *str2);
+ static void _shift2euc(unsigned char *str, unsigned char *str2);
+ static void _shift_self(unsigned char *str, unsigned char *str2);
+ static void _euc2seven(unsigned char *str, unsigned char *str2);
+ static void _euc2shift(unsigned char *str, unsigned char *str2);
+ static unsigned char *_skip_esc(unsigned char *str, int *esc_in);
+ static void _seven2shift(unsigned char *str, unsigned char *str2);
+ static void _seven2euc(unsigned char *str, unsigned char *str2);
+ 
+ 
+ 
+ #define CHAROUT(ch) *str2 = (unsigned char)(ch); str2++;
+ 
+ #ifndef HAVE_STRDUP
+ #define strdup(str)  _strdup(str)
+ static char *_str_dup(unsigned char *buf) {
+ 
+   unsigned char *p, *str;
+   if((str = (char *)malloc(strlen(buf) + 1)) == NULL) {
+     fprintf(stderr, "Can't malloc string buffer\n");
+     exit(2);
+   }
+ 
+   p = (unsigned char *)str;
+    
+   while(*buf)
+     *p++ = *buf++;
+ 
+   *p = '\0';
+ 
+   return str;
+ }
+ #endif
+ 
+ /* --------------------------------------- JIS(ISO-2022) ¥³¡¼¥É¤ØÀÚ¤êÂØ¤¨ -- */
+ 
+ static unsigned char *_to_jis(unsigned char *str) {
+   *str = (unsigned char)ESC; str++;
+   *str = (unsigned char)'$'; str++;
+   *str = (unsigned char)'B'; str++;
+   return str;
+ }
+ 
+ /* ----------------------------------------------- ASCII ¥³¡¼¥É¤ØÀÚ¤êÂØ¤¨ -- */
+ 
+ /* ESC ( B ¤È ESC ( J ¤Î°ã¤¤¡£
+    ËÜÍè¤Ï¡¢ ESC ( J ¤¬Àµ¤·¤¤JIS-Roman ÂÎ·Ï¤Ç¤¢¤ë¤¬¡¢
+    ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤Î¾å¤Ç¤Ï¡¢±Ñ¿ô»ú¤ÏASCII ¤ÎÊý¤¬¼«Á³¤«¤È»×¤ï¤ì¤ë¡£
+    \ µ­¹æ¤È ~µ­¹æ¤¬°ã¤¦¤À¤±¤Ç¤¢¤ë¡£ */
+ 
+ static unsigned char *_to_ascii(unsigned char *str) {
+   *str = (unsigned char)ESC; str++;
+   *str = (unsigned char)'('; str++;
+   *str = (unsigned char)'B'; str++;
+   return str;
+ }
+ 
+ /* -------------------------------------- JIS ¥³¡¼¥É ¤ò SJIS¤È¤·¤Æ¥·¥Õ¥È -- */
+ 
+ static void _jis_shift(int *p1, int *p2)
+ {
+   unsigned char c1 = *p1;
+   unsigned char c2 = *p2;
+   int rowOffset = c1 < 95 ? 112 : 176;
+   int cellOffset = c1 % 2 ? (c2 > 95 ? 32 : 31) : 126;
+ 
+   *p1 = ((c1 + 1) >> 1) + rowOffset;
+   *p2 += cellOffset;
+ }
+ 
+ /* --------------------------------- SJIS ¥³¡¼¥É¤òJIS ¥³¡¼¥É¤È¤·¤Æ¥·¥Õ¥È -- */
+ 
+ static void _sjis_shift(int *p1, int *p2)
+ {
+   unsigned char c1 = *p1;
+   unsigned char c2 = *p2;
+   int adjust = c2 < 159;
+   int rowOffset = c1 < 160 ? 112 : 176;
+   int cellOffset = adjust ? (c2 > 127 ? 32 : 31) : 126;
+ 
+   *p1 = ((c1 - rowOffset) << 1) - adjust;
+   *p2 -= cellOffset;
+ }
+ 
+ /* ---------------------------------------------- SJIS È¾³Ñ¤òÁ´³Ñ¤ËÊÑ´¹ -- */
+ #define HANKATA(a)  (a >= 161 && a <= 223)
+ #define ISMARU(a)   (a >= 202 && a <= 206)
+ #define ISNIGORI(a) ((a >= 182 && a <= 196) || (a >= 202 && a <= 206) || (a == 179))
+ 
+ static int stable[][2] = {
+     {129,66},{129,117},{129,118},{129,65},{129,69},{131,146},{131,64},
+     {131,66},{131,68},{131,70},{131,72},{131,131},{131,133},{131,135},
+     {131,98},{129,91},{131,65},{131,67},{131,69},{131,71},{131,73},
+     {131,74},{131,76},{131,78},{131,80},{131,82},{131,84},{131,86},
+     {131,88},{131,90},{131,92},{131,94},{131,96},{131,99},{131,101},
+     {131,103},{131,105},{131,106},{131,107},{131,108},{131,109},
+     {131,110},{131,113},{131,116},{131,119},{131,122},{131,125},
+     {131,126},{131,128},{131,129},{131,130},{131,132},{131,134},
+     {131,136},{131,137},{131,138},{131,139},{131,140},{131,141},
+     {131,143},{131,147},{129,74},{129,75}};
+ 
+ static unsigned char *_sjis_han2zen(unsigned char *str, int *p1, int *p2)
+ {
+   register int c1, c2;
+ 
+   c1 = (int)*str; str++;
+   *p1 = stable[c1 - 161][0];
+   *p2 = stable[c1 - 161][1];
+ 
+   /* Âù²»¡¢È¾Âù²»¤Î½èÍý */
+   c2 = (int)*str;
+   if (c2 == 222 && ISNIGORI(c1)) {
+     if ((*p2 >= 74 && *p2 <= 103) || (*p2 >= 110 && *p2 <= 122))
+       (*p2)++;
+     else if (*p1 == 131 && *p2 == 69)
+       *p2 = 148;
+     str++;
+   }
+ 
+   if (c2 == 223 && ISMARU(c1) && (*p2 >= 110 && *p2 <= 122) ) {
+     *p2 += 2;
+     str++;
+   }
+   return str++;
+ }
+ 
+ /* -------------------------------------------------- SJIS ¥³¡¼¥É¤òÊÑ´¹ -- */
+ 
+ #define SJIS1(A)    ((A >= 129 && A <= 159) || (A >= 224 && A <= 239))
+ #define SJIS2(A)    (A >= 64 && A <= 252)
+ 
+ static void _shift2seven(unsigned char *str, unsigned char *str2)
+ {
+   int p1,p2,esc_in = FALSE;
+ 
+   while ((p1 = (int)*str) != '\0') {
+ 
+     if (SJIS1(p1)) {
+       if((p2 = (int)*(++str)) == '\0') break;
+       if (SJIS2(p2)) {
+         _sjis_shift(&p1,&p2);
+         if (!esc_in) {
+           esc_in = TRUE;
+           str2 = _to_jis(str2);
+         }
+       }
+       CHAROUT(p1);
+       CHAROUT(p2);
+       str++;
+       continue;
+     }
+ 
+ #ifdef NO_HANKAKU_SJIS
+     /* È¾³Ñ SJIS ¤Ï¡¢¶¯À©Åª¤ËÁ´³Ñ¤ËÊÑ¤¨¤ë */
+     if (HANKATA(p1)) {
+       str = _sjis_han2zen(str, &p1, &p2);
+       _sjis_shift(&p1,&p2);
+       if (!esc_in) {
+         esc_in = TRUE;
+         str2 = _to_jis(str2);
+       }
+       CHAROUT(p1);
+       CHAROUT(p2);
+       continue;
+     }
+ #endif
+ 
+     if (esc_in) {
+       /* LF / CR ¤Î¾ì¹ç¤Ï¡¢Àµ¾ï¤Ë¥¨¥¹¥±¡¼¥×¥¢¥¦¥È¤µ¤ì¤ë */
+       esc_in = FALSE;
+       str2 = _to_ascii(str2);
+     }
+     CHAROUT(p1);
+     str++;
+   }
+ 
+   if (esc_in)
+     str2 = _to_ascii(str2);
+   *str2='\0';
+ }
+ 
+ /* --------------------------------------------- SJIS ¤ò EUC ¤ËÊÑ´¹¤¹¤ë -- */
+ 
+ static void _shift2euc(unsigned char *str, unsigned char *str2)
+ {
+   int p1,p2;
+   
+   while ((p1 = (int)*str) != '\0') {
+     if (SJIS1(p1)) {
+       if((p2 = (int)*(++str)) == '\0') break;
+       if (SJIS2(p2)) {
+         _sjis_shift(&p1,&p2);
+         p1 += 128;
+         p2 += 128;
+       }
+       CHAROUT(p1);
+       CHAROUT(p2);
+       str++;
+       continue;
+     }
+ 
+ #ifdef NO_HANKAKU_SJIS
+     /* È¾³Ñ SJIS ¤Ï¡¢¶¯À©Åª¤ËÁ´³Ñ¤ËÊÑ¤¨¤ë */
+     if (HANKATA(p1)) {
+       str = _sjis_han2zen(str,&p1,&p2);
+       _sjis_shift(&p1,&p2);
+       p1 += 128;
+       p2 += 128;
+       CHAROUT(p1);
+       CHAROUT(p2);
+       continue;
+     }
+ #endif
+     CHAROUT(p1);
+     str++;
+   }
+   *str2='\0';
+ }
+ 
+ /* ------------------------------------------------- È¾³Ñ SJIS ¤ò¼è¤ê½ü¤¯ -- */
+ 
+ static void _shift_self(unsigned char *str, unsigned char *str2)
+ {
+   int p1,p2;
+   
+   while ((p1 = (int)*str) != '\0') {
+ #ifdef NO_HANKAKU_SJIS
+     /* È¾³Ñ SJIS ¤Ï¡¢¶¯À©Åª¤ËÁ´³Ñ¤ËÊÑ¤¨¤ë */
+     if (HANKATA(p1)) {
+       str = _sjis_han2zen(str, &p1, &p2);
+       CHAROUT(p1);
+       CHAROUT(p2);
+       continue;
+     }
+ #endif
+     CHAROUT(p1);
+     str++;
+   }
+   *str2='\0';
+ }
+ 
+ /* ------------------------------------------------------EUC ¤«¤é JIS ¤Ø -- */
+ 
+ #define ISEUC(A)    (A >= 161 && A <= 254)
+ 
+ static void _euc2seven(unsigned char *str, unsigned char *str2)
+ {
+   int p1, p2, esc_in = FALSE;
+ 
+   while ((p1 = (int)*str) != '\0') {
+ 
+     if (p1 == LF || p1 == CR) {
+       if (esc_in) {
+         esc_in = FALSE;
+         str2 = _to_ascii(str2);
+       }
+       CHAROUT(p1);
+       str++;
+       continue;
+     }
+ 
+     if (ISEUC(p1)) {
+       if((p2 = (int)*(++str)) == '\0') break;
+       if (ISEUC(p2)) {
+ 
+ 	if (!esc_in) {
+ 	  esc_in = TRUE;
+ 	  str2 =_to_jis(str2);
+ 	}
+ 
+ 	CHAROUT(p1-128);
+ 	CHAROUT(p2-128);
+ 	str++;
+ 	continue;
+       }
+     }
+ 
+     if (esc_in) {
+       esc_in = FALSE;
+       str2 = _to_ascii(str2);
+     }
+     CHAROUT(p1);
+     str++;
+   }
+   *str2='\0';
+ }
+ 
+ /* ------------------------------------------------ EUC ¤«¤é SJIS ¤ËÊÑ´¹ -- */
+  
+ static void _euc2shift(unsigned char *str, unsigned char *str2)
+ {
+   int p1,p2;
+ 
+   while ((p1 = (int)*str) != '\0') {
+     if (ISEUC(p1)) {
+       if((p2 = (int)*(++str)) == '\0') break;
+       if (ISEUC(p2)) {
+ 	p1 -= 128;
+         p2 -= 128;
+         _jis_shift(&p1,&p2);
+       }
+       CHAROUT(p1);
+       CHAROUT(p2);
+       str++;
+       continue;
+     }
+ 
+     CHAROUT(p1);
+     str++;
+   }
+   *str2='\0';
+ }
+ 
+ /* -------------------------------------- ESC ¥·¡¼¥±¥ó¥¹¤ò¥¹¥­¥Ã¥×¤¹¤ë ----- */
+ 
+ static unsigned char *_skip_esc(unsigned char *str, int *esc_in) {
+   int c;
+   
+   c = (int)*(++str);
+   if ((c == '$') || (c == '(')) str++;
+   if ((c == 'K') || (c == '$')) *esc_in = TRUE;
+   else *esc_in = FALSE;
+ 
+   if(*str != '\0') str++;
+   return str;
+ }
+ 
+ 
+ /* ----------------------------------------------- JIS ¤ò SJIS ¤ËÊÑ´¹¤¹¤ë -- */
+ 
+ static void _seven2shift(unsigned char *str, unsigned char *str2)
+ {
+   int p1, p2, esc_in = FALSE;
+ 
+   while ((p1 = (int)*str) != '\0') {
+ 
+     /* ESC¥·¡¼¥±¥ó¥¹¤ò¥¹¥­¥Ã¥×¤¹¤ë */
+     if (p1 == ESC) {
+       str = _skip_esc(str, &esc_in);
+       continue;
+     }
+ 
+     if (p1 == LF || p1 == CR) {
+       if (esc_in) esc_in = FALSE;
+     }
+ 
+     if(esc_in) { /* ISO-2022-JP ¥³¡¼¥É */
+       if((p2 = (int)*(++str)) == '\0') break;
+ 
+       _jis_shift(&p1, &p2);
+ 
+       CHAROUT(p1);
+       CHAROUT(p2);
+     }else{       /* ASCII ¥³¡¼¥É */
+       CHAROUT(p1);
+     }
+     str++;
+   }
+   *str2 = '\0';
+ }
+ 
+ /* ------------------------------------------------ JIS ¤ò EUC ¤ËÊÑ´¹¤¹¤ë -- */
+ 
+ static void _seven2euc(unsigned char *str, unsigned char *str2)
+ {
+   int p1, esc_in = FALSE;
+ 
+   while ((p1 = (int)*str) != '\0') {
+ 
+     /* ESC¥·¡¼¥±¥ó¥¹¤ò¥¹¥­¥Ã¥×¤¹¤ë */
+     if (p1 == ESC) {
+       str = _skip_esc(str, &esc_in);
+       continue;
+     }
+ 
+     if (p1 == LF || p1 == CR) {
+       if (esc_in) esc_in = FALSE;
+     }
+ 
+     if(esc_in) { /* ISO-2022-JP ¥³¡¼¥É */
+       CHAROUT(p1 + 128); 
+       
+       if((p1 = (int)*(++str)) == '\0') break;
+       CHAROUT(p1 + 128);
+     }else{       /* ASCII ¥³¡¼¥É */
+       CHAROUT(p1);
+     }
+     str++;
+   }
+   *str2 = '\0';
+ }
+ 
+ /* ------------------------------------------------------------------------ */
+ /* --------------------------------------------------------- Public ´Ø¿ô -- */
+ char *toStringJIS(char *str) {
+   int detected;
+   unsigned char *buf, *ret;
+ 
+   if(!str) return (NULL);
+   detected = detectKanjiCode(str);
+   if(detected == ASCII || detected == JIS)
+     return strdup(str);
+ 
+   buf = (unsigned char*)malloc(strlen(str)*2);
+   if (!buf) return NULL;
+ 
+   switch(detected) {
+   case SJIS :
+     _shift2seven((unsigned char *)str, buf);
+     break;
+   case EUC :
+     _euc2seven((unsigned char *)str, buf);
+     break;
+   default:
+     free(buf);
+     return strdup(str);
+     break;
+   }
+ 
+   ret = strdup(buf);
+   free(buf);
+   return ret;
+ }
+ 
+ char *toStringEUC(char *str) {
+   int detected;
+   unsigned char *buf, *ret;
+ 
+   if(!str) return (NULL);
+   detected = detectKanjiCode(str);
+   if(detected == ASCII || detected == EUC) return strdup(str);
+ 
+   buf = (unsigned char*)malloc(strlen(str)*2);
+   if (!buf) return NULL;
+ 
+   switch(detected) {
+   case SJIS :
+     _shift2euc((unsigned char *)str, buf);
+     break;
+   case JIS :
+   case NEW : case OLD : case NEC :
+      _seven2euc((unsigned char *)str, buf);
+     break;
+   default:
+     free(buf);
+     return strdup(str);
+     break;
+   }
+ 
+   ret = strdup(buf);
+   free(buf);
+   return ret;
+ }
+ 
+ char *toStringSJIS(char *str) {
+   int detected;
+   unsigned char *buf, *ret;
+ 
+   if (!str) return NULL;
+   detected = detectKanjiCode(str);
+   if(detected == ASCII) return strdup(str);
+   
+   buf = (unsigned char*)malloc(strlen(str)*2);
+   if (!buf) return NULL;
+ 
+   switch(detected) {
+   case NEW : case OLD : case NEC :
+   case JIS :
+     _seven2shift((unsigned char *)str, buf);
+     break;
+   case EUC :
+     _euc2shift((unsigned char *)str, buf);
+     break;
+   case SJIS :  
+   default:
+     _shift_self((unsigned char *)str, buf);
+   }
+ 
+   ret = strdup(buf);
+   free(buf);
+   return ret;
+ }
+ 
+ char *toStringAuto(char *str) {
+   static int  jpcode = -1;
+   static char *sjis_locale_name[] = {SJIS_LOCALE_NAME, NULL};
+   static char *jis_locale_name[]  = {JIS_LOCALE_NAME, NULL};
+   static char *euc_locale_name[]  = {EUC_LOCALE_NAME, NULL};
+   static struct LOCALETABLE {
+     int code;
+     char **name_list;
+   } locale_table[] = { {SJIS, sjis_locale_name},
+ 		     {EUC, euc_locale_name},
+ 		     {JIS, jis_locale_name}};
+ 
+   if(!str) return (NULL);
+ 
+   if (jpcode == -1) {
+     char *ctype = setlocale(LC_CTYPE, "");
+     int i, j;
+     for( j=0; jpcode == -1 && 
+ 	      j < sizeof(locale_table)/sizeof(struct LOCALETABLE); j++ ) {
+       char **name = locale_table[j].name_list;
+       for( i=0; name[i]; i++ )
+ 	if (strcasecmp(ctype, name[i]) == 0) {
+ 	  jpcode = locale_table[j].code;
+ 	  break;
+ 	}
+     }
+     if(jpcode == -1)
+         jpcode = ASCII;
+   }
+ 
+   switch (jpcode) {
+     case SJIS:
+       return (toStringSJIS(str));
+     break;
+     case JIS:
+     case NEW : case OLD : case NEC :
+       return (toStringJIS(str));
+     break;
+     case EUC:
+       return (toStringEUC(str));
+     break;
+     default:
+       return (strdup(str));
+     break;
+   }
+ }
diff -Ncr a2ps-4.13/libjcode/sample.c a2ps-4.13-ja_nls/libjcode/sample.c
*** a2ps-4.13/libjcode/sample.c	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/libjcode/sample.c	Tue Jun 20 19:21:40 2000
***************
*** 0 ****
--- 1,41 ----
+ /*
+   sample.c -- ¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à   by. ÁÒ¸÷ ·¯Ïº, 1996
+ 
+   ¤³¤Î¥×¥í¥°¥é¥à¤Ï¡¢¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ç¤¹¡£
+   É¸½àÆþÎÏ¤«¤éÆÉ¤ß¹þ¤ó¤À¥Æ¥­¥¹¥È¤ò¥ª¥×¥·¥ç¥ó¤Ë¤¢¤ï¤»¤Æ¡¢
+   ¥³¡¼¥ÉÊÑ´¹¤·¤Þ¤¹¡£
+ */
+ 
+ #include <stdio.h>
+ #include <string.h>
+ #include "jlib.h"
+ 
+ extern void printDetectCode(int code);
+ 
+ void main(int ac, char *av[]) {
+   char buffer[BUFSIZ];
+   int mode=JIS;
+ 
+   if(ac == 2) {
+     if(!strcmp(av[1], "-e")) mode = EUC;
+     if(!strcmp(av[1], "-s")) mode =SJIS;
+   }
+ 
+   while(fgets(buffer,BUFSIZ,stdin) != NULL) {
+     switch(mode) {
+     case EUC:
+       printf("%s", toStringEUC(buffer));
+       break;
+     case SJIS:
+       printf("%s", toStringSJIS(buffer));
+       break;
+     default:
+       printf("%s", toStringJIS(buffer));
+       break;
+     }
+   }
+   exit(0);
+ }
+ 
+ 
+ 
diff -Ncr a2ps-4.13/po/ja.po a2ps-4.13-ja_nls/po/ja.po
*** a2ps-4.13/po/ja.po	Thu Jan  1 09:00:00 1970
--- a2ps-4.13-ja_nls/po/ja.po	Wed Jun 21 10:50:01 2000
***************
*** 0 ****
--- 1,1190 ----
+ # Japanese messages for a2ps
+ # Copyright (C) 1995, 1996, 1997, 1998
+ # Yasuyuki Furukawa <furukawa@vinelinux.org>, 1999, 2000.
+ #
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: a2ps 4.13\n"
+ "POT-Creation-Date: 2000-06-20 19:30+0900\n"
+ "PO-Revision-Date: 2000-06-20 21:30+0900\n"
+ "Last-Translator: Yasuyuki Furukawa <furukawa@vinelinux.org>\n"
+ "Language-Team: Japanese\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=EUC-JP\n"
+ "Content-Transfer-Encoding: 8-bit\n"
+ 
+ #. TRANS: the type of the end-of-line rules, is `any type', i.e.
+ #. lines ended by \n, or \r, or \r\n, or \n\r are OK
+ #: src/buffer.c:67
+ msgid "any type"
+ msgstr "Á´¤Æ¤Î¥¿¥¤¥×"
+ 
+ #: lib/routines.c:160 lib/xbackupfile.c:248 lib/xbackupfile.c:276
+ #: lib/xbackupfile.c:284 src/delegate.c:260
+ #, c-format
+ msgid "cannot create file `%s'"
+ msgstr "¥Õ¥¡¥¤¥ë`%s'¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+ 
+ #: lib/routines.c:190 lib/routines.c:196 src/delegate.c:269 src/select.c:159
+ #, c-format
+ msgid "cannot open a pipe on `%s'"
+ msgstr "`%s'¤Î¥Ñ¥¤¥×¤ò³«¤±¤Þ¤»¤ó"
+ 
+ #. E.g.: Delegation `PsNup', from ps to ps
+ #: src/delegate.c:389
+ #, c-format
+ msgid "Delegation `%s', from %s to %s\n"
+ msgstr "³°Éô¥Õ¥£¥ë¥¿`%s', %s¤«¤é %s¤Ø\n"
+ 
+ #: src/delegate.c:408 src/delegate.c:430
+ msgid "Applications configured for delegation"
+ msgstr "¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï³°Éô¥Õ¥£¥ë¥¿¤ÎÀßÄê¤¬¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+ 
+ #: src/generate.c:88
+ #, c-format
+ msgid "`%s' is a directory"
+ msgstr "`%s'¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹"
+ 
+ #: lib/confg.c:288 lib/confg.c:451 lib/routines.c:154 src/generate.c:96
+ #: src/main.c:558 src/main.c:580
+ #, c-format
+ msgid "cannot open file `%s'"
+ msgstr "¥Õ¥¡¥¤¥ë`%s'¤ò³«¤±¤Þ¤»¤ó"
+ 
+ #. Another kind of error occured: exit
+ #: lib/xbackupfile.c:224 src/generate.c:101
+ #, c-format
+ msgid "cannot get informations on file `%s'"
+ msgstr "¥Õ¥¡¥¤¥ë`%s'¾å¤Î¾ðÊó¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó"
+ 
+ #: src/generate.c:168
+ #, c-format
+ msgid "[%s (%s): 1 page on 1 sheet]\n"
+ msgstr "[%s (%s): 1¥Ú¡¼¥¸, 1¥·¡¼¥È]\n"
+ 
+ #: src/generate.c:174
+ #, c-format
+ msgid "[%s (%s): %d pages on 1 sheet]\n"
+ msgstr "[%s (%s): %d¥Ú¡¼¥¸, 1¥·¡¼¥È]\n"
+ 
+ #: src/generate.c:181
+ #, c-format
+ msgid "[%s (%s): %d pages on %d sheets]\n"
+ msgstr "[%s (%s): %d¥Ú¡¼¥¸, %d¥·¡¼¥È]\n"
+ 
+ #: src/generate.c:208
+ #, c-format
+ msgid "[Total: 1 page on 1 sheet] %s\n"
+ msgstr "[¹ç·×: 1¥Ú¡¼¥¸, 1¥·¡¼¥È] %s\n"
+ 
+ #: src/generate.c:212
+ #, c-format
+ msgid "[Total: %d pages on 1 sheet] %s\n"
+ msgstr "[¹ç·×: %d¥Ú¡¼¥¸, 1¥·¡¼¥È] %s\n"
+ 
+ #: src/generate.c:217
+ #, c-format
+ msgid "[Total: %d pages on %d sheets] %s\n"
+ msgstr "[¹ç·×: %d¥Ú¡¼¥¸, %d¥·¡¼¥È] %s\n"
+ 
+ #: src/generate.c:226
+ msgid "[1 line wrapped]\n"
+ msgstr "[1¹Ô ÀÞ¤ê¾ö¤ß]\n"
+ 
+ #: src/generate.c:229
+ #, c-format
+ msgid "[%d lines wrapped]\n"
+ msgstr "[%d¹Ô ÀÞ¤ê¾ö¤ß]\n"
+ 
+ #: src/generate.c:242
+ msgid "[No output produced]\n"
+ msgstr "[½ÐÎÏ¤Ï¤¢¤ê¤Þ¤»¤ó]\n"
+ 
+ #: src/generate.c:314
+ #, c-format
+ msgid "%s, delegated to %s"
+ msgstr "%s, %s¤Ø¥Õ¥£¥ë¥¿¤Þ¤¹ "
+ 
+ #: src/generate.c:322
+ #, c-format
+ msgid "[%s (%s): failed.  Ignored]\n"
+ msgstr "[%s (%s): ¼ºÇÔ¤·¤Þ¤·¤¿.  Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹]\n"
+ 
+ #: src/generate.c:330
+ #, c-format
+ msgid "[%s (unprintable): ignored]\n"
+ msgstr "[%s (°õºþÉÔ²Ä): Ìµ¸ú¤Ç¤¹]\n"
+ 
+ #: src/generate.c:339
+ #, c-format
+ msgid "[%s (binary): ignored]\n"
+ msgstr "[%s (¥Ð¥¤¥Ê¥ê): Ìµ¸ú¤Ç¤¹]\n"
+ 
+ #: src/generate.c:360
+ msgid "plain"
+ msgstr "¥×¥ì¡¼¥ó"
+ 
+ #: /home/akim/src/a2ps-4.12/src/lexssh.l:348
+ msgid "end-of-line in string constant"
+ msgstr "Ê¸»úÎóÃæ¤Ë¹ÔËö¤¬¤­¤Æ¤¤¤Þ¤¹"
+ 
+ #. TRANS: %s is ".." or <..> or /../ etc.
+ #: /home/akim/src/a2ps-4.12/src/lexssh.l:415 src/sheets-map.l:152
+ #: src/sheets-map.l:191
+ #, c-format
+ msgid "end of line inside a %s"
+ msgstr "%s Ê¸»úÎóÃæ¤Ë¹ÔËö¤¬¤­¤Æ¤¤¤Þ¤¹"
+ 
+ #: src/main.c:201
+ #, c-format
+ msgid "received signal %d: %s"
+ msgstr "¥·¥°¥Ê¥ë%d¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿: %s"
+ 
+ #. TRANS: highlighting level = heavy (2/2)
+ #: src/main.c:240
+ msgid "heavy"
+ msgstr "¥Ø¥Ó¡¼"
+ 
+ #. TRANS: highlighting level = normal (1/2)
+ #: src/main.c:244
+ msgid "normal"
+ msgstr "ÄÌ¾ï"
+ 
+ #. TRANS: highlighting level = none (0/2)
+ #: src/main.c:248
+ msgid "none"
+ msgstr "¤Ê¤·"
+ 
+ #. This is just so that gettext knows I use those two strings.
+ #: src/main.c:322
+ msgid "yes"
+ msgstr ""
+ 
+ #: src/main.c:323 src/main.c:367
+ msgid "no"
+ msgstr "Ìµ¸ú"
+ 
+ #: src/main.c:333
+ #, c-format
+ msgid "Configuration status of %s %s\n"
+ msgstr "%s %s¤ÎÀßÄê¾õÂÖ\n"
+ 
+ #: src/main.c:337 src/main.c:694
+ msgid "Sheets:\n"
+ msgstr "¥·¡¼¥È:\n"
+ 
+ #: src/main.c:338
+ #, c-format
+ msgid ""
+ "  medium          = %s%s, %s\n"
+ "  page layout     = %d x %d, %s\n"
+ "  borders         = %s\n"
+ "  file alignment  = %s\n"
+ "  interior margin = %d\n"
+ msgstr ""
+ "  ¥á¥Ç¥£¥¢              = %s%s, %s\n"
+ "  ¥Ú¡¼¥¸¥ì¥¤¥¢¥¦¥È      = %d x %d, %s\n"
+ "  ÏÈ                    = %s\n"
+ "  ¥Õ¥¡¥¤¥ë¶èÀÚ¤ê        = %s\n"
+ "  ÆâÉô¥Þ¡¼¥¸¥ó          = %d\n"
+ 
+ #: src/main.c:347
+ msgid "portrait"
+ msgstr ""
+ 
+ #: src/main.c:347
+ msgid "landscape"
+ msgstr ""
+ 
+ #: src/main.c:356
+ #, c-format
+ msgid "%d characters per line"
+ msgstr "%dÊ¸»ú/¹Ô"
+ 
+ #: src/main.c:359
+ #, c-format
+ msgid "%d lines per page"
+ msgstr "%d¹Ô/¥Ú¡¼¥¸"
+ 
+ #: src/main.c:362
+ #, c-format
+ msgid "font size is %gpt"
+ msgstr "%gpt¥Õ¥©¥ó¥È¥µ¥¤¥º"
+ 
+ #. number line: each line
+ #: src/main.c:371
+ msgid "each line"
+ msgstr "³Æ¹Ô"
+ 
+ #. number line: each %d line
+ #: src/main.c:375
+ #, c-format
+ msgid "each %d lines"
+ msgstr "³Æ%d¹Ô"
+ 
+ #: src/main.c:378 src/main.c:715
+ msgid "Virtual pages:\n"
+ msgstr "²¾ÁÛ¥Ú¡¼¥¸:\n"
+ 
+ #: src/main.c:379
+ #, c-format
+ msgid ""
+ "  number lines         = %s\n"
+ "  format               = %s\n"
+ "  tabulation size      = %d\n"
+ "  non printable format = %s\n"
+ msgstr ""
+ "  ¹ÔÈÖ¹æ                = %s\n"
+ "  ·Á¼°                  = %s\n"
+ "  ¥¿¥Ö¥µ¥¤¥º            = %d\n"
+ "  °õºþÉÔ²Ä»þ¤Î·Á¼°      = %s\n"
+ 
+ #: src/main.c:390
+ msgid "Headers:\n"
+ msgstr "¥Ø¥Ã¥À:\n"
+ 
+ #: src/main.c:391
+ #, c-format
+ msgid ""
+ "  header       = %s\n"
+ "  left footer  = %s\n"
+ "  footer       = %s\n"
+ "  right footer = %s\n"
+ "  left title   = %s\n"
+ "  center title = %s\n"
+ "  right title  = %s\n"
+ "  under lay    = %s\n"
+ msgstr ""
+ "      ¥Ø¥Ã¥À          = %s\n"
+ "   º¸ ¥Õ¥Ã¥¿          = %s\n"
+ "      ¥Õ¥Ã¥¿          = %s\n"
+ "   ±¦ ¥Õ¥Ã¥¿          = %s\n"
+ "   º¸ ¥¿¥¤¥È¥ë        = %s\n"
+ "  Ãæ±û¥¿¥¤¥È¥ë        = %s\n"
+ "   ±¦ ¥¿¥¤¥È¥ë        = %s\n"
+ "  ²¼ ¥á¥Ã¥»¡¼¥¸       = %s\n"
+ 
+ #: src/main.c:410 src/main.c:744
+ msgid "Input:\n"
+ msgstr "ÆþÎÏ:\n"
+ 
+ #: src/main.c:411
+ #, c-format
+ msgid ""
+ "  truncate lines = %s\n"
+ "  interpret      = %s\n"
+ "  end of line    = %s\n"
+ "  encoding       = %s\n"
+ "  document title = %s\n"
+ "  prologue       = %s\n"
+ "  print anyway   = %s\n"
+ "  delegating     = %s\n"
+ msgstr ""
+ "  ¹Ô¤ÎÀÚ¤êµÍ¤á          = %s\n"
+ "  ³ä¤ê¹þ¤ß              = %s\n"
+ "  ²þ¹Ô¥³¡¼¥É            = %s\n"
+ "  É¸½à¥¨¥ó¥³¡¼¥É        = %s\n"
+ "  Ê¸¾ÏÂêÌ¾              = %s\n"
+ "  É¸½à¥×¥í¥í¡¼¥°        = %s\n"
+ "  ¶¯À©°õºþ              = %s\n"
+ "  ³°Éô¥Õ¥£¥ë¥¿¥ê¥ó¥°    = %s\n"
+ 
+ #. TRANS: a2ps -E --list=options.  Warning, this answer is also
+ #. used for the PPD file.  Make it compatible with both.
+ #: src/main.c:436 src/main.c:502
+ msgid "selected automatically"
+ msgstr "¼«Æ°ÁªÂò"
+ 
+ #: src/main.c:439 src/main.c:763
+ msgid "Pretty-printing:\n"
+ msgstr "°õºþÁõ¾þ:\n"
+ 
+ #: src/main.c:440
+ #, c-format
+ msgid ""
+ "  style sheet     = %s\n"
+ "  highlight level = %s\n"
+ "  strip level     = %d\n"
+ msgstr ""
+ "  ¥¹¥¿¥¤¥ë¥·¡¼¥È        = %s\n"
+ "  Áõ¾þ¥ì¥Ù¥ë            = %s\n"
+ "  ¥³¥á¥ó¥È¾ÊÎ¬¥ì¥Ù¥ë    = %d\n"
+ 
+ #: src/main.c:460
+ msgid "never make backups"
+ msgstr "¥Ð¥Ã¥¯¥¢¥Ã¥×¤òºîÀ®¤·¤Ê¤¤"
+ 
+ #: src/main.c:464
+ msgid "simple backups of every file"
+ msgstr "³Æ¥Õ¥¡¥¤¥ë¤ÎÃ±½ã¥Ð¥Ã¥¯¥¢¥Ã¥×"
+ 
+ #. appears in a2ps --version-=existing --list=defaults
+ #: src/main.c:469
+ msgid ""
+ "numbered backups of files already numbered,\n"
+ "                            and simple of others"
+ msgstr ""
+ "¥Õ¥¡¥¤¥ë¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×ÈÖ¹æ¤Ï¤¹¤Ç¤ËÈÖ¹æ¤¬Â¸ºß¤·¤Æ¤ª¤ê¡¢\n"
+ "                         Â¾¤ÎÃ±½ã¥Ð¥Ã¥¯¥¢¥Ã¥×¤â¤¢¤ê¤Þ¤¹"
+ 
+ #: src/main.c:474
+ msgid "numbered backups of every file"
+ msgstr "³Æ¥Õ¥¡¥¤¥ë¤Î¿ô»ú¤Ë¤è¤ë¥Ð¥Ã¥¯¥¢¥Ã¥×"
+ 
+ #: src/main.c:478 src/main.c:772
+ msgid "Output:\n"
+ msgstr "½ÐÎÏ:\n"
+ 
+ #: src/main.c:479
+ #, c-format
+ msgid ""
+ "  destination     = %s\n"
+ "  version control = %s\n"
+ "  backup suffix   = %s\n"
+ msgstr ""
+ "  ½ÐÎÏÀè                  = %s\n"
+ "  ¥Ð¡¼¥¸¥ç¥óÀ©¸æ          = %s\n"
+ "  ¥Ð¥Ã¥¯¥¢¥Ã¥×¥µ¥Õ¥£¥Ã¥¯¥¹= %s\n"
+ 
+ #: src/main.c:492 src/main.c:782
+ msgid "PostScript:\n"
+ msgstr "¥Ý¥¹¥È¥¹¥¯¥ê¥×¥È:\n"
+ 
+ #: src/main.c:493
+ #, c-format
+ msgid ""
+ "  magic number              = %s\n"
+ "  Printer Description (PPD) = %s\n"
+ "  default PPD               = %s\n"
+ "  page label format         = %s\n"
+ "  number of copies          = %d\n"
+ "  sides per sheet           = %s\n"
+ "  page device definitions   = "
+ msgstr ""
+ "  ¥Þ¥¸¥Ã¥¯ÈÖ¹æ              = %s\n"
+ "  ¥×¥ê¥ó¥¿¥Ç¥¹¥¯¥×¥ê¥¿(PPD) = %s\n"
+ "  É¸½à PPD                  = %s\n"
+ "  ¥Ú¡¼¥¸¥é¥Ù¥ë·Á¼°          = %s\n"
+ "  °õºþÉô¿ô                  = %d\n"
+ "  ¥µ¥¤¥É¡¿¥·¡¼¥È            = %d\n"
+ "  ¥Ú¡¼¥¸¥Ç¥Ð¥¤¥¹ÄêµÁ        = "
+ 
+ #: src/main.c:513
+ msgid "  statusdict definitions    = "
+ msgstr "  statusdictÄêµÁ            = "
+ 
+ #: src/main.c:516
+ #, c-format
+ msgid "  page prefeed              = %s\n"
+ msgstr "  ¥Ú¡¼¥¸¥×¥ì¥Õ¥£¡¼¥É        = %d\n"
+ 
+ #.
+ #. * Internal Details
+ #.
+ #: src/main.c:525
+ msgid "Internals:\n"
+ msgstr "ÆâÉô¾ðÊó:\n"
+ 
+ #: src/main.c:526
+ #, c-format
+ msgid ""
+ "  verbosity level     = %d\n"
+ "  file command        = %s\n"
+ "  library path        = \n"
+ msgstr ""
+ "  ¥á¥Ã¥»¡¼¥¸¾ÜºÙ¥ì¥Ù¥ë= %d\n"
+ "  file¥³¥Þ¥ó¥É¥Ñ¥¹    = %s\n"
+ "  ¥é¥¤¥Ö¥é¥ê¥Ñ¥¹      = \n"
+ 
+ #: src/main.c:651
+ #, c-format
+ msgid ""
+ "Usage: %s [OPTION]... [FILE]...\n"
+ "\n"
+ "Convert FILE(s) or standard input to PostScript.\n"
+ "\n"
+ "Mandatory arguments to long options are mandatory for short options too.\n"
+ "Long options marked with * require a yes/no argument, corresponding\n"
+ "short options stand for `yes'.\n"
+ msgstr ""
+ "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó]¡Å¡Å ¥Õ¥¡¥¤¥ë¡Å¡Å\n"
+ "\n"
+ "¥Õ¥¡¥¤¥ë¤Þ¤¿¤ÏÉ¸½àÆþÎÏ¤òPostscript¤ØÊÑ´¹¤·¤Þ¤¹¡£\n"
+ "\n"
+ "¥í¥ó¥°¥ª¥×¥·¥ç¥ó¤Ø¤Î¾ÊÎ¬¤Ç¤­¤Ê¤¤°ú¿ô¤Ï¡¢¥·¥ç¡¼¥È¥ª¥×¥·¥ç¥ó¤ËÂÐ¤·¤Æ¤â\n"
+ "Æ±ÍÍ¤Ç¤¹¡£¡Ø*¡Ù¥Þ¡¼¥¯ÉÕ¤Î¥í¥ó¥°¥ª¥×¥·¥ç¥ó¤Ë¤Ï yes/no ¤Î°ú¿ô¤¬É¬Í×¤Ç¤¹¡£\n"
+ "¤³¤ì¤ËÂÐ±þ¤¹¤ë¥·¥ç¡¼¥È¥ª¥×¥·¥ç¥ó¤Ï`yes'¤¬Î©¤Ã¤Æ¤¤¤Þ¤¹\n"
+ 
+ #: src/main.c:665
+ msgid "Tasks:\n"
+ msgstr "¥¿¥¹¥¯:\n"
+ 
+ #: src/main.c:666
+ msgid ""
+ "  --version        display version\n"
+ "  --help           display this help\n"
+ "  --guess          report guessed types of FILES\n"
+ "  --which          report the full path of library files named FILES\n"
+ "  --glob           report the full path of library files matching FILES\n"
+ "  --list=defaults  display default settings and parameters\n"
+ "  --list=TOPIC     detailed list on TOPIC (delegations, encodings, "
+ "features,\n"
+ "                   variables, media, ppd, printers, prologues, "
+ "style-sheets,\n"
+ "                   user-options)\n"
+ msgstr ""
+ "  --version                  ¥Ð¡¼¥¸¥ç¥ó¤òÉ½¼¨¤¹¤ë\n"
+ "  --help                     ¤³¤Î¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òÉ½¼¨¤¹¤ë\n"
+ "  --guess                    ¥Õ¥¡¥¤¥ë¤ÎÎà¿ä¥¿¥¤¥×¤òÉ½¼¨¤¹¤ë\n"
+ "  --which                    FILES¤ÎÌ¾¤ÎÉÕ¤¯¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤òÉ½¼¨¤¹¤ë\n"
+ "  --glob                     FILES¤È°ìÃ×¤¹¤ë¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤Î¥Õ¥ë¥Ñ¥¹¤òÉ½¼¨¤¹¤ë\n"
+ "  --list=defaults            É¸½àÀßÄê¤ª¤è¤Ó¥Ñ¥é¥á¡¼¥¿¤ò½ÐÎÏ¤¹¤ë\n"
+ "  --list=ÂêÌÜ                ³ÆÂêÌÜ¤Î¾ðÊó¤ò½ÐÎÏ¤¹¤ë(delegations, encodings,\n"
+ "                             features, variables, media, ppd, printers,\n"
+ "                             prologues, style-sheets, user-options)\n"
+ 
+ #: src/main.c:677
+ msgid ""
+ "After having performed the task, exit successfully.  Detailed lists may\n"
+ "provide additional help on specific features.\n"
+ msgstr ""
+ "¥¿¥¹¥¯½èÍý½ªÎ»¸å¤Ë, Àµ¾ï¤Ë½ªÎ»¤·¤Þ¤¹.  ¾ÜºÙ¤Ê¥ê¥¹¥È¤Ë¤è¤Ã¤Æ\n"
+ "»ØÄê¤·¤¿µ¡Ç½¤Ë´Ø¤¹¤ëÄÉ²Ã¥Ø¥ë¥×¤¬Äó¶¡¤µ¤ì¤Þ¤¹.\n"
+ 
+ #: src/main.c:685
+ msgid "Global:\n"
+ msgstr "Á´ÈÌ:\n"
+ 
+ #: src/main.c:686
+ msgid ""
+ "  -q, --quiet, --silent      be really quiet\n"
+ "  -v, --verbose[=LEVEL]      set verbosity on, or to LEVEL\n"
+ "  -=, --user-option=OPTION   use the user defined shortcut OPTION\n"
+ "      --debug                enable debugging features\n"
+ "  -D, --define=KEY[:VALUE]   unset variable KEY or set to VALUE\n"
+ msgstr ""
+ "  -q, --quiet, --silent      ¥á¥Ã¥»¡¼¥¸¤ò½ÐÎÏ¤·¤Ê¤¤\n"
+ "  -v, --verbose[=¥ì¥Ù¥ë]     ¾ÜºÙ¤Ê¥á¥Ã¥»¡¼¥¸¤ò½ÐÎÏ¡¢¤Þ¤¿¤Ï¤½¤Î¥ì¥Ù¥ë¤ÎÀßÄê\n"
+ "  -=, --user-option=OPTION   ¥æ¡¼¥¶ÄêµÁ¤Î¥·¥ç¡¼¥È¥«¥Ã¥È¥ª¥×¥·¥ç¥ó¤òÍøÍÑ¤¹¤ë\n"
+ "      --debug                ¥Ç¥Ð¥Ã¥°µ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë\n"
+ "  -D, --define=¥­¡¼[:ÃÍ]     ¥­¡¼¤ÎÃÍ¤ÎÀßÄê¤â¤·¤¯¤Ï²ò½ü\n"
+ 
+ #: src/main.c:695
+ msgid ""
+ "  -M, --medium=NAME      use output medium NAME\n"
+ "  -r, --landscape        print in landscape mode\n"
+ "  -R, --portrait         print in portrait mode\n"
+ "      --columns=NUM      number of columns per sheet\n"
+ "      --rows=NUM         number of rows per sheet\n"
+ "      --major=DIRECTION  first fill (DIRECTION=) rows, or columns\n"
+ "  -1, -2, ..., -9        predefined font sizes and layouts for 1.. 9 "
+ "virtuals\n"
+ "  -A, --file-align=MODE  align separate files according to MODE (fill, rank\n"
+ "                         page, sheet, or a number)\n"
+ "  -j, --borders*         print borders around columns\n"
+ "      --margin[=NUM]     define an interior margin of size NUM\n"
+ msgstr ""
+ "  -M, --medium=Ì¾Á°      ½ÐÎÏÇÞÂÎÌ¾¤Î»ØÄê\n"
+ "  -r, --landscape        landscape¥â¡¼¥É¤Ç½ÐÎÏ\n"
+ "  -R, --portrait         portrait¥â¡¼¥É¤Ç½ÐÎÏ\n"
+ "      --columns=¿ôÃÍ     1¥·¡¼¥È¤¢¤¿¤ê¤Î¥³¥é¥à¿ô(¿ôÃÍ > 0)\n"
+ "      --rows=¿ôÃÍ        1¥·¡¼¥È¤¢¤¿¤ê¤ÎÎó¿ô(¿ôÃÍ > 0)\n"
+ "      --major=Êý¸þ       ¥Ú¡¼¥¸¤òËä¤á¤Æ¹Ô¤¯Êý¸þ. rows,¤Þ¤¿¤Ïcolumns¤ò»ØÄê\n"
+ "  -1, -2, ..., -9        1, .., 9 ¤Î²¾ÁÛ¥Ú¡¼¥¸¤Î¥ì¥¤¥¢¥¦¥È¤Î»ØÄê\n"
+ "  -A, --file-align=¥â¡¼¥É ¥Õ¥¡¥¤¥ë¤Î¶èÀÚ¤ê¤Î»ØÄê(fill, rank\n"
+ "                         page, sheet, ¤â¤·¤¯¤Ï number)\n"
+ "  -j, --borders*         ¥«¥é¥àÏÈ¤ò½ÐÎÏ¤¹¤ë\n"
+ "      --margin[=¿ôÃÍ]    ÆâÉô¥Þ¡¼¥¸¥ó¤Î»ØÄê\n"
+ 
+ #: src/main.c:708
+ msgid ""
+ "The options -1.. -9 affect several primitive parameters to set up "
+ "predefined\n"
+ "layouts with 80 columns.  Therefore the order matters: `-R -f40 -2' is\n"
+ "equivalent to `-2'.  To modify the layout, use `-2Rf40', or compose "
+ "primitive\n"
+ "options (`--columns', `--font-size' etc.).\n"
+ msgstr ""
+ "¥ª¥×¥·¥ç¥ó -1.. -9 ¤Ï, »öÁ°¤ËÀßÄê¤µ¤ì¤¿80·å¤Î¥ì¥¤¥¢¥¦¥È¤òÀßÄê¤¹¤ë\n"
+ "¤¤¤¯¤Ä¤«¤Î´ðËÜ¥Ñ¥é¥á¡¼¥¿¤Ë±Æ¶Á¤·¤Þ¤¹¡£\n"
+ "¤½¤Î¤¿¤á¡¢°Ê²¼¤Î¤è¤¦¤Ê¤³¤È¤¬µ¯¤³¤ê¤Þ¤¹: `-R -f40 -2' ¤Ï`-2'¤ÈÆ±Åù\n"
+ "¤Ç¤¹.  ¥ì¥¤¥¢¥¦¥È¤ò²Ã¹©¤¹¤ë¤Î¤Ë, `-2Rf40'¤òÍÑ¤¤¤ë¤«¡¢¤â¤·¤¯¤Ï¡¢´ðËÜ\n"
+ "¥ª¥×¥·¥ç¥ó¤òÁÈ¤ß¹ç¤ï¤»¤Þ¤¹ (`--columns', `--font-size' Åù)¡£\n"
+ 
+ #: src/main.c:716
+ msgid ""
+ "      --line-numbers=NUM     precede each NUM lines with its line number\n"
+ "  -C                         alias for --line-numbers=5\n"
+ "  -f, --font-size=SIZE       use font SIZE (float) for the body text\n"
+ "  -L, --lines-per-page=NUM   scale the font to print NUM lines per virtual\n"
+ "  -l, --chars-per-line=NUM   scale the font to print NUM columns per "
+ "virtual\n"
+ "  -m, --catman               process FILE as a man page (same as -L66)\n"
+ "  -T, --tabsize=NUM          set tabulator size to NUM\n"
+ "  --non-printable-format=FMT specify how non-printable chars are printed\n"
+ msgstr ""
+ "      --line-numbers=¿ôÃÍ    ³Æ¹Ô¤ª¤­¤Ë¹ÔÈÖ¹æ¤ò¹ÔÆ¬¤Ë¤Ä¤±¤ë\n"
+ "  -C                         --line-numbers=5¤Î¥¨¥¤¥ê¥¢¥¹\n"
+ "  -f, --font-size=¥µ¥¤¥º     Ê¸¾ÏËÜÂÎ¤Î¥Õ¥©¥ó¥È¥µ¥¤¥º(float)¤Î»ØÄê\n"
+ "  -L, --lines-per-page=¿ôÃÍ  ³Æ¥Ú¡¼¥¸¤Î°õºþ¹Ô¿ô¤Î»ØÄê\n"
+ "  -l, --chars-per-line=¿ôÃÍ  ¥Ú¡¼¥¸ÊÕ¤ê¤Î°õºþ²£Ê¸»ú¿ô¤Î»ØÄê\n"
+ "  -m, --catman               man¤È¤·¤Æ¥Õ¥¡¥¤¥ë¤ò½èÍý¤¹¤ë(-L66¤ÈÆ±ÍÍ)\n"
+ "  -T, --tabsize=¿ôÃÍ         ¥¿¥Ö¥µ¥¤¥º¤ÎÀßÄê\n"
+ "  --non-printable-format=FMT ÈóÉ½¼¨Ê¸»ú¤Î½ÐÎÏ·Á¼°¤Î»ØÄê\n"
+ 
+ #: src/main.c:727
+ msgid "Headings:\n"
+ msgstr "¥Ø¥Ã¥À:\n"
+ 
+ #: src/main.c:729
+ #, no-c-format
+ msgid ""
+ "  -B, --no-header        no page headers at all\n"
+ "  -b, --header[=TEXT]    set page header\n"
+ "  -u, --underlay[=TEXT]  print TEXT under every page\n"
+ "  --center-title[=TEXT]  set page title to TITLE\n"
+ "  --left-title[=TEXT]    set left and right page title to TEXT\n"
+ "  --right-title[=TEXT]\n"
+ "  --left-footer[=TEXT]   set sheet footers to TEXT\n"
+ "  --footer[=TEXT]\n"
+ "  --right-footer[=TEXT]\n"
+ msgstr ""
+ "  -B, --no-header            ¥Ú¡¼¥¸¥Ø¥Ã¥À¤ò¤Ê¤¯¤¹\n"
+ "  -b, --header[=TEXT]        ¥Ú¡¼¥¸¥Ø¥Ã¥À¤ÎÀßÄê\n"
+ "  -u, --underlay[=TEXT]      TEXT¤ò³Æ¥Ú¡¼¥¸¤Î²¼¤ËÉ½¼¨\n"
+ "  --center-title[=TEXT]      ¥Ú¡¼¥¸¤ÎÂêÌ¾¤òTEXT¤ËÀßÄê¤¹¤ë\n"
+ "  --left-title[=TEXT]        º¸±¦¥Ú¡¼¥¸¥¿¥¤¥È¥ë¤òTEXT¤ËÀßÄê¤¹¤ë\n"
+ "  --right-title[=TEXT]\n"
+ "  --left-footer[=TEXT]       ¥·¡¼¥È¥Õ¥Ã¥¿¤òTEXT¤ËÀßÄê¤¹¤ë\n"
+ "  --footer[=TEXT]            \n"
+ "  --right-footer[=TEXT]\n"
+ 
+ #: src/main.c:740
+ msgid "The TEXTs may use special escapes.\n"
+ msgstr "TEXT¤Ë¤ÏÆÃ¼ì¤Ê¥¨¥¹¥±¡¼¥×¤¬ÍøÍÑ¤Ç¤­¤Þ¤¹¡£\n"
+ 
+ #: src/main.c:745
+ msgid ""
+ "  -a, --pages[=RANGE]        select the pages to print\n"
+ "  -c, --truncate-lines*      cut long lines\n"
+ "  -i, --interpret*           interpret tab, bs and ff chars\n"
+ "      --end-of-line=TYPE     specify the eol char (TYPE: r, n, nr, rn, any)\n"
+ "  -X, --encoding=NAME        use input encoding NAME\n"
+ "  -t, --title=NAME           set the name of the job\n"
+ "      --stdin=NAME           set the name of the input file stdin\n"
+ "      --print-anyway*        force binary printing\n"
+ "  -Z, --delegate*            delegate files to another application\n"
+ "      --toc[=TEXT]           generate a table of content\n"
+ msgstr ""
+ "  -a, --pages[=ÈÏ°Ï]         °õºþ¥Ú¡¼¥¸¤ÎÁªÂò\n"
+ "  -c, --truncate-lines*      Ä¹¤¹¤®¤ë¹Ô¤òºï½ü¤¹¤ë\n"
+ "  -i, --interpret*           ¥¿¥Ö¡¢¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¡¢ffÊ¸»ú¤ò²ò¼á¤¹¤ë\n"
+ "      --end-of-line=¥¿¥¤¥×   ²þ¹ÔÊ¸»ú¤Î»ØÄê (¥¿¥¤¥×: r, n, nr, rn, any)\n"
+ "  -X, --encoding=¥¨¥ó¥³¡¼¥É  ¥¨¥ó¥³¡¼¥ÉÌ¾¤Î»ØÄê\n"
+ "  -t, --title=¥¿¥¤¥È¥ë       ÆâÍÆ¤ÎÂêÌ¾¤ÎÀßÄê¤¹¤ë\n"
+ "      --stdin=Ì¾Á°           ÆþÎÏ¥Õ¥¡¥¤¥ëÉ¸½àÆþÎÏ¤ÎÌ¾Á°¤ÎÀßÄê\n"
+ "      --print-anyway*        ¶¯À©Åª¤Ë¥Ð¥¤¥Ê¥ê¤ò°õºþ¤¹¤ë\n"
+ "  -Z, --delegate*            Â¾¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ø¥Õ¥£¥ë¥¿¥ê¥ó¥°¤¹¤ë\n"
+ "      --toc[=¥Æ¥­¥¹¥È]       ÌÜ¼¡¤òºîÀ®¤¹¤ë\n"
+ 
+ #: src/main.c:757
+ msgid ""
+ "When delegations are enabled, a2ps may use other applications to handle the\n"
+ "processing of files that should not be printed as raw information, e.g., "
+ "HTML\n"
+ "PostScript, PDF etc.\n"
+ msgstr ""
+ "³°Éô¥Õ¥£¥ë¥¿¤òÍ­¸ú¤Ë¤·¤Æ¤¤¤ë¾ì¹ç, a2ps ¤ÏÀ¸¾ðÊó¤È¤·¤Æ°õºþ¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤\n"
+ "¥Õ¥¡¥¤¥ë¤Î½èÍý¤ËÂÐ¤·¤Æ, ÊÌ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÍøÍÑ¤·¤Þ¤¹¡£\n"
+ "   Îã: HTML, Postscript, PDFÅù.\n"
+ 
+ #: src/main.c:764
+ msgid ""
+ "  -E, --pretty-print[=LANG]  enable pretty-printing (set style to LANG)\n"
+ "  --highlight-level=LEVEL    set pretty printing highlight LEVEL\n"
+ "                             LEVEL can be none, normal or heavy\n"
+ "  -g                         alias for --highlight-level=heavy\n"
+ "  --strip-level=NUM          level of comments stripping\n"
+ msgstr ""
+ "  -E, --pretty-print[=¸À¸ì]  Áõ¾þ°õºþ¤òÍ­¸ú¤Ë¤¹¤ë(¸À¸ì¤Ç¥¹¥¿¥¤¥ë¤òÀßÄê¤¹¤ë)\n"
+ "  --highlight-level=LEVEL    Áõ¾þ°õºþ¥ì¥Ù¥ë¤òÀßÄê¤¹¤ë\n"
+ "                             ¥ì¥Ù¥ë¤Ï none, normal ¤â¤·¤¯¤Ï heavy ¤Ç¤¹\n"
+ "  -g                         --highlight-level=heavy¤Î¥¨¥¤¥ê¥¢¥¹\n"
+ "  --strip-level=NUM          ¥³¥á¥ó¥È¾ÊÎ¬¥ì¥Ù¥ë\n"
+ 
+ #: src/main.c:773
+ msgid ""
+ "  -o, --output=FILE          leave output to file FILE.  If FILE is `-',\n"
+ "                             leave output to stdout.\n"
+ "  --version-control=WORD     override the usual version control\n"
+ "  --suffix=SUFFIX            override the usual backup suffix\n"
+ "  -P, --printer=NAME         send output to printer NAME\n"
+ "  -d                         send output to the default printer\n"
+ msgstr ""
+ "  -o, --output=¥Õ¥¡¥¤¥ë      »ØÄê¥Õ¥¡¥¤¥ëÌ¾¤Ø½ÐÎÏ¤¹¤ë. \n"
+ "                                ¥Õ¥¡¥¤¥ëÌ¾¤¬`-'¤Ê¤é,É¸½à½ÐÎÏ¤Ë¤Ê¤ê¤Þ¤¹.\n"
+ "  --version-control=WORD     ÄÌ¾ï¤Î¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×À©¸æ¤Î¾å½ñ¤­»ØÄê\n"
+ "  --suffix=SUFFIX            ÄÌ¾ï¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥µ¥Õ¥£¥Ã¥¯¥¹¤Î¾å½ñ¤­»ØÄê\n"
+ "  -P, --printer=¥×¥ê¥ó¥¿     »ØÄê¥×¥ê¥ó¥¿¤Ø½ÐÎÏ¤òÁ÷¿®¤¹¤ë\n"
+ "  -d                         É¸½à¥×¥ê¥ó¥¿¤Ø½ÐÎÏ¤òÁ÷¿®¤¹¤ë\n"
+ 
+ #: src/main.c:783
+ msgid ""
+ "      --prologue=FILE        include FILE.pro as PostScript prologue\n"
+ "      --ppd[=KEY]            automatic PPD selection or set to KEY\n"
+ "  -n, --copies=NUM           print NUM copies of each page\n"
+ "  -s, --sides=MODE           set the duplex MODE (`1' or `simplex',\n"
+ "                             `2' or `duplex', `tumble')\n"
+ "  -S, --setpagedevice=K[:V]  pass a page device definition to output\n"
+ "      --statusdict=K[:[:]V]  pass a statusdict definition to the output\n"
+ "  -k, --page-prefeed         enable page prefeed\n"
+ "  -K, --no-page-prefeed      disable page prefeed\n"
+ msgstr ""
+ "      --prologue=¥Õ¥¡¥¤¥ë    "
+ "PostScript¥×¥í¥í¡¼¥°¤È¤·¤Æ¥Õ¥¡¥¤¥ë.pro¤ò¼è¤ê¹þ¤à\n"
+ "      --ppd[=¥­¡¼]           ¼«Æ°PPDÁªÂò¡¢¤â¤·¤¯¤Ï¥­¡¼¤òÀßÄê\n"
+ "  -n, --copies=¿ôÃÍ          ³Æ¥Ú¡¼¥¸¤ÎÉô¿ô¤Î»ØÄê\n"
+ "  -s, --sides=¥â¡¼¥É         Ê£¼°¥â¡¼¥É¤ÎÀßÄê (`1'¤â¤·¤¯¤Ï`simplex'\n"
+ "                             `2' ¤â¤·¤¯¤Ï`duplex', `tumble')\n"
+ "  -D, --setpagedevice=K[:V]  ¥Ú¡¼¥¸¥Ç¥Ð¥¤¥¹ÄêµÁ¤ò½ÐÎÏ¤ØÄÌ¤¹\n"
+ "  -S, --statusdict=K[:[:]V]  statusdictÄêµÁ¤ò½ÐÎÏ¤ØÄÌ¤¹\n"
+ "  -k, --page-prefeed         ¥Ú¡¼¥¸¥×¥ì¥Õ¥£¡¼¥É¤òÍ­¸ú¤Ë¤¹¤ë\n"
+ "  -K, --no-page-prefeed      ¥Ú¡¼¥¸¥×¥ì¥Õ¥£¡¼¥É¤òÌµ¸ú¤Ë¤¹¤ë\n"
+ 
+ #: src/main.c:797
+ msgid ""
+ "By default a2ps is tuned to do what you want to, so trust it.  To pretty\n"
+ "print the content of the `src' directory and a table of content, and send "
+ "the\n"
+ "result to the printer `lw',\n"
+ "\n"
+ "    $ a2ps -P lw --toc src/*\n"
+ "\n"
+ "To process the files `sample.ps' and `sample.html' and display the result,\n"
+ "\n"
+ "    $ a2ps -P display sample.ps sample.html\n"
+ "\n"
+ "To process a mailbox in 4 up,\n"
+ "\n"
+ "    $ a2ps -=mail -4 mailbox\n"
+ "\n"
+ "To print as a booklet on the default printer, which is Duplex capable,\n"
+ "\n"
+ "    $ a2ps -=book paper.dvi.gz -d\n"
+ msgstr ""
+ "¥Ç¥Õ¥©¥ë¥È¤Ç, a2ps ¤Ï¤¢¤Ê¤¿¤Î´õË¾¤¹¤ë¤è¤¦Æ°ºî¤ò¤¹¤ë¤è¤¦¤ËÄ´À°¤µ¤ì¤Æ¤¤¤Þ¤¹¡£\n"
+ "`src'¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍÆ¤È¡¢¤½¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¥Æ¡¼¥Ö¥ë¤ò¤­¤ì¤¤¤Ë°õºþ¤·¤Æ·ë²Ì¤ò\n"
+ "`lw' ¥×¥ê¥ó¥¿ ¤ØÁ÷¿®¤¹¤ë¤Ë¤Ï¡¢\n"
+ "\n"
+ "    $ a2ps -P lw --toc src/*\n"
+ "\n"
+ "`sample.ps'¤È`sample.html'¤òÃ±½ã¤Ë½èÍý¤·¤Æ·ë²Ì¤òÉ½¼¨¤¹¤ë¤Ë¤Ï¡¢\n"
+ "\n"
+ "    $ a2ps -P display sample.ps sample.html\n"
+ "\n"
+ "4¥¢¥Ã¥×¤ÎÍ¹ÊØ¤ò½èÍý¤¹¤ë¤Ë¤Ï¡¢\n"
+ "\n"
+ "    $ a2ps -=mail -4 mailbox\n"
+ "\n"
+ "Î¾ÌÌ°õºþ¤¬²ÄÇ½¤ÊÉ¸½à¥×¥ê¥ó¥¿¤Ø¾®ºý»Ò¤È¤·¤Æ°õºþ¤¹¤ë¤Ë¤Ï¡¢\n"
+ "\n"
+ "    $ a2ps -=book paper.dvi.gz -d\n"
+ 
+ #: src/main.c:818
+ msgid ""
+ "News, updates and documentation: visit "
+ "http://www.inf.enst.fr/~demaille/a2ps/.\n"
+ msgstr ""
+ "¿·Ãå¾ðÊó¤ä¡¢¹¹¿·¾ðÊó¡¢¥É¥­¥å¥á¥ó¥È¤Ë¤Ï¡¢\n"
+ " http://www.inf.enst.fr/~demaille/a2ps/ ¤òË¬¤ì¤Æ¤¯¤À¤µ¤¤¡£\n"
+ 
+ #: src/main.c:820
+ msgid "Report bugs to <bug-a2ps@gnu.org>.\n"
+ msgstr "¥Ð¥°¤òÈ¯¸«¤·¤¿¤é <bug-a2ps@gnu.org> °¸¤ËÊó¹ð¤·¤Æ²¼¤µ¤¤.\n"
+ 
+ #: src/main.c:938
+ msgid ""
+ "Copyright (c) 1988-1993 Miguel Santana\n"
+ "Copyright (c) 1995-2000 Akim Demaille, Miguel Santana"
+ msgstr ""
+ 
+ #: src/main.c:1168
+ msgid "Table of Content"
+ msgstr "¥³¥ó¥Æ¥ó¥È¥Æ¡¼¥Ö¥ë"
+ 
+ #: src/parsessh.y:236
+ #, c-format
+ msgid "cannot process `%s' which requires a2ps version %s"
+ msgstr "`%s'¤ò½èÍý¤¹¤ë¤Ë¤Ï a2ps¥Ð¡¼¥¸¥ç¥ó %s¤¬É¬Í×¤Ç¤¹"
+ 
+ #: src/sheets-map.l:110
+ #, c-format
+ msgid "unexpected character `%c'"
+ msgstr "Í½´ü¤·¤Ê¤¤Ê¸»ú`%c'¤Ç¤¹¡£"
+ 
+ #: /home/akim/src/a2ps-4.12/lib/lexppd.l:211 src/sheets-map.l:210
+ msgid "too many includes"
+ msgstr "include¤¬Â¿¤¹¤®¤Þ¤¹"
+ 
+ #: src/sheets-map.l:292 src/sheets-map.l:299
+ #, c-format
+ msgid "no key defined for `%s'"
+ msgstr "`%s'¤ËÂÐ¤¹¤ë¥­¡¼¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+ 
+ #: /home/akim/src/a2ps-4.12/lib/fonts.l:837
+ #: /home/akim/src/a2ps-4.12/lib/fonts.l:839
+ #: /home/akim/src/a2ps-4.12/lib/fonts.l:841 lib/pathwalk.c:328
+ #: lib/pathwalk.c:414 src/select.c:122 src/ssheet.c:866
+ #, c-format
+ msgid "cannot find file `%s'"
+ msgstr "¥Õ¥¡¥¤¥ë`%s'¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+ 
+ #. sheets.map can not be found: there is no automatic prettyprinting
+ #: src/select.c:124
+ msgid "automatic style selection cancelled"
+ msgstr "¼«Æ°¥¹¥¿¥¤¥ëÁªÂò¤¬¥­¥ã¥ó¥»¥ë¤µ¤ì¤Þ¤·¤¿"
+ 
+ #: src/ssheet.c:295
+ #, c-format
+ msgid "cannot compile regular expression `%s': %s"
+ msgstr "Àµµ¬É½¸½`%s'¤òËÝÌõ¤Ç¤­¤Þ¤»¤ó: %s"
+ 
+ #: src/ssheet.c:974 src/ssheet.c:995
+ msgid "Known Style Sheets"
+ msgstr "ÍøÍÑ²ÄÇ½¤Ê¥¹¥¿¥¤¥ë¥·¡¼¥È"
+ 
+ #: src/ssheet.c:1461
+ #, c-format
+ msgid "cannot find style sheet `%s': using plain style"
+ msgstr "¥¹¥¿¥¤¥ë¥·¡¼¥È`%s'¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: ¥×¥ì¡¼¥ó¥¹¥¿¥¤¥ë¤ò»ÈÍÑ¤·¤Þ¤¹"
+ 
+ #: src/sshread.c:453
+ #, c-format
+ msgid "unknown encoding `%s', ignored"
+ msgstr "ÉÔÌÀ¤Ê¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤¹: `%s', Ìµ¸ú¤Ë¤Ê¤ê¤Þ¤¹"
+ 
+ #: src/version-etc.c:38
+ msgid "Copyright (C) 1999 Free Software Foundation, Inc."
+ msgstr ""
+ 
+ #: src/version-etc.c:60
+ #, c-format
+ msgid "Written by %s.\n"
+ msgstr "ºîÀ®¼Ô: %s\n"
+ 
+ #: src/version-etc.c:66
+ msgid ""
+ "This is free software; see the source for copying conditions.  There is NO\n"
+ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+ msgstr ""
+ "¤³¤Î¥×¥í¥°¥é¥à¤ÏÊØÍø¤Ë¤Ê¤ë¤³¤È¤ò´õË¾¤·¤Æ¤¤¤Þ¤¹¤¬´°Á´¤ËÌµÊÝ¾Ú¤Ç¤¹¡£\n"
+ "±ÄÍøÌÜÅª¤ä¤¢¤ëÆÃÄê¤ÎÌÜÅª¤Î¤¿¤á¤ÎÅ¬Àµ¤Î¤â¤Î¤Ç¤â¤¢¤ê¤Þ¤»¤ó¡£\n"
+ 
+ #: src/versions.c:133
+ #, c-format
+ msgid "invalid version number `%s'"
+ msgstr "¤ª¤«¤·¤Ê¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ç¤¹ `%s'"
+ 
+ #: lib/caret.c:43
+ msgid "space (i.e., ` ')"
+ msgstr "¶õÇò (Îã, ` ')"
+ 
+ #: lib/caret.c:45
+ msgid "octal (i.e., `\\001' etc.)"
+ msgstr "octal (Îã, `\\001'Åù)"
+ 
+ #: lib/caret.c:47
+ msgid "hexadecimal (i.e., `\\x0a' etc.)"
+ msgstr "hexadecimal (Îã, `\\x0a'Åù)"
+ 
+ #: lib/caret.c:49
+ msgid "caret (i.e., `^C', `M-^C' etc.)"
+ msgstr "caret (Îã, `^C', `M-^C'Åù)"
+ 
+ #: lib/caret.c:51
+ msgid "emacs (i.e., `C-c', `M-C-c' etc.)"
+ msgstr "emacs (Îã, `C-c', `M-C-c'Åù)"
+ 
+ #: lib/caret.c:53
+ msgid "question-mark (i.e., `?')"
+ msgstr "question-mark (Îã, `?')"
+ 
+ #: lib/closeout.c:71 lib/closeout.c:73
+ msgid "write error"
+ msgstr "½ñ¤­¹þ¤ß¥¨¥é¡¼"
+ 
+ #: lib/confg.c:253 lib/encoding.c:639
+ #, c-format
+ msgid "invalid option `%s'"
+ msgstr "´Ö°ã¤Ã¤¿¥ª¥×¥·¥ç¥ó¤Ç¤¹: `%s'"
+ 
+ #: lib/confg.c:264 lib/encoding.c:577 lib/encoding.c:617 lib/prolog.c:146
+ #, c-format
+ msgid "missing argument for `%s'"
+ msgstr "`%s'¤ËÂÐ¤¹¤ë°ú¿ô¤¬Â­¤ê¤Þ¤»¤ó"
+ 
+ #: lib/confg.c:320 lib/confg.c:327 lib/confg.c:334
+ #, c-format
+ msgid "invalid definition for printer `%s': %s"
+ msgstr "¤ª¤«¤·¤Ê¥×¥ê¥ó¥¿¤ÎÄêµÁ¤Ç¤¹ `%s': %s"
+ 
+ #: lib/confg.c:325 lib/confg.c:328
+ msgid "Unknown Printer"
+ msgstr "ÉÔÌÀ¤Ê¥×¥ê¥ó¥¿"
+ 
+ #: lib/confg.c:332 lib/confg.c:335
+ msgid "Default Printer"
+ msgstr "É¸½à¥×¥ê¥ó¥¿"
+ 
+ #: lib/confg.c:388 lib/options.c:703
+ #, c-format
+ msgid "invalid variable identifier `%s'"
+ msgstr "¤ª¤«¤·¤ÊÊÑ¿ô¾ÚÌÀ¤Ç¤¹ `%s'"
+ 
+ #: lib/confg.c:417
+ #, c-format
+ msgid "obsolete `%s' entry.  Ignored"
+ msgstr "µì¼°¤Î`%s'¥¨¥ó¥È¥ê¤Ç¤¹.  Ìµ¸ú¤Ç¤¹"
+ 
+ #: lib/encoding.c:1115 lib/encoding.c:1136
+ msgid "Known Encodings"
+ msgstr "ÍøÍÑ²ÄÇ½¤Ê¥¨¥ó¥³¡¼¥É"
+ 
+ #: lib/faces.c:156
+ msgid "incomplete knowledge of faces"
+ msgstr "¥Õ¥§¡¼¥¹¤Ë´Ø¤·¤ÆÉÔ´°Á´¤Ê¾ðÊó¤Ç¤¹"
+ 
+ #: lib/filtdir.c:113
+ #, c-format
+ msgid "cannot close directory `%s'"
+ msgstr "¥Ç¥£¥ì¥¯¥È¥ê`%s'¤òÊÄ¤¸¤é¤ì¤Þ¤»¤ó"
+ 
+ #: lib/getnum.c:63 lib/getnum.c:121 lib/getnum.c:153 lib/getnum.c:221
+ #, c-format
+ msgid "invalid argument `%s' for `%s'"
+ msgstr "¤ª¤«¤·¤Ê°ú¿ô`%s'¤¬`%s'¤Ë»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤¹"
+ 
+ #: lib/getnum.c:123
+ #, c-format
+ msgid "Valid arguments are integers n such that: %s\n"
+ msgstr "À°¿ô¤Î»ØÄê¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹:%s\n"
+ 
+ #: lib/getnum.c:223
+ #, c-format
+ msgid "Valid arguments are floats f such that: %s\n"
+ msgstr "¼Â¿ô¤Î»ØÄê¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹:%s\n"
+ 
+ #: lib/jobs.c:307
+ #, c-format
+ msgid "unknown encoding `%s'"
+ msgstr "ÉÔÌÀ¤Ê¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤¹: `%s'"
+ 
+ #: lib/madir.c:59
+ msgid "rows first"
+ msgstr "¹ÔÍ¥Àè"
+ 
+ #: lib/madir.c:62
+ msgid "columns first"
+ msgstr "·åÍ¥Àè"
+ 
+ #: lib/media.c:173
+ #, c-format
+ msgid "unknown medium `%s'"
+ msgstr "ÉÔÌÀ¤Ê¥á¥Ç¥£¥¢¤Ç¤¹ `%s'"
+ 
+ #: lib/media.c:208 lib/media.c:237
+ msgid "Known Media"
+ msgstr "ÍøÍÑ²ÄÇ½¤Ê¥á¥Ç¥£¥¢"
+ 
+ #: lib/media.c:211
+ msgid "Name"
+ msgstr "Ì¾Á°"
+ 
+ #: lib/media.c:212
+ msgid "dimensions"
+ msgstr "¥Ç¥£¥á¥ó¥¸¥ç¥ó"
+ 
+ #. TRANS: Variables (formely called `macro meta sequences', eeeaerk)
+ #. are things such as #(psnup) which is substituted to a bigger strings,
+ #. e.g. -#v #?q|-q|| #?j|-d|| #?r||-c| -w#w -h#h
+ #: lib/metaseq.c:104 lib/metaseq.c:113
+ msgid "Known Variables"
+ msgstr "ÍøÍÑ²ÄÇ½¤ÊÊÑ¿ô"
+ 
+ #: lib/metaseq.c:288 lib/metaseq.c:300
+ #, c-format
+ msgid "Printed by %s"
+ msgstr "¥æ¡¼¥¶Ì¾: %s"
+ 
+ #: lib/metaseq.c:298
+ #, c-format
+ msgid "Printed by %s from %s"
+ msgstr "¥æ¡¼¥¶Ì¾:%s  ¾ì½ê:%s"
+ 
+ #: lib/metaseq.c:308 lib/metaseq.c:327
+ msgid "cannot get current working directory"
+ msgstr "¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤¬ÆÀ¤é¤ì¤Þ¤»¤ó"
+ 
+ #: lib/metaseq.c:341 lib/metaseq.c:534 lib/metaseq.c:563 lib/metaseq.c:652
+ #: lib/metaseq.c:954 lib/metaseq.c:987
+ #, c-format
+ msgid "%s: too long argument for %s escape"
+ msgstr "%s: ¥¨¥¹¥±¡¼¥×%s¤ËÂÐ¤¹¤ë°ú¿ô¤¬Ä¹²á¤®¤Þ¤¹"
+ 
+ #. Translators: please make a short date format
+ #. * according to the std form in your language, using
+ #. * the standard strftime(3)
+ #: lib/metaseq.c:364 lib/metaseq.c:675
+ msgid "%b %d, %y"
+ msgstr "%yÇ¯ %b%eÆü"
+ 
+ #. Translators: please make a long date format
+ #. * according to the std form in your language, using
+ #. * GNU strftime(3)
+ #: lib/metaseq.c:373 lib/metaseq.c:684
+ msgid "%A %B %d, %Y"
+ msgstr "%YÇ¯ %b%eÆü %A"
+ 
+ #: lib/metaseq.c:419 lib/metaseq.c:448 lib/metaseq.c:491 lib/metaseq.c:724
+ #: lib/metaseq.c:808 lib/metaseq.c:867 lib/metaseq.c:922 lib/metaseq.c:1099
+ #: lib/metaseq.c:1234 lib/metaseq.c:1246 lib/metaseq.c:1289
+ #, c-format
+ msgid "%s: unknown `%s' escape `%c' (%d)"
+ msgstr "%s: ÉÔÌÀ¤Ê `%s'¥¨¥¹¥±¡¼¥× `%c' (%d)"
+ 
+ #. `%q' localized `Page %d'
+ #: lib/metaseq.c:426 lib/metaseq.c:815
+ #, c-format
+ msgid "Page %d"
+ msgstr "%d¥Ú¡¼¥¸"
+ 
+ #. `%Q' localized `Page %d/%c'
+ #: lib/metaseq.c:431 lib/metaseq.c:826
+ #, c-format
+ msgid "Page %d/%c"
+ msgstr "%d/%c ¥Ú¡¼¥¸"
+ 
+ #: lib/metaseq.c:531 lib/metaseq.c:548 lib/metaseq.c:608 lib/metaseq.c:951
+ #: lib/metaseq.c:972
+ #, c-format
+ msgid "%s: missing `%c' for %s%c escape"
+ msgstr "%s: `%c'¤¬¥¨¥¹¥±¡¼¥× %s%c¤ËÂÐ¤·¤ÆÉÔÂ­¤·¤Æ¤¤¤Þ¤¹"
+ 
+ #: lib/metaseq.c:593 lib/metaseq.c:1021
+ #, c-format
+ msgid "%s: invalid separator `%s%c' for `%s' escape"
+ msgstr "%s: `%s%c'¤Ï¥¨¥¹¥±¡¼¥× %s%c¤ËÂÐ¤·¤ÆÉÔÅ¬ÀÚ¤Ç¤¹"
+ 
+ #: lib/metaseq.c:601 lib/metaseq.c:611
+ #, c-format
+ msgid "%s: invalid argument for %s%c escape"
+ msgstr "%s: ¥¨¥¹¥±¡¼¥× %s%c¤ËÂÐ¤·¤ÆÉÔÅ¬ÀÚ¤Ê°ú¿ô¤Ç¤¹"
+ 
+ #. This file is finised, we do know its real number of pages
+ #: lib/metaseq.c:822
+ #, c-format
+ msgid "Page %d/%d"
+ msgstr "%d/%d¥Ú¡¼¥¸"
+ 
+ #: lib/metaseq.c:1266
+ msgid "output command"
+ msgstr "½ÐÎÏ¥³¥Þ¥ó¥É"
+ 
+ #: lib/options.c:302
+ #, c-format
+ msgid "Try `%s --help' for more information.\n"
+ msgstr "¾Ü¤·¤¯¤Ï`%s --help'¤ò¼Â¹Ô¤·¤Æ²¼¤µ¤¤.\n"
+ 
+ #: lib/output.c:466
+ #, c-format
+ msgid "invalid face `%s'"
+ msgstr "´Ö°ã¤Ã¤¿¥Õ¥§¡¼¥¹¤Ç¤¹: `%s'"
+ 
+ #: lib/output.c:538
+ #, c-format
+ msgid "`%s' with no matching `%s'"
+ msgstr "`%s' ¤Ï `%s' ¤È°ìÃ×¤·¤Æ¤¤¤Þ¤»¤ó"
+ 
+ #: lib/ppd.c:108
+ msgid "Known Fonts"
+ msgstr "ÍøÍÑ²ÄÇ½¤Ê¥Õ¥©¥ó¥È"
+ 
+ #. TRANS: This `none' is an answer to `List of known fonts: None'
+ #: lib/ppd.c:111
+ msgid ""
+ "\n"
+ "  None.\n"
+ msgstr ""
+ "\n"
+ "  ¤Ê¤·.\n"
+ 
+ #: lib/ppd.c:149 lib/ppd.c:165
+ msgid "Known PostScript Printer Descriptions"
+ msgstr "ÍøÍÑ²ÄÇ½¤ÊPostScript¥×¥ê¥ó¥¿¤Îµ­½Ò"
+ 
+ #: lib/prange.c:305 lib/prange.c:323
+ #, c-format
+ msgid "invalid interval `%s'"
+ msgstr "¤ª¤«¤·¤Ê¥Þ¥¯¥í¾ðÊó¤Ç¤¹ `%s'"
+ 
+ #: lib/printers.c:396 lib/printers.c:413
+ #, c-format
+ msgid "no command for the `%s' (%s%s)"
+ msgstr "`%s'¥³¥Þ¥ó¥É¤Ï¤¢¤ê¤Þ¤»¤ó (%s%s)"
+ 
+ #: lib/printers.c:429
+ msgid "sent to the standard output"
+ msgstr "É¸½à½ÐÎÏ¤ØÅ¾Á÷¤·¤Þ¤¹"
+ 
+ #: lib/printers.c:430
+ msgid "sent to the default printer"
+ msgstr "É¸½à¥×¥ê¥ó¥¿¤ØÅ¾Á÷¤·¤Þ¤¹"
+ 
+ #: lib/printers.c:435
+ #, c-format
+ msgid "saved into the file `%s'"
+ msgstr "¥Õ¥¡¥¤¥ë`%s'¤ØÊÝÂ¸¤·¤Þ¤¹"
+ 
+ #: lib/printers.c:436
+ #, c-format
+ msgid "sent to the printer `%s'"
+ msgstr "¥×¥ê¥ó¥¿`%s'¤ØÅ¾Á÷¤·¤Þ¤¹"
+ 
+ #: lib/printers.c:613 lib/printers.c:621
+ msgid "Known Outputs (Printers, etc.)"
+ msgstr "ÍøÍÑ²ÄÇ½¤Ê½ÐÎÏÀè(¥×¥ê¥ó¥¿Åù)"
+ 
+ #: lib/prolog.c:98 lib/prolog.c:181
+ msgid "Known Prologues"
+ msgstr "ÉÔÌÀ¤Ê¥×¥í¥í¡¼¥°"
+ 
+ #: lib/prolog.c:579
+ #, c-format
+ msgid "font %f too big"
+ msgstr "¥Õ¥©¥ó¥È %f ¤ÏÂç¤­¤¹¤®¤Þ¤¹"
+ 
+ #: lib/psgen.c:662
+ #, c-format
+ msgid "`%s' is a binary file, printing aborted"
+ msgstr "`%s'¤Ï¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Ç¤¹, °õºþ¤ÏÃæÃÇ¤·¤Þ¤¹"
+ 
+ #: lib/quotearg.c:200
+ msgid "`"
+ msgstr ""
+ 
+ #: lib/quotearg.c:203
+ msgid "'"
+ msgstr ""
+ 
+ #: lib/userdata.c:129
+ msgid "user"
+ msgstr "¥æ¡¼¥¶¡¼"
+ 
+ #: lib/userdata.c:130
+ msgid "Unknown User"
+ msgstr "ÉÔÌÀ¤Ê¥æ¡¼¥¶¡¼¤Ç¤¹"
+ 
+ #: lib/useropt.c:75
+ #, c-format
+ msgid "unknown user option `%s'"
+ msgstr "ÉÔÌÀ¤Ê¥æ¡¼¥¶¥ª¥×¥·¥ç¥ó`%s'¤Ç¤¹"
+ 
+ #: lib/useropt.c:86 lib/useropt.c:97
+ msgid "Known User Options"
+ msgstr "ÍøÍÑ²ÄÇ½¤Ê¥æ¡¼¥¶¥ª¥×¥·¥ç¥ó"
+ 
+ #. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
+ #. before exiting when memory is exhausted.  Goes through gettext.
+ #: lib/xbackupfile.c:105 lib/xmalloc.c:66
+ msgid "Memory exhausted"
+ msgstr "¥á¥â¥ê¤¬Â­¤ê¤Þ¤»¤ó"
+ 
+ #: lib/xbackupfile.c:240 lib/xbackupfile.c:252
+ #, c-format
+ msgid "cannot rename file `%s' as `%s'"
+ msgstr "¥Õ¥¡¥¤¥ë`%s'¤ò`%s'¤ØÌ¾Á°ÊÑ¹¹¤Ç¤­¤Þ¤»¤ó"
+ 
+ #: lib/xbackupfile.c:255
+ #, c-format
+ msgid "restored file `%s'"
+ msgstr "¥Õ¥¡¥¤¥ë`%s'¤ò½¤Éü¤·¤Þ¤¹"
+ 
+ #: lib/argmatch.c:159
+ #, c-format
+ msgid "invalid argument %s for `%s'"
+ msgstr "¤ª¤«¤·¤Ê°ú¿ô`%s'¤¬`%s'¤Ë»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤¹"
+ 
+ #: lib/argmatch.c:160
+ #, c-format
+ msgid "ambiguous argument %s for `%s'"
+ msgstr "Û£Ëæ¤Ê°ú¿ô`%s'¤¬`%s'¤ËÂÐ¤·¤Æ»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤¹"
+ 
+ #. We try to put synonyms on the same line.  The assumption is that
+ #. synonyms follow each other
+ #: lib/argmatch.c:178
+ msgid "Valid arguments are:"
+ msgstr "¤ª¤«¤·¤Ê°ú¿ô¤Ç¤¹:"
+ 
+ #: lib/error.c:102
+ msgid "Unknown system error"
+ msgstr "ÉÔÌÀ¤Ê¥·¥¹¥Æ¥à¥¨¥é¡¼¤Ç¤¹"
+ 
+ #: lib/getopt.c:675
+ #, c-format
+ msgid "%s: option `%s' is ambiguous\n"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó`%s'¤ÏÛ£Ëæ¤Ç¤¹\n"
+ 
+ #: lib/getopt.c:700
+ #, c-format
+ msgid "%s: option `--%s' doesn't allow an argument\n"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó`--%s'¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó\n"
+ 
+ #: lib/getopt.c:705
+ #, c-format
+ msgid "%s: option `%c%s' doesn't allow an argument\n"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó`%c%s'¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó\n"
+ 
+ #: lib/getopt.c:723 lib/getopt.c:896
+ #, c-format
+ msgid "%s: option `%s' requires an argument\n"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó`%s'¤Ë¤Ï°ú¿ô¤¬É¬Í×¤Ç¤¹\n"
+ 
+ #. --option
+ #: lib/getopt.c:752
+ #, c-format
+ msgid "%s: unrecognized option `--%s'\n"
+ msgstr "%s: ÉÔÌÀ¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤¹ `--%s'\n"
+ 
+ #. +option or -option
+ #: lib/getopt.c:756
+ #, c-format
+ msgid "%s: unrecognized option `%c%s'\n"
+ msgstr "%s: ÉÔÌÀ¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤¹ `%c%s'\n"
+ 
+ #. 1003.2 specifies the format of this message.
+ #: lib/getopt.c:782
+ #, c-format
+ msgid "%s: illegal option -- %c\n"
+ msgstr "%s: ´Ö°ã¤Ã¤¿¥ª¥×¥·¥ç¥ó¤Ç¤¹ -- %c\n"
+ 
+ #: lib/getopt.c:785
+ #, c-format
+ msgid "%s: invalid option -- %c\n"
+ msgstr "%s: ÉÔÅ¬ÀÚ¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤¹ -- %c\n"
+ 
+ #. 1003.2 specifies the format of this message.
+ #: lib/getopt.c:815 lib/getopt.c:945
+ #, c-format
+ msgid "%s: option requires an argument -- %c\n"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó¤Ë¤Ï°ú¿ô¤¬É¬Í×¤Ç¤¹ -- %c\n"
+ 
+ #: lib/getopt.c:862
+ #, c-format
+ msgid "%s: option `-W %s' is ambiguous\n"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó`-W %s'¤¬Û£Ëæ¤Ç¤¹\n"
+ 
+ #: lib/getopt.c:880
+ #, c-format
+ msgid "%s: option `-W %s' doesn't allow an argument\n"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó`-W %s'¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó\n"
+ 
diff -Ncr a2ps-4.13/ps/base.ps a2ps-4.13-ja_nls/ps/base.ps
*** a2ps-4.13/ps/base.ps	Thu May 28 01:13:45 1998
--- a2ps-4.13-ja_nls/ps/base.ps	Tue Jun 20 19:21:40 2000
***************
*** 153,159 ****
  % Return the y size of the current font
  % - => fontsize
  /currentfontsize {
!   currentfont /FontMatrix get 3 get 1000 mul
  } bind def
  
  % reencode the font
--- 153,163 ----
  % Return the y size of the current font
  % - => fontsize
  /currentfontsize {
!   currentfont /FontType get 0 eq {
!     currentfont /FontMatrix get 3 get
!   }{
!     currentfont /FontMatrix get 3 get 1000 mul
!   } ifelse
  } bind def
  
  % reencode the font
***************
*** 201,206 ****
--- 205,348 ----
      currentdict 
    end 
  } bind def
+ 
+ % composite fonts for ASCII-EUC mixed string
+ % Version 1.2 1/31/1990
+ % Orignal Ken'ichi HANDA (handa@etl.go.jp)
+ % Modified Norio Katayama (katayama@rd.nacsis.ac.jp),1998
+ % Extend & Fix Koji Nakamaru (maru@on.cs.keio.ac.jp), 1999
+ % Anyone can freely copy, modify, distribute this program.
+ 
+ /copyfont {	% font-dic extra-entry-count  copyfont  font-dic
+ 	1 index maxlength add dict begin
+ 	{	1 index /FID ne 2 index /UniqueID ne and
+ 		{def} {pop pop} ifelse
+ 	} forall
+ 	currentdict
+ 	end
+ } bind def
+ 
+ /compositefont { % ASCIIFontName EUCFontName RomanScale RomanOffset Rot(T/F) compositefont font
+     /RomanRotation exch def
+     /RomanOffset exch def
+     /RomanScale exch def
+     userdict /fixeucfont_dict known not {
+ 	userdict begin
+ 	    /fixeucfont_dict 2 dict begin
+ 		/UpperByteEncoding [
+ 		    16#00 1 16#20 { pop 0 } for
+ 		    16#21 1 16#28 { 16#20 sub } for
+ 		    16#29 1 16#2F { pop 0 } for
+ 		    16#30 1 16#74 { 16#27 sub } for
+ 		    16#75 1 16#FF { pop 0 } for
+ 		] def
+ 	        /LowerByteEncoding [
+ 		    16#00 1 16#A0 { pop /.notdef } for
+ 		    16#A1 1 16#FE { 16#80 sub 16 2 string cvrs
+ 				    (cXX) dup 1 4 -1 roll
+ 				    putinterval cvn } for
+ 		    /.notdef
+ 		] def
+ 		currentdict
+ 	    end def
+ 	end
+     } if
+     findfont dup /FontType get 0 eq {
+ 	14 dict begin
+ 	    %
+ 	    % 7+8 bit EUC font
+ 	    %
+ 	    12 dict begin
+ 		/EUCFont exch def
+ 		/FontInfo (7+8 bit EUC font) readonly def
+ 		/PaintType 0 def
+ 		/FontType 0 def
+ 		/FontMatrix matrix def
+ 		% /FontName
+ 		/Encoding fixeucfont_dict /UpperByteEncoding get def
+ 		/FMapType 2 def
+ 		EUCFont /WMode known
+ 		{ EUCFont /WMode get /WMode exch def }
+ 		{ /WMode 0 def } ifelse
+ 		/FDepVector [
+ 		    EUCFont /FDepVector get 0 get
+ 		    [ 16#21 1 16#28 {} for 16#30 1 16#74 {} for ]
+ 		    {
+ 			13 dict begin
+ 			    /EUCFont EUCFont def
+ 			    /UpperByte exch 16#80 add def	
+ 			    % /FontName
+ 			    /FontInfo (EUC lower byte font) readonly def
+ 			    /PaintType 0 def
+ 			    /FontType 3 def
+ 			    /FontMatrix matrix def
+ 			    /FontBBox {0 0 0 0} def
+ 			    /Encoding
+ 				fixeucfont_dict /LowerByteEncoding get def
+ 			    % /UniqueID
+ 			    % /WMode
+ 			    /BuildChar {
+ 				gsave
+ 				exch dup /EUCFont get setfont
+ 				/UpperByte get
+ 				2 string
+ 				dup 0 4 -1 roll put
+ 				dup 1 4 -1 roll put
+ 				dup stringwidth setcharwidth
+ 				0 0 moveto show
+ 				grestore
+ 			    } bind def
+ 			    currentdict
+ 			end
+ 			/lowerbytefont exch definefont
+ 		    } forall
+ 		] def
+ 		currentdict
+ 	    end
+ 	    /eucfont exch definefont
+ 	    exch
+ 	    findfont 1 copyfont dup begin
+ 		RomanRotation {
+ 			/FontMatrix FontMatrix
+ 			[ 0 RomanScale neg RomanScale 0 RomanOffset neg 0 ]
+ 			matrix concatmatrix def
+ 		}{
+ 			/FontMatrix FontMatrix
+ 			[ RomanScale 0 0 RomanScale 0 RomanOffset ] matrix concatmatrix
+ 			def
+ 			/CDevProc
+ 			    {pop pop pop pop 0 exch -1000 exch 2 div 880} def
+ 		} ifelse
+ 	    end
+ 	    /asciifont exch definefont
+ 	    exch
+ 	    /FDepVector [ 4 2 roll ] def
+ 	    /FontType 0 def
+ 	    /WMode 0 def
+ 	    /FMapType 4 def
+ 	    /FontMatrix matrix def
+ 	    /Encoding [0 1] def
+ 	    /FontBBox {0 0 0 0} def
+ %	    /FontHeight 1.0 def % XXXX
+ 	    /FontHeight RomanScale 1.0 ge { RomanScale }{ 1.0 } ifelse def
+ 	    /Descent -0.3 def   % XXXX
+ 	    currentdict
+ 	end
+ 	/tmpfont exch definefont
+ 	pop
+ 	/tmpfont findfont
+     }{
+ 	pop findfont 0 copyfont
+     } ifelse
+ } def	
+ 
+ /slantfont {	% FontName slant-degree  slantfont  font'
+     exch findfont 1 copyfont begin
+     [ 1 0 4 -1 roll 1 0 0 ] FontMatrix exch matrix concatmatrix
+     /FontMatrix exch def
+     currentdict
+     end
+ } def
  
  % Function print line number (<string> # -)
  /# {
diff -Ncr a2ps-4.13/src/Makefile.am a2ps-4.13-ja_nls/src/Makefile.am
*** a2ps-4.13/src/Makefile.am	Mon Nov 22 02:47:55 1999
--- a2ps-4.13-ja_nls/src/Makefile.am	Tue Jun 20 19:21:40 2000
***************
*** 49,56 ****
  # I don't really understand why I have to put srcdir here, but
  # it is needed for yacc and lex files (seems related to #line, but
  # I really don't understand why)...
! INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/intl
  
! a2ps_LDADD = $(top_builddir)/lib/liba2ps.la @INTLLIBS@ @LEXLIB@  -lm
  
  EXTRA_DIST = $(BUILT_SOURCES)
--- 49,56 ----
  # I don't really understand why I have to put srcdir here, but
  # it is needed for yacc and lex files (seems related to #line, but
  # I really don't understand why)...
! INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/intl -I$(top_builddir)/libjcode
  
! a2ps_LDADD = $(top_builddir)/lib/liba2ps.la @INTLLIBS@ @LEXLIB@ @LIBJCODELIBS@  -lm
  
  EXTRA_DIST = $(BUILT_SOURCES)
diff -Ncr a2ps-4.13/src/Makefile.in a2ps-4.13-ja_nls/src/Makefile.in
*** a2ps-4.13/src/Makefile.in	Fri Feb 25 02:59:33 2000
--- a2ps-4.13-ja_nls/src/Makefile.in	Tue Jun 20 19:21:40 2000
***************
*** 158,166 ****
  # I don't really understand why I have to put srcdir here, but
  # it is needed for yacc and lex files (seems related to #line, but
  # I really don't understand why)...
! INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/intl
  
! a2ps_LDADD = $(top_builddir)/lib/liba2ps.la @INTLLIBS@ @LEXLIB@  -lm
  
  EXTRA_DIST = $(BUILT_SOURCES)
  subdir = src
--- 158,166 ----
  # I don't really understand why I have to put srcdir here, but
  # it is needed for yacc and lex files (seems related to #line, but
  # I really don't understand why)...
! INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/intl -I$(top_builddir)/libjcode
  
! a2ps_LDADD = $(top_builddir)/lib/liba2ps.la @INTLLIBS@ @LEXLIB@ @LIBJCODELIBS@  -lm
  
  EXTRA_DIST = $(BUILT_SOURCES)
  subdir = src
diff -Ncr a2ps-4.13/src/buffer.c a2ps-4.13-ja_nls/src/buffer.c
*** a2ps-4.13/src/buffer.c	Thu Feb 10 01:29:03 2000
--- a2ps-4.13-ja_nls/src/buffer.c	Tue Jun 20 20:26:20 2000
***************
*** 40,45 ****
--- 40,49 ----
  #include "argmatch.h"
  #include "buffer.h"
  #include <assert.h>
+ #ifdef USE_LIBJCODE
+ #include "jlib.h"
+ extern use_libjcode;
+ #endif
  
  /****************************************************************/
  /*		 	Handling of the various eol styles	*/
***************
*** 417,425 ****
--- 421,441 ----
       match_keyword, which looks one char after the current char.  With
       this sentinel, which is probably not in the alphabet, we save a
       test on the length of the buffer. */
+ #ifdef USE_LIBJCODE
+   obstack_1grow (&buffer->obstack, '\0');
+   if (use_libjcode == true)
+     {
+       if(buffer->content) free(buffer->content);
+       buffer->content = toStringEUC(obstack_finish (&buffer->obstack));
+     }
+   else
+       buffer->content = (uchar *) obstack_finish (&buffer->obstack);
+   buffer->len = strlen(buffer->content);
+ #else
    buffer->len = obstack_object_size (&buffer->obstack);
    obstack_1grow (&buffer->obstack, '\0');
    buffer->content = (uchar *) obstack_finish (&buffer->obstack);
+ #endif
  
    /* One more line read */
    buffer->line++;
