]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/groff-1.18.1.1-debian_fixes-1.patch
Zwischencommit beim Umzug auf LFS 6.2.
[ipfire-2.x.git] / src / patches / groff-1.18.1.1-debian_fixes-1.patch
diff --git a/src/patches/groff-1.18.1.1-debian_fixes-1.patch b/src/patches/groff-1.18.1.1-debian_fixes-1.patch
new file mode 100644 (file)
index 0000000..d70164a
--- /dev/null
@@ -0,0 +1,18888 @@
+Submitted By: Archaic (archaic -aT- linuxfromscratch -DoT- org)
+Date: 2006-03-07
+Initial Package Version: 1.18.1.1
+Origin: http://ftp.debian.org/debian/pool/main/g/groff/groff_1.18.1.1-11.diff.gz
+Upstream Status: This is a debian-specific patch
+Description: Adds the ascii8 and nippon devices to groff for man-db.
+
+--- groff-1.18.1.1.orig/README.jp
++++ groff-1.18.1.1/README.jp
+@@ -0,0 +1,142 @@
++
++                ÆüËܸìÂбþÈÇ groff-1.12 (jgroff-0.101)
++
++
++                                           ËÌÀî ¿®µü (Kitagawa Toshiyuki)
++                                                     tm-kita@kh.rim.or.jp
++
++                                           Ìø¸¶ ÎÉμ (Yanagihara Yoshiaki)
++                                                      yochi@debian.or.jp
++
++ GNU¤Îroff¥Õ¥©¡¼¥Þ¥Ã¥¿groff(version 1.12)¤ÎÆüËܸìÂбþ¤ò¹Ô¤Ê¤¤¤Þ¤·¤¿¡£
++ ¾å°Ì¸ß´¹¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢ÆüËܸì¤ò´Þ¤Þ¤Ê¤¤roff¥Ç¡¼¥¿¤Ï¥ª¥ê¥¸¥Ê¥ë¤É
++¤ª¤ê¤ÎÆ°ºî¤Ë¤Ê¤ê¤Þ¤¹¡£ÆüËܸ첽¤Ë´Ø¤¹¤ë½¤ÀµÉôʬ¤Ë¤Ä¤¤¤Æ¤ÎÃøºî¸¢¤ÏGNU
++General Public License Version 2 ¤Ë½¾¤¤¤Þ¤¹(¾ÜºÙ¤ÏCOPYING¤ò¸æÍ÷¤¯¤À¤µ¤¤)¡£
++
++ ÆüËܸìgroff(jgroff)¤Î¸½¥Ð¡¼¥¸¥ç¥ó¤Ï0.101(ºÇ½ª¦ÂÈÇ)¤Ç¤¹¡£¤³¤Î¥Ð¡¼¥¸¥ç¥ó
++¤Ç¤Ï°Ê²¼¤Î¥â¥¸¥å¡¼¥ë¤¬ÆüËܸ첽¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
++
++      groff     ...   groff¥É¥é¥¤¥Ð
++      gtroff    ...   groffËÜÂÎ
++      grotty    ...   Ã¼ËöÍѥݥ¹¥È¥×¥í¥»¥Ã¥µ
++      grops     ...   PostScriptÍѥݥ¹¥È¥×¥í¥»¥Ã¥µ
++        grohtml   ...   HTMLÍѥݥ¹¥È¥×¥í¥»¥Ã¥µ(Thanks HANATAKA Shinya
++                                               <hanataka@abyss.rim.or.jp>)
++      grodvi    ...   DVIÍѥݥ¹¥È¥×¥í¥»¥Ã¥µ (NTT JTeX or ASCIIÆüËܸìTeX)
++      gxditview ...   X¥¦¥£¥ó¥É¥¦Íѥݥ¹¥È¥×¥í¥»¥Ã¥µ
++      gtbl      ...   tbl¥Þ¥¯¥íÍÑ¥×¥ê¥×¥í¥»¥Ã¥µ
++      gpic      ...   pic¥Þ¥¯¥íÍÑ¥×¥ê¥×¥í¥»¥Ã¥µ
++      geqn      ...   eqn¥Þ¥¯¥íÍÑ¥×¥ê¥×¥í¥»¥Ã¥µ
++      xtotroff  ...   X¤Î¥Õ¥©¥ó¥È¤«¤égroffÍÑ¥Õ¥©¥ó¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹
++                      ¤ë¥Ä¡¼¥ë
++
++¡ô lj4¥Ý¥¹¥È¥×¥í¥»¥Ã¥µ¡¢bib´ØÏ¢¤Î¥³¥Þ¥ó¥É¤ÏÆüËܸì̤Âбþ¤Ç¤¹¡£
++
++
++¡ý ¥¤¥ó¥¹¥È¡¼¥ë
++
++ °Ê²¼¤Î´Ä¶­¤Çmake½ÐÍè¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¤¤Þ¤¹¡£
++
++      ¡ù  FreeBSD 2.1.0-RELEASE
++          XFree86-3.1.2, gcc 2.6.3
++
++      ¡ù  Debian GNU/Linux 2.2
++
++      ¡ù  NEC EWS/4800/310
++          SVR4.2 Release9.1 Rev.B, X11R5, gcc 2.6.0
++
++ (1) ¥ª¥ê¥¸¥Ê¥ë¤ÈƱÍÍconfigure¤ò¼Â¹Ô¤·¤¿¸å¡¢make & install¤·¤Æ²¼¤µ¤¤¡£
++    ¾Ü¤·¤¯¤ÏINSTALL¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
++
++    *) grodvi¤ÏNTT JTeX·Á¼°¤Þ¤¿¤ÏASCIIÆüËܸìTeX·Á¼°¤ÎDVI¥Õ¥¡¥¤¥ë¤ò¥µ¥Ý¡¼
++       ¥È¤·¤Æ¤¤¤Þ¤¹¡£groff¤¬½ÐÎϤ¹¤ëDVI¥Õ¥¡¥¤¥ë¤òASCIIÆüËܸìTeX·Á¼°¤Ë
++       ¤·¤¿¤¤¾ì¹ç¤Ïconfigure --JTeX=ASCII¤È¤·¤Æ¤¯¤À¤µ¤¤¡£
++       --JTeX¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤ÏNTT JTeX·Á¼°¤Ë¤Ê¤ê¤Þ¤¹¡£
++
++ (2) groff¤Îmake¤Î¸å¡¢gxditview(groff¤ÎX¥¦¥£¥ó¥É¥¦Íѥݥ¹¥È¥×¥í¥»¥Ã¥µ)
++    ¤òmake¤·¤Þ¤¹¡£¥È¥Ã¥×¥Ç¥£¥ì¥¯¥È¥êľ²¼¤Îxditview¤Øcd¤·¤Æ¡¢
++
++      % xmkmf
++      % make depend
++      % make all
++      % make install install.man
++
++    ¤Ç¡¢¥¤¥ó¥¹¥È¡¼¥ë´°Î»¤Ç¤¹¡£
++
++
++¡ý »È¤¤Êý
++
++ groff¤Î-T¥ª¥×¥·¥ç¥ó¤Ë-Tnippon(üËöɽ¼¨)¤òÄɲä·¤¿°Ê³°¤Ï¥ª¥ê¥¸¥Ê¥ë¤Î¤Þ
++¤Þ¤Ç¤¹¡£
++°Ê²¼¤Ï»ÈÍÑÎã¡£
++
++ (£±)  groff -Tnippon -man groff.jman
++
++ ÆüËܸì¤ò´Þ¤àroff¥Õ¥¡¥¤¥ë(groff.jman)¤òman¥Þ¥¯¥í¤ò»È¤Ã¤Æ¥Õ¥©¡¼¥Þ¥Ã¥È¤·¡¢
++üËö¤Ëɽ¼¨¤·¤Þ¤¹¡£
++ 
++ (£²)  groff -Tps -man groff.jman
++
++ ÆüËܸì¤ò´Þ¤àroff¥Õ¥¡¥¤¥ë¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤·¡¢PostScript¤ËÊÑ´¹¤·¤Þ¤¹¡£
++
++ (£³)  groff -TX100 -man groff.jman
++
++ ÆüËܸì¤ò´Þ¤àroff¥Õ¥¡¥¤¥ë¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤·¡¢X¥¦¥£¥ó¥É¥¦¤Ëɽ¼¨¤·¤Þ¤¹¡£
++
++ (£´)  groff -Tdvi -man groff.jman
++
++ ÆüËܸì¤ò´Þ¤àroff¥Õ¥¡¥¤¥ë¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤·¡¢DVI¥Õ¥¡¥¤¥ë¤ò½ÐÎϤ·¤Þ¤¹¡£
++
++
++¡ý ÆüËܸ첽¤Ë¤Ä¤¤¤Æ
++
++¡¦ ÆüËܸìʸ»ú¥³¡¼¥É¤ÏÆüËܸìEUC(¤Î¥³¡¼¥É¥»¥Ã¥È1)¤Î¤ß¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£
++
++¡¦ ÆüËܸì¥Õ¥©¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥«¥ì¥ó¥È¥Õ¥©¥ó¥È¤¬¥Ü¡¼¥ë¥ÉÂΤλþ¤Ï¥´¥·¥Ã
++   ¥¯ÂΤˡ¢¤½¤ì°Ê³°¤Î¥Õ¥©¥ó¥È(¥í¡¼¥Þ¥ó¡¢¥¤¥¿¥ê¥Ã¥¯¡¢¥¤¥¿¥ê¥Ã¥¯¥Ü¡¼¥ë¥É
++   Åù)¤¬¥«¥ì¥ó¥È¥Õ¥©¥ó¥È¤Î»þ¤ÏÌÀÄ«ÂΤˡ¢¼«Æ°Åª¤ËÀÚ¤êÂؤï¤ê¤Þ¤¹¡£ÆüËܸì
++   ¥Õ¥©¥ó¥È¤òľÀÜ»ØÄꤹ¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£
++
++   (Ãí) ¥Õ¥©¥ó¥È¥Õ¥¡¥¤¥ë̾¤¬'B'¤Ç½ª¤Ã¤Æ¤¤¤ë¥Õ¥©¥ó¥È(B¡¢TB¡¢HNB¤Ê¤É)¤ò
++        ¥Ü¡¼¥ë¥É¥Õ¥©¥ó¥È¤È¤·¤Æ¤¤¤Þ¤¹¡£
++
++¡¦ ¹ÔƬ¡¢¤ª¤è¤Ó¹ÔËö¶Ø§¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤¾¤ì¤Î¶Ø§ʸ»ú¤Ï¡¢
++
++   ¹ÔƬ¶Ø§ʸ»ú:       ¡¢ ¡£¡¤¡¥¡¦¡§¡¨¡©¡ª¡Ë¡Í¡Ï¡Ñ¡×¡Ù¡Û
++                      ¤¡¤£¤¥¤§¤©¤Ã¤ã¤å¤ç¥¡¥£¥¥¥§¥©¥Ã¥ã¥å¥ç
++                      . ? ! " ' ) ] * , : ; > }
++   ¹ÔËö¶Ø§ʸ»ú:      ¡Ê ¡Ì¡Î¡Ð¡Ö¡Ø¡Ú
++
++   ¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£
++
++¡¦ -Tps¤ò»ØÄꤷ¤¿¾ì¹ç¡¢EUCʸ»ú¤ÈASCIIʸ»ú¤Î´Ö¤Ë¤Ï¡¢Éý¤Î¶¹¤¤¶õÇò¤¬¼«Æ°
++   Åª¤ËÁÞÆþ¤µ¤ì¤Þ¤¹¡£¤³¤Î¶õÇò¤ÎÉý¤Ïdevps/DESC¤Îwcharkern¤Ç»ØÄꤷ¤Þ¤¹¡£
++   unitñ°Ì¤Ç¤¹¡£0¤ò»ØÄꤹ¤ë¤È¶õÇò¤ÏÁÞÆþ¤µ¤ì¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
++
++¡¦ -Tps¤ò»ØÄꤷ¤¿¾ì¹ç¡¢EUCʸ»ú¤ÏASCIIʸ»ú¤ËÂФ·¤Æ¾¯¤·²¼¤²¤Æ½ÐÎϤµ¤ì¤Þ
++   ¤¹(¤½¤Î¤Þ¤Þ¤À¤ÈASCIIʸ»ú¤¬Íî¤Á¹þ¤ó¤Ç¸«¤¨¤ë¤¿¤á)¡£¤³¤Î²¼¤²Éý¤Ï
++   devps/DESC¤Îlowerwchar¤Ç»ØÄꤷ¤Þ¤¹¡£unitñ°Ì¤Ç¤¹¡£0¤ò»ØÄꤹ¤ë¤È»ú²¼
++   ¤²¤Ï¹Ô¤Ê¤ï¤ì¤Þ¤»¤ó¡£
++
++¡¦ ¥ª¥ê¥¸¥Ê¥ë¤Ç¤Ï²þ¹Ô¥³¡¼¥É¤Ï̵¾ò·ï¤Ë¥¹¥Ú¡¼¥¹Ê¸»ú¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¤¬¡¢EUC
++   Ê¸»ú¤Ç°Ï¤Þ¤ì¤¿²þ¹Ô¥³¡¼¥É¤Ï¥¹¥Ú¡¼¥¹¤ËÊÑ´¹¤»¤ºÌµ»ë¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
++
++¡¦ EUC¤Î¥¹¥Ú¡¼¥¹Ê¸»ú(0xa1a1)¤ÏASCII¤Î¥¹¥Ú¡¼¥¹Ê¸»ú¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£
++
++
++¡ý ¼Õ¼­
++
++grodvi¤ÎASCIIÆüËܸìTeXÂбþ¤Ï¡¢±§ÅÔµÜÂç³Ø¤Î²£ÅĤµ¤ó¤¬¹Ô¤Ê¤Ã¤Æ¤¯¤À¤µ¤¤¤Þ
++¤·¤¿¡£grohtml¤ÎÆüËܸì(EUC)Âбþ¤Ï¡¢²Ö¿ó¿®ºÈ¤µ¤ó¤¬¹Ô¤Ã¤Æ¤¯¤ì¤Þ¤·¤¿¡£
++¤Þ¤¿¡¢Â¿¤¯¤ÎÊý¤«¤é¥Ð¥°¤Ë´Ø¤¹¤ëÊó¹ð¡¢½¤Àµ¥¤¥á¡¼¥¸¤òÁ÷¤Ã¤Æ夭¤Þ¤·¤¿¡£
++¸æ¶¨ÎϤ¯¤À¤µ¤Ã¤¿³§ÍͤˤϤȤƤⴶ¼Õ¤·¤Æ¤ª¤ê¤Þ¤¹¡£Í­Æñ¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
++
++
++¡ý ¤ª´ê¤¤
++
++¸½¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ïlj4¥Ý¥¹¥È¥×¥í¥»¥Ã¥µ¡¢bib´ØÏ¢¤Î¥³¥Þ¥ó¥É·²¤¬ÆüËܸ첽¤µ¤ì
++¤Æ¤ª¤ê¤Þ¤»¤ó¡£¤³¤ì¤é¤ÎÆüËܸ첽¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤ëÊý¤òÊ罸Ãפ·¤Æ¤ª¤ê¤Þ¤¹¡£
++¤¼¤Ò¸æ¶¨ÎϤ¯¤À¤µ¤¤¡£¤Þ¤¿¡¢ÆüËܸìÂбþgroff¤Ë´Ø¤·¤Æ¸æ°Õ¸«¡¢¸æ´õ˾Åù¤ò
++À§Èó¤ªÊ¹¤«¤»¤¯¤À¤µ¤¤¡£º£¸å¤Î»²¹Í¤Ë¤µ¤»¤Æ夭¤Þ¤¹(¤â¤Á¤í¤ó¥Ð¥°Êó¹ð¤â
++´¿·Þ¤Ç¤¹¡ª)¡£
++°Ê¾å¤ÏE-Mail¤Ë¤Æ¡¢tm-kita@kh.rim.or.jp°¸¤Ë¤ªÁ÷¤ê¤¯¤À¤µ¤¤¡£
+--- groff-1.18.1.1.orig/src/include/config.hin
++++ groff-1.18.1.1/src/include/config.hin
+@@ -1,84 +1,96 @@
+-/* src/include/config.hin.  Generated automatically from configure.ac by autoheader.  */
++/* src/include/config.hin.  Generated from configure.ac by autoheader.  */
+ /* Define if your C++ doesn't understand `delete []'. */
+ #undef ARRAY_DELETE_NEEDS_SIZE
++/* Define if you want to use multibyte extension. */
++#undef ENABLE_MULTIBYTE
++
+ /* Define if you have a C++ <limits.h>. */
+ #undef HAVE_CC_LIMITS_H
+ /* Define if you have a C++ <osfcn.h>. */
+ #undef HAVE_CC_OSFCN_H
+-/* Define if you have the <dirent.h> header file. */
++/* Define to 1 if you have the <dirent.h> header file. */
+ #undef HAVE_DIRENT_H
+-/* Define if you have the `fmod' function. */
++/* Define to 1 if you have the `fmod' function. */
+ #undef HAVE_FMOD
+-/* Define if you have the `getcwd' function. */
++/* Define to 1 if you have the `getcwd' function. */
+ #undef HAVE_GETCWD
+-/* Define if you have the `getpagesize' function. */
++/* Define to 1 if you have the `getpagesize' function. */
+ #undef HAVE_GETPAGESIZE
+-/* Define if you have the `gettimeofday' function. */
++/* Define to 1 if you have the `gettimeofday' function. */
+ #undef HAVE_GETTIMEOFDAY
+-/* Define if you have the <limits.h> header file. */
++/* Define to 1 if you have the <inttypes.h> header file. */
++#undef HAVE_INTTYPES_H
++
++/* Define to 1 if you have the `isatty' function. */
++#undef HAVE_ISATTY
++
++/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
++#undef HAVE_LANGINFO_CODESET
++
++/* Define to 1 if you have the <limits.h> header file. */
+ #undef HAVE_LIMITS_H
+-/* Define if you have the <math.h> header file. */
++/* Define to 1 if you have the <math.h> header file. */
+ #undef HAVE_MATH_H
++/* Define to 1 if you have the <memory.h> header file. */
++#undef HAVE_MEMORY_H
++
+ /* Define if you have mkstemp(). */
+ #undef HAVE_MKSTEMP
+-/* Define if you have a working `mmap' system call. */
++/* Define to 1 if you have a working `mmap' system call. */
+ #undef HAVE_MMAP
+-/* Define if you have the `putenv' function. */
++/* Define to 1 if you have the `putenv' function. */
+ #undef HAVE_PUTENV
+-/* Define if you have the `rename' function. */
++/* Define to 1 if you have the `rename' function. */
+ #undef HAVE_RENAME
+-/* Define if you have the `snprintf' function. */
++/* Define to 1 if you have the `snprintf' function. */
+ #undef HAVE_SNPRINTF
+-/* Define if you have the `isatty' function. */
+-#undef HAVE_ISATTY
+-
+-/* Define if you have the <stdint.h> header file. */
++/* Define to 1 if you have the <stdint.h> header file. */
+ #undef HAVE_STDINT_H
+-/* Define if you have the <stdlib.h> header file. */
++/* Define to 1 if you have the <stdlib.h> header file. */
+ #undef HAVE_STDLIB_H
+-/* Define if you have the `strcasecmp' function. */
++/* Define to 1 if you have the `strcasecmp' function. */
+ #undef HAVE_STRCASECMP
+-/* Define if you have the `strerror' function. */
++/* Define to 1 if you have the `strerror' function. */
+ #undef HAVE_STRERROR
+-/* Define if you have the <strings.h> header file. */
++/* Define to 1 if you have the <strings.h> header file. */
+ #undef HAVE_STRINGS_H
+-/* Define if you have the <string.h> header file. */
++/* Define to 1 if you have the <string.h> header file. */
+ #undef HAVE_STRING_H
+-/* Define if you have the `strncasecmp' function. */
++/* Define to 1 if you have the `strncasecmp' function. */
+ #undef HAVE_STRNCASECMP
+-/* Define if you have the `strsep' function. */
++/* Define to 1 if you have the `strsep' function. */
+ #undef HAVE_STRSEP
+-/* Define if you have the `strtol' function. */
++/* Define to 1 if you have the `strtol' function. */
+ #undef HAVE_STRTOL
+ /* Define if <math.h> defines struct exception. */
+ #undef HAVE_STRUCT_EXCEPTION
+-/* Define if you have the <sys/dir.h> header file. */
++/* Define to 1 if you have the <sys/dir.h> header file. */
+ #undef HAVE_SYS_DIR_H
+ /* Define if you have sys_errlist in <errno.h> or in <stdio.h>. */
+@@ -87,10 +99,16 @@
+ /* Define if you have sysnerr in <errno.h> or <stdio.h>. */
+ #undef HAVE_SYS_NERR
+-/* Define if you have the <sys/time.h> header file. */
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#undef HAVE_SYS_STAT_H
++
++/* Define to 1 if you have the <sys/time.h> header file. */
+ #undef HAVE_SYS_TIME_H
+-/* Define if you have the <unistd.h> header file. */
++/* Define to 1 if you have the <sys/types.h> header file. */
++#undef HAVE_SYS_TYPES_H
++
++/* Define to 1 if you have the <unistd.h> header file. */
+ #undef HAVE_UNISTD_H
+ /* Define if the host's encoding is EBCDIC. */
+@@ -120,6 +138,21 @@
+ /* Define if your C++ doesn't declare strncasecmp(). */
+ #undef NEED_DECLARATION_STRNCASECMP
++/* Define to the address where bug reports for this package should be sent. */
++#undef PACKAGE_BUGREPORT
++
++/* Define to the full name of this package. */
++#undef PACKAGE_NAME
++
++/* Define to the full name and version of this package. */
++#undef PACKAGE_STRING
++
++/* Define to the one symbol short name of this package. */
++#undef PACKAGE_TARNAME
++
++/* Define to the version of this package. */
++#undef PACKAGE_VERSION
++
+ /* Define if the printer's page size is A4. */
+ #undef PAGEA4
+@@ -129,7 +162,10 @@
+ /* Define if srand() returns void not int. */
+ #undef RET_TYPE_SRAND_IS_VOID
+-/* Define if `sys_siglist' is declared by <signal.h> or <unistd.h>. */
++/* Define to 1 if you have the ANSI C header files. */
++#undef STDC_HEADERS
++
++/* Define to 1 if `sys_siglist' is declared by <signal.h> or <unistd.h>. */
+ #undef SYS_SIGLIST_DECLARED
+ /* Define if your C++ compiler uses a traditional (Reiser) preprocessor. */
+--- groff-1.18.1.1.orig/src/include/encoding.h
++++ groff-1.18.1.1/src/include/encoding.h
+@@ -0,0 +1,175 @@
++// -*- C++ -*-
++/* Copyright (c) 2001 Fumitoshi UKAI <ukai@debian.or.jp>
++
++This file is part of groff.
++
++groff 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.
++
++groff 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; if not, write to the Free Software
++Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
++
++#ifndef ENCODING_H
++#define ENCODING_H
++
++#include <config.h>
++
++#ifdef ENABLE_MULTIBYTE
++typedef int wchar;    // negative is used for charcode & index
++#else
++typedef char wchar;
++#endif
++
++#include <stdio.h>
++
++#ifdef __cplusplus
++class encoding_istream {
++public:
++  encoding_istream() {};
++  virtual ~encoding_istream() {};
++  virtual int getbyte() = 0;
++  virtual int peekbyte() = 0;
++  virtual void ungetbyte(int ch) = 0;
++};
++
++class encoding_istream_str: public encoding_istream {
++private:
++  const unsigned char *s;
++  int *i;
++  encoding_istream_str() {};
++public:
++  encoding_istream_str(const unsigned char *s0, int *i0) : s(s0), i(i0) {};
++  ~encoding_istream_str() {};
++  inline int getbyte() { return s[(*i)++]; };
++  inline int peekbyte() { return s[(*i)]; };
++  inline void ungetbyte(int ch) { --(*i); };
++};
++
++class encoding_istream_fp: public encoding_istream {
++private:
++  FILE *fp;
++public:
++  encoding_istream_fp(FILE *fp0) : fp(fp0) {};
++  ~encoding_istream_fp() {};
++  inline int getbyte() { return fgetc(fp); };
++  inline int peekbyte() { int ch = fgetc(fp); ungetc(ch, fp); return ch; };
++  inline void ungetbyte(int ch) { ungetc(ch, fp); };
++};
++
++class encoding_ostream {
++public:
++  encoding_ostream() {};
++  virtual ~encoding_ostream() {};
++  virtual void putbyte(unsigned char ch) = 0;
++};
++
++class encoding_ostream_str: public encoding_ostream {
++private:
++  unsigned char *s;
++  int *i;
++  int len;
++  encoding_ostream_str() {};
++public:
++  encoding_ostream_str(unsigned char *s0, int *i0, int max) : s(s0), i(i0), len(max) {};
++  ~encoding_ostream_str() {};
++  inline void putbyte(unsigned char ch) {
++    if (*i < len)
++      s[(*i)++] = ch;
++  }
++};
++
++class encoding_ostream_fp: public encoding_ostream {
++private:
++  FILE *fp;
++  const char *format;
++public:
++  encoding_ostream_fp(FILE *ofp, const char *fmt = "%c") : fp(ofp), format(fmt) {};
++  ~encoding_ostream_fp() {};
++  inline void putbyte(unsigned char ch) {
++    fprintf(fp, format, ch);
++  }
++};
++
++class encoding_handler {
++public:
++  encoding_handler() {};
++  virtual ~encoding_handler() {};
++
++  // name of this encoding_handler
++  virtual const char *name() { return ""; };
++
++  // check if this byte is byte in multibyte character in this encoding?
++  virtual int is_wchar_byte(unsigned char c) { return 0; };
++
++  // make new wchar from c0 (beginning of multibytes) and rest from `in'
++  virtual wchar make_wchar(unsigned char c0, encoding_istream& in) { 
++    return wchar(c0);
++  }
++  // make new wchar from c0 (beginning of multibytes) and rest from `fp'
++  virtual wchar make_wchar(unsigned char c0, FILE *fp) {
++    encoding_istream_fp in(fp);
++    return make_wchar(c0, in);
++  }
++  // make new wchar from c0 (beginning of multibtyes) and rest from
++  // s[*i], *i will be changed to point the byte of next character.
++  virtual wchar make_wchar(unsigned char c0, const unsigned char *s, int *i) {
++    encoding_istream_str in(s, i);
++    return make_wchar(c0, in);
++  }
++
++  // put wchar to outputstream
++  // returns number of bytes written
++  virtual int put_wchar(wchar wc, encoding_ostream& eos) {
++    eos.putbyte((unsigned char)wc);
++    return 1;
++  }
++  // put wchar to `fp' using `fmt'
++  // returns number of bytes written
++  virtual int put_wchar(wchar wc, FILE *fp, const char *fmt = "%c") {
++    encoding_ostream_fp out(fp, fmt);
++    return put_wchar(wc, out);
++  }
++  // put wchar to s[*i] (until maxlen)
++  // *i will be changed to point the byte of next character.
++  virtual int put_wchar(wchar wc, unsigned char *s, int *i, int maxlen) {
++    encoding_ostream_str out(s, i, maxlen);
++    return put_wchar(wc, out);
++  }
++
++  // maximum number of bytes of multibyte character in this encoding
++  virtual int max_wchar_len() { return 1; };
++
++};
++
++encoding_handler* select_input_encoding_handler(const char* encoding_name);
++encoding_handler* select_output_encoding_handler(const char* encoding_name);
++extern encoding_handler* input_encoding;
++extern encoding_handler* output_encoding;
++void init_encoding_handler();
++
++// check if wc is wchar?
++int is_wchar_code(wchar wc);
++
++// check if wc is wchar & can be represented in single byte?
++int is_wchar_singlebyte(wchar wc);
++
++// get singlebyte representation of wchar (if is_wchar_singlebyte(wc))
++unsigned char wchar_singlebyte(wchar wc);
++
++// get actual wide character code
++int wchar_code(wchar wc);
++
++// make wchar from wide character code
++int make_wchar(int w);
++
++#endif
++
++#endif /* ENCODING_H */
+--- groff-1.18.1.1.orig/src/include/lib.h
++++ groff-1.18.1.1/src/include/lib.h
+@@ -88,8 +88,15 @@
+ extern char invalid_char_table[];
++#include "encoding.h" /* XXX: ukai */
++
+ inline int invalid_input_char(int c)
+ {
++#ifdef ENABLE_MULTIBYTE
++  if (input_encoding->is_wchar_byte(c))
++      return 0;
++  else
++#endif
+   return c >= 0 && invalid_char_table[c];
+ }
+--- groff-1.18.1.1.orig/src/include/device.h
++++ groff-1.18.1.1/src/include/device.h
+@@ -18,4 +18,9 @@
+ with groff; see the file COPYING.  If not, write to the Free Software
+ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++#ifndef _DEVICE_H
++#define _DEVICE_H
++
+ extern const char *device;
++
++#endif /* _DEVICE_H */
+--- groff-1.18.1.1.orig/src/include/config.h
++++ groff-1.18.1.1/src/include/config.h
+@@ -0,0 +1,187 @@
++/* src/include/config.h.  Generated by configure.  */
++/* src/include/config.hin.  Generated from configure.ac by autoheader.  */
++
++/* Define if your C++ doesn't understand `delete []'. */
++/* #undef ARRAY_DELETE_NEEDS_SIZE */
++
++/* Define if you want to use multibyte extension. */
++#define ENABLE_MULTIBYTE 1
++
++/* Define if you have a C++ <limits.h>. */
++#define HAVE_CC_LIMITS_H 1
++
++/* Define if you have a C++ <osfcn.h>. */
++/* #undef HAVE_CC_OSFCN_H */
++
++/* Define to 1 if you have the <dirent.h> header file. */
++#define HAVE_DIRENT_H 1
++
++/* Define to 1 if you have the `fmod' function. */
++#define HAVE_FMOD 1
++
++/* Define to 1 if you have the `getcwd' function. */
++#define HAVE_GETCWD 1
++
++/* Define to 1 if you have the `getpagesize' function. */
++#define HAVE_GETPAGESIZE 1
++
++/* Define to 1 if you have the `gettimeofday' function. */
++#define HAVE_GETTIMEOFDAY 1
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++#define HAVE_INTTYPES_H 1
++
++/* Define to 1 if you have the `isatty' function. */
++#define HAVE_ISATTY 1
++
++/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
++#define HAVE_LANGINFO_CODESET 1
++
++/* Define to 1 if you have the <limits.h> header file. */
++#define HAVE_LIMITS_H 1
++
++/* Define to 1 if you have the <math.h> header file. */
++#define HAVE_MATH_H 1
++
++/* Define to 1 if you have the <memory.h> header file. */
++#define HAVE_MEMORY_H 1
++
++/* Define if you have mkstemp(). */
++#define HAVE_MKSTEMP 1
++
++/* Define to 1 if you have a working `mmap' system call. */
++#define HAVE_MMAP 1
++
++/* Define to 1 if you have the `putenv' function. */
++#define HAVE_PUTENV 1
++
++/* Define to 1 if you have the `rename' function. */
++#define HAVE_RENAME 1
++
++/* Define to 1 if you have the `snprintf' function. */
++#define HAVE_SNPRINTF 1
++
++/* Define to 1 if you have the <stdint.h> header file. */
++#define HAVE_STDINT_H 1
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#define HAVE_STDLIB_H 1
++
++/* Define to 1 if you have the `strcasecmp' function. */
++#define HAVE_STRCASECMP 1
++
++/* Define to 1 if you have the `strerror' function. */
++#define HAVE_STRERROR 1
++
++/* Define to 1 if you have the <strings.h> header file. */
++#define HAVE_STRINGS_H 1
++
++/* Define to 1 if you have the <string.h> header file. */
++#define HAVE_STRING_H 1
++
++/* Define to 1 if you have the `strncasecmp' function. */
++#define HAVE_STRNCASECMP 1
++
++/* Define to 1 if you have the `strsep' function. */
++#define HAVE_STRSEP 1
++
++/* Define to 1 if you have the `strtol' function. */
++#define HAVE_STRTOL 1
++
++/* Define if <math.h> defines struct exception. */
++#define HAVE_STRUCT_EXCEPTION 1
++
++/* Define to 1 if you have the <sys/dir.h> header file. */
++#define HAVE_SYS_DIR_H 1
++
++/* Define if you have sys_errlist in <errno.h> or in <stdio.h>. */
++#define HAVE_SYS_ERRLIST 1
++
++/* Define if you have sysnerr in <errno.h> or <stdio.h>. */
++#define HAVE_SYS_NERR 1
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#define HAVE_SYS_STAT_H 1
++
++/* Define to 1 if you have the <sys/time.h> header file. */
++#define HAVE_SYS_TIME_H 1
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#define HAVE_SYS_TYPES_H 1
++
++/* Define to 1 if you have the <unistd.h> header file. */
++#define HAVE_UNISTD_H 1
++
++/* Define if the host's encoding is EBCDIC. */
++/* #undef IS_EBCDIC_HOST */
++
++/* Define if localtime() takes a long * not a time_t *. */
++/* #undef LONG_FOR_TIME_T */
++
++/* Define if your C++ doesn't declare gettimeofday(). */
++/* #undef NEED_DECLARATION_GETTIMEOFDAY */
++
++/* Define if your C++ doesn't declare hypot(). */
++/* #undef NEED_DECLARATION_HYPOT */
++
++/* Define if your C++ doesn't declare pclose(). */
++/* #undef NEED_DECLARATION_PCLOSE */
++
++/* Define if your C++ doesn't declare popen(). */
++/* #undef NEED_DECLARATION_POPEN */
++
++/* Define if your C++ doesn't declare putenv(). */
++/* #undef NEED_DECLARATION_PUTENV */
++
++/* Define if your C++ doesn't declare strcasecmp(). */
++/* #undef NEED_DECLARATION_STRCASECMP */
++
++/* Define if your C++ doesn't declare strncasecmp(). */
++/* #undef NEED_DECLARATION_STRNCASECMP */
++
++/* Define to the address where bug reports for this package should be sent. */
++#define PACKAGE_BUGREPORT ""
++
++/* Define to the full name of this package. */
++#define PACKAGE_NAME ""
++
++/* Define to the full name and version of this package. */
++#define PACKAGE_STRING ""
++
++/* Define to the one symbol short name of this package. */
++#define PACKAGE_TARNAME ""
++
++/* Define to the version of this package. */
++#define PACKAGE_VERSION ""
++
++/* Define if the printer's page size is A4. */
++#define PAGEA4 1
++
++/* Define as the return type of signal handlers (`int' or `void'). */
++#define RETSIGTYPE void
++
++/* Define if srand() returns void not int. */
++#define RET_TYPE_SRAND_IS_VOID 1
++
++/* Define to 1 if you have the ANSI C header files. */
++#define STDC_HEADERS 1
++
++/* Define to 1 if `sys_siglist' is declared by <signal.h> or <unistd.h>. */
++#define SYS_SIGLIST_DECLARED 1
++
++/* Define if your C++ compiler uses a traditional (Reiser) preprocessor. */
++/* #undef TRADITIONAL_CPP */
++
++/* Define if the 0200 bit of the status returned by wait() indicates whether a
++   core image was produced for a process that was terminated by a signal. */
++/* #undef WCOREFLAG */
++
++/* Define if -D_POSIX_SOURCE is necessary. */
++/* #undef _POSIX_SOURCE */
++
++/* Define if you have ISC 3.x or 4.x. */
++/* #undef _SYSV3 */
++
++/* Define uintmax_t to `unsigned long' or `unsigned long long' if <inttypes.h>
++   does not exist. */
++/* #undef uintmax_t */
+--- groff-1.18.1.1.orig/src/include/printer.h
++++ groff-1.18.1.1/src/include/printer.h
+@@ -38,6 +38,8 @@
+ #include "color.h"
++#include "encoding.h"
++
+ struct environment {
+   int fontno;
+   int size;
+@@ -63,6 +65,9 @@
+   printer();
+   virtual ~printer();
+   void load_font(int i, const char *name);
++#ifdef        ENABLE_MULTIBYTE
++  void set_wchar_char(wchar c, char *s, int i0, int len, const environment *env, int *widthp = 0);
++#endif
+   void set_ascii_char(unsigned char c, const environment *env,
+                     int *widthp = 0);
+   void set_special_char(const char *nm, const environment *env,
+--- groff-1.18.1.1.orig/src/include/font.h
++++ groff-1.18.1.1/src/include/font.h
+@@ -18,11 +18,17 @@
+ with groff; see the file COPYING.  If not, write to the Free Software
+ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++#include "encoding.h"
++
+ typedef void (*FONT_COMMAND_HANDLER)(const char *, const char *,
+                                    const char *, int);
+ struct font_kern_list;
+ struct font_char_metric;
++#ifdef ENABLE_MULTIBYTE
++struct fontset_list;
++struct font_wchar_metric;
++#endif
+ struct font_widths_cache;
+ class font {
+@@ -53,6 +59,9 @@
+   const char *get_special_device_encoding(int index);
+   const char *get_name();
+   const char *get_internal_name();
++#ifdef        ENABLE_MULTIBYTE
++  const char *get_subfont_name(int index);
++#endif
+   static int scan_papersize(const char *, const char **, double *, double *);
+@@ -62,6 +71,9 @@
+   static int load_desc();
+   static int name_to_index(const char *);
+   static int number_to_index(int);
++#ifdef        ENABLE_MULTIBYTE
++  static int wchar_index(wchar);
++#endif
+   static FONT_COMMAND_HANDLER
+     set_unknown_desc_command_handler(FONT_COMMAND_HANDLER);
+@@ -76,6 +88,11 @@
+   static int spare2;
+   static int sizescale;
+   static int tcommand;
++#ifdef        ENABLE_MULTIBYTE
++  // XXX: should be in charinfo or font_wchar_metric?
++  static int lowerwchar;
++  static int wcharkern;
++#endif
+   static int pass_filenames;
+   static int use_charnames_in_special;
+@@ -83,13 +100,27 @@
+   static const char **style_table;
+   static const char *family;
+   static int *sizes;
++#ifdef        ENABLE_MULTIBYTE
++  // fontsets - sub font list
++  static fontset_list *fontsets;
++  // get fontset for `wc' in current font `fname'
++  static int get_fontset_font(const char *fname, wchar wc);
++  // is the fontno's font load on demand?
++  static int is_on_demand(int fontno);
++#endif
+ private:
+   unsigned ligatures;
+   font_kern_list **kern_hash_table;
+   int space_width;
+-  short *ch_index;
++  short *ch_index;    /* XXX: this is used unless font_wchar_metric. */
+   int nindices;
+   font_char_metric *ch;
++#ifdef ENABLE_MULTIBYTE
++  // font metric for wchar
++  font_wchar_metric *wch;
++  // get font metric for wchar indexed by c
++  font_wchar_metric *get_font_wchar_metric(int c);
++#endif
+   int ch_used;
+   int ch_size;
+   int special;
+--- groff-1.18.1.1.orig/src/include/driver.h
++++ groff-1.18.1.1/src/include/driver.h
+@@ -27,6 +27,7 @@
+ #include <errno.h>
+ #include <assert.h>
+ #include <math.h>
++#include "encoding.h" // XXX: ukai
+ #include "errarg.h"
+ #include "error.h"
+ #include "font.h"
+--- groff-1.18.1.1.orig/src/libs/libdriver/input.cc
++++ groff-1.18.1.1/src/libs/libdriver/input.cc
+@@ -250,6 +250,7 @@
+ #include "driver.h"
+ #include "device.h"
++#include "encoding.h"
+ #include <stdlib.h>
+ #include <errno.h>
+@@ -1439,6 +1440,19 @@
+   char *subcmd_str = get_string_arg();
+   char subcmd = subcmd_str[0];
+   switch (subcmd) {
++#ifdef ENABLE_MULTIBYTE
++  case 'e':                   // x encoding: select encoding
++    {
++      char *str_arg = get_string_arg();
++      if (str_arg == 0)
++      warning("empty argument for `x encoding' command");
++      else {
++      select_input_encoding_handler(str_arg);
++      delete str_arg;
++      }
++      break;
++    }
++#endif
+   case 'f':                   // x font: mount font
+     {
+       IntArg n = get_integer_arg();
+@@ -1517,7 +1531,7 @@
+   return stopped;
+ }
+-
++////////////////////////////////////////////////////////////////
+ /**********************************************************************
+                      exported part (by driver.h)
+  **********************************************************************/
+@@ -1625,6 +1639,18 @@
+     if (str_arg[0] != 'i')
+       fatal("the third command must be `x init'");
+     delete str_arg;
++#ifdef ENABLE_MULTIBYTE
++    Char c = get_char();
++    while (is_space_or_tab(c) && c != Char('\n') && c != Char(EOF))
++      c = get_char();
++    unget_char(c);
++    if (c != Char('\n') && c != Char(EOF)) {
++      const char *tmp_encoding = get_string_arg();
++      if (tmp_encoding && *tmp_encoding)
++          select_input_encoding_handler(tmp_encoding);
++      delete tmp_encoding;
++    }
++#endif
+     skip_line_x();
+   }
+@@ -1763,6 +1789,18 @@
+       size_t i = 0;
+       while ((c = str_arg[i++]) != '\0') {
+         EnvInt w;
++#ifdef        ENABLE_MULTIBYTE
++        if (input_encoding->is_wchar_byte(c)) {
++          int i0 = i - 1;
++          wchar wc = input_encoding->make_wchar(c, (const unsigned char *)str_arg, (int *)&i);
++          if (is_wchar_code(wc)) {
++            /* XXX: singlebyte check? */
++            pr->set_wchar_char(wc, str_arg, i0, i - i0, current_env, &w);
++          } else {
++            pr->set_ascii_char((unsigned char) c, current_env, &w);
++          }
++        } else
++#endif
+         pr->set_ascii_char((unsigned char) c, current_env, &w);
+         current_env->hpos += w;
+       }
+--- groff-1.18.1.1.orig/src/libs/libdriver/printer.cc
++++ groff-1.18.1.1/src/libs/libdriver/printer.cc
+@@ -27,6 +27,7 @@
+ */
+ #include "driver.h"
++#include "encoding.h"
+ printer *pr = 0;
+@@ -138,6 +139,24 @@
+   }
+ }
++#ifdef        ENABLE_MULTIBYTE
++void printer::set_wchar_char(wchar c, char *s, int i0, int len, const environment *env, int *widthp)
++{
++  unsigned char *buf = new unsigned char[len+1];
++  memset(buf, 0, len+1);
++  memcpy(buf, s+i0, len);
++  font *f;
++  int w;
++  int i = set_char_and_width((const char *)buf, env, &w, &f);
++  if (i != -1) {
++      set_char(c, f, env, w, (const char *)buf);
++      if (widthp)
++        *widthp = w;
++  }
++  delete [] buf;
++}
++#endif
++
+ void printer::set_special_char(const char *nm, const environment *env,
+                              int *widthp)
+ {
+--- groff-1.18.1.1.orig/src/libs/libgroff/fontfile.cc
++++ groff-1.18.1.1/src/libs/libgroff/fontfile.cc
+@@ -24,6 +24,7 @@
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <errno.h>
++#include "encoding.h" // XXX: ukai
+ #include "font.h"
+ #include "searchpath.h"
+ #include "device.h"
+@@ -36,6 +37,10 @@
+ int font::res = 0;
+ int font::hor = 1;
+ int font::vert = 1;
++#ifdef        ENABLE_MULTIBYTE
++int font::lowerwchar = 0;
++int font::wcharkern = 0;
++#endif
+ int font::unitwidth = 0;
+ int font::paperwidth = 0;
+ int font::paperlength = 0;
+--- groff-1.18.1.1.orig/src/libs/libgroff/font.cc
++++ groff-1.18.1.1/src/libs/libgroff/font.cc
+@@ -25,6 +25,7 @@
+ #include <assert.h>
+ #include <math.h>
+ #include <stdlib.h>
++#include "encoding.h" // XXX: ukai
+ #include "errarg.h"
+ #include "error.h"
+ #include "cset.h"
+@@ -43,8 +44,39 @@
+   int italic_correction;
+   int subscript_correction;
+   char *special_device_coding;
++#ifdef ENABLE_MULTIBYTE
++  char *subfont_name;
++#endif
+ };
++#ifdef ENABLE_MULTIBYTE
++struct fontset_list {
++  struct fontset_list *next;
++  char *primary_font_name;
++  int fontset_font;
++  wchar start_code;
++  wchar end_code;
++  int on_demand;
++};
++
++fontset_list *font::fontsets = NULL;
++
++struct font_wchar_metric {
++  struct font_wchar_metric *next;
++  char type;
++  int start_code;
++  int end_code;
++  int width;
++  int height;
++  int depth;
++  int pre_math_space;
++  int italic_correction;
++  int subscript_correction;
++  char *special_device_coding;
++  char *subfont_name;
++};
++#endif
++
+ struct font_kern_list {
+   int i1;
+   int i2;
+@@ -149,7 +181,11 @@
+ font::font(const char *s)
+ : ligatures(0), kern_hash_table(0), space_width(0), ch_index(0), nindices(0),
+-  ch(0), ch_used(0), ch_size(0), special(0), widths_cache(0)
++  ch(0), 
++#ifdef ENABLE_MULTIBYTE
++  wch(0),
++#endif
++  ch_used(0), ch_size(0), special(0), widths_cache(0)
+ {
+   name = new char[strlen(s) + 1];
+   strcpy(name, s);
+@@ -183,6 +219,17 @@
+     widths_cache = widths_cache->next;
+     delete tem;
+   }
++#ifdef ENABLE_MULTIBYTE
++  struct font_wchar_metric *wcp, *nwcp;
++  for (wcp = wch; wcp != NULL; wcp = nwcp) {
++    nwcp = wcp->next;
++    if (wcp->special_device_coding)
++      delete [] wcp->special_device_coding;
++    if (wcp->subfont_name)
++      delete [] wcp->subfont_name;
++    delete wcp;
++  }
++#endif
+ }
+ static int scale_round(int n, int x, int y)
+@@ -244,6 +291,11 @@
+ int font::contains(int c)
+ {
++#ifdef ENABLE_MULTIBYTE
++  font_wchar_metric *wcp = get_font_wchar_metric(c);
++  if (wcp != NULL)
++    return 1;
++#endif
+   return c >= 0 && c < nindices && ch_index[c] >= 0;
+ }
+@@ -266,8 +318,31 @@
+   a_delete width;
+ }
++#ifdef ENABLE_MULTIBYTE
++struct font_wchar_metric *
++font::get_font_wchar_metric(int c)
++{
++  /* XXX: c is font index, not char code... */
++  /* XXX: we assume wchar_code == font index code for wchars */
++  /* XXX: does really code conflicts with index? */
++  struct font_wchar_metric *wcp;
++  for (wcp = wch; wcp != NULL; wcp = wcp->next) {
++    if (wcp->start_code <= wchar_code(c) && wchar_code(c) <= wcp->end_code) {
++      return wcp;
++    }
++  }
++  return NULL;
++}
++#endif
++
+ int font::get_width(int c, int point_size)
+ {
++#ifdef ENABLE_MULTIBYTE
++  font_wchar_metric *wcp = get_font_wchar_metric(c);
++  if (wcp != NULL) {
++    return scale(wcp->width, point_size);
++  }
++#endif
+   assert(c >= 0 && c < nindices);
+   int i = ch_index[c];
+   assert(i >= 0);
+@@ -299,30 +374,60 @@
+ int font::get_height(int c, int point_size)
+ {
++#ifdef ENABLE_MULTIBYTE
++  font_wchar_metric *wcp = get_font_wchar_metric(c);
++  if (wcp != NULL) {
++    return scale(wcp->height, point_size);
++  }
++#endif
+   assert(c >= 0 && c < nindices && ch_index[c] >= 0);
+   return scale(ch[ch_index[c]].height, point_size);
+ }
+ int font::get_depth(int c, int point_size)
+ {
++#ifdef ENABLE_MULTIBYTE
++  font_wchar_metric *wcp = get_font_wchar_metric(c);
++  if (wcp != NULL) {
++    return scale(wcp->depth, point_size);
++  }
++#endif
+   assert(c >= 0 && c < nindices && ch_index[c] >= 0);
+   return scale(ch[ch_index[c]].depth, point_size);
+ }
+ int font::get_italic_correction(int c, int point_size)
+ {
++#ifdef ENABLE_MULTIBYTE
++  font_wchar_metric *wcp = get_font_wchar_metric(c);
++  if (wcp != NULL) {
++    return scale(wcp->italic_correction, point_size);
++  }
++#endif
+   assert(c >= 0 && c < nindices && ch_index[c] >= 0);
+   return scale(ch[ch_index[c]].italic_correction, point_size);
+ }
+ int font::get_left_italic_correction(int c, int point_size)
+ {
++#ifdef ENABLE_MULTIBYTE
++  font_wchar_metric *wcp = get_font_wchar_metric(c);
++  if (wcp != NULL) {
++    return scale(wcp->pre_math_space, point_size);
++  }
++#endif
+   assert(c >= 0 && c < nindices && ch_index[c] >= 0);
+   return scale(ch[ch_index[c]].pre_math_space, point_size);
+ }
+ int font::get_subscript_correction(int c, int point_size)
+ {
++#ifdef ENABLE_MULTIBYTE
++  font_wchar_metric *wcp = get_font_wchar_metric(c);
++  if (wcp != NULL) {
++    return scale(wcp->subscript_correction, point_size);
++  }
++#endif
+   assert(c >= 0 && c < nindices && ch_index[c] >= 0);
+   return scale(ch[ch_index[c]].subscript_correction, point_size);
+ }
+@@ -371,12 +476,24 @@
+ int font::get_character_type(int c)
+ {
++#ifdef ENABLE_MULTIBYTE
++  font_wchar_metric *wcp = get_font_wchar_metric(c);
++  if (wcp != NULL) {
++    return wcp->type;
++  }
++#endif
+   assert(c >= 0 && c < nindices && ch_index[c] >= 0);
+   return ch[ch_index[c]].type;
+ }
+ int font::get_code(int c)
+ {
++#ifdef ENABLE_MULTIBYTE
++  font_wchar_metric *wcp = get_font_wchar_metric(c);
++  if (wcp != NULL) {
++    return c;
++  }
++#endif
+   assert(c >= 0 && c < nindices && ch_index[c] >= 0);
+   return ch[ch_index[c]].code;
+ }
+@@ -393,10 +510,26 @@
+ const char *font::get_special_device_encoding(int c)
+ {
++#ifdef ENABLE_MULTIBYTE
++  font_wchar_metric *wcp = get_font_wchar_metric(c);
++  if (wcp != NULL)
++    return wcp->special_device_coding;
++#endif
+   assert(c >= 0 && c < nindices && ch_index[c] >= 0);
+   return( ch[ch_index[c]].special_device_coding );
+ }
++#ifdef        ENABLE_MULTIBYTE
++const char *font::get_subfont_name(int c)
++{
++  font_wchar_metric *wcp = get_font_wchar_metric(c);
++  if (wcp != NULL)
++    return wcp->subfont_name;
++  assert(c >= 0 && c < nindices && ch_index[c] >= 0);
++  return ch[ch_index[c]].subfont_name;
++}
++#endif
++
+ void font::alloc_ch_index(int index)
+ {
+   if (nindices == 0) {
+@@ -554,9 +687,11 @@
+   return 0;
+ }
++
+ // If the font can't be found, then if not_found is non-NULL, it will be set
+ // to 1 otherwise a message will be printed.
++
+ int font::load(int *not_found)
+ {
+   char *path;
+@@ -570,7 +705,7 @@
+   }
+   text_file t(fp, path);
+   t.skip_comments = 1;
+-  char *p;
++  char *p = NULL;
+   for (;;) {
+     if (!t.next()) {
+       t.error("missing charset command");
+@@ -681,6 +816,9 @@
+     }
+     else if (strcmp(command, "charset") == 0) {
+       had_charset = 1;
++#ifdef ENABLE_MULTIBYTE
++      int had_range = 0;
++#endif
+       int last_index = -1;
+       for (;;) {
+       if (!t.next()) {
+@@ -695,6 +833,11 @@
+         command = nm;
+         break;
+       }
++#ifdef ENABLE_MULTIBYTE
++      int start_code = 0;
++      int end_code = 0;
++      int nrange = sscanf(nm, "u%X..u%X", &start_code, &end_code);
++#endif
+       if (p[0] == '"') {
+         if (last_index == -1) {
+           t.error("first charset entry is duplicate");
+@@ -711,7 +854,64 @@
+         }
+         copy_entry(index, last_index);
+       }
++#ifdef ENABLE_MULTIBYTE
++      else if (nrange == 2) {
++        had_range = 1;
++        font_wchar_metric *wcp = new font_wchar_metric;
++        wcp->start_code = start_code;
++        wcp->end_code = end_code;
++        wcp->height = 0;
++        wcp->depth = 0;
++        wcp->pre_math_space = 0;
++        wcp->italic_correction = 0;
++        wcp->subscript_correction = 0;
++        int nparms = sscanf(p, "%d,%d,%d,%d,%d,%d",
++                            &wcp->width, &wcp->height, &wcp->depth,
++                            &wcp->italic_correction,
++                            &wcp->pre_math_space,
++                            &wcp->subscript_correction);
++        if (nparms < 1) {
++          t.error("bad width for `%1'", nm);
++          return 0;
++        }
++        p = strtok(0, WS);
++        if (p == 0) {
++          t.error("missing character type for `%1'", nm);
++          return 0;
++        }
++        int type;
++        if (sscanf(p, "%d", &type) != 1) {
++          t.error("bad character type for `%1'", nm);
++          return 0;
++        }
++        if (type < 0 || type > 255) {
++          t.error("character type `%1' out of range", type);
++          return 0;
++        }
++        wcp->type = type;
++
++        p = strtok(0, WS);
++        if ((p == 0) || (strcmp(p, "--") == 0)) {
++          wcp->subfont_name = NULL;
++        } else {
++          wcp->subfont_name = new char[strlen(p) + 1];
++          strcpy(wcp->subfont_name, p);
++        }
++
++        p = strtok(0, WS);
++        if ((p == NULL) || (strcmp(p, "--") == 0)) {
++          wcp->special_device_coding = NULL;
++        } else {
++          wcp->special_device_coding = new char[strlen(p) + 1];
++          strcpy(wcp->special_device_coding, p);
++        }
++        wcp->next = wch;
++        wch = wcp;
++        p = NULL;
++      }
++#endif
+       else {
++        
+         font_char_metric metric;
+         metric.height = 0;
+         metric.depth = 0;
+@@ -747,6 +947,16 @@
+           t.error("missing code for `%1'", nm);
+           return 0;
+         }
++#ifdef        ENABLE_MULTIBYTE
++        char *subp = strchr(p, ':');
++        if (subp) {
++          *subp++ = '\0';
++          metric.subfont_name = new char[strlen(subp) + 1];
++          strcpy(metric.subfont_name, subp);
++        } else {
++          metric.subfont_name = NULL;
++        }
++#endif
+         char *ptr;
+         metric.code = (int)strtol(p, &ptr, 0);
+         if (metric.code == 0 && ptr == p) {
+@@ -777,7 +987,11 @@
+         }
+       }
+       }
++#ifdef ENABLE_MULTIBYTE
++      if (!had_range && last_index == -1) {
++#else
+       if (last_index == -1) {
++#endif
+       t.error("I didn't seem to find any characters");
+       return 0;
+       }
+@@ -811,6 +1025,11 @@
+   { "biggestfont", &font::biggestfont },
+   { "spare2", &font::spare2 },
+   { "sizescale", &font::sizescale }
++#ifdef        ENABLE_MULTIBYTE
++  ,
++  { "lowerwchar", &font::lowerwchar },
++  { "wcharkern", &font::wcharkern }
++#endif
+   };
+ int font::load_desc()
+@@ -981,6 +1200,67 @@
+       tcommand = 1;
+     else if (strcmp("use_charnames_in_special", p) == 0)
+       use_charnames_in_special = 1;
++#ifdef        ENABLE_MULTIBYTE
++    else if (strcmp("fontset", p) == 0) {
++      /* fontset <primary-fontname> <fontname> <code>..<code> [ondemand] */
++      p = strtok(0, WS);
++      if (p == NULL) {
++      t.error("no primary font for fontset");
++      return 0;
++      }
++      char *pfont = NULL;
++      if (strcmp(p, "-") != 0) {
++      pfont = new char[strlen(p)+1];
++      strcpy(pfont, p);
++      }
++      p = strtok(0, WS);
++      if (p == NULL) {
++      t.error("no fontset font for `%1'", 
++              pfont ? pfont : "-");
++      return 0;
++      }
++      int fontset_font = 0;
++      for (int i = 0; i < nfonts; i++) {
++      if (strcmp(p, font_name_table[i]) == 0) {
++        fontset_font = i;
++        break;
++      }
++      }
++      if (fontset_font == nfonts) {
++      t.error("fontset font `%1' for font `%2' not defined", 
++              p, pfont ? pfont : "-");
++      return 0;
++      }
++      p = strtok(0, WS);
++      if (p == NULL) {
++      t.error("no range for fontset font `%1' for font `%2'",
++              font_name_table[fontset_font],
++              pfont ? pfont : "-");
++      return 0;
++      }
++      wchar start_code = 0;
++      wchar end_code = 0;
++      int nparms = sscanf(p, "%x..%x", &start_code, &end_code);
++      if (nparms != 2) {
++      t.error("invalid range format `%1'", p);
++      return 0;
++      }
++      p = strtok(0, WS);
++      int on_demand = 0;
++      if (p != NULL && strcmp(p, "ondemand") == 0) {
++      on_demand = 1;
++      }
++      /* XXX */
++      fontset_list *fl = new fontset_list;
++      fl->primary_font_name = pfont;
++      fl->fontset_font = fontset_font;
++      fl->start_code = start_code;
++      fl->end_code = end_code;
++      fl->on_demand = on_demand;
++      fl->next = fontsets;
++      fontsets = fl;
++    }
++#endif
+     else if (strcmp("charset", p) == 0)
+       break;
+     else if (unknown_desc_command_handler) {
+@@ -1020,6 +1300,39 @@
+   return 1;
+ }      
++#ifdef ENABLE_MULTIBYTE
++int
++font::get_fontset_font(const char *fname, wchar wc) {
++  fontset_list *fl;
++  int avail_fontno = -1;
++  wc = wchar_code(wc);
++  for (fl = fontsets; fl != NULL; fl = fl->next) {
++    if (fl->primary_font_name == NULL) {
++      if (fl->start_code <= wc && wc <= fl->end_code) {
++      avail_fontno = fl->fontset_font;
++      }
++    }
++    else if (fname && strcmp(fl->primary_font_name, fname) == 0) {
++      if (fl->start_code <= wc && wc <= fl->end_code) {
++      return fl->fontset_font;
++      }
++    }
++  }
++  return avail_fontno;
++}
++
++int
++font::is_on_demand(int fontno) {
++  fontset_list *fl;
++  for (fl = fontsets; fl != NULL; fl = fl->next) {
++    if (fl->fontset_font == fontno) {
++      return fl->on_demand;
++    }
++  }
++  return 0;
++}
++#endif
++
+ void font::handle_unknown_font_command(const char *, const char *,
+                                      const char *, int)
+ {
+--- groff-1.18.1.1.orig/src/libs/libgroff/searchpath.cc
++++ groff-1.18.1.1/src/libs/libgroff/searchpath.cc
+@@ -19,6 +19,7 @@
+ with groff; see the file COPYING.  If not, write to the Free Software
+ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++#include "encoding.h"
+ #include "lib.h"
+ #include <stdlib.h>
+--- groff-1.18.1.1.orig/src/libs/libgroff/nametoindex.cc
++++ groff-1.18.1.1/src/libs/libgroff/nametoindex.cc
+@@ -24,6 +24,7 @@
+ #include <ctype.h>
+ #include <assert.h>
+ #include <stdlib.h>
++#include "encoding.h" // XXX: ukai
+ #include "errarg.h"
+ #include "error.h"
+ #include "font.h"
+@@ -37,6 +38,9 @@
+   character_indexer();
+   ~character_indexer();
+   int ascii_char_index(unsigned char);
++#ifdef        ENABLE_MULTIBYTE
++  int wchar_index(wchar);
++#endif
+   int named_char_index(const char *);
+   int numbered_char_index(int);
+ private:
+@@ -68,6 +72,13 @@
+   return ascii_index[c];
+ }
++#ifdef        ENABLE_MULTIBYTE
++int character_indexer::wchar_index(wchar wc)
++{
++  return wc; /* XXX: wchar code == index */
++}
++#endif
++
+ int character_indexer::numbered_char_index(int n)
+ {
+   if (n >= 0 && n < NSMALL) {
+@@ -103,6 +114,30 @@
+ int font::name_to_index(const char *s)
+ {
+   assert(s != 0 && s[0] != '\0' && s[0] != ' ');
++#ifdef        ENABLE_MULTIBYTE
++ {
++   int i = 1;
++   wchar wc = input_encoding->make_wchar(s[0], (const unsigned char *)s, &i);
++   /* XXX 
++    * if wchar can be represented in single byte (<256),
++    * it should be the same as char<wc>.
++    */
++   if (is_wchar_singlebyte(wc)) {
++       return indexer.ascii_char_index(wchar_singlebyte(wc));
++   }
++   if (is_wchar_code(wc)) {
++    return indexer.wchar_index(wc);
++   }
++   /* XXX: uA1A1 and \xa1a1 are synonyms */
++   if (s[0] == 'u') {
++     char *res;
++     long n = strtol(s + 1, &res, 16);
++     if (res != s + 1 && *res == '\0') {
++       return indexer.wchar_index(n);
++     }
++   }
++ }
++#endif
+   if (s[1] == '\0')
+     return indexer.ascii_char_index(s[0]);
+   /* char128 and \200 are synonyms */
+@@ -115,3 +150,9 @@
+   return indexer.named_char_index(s);
+ }
++#ifdef        ENABLE_MULTIBYTE
++int font::wchar_index(wchar wc)
++{
++  return indexer.wchar_index(wc);
++}
++#endif
+--- groff-1.18.1.1.orig/src/libs/libgroff/encoding.cc
++++ groff-1.18.1.1/src/libs/libgroff/encoding.cc
+@@ -0,0 +1,441 @@
++// -*- C++ -*-
++/* Copyright (C) 2001 Fumitoshi UKAI <ukai@debian.or.jp>
++
++This file is part of groff.
++
++groff 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.
++
++groff 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; if not, write to the Free Software
++Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
++
++#include "encoding.h"
++#include "device.h"
++
++#include <string.h>
++#ifdef ENABLE_MULTIBYTE
++#include <locale.h>
++#include <wchar.h>
++#ifdef HAVE_LANGINFO_CODESET
++#include <langinfo.h>
++#else
++#include <stdlib.h>
++#endif
++#endif
++
++class ascii8_handler : public encoding_handler {
++  // encoding handler for 8bit ascii
++  // no multibyte support
++public:
++  ascii8_handler() {}
++  ~ascii8_handler() {}
++
++  const char *name() { return "C"; }; /* ??? */
++
++  inline int is_wchar_byte(unsigned char c) { return 0; }
++  inline wchar make_wchar(unsigned char c0, encoding_istream& eis) {
++    return wchar(c0);
++  }
++  inline int put_wchar(wchar wc, encoding_ostream& eos) {
++    eos.putbyte((unsigned char)wchar_code(wc));
++    return 1;
++  }
++  inline int max_wchar_len() { return 1; };
++
++};
++
++#ifdef ENABLE_MULTIBYTE
++class utf8_handler: public encoding_handler {
++public:
++  utf8_handler() { } 
++  ~utf8_handler() { }
++
++  const char *name() { return "UTF-8"; };
++
++  inline int is_wchar_byte(unsigned char c) {
++    return (c >= 0x80);
++  }
++
++  /*
++   0000 0000-0000 007F   0xxxxxxx
++   0000 0080-0000 07FF   110xxxxx 10xxxxxx
++   0000 0800-0000 FFFF   1110xxxx 10xxxxxx 10xxxxxx
++
++   0001 0000-001F FFFF   11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
++   0020 0000-03FF FFFF   111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
++   0400 0000-7FFF FFFF   1111110x 10xxxxxx ... 10xxxxxx
++  */
++
++  inline wchar make_wchar(unsigned char c0, encoding_istream& eis) {
++    wchar wc = 0;
++    int count = 0;
++    if (! is_wchar_byte(c0)) {
++      return c0;
++    }
++    if ((c0 & 0xFC) == 0xFC) {
++      wc = c0 & 0x01;
++      count = 5;
++    } else if ((c0 & 0xF8) == 0xF8) {
++      wc = c0 & 0x03;
++      count = 4;
++    } else if ((c0 & 0xF0) == 0xF0) {
++      wc = c0 & 0x07;
++      count = 3;
++    } else if ((c0 & 0xE0) == 0xE0) {
++      wc = c0 & 0x0F;
++      count = 2;
++    } else if ((c0 & 0xC0) == 0xC0) {
++      wc = c0 & 0x1F;
++      count = 1;
++    }
++    for (; count > 0; count--) {
++      wc <<= 6;
++      int c1 = eis.getbyte();
++      if (! is_wchar_byte(c1)) {
++      /* illegal utf8 sequence? */
++      }
++      wc |= (c1 & 0x3F);
++    }
++    return -wc;       // XXX: negative
++  }
++
++  inline int put_wchar(wchar wc, encoding_ostream& eos) {
++    int count = 0;
++    if (! is_wchar_code(wc)) {
++      eos.putbyte(wc);
++      return 1;
++    }
++    wc = -wc; // XXX: negative -> character code
++
++    if (wc < 0x800) {
++      count = 1; eos.putbyte((wc >> 6) | 0xC0);
++    } else if (wc < 0x10000) {
++      count = 2; eos.putbyte((wc >> 12) | 0xE0);
++    } else if (wc < 0x200000) {
++      count = 3; eos.putbyte((wc >> 18) | 0xF0);
++    } else if (wc < 0x4000000) {
++      count = 4; eos.putbyte((wc >> 24) | 0xf8);
++    } else if (wc <= 0x7fffffff) {
++      count = 5; eos.putbyte((wc >> 30) | 0xFC);
++    }
++    for (int i = 0; i < count; i++) {
++      eos.putbyte(((wc >> 6 * (count - i - 1)) & 0x3f) | 0x80);
++    }
++    return count;
++  }
++  inline int max_wchar_len() { return 6; }; /* XXX 3?*/
++
++};
++
++#define USE_ICONV
++#ifdef USE_ICONV
++#include <iconv.h>
++#include <errno.h>
++
++class iconv_handler : public encoding_handler {
++private:
++  iconv_t icd, ocd;
++  const char *encoding_name;
++  static iconv_handler *ih_header;
++
++public:
++  iconv_handler *next;
++
++  static iconv_handler *new_iconv_handler(const char *ename) {
++    iconv_handler *ip;
++    // if already created, use it.
++    for (ip = ih_header; ip != NULL; ip = ip->next) {
++      if (strcmp(ip->name(), ename) == 0) {
++      return ip;
++      }
++    }
++    // not found, create new one.
++    ip = new iconv_handler(ename);
++    ip->next = ih_header;
++    ih_header = ip;
++    return ip;
++  }
++  iconv_handler(const char *ename) : encoding_name(ename) {
++    // internal code is UCS-2BE
++    icd = iconv_open("UCS-2BE", encoding_name);
++    ocd = iconv_open(encoding_name, "UCS-2BE");
++  };
++  ~iconv_handler() {};
++
++  const char *name() { return encoding_name; };
++
++  inline int is_wchar_byte(unsigned char c) {
++    return (c >= 0x80); /* ??? */
++  }
++
++  inline wchar make_wchar(unsigned char c0, encoding_istream& eis) {
++    wchar wc = 0;
++    char inbuf[8], outbuf[8];
++    char *inp, *outp;
++    size_t inbytesleft, outbytesleft;
++    int i = 0;
++    
++    if (! is_wchar_byte(c0)) {
++      return c0;
++    }
++    for (inbuf[i++] = c0; ;inbuf[i++] = eis.getbyte()) {
++      inbytesleft = i;
++      outbytesleft = sizeof(outbuf);
++      inp = inbuf;
++      outp = outbuf;
++      size_t r = iconv(icd, &inp, &inbytesleft, &outp, &outbytesleft);
++      if (r == (size_t)-1) {
++      if (errno == EILSEQ) {
++        /* illegal sequence? */
++        return '?';
++      } else if (errno == EINVAL) {
++        /* incomplete sequence? */
++        continue;
++      } else if (errno == E2BIG) {
++        /* no room to output? */
++        return '?';
++      }
++      }
++      /* ok */
++      /* UCS-2 is 2 bytes */
++      wc = ((outbuf[0] & 0x0ff) << 8) | (outbuf[1] & 0x0ff);
++      return -wc;     // XXX: negative
++    }
++  }
++
++
++  inline int put_wchar(wchar wc, encoding_ostream& eos) {
++    char inbuf[4], outbuf[4];
++    char *inp, *outp;
++    size_t inbytesleft, outbytesleft;
++
++    if (!is_wchar_code(wc)) {
++      eos.putbyte(wc & 0x0ff);
++      return 1;
++    }
++    wc = -wc; // XXX: negative -> character code
++
++    inbuf[0] = (wc >> 8) & 0x0ff;
++    inbuf[1] = (wc >> 0) & 0x0ff;
++    inbuf[2] = 0;
++    inbytesleft = 2;
++    outbytesleft = 4;
++    inp = inbuf;
++    outp = outbuf;
++    size_t r = iconv(ocd, &inp, &inbytesleft, &outp, &outbytesleft);
++    if (r == (size_t)-1) {
++      if (errno == EILSEQ) {
++      /* illegal sequence? */;
++      } else if (errno == EINVAL) {
++      /* incomplete sequence? */;
++      } else if (errno == E2BIG) {
++      /* no room to output? */;
++      }
++      eos.putbyte('?');
++      return 1;
++    }
++    char *op = outbuf;
++    int n = 0;
++    for (; op < outp; op++, n++) {
++      eos.putbyte(*op & 0x0ff);
++    }
++    return outp - outbuf;
++  }
++  inline int max_wchar_len() { return 6; }; /* XXX */
++
++};
++#else
++class euc_handler : public encoding_handler {
++  static const int WCTABLE_OFFSET = 0xa1;
++  static const int WCTABLE_SIZE = 94;
++  static const int EUCMASK = 0x8080;
++
++public:
++  euc_handler() {}
++  ~euc_handler() {};
++
++  const char *name() { return "EUC-JP"; };
++
++  inline int is_wchar_byte(unsigned char c) {
++    return (c >= 0xa1 && c <= 0xfe);
++  }
++
++  inline wchar make_wchar(unsigned char c0, encoding_istream& eis) {
++    wchar wc;
++    if (! is_wchar_byte(c0)) {
++      return c0;
++    }
++    int c1 = eis.peekbyte();
++    if (! is_wchar_byte(c1)) {
++      eis.ungetbyte(c1);
++      return c0;
++    }
++    c1 = eis.getbyte();
++    wc = (c0 & 0xff) << 8;
++    wc |= (c1 & 0xff);
++
++    if (wc == 0xa1a1)
++      return ' ';
++    return -wc;
++  }
++
++  inline int put_wchar(wchar wc, encoding_ostream& eos) {
++    if (is_wchar_code(wc)) {
++      wc = -wc;
++      eos.putbyte((wc >> 8) & 0x0ff);
++      eos.putbyte((wc >> 0) & 0x0ff);
++      return 2;    
++    } else {
++      eos.putbyte(wc & 0x0ff);
++      return 1;
++    }
++  }
++  inline int max_wchar_len() { return 2; }; /* XXX */
++};
++#endif /* USE_ICONV */
++#endif
++
++static ascii8_handler ascii8;
++#ifdef ENABLE_MULTIBYTE
++static utf8_handler utf8;
++#ifdef USE_ICONV
++iconv_handler *iconv_handler::ih_header = NULL;
++#else
++static euc_handler eucjp;
++#endif
++#endif
++
++encoding_handler *input_encoding = &ascii8;
++encoding_handler *output_encoding = &ascii8;
++
++static void
++new_encoding_handler(encoding_handler **eptr, const char *encoding_name)
++{
++  if (!encoding_name) {
++    *eptr = &ascii8;
++    return;
++  }
++#ifdef ENABLE_MULTIBYTE
++  if (strcmp(encoding_name, "UTF-8") == 0) {
++    *eptr = &utf8;
++    return;
++  }
++#ifdef USE_ICONV
++  if (strcmp(encoding_name, "C") != 0) {
++    *eptr = iconv_handler::new_iconv_handler(encoding_name);
++    return;
++  }
++#else
++  // printf("encoding request: [%s]\n", encoding_name);
++  if (strcmp(encoding_name, "EUC-JP") == 0) {
++    // printf("encoding: [EUC-JP]\n");
++    *eptr = &eucjp;
++    return;
++  }
++#endif
++#endif
++  // default
++  *eptr = &ascii8;
++  return;
++}
++
++encoding_handler *
++select_input_encoding_handler(const char *encoding_name)
++{
++  new_encoding_handler(&input_encoding, encoding_name);
++  return input_encoding;
++}
++
++encoding_handler *
++select_output_encoding_handler(const char *encoding_name)
++{
++  new_encoding_handler(&output_encoding, encoding_name);
++  return output_encoding;
++}
++
++void
++init_encoding_handler()
++{
++#ifdef ENABLE_MULTIBYTE
++  const char *locale, *charset;
++  // groff 1 defines ISO-8859-1 as the input encoding, so this is required
++  // for compatibility. groff 2 will define UTF-8 (or possibly officially
++  // allow it to be switchable?)
++  select_input_encoding_handler("ISO-8859-1");
++  select_output_encoding_handler("C");
++
++  locale = setlocale(LC_ALL, "");
++  if (locale == NULL ||
++      strcmp(locale, "C") == 0 || strcmp(locale, "POSIX") == 0) {
++    return;
++  }
++  /* check LC_CTYPE is C or POSIX */
++  locale = setlocale(LC_CTYPE, NULL);
++  if (strcmp(locale, "C") == 0 || strcmp(locale, "POSIX") == 0) {
++    return;
++  }
++  /* otherwise */
++#if HAVE_LANGINFO_CODESET
++  charset = nl_langinfo(CODESET);
++#else
++  charset = strchr(locale, '.');
++  if (charset)
++    ++charset;
++  else
++    charset = "";
++#endif
++  if (strncmp(locale, "ja", 2) == 0 || strncmp(locale, "zh", 2) == 0 ||
++      (strncmp(locale, "ko", 2) == 0 && strcmp(charset, "UTF-8") == 0)) {
++    select_input_encoding_handler(charset);
++    select_output_encoding_handler(charset);
++  } else if ((!device || strcmp(device, "ascii8") == 0)) {
++    select_input_encoding_handler(NULL);
++    select_output_encoding_handler(NULL);
++  }
++#endif
++  return;
++}
++
++int
++is_wchar_code(wchar wc)
++{
++  return (wc < 0);
++}
++
++int
++is_wchar_singlebyte(wchar wc)
++{
++    return ((-256 < wc) && (wc < 0));
++}
++
++unsigned char
++wchar_singlebyte(wchar wc)
++{
++    if (wc >= 0)
++      return (unsigned char)wc;
++    else
++      return (unsigned char)-wc;
++}
++
++int
++wchar_code(wchar wc)
++{
++    if (wc >= 0)
++      return wc;
++    else
++      return -wc;
++}
++
++int
++make_wchar(int w)
++{
++    return -w;
++}
+--- groff-1.18.1.1.orig/src/libs/libgroff/Makefile.sub
++++ groff-1.18.1.1/src/libs/libgroff/Makefile.sub
+@@ -6,6 +6,7 @@
+   color.$(OBJEXT) \
+   cset.$(OBJEXT) \
+   device.$(OBJEXT) \
++  encoding.$(OBJEXT) \
+   errarg.$(OBJEXT) \
+   error.$(OBJEXT) \
+   fatal.$(OBJEXT) \
+@@ -45,6 +46,7 @@
+   $(srcdir)/color.cc \
+   $(srcdir)/cset.cc \
+   $(srcdir)/device.cc \
++  $(srcdir)/encoding.cc \
+   $(srcdir)/errarg.cc \
+   $(srcdir)/error.cc \
+   $(srcdir)/fatal.cc \
+--- groff-1.18.1.1.orig/src/libs/libgroff/tmpfile.cc
++++ groff-1.18.1.1/src/libs/libgroff/tmpfile.cc
+@@ -24,6 +24,7 @@
+ #include <errno.h>
+ #include <stdlib.h>
++#include "encoding.h"
+ #include "posix.h"
+ #include "errarg.h"
+ #include "error.h"
+--- groff-1.18.1.1.orig/src/utils/tfmtodit/tfmtodit.cc
++++ groff-1.18.1.1/src/utils/tfmtodit/tfmtodit.cc
+@@ -650,7 +650,7 @@
+ gives the groff name of the character, `i' gives its index in
+ the encoding, which is filled in later  (-1 if it does not appear). */
+-struct {
++struct S {
+   const char *ch;
+   int i;
+ } lig_chars[] = {
+@@ -670,7 +670,7 @@
+ // Each possible ligature appears in this table.
+-struct {
++struct S2 {
+   unsigned char c1, c2, res;
+   const char *ch;
+ } lig_table[] = {
+--- groff-1.18.1.1.orig/src/preproc/eqn/eqn.y
++++ groff-1.18.1.1/src/preproc/eqn/eqn.y
+@@ -21,6 +21,7 @@
+ #include <string.h>
+ #include <stdlib.h>
++#include "encoding.h" /* XXX */
+ #include "lib.h"
+ #include "box.h"
+ extern int non_empty_flag;
+--- groff-1.18.1.1.orig/src/preproc/eqn/lex.cc
++++ groff-1.18.1.1/src/preproc/eqn/lex.cc
+@@ -23,6 +23,7 @@
+ #include "eqn_tab.h"
+ #include "stringclass.h"
+ #include "ptable.h"
++#include "encoding.h"
+ struct definition {
+   char is_macro;
+@@ -375,6 +376,11 @@
+       lex_error("invalid input character code %1", c);
+       else {
+       line += char(c);
++#ifdef        ENABLE_MULTIBYTE
++      if (input_encoding->is_wchar_byte(c)) {
++        line += char(getc(fp));
++      }
++#endif
+       if (c == '\n') 
+         break;
+       }
+--- groff-1.18.1.1.orig/src/preproc/eqn/main.cc
++++ groff-1.18.1.1/src/preproc/eqn/main.cc
+@@ -258,6 +258,7 @@
+   program_name = argv[0];
+   static char stderr_buf[BUFSIZ];
+   setbuf(stderr, stderr_buf);
++  init_encoding_handler();
+   int opt;
+   int load_startup_file = 1;
+   static const struct option long_options[] = {
+--- groff-1.18.1.1.orig/src/preproc/eqn/text.cc
++++ groff-1.18.1.1/src/preproc/eqn/text.cc
+@@ -21,13 +21,20 @@
+ #include "eqn.h"
+ #include "pbox.h"
+ #include "ptable.h"
++#include "encoding.h"
+ class char_box : public simple_box {
+   unsigned char c;
++#ifdef        ENABLE_MULTIBYTE
++  wchar wc;
++#endif
+   char next_is_italic;
+   char prev_is_italic;
+ public:
+   char_box(unsigned char);
++#ifdef        ENABLE_MULTIBYTE
++  char_box(unsigned char, wchar);
++#endif
+   void debug_print();
+   void output();
+   int is_char();
+@@ -165,11 +172,22 @@
+ }
+ char_box::char_box(unsigned char cc)
+-: c(cc), next_is_italic(0), prev_is_italic(0)
++: c(cc),
++#ifdef        ENABLE_MULTIBYTE
++  wc(cc),
++#endif
++  next_is_italic(0), prev_is_italic(0)
+ {
+   spacing_type = char_table[c].spacing_type;
+ }
++#ifdef        ENABLE_MULTIBYTE
++char_box::char_box(unsigned char cc, wchar wc)
++: c(cc), wc(wc), next_is_italic(0), prev_is_italic(0)
++{
++}
++#endif
++
+ void char_box::hint(unsigned flags)
+ {
+   if (flags & HINT_PREV_IS_ITALIC)
+@@ -188,7 +206,11 @@
+   if (c == '\\')
+     fputs("\\e", stdout);
+   else
++#ifdef        ENABLE_MULTIBYTE
++    output_encoding->put_wchar(wc, stdout);
++#else
+     putchar(c);
++#endif
+   if (!next_is_italic)
+     fputs("\\/", stdout);
+   else
+@@ -497,6 +519,14 @@
+       break;
+     default:
+     normal_char:
++#ifdef        ENABLE_MULTIBYTE
++      if (input_encoding->is_wchar_byte(c)) {
++        int i = 1;
++      wchar wc = input_encoding->make_wchar(c, (unsigned char *)s, &i);
++      b = new char_box('A', wc); // char_info of wc is same the 'A'.
++      s += i;
++      } else
++#endif
+       b = new char_box(c);
+       break;
+     }
+--- groff-1.18.1.1.orig/src/preproc/eqn/box.cc
++++ groff-1.18.1.1/src/preproc/eqn/box.cc
+@@ -80,7 +80,7 @@
+ int nroff = 0;                        // should we grok ndefine or tdefine?
+-struct {
++struct S {
+   const char *name;
+   int *ptr;
+ } param_table[] = {
+--- groff-1.18.1.1.orig/src/preproc/html/pre-html.cc
++++ groff-1.18.1.1/src/preproc/html/pre-html.cc
+@@ -63,6 +63,10 @@
+ #define DEFAULT_IMAGE_RES        100   // number of pixels per inch resolution
+ #define IMAGE_BOARDER_PIXELS       0
+ #define INLINE_LEADER_CHAR      '\\'
++#define A4_LENGTH             841890   // taken from devps/Makefile.sub
++#define LETTER_LENGTH         792000   // taken from devps/Makefile.sub
++#define A4_OFFSET                  0
++#define LETTER_OFFSET             50   // 50/72 of an inch
+ #define TRANSPARENT  "-background white -transparent white"
+ #define MIN_ALPHA_BITS             0
+@@ -104,6 +108,7 @@
+ static char *macroset_template= NULL;           // image template passed to troff by -D
+ static int   troff_arg        = 0;              // troff arg index
+ static char *image_dir        = NULL;           // user specified image directory
++static char *gsPaper          = NULL;           // the paper size that gs must use
+ static int   textAlphaBits    = MAX_ALPHA_BITS;
+ static int   graphicAlphaBits = MAX_ALPHA_BITS;
+ static char *antiAlias        = NULL;           // antialias arguments we pass to gs.
+@@ -211,6 +216,54 @@
+ }
+ /*
++ *  get_papersize - returns an integer determining the paper length from
++ *  devps/DESC
++ */
++
++static int get_papersize (void)
++{
++  char *pathp;
++  FILE *f;
++  int res;
++  f = font_path.open_file("devps/DESC", &pathp);
++  if (f == 0)
++    fatal("can't open devps/DESC");
++  while (get_line(f)) {
++    int n = sscanf(linebuf, "paperlength %d", &res);
++    if (n >= 1) {
++      fclose(f);
++      return res;
++    }
++    if (!strncmp(linebuf, "papersize", 9)) {
++      double length;
++      char *p = linebuf + 9;
++      while (*p == ' ' || *p == '\t')
++        p++;
++      for (p = strtok(p, " \t"); p; p = strtok(0, " \t")) {
++        if (font::scan_papersize(p, 0, &length, 0)) {
++          fclose(f);
++          return int(length * postscriptRes + 0.5);
++        }
++      }
++      fatal("bad argument to `papersize' keyword in devps/DESC");
++    }
++  }
++  fatal("can't find `papersize' or `paperlength' keyword in devps/DESC");
++  return 0;
++}
++
++/*
++ *  determine_vertical_offset - works out the default vertical offset from
++ *                              the page length
++ */
++
++static void determine_vertical_offset (void)
++{
++  vertical_offset = ((A4_LENGTH-get_papersize())*72)/postscriptRes;
++  gsPaper = "-sPAPERSIZE=a4";
++}
++
++/*
+  *  html_system - a wrapper for system()
+  */
+@@ -1469,6 +1522,7 @@
+   int ok=1;
+   postscriptRes = get_resolution();
++  determine_vertical_offset();
+   i = scanArguments(argc, argv);
+   setupAntiAlias();
+   checkImageDir();
+--- groff-1.18.1.1.orig/src/preproc/grn/hdb.cc
++++ groff-1.18.1.1/src/preproc/grn/hdb.cc
+@@ -115,7 +115,6 @@
+     type = DBGetType(string); /* interpret element type */
+     if (type < 0) {           /* no more data */
+       done = TRUE;
+-      (void) fclose(file);
+     } else {
+ #ifdef UW_FASTSCAN
+       (void) xscanf(file, &x, &y);            /* always one point */
+--- groff-1.18.1.1.orig/src/preproc/refer/command.cc
++++ groff-1.18.1.1/src/preproc/refer/command.cc
+@@ -632,7 +632,7 @@
+ ? means that the previous argument is optional, * means that the
+ previous argument can occur any number of times. */
+-struct {
++struct S {
+   const char *name;
+   command_t func;
+   const char *arg_types;
+--- groff-1.18.1.1.orig/src/devices/grotty/grotty.man
++++ groff-1.18.1.1/src/devices/grotty/grotty.man
+@@ -50,7 +50,9 @@
+ command
+ with a
+ .BR \-Tascii ,
+-.B \-Tlatin1
++.BR \-Tascii8 ,
++.BR \-Tlatin1 ,
++.B \-Tnippon
+ or
+ .B \-Tutf8
+ option on ASCII based systems, and with
+@@ -235,8 +237,10 @@
+ .I name
+ is the name of the device, usually
+ .BR ascii ,
++.BR ascii8 ,
+ .BR latin1 ,
+ .BR utf8 ,
++.B  nippon
+ or
+ .BR cp1047 .
+ .TP
+@@ -315,10 +319,20 @@
+ device.
+ .
+ .TP
++.B @FONTDIR@/devascii8/DESC
++Device description file for
++.B ascii8
++device.
++.TP
+ .B @FONTDIR@/devlatin1/DESC
+ Device description file for
+ .B latin1
+ device.
++.TP
++.B @FONTDIR@/devnippon/DESC
++Device description file for
++.B nippon
++device.
+ .
+ .TP
+ .BI @FONTDIR@/devlatin1/ F
+--- groff-1.18.1.1.orig/src/devices/grotty/tty.cc
++++ groff-1.18.1.1/src/devices/grotty/tty.cc
+@@ -20,6 +20,7 @@
+ #include "driver.h"
+ #include "device.h"
++#include "encoding.h"
+ extern "C" const char *Version_string;
+@@ -51,8 +52,18 @@
+   HDRAW_MODE = 0x08,
+   CU_MODE = 0x10,
+   COLOR_CHANGE = 0x20
++#ifdef ENABLE_MULTIBYTE
++  , WCHAR_MODE = 0x100
++#endif
+ };
++#ifdef ENABLE_MULTIBYTE
++# ifdef putchar
++#  undef putchar
++# endif
++#define putchar(wc)   output_encoding->put_wchar((wc), stdout)
++#endif
++
+ // Mode to use for bold-underlining.
+ static unsigned char bold_underline_mode = BOLD_MODE|UNDERLINE_MODE;
+@@ -89,6 +100,7 @@
+   static tty_font *load_tty_font(const char *);
+ };
++
+ tty_font *tty_font::load_tty_font(const char *s)
+ {
+   tty_font *f = new tty_font(s);
+@@ -98,8 +110,26 @@
+   }
+   const char *num = f->get_internal_name();
+   long n;
++#ifdef ENABLE_MULTIBYTE
++  if (num != 0) {
++    n = strtol(num, 0, 0);
++    switch (n) {
++    case 1:
++      f->mode = int(UNDERLINE_MODE);
++      break;
++    case 2:
++    case 5:
++      f->mode = int(BOLD_MODE);
++      break;
++    case 3:
++      f->mode = int(BOLD_MODE|UNDERLINE_MODE);
++      break;
++    }
++  }
++#else
+   if (num != 0 && (n = strtol(num, 0, 0)) != 0)
+     f->mode = int(n & (BOLD_MODE|UNDERLINE_MODE));
++#endif
+   if (!underline_flag)
+     f->mode &= ~UNDERLINE_MODE;
+   if (!bold_flag)
+@@ -135,6 +165,9 @@
+   short hpos;
+   unsigned int code;
+   unsigned char mode;
++#ifdef ENABLE_MULTIBYTE
++  short cols;
++#endif
+   unsigned char back_color_idx;
+   unsigned char fore_color_idx;
+   void *operator new(size_t);
+@@ -184,7 +217,7 @@
+   void make_underline();
+   void make_bold(unsigned int);
+   unsigned char color_to_idx(color *col);
+-  void add_char(unsigned int, int, int, color *, color *, unsigned char);
++  void add_char(unsigned int, int, int, color *, color *, font *, unsigned char);
+ public:
+   tty_printer(const char *device);
+   ~tty_printer();
+@@ -193,7 +226,7 @@
+   void special(char *arg, const environment *env, char type);
+   void change_color(const environment *env);
+   void change_fill_color(const environment *env);
+-  void put_char(unsigned int);
++  int put_char(unsigned int);
+   void put_color(unsigned char, int);
+   void begin_page(int) { }
+   void end_page(int page_length);
+@@ -203,6 +236,10 @@
+ tty_printer::tty_printer(const char *device) : cached_v(0)
+ {
+   is_utf8 = !strcmp(device, "utf8");
++#ifdef ENABLE_MULTIBYTE
++  if (is_utf8)
++      select_output_encoding_handler("UTF-8");
++#endif
+   tty_colors[0].set_rgb(0,                    // black
+                       0,
+                       0);
+@@ -242,8 +279,18 @@
+ void tty_printer::make_underline()
+ {
+   if (old_drawing_scheme) {
++#if 0 /* def ENABLE_MULTIBYTE XXX: not necessary? */
++    if ((p->mode & WCHAR_MODE)) {
++      putchar('_'); putchar('_');
++      putchar('\b'); putchar('\b');
++    } else {
++      putchar('_');
++      putchar('\b');
++    }
++#else
+     putchar('_');
+     putchar('\b');
++#endif
+   }
+   else {
+     if (!is_underline) {
+@@ -285,17 +332,25 @@
+ void tty_printer::set_char(int i, font *f, const environment *env,
+                          int w, const char *name)
+ {
++#ifdef ENABLE_MULTIBYTE
++  if (is_wchar_code(i)) {
++    add_char(wchar_code(i), env->hpos, env->vpos, env->col, env->fill, 
++           f, ((tty_font *)f)->get_mode());
++    return;
++  }
++#endif
+   if (w != font::hor)
+     fatal("width of character not equal to horizontal resolution");
+   add_char(f->get_code(i),
+          env->hpos, env->vpos,
+          env->col, env->fill,
+-         ((tty_font *)f)->get_mode());
++         f, ((tty_font *)f)->get_mode());
+ }
+ void tty_printer::add_char(unsigned int c,
+                          int h, int v,
+                          color *fore, color *back,
++                         font *curfont,
+                          unsigned char mode)
+ {
+ #if 0
+@@ -338,6 +393,16 @@
+   g->code = c;
+   g->fore_color_idx = color_to_idx(fore);
+   g->back_color_idx = color_to_idx(back);
++#ifdef ENABLE_MULTIBYTE
++  if (is_wchar_code(c))
++    mode |= WCHAR_MODE;
++  if (curfont && curfont->contains(c)) {
++      int gw0 = curfont->get_space_width(font::unitwidth);
++      int gw = curfont->get_width(c, font::unitwidth);
++      g->cols = gw/gw0;
++  } else
++      g->cols = 1;    /* XXX */
++#endif
+   g->mode = mode;
+   // The list will be reversed later.  After reversal, it must be in
+@@ -357,7 +422,7 @@
+ void tty_printer::special(char *arg, const environment *env, char type)
+ {
+   if (type == 'u') {
+-    add_char(*arg - '0', env->hpos, env->vpos, env->col, env->fill, CU_MODE);
++    add_char(*arg - '0', env->hpos, env->vpos, env->col, env->fill, get_font_from_index(env->fontno), CU_MODE);
+     return;
+   }
+   if (type != 'p')
+@@ -395,12 +460,12 @@
+ void tty_printer::change_color(const environment *env)
+ {
+-  add_char(0, env->hpos, env->vpos, env->col, env->fill, COLOR_CHANGE);
++  add_char(0, env->hpos, env->vpos, env->col, env->fill, get_font_from_index(env->fontno), COLOR_CHANGE);
+ }
+ void tty_printer::change_fill_color(const environment *env)
+ {
+-  add_char(0, env->hpos, env->vpos, env->col, env->fill, COLOR_CHANGE);
++  add_char(0, env->hpos, env->vpos, env->col, env->fill, get_font_from_index(env->fontno), COLOR_CHANGE);
+ }
+ void tty_printer::draw(int code, int *p, int np, const environment *env)
+@@ -420,7 +485,7 @@
+       len = -len;
+     }
+     while (len >= 0) {
+-      add_char('|', env->hpos, v, env->col, env->fill, VDRAW_MODE);
++      add_char('|', env->hpos, v, env->col, env->fill, get_font_from_index(env->fontno), VDRAW_MODE);
+       len -= font::vert;
+       v += font::vert;
+     }
+@@ -434,18 +499,24 @@
+       len = -len;
+     }
+     while (len >= 0) {
+-      add_char('-', h, env->vpos, env->col, env->fill, HDRAW_MODE);
++      add_char('-', h, env->vpos, env->col, env->fill, get_font_from_index(env->fontno), HDRAW_MODE);
+       len -= font::hor;
+       h += font::hor;
+     }
+   }
+ }
+-void tty_printer::put_char(unsigned int wc)
++int tty_printer::put_char(unsigned int wc)
+ {
++#ifdef ENABLE_MULTIBYTE
++  if (wc >= 0x80) {
++    return output_encoding->put_wchar(make_wchar(wc), stdout);
++  }
++#else
+   if (is_utf8 && wc >= 0x80) {
+     char buf[6 + 1];
+     int count;
++    int len;
+     char *p = buf;
+     if (wc < 0x800)
+       count = 1, *p = (unsigned char)((wc >> 6) | 0xc0);
+@@ -458,14 +529,18 @@
+     else if (wc <= 0x7fffffff)
+       count = 5, *p = (unsigned char)((wc >> 30) | 0xfC);
+     else
+-      return;
++      return 0;
++    len = count;
+     do *++p = (unsigned char)(((wc >> (6 * --count)) & 0x3f) | 0x80);
+       while (count > 0);
+     *++p = '\0';
+     putstring(buf);
++    return len;
+   }
++#endif
+   else
+     putchar(wc);
++  return 1;
+ }
+ void tty_printer::put_color(unsigned char color_index, int back)
+@@ -629,7 +704,11 @@
+       }
+       }
+       put_char(p->code);
++#ifdef ENABLE_MULTIBYTE
++      hpos += p->cols;
++#else
+       hpos++;
++#endif
+     }
+     if (!old_drawing_scheme
+       && (is_bold || is_underline
+@@ -667,6 +746,7 @@
+   if (getenv("GROFF_NO_SGR"))
+     old_drawing_scheme = 1;
+   setbuf(stderr, stderr_buf);
++  init_encoding_handler();
+   int c;
+   static const struct option long_options[] = {
+     { "help", no_argument, 0, CHAR_MAX + 1 },
+--- groff-1.18.1.1.orig/src/devices/grops/ps.cc
++++ groff-1.18.1.1/src/devices/grops/ps.cc
+@@ -24,6 +24,7 @@
+ #include "cset.h"
+ #include "nonposix.h"
+ #include "paper.h"
++#include "encoding.h"
+ #include "ps.h"
+ #include <time.h>
+@@ -193,12 +194,23 @@
+   return *this;
+ }
++#ifdef ENABLE_MULTIBYTE
++ps_output &ps_output::put_string(const wchar *s, int n)
++#else
+ ps_output &ps_output::put_string(const char *s, int n)
++#endif
+ {
+   int len = 0;
+   int i;
+   for (i = 0; i < n; i++) {
++#ifdef ENABLE_MULTIBYTE
++    wchar wc = s[i];
++    char c = 0;
++    if (is_wchar_singlebyte(wc))
++      c = wchar_singlebyte(wc);
++#else
+     char c = s[i];
++#endif
+     if (is_ascii(c) && csprint(c)) {
+       if (c == '(' || c == ')' || c == '\\')
+       len += 2;
+@@ -224,8 +236,13 @@
+       putc('\n', fp);
+       col = 0;
+       }
++#ifdef        ENABLE_MULTIBYTE
++      int nb = output_encoding->put_wchar(s[i], fp, "%02x");
++      col += nb * 2;
++#else
+       fprintf(fp, "%02x", s[i] & 0377);
+       col += 2;
++#endif
+     }
+     putc('>', fp);
+     col++;
+@@ -396,6 +413,9 @@
+   int encoding_index;
+   char *encoding;
+   char *reencoded_name;
++#ifdef ENABLE_MULTIBYTE
++  char *encodingname;
++#endif
+   ~ps_font();
+   void handle_unknown_font_command(const char *command, const char *arg,
+                                  const char *filename, int lineno);
+@@ -414,6 +434,9 @@
+ ps_font::ps_font(const char *nm)
+ : font(nm), encoding_index(-1), encoding(0), reencoded_name(0)
++#ifdef ENABLE_MULTIBYTE
++  , encodingname(0)
++#endif
+ {
+ }
+@@ -421,6 +444,9 @@
+ {
+   a_delete encoding;
+   a_delete reencoded_name;
++#ifdef ENABLE_MULTIBYTE
++  a_delete encodingname;
++#endif
+ }
+ void ps_font::handle_unknown_font_command(const char *command, const char *arg,
+@@ -433,6 +459,15 @@
+     else
+       encoding = strsave(arg);
+   }
++#ifdef ENABLE_MULTIBYTE
++  if (strcmp(command, "encodingname") == 0) {
++    if (arg == 0)
++      error_with_file_and_line(filename, lineno,
++                             "`encodingname' command requires an argument");
++    else
++      encodingname = strsave(arg);
++  }
++#endif
+ }
+ static void handle_unknown_desc_command(const char *command, const char *arg,
+@@ -487,7 +522,11 @@
+   int paper_length;
+   int equalise_spaces;
+   enum { SBUF_SIZE = 256 };
++#ifdef        ENABLE_MULTIBYTE
++  wchar sbuf[SBUF_SIZE];
++#else
+   char sbuf[SBUF_SIZE];
++#endif
+   int sbuf_len;
+   int sbuf_start_hpos;
+   int sbuf_vpos;
+@@ -606,7 +645,11 @@
+ {
+   if (i == space_char_index || invis_count > 0)
+     return;
++#ifdef        ENABLE_MULTIBYTE
++  wchar code = f->get_code(i);
++#else
+   unsigned char code = f->get_code(i);
++#endif
+   style sty(f, env->size, env->height, env->slant);
+   if (sty.slant != 0) {
+     if (sty.slant > 80 || sty.slant < -80) {
+@@ -763,6 +806,14 @@
+     if (sty == defined_styles[i]) {
+       sprintf(buf, "F%d", i);
+       out.put_symbol(buf);
++#ifdef ENABLE_MULTIBYTE
++      char *encodingname = ((ps_font *)sty.f)->encodingname;
++      if (encodingname != 0) {
++      select_output_encoding_handler(encodingname);
++      } else {
++      select_output_encoding_handler("LATIN1");
++      }
++#endif
+       return;
+     }
+   if (ndefined_styles >= MAX_DEFINED_STYLES)
+@@ -772,6 +823,14 @@
+   const char *psname = sty.f->get_internal_name();
+   if (psname == 0)
+     fatal("no internalname specified for font `%1'", sty.f->get_name());
++#ifdef ENABLE_MULTIBYTE
++  char *encodingname = ((ps_font *)sty.f)->encodingname;
++  if (encodingname != 0) {
++    select_output_encoding_handler(encodingname);
++  } else {
++    select_output_encoding_handler("LATIN1");
++  }
++#endif
+   char *encoding = ((ps_font *)sty.f)->encoding;
+   if (encoding != 0) {
+     char *s = ((ps_font *)sty.f)->reencoded_name;
+@@ -1555,6 +1614,7 @@
+   string env;
+   static char stderr_buf[BUFSIZ];
+   setbuf(stderr, stderr_buf);
++  init_encoding_handler();
+   int c;
+   static const struct option long_options[] = {
+     { "help", no_argument, 0, CHAR_MAX + 1 },
+--- groff-1.18.1.1.orig/src/devices/grops/ps.h
++++ groff-1.18.1.1/src/devices/grops/ps.h
+@@ -18,10 +18,16 @@
+ with groff; see the file COPYING.  If not, write to the Free Software
+ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++#include "encoding.h" // XXX
++
+ class ps_output {
+ public:
+   ps_output(FILE *, int max_line_length);
++#ifdef        ENABLE_MULTIBYTE
++  ps_output &put_string(const wchar *, int);
++#else
+   ps_output &put_string(const char *, int);
++#endif
+   ps_output &put_number(int);
+   ps_output &put_fix_number(int);
+   ps_output &put_float(double);
+--- groff-1.18.1.1.orig/src/devices/grohtml/html.h
++++ groff-1.18.1.1/src/devices/grohtml/html.h
+@@ -49,6 +49,9 @@
+ class simple_output {
+ public:
+   simple_output(FILE *, int max_line_length);
++#ifdef ENABLE_MULTIBYTE
++  simple_output &put_string(const wchar *, int);
++#endif
+   simple_output &put_string(const char *, int);
+   simple_output &put_string(const char *s);
+   simple_output &put_string(const string &s);
+--- groff-1.18.1.1.orig/src/devices/grohtml/post-html.cc
++++ groff-1.18.1.1/src/devices/grohtml/post-html.cc
+@@ -29,6 +29,7 @@
+ #include "html.h"
+ #include "html-text.h"
+ #include "html-table.h"
++#include "encoding.h" // XXX: ukai
+ #include <time.h>
+@@ -280,6 +281,9 @@
+ public:
+   char_buffer();
+   ~char_buffer();
++#ifdef ENABLE_MULTIBYTE
++  char  *add_string(const wchar *, unsigned int);
++#endif
+   char  *add_string(const char *, unsigned int);
+   char  *add_string(const string &);
+ private:
+@@ -301,6 +305,43 @@
+   }
+ }
++#ifdef ENABLE_MULTIBYTE
++char *char_buffer::add_string (const wchar *s, unsigned int length)
++{
++  int i=0;
++  unsigned int old_used;
++
++  if (tail == 0) {
++    tail = new char_block;
++    head = tail;
++  } else {
++    if (tail->used + length*2 + 1 > char_block::SIZE) {
++      tail->next = new char_block;
++      tail       = tail->next;
++    }
++  }
++  // at this point we have a tail which is ready for the string.
++  if (tail->used + length*2 + 1 > char_block::SIZE) {
++    fatal("need to increase char_block::SIZE");
++  }
++
++  old_used = tail->used;
++  do {
++    length -= output_encoding->put_wchar(s[i], (unsigned char *)tail->buffer, &tail->used, length*2);
++    i++;
++  } while (length>0);
++
++  // add terminating nul character
++
++  tail->buffer[tail->used] = '\0';
++  tail->used++;
++
++  // and return start of new string
++
++  return( &tail->buffer[old_used] );
++}
++#endif
++
+ char *char_buffer::add_string (const char *s, unsigned int length)
+ {
+   int i=0;
+@@ -320,6 +361,7 @@
+   }
+   old_used = tail->used;
++  /* XXX: encoding - ukai */
+   do {
+     tail->buffer[tail->used] = s[i];
+     tail->used++;
+@@ -1917,6 +1959,15 @@
+     current_paragraph->do_para(&html, "", indentation, pageoffset, linelength);
+   }
++#if 0 // def ENABLE_MULTIBYTE /* XXX */
++  else if (strcmp(fontname, "M") == 0) {
++    current_paragraph->done_bold();
++    current_paragraph->done_italic();
++    current_paragraph->done_tt();
++  } else if (strcmp(fontname, "G") == 0) {
++    current_paragraph->do_bold();
++  }
++#endif
+ }
+ void html_printer::determine_header_level (int level)
+@@ -2948,6 +2999,11 @@
+     current_paragraph->done_italic();
+     current_paragraph->done_tt();
+   }
++#ifdef ENABLE_MULTIBYTE
++  else if (strcmp(fontname, "G") == 0) {
++    current_paragraph->done_bold();
++  }
++#endif
+ }
+ /*
+@@ -2992,6 +3048,15 @@
+     current_paragraph->do_italic();
+     current_paragraph->do_bold();
+   }
++#ifdef ENABLE_MULTIBYTE
++  else if (strcmp(fontname, "M") == 0) {
++    current_paragraph->done_bold();
++    current_paragraph->done_italic();
++    current_paragraph->done_tt();
++  } else if (strcmp(fontname, "G") == 0) {
++    current_paragraph->do_bold();
++  }
++#endif
+ }
+ /*
+@@ -3331,7 +3396,23 @@
+   last_sbuf_length = sbuf.length();
+   if (html_glyph == NULL)
++#ifdef ENABLE_MULTIBYTE
++    {
++      if (is_wchar_code(code)) {
++      int mblen = output_encoding->max_wchar_len();
++      unsigned char *wbuf = new unsigned char[mblen];
++      int i = 0, j = 0;
++      output_encoding->put_wchar(code, wbuf, &j, mblen);
++      for (i = 0; i < j; i++) {
++        sbuf += wbuf[i];
++      }
++      }
++      else
++      sbuf += ((char)code);
++    }
++#else
+     sbuf += ((char)code);
++#endif
+   else
+     sbuf += html_glyph;
+ }
+@@ -3445,12 +3526,12 @@
+     return;
+   
+   flush_sbuf();
++  sbuf_style = sty; /* XXX? */
+   add_to_sbuf(i, name);
+   sbuf_end_hpos = env->hpos + w;
+   sbuf_start_hpos = env->hpos;
+   sbuf_prev_hpos = env->hpos;
+   sbuf_vpos = env->vpos;
+-  sbuf_style = sty;
+   sbuf_kern = 0;
+ }
+@@ -3659,6 +3740,7 @@
+   program_name = argv[0];
+   static char stderr_buf[BUFSIZ];
+   setbuf(stderr, stderr_buf);
++  init_encoding_handler();
+   int c;
+   static const struct option long_options[] = {
+     { "help", no_argument, 0, CHAR_MAX + 1 },
+--- groff-1.18.1.1.orig/src/devices/grodvi/dvi.cc
++++ groff-1.18.1.1/src/devices/grodvi/dvi.cc
+@@ -21,6 +21,7 @@
+ #include "driver.h"
+ #include "nonposix.h"
++#include "encoding.h" 
+ extern "C" const char *Version_string;
+@@ -104,6 +105,9 @@
+ struct output_font {
+   dvi_font *f;
+   int point_size;
++#ifdef        ENABLE_MULTIBYTE
++  const char *sf;             // subfont name
++#endif
+   output_font() : f(0) { }
+ };
+@@ -121,6 +125,9 @@
+   output_font output_font_table[FONTS_MAX];
+   font *cur_font;
+   int cur_point_size;
++#ifdef ENABLE_MULTIBYTE
++  const char *cur_subfont;
++#endif
+   color cur_color;
+   int pushed;
+   int pushed_h;
+@@ -341,9 +348,18 @@
+   if (*env->col != cur_color)
+     set_color(env->col);
+   int code = f->get_code(index);
++#ifdef ENABLE_MULTIBYTE
++  const char *sf = f->get_subfont_name(index);
++  if (env->size != cur_point_size || f != cur_font ||
++     (sf != cur_subfont && strcmp(sf, cur_subfont))) {
++#else
+   if (env->size != cur_point_size || f != cur_font) {
++#endif
+     cur_font = f;
+     cur_point_size = env->size;
++#ifdef ENABLE_MULTIBYTE
++    cur_subfont = sf;
++#endif
+     int i;
+     for (i = 0;; i++) {
+       if (i >= FONTS_MAX) {
+@@ -352,9 +368,16 @@
+       if (output_font_table[i].f == 0) {
+       output_font_table[i].f = (dvi_font *)cur_font;
+       output_font_table[i].point_size = cur_point_size;
++#ifdef        ENABLE_MULTIBYTE
++      output_font_table[i].sf = cur_subfont;
++#endif
+       define_font(i);
+       }
+       if (output_font_table[i].f == cur_font
++#ifdef        ENABLE_MULTIBYTE
++        && (output_font_table[i].sf == cur_subfont ||
++            strcmp(output_font_table[i].sf, cur_subfont) == 0)
++#endif
+         && output_font_table[i].point_size == cur_point_size)
+       break;
+     }
+@@ -398,7 +421,13 @@
+   out4(f->checksum);
+   out4(output_font_table[i].point_size*RES_7227);
+   out4(int((double(f->design_size)/(1<<20))*RES_7227*100 + .5));
++#ifdef        ENABLE_MULTIBYTE
++  const char *nm;
++  if (!(nm = output_font_table[i].sf))
++    nm = f->get_internal_name();
++#else
+   const char *nm = f->get_internal_name();
++#endif
+   out1(0);
+   out_string(nm);
+ }
+@@ -889,6 +918,7 @@
+   program_name = argv[0];
+   static char stderr_buf[BUFSIZ];
+   setbuf(stderr, stderr_buf);
++  init_encoding_handler();
+   int c;
+   static const struct option long_options[] = {
+     { "help", no_argument, 0, CHAR_MAX + 1 },
+--- groff-1.18.1.1.orig/src/xditview/encoding.h
++++ groff-1.18.1.1/src/xditview/encoding.h
+@@ -0,0 +1,31 @@
++// -*- C++ -*-
++/* Copyright (c) 2001 Fumitoshi UKAI <ukai@debian.or.jp>
++
++This file is part of groff.
++
++groff 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.
++
++groff 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; if not, write to the Free Software
++Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
++
++#ifndef ENCODING_H
++#define ENCODING_H
++
++#include "config.h"
++
++#ifdef ENABLE_MULTIBYTE
++typedef unsigned int wchar;
++#else
++typedef char wchar;
++#endif
++
++#endif
+--- groff-1.18.1.1.orig/src/xditview/lex.c
++++ groff-1.18.1.1/src/xditview/lex.c
+@@ -2,8 +2,10 @@
+ #include <X11/IntrinsicP.h>
+ #include <X11/StringDefs.h>
+ #include <stdio.h>
++#include "config.h"
+ #include "DviP.h"
++int
+ DviGetAndPut(dw, cp)
+     DviWidget dw;
+     int               *cp;
+@@ -67,6 +69,7 @@
+       return Buffer;
+ } 
++int
+ GetNumber(dw)
+       DviWidget       dw;
+ {
+@@ -90,6 +93,98 @@
+               DviUngetC(dw, c);
+       return i;
+ }
++
++#ifdef ENABLE_MULTIBYTE
++#include <locale.h>
++#include <langinfo.h>
++#include <iconv.h>
++#include <errno.h>
++
++static iconv_t icd;
++void
++DviInitLocale()
++{
++      char *enc;
++      setlocale(LC_ALL, "");
++      enc = nl_langinfo(CODESET);
++      icd = iconv_open("UCS-2BE", enc);
++}
++
++int
++DviGetCharacter(dw, cp)
++      DviWidget       dw;
++      char   *cp;
++{
++      char inbuf[8];
++      char outbuf[8];
++      char *inp, *outp;
++      size_t inbytesleft, outbytesleft = 8;
++      int i = 0;
++      int j;
++      int wc = 0;
++      int c;
++      size_t r;
++
++      while (wc == 0) {
++              DviGetC(dw, &c);
++              if (c == EOF)
++                      return EOF;
++              inbuf[i++] = c;
++              inbytesleft = i;
++              outbytesleft = BUFSIZ;
++              inp = inbuf;
++              outp = outbuf;
++              r = iconv(icd, &inp, &inbytesleft, &outp, &outbytesleft);
++              if (r == (size_t)-1) {
++                      if (errno == EILSEQ) {
++                              /* illegal sequence */
++                      } else if (errno == EINVAL) {
++                              /* incomplete sequence */
++                              continue;
++                      } else if (errno == E2BIG) {
++                              /* no room to output? */
++                              
++                      }
++                      DviUngetC(dw, c);
++              }
++              /* ok - pass inbuf to cp */
++              for (j = 0; j < i; j++) {
++                      cp[j] = inbuf[j];
++              }
++              cp[j] = '\0';
++              return i;
++      }
++      /* NOT REACHED */
++}
++
++int
++DviWCharP(char *name, int *wc)
++{
++      char outbuf[BUFSIZ];
++      char *inp, *outp;
++      int inbytesleft, outbytesleft;
++      size_t r;
++      *wc = 0;
++      inp = name;
++      inbytesleft = strlen(name);
++      outp = outbuf;
++      outbytesleft = sizeof(outbuf)-1;
++      r = iconv(icd, &inp, &inbytesleft, &outp, &outbytesleft);
++      if (r < 0) {
++              return 0;
++      }
++      /* UCS-2 check */
++      if (outbuf + 2 != outp) {
++              return 0;
++      }
++      for (inp = outbuf; inp < outp; inp++) {
++              *wc <<= 8;
++              *wc |= (*inp) & 0x0ff;
++      }
++      return 1;
++}
++
++#endif
+       
+ /*
+ Local Variables:
+--- groff-1.18.1.1.orig/src/xditview/Dvi.c
++++ groff-1.18.1.1/src/xditview/Dvi.c
+@@ -4,6 +4,8 @@
+ #endif /* lint */
+ #endif /* SABER */
++#include "config.h"
++
+ /*
+  * Dvi.c - Dvi display widget
+  *
+@@ -49,6 +51,8 @@
+ NBI   -adobe-new century schoolbook-bold-i-normal--*-100-*-*-*-*-iso8859-1\n\
+ S     -adobe-symbol-medium-r-normal--*-100-*-*-*-*-adobe-fontspecific\n\
+ SS    -adobe-symbol-medium-r-normal--*-100-*-*-*-*-adobe-fontspecific\n\
++M     -misc-fixed-medium-r-normal--*-100-*-*-*-*-jisx0208.1983-0\n\
++G     -misc-fixed-medium-r-normal--*-100-*-*-*-*-jisx0208.1983-0\
+ ";
+ #define offset(field) XtOffset(DviWidget, field)
+@@ -94,6 +98,20 @@
+ static void           SaveToFile ();
++/* font.c */
++extern void ParseFontMap();
++extern void DestroyFontMap();
++extern void ForgetFonts();
++
++/* page.c */
++extern void DestroyFileMap();
++extern int SearchPagePosition();
++extern void FileSeek();
++extern void ForgetPagePositions();
++
++/* parse.c */
++extern int ParseInput();
++
+ DviClassRec dviClassRec = {
+ {
+       &widgetClassRec,                /* superclass             */    
+@@ -406,6 +424,7 @@
+       return ret;
+ }
++void
+ SetDevice (dw, name)
+       DviWidget       dw;
+       char            *name;
+@@ -559,6 +578,9 @@
+       DviWidgetClass super = (DviWidgetClass) wc->core_class.superclass;
+       if (wc->command_class.save == InheritSaveToFile)
+               wc->command_class.save = super->command_class.save;
++#ifdef ENABLE_MULTIBYTE
++      DviInitLocale();
++#endif
+ }
+       
+ /*
+--- groff-1.18.1.1.orig/src/xditview/parse.c
++++ groff-1.18.1.1/src/xditview/parse.c
+@@ -9,15 +9,49 @@
+ #include <X11/StringDefs.h>
+ #include <stdio.h>
+ #include <ctype.h>
++#include "config.h"
+ #include "DviP.h"
++#include "encoding.h"
+ static int StopSeen = 0;
+-static ParseDrawFunction(), ParseDeviceControl();
+-static push_env(), pop_env();
++static void ParseDrawFunction(), ParseDeviceControl();
++static void push_env(), pop_env();
++
++/* draw.c */
++extern int PutCharacter();
++extern int PutNumberedCharacter();
++extern void HorizontalGoto();
++extern void Word();
++extern void VerticalGoto();
++extern void VerticalMove();
++extern void FlushCharCache();
++extern void Newline();
++extern void DrawLine();
++extern void DrawCircle();
++extern void DrawFilledCircle();
++extern void DrawEllipse();
++extern void DrawFilledEllipse();
++extern void DrawArc();
++extern void DrawPolygon();
++extern void DrawFilledPolygon();
++extern void DrawSpline();
++
++/* Dvi.c */
++extern void SetDevice();
++
++/* page.c */
++extern void RememberPagePosition();
++
++/* font.c */
++extern void SetFontPosition();
++
++/* lex.c */
++extern int GetNumber();
+ #define HorizontalMove(dw, delta)     ((dw)->dvi.state->x += (delta))
++int
+ ParseInput(dw)
+     register DviWidget        dw;
+ {
+@@ -57,11 +91,17 @@
+                                          DviGetC(dw,&otherc)-'0');
+                       /* fall through */
+               case 'c':       /* single ascii character */
++#ifdef ENABLE_MULTIBYTE
++                      DviGetCharacter(dw, Buffer);
++                      if (Buffer[0] == ' ')
++                          break;
++#else
+                       DviGetC(dw,&c);
+                       if (c == ' ')
+                           break;
+                       Buffer[0] = c;
+                       Buffer[1] = '\0';
++#endif
+                       (void) PutCharacter (dw, Buffer);
+                       break;
+               case 'C':
+@@ -69,10 +109,15 @@
+                       (void) PutCharacter (dw, Buffer);
+                       break;
+               case 't':
++#ifdef ENABLE_MULTIBYTE
++                      while (DviGetCharacter(dw, Buffer) != EOF
++                             && Buffer[0] != ' ' && Buffer[0] != '\n') {
++#else
+                       Buffer[1] = '\0';
+                       while (DviGetC (dw, &c) != EOF
+                              && c != ' ' && c != '\n') {
+                               Buffer[0] = c;
++#endif
+                               HorizontalMove (dw, PutCharacter (dw, Buffer));
+                       }
+                       break;
+@@ -158,7 +203,7 @@
+       }
+ }
+-static
++static void
+ push_env(dw)
+       DviWidget       dw;
+ {
+@@ -177,7 +222,7 @@
+       dw->dvi.state = new;
+ }
+-static
++static void
+ pop_env(dw)
+       DviWidget       dw;
+ {
+@@ -188,7 +233,7 @@
+       XtFree ((char *) old);
+ }
+-static
++static void
+ InitTypesetter (dw)
+       DviWidget       dw;
+ {
+@@ -200,7 +245,7 @@
+ #define DRAW_ARGS_MAX 128
+-static
++static void
+ ParseDrawFunction(dw, buf)
+ DviWidget     dw;
+ char          *buf;
+@@ -284,13 +329,12 @@
+       }
+ } 
+-static
++static void
+ ParseDeviceControl(dw)                                /* Parse the x commands */
+       DviWidget       dw;
+ {
+         char str[20], str1[50];
+       int c, n;
+-      extern int LastPage, CurrentPage;
+       GetWord (dw, str, 20);
+       switch (str[0]) {                       /* crude for now */
+--- groff-1.18.1.1.orig/src/xditview/DviChar.c
++++ groff-1.18.1.1/src/xditview/DviChar.c
+@@ -5,7 +5,10 @@
+  * font indexes and back
+  */
+-#include   "DviChar.h"
++#include <stdlib.h>
++#include "config.h"
++#include "DviChar.h"
++#include "encoding.h"
+ extern char *xmalloc();
+@@ -21,7 +24,7 @@
+ static int    standard_maps_loaded = 0;
+ static void   load_standard_maps ();
+ static int    hash_name ();
+-static                dispose_hash(), compute_hash();
++static void   dispose_hash(), compute_hash();
+ DviCharNameMap *
+ DviFindMap (encoding)
+@@ -58,7 +61,7 @@
+       compute_hash (map);
+ }
+-static
++static void
+ dispose_hash (map)
+       DviCharNameMap  *map;
+ {
+@@ -88,7 +91,7 @@
+       return i;
+ }
+-static
++static void
+ compute_hash (map)
+       DviCharNameMap  *map;
+ {
+@@ -120,7 +123,10 @@
+ {
+       int             i;
+       DviCharNameHash *h;
+-
++#ifdef ENABLE_MULTIBYTE
++      if (map->char_index)
++          return (*map->char_index)(map, name);
++#endif
+       i = hash_name (name) % DVI_HASH_SIZE;
+       for (h = map->buckets[i]; h; h=h->next)
+               if (!strcmp (h->name, name))
+@@ -128,9 +134,47 @@
+       return -1;
+ }
++#ifdef ENABLE_MULTIBYTE
++#include <X11/Xlib.h>
++void
++DviChar2XChar2b(int c, XChar2b *xc)
++{
++    /* XXX: can we assume 'c' is EUC-JP ? */
++      xc->byte1 = (c >> 8) & 0x7f;
++      xc->byte2 = (c) &0x7f;
++      return;
++}
++
++int
++DviCharIndexJISX0208_1983(map, name)
++      DviCharNameMap  *map;
++      char            *name;
++{
++    /* XXX: can we assume name points EUC-JP chars? */
++      unsigned char ub = *name, lb = *(name + 1);
++      int wc;
++      wc = (name[0] & 0xff) << 8;
++      wc |= (name[1] & 0xff);
++      return(wc);
++}
++
++static DviCharNameMap JISX0208_1983_0_map = {
++      "jisx0208.1983-0",
++      0,
++      DviChar2XChar2b,
++      DviCharIndexJISX0208_1983,
++{
++{     "DummyEntry",           /* 0 */},
++}};
++#endif
++
+ static DviCharNameMap ISO8859_1_map = {
+       "iso8859-1",
+       0,
++#ifdef ENABLE_MULTIBYTE
++      0,
++      0,
++#endif
+ {
+ {     0,                      /* 0 */},
+ {     0,                      /* 1 */},
+@@ -393,6 +437,10 @@
+ static DviCharNameMap Adobe_Symbol_map = {
+       "adobe-fontspecific",
+       1,
++#ifdef ENABLE_MULTIBYTE
++      0,
++      0,
++#endif
+ {
+ {     0,                                      /* 0 */},
+ {     0,                                      /* 1 */},
+@@ -659,4 +707,7 @@
+       standard_maps_loaded = 1;
+       DviRegisterMap (&ISO8859_1_map);
+       DviRegisterMap (&Adobe_Symbol_map);
++#ifdef ENABLE_MULTIBYTE
++      DviRegisterMap (&JISX0208_1983_0_map);
++#endif
+ }
+--- groff-1.18.1.1.orig/src/xditview/config.h
++++ groff-1.18.1.1/src/xditview/config.h
+@@ -0,0 +1,4 @@
++#ifndef _config_h
++#include "../include/config.h"
++#define _config_h
++#endif
+--- groff-1.18.1.1.orig/src/xditview/XFontName.c
++++ groff-1.18.1.1/src/xditview/XFontName.c
+@@ -225,6 +225,7 @@
+       return True;
+ }
++Bool
+ XCopyFontName (name1, name2, fontNameAttributes)
+       XFontName       *name1, *name2;
+       unsigned int    fontNameAttributes;
+--- groff-1.18.1.1.orig/src/xditview/GXditview.ad
++++ groff-1.18.1.1/src/xditview/GXditview.ad
+@@ -55,3 +55,25 @@
+ GXditview.promptShell.promptDialog.cancel.label: Cancel
+ GXditview.promptShell.promptDialog.cancel.translations: #override \
+       <BtnUp>:        Cancel() unset()
++
++GXditview*fontMap: \
++TR    -adobe-times-medium-r-normal--*-100-*-*-*-*-iso8859-1\n\
++TI    -adobe-times-medium-i-normal--*-100-*-*-*-*-iso8859-1\n\
++TB    -adobe-times-bold-r-normal--*-100-*-*-*-*-iso8859-1\n\
++TBI   -adobe-times-bold-i-normal--*-100-*-*-*-*-iso8859-1\n\
++CR    -adobe-courier-medium-r-normal--*-100-*-*-*-*-iso8859-1\n\
++CI    -adobe-courier-medium-o-normal--*-100-*-*-*-*-iso8859-1\n\
++CB    -adobe-courier-bold-r-normal--*-100-*-*-*-*-iso8859-1\n\
++CBI   -adobe-courier-bold-o-normal--*-100-*-*-*-*-iso8859-1\n\
++HR    -adobe-helvetica-medium-r-normal--*-100-*-*-*-*-iso8859-1\n\
++HI    -adobe-helvetica-medium-o-normal--*-100-*-*-*-*-iso8859-1\n\
++HB    -adobe-helvetica-bold-r-normal--*-100-*-*-*-*-iso8859-1\n\
++HBI   -adobe-helvetica-bold-o-normal--*-100-*-*-*-*-iso8859-1\n\
++NR    -adobe-new century schoolbook-medium-r-normal--*-100-*-*-*-*-iso8859-1\n\
++NI    -adobe-new century schoolbook-medium-i-normal--*-100-*-*-*-*-iso8859-1\n\
++NB    -adobe-new century schoolbook-bold-r-normal--*-100-*-*-*-*-iso8859-1\n\
++NBI   -adobe-new century schoolbook-bold-i-normal--*-100-*-*-*-*-iso8859-1\n\
++S     -adobe-symbol-medium-r-normal--*-100-*-*-*-*-adobe-fontspecific\n\
++SS    -adobe-symbol-medium-r-normal--*-100-*-*-*-*-adobe-fontspecific\n\
++M     -misc-fixed-medium-r-normal--*-100-*-*-*-*-jisx0208.1983-0\n\
++G     -misc-fixed-medium-r-normal--*-100-*-*-*-*-jisx0208.1983-0
+--- groff-1.18.1.1.orig/src/xditview/GXditview-ad.h
++++ groff-1.18.1.1/src/xditview/GXditview-ad.h
+@@ -50,3 +50,24 @@
+ "GXditview.promptShell.promptDialog.cancel.label: Cancel",
+ "GXditview.promptShell.promptDialog.cancel.translations: #override \
+       <BtnUp>:        Cancel() unset()",
++"GXditview*fontMap: \
++TR    -adobe-times-medium-r-normal--*-100-*-*-*-*-iso8859-1\\n\
++TI    -adobe-times-medium-i-normal--*-100-*-*-*-*-iso8859-1\\n\
++TB    -adobe-times-bold-r-normal--*-100-*-*-*-*-iso8859-1\\n\
++TBI   -adobe-times-bold-i-normal--*-100-*-*-*-*-iso8859-1\\n\
++CR    -adobe-courier-medium-r-normal--*-100-*-*-*-*-iso8859-1\\n\
++CI    -adobe-courier-medium-o-normal--*-100-*-*-*-*-iso8859-1\\n\
++CB    -adobe-courier-bold-r-normal--*-100-*-*-*-*-iso8859-1\\n\
++CBI   -adobe-courier-bold-o-normal--*-100-*-*-*-*-iso8859-1\\n\
++HR    -adobe-helvetica-medium-r-normal--*-100-*-*-*-*-iso8859-1\\n\
++HI    -adobe-helvetica-medium-o-normal--*-100-*-*-*-*-iso8859-1\\n\
++HB    -adobe-helvetica-bold-r-normal--*-100-*-*-*-*-iso8859-1\\n\
++HBI   -adobe-helvetica-bold-o-normal--*-100-*-*-*-*-iso8859-1\\n\
++NR    -adobe-new century schoolbook-medium-r-normal--*-100-*-*-*-*-iso8859-1\\n\
++NI    -adobe-new century schoolbook-medium-i-normal--*-100-*-*-*-*-iso8859-1\\n\
++NB    -adobe-new century schoolbook-bold-r-normal--*-100-*-*-*-*-iso8859-1\\n\
++NBI   -adobe-new century schoolbook-bold-i-normal--*-100-*-*-*-*-iso8859-1\\n\
++S     -adobe-symbol-medium-r-normal--*-100-*-*-*-*-adobe-fontspecific\\n\
++SS    -adobe-symbol-medium-r-normal--*-100-*-*-*-*-adobe-fontspecific\\n\
++M     -misc-fixed-medium-r-normal--*-100-*-*-*-*-jisx0208.1983-0\\n\
++G     -misc-fixed-medium-r-normal--*-100-*-*-*-*-jisx0208.1983-0",
+--- groff-1.18.1.1.orig/src/xditview/DviP.h
++++ groff-1.18.1.1/src/xditview/DviP.h
+@@ -8,6 +8,7 @@
+ #ifndef _XtDviP_h
+ #define _XtDviP_h
++#include "config.h"
+ #include "Dvi.h"
+ #include "DviChar.h"
+@@ -89,9 +90,17 @@
+ #define DVI_CHAR_CACHE_SIZE   1024
+ typedef struct _dviCharCache {
++#ifdef ENABLE_MULTIBYTE
++      XTextItem16     cache[DVI_TEXT_CACHE_SIZE];
++#else
+       XTextItem       cache[DVI_TEXT_CACHE_SIZE];
++#endif
+       char            adjustable[DVI_TEXT_CACHE_SIZE];
++#ifdef ENABLE_MULTIBYTE
++      XChar2b         char_cache[DVI_CHAR_CACHE_SIZE];
++#else
+       char            char_cache[DVI_CHAR_CACHE_SIZE];
++#endif
+       int             index;
+       int             max;
+       int             char_index;
+@@ -182,6 +191,7 @@
+       int             word_flag;
+ } DviPart;
++extern int DviGetAndPut();
+ #define DviGetIn(dw,cp)\
+     (dw->dvi.tmpFile ? (\
+       DviGetAndPut (dw, cp) \
+@@ -228,6 +238,11 @@
+ extern DeviceFont     *QueryDeviceFont ();
+ extern char *GetWord(), *GetLine();
++
++#ifdef ENABLE_MULTIBYTE
++extern void DviInitLocale();
++extern int DviGEtCharacter();
++#endif
+ #endif /* _XtDviP_h */
+--- groff-1.18.1.1.orig/src/xditview/device.c
++++ groff-1.18.1.1/src/xditview/device.c
+@@ -2,10 +2,12 @@
+ #include <stdio.h>
+ #include <ctype.h>
++#include <stdlib.h>
+ #include <X11/Xos.h>
+ #include <X11/Intrinsic.h>
++#include "config.h"
+ #include "device.h"
+ #ifndef FONTPATH
+@@ -48,6 +50,9 @@
+     Device *dev;
+     struct charinfo *char_table[CHAR_TABLE_SIZE];
+     struct charinfo *code_table[256];
++#ifdef ENABLE_MULTIBYTE
++    struct charrange *range;
++#endif
+ };
+ struct charinfo {
+@@ -71,6 +76,15 @@
+ static struct charinfo *add_char();
+ static int read_charset_section();
+ static char *canonicalize_name();
++#ifdef ENABLE_MULTIBYTE
++struct charrange {
++      struct charrange *next;
++      int width;
++      int start_code;
++      int end_code;
++};
++static void add_charrange();
++#endif
+ static
+ Device *new_device(name)
+@@ -256,6 +270,9 @@
+       f->char_table[i] = 0;
+     for (i = 0; i < 256; i++)
+       f->code_table[i] = 0;
++#ifdef ENABLE_MULTIBYTE
++    f->range = 0;
++#endif
+     return f;
+ }
+@@ -267,6 +284,15 @@
+     if (!f)
+       return;
++#ifdef ENABLE_MULTIBYTE
++    {
++      struct charrange *cp, *cp2;
++      for (cp = f->range; cp != NULL; cp = cp2) {
++              cp2 = cp->next;
++              XtFree((char *)cp);
++      }
++    }
++#endif
+     XtFree(f->name);
+     for (i = 0; i < CHAR_TABLE_SIZE; i++) {
+       struct charinfo *ptr = f->char_table[i];
+@@ -342,6 +368,20 @@
+ {
+     struct charinfo *p;
++#ifdef ENABLE_MULTIBYTE
++    int wc;
++    extern DviWCharP();
++    if (DviWCharP(name, &wc)) {
++          struct charrange *rp;
++          for (rp = f->range; rp != NULL; rp = rp->next) {
++                  if (rp->start_code <= wc && wc <= rp->end_code) {
++                          *widthp = scale_round(rp->width, ps, 
++                                                f->dev->unitwidth);
++                          return 1;
++                  }
++          }
++    }
++#endif
+     name = canonicalize_name(name);
+     for (p = f->char_table[hash_name(name) % CHAR_TABLE_SIZE];; p = p->next) {
+       if (!p)
+@@ -424,6 +464,22 @@
+     return ci;
+ }
++#ifdef ENABLE_MULTIBYTE
++static void
++add_charrange(f, width, start_code, end_code)
++    DeviceFont *f;
++    int width, start_code, end_code;
++{
++      struct charrange *ci;
++      ci = (struct charrange *)XtMalloc(sizeof(struct charrange));
++      ci->start_code = start_code;
++      ci->end_code = end_code;
++      ci->width = width;
++      ci->next = f->range;
++      f->range = ci;
++}
++#endif
++
+ /* Return non-zero for success. */
+ static
+@@ -439,11 +495,31 @@
+       int width;
+       int code;
+       char *p;
++#ifdef ENABLE_MULTIBYTE
++      int scode, ecode;
++#endif
+       current_lineno++;
+       name = strtok(buf, WS);
+       if (!name)
+           continue;           /* ignore blank lines */
++#ifdef ENABLE_MULTIBYTE
++      if (sscanf(name, "u%X..u%X", &scode, &ecode) == 2) {
++              p = strtok((char *)0, WS);
++              if (!p)
++                      break;
++              if (sscanf(p, "%d", &width) != 1) {
++                      error("bad width field");
++                      return 0;
++              }
++              p = strtok((char *)0, WS);
++              if (!p) {
++                      error("missing type field");
++                      return 0;
++              }
++              add_charrange(f, width, scode, ecode); 
++      } else {
++#endif
+       p = strtok((char *)0, WS);
+       if (!p)                 /* end of charset section */
+           break;
+@@ -479,6 +555,9 @@
+           }
+           last_charinfo = add_char(f, name, width, code);
+       }
++#ifdef ENABLE_MULTIBYTE
++      }
++#endif
+     }
+     return 1;
+ }
+@@ -559,7 +638,7 @@
+ FILE *open_device_file(device_name, file_name, result)
+      char *device_name, *file_name, **result;
+ {
+-  char *buf, *path;
++  char *buf;
+   FILE *fp;
+   buf = XtMalloc(3 + strlen(device_name) + 1 + strlen(file_name) + 1);
+--- groff-1.18.1.1.orig/src/xditview/page.c
++++ groff-1.18.1.1/src/xditview/page.c
+@@ -28,6 +28,7 @@
+       return m;
+ }
++void
+ DestroyFileMap (m)
+       DviFileMap      *m;
+ {
+@@ -39,6 +40,7 @@
+       }
+ }
++void
+ ForgetPagePositions (dw)
+       DviWidget       dw;
+ {
+@@ -46,6 +48,7 @@
+       dw->dvi.file_map = 0;
+ }
++void
+ RememberPagePosition(dw, number)
+       DviWidget       dw;
+       int             number;
+@@ -64,6 +67,7 @@
+               m->position = ftell (dw->dvi.file);
+ }
++int
+ SearchPagePosition (dw, number)
+       DviWidget       dw;
+       int             number;
+@@ -75,6 +79,7 @@
+       return m->position;
+ }
++void
+ FileSeek(dw, position)
+ DviWidget     dw;
+ long          position;
+--- groff-1.18.1.1.orig/src/xditview/FontMap.jisx0208
++++ groff-1.18.1.1/src/xditview/FontMap.jisx0208
+@@ -0,0 +1,2 @@
++M     -misc-fixed-medium-r-normal--*-100-*-*-*-*-jisx0208.1983-0
++G     -misc-fixed-medium-r-normal--*-100-*-*-*-*-jisx0208.1983-0
+--- groff-1.18.1.1.orig/src/xditview/xditview.c
++++ groff-1.18.1.1/src/xditview/xditview.c
+@@ -46,6 +46,7 @@
+ #include <X11/Xaw/SimpleMenu.h>
+ #include <X11/Xaw/SmeBSB.h>
++#include <stdlib.h>
+ #include <signal.h>
+ #include "Dvi.h"
+@@ -101,7 +102,7 @@
+  * Report the syntax for calling xditview.
+  */
+-static
++static void
+ Syntax(call)
+       char *call;
+ {
+@@ -126,12 +127,12 @@
+     char    *name;
+     void    (*function)();
+ } menuEntries[] = {
+-    "nextPage",           NextPage,
+-    "previousPage", PreviousPage,
+-    "selectPage",   SelectPage,
+-    "print",      Print,
+-    "openFile",           OpenFile,
+-    "quit",       Quit,
++    {"nextPage",    NextPage},
++    {"previousPage",PreviousPage},
++    {"selectPage",  SelectPage},
++    {"print",     Print},
++    {"openFile",    OpenFile},
++    {"quit",      Quit},
+ };
+ static void   NextPageAction(), PreviousPageAction(), SelectPageAction();
+@@ -139,17 +140,18 @@
+ static void   AcceptAction(), CancelAction();
+ static void   PrintAction();
+ static void   RerasterizeAction();
++static void     MakePrompt();
+ XtActionsRec xditview_actions[] = {
+-    "NextPage",           NextPageAction,
+-    "PreviousPage", PreviousPageAction,
+-    "SelectPage",   SelectPageAction,
+-    "Print",      PrintAction,
+-    "OpenFile",           OpenFileAction,
+-    "Rerasterize",  RerasterizeAction,
+-    "Quit",       QuitAction,
+-    "Accept",     AcceptAction,
+-    "Cancel",     CancelAction,
++    {"NextPage",     NextPageAction},
++    {"PreviousPage", PreviousPageAction},
++    {"SelectPage",   SelectPageAction},
++    {"Print",      PrintAction},
++    {"OpenFile",     OpenFileAction},
++    {"Rerasterize",  RerasterizeAction},
++    {"Quit",       QuitAction},
++    {"Accept",             AcceptAction},
++    {"Cancel",             CancelAction},
+ };
+ #define MenuNextPage          0
+@@ -318,6 +320,7 @@
+ static char fileBuf[1024];
++static void
+ ResetMenuEntry (entry)
+     Widget  entry;
+ {
+@@ -516,6 +519,7 @@
+     CancelAction (widget, event, params, num_params);
+ }
++static void
+ MakePrompt(centerw, prompt, func, def)
+ Widget        centerw;
+ char *prompt;
+--- groff-1.18.1.1.orig/src/xditview/xtotroff.c
++++ groff-1.18.1.1/src/xditview/xtotroff.c
+@@ -2,6 +2,7 @@
+  * xtotroff
+  *
+  * convert X font metrics into troff font metrics
++ * XXX: ENABLE_MULTIBYTE may not work yet
+  */
+ #include      <X11/Xlib.h>
+@@ -10,6 +11,7 @@
+ #include      <unistd.h>
+ #include      <stdlib.h>
+ #include      <fcntl.h>
++#include      "config.h"
+ #include      "XFontName.h"
+ #include      "DviChar.h"
+@@ -171,6 +173,47 @@
+                       fprintf (out, "spacewidth %d\n", w);
+       }
+       fprintf (out, "charset\n");
++#if 0 /* def  ENABLE_MULTIBYTE */
++      if (fi->min_byte1 != 0 || fi->max_byte1 != 0) {
++              /*
++               * 2 byte code font.
++               */
++              int N;
++              int D = fi->max_char_or_byte2 - fi->min_char_or_byte2 + 1;
++              int max = (fi->max_byte1 - fi->min_byte1 + 1) *
++                      (fi->max_char_or_byte2 - fi->min_char_or_byte2 + 1);
++              unsigned byte1;
++              unsigned byte2;
++              unsigned int euc_code;
++
++              for (N = 0; N < max; N++) {
++                      byte1 = N / D + fi->min_byte1;
++                      byte2 = N % D + fi->min_char_or_byte2;
++                      euc_code = ((byte1 << 8) | byte2) & 0xffff | 0x8080;
++                      wid = fi->max_bounds.width;
++                      fputc(byte1 & 0xff | 0x80, out);/* output EUC code */
++                      fputc(byte2 & 0xff | 0x80, out);/* output EUC code */
++                      fprintf (out, "\t%d", wid);
++                      if (groff_flag) {
++                              int     param[5];
++                              param[0] = fi->max_bounds.ascent;
++                              param[1] = fi->max_bounds.descent;
++                              param[2] = 0 /* charRBearing (fi, c) - wid */;
++                              param[3] = 0 /* charLBearing (fi, c) */;
++                              param[4] = 0; /* XXX */
++                              for (j = 0; j < 5; j++)
++                                      if (param[j] < 0)
++                                              param[j] = 0;
++                              for (j = 4; j >= 0; j--)
++                                      if (param[j] != 0)
++                                              break;
++                              for (k = 0; k <= j; k++)
++                                      fprintf (out, ",%d", param[k]);
++                      }
++                      fprintf (out, "\t0\t%#x\n", euc_code);
++              }
++      } else
++#endif /* ENABLE_MULTIBYTE */
+       for (c = fi->min_char_or_byte2; c <= fi->max_char_or_byte2; c++) {
+               char *name = DviCharName (char_map,c,0);
+               if (charExists (fi, c) && (groff_flag || name)) {
+--- groff-1.18.1.1.orig/src/xditview/DviChar.h
++++ groff-1.18.1.1/src/xditview/DviChar.h
+@@ -10,6 +10,8 @@
+  * CharSetRegistry from the CharSetEncoding
+  */
++#include "config.h"
++
+ # define DVI_MAX_SYNONYMS     10
+ # define DVI_MAP_SIZE         256
+ # define DVI_HASH_SIZE                256
+@@ -23,6 +25,10 @@
+ typedef struct _dviCharNameMap {
+     char              *encoding;
+     int                       special;
++#ifdef ENABLE_MULTIBYTE
++    void (*char2XChar2b)(/* int c, XChar2b *xc */);
++    int (*char_index)(/* struct _dviCharNameMap *map, char *name */);
++#endif
+     char              *dvi_names[DVI_MAP_SIZE][DVI_MAX_SYNONYMS];
+     DviCharNameHash   *buckets[DVI_HASH_SIZE];
+ } DviCharNameMap;
+--- groff-1.18.1.1.orig/src/xditview/draw.c
++++ groff-1.18.1.1/src/xditview/draw.c
+@@ -10,6 +10,7 @@
+ #include <stdio.h>
+ #include <ctype.h>
+ #include <math.h>
++#include "config.h"
+ /* math.h on a Sequent doesn't define M_PI, apparently */
+ #ifndef M_PI
+@@ -17,6 +18,7 @@
+ #endif
+ #include "DviP.h"
++#include "encoding.h" /* XXX */
+ #define DeviceToX(dw, n) ((int)((n) * (dw)->dvi.scale_factor + .5))
+ #define XPos(dw) (DeviceToX((dw), (dw)->dvi.state->x - \
+@@ -25,6 +27,10 @@
+ static int FakeCharacter();
++/* font.c */
++extern int MaxFontPosition();
++
++void
+ HorizontalMove(dw, delta)
+       DviWidget       dw;
+       int             delta;
+@@ -32,6 +38,7 @@
+       dw->dvi.state->x += delta;
+ }
++void
+ HorizontalGoto(dw, NewPosition)
+       DviWidget       dw;
+       int             NewPosition;
+@@ -39,6 +46,7 @@
+       dw->dvi.state->x = NewPosition;
+ }
++void
+ VerticalMove(dw, delta)
+       DviWidget       dw;
+       int             delta;
+@@ -46,6 +54,7 @@
+       dw->dvi.state->y += delta;
+ }
++void
+ VerticalGoto(dw, NewPosition)
+       DviWidget       dw;
+       int             NewPosition;
+@@ -53,6 +62,7 @@
+       dw->dvi.state->y = NewPosition;
+ }
++void
+ AdjustCacheDeltas (dw)
+       DviWidget       dw;
+ {
+@@ -94,14 +104,21 @@
+               }
+ }
++void
+ FlushCharCache (dw)
+       DviWidget       dw;
+ {
+       if (dw->dvi.cache.char_index != 0) {
+               AdjustCacheDeltas (dw);
++#ifdef ENABLE_MULTIBYTE
++              XDrawText16 (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC,
++                         dw->dvi.cache.start_x, dw->dvi.cache.start_y,
++                         dw->dvi.cache.cache, dw->dvi.cache.index + 1);
++#else
+               XDrawText (XtDisplay (dw), XtWindow (dw), dw->dvi.normal_GC,
+                          dw->dvi.cache.start_x, dw->dvi.cache.start_y,
+                          dw->dvi.cache.cache, dw->dvi.cache.index + 1);
++#endif
+       }       
+       dw->dvi.cache.index = 0;
+       dw->dvi.cache.max = DVI_TEXT_CACHE_SIZE;
+@@ -115,6 +132,7 @@
+       dw->dvi.cache.start_y = dw->dvi.cache.y = YPos (dw);
+ }
++void
+ Newline (dw)
+       DviWidget       dw;
+ {
+@@ -123,6 +141,7 @@
+       dw->dvi.word_flag = 0;
+ }
++void
+ Word (dw)
+       DviWidget       dw;
+ {
+@@ -135,7 +154,6 @@
+     :\
+       (fi)->max_bounds.width\
+ )
+- 
+ static
+ int charExists (fi, c)
+@@ -152,14 +170,25 @@
+               || p->ascent != 0 || p->descent != 0 || p->attributes != 0);
+ }
+-static
++static void
++#ifdef ENABLE_MULTIBYTE
++DoCharacter (dw, c, wid, char2xchar2b)
++#else
+ DoCharacter (dw, c, wid)
++#endif
+       DviWidget dw;
+       int c;
+       int wid;    /* width in device units */
++#ifdef ENABLE_MULTIBYTE
++      void (*char2xchar2b)();
++#endif
+ {
+       register XFontStruct    *font;
++#ifdef ENABLE_MULTIBYTE
++      register XTextItem16    *text;
++#else
+       register XTextItem      *text;
++#endif
+       int     x, y;
+       
+       x = XPos(dw);
+@@ -225,9 +254,25 @@
+                       text->font = None;
+               dw->dvi.cache.x += text->delta;
+       }
++#ifdef ENABLE_MULTIBYTE
++      if (charExists(font, c) || char2xchar2b) {
++#else
+       if (charExists(font, c)) {
++#endif
+               int w;
++#ifdef ENABLE_MULTIBYTE
++              if (char2xchar2b) {
++                  (*char2xchar2b)(c,
++                                  &dw->dvi.cache.char_cache[dw->dvi.cache.char_index++]);
++              } else {
++                      dw->dvi.cache.char_cache[dw->dvi.cache.char_index].
++                              byte1 = (unsigned char)'\0';
++                      dw->dvi.cache.char_cache[dw->dvi.cache.char_index++].
++                              byte2 = (unsigned char)c;
++              }
++#else
+               dw->dvi.cache.char_cache[dw->dvi.cache.char_index++] = (char) c;
++#endif
+               ++text->nchars;
+               w = charWidth(font, c);
+               dw->dvi.cache.x += w;
+@@ -291,7 +336,11 @@
+       if (map)
+               c = DviCharIndex (map, buf);
+       if (c >= 0)
++#ifdef ENABLE_MULTIBYTE
++              DoCharacter (dw, c, wid, map->char2XChar2b);
++#else
+               DoCharacter (dw, c, wid);
++#endif
+       else
+               (void) FakeCharacter (dw, buf, wid);
+       dw->dvi.state->font_number = prevFont;
+@@ -345,6 +394,7 @@
+       return 1;
+ }
++void
+ PutNumberedCharacter (dw, c)
+       DviWidget dw;
+       int c;
+@@ -368,7 +418,11 @@
+                                  dw->dvi.state->font_size, c, &wid))
+               return;
+       if (dw->dvi.native) {
++#ifdef ENABLE_MULTIBYTE
++              DoCharacter (dw, c, wid, NULL);
++#else
+               DoCharacter (dw, c, wid);
++#endif
+               return;
+       }
+       map = QueryFontMap (dw, dw->dvi.state->font_number);
+@@ -379,7 +433,11 @@
+            name = device_name_for_code ((DeviceFont *)0, c)) {
+               int code = DviCharIndex (map, name);
+               if (code >= 0) {
++#ifdef ENABLE_MULTIBYTE
++                      DoCharacter (dw, code, wid, map->char2XChar2b);
++#else
+                       DoCharacter (dw, code, wid);
++#endif
+                       break;
+               }
+               if (FakeCharacter (dw, name, wid))
+@@ -387,13 +445,14 @@
+       }
+ }
++void
+ ClearPage (dw)
+       DviWidget       dw;
+ {
+       XClearWindow (XtDisplay (dw), XtWindow (dw));
+ }
+-static
++static void
+ setGC (dw)
+       DviWidget       dw;
+ {
+@@ -417,7 +476,7 @@
+       }
+ }
+-static
++static void
+ setFillGC (dw)
+       DviWidget       dw;
+ {
+@@ -444,6 +503,7 @@
+       }
+ }
++void
+ DrawLine (dw, x, y)
+       DviWidget       dw;
+       int             x, y;
+@@ -459,6 +519,7 @@
+                  xp + DeviceToX (dw, x), yp + DeviceToX (dw, y));
+ }
++void
+ DrawCircle (dw, diam)
+       DviWidget       dw;
+       int             diam;
+@@ -473,6 +534,7 @@
+                 d, d, 0, 64*360);
+ }
++void
+ DrawFilledCircle (dw, diam)
+       DviWidget       dw;
+       int             diam;
+@@ -490,6 +552,7 @@
+                 d, d, 0, 64*360);
+ }
++void
+ DrawEllipse (dw, a, b)
+       DviWidget       dw;
+       int             a, b;
+@@ -501,6 +564,7 @@
+                 DeviceToX (dw, a), DeviceToX (dw, b), 0, 64*360);
+ }
++void
+ DrawFilledEllipse (dw, a, b)
+       DviWidget       dw;
+       int             a, b;
+@@ -515,6 +579,7 @@
+                 DeviceToX (dw, a), DeviceToX (dw, b), 0, 64*360);
+ }
++void
+ DrawArc (dw, x0, y0, x1, y1)
+       DviWidget       dw;
+       int             x0, y0, x1, y1;
+@@ -541,6 +606,7 @@
+                 rad*2, rad*2, angle1, angle2);
+ }
++void
+ DrawPolygon (dw, v, n)
+       DviWidget       dw;
+       int             *v;
+@@ -572,7 +638,7 @@
+       XtFree((char *)p);
+ }
+-
++void
+ DrawFilledPolygon (dw, v, n)
+       DviWidget       dw;
+       int             *v;
+@@ -608,7 +674,7 @@
+ #define POINTS_MAX 10000
+-static
++static void
+ appendPoint(points, pointi, x, y)
+       XPoint  *points;
+       int     *pointi;
+@@ -623,7 +689,7 @@
+ #define FLATNESS 1
+-static
++static void
+ flattenCurve(points, pointi, x2, y2, x3, y3, x4, y4)
+       XPoint  *points;
+       int     *pointi;
+@@ -659,7 +725,7 @@
+       }
+ }
+-
++void
+ DrawSpline (dw, v, n)
+       DviWidget       dw;
+       int             *v;
+--- groff-1.18.1.1.orig/src/xditview/font.c
++++ groff-1.18.1.1/src/xditview/font.c
+@@ -9,10 +9,16 @@
+ #include <X11/StringDefs.h>
+ #include <stdio.h>
+ #include <ctype.h>
++#include <stdlib.h>
+ #include "DviP.h"
+ #include "XFontName.h"
+-static DisposeFontSizes();
++static void DisposeFontSizes();
++void DestroyFontMap();
++
++/* XFontName.c */
++extern Bool XParseFontName();
++extern Bool XFormatFontName();
+ static char *
+ savestr (s)
+@@ -115,7 +121,7 @@
+ # define SizePosition         8
+ # define EncodingPosition     13
+-static
++static int
+ ConvertFontNameToSize (n)
+       char    *n;
+ {
+@@ -191,7 +197,7 @@
+       return sizes;
+ }
+-static
++static void
+ DisposeFontSizes (dw, fs)
+       DviWidget       dw;
+       DviFontSizeList *fs;
+@@ -263,6 +269,7 @@
+       return f;
+ }
++void
+ ForgetFonts (dw)
+       DviWidget dw;
+ {
+@@ -322,6 +329,7 @@
+ }
+ #endif
++void
+ ParseFontMap (dw)
+       DviWidget       dw;
+ {
+@@ -357,6 +365,7 @@
+       dw->dvi.font_map = fm;
+ }
++void
+ DestroyFontMap (font_map)
+       DviFontMap      *font_map;
+ {
+@@ -374,6 +383,7 @@
+ /* ARGSUSED */
++void
+ SetFontPosition (dw, position, dvi_name, extra)
+       DviWidget       dw;
+       int             position;
+--- groff-1.18.1.1.orig/src/roff/troff/charinfo.h
++++ groff-1.18.1.1/src/roff/troff/charinfo.h
+@@ -29,9 +29,16 @@
+   macro *mac;
+   unsigned char special_translation;
+   unsigned char hyphenation_code;
++#ifdef ENABLE_MULTIBYTE
++  unsigned short flags;
++#else
+   unsigned char flags;
++#endif
+   unsigned char ascii_code;
+   unsigned char asciify_code;
++#ifdef ENABLE_MULTIBYTE
++  wchar wchar_code;
++#endif
+   char not_found;
+   char transparent_translate; // non-zero means translation applies
+                               // to transparent throughput
+@@ -47,6 +54,11 @@
+     OVERLAPS_VERTICALLY = 16,
+     TRANSPARENT = 32,
+     NUMBERED = 64
++#ifdef        ENABLE_MULTIBYTE
++    ,
++    DONT_BREAK_BEFORE = 0x100,        // 256, pre kinsoku
++    DONT_BREAK_AFTER = 0x200  // 512, post kinsoku
++#endif
+     };
+   enum {
+     TRANSLATE_NONE,
+@@ -74,7 +86,11 @@
+   int get_translation_input();
+   charinfo *get_translation(int = 0);
+   void set_translation(charinfo *, int, int);
++#ifdef ENABLE_MULTIBYTE
++  void set_flags(unsigned short);
++#else
+   void set_flags(unsigned char);
++#endif
+   void set_special_translation(int, int);
+   int get_special_translation(int = 0);
+   macro *set_macro(macro *, int = 0);
+@@ -84,6 +100,12 @@
+   int get_number();
+   int numbered();
+   int is_fallback();
++#ifdef        ENABLE_MULTIBYTE
++  wchar get_wchar_code();
++  void set_wchar_code(wchar);
++  int cannot_break_before(); // pre kinsoku
++  int cannot_break_after(); // post kinsoku
++#endif
+   symbol *get_symbol();
+ };
+@@ -131,6 +153,18 @@
+   return fallback;
+ }
++#ifdef        ENABLE_MULTIBYTE
++inline int charinfo::cannot_break_before()
++{
++  return flags & DONT_BREAK_BEFORE;
++}
++
++inline int charinfo::cannot_break_after()
++{
++  return flags & DONT_BREAK_AFTER;
++}
++#endif
++
+ inline charinfo *charinfo::get_translation(int transparent_throughput)
+ {
+   return (transparent_throughput && !transparent_translate
+@@ -153,7 +187,18 @@
+   return (translate_input ? asciify_code : 0);
+ }
++#ifdef        ENABLE_MULTIBYTE
++inline wchar charinfo::get_wchar_code()
++{
++  return wchar_code;
++}
++#endif
++
++#ifdef        ENABLE_MULTIBYTE
++inline void charinfo::set_flags(unsigned short c)
++#else
+ inline void charinfo::set_flags(unsigned char c)
++#endif
+ {
+   flags = c;
+ }
+--- groff-1.18.1.1.orig/src/roff/troff/troff.h
++++ groff-1.18.1.1/src/roff/troff/troff.h
+@@ -28,6 +28,7 @@
+ #include <stdlib.h>
+ #include <errno.h>
++#include "encoding.h"
+ #include "assert.h"
+ #include "color.h"
+ #include "device.h"
+--- groff-1.18.1.1.orig/src/roff/troff/env.cc
++++ groff-1.18.1.1/src/roff/troff/env.cc
+@@ -32,6 +32,7 @@
+ #include "charinfo.h"
+ #include "macropath.h"
+ #include "input.h"
++#include "font.h" // ENABLE_MULTIBYTE only?
+ #include <math.h>
+ symbol default_family("T");
+@@ -264,6 +265,13 @@
+ void environment::add_char(charinfo *ci)
+ {
+   int s;
++#ifdef ENABLE_MULTIBYTE
++  int fontno = get_font(); // current font #
++  int fontset_font = get_fontset_fontno(fontno, ci->get_wchar_code());
++  if (fontno >= 0 && fontno != fontset_font) {
++    change_curfont(fontset_font);
++  }
++#endif
+   if (interrupted)
+     ;
+   // don't allow fields in dummy environments
+@@ -286,11 +294,95 @@
+   else {
+     if (line == 0)
+       start_line();
++#ifdef        ENABLE_MULTIBYTE
++    /* 
++     * XXX: NEED REWRITE TO BE MORE GENERIC
++     * This code is based on jgroff
++     * about kerning between ASCII and EUC-JP 
++     */
++    if (!ci->get_wchar_code()) {
++      /*
++       * This node is a ASCII character node.
++       */
++      if (!pre_char_is_ascii && enable_wcharkern && !hwkern.is_zero()) {
++      /*
++       * Insert a little space node between EUC and ASCII.
++       */
++      word_space_node *ws;
++
++      if (ci->ends_sentence() || ci->transparent() || ci->cannot_break_before())
++        ws = new unbreakable_space_node(hwkern.to_units(), get_fill_color());
++      else
++        ws = new word_space_node(hwkern.to_units(),
++                                 get_fill_color(),
++                                 new width_list(env_space_width(this),
++                                                env_sentence_space_width(this)));
++      curenv->add_node(ws);
++      }
++      pre_char_is_ascii = 1;
++      pre_wchar_cannot_break_after = 0;
++    } else {
++      /*
++       * This node is a EUC charcater node.
++       */
++      if (!pre_char_is_ascii && line->get_node_type() == NODE_NEWLINE_SPACE) {
++      /*
++       * remove a newline-node.
++       */
++      node *ns_node = line;
++      line = line->next;
++      width_total -= ns_node->width();
++      space_total -= ns_node->nspaces();
++      delete ns_node;
++      }
++
++      if (!pre_wchar_cannot_break_after && !ci->cannot_break_before()) {
++      /*
++       * add a zero-width-space-node before EUC charcater node.
++       */
++      add_node(new kword_space_node(get_fill_color()));
++      met_with_kword_space = 1;
++      }
++      pre_wchar_cannot_break_after = ci->cannot_break_after();
++
++      if (pre_char_is_ascii && enable_wcharkern && !hwkern.is_zero()) {
++      /*
++       * Insert a little space node between ASCII and EUC.
++       */
++      unbreakable_space_node *ws =
++        new unbreakable_space_node(hwkern.to_units(), get_fill_color());
++      curenv->add_node(ws);
++      }
++      pre_char_is_ascii = 0;
++
++      if (!vlower.is_zero()) {
++      /*
++       * Lower a EUC charcater node.
++       */
++      curenv->add_node(new vmotion_node(vlower.to_units(), 
++                                        get_fill_color())); // lower
++      }
++    }
++#endif
+     if (ci != hyphen_indicator_char)
+       line = line->add_char(ci, this, &width_total, &space_total);
+     else
+       line = line->add_discretionary_hyphen();
++#ifdef        ENABLE_MULTIBYTE
++    enable_wcharkern = 1;
++    if (!vlower.is_zero() && ci->get_wchar_code()) {
++      /*
++       * Raise a EUC charcater node.
++       */
++      curenv->add_node(new vmotion_node(-vlower.to_units(), 
++                                      get_fill_color())); // raise
++    }
++#endif
+   }
++#ifdef ENABLE_MULTIBYTE
++  if (fontset_font >= 0 && fontno != fontset_font)
++      change_curfont(fontno); /* restore saved font # */
++#endif
+ }
+ node *environment::make_char_node(charinfo *ci)
+@@ -394,7 +486,11 @@
+     width_total += x;
+     return;
+   }
++#ifdef ENABLE_MULTIBYTE
++  add_node(new newline_space_node(x, get_fill_color())); // This node may be removed
++#else
+   add_node(new word_space_node(x, get_fill_color(), w));
++#endif
+   possibly_break_line(0, spread_flag);
+   spread_flag = 0;
+ }
+@@ -480,6 +576,35 @@
+     warning(WARN_FONT, "bad font number");
+ }
++#ifdef        ENABLE_MULTIBYTE
++void environment::change_curfont(symbol nm)
++{
++  int n = symbol_fontno(nm);
++  if (n < 0) {
++    n = next_available_font_position();
++    if (!mount_font(n, nm))
++      return;
++  }
++  fontno = n;
++}
++
++void environment::change_curfont(int n)
++{
++  if (is_good_fontno(n))
++    fontno = n;
++  else
++    error("bad font number");
++}
++
++void environment::set_encoding(symbol enc)
++{
++  if (enc.is_null() || enc.is_empty())
++    return;
++  select_input_encoding_handler(enc.contents());
++  select_output_encoding_handler(enc.contents());
++}
++#endif /* ENABLE_MULTIBYTE */
++
+ void environment::set_family(symbol fam)
+ {
+   if (interrupted)
+@@ -649,6 +774,16 @@
+   control_char('.'),
+   no_break_control_char('\''),
+   hyphen_indicator_char(0)
++#ifdef        ENABLE_MULTIBYTE
++  ,
++  stretch_threshold(0),
++  pre_wchar_cannot_break_after(0),
++  pre_char_is_ascii(-1),
++  enable_wcharkern(0),
++  met_with_kword_space(0),
++  hwkern(font::wcharkern),
++  vlower(font::lowerwchar)
++#endif
+ {
+   prev_family = family = lookup_family(default_family);
+   prev_fontno = fontno = 1;
+@@ -739,6 +874,16 @@
+   control_char(e->control_char),
+   no_break_control_char(e->no_break_control_char),
+   hyphen_indicator_char(e->hyphen_indicator_char)
++#ifdef        ENABLE_MULTIBYTE
++  ,
++  stretch_threshold(e->stretch_threshold),
++  pre_wchar_cannot_break_after(0),
++  pre_char_is_ascii(-1),
++  enable_wcharkern(0),
++  met_with_kword_space(0),
++  hwkern(font::wcharkern),
++  vlower(font::lowerwchar)
++#endif
+ {
+ }
+@@ -1781,6 +1926,9 @@
+   target_text_length = line_length - saved_indent;
+   width_total = H0;
+   space_total = 0;
++#ifdef        ENABLE_MULTIBYTE
++  enable_wcharkern = 0;
++#endif
+ }
+ hunits environment::get_hyphenation_space()
+@@ -1819,6 +1967,23 @@
+   skip_line();
+ }
++#ifdef ENABLE_MULTIBYTE
++void stretch_threshold_request()
++{
++  int n;
++  if (has_arg() && get_integer(&n)) {
++      if (n < 0 || n > 100) {
++        warning(WARN_RANGE, "stretch threshold value %1 out of range", n);
++      } else {
++        curenv->stretch_threshold = n;
++      }
++  } else {
++      curenv->stretch_threshold = 0;
++  }
++  skip_line();
++}
++#endif
++
+ breakpoint *environment::choose_breakpoint()
+ {
+   hunits x = width_total;
+@@ -2014,6 +2179,30 @@
+            // When a macro follows a paragraph in fill mode, the
+            // current line should not be empty.
+            || (width_total - line->width()) > target_text_length)) {
++#ifdef ENABLE_MULTIBYTE
++    if (met_with_kword_space) {
++      node *linep = line;
++      node *prep = 0;
++      while (linep->next) {
++      if (linep->next->get_node_type() == NODE_GLYPH)
++        prep = 0;
++      else if (linep->next->get_node_type() == NODE_KWORD_SPACE)
++        prep = linep;
++        linep = linep->next;
++      }
++      if (prep) {
++        /*
++         * delete a kword_space_node which is in the top of line.
++         */
++        linep = prep->next;
++        prep->next = linep->next;
++        width_total -= linep->width();
++        space_total -= linep->nspaces();
++        delete linep;
++      }
++      met_with_kword_space = 0;
++    }
++#endif
+     hyphenate_line(start_here);
+     breakpoint *bp = choose_breakpoint();
+     if (bp == 0)
+@@ -2026,6 +2215,15 @@
+     bp->nd->split(bp->index, &pre, &post);
+     *ndp = post;
+     hunits extra_space_width = H0;
++#ifdef ENABLE_MULTIBYTE
++    int sv_adjust_mode = adjust_mode;
++    if (stretch_threshold) {
++      int ratio = bp->width * 100 / target_text_length;
++      if (ratio < stretch_threshold) {
++          adjust_mode = ADJUST_LEFT;
++      }
++    }
++#endif
+     switch(adjust_mode) {
+     case ADJUST_BOTH:
+       if (bp->nspaces != 0)
+@@ -2041,6 +2239,9 @@
+       saved_indent += target_text_length - bp->width;
+       break;
+     }
++#ifdef ENABLE_MULTIBYTE
++    adjust_mode = sv_adjust_mode;
++#endif
+     distribute_space(pre, bp->nspaces, extra_space_width);
+     hunits output_width = bp->width + extra_space_width;
+     input_line_start -= output_width;
+@@ -3237,6 +3438,9 @@
+   init_request("hys", hyphenation_space_request);
+   init_request("hym", hyphenation_margin_request);
+   init_request("pvs", post_vertical_spacing);
++#ifdef ENABLE_MULTIBYTE
++  init_request("stt", stretch_threshold_request);
++#endif
+   init_int_env_reg(".f", get_font);
+   init_int_env_reg(".b", get_bold);
+   init_hunits_env_reg(".i", get_indent);
+--- groff-1.18.1.1.orig/src/roff/troff/node.h
++++ groff-1.18.1.1/src/roff/troff/node.h
+@@ -20,6 +20,8 @@
+ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++#include "config.h"
++
+ struct hyphen_list {
+   unsigned char hyphen;
+   unsigned char breakable;
+@@ -31,6 +33,9 @@
+ void hyphenate(hyphen_list *, unsigned);
+ enum hyphenation_type { HYPHEN_MIDDLE, HYPHEN_BOUNDARY, HYPHEN_INHIBIT };
++#ifdef        ENABLE_MULTIBYTE
++enum node_type {NODE_GLYPH, NODE_KWORD_SPACE, NODE_NEWLINE_SPACE, NODE_ANOTHER};
++#endif
+ class ascii_output_file;
+@@ -106,6 +111,9 @@
+   virtual int same(node *) = 0;
+   virtual const char *type() = 0;
++#ifdef        ENABLE_MULTIBYTE
++  virtual node_type get_node_type();
++#endif
+ };
+ inline node::node()
+@@ -212,6 +220,24 @@
+   int force_tprint();
+ };
++#ifdef        ENABLE_MULTIBYTE
++class kword_space_node : public word_space_node {
++public:
++  kword_space_node(color *, node * = 0);
++  node *copy();
++  const char *type();
++  node_type get_node_type();
++};
++
++class newline_space_node : public word_space_node {
++public:
++  newline_space_node(hunits, color *, node * = 0);
++  node *copy();
++  const char *type();
++  node_type get_node_type();
++};
++#endif
++
+ class unbreakable_space_node : public word_space_node {
+   unbreakable_space_node(hunits, int, color *, node * = 0);
+ public:
+@@ -538,6 +564,9 @@
+ node *copy_node_list(node *);
+ int get_bold_fontno(int f);
++#ifdef ENABLE_MULTIBYTE
++int get_fontset_fontno(int f, wchar wc);
++#endif
+ inline hyphen_list::hyphen_list(unsigned char code, hyphen_list *p)
+ : hyphen(0), breakable(0), hyphenation_code(code), next(p)
+@@ -595,3 +624,4 @@
+ font_family *lookup_family(symbol);
+ symbol get_font_name(int, environment *);
++
+--- groff-1.18.1.1.orig/src/roff/troff/env.h
++++ groff-1.18.1.1/src/roff/troff/env.h
+@@ -213,6 +213,15 @@
+   unsigned char control_char;
+   unsigned char no_break_control_char;
+   charinfo *hyphen_indicator_char;
++#ifdef        ENABLE_MULTIBYTE
++  int stretch_threshold;
++  int pre_wchar_cannot_break_after;
++  int pre_char_is_ascii;
++  int enable_wcharkern;
++  int met_with_kword_space;
++  hunits hwkern;
++  vunits vlower;
++#endif
+   
+   environment(symbol);
+   environment(const environment *);   // for temporary environment
+@@ -279,6 +288,10 @@
+   void wrap_up_tab();
+   void set_font(int);
+   void set_font(symbol);
++#ifdef        ENABLE_MULTIBYTE
++  void change_curfont(int);
++  void change_curfont(symbol);
++#endif
+   void set_family(symbol);
+   void set_size(int);
+   void set_char_height(int);
+@@ -309,6 +322,9 @@
+   const char *get_point_size_string();
+   const char *get_requested_point_size_string();
+   void output_pending_lines();
++#ifdef ENABLE_MULTIBYTE
++  void set_encoding(symbol);
++#endif
+   
+   friend void title_length();
+   friend void space_size();
+@@ -347,6 +363,9 @@
+ #ifdef WIDOW_CONTROL
+   friend void widow_control_request();
+ #endif /* WIDOW_CONTROL */
++#ifdef        ENABLE_MULTIBYTE
++  friend void stretch_threshold_request();
++#endif
+   friend void do_divert(int append, int boxing);
+ };
+--- groff-1.18.1.1.orig/src/roff/troff/input.cc
++++ groff-1.18.1.1/src/roff/troff/input.cc
+@@ -35,6 +35,7 @@
+ #include "macropath.h"
+ #include "defs.h"
+ #include "input.h"
++#include "encoding.h" // XXX: ukai
+ // Needed for getpid() and isatty()
+ #include "posix.h"
+@@ -89,6 +90,11 @@
+ charinfo *charset_table[256];
+ unsigned char hpf_code_table[256];
++#ifdef        ENABLE_MULTIBYTE
++charinfo *wcharset_table_entry(wchar wc);
++
++#endif /* ENABLE_MULTIBYTE */
++
+ static int warning_mask = DEFAULT_WARNING_MASK;
+ static int inhibit_errors = 0;
+ static int ignoring = 0;
+@@ -148,6 +154,20 @@
+ input_iterator *make_temp_iterator(const char *);
+ const char *input_char_description(int);
++#ifdef ENABLE_MULTIBYTE
++static void
++select_encoding()
++{
++    symbol e = get_long_name(1);
++    if (e.is_null()) {
++      skip_line();
++      return;
++    }
++    curenv->set_encoding(e);
++    skip_line();
++    
++}
++#endif
+ void set_escape_char()
+ {
+@@ -1524,6 +1544,19 @@
+   type = TOKEN_NEWLINE;
+ }
++#ifdef ENABLE_MULTIBYTE
++class encoding_istream_input : public encoding_istream {
++private:
++  node **np;
++public:
++  encoding_istream_input(node **n) : np(n) {};
++  ~encoding_istream_input() {};
++  int getbyte() { return input_stack::get(np); };
++  int peekbyte() { return input_stack::peek(); };
++  void ungetbyte(int ch) { return; };
++};
++#endif
++
+ void token::next()
+ {
+   if (nd) {
+@@ -1533,6 +1566,10 @@
+   units x;
+   for (;;) {
+     node *n;
++#ifdef ENABLE_MULTIBYTE
++    encoding_istream_input einput(&n);
++#endif
++
+     int cc = input_stack::get(&n);
+     if (cc != escape_char || escape_char == 0) {
+     handle_normal_char:
+@@ -1686,8 +1723,22 @@
+       }
+       return;
+       default:
++#ifdef        ENABLE_MULTIBYTE
++      wc = input_encoding->make_wchar(cc, einput);
++      if (is_wchar_code(wc)) {
++        type = TOKEN_WCHAR;
++        c = 0;
++      } else if (wc == ' ') {
++        type = TOKEN_SPACE;
++        c = cc;
++      } else {
++        type = TOKEN_CHAR;
++        c = cc;
++      }
++#else
+       type = TOKEN_CHAR;
+       c = cc;
++#endif
+       return;
+       }
+     }
+@@ -2057,6 +2108,10 @@
+   switch(type) {
+   case TOKEN_CHAR:
+     return c == t.c;
++#ifdef        ENABLE_MULTIBYTE
++  case TOKEN_WCHAR:
++    return wc == t.wc;
++#endif
+   case TOKEN_SPECIAL:
+     return nm == t.nm;
+   case TOKEN_NUMBERED_CHAR:
+@@ -2563,6 +2618,27 @@
+       }
+       break;
+       }
++#ifdef        ENABLE_MULTIBYTE
++    case token::TOKEN_WCHAR:
++      {
++      wchar wch = tok.wc;
++
++      if (possibly_handle_first_page_transition())
++        ;
++      else {
++        for (;;) {
++          curenv->add_char(wcharset_table_entry(wch));
++          tok.next();
++          if (tok.type != token::TOKEN_WCHAR)
++            break;
++          wch = tok.wc;
++        }
++        suppress_next = 1;
++        bol = 0;
++      }
++      break;
++      }
++#endif        /* ENABLE_MULTIBYTE */
+     case token::TOKEN_TRANSPARENT:
+       {
+       if (bol) {
+@@ -6018,6 +6094,10 @@
+ {
+   if (type == TOKEN_CHAR)
+     return charset_table[c];
++#ifdef        ENABLE_MULTIBYTE
++  if (type == TOKEN_WCHAR)
++    return wcharset_table_entry(wc);
++#endif
+   if (type == TOKEN_SPECIAL)
+     return get_charinfo(nm);
+   if (type == TOKEN_NUMBERED_CHAR)
+@@ -6070,6 +6150,11 @@
+   case TOKEN_CHAR:
+     *pp = (*pp)->add_char(charset_table[c], curenv, &w, &s);
+     break;
++#ifdef        ENABLE_MULTIBYTE
++  case TOKEN_WCHAR:
++    *pp = (*pp)->add_char(wcharset_table_entry(wc), curenv, &w, &s);
++    break;
++#endif
+   case TOKEN_DUMMY:
+     n = new dummy_node;
+     break;
+@@ -6142,6 +6227,11 @@
+   case TOKEN_CHAR:
+     curenv->add_char(charset_table[c]);
+     break;
++#ifdef        ENABLE_MULTIBYTE
++  case TOKEN_WCHAR:
++    curenv->add_char(wcharset_table_entry(wc));
++    break;
++#endif
+   case TOKEN_DUMMY:
+     curenv->add_node(new dummy_node);
+     break;
+@@ -6900,6 +6990,7 @@
+   if (!safer_flag)
+     mac_path = &macro_path;
+   set_string(".T", device);
++  init_encoding_handler();
+   init_charset_table();
+   init_hpf_code_table();
+   if (!font::load_desc())
+@@ -6924,6 +7015,9 @@
+     // In the DESC file a font name of 0 (zero) means leave this
+     // position empty.
+     if (strcmp(font::font_name_table[i], "0") != 0)
++#ifdef ENABLE_MULTIBYTE
++      if (!font::is_on_demand(i))
++#endif
+       mount_font(j, symbol(font::font_name_table[i]));
+   curdiv = topdiv = new top_level_diversion;
+   if (nflag)
+@@ -7081,6 +7175,9 @@
+   init_request("ecs", save_escape_char);
+   init_request("el", else_request);
+   init_request("em", end_macro);
++#ifdef ENABLE_MULTIBYTE
++  init_request("encoding", select_encoding);
++#endif
+   init_request("eo", escape_off);
+   init_request("ex", exit_request);
+   init_request("fchar", define_fallback_character);
+@@ -7533,12 +7630,92 @@
+ dictionary charinfo_dictionary(501);
++#ifdef ENABLE_MULTIBYTE
++struct charinfo_list {
++  struct charinfo_list *next;
++  charinfo *ci;
++} *wcharset_table = NULL;
++
++/* XXX: use more efficient method? */
++static charinfo*
++lookup_wcharset_table(wchar wc)
++{
++  struct charinfo_list *cl;
++  for (cl = wcharset_table; cl; cl = cl->next) {
++    if (cl->ci && cl->ci->get_wchar_code() == wc)
++      return cl->ci;
++  }
++  return NULL;
++}
++
++static void
++add_wcharset_table(charinfo *ci)
++{
++  struct charinfo_list *cl = new struct charinfo_list;
++  cl->next = wcharset_table;
++  cl->ci = ci;
++  wcharset_table = cl;
++}
++
++charinfo *wcharset_table_entry(wchar wc)
++{
++  if (! is_wchar_code(wc))
++    return NULL;
++  charinfo *cp = lookup_wcharset_table(wc);
++  if (cp == NULL) {
++    int i = wchar_code(wc);
++    char buf[16];
++    if (i > 0x100)
++      sprintf(buf, "u%04X", i);
++    else {
++      cp = get_charinfo_by_number(i);
++      if (cp != NULL)
++      return cp;
++      sprintf(buf, "char%d", i); // ???
++    }
++    symbol nm = symbol(buf);
++    cp = new charinfo(nm);
++    (void)charinfo_dictionary.lookup(nm, cp);
++    cp->set_wchar_code(wc);
++    add_wcharset_table(cp);
++  }
++  return cp;
++}
++
++static charinfo *
++wchar_charinfo(symbol nm)
++{
++  const char *p = nm.contents();
++  if (*p != 'u') {
++    return NULL;
++  }
++  char *pp;
++  wchar wc = make_wchar(strtol(p + 1, &pp, 16));
++  if (pp < p + 5)
++      return NULL;
++  charinfo *cp = lookup_wcharset_table(wc);
++  if (cp)
++    return cp;
++  /* create on demand */
++  cp = new charinfo(nm);
++  cp->set_wchar_code(wc);
++  add_wcharset_table(cp);
++  return cp;
++}
++#endif
++
+ charinfo *get_charinfo(symbol nm)
+ {
+   void *p = charinfo_dictionary.lookup(nm);
+   if (p != 0)
+     return (charinfo *)p;
++#ifdef ENABLE_MULTIBYTE
++  charinfo *cp = wchar_charinfo(nm);
++  if (cp == NULL)
++    cp = new charinfo(nm);
++#else
+   charinfo *cp = new charinfo(nm);
++#endif
+   (void)charinfo_dictionary.lookup(nm, cp);
+   return cp;
+ }
+@@ -7548,6 +7725,9 @@
+ charinfo::charinfo(symbol s)
+ : translation(0), mac(0), special_translation(TRANSLATE_NONE),
+   hyphenation_code(0), flags(0), ascii_code(0), asciify_code(0),
++#ifdef ENABLE_MULTIBYTE
++  wchar_code(0),
++#endif
+   not_found(0), transparent_translate(1), translate_input(0),
+   fallback(0), nm(s)
+ {
+@@ -7592,6 +7772,14 @@
+   asciify_code = c;
+ }
++#ifdef ENABLE_MULTIBYTE
++void charinfo::set_wchar_code(wchar wc)
++{
++  wchar_code = wc;
++  index = wc; /* XXX: wchar code == index */
++}
++#endif
++
+ macro *charinfo::set_macro(macro *m, int f)
+ {
+   macro *tem = mac;
+@@ -7647,6 +7835,13 @@
+ int font::name_to_index(const char *nm)
+ {
+   charinfo *ci;
++#ifdef        ENABLE_MULTIBYTE
++  int i = 1;
++  wchar wc = input_encoding->make_wchar(nm[0], (const unsigned char *)nm, &i);
++  if (is_wchar_code(wc)) {
++    ci = wcharset_table_entry(wc);
++  } else
++#endif
+   if (nm[1] == 0)
+     ci = charset_table[nm[0] & 0xff];
+   else if (nm[0] == '\\' && nm[2] == 0)
+@@ -7663,3 +7858,10 @@
+ {
+   return get_charinfo_by_number(n)->get_index();
+ }
++
++#ifdef        ENABLE_MULTIBYTE
++int font::wchar_index(wchar wc)
++{
++  return(wcharset_table_entry(wc)->get_index());
++}
++#endif
+--- groff-1.18.1.1.orig/src/roff/troff/token.h
++++ groff-1.18.1.1/src/roff/troff/token.h
+@@ -28,12 +28,18 @@
+   symbol nm;
+   node *nd;
+   unsigned char c;
++#ifdef        ENABLE_MULTIBYTE
++  wchar wc;
++#endif
+   int val;
+   units dim;
+   enum token_type {
+     TOKEN_BACKSPACE,
+     TOKEN_BEGIN_TRAP,
+     TOKEN_CHAR,                       // a normal printing character
++#ifdef        ENABLE_MULTIBYTE
++    TOKEN_WCHAR,              // a multibyte character
++#endif
+     TOKEN_DUMMY,              // \&
+     TOKEN_EMPTY,              // this is the initial value
+     TOKEN_END_TRAP,
+--- groff-1.18.1.1.orig/src/roff/troff/troff.man
++++ groff-1.18.1.1/src/roff/troff/troff.man
+@@ -22,6 +22,10 @@
+ A copy of the Free Documentation License is included as a file called
+ FDL in the main directory of the groff source package.
+ ..
++.ig
++A copy of the GNU Free Documentation License is also available in this
++Debian package as /usr/share/doc/groff-base/copyright.
++..
+ .
+ .
+ .\" --------------------------------------------------------------------
+--- groff-1.18.1.1.orig/src/roff/troff/node.cc
++++ groff-1.18.1.1/src/roff/troff/node.cc
+@@ -38,6 +38,7 @@
+ #include "input.h"
+ #include "div.h"
+ #include "geometry.h"
++#include "encoding.h"
+ #include "nonposix.h"
+@@ -745,8 +746,15 @@
+   int current_font_number;
+   symbol *font_position;
+   int nfont_positions;
++#ifdef ENABLE_MULTIBYTE
++  const char *current_encoding;
++#endif
+   enum { TBUF_SIZE = 256 };
++#ifdef        ENABLE_MULTIBYTE
++  wchar tbuf[TBUF_SIZE];
++#else
+   char tbuf[TBUF_SIZE];
++#endif
+   int tbuf_len;
+   int tbuf_kern;
+   int begun_page;
+@@ -756,6 +764,9 @@
+   void put(int i);
+   void put(unsigned int i);
+   void put(const char *s);
++#ifdef        ENABLE_MULTIBYTE
++  void putw(const wchar wc);
++#endif
+   void set_font(tfont *tf);
+   void flush_tbuf();
+ public:
+@@ -799,6 +810,13 @@
+   putc(c, fp);
+ }
++#ifdef        ENABLE_MULTIBYTE
++inline void troff_output_file::putw(wchar wc)
++{
++  output_encoding->put_wchar(wc, fp);
++}
++#endif
++
+ inline void troff_output_file::put(unsigned char c)
+ {
+   putc(c, fp);
+@@ -956,7 +974,11 @@
+   check_output_limits(hpos, vpos - current_size);
+   for (int i = 0; i < tbuf_len; i++)
++#ifdef ENABLE_MULTIBYTE
++    putw(tbuf[i]);
++#else
+     put(tbuf[i]);
++#endif
+   put('\n');
+   tbuf_len = 0;
+ }
+@@ -988,7 +1010,13 @@
+     flush_tbuf();
+     set_font(tf);
+   }
++#ifdef ENABLE_MULTIBYTE
++  wchar c = ci->get_wchar_code();
++  if (c == '\0')
++    c = ci->get_ascii_code();
++#else
+   char c = ci->get_ascii_code();
++#endif
+   if (c == '\0') {
+     flush_tbuf();
+     do_motion();
+@@ -1014,7 +1042,8 @@
+   }
+   else if (tcommand_flag) {
+     if (tbuf_len > 0 && hpos == output_hpos && vpos == output_vpos
+-      && gcol == current_glyph_color && fcol == current_fill_color
++      && (!gcol || gcol == current_glyph_color)
++      && (!fcol || fcol == current_fill_color)
+       && kk == tbuf_kern
+       && tbuf_len < TBUF_SIZE) {
+       check_charinfo(tf, ci);
+@@ -1039,17 +1068,26 @@
+     check_charinfo(tf, ci);
+     // check_output_limits(output_hpos, output_vpos);
+     if (vpos == output_vpos
+-      && gcol == current_glyph_color && fcol == current_fill_color
++      && (!gcol || gcol == current_glyph_color)
++      && (!fcol || fcol == current_fill_color)
+       && n > 0 && n < 100 && !force_motion) {
+       put(char(n/10 + '0'));
+       put(char(n%10 + '0'));
++#ifdef ENABLE_MULTIBYTE
++      putw(c);
++#else
+       put(c);
++#endif
+       output_hpos = hpos;
+     }
+     else {
+       do_motion();
+       put('c');
++#ifdef ENABLE_MULTIBYTE
++      putw(c);
++#else
+       put(c);
++#endif
+     }
+     hpos += w.to_units() + kk;
+   }
+@@ -1063,7 +1101,13 @@
+     return;
+   if (tf != current_tfont)
+     set_font(tf);
++#ifdef        ENABLE_MULTIBYTE
++  wchar c = ci->get_wchar_code();
++  if (c == '\0')
++    c = ci->get_ascii_code();
++#else
+   char c = ci->get_ascii_code();
++#endif
+   if (c == '\0') {
+     do_motion();
+     glyph_color(gcol);
+@@ -1087,11 +1131,16 @@
+   else {
+     int n = hpos - output_hpos;
+     if (vpos == output_vpos
+-      && gcol == current_glyph_color && fcol == current_fill_color
++      && (!gcol || gcol == current_glyph_color)
++      && (!fcol || fcol == current_fill_color)
+       && n > 0 && n < 100) {
+       put(char(n/10 + '0'));
+       put(char(n%10 + '0'));
++#ifdef ENABLE_MULTIBYTE
++      putw(c);
++#else
+       put(c);
++#endif
+       output_hpos = hpos;
+     }
+     else {
+@@ -1099,13 +1148,26 @@
+       glyph_color(gcol);
+       fill_color(fcol);
+       put('c');
++#ifdef ENABLE_MULTIBYTE
++      putw(c);
++#else
+       put(c);
++#endif
+     }
+   }
+ }
+ void troff_output_file::set_font(tfont *tf)
+ {
++#ifdef ENABLE_MULTIBYTE
++  /* XXX */
++  if (current_encoding != output_encoding->name()) {
++    put("x encoding ");
++    put(output_encoding->name());
++    put('\n');
++    current_encoding = output_encoding->name();
++  }
++#endif
+   if (current_tfont == tf)
+     return;
+   int n = tf->get_input_position();
+@@ -1162,7 +1224,7 @@
+ void troff_output_file::fill_color(color *col)
+ {
+-  if ((current_fill_color == col) || !color_flag)
++  if (!col || current_fill_color == col || !color_flag)
+     return;
+   flush_tbuf();
+   put("DF");
+@@ -1210,7 +1272,7 @@
+ void troff_output_file::glyph_color(color *col)
+ {
+-  if ((current_glyph_color == col) || !color_flag)
++  if (!col || current_glyph_color == col || !color_flag)
+     return;
+   flush_tbuf();
+   put("m");
+@@ -1497,7 +1559,17 @@
+   put(' ');
+   put(vresolution);
+   put('\n');
++#ifdef ENABLE_MULTIBYTE
++  current_encoding = output_encoding->name();
++  put("x init");
++  if (current_encoding && *current_encoding != '\0') {
++      put(' ');
++      put(current_encoding);
++  }
++  put('\n');
++#else
+   put("x init\n");
++#endif
+ }
+ /* output_file */
+@@ -1777,6 +1849,9 @@
+   int same(node *);
+   const char *type();
+   int force_tprint();
++#ifdef        ENABLE_MULTIBYTE
++  node_type get_node_type();
++#endif
+ };
+ glyph_node *glyph_node::free_list = 0;
+@@ -1802,6 +1877,9 @@
+   int same(node *);
+   const char *type();
+   int force_tprint();
++#ifdef        ENABLE_MULTIBYTE
++  node_type get_node_type();
++#endif
+ };
+ class kern_pair_node : public node {
+@@ -5225,6 +5303,55 @@
+   return 0;
+ }
++#ifdef        ENABLE_MULTIBYTE
++kword_space_node::kword_space_node(color *c, node *x) : word_space_node(0, c, new width_list(0, 0), x)
++{}
++
++node *kword_space_node::copy()
++{
++    return new kword_space_node(col);
++}
++newline_space_node::newline_space_node(hunits d, color *c, node *x) : word_space_node(d, c, new width_list(0, 0), x)
++{}
++
++node *newline_space_node::copy()
++{
++    return new newline_space_node(n, col);
++}
++
++const char *kword_space_node::type()
++{
++  return "kword_space_node";
++}
++const char *newline_space_node::type()
++{
++  return "newline_space_node";
++}
++
++node_type node::get_node_type()
++{
++    return NODE_ANOTHER;
++}
++node_type glyph_node::get_node_type()
++{
++    return NODE_GLYPH;
++}
++
++node_type ligature_node::get_node_type()
++{
++    return NODE_ANOTHER;
++}
++
++node_type kword_space_node::get_node_type()
++{
++    return NODE_KWORD_SPACE;
++}
++node_type newline_space_node::get_node_type()
++{
++    return NODE_NEWLINE_SPACE;
++}
++#endif
++
+ int unbreakable_space_node::same(node *nd)
+ {
+   return n == ((unbreakable_space_node *)nd)->n
+@@ -5625,6 +5752,28 @@
+     return 0;
+ }
++#ifdef ENABLE_MULTIBYTE
++int get_fontset_fontno(int n, wchar wc)
++{
++  if (n >= 0 && n < font_table_size && font_table[n] != 0) {
++    /* XXX: external_name should be used? */
++    int fn = font::get_fontset_font(font_table[n]->get_name().contents(), wc);
++    if (fn >= 0) {
++      symbol nm(font::font_name_table[fn]);
++      int nn = symbol_fontno(nm);
++      if (nn < 0) {
++      nn = next_available_font_position();
++      if (!mount_font(nn, nm)) {
++        return -1; /* XXX */
++      }
++      }
++      return nn;
++    }
++  }
++  return n;
++}
++#endif
++
+ hunits env_digit_width(environment *env)
+ {
+   node *n = make_glyph_node(charset_table['0'], env);
+--- groff-1.18.1.1.orig/src/roff/nroff/nroff.sh
++++ groff-1.18.1.1/src/roff/nroff/nroff.sh
+@@ -12,6 +12,8 @@
+     T=-Tlatin1 ;;
+   IBM-1047)
+     T=-Tcp1047 ;;
++  EUC-JP)
++    T=-Tnippon ;;
+   *)
+     case "${LC_ALL-${LC_CTYPE-${LANG}}}" in
+       *.UTF-8)
+@@ -20,6 +22,8 @@
+         T=-Tlatin1 ;;
+       *.IBM-1047)
+         T=-Tcp1047 ;;
++      ja_JP.ujis | ja_JP.eucJP)
++      T=-Tnippon ;;
+       *)
+         case "$LESSCHARSET" in
+           utf-8)
+@@ -28,8 +32,10 @@
+             T=-Tlatin1 ;;
+           cp1047)
+             T=-Tcp1047 ;;
++          japanese)
++          T=-Tnippon ;;
+           *)
+-            T=-Tascii ;;
++            T=-Tascii8 ;;
+           esac ;;
+      esac ;;
+ esac
+@@ -52,7 +58,7 @@
+       exit 1 ;;
+     -[iptSUC] | -[mrno]*)
+       opts="$opts $1" ;;
+-    -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047)
++    -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon)
+       T=$1 ;;
+     -T*)
+       # ignore other devices
+--- groff-1.18.1.1.orig/src/roff/nroff/nroff.man
++++ groff-1.18.1.1/src/roff/nroff/nroff.man
+@@ -53,8 +53,10 @@
+ command using groff.
+ Only 
+ .BR ascii ,
++.BR ascii8 ,
+ .BR latin1 ,
+ .BR utf8 ,
++.BR nippon ,
+ and
+ .B cp1047
+ are valid arguments for the
+--- groff-1.18.1.1.orig/src/roff/groff/groff.cc
++++ groff-1.18.1.1/src/roff/groff/groff.cc
+@@ -107,6 +107,7 @@
+   program_name = argv[0];
+   static char stderr_buf[BUFSIZ];
+   setbuf(stderr, stderr_buf);
++  init_encoding_handler();
+   assert(NCOMMANDS <= MAX_COMMANDS);
+   string Pargs, Largs, Fargs;
+   int vflag = 0;
+--- groff-1.18.1.1.orig/src/roff/groff/groff.man
++++ groff-1.18.1.1/src/roff/groff/groff.man
+@@ -15,6 +15,10 @@
+ A copy of the Free Documentation License is included as a file called
+ FDL in the main directory of the groff source package.
+ ..
++.ig
++A copy of the GNU Free Documentation License is also available in this
++Debian package as /usr/share/doc/groff-base/copyright.
++..
+ .
+ .\" --------------------------------------------------------------------
+ .\" Setup
+@@ -118,7 +122,7 @@
+ .c --------------------------------------------------------------------
+ .c ShortOpt ([char [punct]])
+ .c
+-.c `-c' somwhere in the text 
++.c `-c' somewhere in the text 
+ .c second arg is punctuation
+ .c
+ .de ShortOpt
+@@ -130,7 +134,7 @@
+ .c --------------------------------------------------------------------
+ .c LongOpt  ([name [punct]])
+ .c
+-.c `--name' somwhere in the text 
++.c `--name' somewhere in the text 
+ .c second arg is punctuation
+ .c
+ .de LongOpt
+@@ -314,7 +318,7 @@
+ .B groff
+ program allows to control the whole
+ .I groff
+-system by comand line options.
++system by command line options.
+ .
+ This is a great simplification in comparison to the classical case (which
+ uses pipes only).
+@@ -610,7 +614,7 @@
+ .
+ .
+ .\" --------------------------------------------------------------------
+-.SS Tranparent Options
++.SS Transparent Options
+ .\" --------------------------------------------------------------------
+ .
+ The following options are transparently handed over to the formatter
+@@ -695,7 +699,7 @@
+ is much easier than
+ .IR "classical roff" .
+ .
+-This section gives an overview of the parts that consitute the groff
++This section gives an overview of the parts that constitute the groff
+ system.
+ .
+ It complements
+@@ -948,6 +952,10 @@
+ Text output using the EBCDIC code page IBM cp1047 (e.g. OS/390 Unix).
+ .
+ .TP
++.B nippon
++Text output using the Japanese-EUC character set.
++.
++.TP
+ .B dvi
+ TeX DVI format.
+ .
+@@ -956,6 +964,12 @@
+ HTML output.
+ .
+ .TP
++.B ascii8
++For typewriter-like devices.  Unlike
++.BR ascii ,
++this device is 8 bit clean.  This device is intended to be used
++for codesets other than ASCII and ISO-8859-1.
++.TP
+ .B latin1
+ Text output using the ISO Latin-1 (ISO 8859-1) character set; see
+ .BR iso_8859_1 (7).
+@@ -1031,7 +1045,7 @@
+ .
+ .P
+ Today, most printing or drawing hardware is handled by the operating
+-system, by device drivers, or by software interfaces, usally accepting
++system, by device drivers, or by software interfaces, usually accepting
+ PostScript.
+ .
+ Consequently, there isn't an urgent need for more hardware device
+--- groff-1.18.1.1.orig/font/devX75/DESC
++++ groff-1.18.1.1/font/devX75/DESC
+@@ -1,5 +1,17 @@
+ styles R I B BI
+-fonts 6 0 0 0 0 0 S
++fonts 8 0 0 0 0 0 S M G
++fontset B G 2E00..9FFF
++fontset CB G 2E00..9FFF
++fontset HB G 2E00..9FFF
++fontset NB G 2E00..9FFF
++fontset TB G 2E00..9FFF
++fontset - M 2E00..9FFF
++fontset B G FF00..FFEF
++fontset CB G FF00..FFEF
++fontset HB G FF00..FFEF
++fontset NB G FF00..FFEF
++fontset TB G FF00..FFEF
++fontset - M FF00..FFEF
+ sizes 8 10 12 14 18 24 0
+ res 75
+ X11
+--- groff-1.18.1.1.orig/font/devX75/M.proto
++++ groff-1.18.1.1/font/devX75/M.proto
+@@ -0,0 +1,6 @@
++name M
++spacewidth 2
++charset
++u2E00..u9FFF 10 0
++uFF00..uFFEF 10 0
++
+--- groff-1.18.1.1.orig/font/devX75/Makefile.sub
++++ groff-1.18.1.1/font/devX75/Makefile.sub
+@@ -1,2 +1,13 @@
+ DEV=X75
+-DEVFILES=DESC TR TI TB TBI CR CI CB CBI HR HI HB HBI NR NI NB NBI S
++DEVFILES=DESC TR TI TB TBI CR CI CB CBI HR HI HB HBI NR NI NB NBI S M G
++CLEANADD=M G
++
++M: M.proto
++      @echo Making M
++      @-rm -f M
++      @cat $(srcdir)/M.proto > M
++
++G: M
++      @echo Making G
++      @-rm -f G
++      @sed -e 's/name M/name G/' M > G
+--- groff-1.18.1.1.orig/font/devlbp/Makefile.sub
++++ groff-1.18.1.1/font/devlbp/Makefile.sub
+@@ -13,9 +13,9 @@
+       -rm -f DESC
+       cat $(srcdir)/DESC.in >>DESC
+       if test "$(PAGE)" = A4; then \
+-        echo "papersize a4" >>DESC; \
++        echo "papersize /etc/papersize a4" >>DESC; \
+       else \
+-        echo "papersize letter" >>DESC; \
++        echo "papersize /etc/papersize letter" >>DESC; \
+       fi
+       test -z '$(LBPPRINT)' || echo print '$(LBPPRINT)' >>DESC
+--- groff-1.18.1.1.orig/font/devascii/Makefile.sub
++++ groff-1.18.1.1/font/devascii/Makefile.sub
+@@ -12,8 +12,8 @@
+       @-rm -f $@
+       @(charwidth=`expr $(RES) / $(CPI)` ; \
+        sed -e "s/^name [A-Z]*$$/name $@/" \
+-           -e "s/^\\([^       ]*\\)   [0-9]+  /\\1    $$charwidth     /" \
+-           -e "s/^spacewidth [0-9]+$$/spacewidth $$charwidth/" \
++           -e "s/^\\([^       ]*\\)   [0-9][0-9]*     /\\1    $$charwidth     /" \
++           -e "s/^spacewidth [0-9][0-9]*$$/spacewidth $$charwidth/" \
+            -e "s/^internalname .*$$/internalname $@/" \
+            -e "/^internalname/s/BI/3/" \
+            -e "/^internalname/s/B/2/" \
+--- groff-1.18.1.1.orig/font/devascii8/Makefile.sub
++++ groff-1.18.1.1/font/devascii8/Makefile.sub
+@@ -0,0 +1,31 @@
++DEV=ascii8
++FONTS=R I B BI
++DEVFILES=$(FONTS) DESC
++CLEANADD=$(FONTS) DESC
++
++RES=240
++CPI=10
++LPI=6
++
++$(FONTS): R.proto
++      @echo Making $@
++      @-rm -f $@
++      @(charwidth=`expr $(RES) / $(CPI)` ; \
++       sed -e "s/^name [A-Z]*$$/name $@/" \
++           -e "s/^\\([^       ]*\\)   [0-9][0-9]*     /\\1    $$charwidth     /" \
++           -e "s/^spacewidth [0-9][0-9]*$$/spacewidth $$charwidth/" \
++           -e "s/^internalname .*$$/internalname $@/" \
++           -e "/^internalname/s/BI/3/" \
++           -e "/^internalname/s/B/2/" \
++           -e "/^internalname/s/I/1/" \
++           -e "/^internalname .*[^ 0-9]/d" \
++           $(srcdir)/R.proto >$@)
++
++DESC: DESC.proto
++      @echo Making $@
++      @-rm -f $@
++      @sed -e "s/^res .*$$/res $(RES)/" \
++          -e "s/^hor .*$$/hor `expr $(RES) / $(CPI)`/" \
++          -e "s/^vert .*$$/vert `expr $(RES) / $(LPI)`/" \
++          -e "s/^fonts .*$$/fonts `set $(FONTS); echo $$#` $(FONTS)/" \
++          $(srcdir)/DESC.proto >$@
+--- groff-1.18.1.1.orig/font/devascii8/R.proto
++++ groff-1.18.1.1/font/devascii8/R.proto
+@@ -0,0 +1,262 @@
++name R
++internalname 0
++spacewidth 24
++charset
++!     24      0       0041
++"     24      0       0042
++dq    "
++lq    "
++rq    "
++#     24      0       0043
++sh    "
++$     24      0       0044
++Do    "
++%     24      0       0045
++&     24      0       0046
++'     24      0       0047
++aa    "
++fm    "
++aq    "
++cq    "
++(     24      0       0050
++)     24      0       0051
++*     24      0       0052
++**    "
+++     24      0       0053
++pl    "
++,     24      0       0054
++\-    24      0       0055
++hy    "
++-     "
++mi    "
++en    "
++.     24      0       0056
++/     24      0       0057
++sl    "
++f/    "
++0     24      0       0060
++1     24      0       0061
++2     24      0       0062
++3     24      0       0063
++4     24      0       0064
++5     24      0       0065
++6     24      0       0066
++7     24      0       0067
++8     24      0       0070
++9     24      0       0071
++:     24      0       0072
++;     24      0       0073
++<     24      0       0074
++la    "
++fo    "
++=     24      0       0075
++eq    "
++>     24      0       0076
++ra    "
++fc    "
++?     24      0       0077
++@     24      0       0100
++at    "
++A     24      0       0101
++*A    "
++B     24      0       0102
++*B    "
++C     24      0       0103
++D     24      0       0104
++E     24      0       0105
++*E    "
++F     24      0       0106
++G     24      0       0107
++H     24      0       0110
++*Y    "
++I     24      0       0111
++*I    "
++J     24      0       0112
++K     24      0       0113
++*K    "
++L     24      0       0114
++M     24      0       0115
++*M    "
++N     24      0       0116
++*N    "
++O     24      0       0117
++ci    "
++*O    "
++P     24      0       0120
++*R    "
++Q     24      0       0121
++R     24      0       0122
++S     24      0       0123
++T     24      0       0124
++*T    "
++U     24      0       0125
++V     24      0       0126
++W     24      0       0127
++X     24      0       0130
++*X    "
++Y     24      0       0131
++*U    "
++Z     24      0       0132
++*Z    "
++[     24      0       0133
++lB    "
++\     24      0       0134
++rs    "
++]     24      0       0135
++rB    "
++a^    24      0       0136
++^     "
++ha    "
++_     24      0       0137
++ru    "
++ul    "
++`     24      0       0140
++oq    "
++ga    "
++a     24      0       0141
++b     24      0       0142
++c     24      0       0143
++d     24      0       0144
++e     24      0       0145
++f     24      0       0146
++g     24      0       0147
++h     24      0       0150
++i     24      0       0151
++.i    "
++j     24      0       0152
++k     24      0       0153
++l     24      0       0154
++m     24      0       0155
++n     24      0       0156
++o     24      0       0157
++*o    "
++p     24      0       0160
++q     24      0       0161
++r     24      0       0162
++s     24      0       0163
++t     24      0       0164
++u     24      0       0165
++v     24      0       0166
++w     24      0       0167
++x     24      0       0170
++mu    "
++y     24      0       0171
++z     24      0       0172
++lC    24      0       0173
++{     "
++ba    24      0       0174
++or    "
++bv    "
++br    "
++|     "
++lb    "
++lc    "
++lf    "
++lk    "
++lt    "
++rb    "
++rc    "
++rf    "
++rk    "
++rt    "
++rC    24      0       0175
++}     "
++a~    24      0       0176
++~     "
++ap    "
++ti    "
++char161       24      0       0241
++char162       24      0       0242
++char163       24      0       0243
++char164       24      0       0244
++char165       24      0       0245
++char166       24      0       0246
++char167       24      0       0247
++char168       24      0       0250
++char169       24      0       0251
++char170       24      0       0252
++char171       24      0       0253
++char172       24      0       0254
++char173       24      0       0255 
++char174       24      0       0256
++char175       24      0       0257
++char176       24      0       0260
++char177       24      0       0261
++char178       24      0       0262
++char179       24      0       0263
++char180       24      0       0264
++char181       24      0       0265
++char182       24      0       0266
++char183       24      0       0267
++char184       24      0       0270
++char185       24      0       0271
++char186       24      0       0272
++char187       24      0       0273
++char188       24      0       0274
++char189       24      0       0275
++char190       24      0       0276
++char191       24      0       0277
++char192       24      0       0300
++char193       24      0       0301
++char194       24      0       0302
++char195       24      0       0303
++char196       24      0       0304
++char197       24      0       0305
++char198       24      0       0306
++char199       24      0       0307
++char200       24      0       0310
++char201       24      0       0311
++char202       24      0       0312
++char203       24      0       0313
++char204       24      0       0314
++char205       24      0       0315
++char206       24      0       0316
++char207       24      0       0317
++char208       24      0       0320
++char209       24      0       0321
++char210       24      0       0322
++char211       24      0       0323
++char212       24      0       0324
++char213       24      0       0325
++char214       24      0       0326
++char215       24      0       0327
++char216       24      0       0330
++char217       24      0       0331
++char218       24      0       0332
++char219       24      0       0333
++char220       24      0       0334
++char221       24      0       0335
++char222       24      0       0336
++char223       24      0       0337
++char224       24      0       0340
++char225       24      0       0341
++char226       24      0       0342
++char227       24      0       0343
++char228       24      0       0344
++char229       24      0       0345
++char230       24      0       0346
++char231       24      0       0347
++char232       24      0       0350
++char233       24      0       0351
++char234       24      0       0352
++char235       24      0       0353
++char236       24      0       0354
++char237       24      0       0355
++char238       24      0       0356
++char239       24      0       0357
++char240       24      0       0360
++char241       24      0       0361
++char242       24      0       0362
++char243       24      0       0363
++char244       24      0       0364
++char245       24      0       0365
++char246       24      0       0366
++char247       24      0       0367
++char248       24      0       0370
++char249       24      0       0371
++char250       24      0       0372
++char251       24      0       0373
++char252       24      0       0374
++char253       24      0       0375
++char254       24      0       0376
++char255       24      0       0377
+--- groff-1.18.1.1.orig/font/devascii8/DESC.proto
++++ groff-1.18.1.1/font/devascii8/DESC.proto
+@@ -0,0 +1,8 @@
++res 240
++hor 24
++vert 40
++unitwidth 10
++sizes 10 0
++fonts 4 R I B BI
++tcommand
++postpro grotty
+--- groff-1.18.1.1.orig/font/devX100/DESC
++++ groff-1.18.1.1/font/devX100/DESC
+@@ -1,5 +1,17 @@
+ styles R I B BI
+-fonts 6 0 0 0 0 0 S
++fonts 8 0 0 0 0 0 S M G
++fontset B G 2E00..9FFF
++fontset CB G 2E00..9FFF
++fontset HB G 2E00..9FFF
++fontset NB G 2E00..9FFF
++fontset TB G 2E00..9FFF
++fontset - M 2E00..9FFF
++fontset B G FF00..FFEF
++fontset CB G FF00..FFEF
++fontset HB G FF00..FFEF
++fontset NB G FF00..FFEF
++fontset TB G FF00..FFEF
++fontset - M FF00..FFEF
+ sizes 8 10 12 14 18 24 0
+ res 100
+ X11
+--- groff-1.18.1.1.orig/font/devX100/M.proto
++++ groff-1.18.1.1/font/devX100/M.proto
+@@ -0,0 +1,5 @@
++name M
++spacewidth 3
++charset
++u2E00..u9FFF 20 0
++uFF00..uFFEF 20 0
+--- groff-1.18.1.1.orig/font/devX100/Makefile.sub
++++ groff-1.18.1.1/font/devX100/Makefile.sub
+@@ -1,2 +1,13 @@
+ DEV=X100
+-DEVFILES=DESC TR TI TB TBI CR CI CB CBI HR HI HB HBI NR NI NB NBI S
++DEVFILES=DESC TR TI TB TBI CR CI CB CBI HR HI HB HBI NR NI NB NBI S M G
++CLEANADD=M G
++
++M: M.proto
++      @echo Making M
++      @-rm -f M
++      @cat $(srcdir)/M.proto > M
++
++G: M
++      @echo Making G
++      @-rm -f G
++      @sed -e 's/name M/name G/' M > G
+--- groff-1.18.1.1.orig/font/devX100-12/DESC
++++ groff-1.18.1.1/font/devX100-12/DESC
+@@ -1,5 +1,17 @@
+ styles R I B BI
+-fonts 6 0 0 0 0 0 S
++fonts 8 0 0 0 0 0 S M G
++fontset B G 2E00..9FFF
++fontset CB G 2E00..9FFF
++fontset HB G 2E00..9FFF
++fontset NB G 2E00..9FFF
++fontset TB G 2E00..9FFF
++fontset - M 2E00..9FFF
++fontset B G FF00..FFEF
++fontset CB G FF00..FFEF
++fontset HB G FF00..FFEF
++fontset NB G FF00..FFEF
++fontset TB G FF00..FFEF
++fontset - M FF00..FFEF
+ sizes 8 10 12 14 18 24 0
+ res 100
+ X11
+--- groff-1.18.1.1.orig/font/devX100-12/M.proto
++++ groff-1.18.1.1/font/devX100-12/M.proto
+@@ -0,0 +1,5 @@
++name M
++spacewidth 4
++charset
++u2E00..u9FFF 20 0
++uFF00..uFFEF 20 0
+--- groff-1.18.1.1.orig/font/devX100-12/Makefile.sub
++++ groff-1.18.1.1/font/devX100-12/Makefile.sub
+@@ -1,2 +1,14 @@
+ DEV=X100-12
+-DEVFILES=DESC TR TI TB TBI CR CI CB CBI HR HI HB HBI NR NI NB NBI S
++DEVFILES=DESC TR TI TB TBI CR CI CB CBI HR HI HB HBI NR NI NB NBI S M G
++CLEANADD=M G
++
++M: M.proto
++      @echo Making M
++      @-rm -f M
++      @cat $(srcdir)/M.proto > M
++
++G: M
++      @echo Making G
++      @-rm -f G
++      @sed -e 's/name M/name G/' M > G
++
+--- groff-1.18.1.1.orig/font/devlj4/Makefile.sub
++++ groff-1.18.1.1/font/devlj4/Makefile.sub
+@@ -22,9 +22,9 @@
+       echo "unitwidth `expr 7620000 / $(LJ4RES)`" >>DESC
+       cat $(srcdir)/DESC.in >>DESC
+       if test "$(PAGE)" = A4; then \
+-        echo "papersize a4" >>DESC; \
++        echo "papersize /etc/papersize a4" >>DESC; \
+       else \
+-        echo "papersize letter" >>DESC; \
++        echo "papersize /etc/papersize letter" >>DESC; \
+       fi
+       test -z '$(LJ4PRINT)' || echo print '$(LJ4PRINT)' >>DESC
+--- groff-1.18.1.1.orig/font/devnippon/M.proto
++++ groff-1.18.1.1/font/devnippon/M.proto
+@@ -0,0 +1,6 @@
++name M
++internalname 4
++spacewidth 48
++charset
++u2E00..u9FFF 48 0
++uFF00..uFFEF 48 0
+--- groff-1.18.1.1.orig/font/devnippon/Makefile.sub
++++ groff-1.18.1.1/font/devnippon/Makefile.sub
+@@ -0,0 +1,48 @@
++DEV=nippon
++FONTS=R I B BI
++WFONTS=M G
++ALLFONTS=$(FONTS) $(WFONTS)
++DEVFILES=$(ALLFONTS) DESC
++CLEANADD=$(ALLFONTS) DESC
++
++RES=240
++CPI=10
++LPI=6
++
++$(FONTS): R.proto
++      @echo Making $@
++      @-rm -f $@
++      @(charwidth=`expr $(RES) / $(CPI)` ; \
++       sed -e "s/^name [A-Z]*$$/name $@/" \
++           -e "s/^\\([^       ]*\\)   [0-9][0-9]*     /\\1    $$charwidth     /" \
++           -e "s/^spacewidth [0-9][0-9]*$$/spacewidth $$charwidth/" \
++           -e "s/^internalname .*$$/internalname $@/" \
++           -e "/^internalname/s/BI/3/" \
++           -e "/^internalname/s/B/2/" \
++           -e "/^internalname/s/I/1/" \
++           -e "/^internalname .*[^ 0-9]/d" \
++           $(srcdir)/R.proto >$@)
++
++M: M.proto
++      @echo Making M
++      @-rm -f M
++      @(wcharwidth=`expr $(RES) / $(CPI) \* 2` ; \
++        spacewidth=`expr $(RES) / $(CPI)` ; \
++        sed -e "s/^spacewidth [0-9][0-9]*$$/spacewidth $$spacewidth/" \
++            -e "s/^u\\([0-9A-F]*\\)..u\\([0-9A-F]*\\) [0-9][0-9]*/u\\1..u\\2 $$wcharwidth/" \
++        $(srcdir)/M.proto > $@)
++
++G: M
++      @echo Making G
++      @-rm -f G
++      @sed -e 's/name M/name G/' \
++          -e 's/internalname 4/internalname 5/' M > G
++              
++DESC: DESC.proto
++      @echo Making $@
++      @-rm -f $@
++      @sed -e "s/^res .*$$/res $(RES)/" \
++          -e "s/^hor .*$$/hor `expr $(RES) / $(CPI)`/" \
++          -e "s/^vert .*$$/vert `expr $(RES) / $(LPI)`/" \
++          -e "s/^fonts .*$$/fonts `set $(ALLFONTS); echo $$#` $(ALLFONTS)/" \
++          $(srcdir)/DESC.proto >$@
+--- groff-1.18.1.1.orig/font/devnippon/R.proto
++++ groff-1.18.1.1/font/devnippon/R.proto
+@@ -0,0 +1,167 @@
++name R
++internalname 0
++spacewidth 24
++charset
++!     24      0       0041
++"     24      0       0042
++dq    "
++lq    "
++rq    "
++#     24      0       0043
++sh    "
++$     24      0       0044
++Do    "
++%     24      0       0045
++&     24      0       0046
++'     24      0       0047
++aa    "
++fm    "
++aq    "
++cq    "
++(     24      0       0050
++)     24      0       0051
++*     24      0       0052
++**    "
+++     24      0       0053
++pl    "
++,     24      0       0054
++\-    24      0       0055
++hy    "
++-     "
++mi    "
++en    "
++.     24      0       0056
++/     24      0       0057
++sl    "
++f/    "
++0     24      0       0060
++1     24      0       0061
++2     24      0       0062
++3     24      0       0063
++4     24      0       0064
++5     24      0       0065
++6     24      0       0066
++7     24      0       0067
++8     24      0       0070
++9     24      0       0071
++:     24      0       0072
++;     24      0       0073
++<     24      0       0074
++la    "
++fo    "
++=     24      0       0075
++eq    "
++>     24      0       0076
++ra    "
++fc    "
++?     24      0       0077
++@     24      0       0100
++at    "
++A     24      0       0101
++*A    "
++B     24      0       0102
++*B    "
++C     24      0       0103
++D     24      0       0104
++E     24      0       0105
++*E    "
++F     24      0       0106
++G     24      0       0107
++H     24      0       0110
++*Y    "
++I     24      0       0111
++*I    "
++J     24      0       0112
++K     24      0       0113
++*K    "
++L     24      0       0114
++M     24      0       0115
++*M    "
++N     24      0       0116
++*N    "
++O     24      0       0117
++ci    "
++*O    "
++P     24      0       0120
++*R    "
++Q     24      0       0121
++R     24      0       0122
++S     24      0       0123
++T     24      0       0124
++*T    "
++U     24      0       0125
++V     24      0       0126
++W     24      0       0127
++X     24      0       0130
++*X    "
++Y     24      0       0131
++*U    "
++Z     24      0       0132
++*Z    "
++[     24      0       0133
++lB    "
++\     24      0       0134
++rs    "
++]     24      0       0135
++rB    "
++a^    24      0       0136
++^     "
++ha    "
++_     24      0       0137
++ru    "
++ul    "
++`     24      0       0140
++oq    "
++ga    "
++a     24      0       0141
++b     24      0       0142
++c     24      0       0143
++d     24      0       0144
++e     24      0       0145
++f     24      0       0146
++g     24      0       0147
++h     24      0       0150
++i     24      0       0151
++.i    "
++j     24      0       0152
++k     24      0       0153
++l     24      0       0154
++m     24      0       0155
++n     24      0       0156
++o     24      0       0157
++*o    "
++p     24      0       0160
++q     24      0       0161
++r     24      0       0162
++s     24      0       0163
++t     24      0       0164
++u     24      0       0165
++v     24      0       0166
++w     24      0       0167
++x     24      0       0170
++mu    "
++y     24      0       0171
++z     24      0       0172
++lC    24      0       0173
++{     "
++ba    24      0       0174
++or    "
++bv    "
++br    "
++|     "
++lb    "
++lc    "
++lf    "
++lk    "
++lt    "
++rb    "
++rc    "
++rf    "
++rk    "
++rt    "
++rC    24      0       0175
++}     "
++a~    24      0       0176
++~     "
++ap    "
++ti    "
+--- groff-1.18.1.1.orig/font/devnippon/DESC.proto
++++ groff-1.18.1.1/font/devnippon/DESC.proto
+@@ -0,0 +1,12 @@
++res 240
++hor 24
++vert 40
++unitwidth 10
++sizes 10 0
++fonts 6 R I B BI M G
++fontset B G 2E00..9FFF
++fontset - M 2E00..9FFF
++fontset B G FF00..FFEF
++fontset - M FF00..FFEF
++tcommand
++postpro grotty
+--- groff-1.18.1.1.orig/font/devps/M.proto
++++ groff-1.18.1.1/font/devps/M.proto
+@@ -0,0 +1,9 @@
++name M
++internalname Ryumin-Light-EUC-H
++spacewidth 250
++encodingname EUC-JP
++charset
++u2E00..u9FFF 1000 3
++uFF00..uFF5F 1000 3
++uFF60..uFF9F 500 3
++uFFA0..uFFEF 1000 3
+--- groff-1.18.1.1.orig/font/devps/DESC.in
++++ groff-1.18.1.1/font/devps/DESC.in
+@@ -1,11 +1,33 @@
+ res 72000
+ hor 1
+ vert 1
++lowerwchar 300
++wcharkern 400
+ sizescale 1000
+ unitwidth 1000
+ sizes 1000-10000000 0
+ styles R I B BI
+ family T
+-fonts 9 0 0 0 0 0 SS S ZD ZDR
++fonts 11 0 0 0 0 0 SS S ZD ZDR M G
++fontset B G 2E00..9FFF
++fontset AB G 2E00..9FFF
++fontset BMB G 2E00..9FFF
++fontset CB G 2E00..9FFF
++fontset HB G 2E00..9FFF
++fontset HNB G 2E00..9FFF
++fontset NB G 2E00..9FFF
++fontset PB G 2E00..9FFF
++fontset TB G 2E00..9FFF
++fontset - M 2E00..9FFF
++fontset B G FF00..FFEF
++fontset AB G FF00..FFEF
++fontset BMB G FF00..FFEF
++fontset CB G FF00..FFEF
++fontset HB G FF00..FFEF
++fontset HNB G FF00..FFEF
++fontset NB G FF00..FFEF
++fontset PB G FF00..FFEF
++fontset TB G FF00..FFEF
++fontset - M FF00..FFEF
+ tcommand
+ postpro grops
+--- groff-1.18.1.1.orig/font/devps/Makefile.sub
++++ groff-1.18.1.1/font/devps/Makefile.sub
+@@ -2,23 +2,23 @@
+ DISTFILES=text.enc download \
+   S ZD ZDR SS AB ABI AI AR BMB BMBI BMI BMR \
+   CB CBI CI CR HB HBI HI HR HNB HNBI HNI HNR \
+-  NB NBI NI NR PB PBI PI PR TB TBI TI TR ZCMI
++  NB NBI NI NR PB PBI PI PR TB TBI TI TR ZCMI M G
+ PSFILES=prologue symbolsl.pfa zapfdr.pfa
+ DEVGENFILES=generate/Makefile generate/afmname generate/dingbats.map \
+   generate/dingbats.rmap generate/lgreekmap generate/symbol.sed \
+   generate/symbolchars generate/symbolsl.afm generate/textmap
+ DEVFILES=DESC $(PSFILES) $(DISTFILES) $(DEVGENFILES)
+-CLEANADD=DESC $(PSFILES)
++CLEANADD=DESC $(PSFILES) M G
+ DESC: DESC.in
+       -rm -f DESC
+       cat $(srcdir)/DESC.in >DESC
+       echo broken $(BROKEN_SPOOLER_FLAGS) >>DESC
+       if test "$(PAGE)" = A4; then \
+-        echo "papersize a4" >>DESC; \
++        echo "papersize /etc/papersize a4" >>DESC; \
+       else \
+-        echo "papersize letter" >>DESC; \
++        echo "papersize /etc/papersize letter" >>DESC; \
+       fi
+       test -z '$(PSPRINT)' || echo print '$(PSPRINT)' >>DESC
+@@ -33,3 +33,14 @@
+ $(PSFILES):
+       -rm -f $@
+       sed -f $(srcdir)/psstrip.sed $? >$@
++
++M: M.proto
++      @echo Making M
++      @-rm -f M
++      @cp M.proto M
++
++G: M
++      @echo Making G
++      @-rm -f G
++      @sed -e 's/name M/name G/' \
++          -e 's/internalname Ryumin-Light-EUC-H/internalname GothicBBB-Medium-EUC-H/' M > G
+--- groff-1.18.1.1.orig/font/devutf8/M.proto
++++ groff-1.18.1.1/font/devutf8/M.proto
+@@ -0,0 +1,6 @@
++name M
++internalname 4
++spacewidth 48
++charset
++u2E00..u9FFF 48 0
++uFF00..uFFEF 48 0
+--- groff-1.18.1.1.orig/font/devutf8/Makefile.sub
++++ groff-1.18.1.1/font/devutf8/Makefile.sub
+@@ -1,7 +1,8 @@
+ DEV=utf8
+ FONTS=R I B BI
+-DEVFILES=$(FONTS) DESC
+-CLEANADD=$(FONTS) DESC
++WFONTS=M G
++DEVFILES=$(FONTS) $(WFONTS) DESC
++CLEANADD=$(FONTS) $(WFONTS) DESC
+ RES=240
+ CPI=10
+@@ -12,8 +13,8 @@
+       @-rm -f $@
+       @(charwidth=`expr $(RES) / $(CPI)` ; \
+        sed -e "s/^name [A-Z]*$$/name $@/" \
+-           -e "s/^\\([^       ]*\\)   [0-9]+  /\\1    $$charwidth     /" \
+-           -e "s/^spacewidth [0-9]+$$/spacewidth $$charwidth/" \
++           -e "s/^\\([^       ]*\\)   [0-9][0-9]*     /\\1    $$charwidth     /" \
++           -e "s/^spacewidth [0-9][0-9]*$$/spacewidth $$charwidth/" \
+            -e "s/^internalname .*$$/internalname $@/" \
+            -e "/^internalname/s/BI/3/" \
+            -e "/^internalname/s/B/2/" \
+@@ -21,12 +22,27 @@
+            -e "/^internalname .*[^ 0-9]/d" \
+            $(srcdir)/R.proto >$@)
++M: M.proto
++      @echo Making M
++      @-rm -f M
++      (wcharwidth=`expr $(RES) / $(CPI) \* 2` ; \
++        spacewidth=`expr $(RES) / $(CPI)` ; \
++        sed -e "s/^spacewidth [0-9][0-9]*$$/spacewidth $$spacewidth/" \
++            -e "s/^u\\([0-9A-F]*\\)..u\\([0-9A-F]*\\) [0-9][0-9]*/u\\1..u\\2 $$wcharwidth/" \
++        $(srcdir)/M.proto > $@)
++
++G: M
++      @echo Making G
++      @-rm -f G
++      @sed -e 's/name M/name G/' \
++          -e 's/internalname 4/internalname 5/' M > G
++
+ DESC: DESC.proto
+       @echo Making $@
+       @-rm -f $@
+       @sed -e "s/^res .*$$/res $(RES)/" \
+           -e "s/^hor .*$$/hor `expr $(RES) / $(CPI)`/" \
+           -e "s/^vert .*$$/vert `expr $(RES) / $(LPI)`/" \
+-          -e "s/^fonts .*$$/fonts `set $(FONTS); echo $$#` $(FONTS)/" \
++          -e "s/^fonts .*$$/fonts `set $(FONTS) $(WFONTS); echo $$#` $(FONTS) $(WFONTS)/" \
+           $(srcdir)/DESC.proto >$@
+--- groff-1.18.1.1.orig/font/devutf8/DESC.proto
++++ groff-1.18.1.1/font/devutf8/DESC.proto
+@@ -3,6 +3,10 @@
+ vert 40
+ unitwidth 10
+ sizes 10 0
+-fonts 4 R I B BI
++fonts 6 R I B BI M G
++fontset B G 2E00..9FFF
++fontset B G FF00..FFEF
++fontset - M 2E00..9FFF
++fontset - M FF00..FFEF
+ tcommand
+ postpro grotty
+--- groff-1.18.1.1.orig/font/devhtml/M.proto
++++ groff-1.18.1.1/font/devhtml/M.proto
+@@ -0,0 +1,5 @@
++name M
++spacewidth 16
++charset
++u2E00..u9FFF 16,14,2 0
++uFF00..uFFEF 16,14,2 0
+--- groff-1.18.1.1.orig/font/devhtml/Makefile.sub
++++ groff-1.18.1.1/font/devhtml/Makefile.sub
+@@ -1,8 +1,10 @@
+ DEV=html
+ PROTOFONTS=R I B BI CR CI CB CBI
+ FONTS=$(PROTOFONTS) S
+-DEVFILES=$(FONTS) DESC
+-CLEANADD=$(FONTS) DESC
++WFONTS=M G
++ALLFONTS=$(FONTS) $(WFONTS)
++DEVFILES=$(ALLFONTS) DESC
++CLEANADD=$(ALLFONTS) DESC
+ RES=240
+ CPI=10
+@@ -13,8 +15,8 @@
+       @-rm -f $@
+       @(charwidth=`expr $(RES) / $(CPI)` ; \
+        sed -e "s/^name [A-Z]*$$/name $@/" \
+-           -e "s/^\\([^       ]*\\)   [0-9]+  /\\1    $$charwidth     /" \
+-           -e "s/^spacewidth [0-9]+$$/spacewidth $$charwidth/" \
++           -e "s/^\\([^       ]*\\)   [0-9][0-9]*     /\\1    $$charwidth     /" \
++           -e "s/^spacewidth [0-9][0-9]*$$/spacewidth $$charwidth/" \
+            -e "s/^internalname .*$$/internalname $@/" \
+            -e "/^internalname/s/CR/4/" \
+            -e "/^internalname/s/BI/3/" \
+@@ -29,6 +31,19 @@
+       @sed -e "s/^res .*$$/res $(RES)/" \
+           -e "s/^hor .*$$/hor `expr $(RES) / $(CPI)`/" \
+           -e "s/^vert .*$$/vert `expr $(RES) / $(LPI)`/" \
+-          -e "s/^fonts .*$$/fonts `set $(FONTS); echo $$#` $(FONTS)/" \
++          -e "s/^fonts .*$$/fonts `set $(ALLFONTS); echo $$#` $(ALLFONTS)/" \
+           $(srcdir)/DESC.proto >$@
++M: M.proto
++      @echo Making M
++      @-rm -f M
++      @(wcharwidth=`expr $(RES) / $(CPI) \* 2`; \
++        spacewidth=`expr $(RES) / $(CPI)`; \
++       sed -e "s/^u\\([0-9A-F]*\\)..u\\([0-9A-F]*\\) [0-9][0-9]*/u\\1..u\\2 $$wcharwidth/" \
++           -e "s/^spacewidth [0-9][0-9]*$$/spacewidth $$spacewidth/" \
++         $(srcdir)/M.proto > $@)
++
++G: M
++      @echo Making G
++      @-rm -f G
++      @sed -e 's/name M/name G/' M > G
+--- groff-1.18.1.1.orig/font/devhtml/DESC.proto
++++ groff-1.18.1.1/font/devhtml/DESC.proto
+@@ -3,7 +3,11 @@
+ vert 40
+ unitwidth 10
+ sizes 6 8 10 12 14 16 18 0
+-fonts 9 R I B BI CR CI CB CBI S
++fonts 11 R I B BI CR CI CB CBI S M G
++fontset B G 2E00..9FFF
++fontset - M 2E00..9FFF
++fontset B G FF00..FFEF
++fontset - M FF00..FFEF
+ tcommand
+ html
+ postpro post-grohtml
+--- groff-1.18.1.1.orig/font/devX75-12/DESC
++++ groff-1.18.1.1/font/devX75-12/DESC
+@@ -1,5 +1,17 @@
+ styles R I B BI
+-fonts 6 0 0 0 0 0 S
++fonts 8 0 0 0 0 0 S M G
++fontset B G 2E00..9FFF
++fontset CB G 2E00..9FFF
++fontset HB G 2E00..9FFF
++fontset NB G 2E00..9FFF
++fontset TB G 2E00..9FFF
++fontset - M 2E00..9FFF
++fontset B G FF00..FFEF
++fontset CB G FF00..FFEF
++fontset HB G FF00..FFEF
++fontset NB G FF00..FFEF
++fontset TB G FF00..FFEF
++fontset - M FF00..FFEF
+ sizes 8 10 12 14 18 24 0
+ res 75
+ X11
+--- groff-1.18.1.1.orig/font/devX75-12/M.proto
++++ groff-1.18.1.1/font/devX75-12/M.proto
+@@ -0,0 +1,5 @@
++name M
++spacewidth 2
++charset
++u2E00..u9FFF 12 0
++uFF00..uFFEF 12 0
+--- groff-1.18.1.1.orig/font/devX75-12/Makefile.sub
++++ groff-1.18.1.1/font/devX75-12/Makefile.sub
+@@ -1,2 +1,13 @@
+ DEV=X75-12
+-DEVFILES=DESC TR TI TB TBI CR CI CB CBI HR HI HB HBI NR NI NB NBI S
++DEVFILES=DESC TR TI TB TBI CR CI CB CBI HR HI HB HBI NR NI NB NBI S M G
++CLEANADD=M G
++
++M: M.proto
++      @echo Making M
++      @-rm -f M
++      @cat $(srcdir)/M.proto > M
++
++G: M
++      @echo Making G
++      @-rm -f G
++      @sed -e 's/name M/name G/' M > G
+--- groff-1.18.1.1.orig/font/devdvi/M.proto-NTT
++++ groff-1.18.1.1/font/devdvi/M.proto-NTT
+@@ -0,0 +1,6882 @@
++name M
++internalname dmj10
++checksum 0
++designsize 10485760
++charset
++¡¡    F       1:0
++¡¢    F       2:0
++¡£    F       3:0
++¡¤    F       4:0
++¡¥    F       5:0
++¡¦    F       6:0
++¡§    F       7:0
++¡¨    F       8:0
++¡©    F       9:0
++¡ª    F       10:0
++¡«    F       11:0
++¡¬    F       12:0
++¡­    F       13:0
++¡®    F       14:0
++¡¯    F       15:0
++¡°    F       16:0
++¡±    F       17:0
++¡²    F       18:0
++¡³    F       19:0
++¡´    F       20:0
++¡µ    F       21:0
++¡¶    F       22:0
++¡·    F       23:0
++¡¸    F       24:0
++¡¹    F       25:0
++¡º    F       26:0
++¡»    F       27:0
++¡¼    F       28:0
++¡½    F       29:0
++¡¾    F       30:0
++¡¿    F       31:0
++¡À    F       32:0
++¡Á    F       33:0
++¡Â    F       34:0
++¡Ã    F       35:0
++¡Ä    F       36:0
++¡Å    F       37:0
++¡Æ    F       38:0
++¡Ç    F       39:0
++¡È    F       40:0
++¡É    F       41:0
++¡Ê    F       42:0
++¡Ë    F       43:0
++¡Ì    F       44:0
++¡Í    F       45:0
++¡Î    F       46:0
++¡Ï    F       47:0
++¡Ð    F       48:0
++¡Ñ    F       49:0
++¡Ò    F       50:0
++¡Ó    F       51:0
++¡Ô    F       52:0
++¡Õ    F       53:0
++¡Ö    F       54:0
++¡×    F       55:0
++¡Ø    F       56:0
++¡Ù    F       57:0
++¡Ú    F       58:0
++¡Û    F       59:0
++¡Ü    F       60:0
++¡Ý    F       61:0
++¡Þ    F       62:0
++¡ß    F       63:0
++¡à    F       64:0
++¡á    F       65:0
++¡â    F       66:0
++¡ã    F       67:0
++¡ä    F       68:0
++¡å    F       69:0
++¡æ    F       70:0
++¡ç    F       71:0
++¡è    F       72:0
++¡é    F       73:0
++¡ê    F       74:0
++¡ë    F       75:0
++¡ì    F       76:0
++¡í    F       77:0
++¡î    F       78:0
++¡ï    F       79:0
++¡ð    F       80:0
++¡ñ    F       81:0
++¡ò    F       82:0
++¡ó    F       83:0
++¡ô    F       84:0
++¡õ    F       85:0
++¡ö    F       86:0
++¡÷    F       87:0
++¡ø    F       88:0
++¡ù    F       89:0
++¡ú    F       90:0
++¡û    F       91:0
++¡ü    F       92:0
++¡ý    F       93:0
++¡þ    F       94:0
++¢¡    F       101:0
++¢¢    F       102:0
++¢£    F       103:0
++¢¤    F       104:0
++¢¥    F       105:0
++¢¦    F       106:0
++¢§    F       107:0
++¢¨    F       108:0
++¢©    F       109:0
++¢ª    F       110:0
++¢«    F       111:0
++¢¬    F       112:0
++¢­    F       113:0
++¢®    F       114:0
++¢º    F       126:0
++¢»    F       127:0
++¢¼    F       128:0
++¢½    F       129:0
++¢¾    F       130:0
++¢¿    F       131:0
++¢À    F       132:0
++¢Á    F       133:0
++¢Ê    F       142:0
++¢Ë    F       143:0
++¢Ì    F       144:0
++¢Í    F       145:0
++¢Î    F       146:0
++¢Ï    F       147:0
++¢Ð    F       148:0
++¢Ü    F       160:0
++¢Ý    F       161:0
++¢Þ    F       162:0
++¢ß    F       163:0
++¢à    F       164:0
++¢á    F       165:0
++¢â    F       166:0
++¢ã    F       167:0
++¢ä    F       168:0
++¢å    F       169:0
++¢æ    F       170:0
++¢ç    F       171:0
++¢è    F       172:0
++¢é    F       173:0
++¢ê    F       174:0
++¢ò    F       182:0
++¢ó    F       183:0
++¢ô    F       184:0
++¢õ    F       185:0
++¢ö    F       186:0
++¢÷    F       187:0
++¢ø    F       188:0
++¢ù    F       189:0
++¢þ    F       194:0
++£°    F       48:1
++£±    F       49:1
++£²    F       50:1
++£³    F       51:1
++£´    F       52:1
++£µ    F       53:1
++£¶    F       54:1
++£·    F       55:1
++£¸    F       56:1
++£¹    F       57:1
++£Á    F       65:1
++£Â    F       66:1
++£Ã    F       67:1
++£Ä    F       68:1
++£Å    F       69:1
++£Æ    F       70:1
++£Ç    F       71:1
++£È    F       72:1
++£É    F       73:1
++£Ê    F       74:1
++£Ë    F       75:1
++£Ì    F       76:1
++£Í    F       77:1
++£Î    F       78:1
++£Ï    F       79:1
++£Ð    F       80:1
++£Ñ    F       81:1
++£Ò    F       82:1
++£Ó    F       83:1
++£Ô    F       84:1
++£Õ    F       85:1
++£Ö    F       86:1
++£×    F       87:1
++£Ø    F       88:1
++£Ù    F       89:1
++£Ú    F       90:1
++£á    F       97:1
++£â    F       98:1
++£ã    F       99:1
++£ä    F       100:1
++£å    F       101:1
++£æ    F       102:1
++£ç    F       103:1
++£è    F       104:1
++£é    F       105:1
++£ê    F       106:1
++£ë    F       107:1
++£ì    F       108:1
++£í    F       109:1
++£î    F       110:1
++£ï    F       111:1
++£ð    F       112:1
++£ñ    F       113:1
++£ò    F       114:1
++£ó    F       115:1
++£ô    F       116:1
++£õ    F       117:1
++£ö    F       118:1
++£÷    F       119:1
++£ø    F       120:1
++£ù    F       121:1
++£ú    F       122:1
++¤¡    F       1:2
++¤¢    F       2:2
++¤£    F       3:2
++¤¤    F       4:2
++¤¥    F       5:2
++¤¦    F       6:2
++¤§    F       7:2
++¤¨    F       8:2
++¤©    F       9:2
++¤ª    F       10:2
++¤«    F       11:2
++¤¬    F       12:2
++¤­    F       13:2
++¤®    F       14:2
++¤¯    F       15:2
++¤°    F       16:2
++¤±    F       17:2
++¤²    F       18:2
++¤³    F       19:2
++¤´    F       20:2
++¤µ    F       21:2
++¤¶    F       22:2
++¤·    F       23:2
++¤¸    F       24:2
++¤¹    F       25:2
++¤º    F       26:2
++¤»    F       27:2
++¤¼    F       28:2
++¤½    F       29:2
++¤¾    F       30:2
++¤¿    F       31:2
++¤À    F       32:2
++¤Á    F       33:2
++¤Â    F       34:2
++¤Ã    F       35:2
++¤Ä    F       36:2
++¤Å    F       37:2
++¤Æ    F       38:2
++¤Ç    F       39:2
++¤È    F       40:2
++¤É    F       41:2
++¤Ê    F       42:2
++¤Ë    F       43:2
++¤Ì    F       44:2
++¤Í    F       45:2
++¤Î    F       46:2
++¤Ï    F       47:2
++¤Ð    F       48:2
++¤Ñ    F       49:2
++¤Ò    F       50:2
++¤Ó    F       51:2
++¤Ô    F       52:2
++¤Õ    F       53:2
++¤Ö    F       54:2
++¤×    F       55:2
++¤Ø    F       56:2
++¤Ù    F       57:2
++¤Ú    F       58:2
++¤Û    F       59:2
++¤Ü    F       60:2
++¤Ý    F       61:2
++¤Þ    F       62:2
++¤ß    F       63:2
++¤à    F       64:2
++¤á    F       65:2
++¤â    F       66:2
++¤ã    F       67:2
++¤ä    F       68:2
++¤å    F       69:2
++¤æ    F       70:2
++¤ç    F       71:2
++¤è    F       72:2
++¤é    F       73:2
++¤ê    F       74:2
++¤ë    F       75:2
++¤ì    F       76:2
++¤í    F       77:2
++¤î    F       78:2
++¤ï    F       79:2
++¤ð    F       80:2
++¤ñ    F       81:2
++¤ò    F       82:2
++¤ó    F       83:2
++¥¡    F       1:3
++¥¢    F       2:3
++¥£    F       3:3
++¥¤    F       4:3
++¥¥    F       5:3
++¥¦    F       6:3
++¥§    F       7:3
++¥¨    F       8:3
++¥©    F       9:3
++¥ª    F       10:3
++¥«    F       11:3
++¥¬    F       12:3
++¥­    F       13:3
++¥®    F       14:3
++¥¯    F       15:3
++¥°    F       16:3
++¥±    F       17:3
++¥²    F       18:3
++¥³    F       19:3
++¥´    F       20:3
++¥µ    F       21:3
++¥¶    F       22:3
++¥·    F       23:3
++¥¸    F       24:3
++¥¹    F       25:3
++¥º    F       26:3
++¥»    F       27:3
++¥¼    F       28:3
++¥½    F       29:3
++¥¾    F       30:3
++¥¿    F       31:3
++¥À    F       32:3
++¥Á    F       33:3
++¥Â    F       34:3
++¥Ã    F       35:3
++¥Ä    F       36:3
++¥Å    F       37:3
++¥Æ    F       38:3
++¥Ç    F       39:3
++¥È    F       40:3
++¥É    F       41:3
++¥Ê    F       42:3
++¥Ë    F       43:3
++¥Ì    F       44:3
++¥Í    F       45:3
++¥Î    F       46:3
++¥Ï    F       47:3
++¥Ð    F       48:3
++¥Ñ    F       49:3
++¥Ò    F       50:3
++¥Ó    F       51:3
++¥Ô    F       52:3
++¥Õ    F       53:3
++¥Ö    F       54:3
++¥×    F       55:3
++¥Ø    F       56:3
++¥Ù    F       57:3
++¥Ú    F       58:3
++¥Û    F       59:3
++¥Ü    F       60:3
++¥Ý    F       61:3
++¥Þ    F       62:3
++¥ß    F       63:3
++¥à    F       64:3
++¥á    F       65:3
++¥â    F       66:3
++¥ã    F       67:3
++¥ä    F       68:3
++¥å    F       69:3
++¥æ    F       70:3
++¥ç    F       71:3
++¥è    F       72:3
++¥é    F       73:3
++¥ê    F       74:3
++¥ë    F       75:3
++¥ì    F       76:3
++¥í    F       77:3
++¥î    F       78:3
++¥ï    F       79:3
++¥ð    F       80:3
++¥ñ    F       81:3
++¥ò    F       82:3
++¥ó    F       83:3
++¥ô    F       84:3
++¥õ    F       85:3
++¥ö    F       86:3
++¦¡    F       1:4
++¦¢    F       2:4
++¦£    F       3:4
++¦¤    F       4:4
++¦¥    F       5:4
++¦¦    F       6:4
++¦§    F       7:4
++¦¨    F       8:4
++¦©    F       9:4
++¦ª    F       10:4
++¦«    F       11:4
++¦¬    F       12:4
++¦­    F       13:4
++¦®    F       14:4
++¦¯    F       15:4
++¦°    F       16:4
++¦±    F       17:4
++¦²    F       18:4
++¦³    F       19:4
++¦´    F       20:4
++¦µ    F       21:4
++¦¶    F       22:4
++¦·    F       23:4
++¦¸    F       24:4
++¦Á    F       33:4
++¦Â    F       34:4
++¦Ã    F       35:4
++¦Ä    F       36:4
++¦Å    F       37:4
++¦Æ    F       38:4
++¦Ç    F       39:4
++¦È    F       40:4
++¦É    F       41:4
++¦Ê    F       42:4
++¦Ë    F       43:4
++¦Ì    F       44:4
++¦Í    F       45:4
++¦Î    F       46:4
++¦Ï    F       47:4
++¦Ð    F       48:4
++¦Ñ    F       49:4
++¦Ò    F       50:4
++¦Ó    F       51:4
++¦Ô    F       52:4
++¦Õ    F       53:4
++¦Ö    F       54:4
++¦×    F       55:4
++¦Ø    F       56:4
++§¡    F       1:5
++§¢    F       2:5
++§£    F       3:5
++§¤    F       4:5
++§¥    F       5:5
++§¦    F       6:5
++§§    F       7:5
++§¨    F       8:5
++§©    F       9:5
++§ª    F       10:5
++§«    F       11:5
++§¬    F       12:5
++§­    F       13:5
++§®    F       14:5
++§¯    F       15:5
++§°    F       16:5
++§±    F       17:5
++§²    F       18:5
++§³    F       19:5
++§´    F       20:5
++§µ    F       21:5
++§¶    F       22:5
++§·    F       23:5
++§¸    F       24:5
++§¹    F       25:5
++§º    F       26:5
++§»    F       27:5
++§¼    F       28:5
++§½    F       29:5
++§¾    F       30:5
++§¿    F       31:5
++§À    F       32:5
++§Á    F       33:5
++§Ñ    F       49:5
++§Ò    F       50:5
++§Ó    F       51:5
++§Ô    F       52:5
++§Õ    F       53:5
++§Ö    F       54:5
++§×    F       55:5
++§Ø    F       56:5
++§Ù    F       57:5
++§Ú    F       58:5
++§Û    F       59:5
++§Ü    F       60:5
++§Ý    F       61:5
++§Þ    F       62:5
++§ß    F       63:5
++§à    F       64:5
++§á    F       65:5
++§â    F       66:5
++§ã    F       67:5
++§ä    F       68:5
++§å    F       69:5
++§æ    F       70:5
++§ç    F       71:5
++§è    F       72:5
++§é    F       73:5
++§ê    F       74:5
++§ë    F       75:5
++§ì    F       76:5
++§í    F       77:5
++§î    F       78:5
++§ï    F       79:5
++§ð    F       80:5
++§ñ    F       81:5
++¨¡    F       1:6
++¨¢    F       2:6
++¨£    F       3:6
++¨¤    F       4:6
++¨¥    F       5:6
++¨¦    F       6:6
++¨§    F       7:6
++¨¨    F       8:6
++¨©    F       9:6
++¨ª    F       10:6
++¨«    F       11:6
++¨¬    F       12:6
++¨­    F       13:6
++¨®    F       14:6
++¨¯    F       15:6
++¨°    F       16:6
++¨±    F       17:6
++¨²    F       18:6
++¨³    F       19:6
++¨´    F       20:6
++¨µ    F       21:6
++¨¶    F       22:6
++¨·    F       23:6
++¨¸    F       24:6
++¨¹    F       25:6
++¨º    F       26:6
++¨»    F       27:6
++¨¼    F       28:6
++¨½    F       29:6
++¨¾    F       30:6
++¨¿    F       31:6
++¨À    F       32:6
++°¡    F       0:a
++°¢    F       1:a
++°£    F       2:a
++°¤    F       3:a
++°¥    F       4:a
++°¦    F       5:a
++°§    F       6:a
++°¨    F       7:a
++°©    F       8:a
++°ª    F       9:a
++°«    F       10:a
++°¬    F       11:a
++°­    F       12:a
++°®    F       13:a
++°¯    F       14:a
++°°    F       15:a
++°±    F       16:a
++°²    F       17:a
++°³    F       18:a
++°´    F       19:a
++°µ    F       20:a
++°¶    F       21:a
++°·    F       22:a
++°¸    F       23:a
++°¹    F       24:a
++°º    F       25:a
++°»    F       26:a
++°¼    F       27:a
++°½    F       28:a
++°¾    F       29:a
++°¿    F       30:a
++°À    F       31:a
++°Á    F       32:a
++°Â    F       33:a
++°Ã    F       34:a
++°Ä    F       35:a
++°Å    F       36:a
++°Æ    F       37:a
++°Ç    F       38:a
++°È    F       39:a
++°É    F       40:a
++°Ê    F       41:a
++°Ë    F       42:a
++°Ì    F       43:a
++°Í    F       44:a
++°Î    F       45:a
++°Ï    F       46:a
++°Ð    F       47:a
++°Ñ    F       48:a
++°Ò    F       49:a
++°Ó    F       50:a
++°Ô    F       51:a
++°Õ    F       52:a
++°Ö    F       53:a
++°×    F       54:a
++°Ø    F       55:a
++°Ù    F       56:a
++°Ú    F       57:a
++°Û    F       58:a
++°Ü    F       59:a
++°Ý    F       60:a
++°Þ    F       61:a
++°ß    F       62:a
++°à    F       63:a
++°á    F       64:a
++°â    F       65:a
++°ã    F       66:a
++°ä    F       67:a
++°å    F       68:a
++°æ    F       69:a
++°ç    F       70:a
++°è    F       71:a
++°é    F       72:a
++°ê    F       73:a
++°ë    F       74:a
++°ì    F       75:a
++°í    F       76:a
++°î    F       77:a
++°ï    F       78:a
++°ð    F       79:a
++°ñ    F       80:a
++°ò    F       81:a
++°ó    F       82:a
++°ô    F       83:a
++°õ    F       84:a
++°ö    F       85:a
++°÷    F       86:a
++°ø    F       87:a
++°ù    F       88:a
++°ú    F       89:a
++°û    F       90:a
++°ü    F       91:a
++°ý    F       92:a
++°þ    F       93:a
++±¡    F       94:a
++±¢    F       95:a
++±£    F       96:a
++±¤    F       97:a
++±¥    F       98:a
++±¦    F       99:a
++±§    F       100:a
++±¨    F       101:a
++±©    F       102:a
++±ª    F       103:a
++±«    F       104:a
++±¬    F       105:a
++±­    F       106:a
++±®    F       107:a
++±¯    F       108:a
++±°    F       109:a
++±±    F       110:a
++±²    F       111:a
++±³    F       112:a
++±´    F       113:a
++±µ    F       114:a
++±¶    F       115:a
++±·    F       116:a
++±¸    F       117:a
++±¹    F       118:a
++±º    F       119:a
++±»    F       120:a
++±¼    F       121:a
++±½    F       122:a
++±¾    F       123:a
++±¿    F       124:a
++±À    F       125:a
++±Á    F       126:a
++±Â    F       127:a
++±Ã    F       128:a
++±Ä    F       129:a
++±Å    F       130:a
++±Æ    F       131:a
++±Ç    F       132:a
++±È    F       133:a
++±É    F       134:a
++±Ê    F       135:a
++±Ë    F       136:a
++±Ì    F       137:a
++±Í    F       138:a
++±Î    F       139:a
++±Ï    F       140:a
++±Ð    F       141:a
++±Ñ    F       142:a
++±Ò    F       143:a
++±Ó    F       144:a
++±Ô    F       145:a
++±Õ    F       146:a
++±Ö    F       147:a
++±×    F       148:a
++±Ø    F       149:a
++±Ù    F       150:a
++±Ú    F       151:a
++±Û    F       152:a
++±Ü    F       153:a
++±Ý    F       154:a
++±Þ    F       155:a
++±ß    F       156:a
++±à    F       157:a
++±á    F       158:a
++±â    F       159:a
++±ã    F       160:a
++±ä    F       161:a
++±å    F       162:a
++±æ    F       163:a
++±ç    F       164:a
++±è    F       165:a
++±é    F       166:a
++±ê    F       167:a
++±ë    F       168:a
++±ì    F       169:a
++±í    F       170:a
++±î    F       171:a
++±ï    F       172:a
++±ð    F       173:a
++±ñ    F       174:a
++±ò    F       175:a
++±ó    F       176:a
++±ô    F       177:a
++±õ    F       178:a
++±ö    F       179:a
++±÷    F       180:a
++±ø    F       181:a
++±ù    F       182:a
++±ú    F       183:a
++±û    F       184:a
++±ü    F       185:a
++±ý    F       186:a
++±þ    F       187:a
++²¡    F       188:a
++²¢    F       189:a
++²£    F       190:a
++²¤    F       191:a
++²¥    F       192:a
++²¦    F       193:a
++²§    F       194:a
++²¨    F       195:a
++²©    F       196:a
++²ª    F       197:a
++²«    F       198:a
++²¬    F       199:a
++²­    F       200:a
++²®    F       201:a
++²¯    F       202:a
++²°    F       203:a
++²±    F       204:a
++²²    F       205:a
++²³    F       206:a
++²´    F       207:a
++²µ    F       208:a
++²¶    F       209:a
++²·    F       210:a
++²¸    F       211:a
++²¹    F       212:a
++²º    F       213:a
++²»    F       214:a
++²¼    F       215:a
++²½    F       216:a
++²¾    F       217:a
++²¿    F       218:a
++²À    F       219:a
++²Á    F       220:a
++²Â    F       221:a
++²Ã    F       222:a
++²Ä    F       223:a
++²Å    F       224:a
++²Æ    F       225:a
++²Ç    F       226:a
++²È    F       227:a
++²É    F       228:a
++²Ê    F       229:a
++²Ë    F       230:a
++²Ì    F       231:a
++²Í    F       232:a
++²Î    F       233:a
++²Ï    F       234:a
++²Ð    F       235:a
++²Ñ    F       236:a
++²Ò    F       237:a
++²Ó    F       238:a
++²Ô    F       239:a
++²Õ    F       240:a
++²Ö    F       241:a
++²×    F       242:a
++²Ø    F       243:a
++²Ù    F       244:a
++²Ú    F       245:a
++²Û    F       246:a
++²Ü    F       247:a
++²Ý    F       248:a
++²Þ    F       249:a
++²ß    F       250:a
++²à    F       251:a
++²á    F       252:a
++²â    F       253:a
++²ã    F       254:a
++²ä    F       255:a
++²å    F       0:b
++²æ    F       1:b
++²ç    F       2:b
++²è    F       3:b
++²é    F       4:b
++²ê    F       5:b
++²ë    F       6:b
++²ì    F       7:b
++²í    F       8:b
++²î    F       9:b
++²ï    F       10:b
++²ð    F       11:b
++²ñ    F       12:b
++²ò    F       13:b
++²ó    F       14:b
++²ô    F       15:b
++²õ    F       16:b
++²ö    F       17:b
++²÷    F       18:b
++²ø    F       19:b
++²ù    F       20:b
++²ú    F       21:b
++²û    F       22:b
++²ü    F       23:b
++²ý    F       24:b
++²þ    F       25:b
++³¡    F       26:b
++³¢    F       27:b
++³£    F       28:b
++³¤    F       29:b
++³¥    F       30:b
++³¦    F       31:b
++³§    F       32:b
++³¨    F       33:b
++³©    F       34:b
++³ª    F       35:b
++³«    F       36:b
++³¬    F       37:b
++³­    F       38:b
++³®    F       39:b
++³¯    F       40:b
++³°    F       41:b
++³±    F       42:b
++³²    F       43:b
++³³    F       44:b
++³´    F       45:b
++³µ    F       46:b
++³¶    F       47:b
++³·    F       48:b
++³¸    F       49:b
++³¹    F       50:b
++³º    F       51:b
++³»    F       52:b
++³¼    F       53:b
++³½    F       54:b
++³¾    F       55:b
++³¿    F       56:b
++³À    F       57:b
++³Á    F       58:b
++³Â    F       59:b
++³Ã    F       60:b
++³Ä    F       61:b
++³Å    F       62:b
++³Æ    F       63:b
++³Ç    F       64:b
++³È    F       65:b
++³É    F       66:b
++³Ê    F       67:b
++³Ë    F       68:b
++³Ì    F       69:b
++³Í    F       70:b
++³Î    F       71:b
++³Ï    F       72:b
++³Ð    F       73:b
++³Ñ    F       74:b
++³Ò    F       75:b
++³Ó    F       76:b
++³Ô    F       77:b
++³Õ    F       78:b
++³Ö    F       79:b
++³×    F       80:b
++³Ø    F       81:b
++³Ù    F       82:b
++³Ú    F       83:b
++³Û    F       84:b
++³Ü    F       85:b
++³Ý    F       86:b
++³Þ    F       87:b
++³ß    F       88:b
++³à    F       89:b
++³á    F       90:b
++³â    F       91:b
++³ã    F       92:b
++³ä    F       93:b
++³å    F       94:b
++³æ    F       95:b
++³ç    F       96:b
++³è    F       97:b
++³é    F       98:b
++³ê    F       99:b
++³ë    F       100:b
++³ì    F       101:b
++³í    F       102:b
++³î    F       103:b
++³ï    F       104:b
++³ð    F       105:b
++³ñ    F       106:b
++³ò    F       107:b
++³ó    F       108:b
++³ô    F       109:b
++³õ    F       110:b
++³ö    F       111:b
++³÷    F       112:b
++³ø    F       113:b
++³ù    F       114:b
++³ú    F       115:b
++³û    F       116:b
++³ü    F       117:b
++³ý    F       118:b
++³þ    F       119:b
++´¡    F       120:b
++´¢    F       121:b
++´£    F       122:b
++´¤    F       123:b
++´¥    F       124:b
++´¦    F       125:b
++´§    F       126:b
++´¨    F       127:b
++´©    F       128:b
++´ª    F       129:b
++´«    F       130:b
++´¬    F       131:b
++´­    F       132:b
++´®    F       133:b
++´¯    F       134:b
++´°    F       135:b
++´±    F       136:b
++´²    F       137:b
++´³    F       138:b
++´´    F       139:b
++´µ    F       140:b
++´¶    F       141:b
++´·    F       142:b
++´¸    F       143:b
++´¹    F       144:b
++´º    F       145:b
++´»    F       146:b
++´¼    F       147:b
++´½    F       148:b
++´¾    F       149:b
++´¿    F       150:b
++´À    F       151:b
++´Á    F       152:b
++´Â    F       153:b
++´Ã    F       154:b
++´Ä    F       155:b
++´Å    F       156:b
++´Æ    F       157:b
++´Ç    F       158:b
++´È    F       159:b
++´É    F       160:b
++´Ê    F       161:b
++´Ë    F       162:b
++´Ì    F       163:b
++´Í    F       164:b
++´Î    F       165:b
++´Ï    F       166:b
++´Ð    F       167:b
++´Ñ    F       168:b
++´Ò    F       169:b
++´Ó    F       170:b
++´Ô    F       171:b
++´Õ    F       172:b
++´Ö    F       173:b
++´×    F       174:b
++´Ø    F       175:b
++´Ù    F       176:b
++´Ú    F       177:b
++´Û    F       178:b
++´Ü    F       179:b
++´Ý    F       180:b
++´Þ    F       181:b
++´ß    F       182:b
++´à    F       183:b
++´á    F       184:b
++´â    F       185:b
++´ã    F       186:b
++´ä    F       187:b
++´å    F       188:b
++´æ    F       189:b
++´ç    F       190:b
++´è    F       191:b
++´é    F       192:b
++´ê    F       193:b
++´ë    F       194:b
++´ì    F       195:b
++´í    F       196:b
++´î    F       197:b
++´ï    F       198:b
++´ð    F       199:b
++´ñ    F       200:b
++´ò    F       201:b
++´ó    F       202:b
++´ô    F       203:b
++´õ    F       204:b
++´ö    F       205:b
++´÷    F       206:b
++´ø    F       207:b
++´ù    F       208:b
++´ú    F       209:b
++´û    F       210:b
++´ü    F       211:b
++´ý    F       212:b
++´þ    F       213:b
++µ¡    F       214:b
++µ¢    F       215:b
++µ£    F       216:b
++µ¤    F       217:b
++µ¥    F       218:b
++µ¦    F       219:b
++µ§    F       220:b
++µ¨    F       221:b
++µ©    F       222:b
++µª    F       223:b
++µ«    F       224:b
++µ¬    F       225:b
++µ­    F       226:b
++µ®    F       227:b
++µ¯    F       228:b
++µ°    F       229:b
++µ±    F       230:b
++µ²    F       231:b
++µ³    F       232:b
++µ´    F       233:b
++µµ    F       234:b
++µ¶    F       235:b
++µ·    F       236:b
++µ¸    F       237:b
++µ¹    F       238:b
++µº    F       239:b
++µ»    F       240:b
++µ¼    F       241:b
++µ½    F       242:b
++µ¾    F       243:b
++µ¿    F       244:b
++µÀ    F       245:b
++µÁ    F       246:b
++µÂ    F       247:b
++µÃ    F       248:b
++µÄ    F       249:b
++µÅ    F       250:b
++µÆ    F       251:b
++µÇ    F       252:b
++µÈ    F       253:b
++µÉ    F       254:b
++µÊ    F       255:b
++µË    F       0:c
++µÌ    F       1:c
++µÍ    F       2:c
++µÎ    F       3:c
++µÏ    F       4:c
++µÐ    F       5:c
++µÑ    F       6:c
++µÒ    F       7:c
++µÓ    F       8:c
++µÔ    F       9:c
++µÕ    F       10:c
++µÖ    F       11:c
++µ×    F       12:c
++µØ    F       13:c
++µÙ    F       14:c
++µÚ    F       15:c
++µÛ    F       16:c
++µÜ    F       17:c
++µÝ    F       18:c
++µÞ    F       19:c
++µß    F       20:c
++µà    F       21:c
++µá    F       22:c
++µâ    F       23:c
++µã    F       24:c
++µä    F       25:c
++µå    F       26:c
++µæ    F       27:c
++µç    F       28:c
++µè    F       29:c
++µé    F       30:c
++µê    F       31:c
++µë    F       32:c
++µì    F       33:c
++µí    F       34:c
++µî    F       35:c
++µï    F       36:c
++µð    F       37:c
++µñ    F       38:c
++µò    F       39:c
++µó    F       40:c
++µô    F       41:c
++µõ    F       42:c
++µö    F       43:c
++µ÷    F       44:c
++µø    F       45:c
++µù    F       46:c
++µú    F       47:c
++µû    F       48:c
++µü    F       49:c
++µý    F       50:c
++µþ    F       51:c
++¶¡    F       52:c
++¶¢    F       53:c
++¶£    F       54:c
++¶¤    F       55:c
++¶¥    F       56:c
++¶¦    F       57:c
++¶§    F       58:c
++¶¨    F       59:c
++¶©    F       60:c
++¶ª    F       61:c
++¶«    F       62:c
++¶¬    F       63:c
++¶­    F       64:c
++¶®    F       65:c
++¶¯    F       66:c
++¶°    F       67:c
++¶±    F       68:c
++¶²    F       69:c
++¶³    F       70:c
++¶´    F       71:c
++¶µ    F       72:c
++¶¶    F       73:c
++¶·    F       74:c
++¶¸    F       75:c
++¶¹    F       76:c
++¶º    F       77:c
++¶»    F       78:c
++¶¼    F       79:c
++¶½    F       80:c
++¶¾    F       81:c
++¶¿    F       82:c
++¶À    F       83:c
++¶Á    F       84:c
++¶Â    F       85:c
++¶Ã    F       86:c
++¶Ä    F       87:c
++¶Å    F       88:c
++¶Æ    F       89:c
++¶Ç    F       90:c
++¶È    F       91:c
++¶É    F       92:c
++¶Ê    F       93:c
++¶Ë    F       94:c
++¶Ì    F       95:c
++¶Í    F       96:c
++¶Î    F       97:c
++¶Ï    F       98:c
++¶Ð    F       99:c
++¶Ñ    F       100:c
++¶Ò    F       101:c
++¶Ó    F       102:c
++¶Ô    F       103:c
++¶Õ    F       104:c
++¶Ö    F       105:c
++¶×    F       106:c
++¶Ø    F       107:c
++¶Ù    F       108:c
++¶Ú    F       109:c
++¶Û    F       110:c
++¶Ü    F       111:c
++¶Ý    F       112:c
++¶Þ    F       113:c
++¶ß    F       114:c
++¶à    F       115:c
++¶á    F       116:c
++¶â    F       117:c
++¶ã    F       118:c
++¶ä    F       119:c
++¶å    F       120:c
++¶æ    F       121:c
++¶ç    F       122:c
++¶è    F       123:c
++¶é    F       124:c
++¶ê    F       125:c
++¶ë    F       126:c
++¶ì    F       127:c
++¶í    F       128:c
++¶î    F       129:c
++¶ï    F       130:c
++¶ð    F       131:c
++¶ñ    F       132:c
++¶ò    F       133:c
++¶ó    F       134:c
++¶ô    F       135:c
++¶õ    F       136:c
++¶ö    F       137:c
++¶÷    F       138:c
++¶ø    F       139:c
++¶ù    F       140:c
++¶ú    F       141:c
++¶û    F       142:c
++¶ü    F       143:c
++¶ý    F       144:c
++¶þ    F       145:c
++·¡    F       146:c
++·¢    F       147:c
++·£    F       148:c
++·¤    F       149:c
++·¥    F       150:c
++·¦    F       151:c
++·§    F       152:c
++·¨    F       153:c
++·©    F       154:c
++·ª    F       155:c
++·«    F       156:c
++·¬    F       157:c
++·­    F       158:c
++·®    F       159:c
++·¯    F       160:c
++·°    F       161:c
++·±    F       162:c
++·²    F       163:c
++·³    F       164:c
++·´    F       165:c
++·µ    F       166:c
++·¶    F       167:c
++··    F       168:c
++·¸    F       169:c
++·¹    F       170:c
++·º    F       171:c
++·»    F       172:c
++·¼    F       173:c
++·½    F       174:c
++·¾    F       175:c
++·¿    F       176:c
++·À    F       177:c
++·Á    F       178:c
++·Â    F       179:c
++·Ã    F       180:c
++·Ä    F       181:c
++·Å    F       182:c
++·Æ    F       183:c
++·Ç    F       184:c
++·È    F       185:c
++·É    F       186:c
++·Ê    F       187:c
++·Ë    F       188:c
++·Ì    F       189:c
++·Í    F       190:c
++·Î    F       191:c
++·Ï    F       192:c
++·Ð    F       193:c
++·Ñ    F       194:c
++·Ò    F       195:c
++·Ó    F       196:c
++·Ô    F       197:c
++·Õ    F       198:c
++·Ö    F       199:c
++·×    F       200:c
++·Ø    F       201:c
++·Ù    F       202:c
++·Ú    F       203:c
++·Û    F       204:c
++·Ü    F       205:c
++·Ý    F       206:c
++·Þ    F       207:c
++·ß    F       208:c
++·à    F       209:c
++·á    F       210:c
++·â    F       211:c
++·ã    F       212:c
++·ä    F       213:c
++·å    F       214:c
++·æ    F       215:c
++·ç    F       216:c
++·è    F       217:c
++·é    F       218:c
++·ê    F       219:c
++·ë    F       220:c
++·ì    F       221:c
++·í    F       222:c
++·î    F       223:c
++·ï    F       224:c
++·ð    F       225:c
++·ñ    F       226:c
++·ò    F       227:c
++·ó    F       228:c
++·ô    F       229:c
++·õ    F       230:c
++·ö    F       231:c
++·÷    F       232:c
++·ø    F       233:c
++·ù    F       234:c
++·ú    F       235:c
++·û    F       236:c
++·ü    F       237:c
++·ý    F       238:c
++·þ    F       239:c
++¸¡    F       240:c
++¸¢    F       241:c
++¸£    F       242:c
++¸¤    F       243:c
++¸¥    F       244:c
++¸¦    F       245:c
++¸§    F       246:c
++¸¨    F       247:c
++¸©    F       248:c
++¸ª    F       249:c
++¸«    F       250:c
++¸¬    F       251:c
++¸­    F       252:c
++¸®    F       253:c
++¸¯    F       254:c
++¸°    F       255:c
++¸±    F       0:d
++¸²    F       1:d
++¸³    F       2:d
++¸´    F       3:d
++¸µ    F       4:d
++¸¶    F       5:d
++¸·    F       6:d
++¸¸    F       7:d
++¸¹    F       8:d
++¸º    F       9:d
++¸»    F       10:d
++¸¼    F       11:d
++¸½    F       12:d
++¸¾    F       13:d
++¸¿    F       14:d
++¸À    F       15:d
++¸Á    F       16:d
++¸Â    F       17:d
++¸Ã    F       18:d
++¸Ä    F       19:d
++¸Å    F       20:d
++¸Æ    F       21:d
++¸Ç    F       22:d
++¸È    F       23:d
++¸É    F       24:d
++¸Ê    F       25:d
++¸Ë    F       26:d
++¸Ì    F       27:d
++¸Í    F       28:d
++¸Î    F       29:d
++¸Ï    F       30:d
++¸Ð    F       31:d
++¸Ñ    F       32:d
++¸Ò    F       33:d
++¸Ó    F       34:d
++¸Ô    F       35:d
++¸Õ    F       36:d
++¸Ö    F       37:d
++¸×    F       38:d
++¸Ø    F       39:d
++¸Ù    F       40:d
++¸Ú    F       41:d
++¸Û    F       42:d
++¸Ü    F       43:d
++¸Ý    F       44:d
++¸Þ    F       45:d
++¸ß    F       46:d
++¸à    F       47:d
++¸á    F       48:d
++¸â    F       49:d
++¸ã    F       50:d
++¸ä    F       51:d
++¸å    F       52:d
++¸æ    F       53:d
++¸ç    F       54:d
++¸è    F       55:d
++¸é    F       56:d
++¸ê    F       57:d
++¸ë    F       58:d
++¸ì    F       59:d
++¸í    F       60:d
++¸î    F       61:d
++¸ï    F       62:d
++¸ð    F       63:d
++¸ñ    F       64:d
++¸ò    F       65:d
++¸ó    F       66:d
++¸ô    F       67:d
++¸õ    F       68:d
++¸ö    F       69:d
++¸÷    F       70:d
++¸ø    F       71:d
++¸ù    F       72:d
++¸ú    F       73:d
++¸û    F       74:d
++¸ü    F       75:d
++¸ý    F       76:d
++¸þ    F       77:d
++¹¡    F       78:d
++¹¢    F       79:d
++¹£    F       80:d
++¹¤    F       81:d
++¹¥    F       82:d
++¹¦    F       83:d
++¹§    F       84:d
++¹¨    F       85:d
++¹©    F       86:d
++¹ª    F       87:d
++¹«    F       88:d
++¹¬    F       89:d
++¹­    F       90:d
++¹®    F       91:d
++¹¯    F       92:d
++¹°    F       93:d
++¹±    F       94:d
++¹²    F       95:d
++¹³    F       96:d
++¹´    F       97:d
++¹µ    F       98:d
++¹¶    F       99:d
++¹·    F       100:d
++¹¸    F       101:d
++¹¹    F       102:d
++¹º    F       103:d
++¹»    F       104:d
++¹¼    F       105:d
++¹½    F       106:d
++¹¾    F       107:d
++¹¿    F       108:d
++¹À    F       109:d
++¹Á    F       110:d
++¹Â    F       111:d
++¹Ã    F       112:d
++¹Ä    F       113:d
++¹Å    F       114:d
++¹Æ    F       115:d
++¹Ç    F       116:d
++¹È    F       117:d
++¹É    F       118:d
++¹Ê    F       119:d
++¹Ë    F       120:d
++¹Ì    F       121:d
++¹Í    F       122:d
++¹Î    F       123:d
++¹Ï    F       124:d
++¹Ð    F       125:d
++¹Ñ    F       126:d
++¹Ò    F       127:d
++¹Ó    F       128:d
++¹Ô    F       129:d
++¹Õ    F       130:d
++¹Ö    F       131:d
++¹×    F       132:d
++¹Ø    F       133:d
++¹Ù    F       134:d
++¹Ú    F       135:d
++¹Û    F       136:d
++¹Ü    F       137:d
++¹Ý    F       138:d
++¹Þ    F       139:d
++¹ß    F       140:d
++¹à    F       141:d
++¹á    F       142:d
++¹â    F       143:d
++¹ã    F       144:d
++¹ä    F       145:d
++¹å    F       146:d
++¹æ    F       147:d
++¹ç    F       148:d
++¹è    F       149:d
++¹é    F       150:d
++¹ê    F       151:d
++¹ë    F       152:d
++¹ì    F       153:d
++¹í    F       154:d
++¹î    F       155:d
++¹ï    F       156:d
++¹ð    F       157:d
++¹ñ    F       158:d
++¹ò    F       159:d
++¹ó    F       160:d
++¹ô    F       161:d
++¹õ    F       162:d
++¹ö    F       163:d
++¹÷    F       164:d
++¹ø    F       165:d
++¹ù    F       166:d
++¹ú    F       167:d
++¹û    F       168:d
++¹ü    F       169:d
++¹ý    F       170:d
++¹þ    F       171:d
++º¡    F       172:d
++º¢    F       173:d
++º£    F       174:d
++º¤    F       175:d
++º¥    F       176:d
++º¦    F       177:d
++º§    F       178:d
++º¨    F       179:d
++º©    F       180:d
++ºª    F       181:d
++º«    F       182:d
++º¬    F       183:d
++º­    F       184:d
++º®    F       185:d
++º¯    F       186:d
++º°    F       187:d
++º±    F       188:d
++º²    F       189:d
++º³    F       190:d
++º´    F       191:d
++ºµ    F       192:d
++º¶    F       193:d
++º·    F       194:d
++º¸    F       195:d
++º¹    F       196:d
++ºº    F       197:d
++º»    F       198:d
++º¼    F       199:d
++º½    F       200:d
++º¾    F       201:d
++º¿    F       202:d
++ºÀ    F       203:d
++ºÁ    F       204:d
++ºÂ    F       205:d
++ºÃ    F       206:d
++ºÄ    F       207:d
++ºÅ    F       208:d
++ºÆ    F       209:d
++ºÇ    F       210:d
++ºÈ    F       211:d
++ºÉ    F       212:d
++ºÊ    F       213:d
++ºË    F       214:d
++ºÌ    F       215:d
++ºÍ    F       216:d
++ºÎ    F       217:d
++ºÏ    F       218:d
++ºÐ    F       219:d
++ºÑ    F       220:d
++ºÒ    F       221:d
++ºÓ    F       222:d
++ºÔ    F       223:d
++ºÕ    F       224:d
++ºÖ    F       225:d
++º×    F       226:d
++ºØ    F       227:d
++ºÙ    F       228:d
++ºÚ    F       229:d
++ºÛ    F       230:d
++ºÜ    F       231:d
++ºÝ    F       232:d
++ºÞ    F       233:d
++ºß    F       234:d
++ºà    F       235:d
++ºá    F       236:d
++ºâ    F       237:d
++ºã    F       238:d
++ºä    F       239:d
++ºå    F       240:d
++ºæ    F       241:d
++ºç    F       242:d
++ºè    F       243:d
++ºé    F       244:d
++ºê    F       245:d
++ºë    F       246:d
++ºì    F       247:d
++ºí    F       248:d
++ºî    F       249:d
++ºï    F       250:d
++ºð    F       251:d
++ºñ    F       252:d
++ºò    F       253:d
++ºó    F       254:d
++ºô    F       255:d
++ºõ    F       0:e
++ºö    F       1:e
++º÷    F       2:e
++ºø    F       3:e
++ºù    F       4:e
++ºú    F       5:e
++ºû    F       6:e
++ºü    F       7:e
++ºý    F       8:e
++ºþ    F       9:e
++»¡    F       10:e
++»¢    F       11:e
++»£    F       12:e
++»¤    F       13:e
++»¥    F       14:e
++»¦    F       15:e
++»§    F       16:e
++»¨    F       17:e
++»©    F       18:e
++»ª    F       19:e
++»«    F       20:e
++»¬    F       21:e
++»­    F       22:e
++»®    F       23:e
++»¯    F       24:e
++»°    F       25:e
++»±    F       26:e
++»²    F       27:e
++»³    F       28:e
++»´    F       29:e
++»µ    F       30:e
++»¶    F       31:e
++»·    F       32:e
++»¸    F       33:e
++»¹    F       34:e
++»º    F       35:e
++»»    F       36:e
++»¼    F       37:e
++»½    F       38:e
++»¾    F       39:e
++»¿    F       40:e
++»À    F       41:e
++»Á    F       42:e
++»Â    F       43:e
++»Ã    F       44:e
++»Ä    F       45:e
++»Å    F       46:e
++»Æ    F       47:e
++»Ç    F       48:e
++»È    F       49:e
++»É    F       50:e
++»Ê    F       51:e
++»Ë    F       52:e
++»Ì    F       53:e
++»Í    F       54:e
++»Î    F       55:e
++»Ï    F       56:e
++»Ð    F       57:e
++»Ñ    F       58:e
++»Ò    F       59:e
++»Ó    F       60:e
++»Ô    F       61:e
++»Õ    F       62:e
++»Ö    F       63:e
++»×    F       64:e
++»Ø    F       65:e
++»Ù    F       66:e
++»Ú    F       67:e
++»Û    F       68:e
++»Ü    F       69:e
++»Ý    F       70:e
++»Þ    F       71:e
++»ß    F       72:e
++»à    F       73:e
++»á    F       74:e
++»â    F       75:e
++»ã    F       76:e
++»ä    F       77:e
++»å    F       78:e
++»æ    F       79:e
++»ç    F       80:e
++»è    F       81:e
++»é    F       82:e
++»ê    F       83:e
++»ë    F       84:e
++»ì    F       85:e
++»í    F       86:e
++»î    F       87:e
++»ï    F       88:e
++»ð    F       89:e
++»ñ    F       90:e
++»ò    F       91:e
++»ó    F       92:e
++»ô    F       93:e
++»õ    F       94:e
++»ö    F       95:e
++»÷    F       96:e
++»ø    F       97:e
++»ù    F       98:e
++»ú    F       99:e
++»û    F       100:e
++»ü    F       101:e
++»ý    F       102:e
++»þ    F       103:e
++¼¡    F       104:e
++¼¢    F       105:e
++¼£    F       106:e
++¼¤    F       107:e
++¼¥    F       108:e
++¼¦    F       109:e
++¼§    F       110:e
++¼¨    F       111:e
++¼©    F       112:e
++¼ª    F       113:e
++¼«    F       114:e
++¼¬    F       115:e
++¼­    F       116:e
++¼®    F       117:e
++¼¯    F       118:e
++¼°    F       119:e
++¼±    F       120:e
++¼²    F       121:e
++¼³    F       122:e
++¼´    F       123:e
++¼µ    F       124:e
++¼¶    F       125:e
++¼·    F       126:e
++¼¸    F       127:e
++¼¹    F       128:e
++¼º    F       129:e
++¼»    F       130:e
++¼¼    F       131:e
++¼½    F       132:e
++¼¾    F       133:e
++¼¿    F       134:e
++¼À    F       135:e
++¼Á    F       136:e
++¼Â    F       137:e
++¼Ã    F       138:e
++¼Ä    F       139:e
++¼Å    F       140:e
++¼Æ    F       141:e
++¼Ç    F       142:e
++¼È    F       143:e
++¼É    F       144:e
++¼Ê    F       145:e
++¼Ë    F       146:e
++¼Ì    F       147:e
++¼Í    F       148:e
++¼Î    F       149:e
++¼Ï    F       150:e
++¼Ð    F       151:e
++¼Ñ    F       152:e
++¼Ò    F       153:e
++¼Ó    F       154:e
++¼Ô    F       155:e
++¼Õ    F       156:e
++¼Ö    F       157:e
++¼×    F       158:e
++¼Ø    F       159:e
++¼Ù    F       160:e
++¼Ú    F       161:e
++¼Û    F       162:e
++¼Ü    F       163:e
++¼Ý    F       164:e
++¼Þ    F       165:e
++¼ß    F       166:e
++¼à    F       167:e
++¼á    F       168:e
++¼â    F       169:e
++¼ã    F       170:e
++¼ä    F       171:e
++¼å    F       172:e
++¼æ    F       173:e
++¼ç    F       174:e
++¼è    F       175:e
++¼é    F       176:e
++¼ê    F       177:e
++¼ë    F       178:e
++¼ì    F       179:e
++¼í    F       180:e
++¼î    F       181:e
++¼ï    F       182:e
++¼ð    F       183:e
++¼ñ    F       184:e
++¼ò    F       185:e
++¼ó    F       186:e
++¼ô    F       187:e
++¼õ    F       188:e
++¼ö    F       189:e
++¼÷    F       190:e
++¼ø    F       191:e
++¼ù    F       192:e
++¼ú    F       193:e
++¼û    F       194:e
++¼ü    F       195:e
++¼ý    F       196:e
++¼þ    F       197:e
++½¡    F       198:e
++½¢    F       199:e
++½£    F       200:e
++½¤    F       201:e
++½¥    F       202:e
++½¦    F       203:e
++½§    F       204:e
++½¨    F       205:e
++½©    F       206:e
++½ª    F       207:e
++½«    F       208:e
++½¬    F       209:e
++½­    F       210:e
++½®    F       211:e
++½¯    F       212:e
++½°    F       213:e
++½±    F       214:e
++½²    F       215:e
++½³    F       216:e
++½´    F       217:e
++½µ    F       218:e
++½¶    F       219:e
++½·    F       220:e
++½¸    F       221:e
++½¹    F       222:e
++½º    F       223:e
++½»    F       224:e
++½¼    F       225:e
++½½    F       226:e
++½¾    F       227:e
++½¿    F       228:e
++½À    F       229:e
++½Á    F       230:e
++½Â    F       231:e
++½Ã    F       232:e
++½Ä    F       233:e
++½Å    F       234:e
++½Æ    F       235:e
++½Ç    F       236:e
++½È    F       237:e
++½É    F       238:e
++½Ê    F       239:e
++½Ë    F       240:e
++½Ì    F       241:e
++½Í    F       242:e
++½Î    F       243:e
++½Ï    F       244:e
++½Ð    F       245:e
++½Ñ    F       246:e
++½Ò    F       247:e
++½Ó    F       248:e
++½Ô    F       249:e
++½Õ    F       250:e
++½Ö    F       251:e
++½×    F       252:e
++½Ø    F       253:e
++½Ù    F       254:e
++½Ú    F       255:e
++½Û    F       0:f
++½Ü    F       1:f
++½Ý    F       2:f
++½Þ    F       3:f
++½ß    F       4:f
++½à    F       5:f
++½á    F       6:f
++½â    F       7:f
++½ã    F       8:f
++½ä    F       9:f
++½å    F       10:f
++½æ    F       11:f
++½ç    F       12:f
++½è    F       13:f
++½é    F       14:f
++½ê    F       15:f
++½ë    F       16:f
++½ì    F       17:f
++½í    F       18:f
++½î    F       19:f
++½ï    F       20:f
++½ð    F       21:f
++½ñ    F       22:f
++½ò    F       23:f
++½ó    F       24:f
++½ô    F       25:f
++½õ    F       26:f
++½ö    F       27:f
++½÷    F       28:f
++½ø    F       29:f
++½ù    F       30:f
++½ú    F       31:f
++½û    F       32:f
++½ü    F       33:f
++½ý    F       34:f
++½þ    F       35:f
++¾¡    F       36:f
++¾¢    F       37:f
++¾£    F       38:f
++¾¤    F       39:f
++¾¥    F       40:f
++¾¦    F       41:f
++¾§    F       42:f
++¾¨    F       43:f
++¾©    F       44:f
++¾ª    F       45:f
++¾«    F       46:f
++¾¬    F       47:f
++¾­    F       48:f
++¾®    F       49:f
++¾¯    F       50:f
++¾°    F       51:f
++¾±    F       52:f
++¾²    F       53:f
++¾³    F       54:f
++¾´    F       55:f
++¾µ    F       56:f
++¾¶    F       57:f
++¾·    F       58:f
++¾¸    F       59:f
++¾¹    F       60:f
++¾º    F       61:f
++¾»    F       62:f
++¾¼    F       63:f
++¾½    F       64:f
++¾¾    F       65:f
++¾¿    F       66:f
++¾À    F       67:f
++¾Á    F       68:f
++¾Â    F       69:f
++¾Ã    F       70:f
++¾Ä    F       71:f
++¾Å    F       72:f
++¾Æ    F       73:f
++¾Ç    F       74:f
++¾È    F       75:f
++¾É    F       76:f
++¾Ê    F       77:f
++¾Ë    F       78:f
++¾Ì    F       79:f
++¾Í    F       80:f
++¾Î    F       81:f
++¾Ï    F       82:f
++¾Ð    F       83:f
++¾Ñ    F       84:f
++¾Ò    F       85:f
++¾Ó    F       86:f
++¾Ô    F       87:f
++¾Õ    F       88:f
++¾Ö    F       89:f
++¾×    F       90:f
++¾Ø    F       91:f
++¾Ù    F       92:f
++¾Ú    F       93:f
++¾Û    F       94:f
++¾Ü    F       95:f
++¾Ý    F       96:f
++¾Þ    F       97:f
++¾ß    F       98:f
++¾à    F       99:f
++¾á    F       100:f
++¾â    F       101:f
++¾ã    F       102:f
++¾ä    F       103:f
++¾å    F       104:f
++¾æ    F       105:f
++¾ç    F       106:f
++¾è    F       107:f
++¾é    F       108:f
++¾ê    F       109:f
++¾ë    F       110:f
++¾ì    F       111:f
++¾í    F       112:f
++¾î    F       113:f
++¾ï    F       114:f
++¾ð    F       115:f
++¾ñ    F       116:f
++¾ò    F       117:f
++¾ó    F       118:f
++¾ô    F       119:f
++¾õ    F       120:f
++¾ö    F       121:f
++¾÷    F       122:f
++¾ø    F       123:f
++¾ù    F       124:f
++¾ú    F       125:f
++¾û    F       126:f
++¾ü    F       127:f
++¾ý    F       128:f
++¾þ    F       129:f
++¿¡    F       130:f
++¿¢    F       131:f
++¿£    F       132:f
++¿¤    F       133:f
++¿¥    F       134:f
++¿¦    F       135:f
++¿§    F       136:f
++¿¨    F       137:f
++¿©    F       138:f
++¿ª    F       139:f
++¿«    F       140:f
++¿¬    F       141:f
++¿­    F       142:f
++¿®    F       143:f
++¿¯    F       144:f
++¿°    F       145:f
++¿±    F       146:f
++¿²    F       147:f
++¿³    F       148:f
++¿´    F       149:f
++¿µ    F       150:f
++¿¶    F       151:f
++¿·    F       152:f
++¿¸    F       153:f
++¿¹    F       154:f
++¿º    F       155:f
++¿»    F       156:f
++¿¼    F       157:f
++¿½    F       158:f
++¿¾    F       159:f
++¿¿    F       160:f
++¿À    F       161:f
++¿Á    F       162:f
++¿Â    F       163:f
++¿Ã    F       164:f
++¿Ä    F       165:f
++¿Å    F       166:f
++¿Æ    F       167:f
++¿Ç    F       168:f
++¿È    F       169:f
++¿É    F       170:f
++¿Ê    F       171:f
++¿Ë    F       172:f
++¿Ì    F       173:f
++¿Í    F       174:f
++¿Î    F       175:f
++¿Ï    F       176:f
++¿Ð    F       177:f
++¿Ñ    F       178:f
++¿Ò    F       179:f
++¿Ó    F       180:f
++¿Ô    F       181:f
++¿Õ    F       182:f
++¿Ö    F       183:f
++¿×    F       184:f
++¿Ø    F       185:f
++¿Ù    F       186:f
++¿Ú    F       187:f
++¿Û    F       188:f
++¿Ü    F       189:f
++¿Ý    F       190:f
++¿Þ    F       191:f
++¿ß    F       192:f
++¿à    F       193:f
++¿á    F       194:f
++¿â    F       195:f
++¿ã    F       196:f
++¿ä    F       197:f
++¿å    F       198:f
++¿æ    F       199:f
++¿ç    F       200:f
++¿è    F       201:f
++¿é    F       202:f
++¿ê    F       203:f
++¿ë    F       204:f
++¿ì    F       205:f
++¿í    F       206:f
++¿î    F       207:f
++¿ï    F       208:f
++¿ð    F       209:f
++¿ñ    F       210:f
++¿ò    F       211:f
++¿ó    F       212:f
++¿ô    F       213:f
++¿õ    F       214:f
++¿ö    F       215:f
++¿÷    F       216:f
++¿ø    F       217:f
++¿ù    F       218:f
++¿ú    F       219:f
++¿û    F       220:f
++¿ü    F       221:f
++¿ý    F       222:f
++¿þ    F       223:f
++À¡    F       224:f
++À¢    F       225:f
++À£    F       226:f
++À¤    F       227:f
++À¥    F       228:f
++À¦    F       229:f
++À§    F       230:f
++À¨    F       231:f
++À©    F       232:f
++Àª    F       233:f
++À«    F       234:f
++À¬    F       235:f
++À­    F       236:f
++À®    F       237:f
++À¯    F       238:f
++À°    F       239:f
++À±    F       240:f
++À²    F       241:f
++À³    F       242:f
++À´    F       243:f
++Àµ    F       244:f
++À¶    F       245:f
++À·    F       246:f
++À¸    F       247:f
++À¹    F       248:f
++Àº    F       249:f
++À»    F       250:f
++À¼    F       251:f
++À½    F       252:f
++À¾    F       253:f
++À¿    F       254:f
++ÀÀ    F       255:f
++ÀÁ    F       0:g
++À    F       1:g
++Àà   F       2:g
++ÀÄ    F       3:g
++ÀÅ    F       4:g
++ÀÆ    F       5:g
++ÀÇ    F       6:g
++ÀÈ    F       7:g
++ÀÉ    F       8:g
++ÀÊ    F       9:g
++ÀË    F       10:g
++ÀÌ    F       11:g
++ÀÍ    F       12:g
++ÀΠ   F       13:g
++ÀÏ    F       14:g
++ÀР   F       15:g
++ÀÑ    F       16:g
++ÀÒ    F       17:g
++ÀÓ    F       18:g
++ÀÔ    F       19:g
++ÀÕ    F       20:g
++ÀÖ    F       21:g
++À×    F       22:g
++ÀØ    F       23:g
++ÀÙ    F       24:g
++ÀÚ    F       25:g
++ÀÛ    F       26:g
++ÀÜ    F       27:g
++ÀÝ    F       28:g
++ÀÞ    F       29:g
++Àß    F       30:g
++Àà    F       31:g
++Àá    F       32:g
++Àâ    F       33:g
++Àã    F       34:g
++Àä    F       35:g
++Àå    F       36:g
++Àæ    F       37:g
++Àç    F       38:g
++Àè    F       39:g
++Àé    F       40:g
++Àê    F       41:g
++Àë    F       42:g
++Àì    F       43:g
++Àí    F       44:g
++Àî    F       45:g
++Àï    F       46:g
++Àð    F       47:g
++Àñ    F       48:g
++Àò    F       49:g
++Àó    F       50:g
++Àô    F       51:g
++Àõ    F       52:g
++Àö    F       53:g
++À÷    F       54:g
++Àø    F       55:g
++Àù    F       56:g
++Àú    F       57:g
++Àû    F       58:g
++Àü    F       59:g
++Àý    F       60:g
++Àþ    F       61:g
++Á¡    F       62:g
++Á¢    F       63:g
++Á£    F       64:g
++Á¤    F       65:g
++Á¥    F       66:g
++Á¦    F       67:g
++Á§    F       68:g
++Á¨    F       69:g
++Á©    F       70:g
++Áª    F       71:g
++Á«    F       72:g
++Á¬    F       73:g
++Á­    F       74:g
++Á®    F       75:g
++Á¯    F       76:g
++Á°    F       77:g
++Á±    F       78:g
++Á²    F       79:g
++Á³    F       80:g
++Á´    F       81:g
++Áµ    F       82:g
++Á¶    F       83:g
++Á·    F       84:g
++Á¸    F       85:g
++Á¹    F       86:g
++Áº    F       87:g
++Á»    F       88:g
++Á¼    F       89:g
++Á½    F       90:g
++Á¾    F       91:g
++Á¿    F       92:g
++ÁÀ    F       93:g
++ÁÁ    F       94:g
++Á    F       95:g
++Áà   F       96:g
++ÁÄ    F       97:g
++ÁÅ    F       98:g
++ÁÆ    F       99:g
++ÁÇ    F       100:g
++ÁÈ    F       101:g
++ÁÉ    F       102:g
++ÁÊ    F       103:g
++ÁË    F       104:g
++ÁÌ    F       105:g
++ÁÍ    F       106:g
++ÁΠ   F       107:g
++ÁÏ    F       108:g
++ÁР   F       109:g
++ÁÑ    F       110:g
++ÁÒ    F       111:g
++ÁÓ    F       112:g
++ÁÔ    F       113:g
++ÁÕ    F       114:g
++ÁÖ    F       115:g
++Á×    F       116:g
++ÁØ    F       117:g
++ÁÙ    F       118:g
++ÁÚ    F       119:g
++ÁÛ    F       120:g
++ÁÜ    F       121:g
++ÁÝ    F       122:g
++ÁÞ    F       123:g
++Áß    F       124:g
++Áà    F       125:g
++Áá    F       126:g
++Áâ    F       127:g
++Áã    F       128:g
++Áä    F       129:g
++Áå    F       130:g
++Áæ    F       131:g
++Áç    F       132:g
++Áè    F       133:g
++Áé    F       134:g
++Áê    F       135:g
++Áë    F       136:g
++Áì    F       137:g
++Áí    F       138:g
++Áî    F       139:g
++Áï    F       140:g
++Áð    F       141:g
++Áñ    F       142:g
++Áò    F       143:g
++Áó    F       144:g
++Áô    F       145:g
++Áõ    F       146:g
++Áö    F       147:g
++Á÷    F       148:g
++Áø    F       149:g
++Áù    F       150:g
++Áú    F       151:g
++Áû    F       152:g
++Áü    F       153:g
++Áý    F       154:g
++Áþ    F       155:g
++¡    F       156:g
++¢    F       157:g
++£    F       158:g
++¤    F       159:g
++¥    F       160:g
++¦    F       161:g
++§    F       162:g
++¨    F       163:g
++©    F       164:g
++ª    F       165:g
++«    F       166:g
++¬    F       167:g
++­    F       168:g
++®    F       169:g
++¯    F       170:g
++°    F       171:g
++±    F       172:g
++²    F       173:g
++³    F       174:g
++´    F       175:g
++µ    F       176:g
++¶    F       177:g
++·    F       178:g
++¸    F       179:g
++¹    F       180:g
++º    F       181:g
++»    F       182:g
++¼    F       183:g
++½    F       184:g
++¾    F       185:g
++¿    F       186:g
++ÂÀ    F       187:g
++ÂÁ    F       188:g
++    F       189:g
++Âà   F       190:g
++ÂÄ    F       191:g
++ÂÅ    F       192:g
++ÂÆ    F       193:g
++ÂÇ    F       194:g
++ÂÈ    F       195:g
++ÂÉ    F       196:g
++ÂÊ    F       197:g
++ÂË    F       198:g
++ÂÌ    F       199:g
++ÂÍ    F       200:g
++ÂΠ   F       201:g
++ÂÏ    F       202:g
++ÂР   F       203:g
++ÂÑ    F       204:g
++ÂÒ    F       205:g
++ÂÓ    F       206:g
++ÂÔ    F       207:g
++ÂÕ    F       208:g
++ÂÖ    F       209:g
++Â×    F       210:g
++ÂØ    F       211:g
++ÂÙ    F       212:g
++ÂÚ    F       213:g
++ÂÛ    F       214:g
++ÂÜ    F       215:g
++ÂÝ    F       216:g
++ÂÞ    F       217:g
++Âß    F       218:g
++Âà    F       219:g
++Âá    F       220:g
++Ââ    F       221:g
++Âã    F       222:g
++Âä    F       223:g
++Âå    F       224:g
++Âæ    F       225:g
++Âç    F       226:g
++Âè    F       227:g
++Âé    F       228:g
++Âê    F       229:g
++Âë    F       230:g
++Âì    F       231:g
++Âí    F       232:g
++Âî    F       233:g
++Âï    F       234:g
++Âð    F       235:g
++Âñ    F       236:g
++Âò    F       237:g
++Âó    F       238:g
++Âô    F       239:g
++Âõ    F       240:g
++Âö    F       241:g
++Â÷    F       242:g
++Âø    F       243:g
++Âù    F       244:g
++Âú    F       245:g
++Âû    F       246:g
++Âü    F       247:g
++Âý    F       248:g
++Âþ    F       249:g
++á    F       250:g
++â    F       251:g
++ã    F       252:g
++ä    F       253:g
++å    F       254:g
++æ    F       255:g
++ç    F       0:h
++è    F       1:h
++é    F       2:h
++ê    F       3:h
++ë    F       4:h
++ì    F       5:h
++í    F       6:h
++î    F       7:h
++ï    F       8:h
++ð    F       9:h
++ñ    F       10:h
++ò    F       11:h
++ó    F       12:h
++ô    F       13:h
++õ    F       14:h
++ö    F       15:h
++÷    F       16:h
++ø    F       17:h
++ù    F       18:h
++ú    F       19:h
++û    F       20:h
++ü    F       21:h
++ý    F       22:h
++þ    F       23:h
++ÿ    F       24:h
++ÃÀ    F       25:h
++ÃÁ    F       26:h
++à   F       27:h
++Ãà   F       28:h
++ÃÄ    F       29:h
++ÃÅ    F       30:h
++ÃÆ    F       31:h
++ÃÇ    F       32:h
++ÃÈ    F       33:h
++ÃÉ    F       34:h
++ÃÊ    F       35:h
++ÃË    F       36:h
++ÃÌ    F       37:h
++ÃÍ    F       38:h
++ÃΠ   F       39:h
++ÃÏ    F       40:h
++ÃР   F       41:h
++ÃÑ    F       42:h
++ÃÒ    F       43:h
++ÃÓ    F       44:h
++ÃÔ    F       45:h
++ÃÕ    F       46:h
++ÃÖ    F       47:h
++Ã×    F       48:h
++ÃØ    F       49:h
++ÃÙ    F       50:h
++ÃÚ    F       51:h
++ÃÛ    F       52:h
++ÃÜ    F       53:h
++ÃÝ    F       54:h
++ÃÞ    F       55:h
++Ãß    F       56:h
++Ãà    F       57:h
++Ãá    F       58:h
++Ãâ    F       59:h
++Ãã    F       60:h
++Ãä    F       61:h
++Ãå    F       62:h
++Ãæ    F       63:h
++Ãç    F       64:h
++Ãè    F       65:h
++Ãé    F       66:h
++Ãê    F       67:h
++Ãë    F       68:h
++Ãì    F       69:h
++Ãí    F       70:h
++Ãî    F       71:h
++Ãï    F       72:h
++Ãð    F       73:h
++Ãñ    F       74:h
++Ãò    F       75:h
++Ãó    F       76:h
++Ãô    F       77:h
++Ãõ    F       78:h
++Ãö    F       79:h
++Ã÷    F       80:h
++Ãø    F       81:h
++Ãù    F       82:h
++Ãú    F       83:h
++Ãû    F       84:h
++Ãü    F       85:h
++Ãý    F       86:h
++Ãþ    F       87:h
++ġ    F       88:h
++Ģ    F       89:h
++ģ    F       90:h
++Ĥ    F       91:h
++ĥ    F       92:h
++Ħ    F       93:h
++ħ    F       94:h
++Ĩ    F       95:h
++ĩ    F       96:h
++Ī    F       97:h
++ī    F       98:h
++Ĭ    F       99:h
++ĭ    F       100:h
++Į    F       101:h
++į    F       102:h
++İ    F       103:h
++ı    F       104:h
++IJ    F       105:h
++ij    F       106:h
++Ĵ    F       107:h
++ĵ    F       108:h
++Ķ    F       109:h
++ķ    F       110:h
++ĸ    F       111:h
++Ĺ    F       112:h
++ĺ    F       113:h
++Ļ    F       114:h
++ļ    F       115:h
++Ľ    F       116:h
++ľ    F       117:h
++Ŀ    F       118:h
++ÄÀ    F       119:h
++ÄÁ    F       120:h
++Ä    F       121:h
++Äà   F       122:h
++ÄÄ    F       123:h
++ÄÅ    F       124:h
++ÄÆ    F       125:h
++ÄÇ    F       126:h
++ÄÈ    F       127:h
++ÄÉ    F       128:h
++ÄÊ    F       129:h
++ÄË    F       130:h
++ÄÌ    F       131:h
++ÄÍ    F       132:h
++ÄΠ   F       133:h
++ÄÏ    F       134:h
++ÄР   F       135:h
++ÄÑ    F       136:h
++ÄÒ    F       137:h
++ÄÓ    F       138:h
++ÄÔ    F       139:h
++ÄÕ    F       140:h
++ÄÖ    F       141:h
++Ä×    F       142:h
++ÄØ    F       143:h
++ÄÙ    F       144:h
++ÄÚ    F       145:h
++ÄÛ    F       146:h
++ÄÜ    F       147:h
++ÄÝ    F       148:h
++ÄÞ    F       149:h
++Äß    F       150:h
++Äà    F       151:h
++Äá    F       152:h
++Äâ    F       153:h
++Äã    F       154:h
++Ää    F       155:h
++Äå    F       156:h
++Äæ    F       157:h
++Äç    F       158:h
++Äè    F       159:h
++Äé    F       160:h
++Äê    F       161:h
++Äë    F       162:h
++Äì    F       163:h
++Äí    F       164:h
++Äî    F       165:h
++Äï    F       166:h
++Äð    F       167:h
++Äñ    F       168:h
++Äò    F       169:h
++Äó    F       170:h
++Äô    F       171:h
++Äõ    F       172:h
++Äö    F       173:h
++Ä÷    F       174:h
++Äø    F       175:h
++Äù    F       176:h
++Äú    F       177:h
++Äû    F       178:h
++Äü    F       179:h
++Äý    F       180:h
++Äþ    F       181:h
++š    F       182:h
++Ţ    F       183:h
++ţ    F       184:h
++Ť    F       185:h
++ť    F       186:h
++Ŧ    F       187:h
++ŧ    F       188:h
++Ũ    F       189:h
++ũ    F       190:h
++Ū    F       191:h
++ū    F       192:h
++Ŭ    F       193:h
++ŭ    F       194:h
++Ů    F       195:h
++ů    F       196:h
++Ű    F       197:h
++ű    F       198:h
++Ų    F       199:h
++ų    F       200:h
++Ŵ    F       201:h
++ŵ    F       202:h
++Ŷ    F       203:h
++ŷ    F       204:h
++Ÿ    F       205:h
++Ź    F       206:h
++ź    F       207:h
++Ż    F       208:h
++ż    F       209:h
++Ž    F       210:h
++ž    F       211:h
++ſ    F       212:h
++ÅÀ    F       213:h
++ÅÁ    F       214:h
++Å    F       215:h
++Åà   F       216:h
++ÅÄ    F       217:h
++ÅÅ    F       218:h
++ÅÆ    F       219:h
++ÅÇ    F       220:h
++ÅÈ    F       221:h
++ÅÉ    F       222:h
++ÅÊ    F       223:h
++ÅË    F       224:h
++ÅÌ    F       225:h
++ÅÍ    F       226:h
++ÅΠ   F       227:h
++ÅÏ    F       228:h
++ÅР   F       229:h
++ÅÑ    F       230:h
++ÅÒ    F       231:h
++ÅÓ    F       232:h
++ÅÔ    F       233:h
++ÅÕ    F       234:h
++ÅÖ    F       235:h
++Å×    F       236:h
++ÅØ    F       237:h
++ÅÙ    F       238:h
++ÅÚ    F       239:h
++ÅÛ    F       240:h
++ÅÜ    F       241:h
++ÅÝ    F       242:h
++ÅÞ    F       243:h
++Åß    F       244:h
++Åà    F       245:h
++Åá    F       246:h
++Åâ    F       247:h
++Åã    F       248:h
++Åä    F       249:h
++Åå    F       250:h
++Åæ    F       251:h
++Åç    F       252:h
++Åè    F       253:h
++Åé    F       254:h
++Åê    F       255:h
++Åë    F       0:i
++Åì    F       1:i
++Åí    F       2:i
++Åî    F       3:i
++Åï    F       4:i
++Åð    F       5:i
++Åñ    F       6:i
++Åò    F       7:i
++Åó    F       8:i
++Åô    F       9:i
++Åõ    F       10:i
++Åö    F       11:i
++Å÷    F       12:i
++Åø    F       13:i
++Åù    F       14:i
++Åú    F       15:i
++Åû    F       16:i
++Åü    F       17:i
++Åý    F       18:i
++Åþ    F       19:i
++ơ    F       20:i
++Ƣ    F       21:i
++ƣ    F       22:i
++Ƥ    F       23:i
++ƥ    F       24:i
++Ʀ    F       25:i
++Ƨ    F       26:i
++ƨ    F       27:i
++Ʃ    F       28:i
++ƪ    F       29:i
++ƫ    F       30:i
++Ƭ    F       31:i
++ƭ    F       32:i
++Ʈ    F       33:i
++Ư    F       34:i
++ư    F       35:i
++Ʊ    F       36:i
++Ʋ    F       37:i
++Ƴ    F       38:i
++ƴ    F       39:i
++Ƶ    F       40:i
++ƶ    F       41:i
++Ʒ    F       42:i
++Ƹ    F       43:i
++ƹ    F       44:i
++ƺ    F       45:i
++ƻ    F       46:i
++Ƽ    F       47:i
++ƽ    F       48:i
++ƾ    F       49:i
++ƿ    F       50:i
++ÆÀ    F       51:i
++ÆÁ    F       52:i
++Æ    F       53:i
++Æà   F       54:i
++ÆÄ    F       55:i
++ÆÅ    F       56:i
++ÆÆ    F       57:i
++ÆÇ    F       58:i
++ÆÈ    F       59:i
++ÆÉ    F       60:i
++ÆÊ    F       61:i
++ÆË    F       62:i
++ÆÌ    F       63:i
++ÆÍ    F       64:i
++ÆΠ   F       65:i
++ÆÏ    F       66:i
++ÆР   F       67:i
++ÆÑ    F       68:i
++ÆÒ    F       69:i
++ÆÓ    F       70:i
++ÆÔ    F       71:i
++ÆÕ    F       72:i
++ÆÖ    F       73:i
++Æ×    F       74:i
++ÆØ    F       75:i
++ÆÙ    F       76:i
++ÆÚ    F       77:i
++ÆÛ    F       78:i
++ÆÜ    F       79:i
++ÆÝ    F       80:i
++ÆÞ    F       81:i
++Æß    F       82:i
++Æà    F       83:i
++Æá    F       84:i
++Æâ    F       85:i
++Æã    F       86:i
++Æä    F       87:i
++Æå    F       88:i
++Ææ    F       89:i
++Æç    F       90:i
++Æè    F       91:i
++Æé    F       92:i
++Æê    F       93:i
++Æë    F       94:i
++Æì    F       95:i
++Æí    F       96:i
++Æî    F       97:i
++Æï    F       98:i
++Æð    F       99:i
++Æñ    F       100:i
++Æò    F       101:i
++Æó    F       102:i
++Æô    F       103:i
++Æõ    F       104:i
++Æö    F       105:i
++Æ÷    F       106:i
++Æø    F       107:i
++Æù    F       108:i
++Æú    F       109:i
++Æû    F       110:i
++Æü    F       111:i
++Æý    F       112:i
++Æþ    F       113:i
++ǡ    F       114:i
++Ǣ    F       115:i
++ǣ    F       116:i
++Ǥ    F       117:i
++ǥ    F       118:i
++Ǧ    F       119:i
++ǧ    F       120:i
++Ǩ    F       121:i
++ǩ    F       122:i
++Ǫ    F       123:i
++ǫ    F       124:i
++Ǭ    F       125:i
++ǭ    F       126:i
++Ǯ    F       127:i
++ǯ    F       128:i
++ǰ    F       129:i
++DZ    F       130:i
++Dz    F       131:i
++dz    F       132:i
++Ǵ    F       133:i
++ǵ    F       134:i
++Ƕ    F       135:i
++Ƿ    F       136:i
++Ǹ    F       137:i
++ǹ    F       138:i
++Ǻ    F       139:i
++ǻ    F       140:i
++Ǽ    F       141:i
++ǽ    F       142:i
++Ǿ    F       143:i
++ǿ    F       144:i
++ÇÀ    F       145:i
++ÇÁ    F       146:i
++Ç    F       147:i
++Çà   F       148:i
++ÇÄ    F       149:i
++ÇÅ    F       150:i
++ÇÆ    F       151:i
++ÇÇ    F       152:i
++ÇÈ    F       153:i
++ÇÉ    F       154:i
++ÇÊ    F       155:i
++ÇË    F       156:i
++ÇÌ    F       157:i
++ÇÍ    F       158:i
++ÇΠ   F       159:i
++ÇÏ    F       160:i
++ÇР   F       161:i
++ÇÑ    F       162:i
++ÇÒ    F       163:i
++ÇÓ    F       164:i
++ÇÔ    F       165:i
++ÇÕ    F       166:i
++ÇÖ    F       167:i
++Ç×    F       168:i
++ÇØ    F       169:i
++ÇÙ    F       170:i
++ÇÚ    F       171:i
++ÇÛ    F       172:i
++ÇÜ    F       173:i
++ÇÝ    F       174:i
++ÇÞ    F       175:i
++Çß    F       176:i
++Çà    F       177:i
++Çá    F       178:i
++Çâ    F       179:i
++Çã    F       180:i
++Çä    F       181:i
++Çå    F       182:i
++Çæ    F       183:i
++Çç    F       184:i
++Çè    F       185:i
++Çé    F       186:i
++Çê    F       187:i
++Çë    F       188:i
++Çì    F       189:i
++Çí    F       190:i
++Çî    F       191:i
++Çï    F       192:i
++Çð    F       193:i
++Çñ    F       194:i
++Çò    F       195:i
++Çó    F       196:i
++Çô    F       197:i
++Çõ    F       198:i
++Çö    F       199:i
++Ç÷    F       200:i
++Çø    F       201:i
++Çù    F       202:i
++Çú    F       203:i
++Çû    F       204:i
++Çü    F       205:i
++Çý    F       206:i
++Çþ    F       207:i
++ȡ    F       208:i
++Ȣ    F       209:i
++ȣ    F       210:i
++Ȥ    F       211:i
++ȥ    F       212:i
++Ȧ    F       213:i
++ȧ    F       214:i
++Ȩ    F       215:i
++ȩ    F       216:i
++Ȫ    F       217:i
++ȫ    F       218:i
++Ȭ    F       219:i
++ȭ    F       220:i
++Ȯ    F       221:i
++ȯ    F       222:i
++Ȱ    F       223:i
++ȱ    F       224:i
++Ȳ    F       225:i
++ȳ    F       226:i
++ȴ    F       227:i
++ȵ    F       228:i
++ȶ    F       229:i
++ȷ    F       230:i
++ȸ    F       231:i
++ȹ    F       232:i
++Ⱥ    F       233:i
++Ȼ    F       234:i
++ȼ    F       235:i
++Ƚ    F       236:i
++Ⱦ    F       237:i
++ȿ    F       238:i
++ÈÀ    F       239:i
++ÈÁ    F       240:i
++È    F       241:i
++Èà   F       242:i
++ÈÄ    F       243:i
++ÈÅ    F       244:i
++ÈÆ    F       245:i
++ÈÇ    F       246:i
++ÈÈ    F       247:i
++ÈÉ    F       248:i
++ÈÊ    F       249:i
++ÈË    F       250:i
++ÈÌ    F       251:i
++ÈÍ    F       252:i
++ÈΠ   F       253:i
++ÈÏ    F       254:i
++ÈР   F       255:i
++ÈÑ    F       0:j
++ÈÒ    F       1:j
++ÈÓ    F       2:j
++ÈÔ    F       3:j
++ÈÕ    F       4:j
++ÈÖ    F       5:j
++È×    F       6:j
++ÈØ    F       7:j
++ÈÙ    F       8:j
++ÈÚ    F       9:j
++ÈÛ    F       10:j
++ÈÜ    F       11:j
++ÈÝ    F       12:j
++ÈÞ    F       13:j
++Èß    F       14:j
++Èà    F       15:j
++Èá    F       16:j
++Èâ    F       17:j
++Èã    F       18:j
++Èä    F       19:j
++Èå    F       20:j
++Èæ    F       21:j
++Èç    F       22:j
++Èè    F       23:j
++Èé    F       24:j
++Èê    F       25:j
++Èë    F       26:j
++Èì    F       27:j
++Èí    F       28:j
++Èî    F       29:j
++Èï    F       30:j
++Èð    F       31:j
++Èñ    F       32:j
++Èò    F       33:j
++Èó    F       34:j
++Èô    F       35:j
++Èõ    F       36:j
++Èö    F       37:j
++È÷    F       38:j
++Èø    F       39:j
++Èù    F       40:j
++Èú    F       41:j
++Èû    F       42:j
++Èü    F       43:j
++Èý    F       44:j
++Èþ    F       45:j
++ɡ    F       46:j
++ɢ    F       47:j
++ɣ    F       48:j
++ɤ    F       49:j
++ɥ    F       50:j
++ɦ    F       51:j
++ɧ    F       52:j
++ɨ    F       53:j
++ɩ    F       54:j
++ɪ    F       55:j
++ɫ    F       56:j
++ɬ    F       57:j
++ɭ    F       58:j
++ɮ    F       59:j
++ɯ    F       60:j
++ɰ    F       61:j
++ɱ    F       62:j
++ɲ    F       63:j
++ɳ    F       64:j
++ɴ    F       65:j
++ɵ    F       66:j
++ɶ    F       67:j
++ɷ    F       68:j
++ɸ    F       69:j
++ɹ    F       70:j
++ɺ    F       71:j
++ɻ    F       72:j
++ɼ    F       73:j
++ɽ    F       74:j
++ɾ    F       75:j
++ɿ    F       76:j
++ÉÀ    F       77:j
++ÉÁ    F       78:j
++É    F       79:j
++Éà   F       80:j
++ÉÄ    F       81:j
++ÉÅ    F       82:j
++ÉÆ    F       83:j
++ÉÇ    F       84:j
++ÉÈ    F       85:j
++ÉÉ    F       86:j
++ÉÊ    F       87:j
++ÉË    F       88:j
++ÉÌ    F       89:j
++ÉÍ    F       90:j
++ÉΠ   F       91:j
++ÉÏ    F       92:j
++ÉР   F       93:j
++ÉÑ    F       94:j
++ÉÒ    F       95:j
++ÉÓ    F       96:j
++ÉÔ    F       97:j
++ÉÕ    F       98:j
++ÉÖ    F       99:j
++É×    F       100:j
++ÉØ    F       101:j
++ÉÙ    F       102:j
++ÉÚ    F       103:j
++ÉÛ    F       104:j
++ÉÜ    F       105:j
++ÉÝ    F       106:j
++ÉÞ    F       107:j
++Éß    F       108:j
++Éà    F       109:j
++Éá    F       110:j
++Éâ    F       111:j
++Éã    F       112:j
++Éä    F       113:j
++Éå    F       114:j
++Éæ    F       115:j
++Éç    F       116:j
++Éè    F       117:j
++Éé    F       118:j
++Éê    F       119:j
++Éë    F       120:j
++Éì    F       121:j
++Éí    F       122:j
++Éî    F       123:j
++Éï    F       124:j
++Éð    F       125:j
++Éñ    F       126:j
++Éò    F       127:j
++Éó    F       128:j
++Éô    F       129:j
++Éõ    F       130:j
++Éö    F       131:j
++É÷    F       132:j
++Éø    F       133:j
++Éù    F       134:j
++Éú    F       135:j
++Éû    F       136:j
++Éü    F       137:j
++Éý    F       138:j
++Éþ    F       139:j
++ʡ    F       140:j
++ʢ    F       141:j
++ʣ    F       142:j
++ʤ    F       143:j
++ʥ    F       144:j
++ʦ    F       145:j
++ʧ    F       146:j
++ʨ    F       147:j
++ʩ    F       148:j
++ʪ    F       149:j
++ʫ    F       150:j
++ʬ    F       151:j
++ʭ    F       152:j
++ʮ    F       153:j
++ʯ    F       154:j
++ʰ    F       155:j
++ʱ    F       156:j
++ʲ    F       157:j
++ʳ    F       158:j
++ʴ    F       159:j
++ʵ    F       160:j
++ʶ    F       161:j
++ʷ    F       162:j
++ʸ    F       163:j
++ʹ    F       164:j
++ʺ    F       165:j
++ʻ    F       166:j
++ʼ    F       167:j
++ʽ    F       168:j
++ʾ    F       169:j
++ʿ    F       170:j
++ÊÀ    F       171:j
++ÊÁ    F       172:j
++Ê    F       173:j
++Êà   F       174:j
++ÊÄ    F       175:j
++ÊÅ    F       176:j
++ÊÆ    F       177:j
++ÊÇ    F       178:j
++ÊÈ    F       179:j
++ÊÉ    F       180:j
++ÊÊ    F       181:j
++ÊË    F       182:j
++ÊÌ    F       183:j
++ÊÍ    F       184:j
++ÊΠ   F       185:j
++ÊÏ    F       186:j
++ÊР   F       187:j
++ÊÑ    F       188:j
++ÊÒ    F       189:j
++ÊÓ    F       190:j
++ÊÔ    F       191:j
++ÊÕ    F       192:j
++ÊÖ    F       193:j
++Ê×    F       194:j
++ÊØ    F       195:j
++ÊÙ    F       196:j
++ÊÚ    F       197:j
++ÊÛ    F       198:j
++ÊÜ    F       199:j
++ÊÝ    F       200:j
++ÊÞ    F       201:j
++Êß    F       202:j
++Êà    F       203:j
++Êá    F       204:j
++Êâ    F       205:j
++Êã    F       206:j
++Êä    F       207:j
++Êå    F       208:j
++Êæ    F       209:j
++Êç    F       210:j
++Êè    F       211:j
++Êé    F       212:j
++Êê    F       213:j
++Êë    F       214:j
++Êì    F       215:j
++Êí    F       216:j
++Êî    F       217:j
++Êï    F       218:j
++Êð    F       219:j
++Êñ    F       220:j
++Êò    F       221:j
++Êó    F       222:j
++Êô    F       223:j
++Êõ    F       224:j
++Êö    F       225:j
++Ê÷    F       226:j
++Êø    F       227:j
++Êù    F       228:j
++Êú    F       229:j
++Êû    F       230:j
++Êü    F       231:j
++Êý    F       232:j
++Êþ    F       233:j
++ˡ    F       234:j
++ˢ    F       235:j
++ˣ    F       236:j
++ˤ    F       237:j
++˥    F       238:j
++˦    F       239:j
++˧    F       240:j
++˨    F       241:j
++˩    F       242:j
++˪    F       243:j
++˫    F       244:j
++ˬ    F       245:j
++˭    F       246:j
++ˮ    F       247:j
++˯    F       248:j
++˰    F       249:j
++˱    F       250:j
++˲    F       251:j
++˳    F       252:j
++˴    F       253:j
++˵    F       254:j
++˶    F       255:j
++˷    F       0:k
++˸    F       1:k
++˹    F       2:k
++˺    F       3:k
++˻    F       4:k
++˼    F       5:k
++˽    F       6:k
++˾    F       7:k
++˿    F       8:k
++ËÀ    F       9:k
++ËÁ    F       10:k
++Ë    F       11:k
++Ëà   F       12:k
++ËÄ    F       13:k
++ËÅ    F       14:k
++ËÆ    F       15:k
++ËÇ    F       16:k
++ËÈ    F       17:k
++ËÉ    F       18:k
++ËÊ    F       19:k
++ËË    F       20:k
++ËÌ    F       21:k
++ËÍ    F       22:k
++ËΠ   F       23:k
++ËÏ    F       24:k
++ËР   F       25:k
++ËÑ    F       26:k
++ËÒ    F       27:k
++ËÓ    F       28:k
++ËÔ    F       29:k
++ËÕ    F       30:k
++ËÖ    F       31:k
++Ë×    F       32:k
++ËØ    F       33:k
++ËÙ    F       34:k
++ËÚ    F       35:k
++ËÛ    F       36:k
++ËÜ    F       37:k
++ËÝ    F       38:k
++ËÞ    F       39:k
++Ëß    F       40:k
++Ëà    F       41:k
++Ëá    F       42:k
++Ëâ    F       43:k
++Ëã    F       44:k
++Ëä    F       45:k
++Ëå    F       46:k
++Ëæ    F       47:k
++Ëç    F       48:k
++Ëè    F       49:k
++Ëé    F       50:k
++Ëê    F       51:k
++Ëë    F       52:k
++Ëì    F       53:k
++Ëí    F       54:k
++Ëî    F       55:k
++Ëï    F       56:k
++Ëð    F       57:k
++Ëñ    F       58:k
++Ëò    F       59:k
++Ëó    F       60:k
++Ëô    F       61:k
++Ëõ    F       62:k
++Ëö    F       63:k
++Ë÷    F       64:k
++Ëø    F       65:k
++Ëù    F       66:k
++Ëú    F       67:k
++Ëû    F       68:k
++Ëü    F       69:k
++Ëý    F       70:k
++Ëþ    F       71:k
++̡    F       72:k
++̢    F       73:k
++̣    F       74:k
++̤    F       75:k
++̥    F       76:k
++̦    F       77:k
++̧    F       78:k
++̨    F       79:k
++̩    F       80:k
++̪    F       81:k
++̫    F       82:k
++̬    F       83:k
++̭    F       84:k
++̮    F       85:k
++̯    F       86:k
++̰    F       87:k
++̱    F       88:k
++̲    F       89:k
++̳    F       90:k
++̴    F       91:k
++̵    F       92:k
++̶    F       93:k
++̷    F       94:k
++̸    F       95:k
++̹    F       96:k
++̺    F       97:k
++̻    F       98:k
++̼    F       99:k
++̽    F       100:k
++̾    F       101:k
++̿    F       102:k
++ÌÀ    F       103:k
++ÌÁ    F       104:k
++Ì    F       105:k
++Ìà   F       106:k
++ÌÄ    F       107:k
++ÌÅ    F       108:k
++ÌÆ    F       109:k
++ÌÇ    F       110:k
++ÌÈ    F       111:k
++ÌÉ    F       112:k
++ÌÊ    F       113:k
++ÌË    F       114:k
++ÌÌ    F       115:k
++ÌÍ    F       116:k
++ÌΠ   F       117:k
++ÌÏ    F       118:k
++ÌР   F       119:k
++ÌÑ    F       120:k
++ÌÒ    F       121:k
++ÌÓ    F       122:k
++ÌÔ    F       123:k
++ÌÕ    F       124:k
++ÌÖ    F       125:k
++Ì×    F       126:k
++ÌØ    F       127:k
++ÌÙ    F       128:k
++ÌÚ    F       129:k
++ÌÛ    F       130:k
++ÌÜ    F       131:k
++ÌÝ    F       132:k
++ÌÞ    F       133:k
++Ìß    F       134:k
++Ìà    F       135:k
++Ìá    F       136:k
++Ìâ    F       137:k
++Ìã    F       138:k
++Ìä    F       139:k
++Ìå    F       140:k
++Ìæ    F       141:k
++Ìç    F       142:k
++Ìè    F       143:k
++Ìé    F       144:k
++Ìê    F       145:k
++Ìë    F       146:k
++Ìì    F       147:k
++Ìí    F       148:k
++Ìî    F       149:k
++Ìï    F       150:k
++Ìð    F       151:k
++Ìñ    F       152:k
++Ìò    F       153:k
++Ìó    F       154:k
++Ìô    F       155:k
++Ìõ    F       156:k
++Ìö    F       157:k
++Ì÷    F       158:k
++Ìø    F       159:k
++Ìù    F       160:k
++Ìú    F       161:k
++Ìû    F       162:k
++Ìü    F       163:k
++Ìý    F       164:k
++Ìþ    F       165:k
++͡    F       166:k
++͢    F       167:k
++ͣ    F       168:k
++ͤ    F       169:k
++ͥ    F       170:k
++ͦ    F       171:k
++ͧ    F       172:k
++ͨ    F       173:k
++ͩ    F       174:k
++ͪ    F       175:k
++ͫ    F       176:k
++ͬ    F       177:k
++ͭ    F       178:k
++ͮ    F       179:k
++ͯ    F       180:k
++Ͱ    F       181:k
++ͱ    F       182:k
++Ͳ    F       183:k
++ͳ    F       184:k
++ʹ    F       185:k
++͵    F       186:k
++Ͷ    F       187:k
++ͷ    F       188:k
++͸    F       189:k
++͹    F       190:k
++ͺ    F       191:k
++ͻ    F       192:k
++ͼ    F       193:k
++ͽ    F       194:k
++;    F       195:k
++Ϳ    F       196:k
++ÍÀ    F       197:k
++ÍÁ    F       198:k
++Í    F       199:k
++Íà   F       200:k
++ÍÄ    F       201:k
++ÍÅ    F       202:k
++ÍÆ    F       203:k
++ÍÇ    F       204:k
++ÍÈ    F       205:k
++ÍÉ    F       206:k
++ÍÊ    F       207:k
++ÍË    F       208:k
++ÍÌ    F       209:k
++ÍÍ    F       210:k
++ÍΠ   F       211:k
++ÍÏ    F       212:k
++ÍР   F       213:k
++ÍÑ    F       214:k
++ÍÒ    F       215:k
++ÍÓ    F       216:k
++ÍÔ    F       217:k
++ÍÕ    F       218:k
++ÍÖ    F       219:k
++Í×    F       220:k
++ÍØ    F       221:k
++ÍÙ    F       222:k
++ÍÚ    F       223:k
++ÍÛ    F       224:k
++ÍÜ    F       225:k
++ÍÝ    F       226:k
++ÍÞ    F       227:k
++Íß    F       228:k
++Íà    F       229:k
++Íá    F       230:k
++Íâ    F       231:k
++Íã    F       232:k
++Íä    F       233:k
++Íå    F       234:k
++Íæ    F       235:k
++Íç    F       236:k
++Íè    F       237:k
++Íé    F       238:k
++Íê    F       239:k
++Íë    F       240:k
++Íì    F       241:k
++Íí    F       242:k
++Íî    F       243:k
++Íï    F       244:k
++Íð    F       245:k
++Íñ    F       246:k
++Íò    F       247:k
++Íó    F       248:k
++Íô    F       249:k
++Íõ    F       250:k
++Íö    F       251:k
++Í÷    F       252:k
++Íø    F       253:k
++Íù    F       254:k
++Íú    F       255:k
++Íû    F       0:l
++Íü    F       1:l
++Íý    F       2:l
++Íþ    F       3:l
++Ρ    F       4:l
++΢    F       5:l
++Σ    F       6:l
++Τ    F       7:l
++Υ    F       8:l
++Φ    F       9:l
++Χ    F       10:l
++Ψ    F       11:l
++Ω    F       12:l
++Ϊ    F       13:l
++Ϋ    F       14:l
++ά    F       15:l
++έ    F       16:l
++ή    F       17:l
++ί    F       18:l
++ΰ    F       19:l
++α    F       20:l
++β    F       21:l
++γ    F       22:l
++δ    F       23:l
++ε    F       24:l
++ζ    F       25:l
++η    F       26:l
++θ    F       27:l
++ι    F       28:l
++κ    F       29:l
++λ    F       30:l
++μ    F       31:l
++ν    F       32:l
++ξ    F       33:l
++ο    F       34:l
++ÎÀ    F       35:l
++ÎÁ    F       36:l
++Π   F       37:l
++Îà   F       38:l
++ÎÄ    F       39:l
++ÎÅ    F       40:l
++ÎÆ    F       41:l
++ÎÇ    F       42:l
++ÎÈ    F       43:l
++ÎÉ    F       44:l
++ÎÊ    F       45:l
++ÎË    F       46:l
++ÎÌ    F       47:l
++ÎÍ    F       48:l
++ÎΠ   F       49:l
++ÎÏ    F       50:l
++ÎР   F       51:l
++ÎÑ    F       52:l
++ÎÒ    F       53:l
++ÎÓ    F       54:l
++ÎÔ    F       55:l
++ÎÕ    F       56:l
++ÎÖ    F       57:l
++Î×    F       58:l
++ÎØ    F       59:l
++ÎÙ    F       60:l
++ÎÚ    F       61:l
++ÎÛ    F       62:l
++ÎÜ    F       63:l
++ÎÝ    F       64:l
++ÎÞ    F       65:l
++Îß    F       66:l
++Îà    F       67:l
++Îá    F       68:l
++Îâ    F       69:l
++Îã    F       70:l
++Îä    F       71:l
++Îå    F       72:l
++Îæ    F       73:l
++Îç    F       74:l
++Îè    F       75:l
++Îé    F       76:l
++Îê    F       77:l
++Îë    F       78:l
++Îì    F       79:l
++Îí    F       80:l
++Îî    F       81:l
++Îï    F       82:l
++Îð    F       83:l
++Îñ    F       84:l
++Îò    F       85:l
++Îó    F       86:l
++Îô    F       87:l
++Îõ    F       88:l
++Îö    F       89:l
++Î÷    F       90:l
++Îø    F       91:l
++Îù    F       92:l
++Îú    F       93:l
++Îû    F       94:l
++Îü    F       95:l
++Îý    F       96:l
++Îþ    F       97:l
++ϡ    F       98:l
++Ϣ    F       99:l
++ϣ    F       100:l
++Ϥ    F       101:l
++ϥ    F       102:l
++Ϧ    F       103:l
++ϧ    F       104:l
++Ϩ    F       105:l
++ϩ    F       106:l
++Ϫ    F       107:l
++ϫ    F       108:l
++Ϭ    F       109:l
++ϭ    F       110:l
++Ϯ    F       111:l
++ϯ    F       112:l
++ϰ    F       113:l
++ϱ    F       114:l
++ϲ    F       115:l
++ϳ    F       116:l
++ϴ    F       117:l
++ϵ    F       118:l
++϶    F       119:l
++Ϸ    F       120:l
++ϸ    F       121:l
++Ϲ    F       122:l
++Ϻ    F       123:l
++ϻ    F       124:l
++ϼ    F       125:l
++Ͻ    F       126:l
++Ͼ    F       127:l
++Ͽ    F       128:l
++ÏÀ    F       129:l
++ÏÁ    F       130:l
++Ï    F       131:l
++Ïà   F       132:l
++ÏÄ    F       133:l
++ÏÅ    F       134:l
++ÏÆ    F       135:l
++ÏÇ    F       136:l
++ÏÈ    F       137:l
++ÏÉ    F       138:l
++ÏÊ    F       139:l
++ÏË    F       140:l
++ÏÌ    F       141:l
++ÏÍ    F       142:l
++ÏΠ   F       143:l
++ÏÏ    F       144:l
++ÏР   F       145:l
++ÏÑ    F       146:l
++ÏÒ    F       147:l
++ÏÓ    F       148:l
++С    F       0:m
++Т    F       1:m
++У    F       2:m
++Ф    F       3:m
++Х    F       4:m
++Ц    F       5:m
++Ч    F       6:m
++Ш    F       7:m
++Щ    F       8:m
++Ъ    F       9:m
++Ы    F       10:m
++Ь    F       11:m
++Э    F       12:m
++Ю    F       13:m
++Я    F       14:m
++а    F       15:m
++б    F       16:m
++в    F       17:m
++г    F       18:m
++д    F       19:m
++е    F       20:m
++ж    F       21:m
++з    F       22:m
++и    F       23:m
++й    F       24:m
++к    F       25:m
++л    F       26:m
++м    F       27:m
++н    F       28:m
++о    F       29:m
++п    F       30:m
++ÐÀ    F       31:m
++ÐÁ    F       32:m
++Р   F       33:m
++Ðà   F       34:m
++ÐÄ    F       35:m
++ÐÅ    F       36:m
++ÐÆ    F       37:m
++ÐÇ    F       38:m
++ÐÈ    F       39:m
++ÐÉ    F       40:m
++ÐÊ    F       41:m
++ÐË    F       42:m
++ÐÌ    F       43:m
++ÐÍ    F       44:m
++ÐΠ   F       45:m
++ÐÏ    F       46:m
++ÐР   F       47:m
++ÐÑ    F       48:m
++ÐÒ    F       49:m
++ÐÓ    F       50:m
++ÐÔ    F       51:m
++ÐÕ    F       52:m
++ÐÖ    F       53:m
++Ð×    F       54:m
++ÐØ    F       55:m
++ÐÙ    F       56:m
++ÐÚ    F       57:m
++ÐÛ    F       58:m
++ÐÜ    F       59:m
++ÐÝ    F       60:m
++ÐÞ    F       61:m
++Ðß    F       62:m
++Ðà    F       63:m
++Ðá    F       64:m
++Ðâ    F       65:m
++Ðã    F       66:m
++Ðä    F       67:m
++Ðå    F       68:m
++Ðæ    F       69:m
++Ðç    F       70:m
++Ðè    F       71:m
++Ðé    F       72:m
++Ðê    F       73:m
++Ðë    F       74:m
++Ðì    F       75:m
++Ðí    F       76:m
++Ðî    F       77:m
++Ðï    F       78:m
++Ðð    F       79:m
++Ðñ    F       80:m
++Ðò    F       81:m
++Ðó    F       82:m
++Ðô    F       83:m
++Ðõ    F       84:m
++Ðö    F       85:m
++Ð÷    F       86:m
++Ðø    F       87:m
++Ðù    F       88:m
++Ðú    F       89:m
++Ðû    F       90:m
++Ðü    F       91:m
++Ðý    F       92:m
++Ðþ    F       93:m
++ѡ    F       94:m
++Ѣ    F       95:m
++ѣ    F       96:m
++Ѥ    F       97:m
++ѥ    F       98:m
++Ѧ    F       99:m
++ѧ    F       100:m
++Ѩ    F       101:m
++ѩ    F       102:m
++Ѫ    F       103:m
++ѫ    F       104:m
++Ѭ    F       105:m
++ѭ    F       106:m
++Ѯ    F       107:m
++ѯ    F       108:m
++Ѱ    F       109:m
++ѱ    F       110:m
++Ѳ    F       111:m
++ѳ    F       112:m
++Ѵ    F       113:m
++ѵ    F       114:m
++Ѷ    F       115:m
++ѷ    F       116:m
++Ѹ    F       117:m
++ѹ    F       118:m
++Ѻ    F       119:m
++ѻ    F       120:m
++Ѽ    F       121:m
++ѽ    F       122:m
++Ѿ    F       123:m
++ѿ    F       124:m
++ÑÀ    F       125:m
++ÑÁ    F       126:m
++Ñ    F       127:m
++Ñà   F       128:m
++ÑÄ    F       129:m
++ÑÅ    F       130:m
++ÑÆ    F       131:m
++ÑÇ    F       132:m
++ÑÈ    F       133:m
++ÑÉ    F       134:m
++ÑÊ    F       135:m
++ÑË    F       136:m
++ÑÌ    F       137:m
++ÑÍ    F       138:m
++ÑΠ   F       139:m
++ÑÏ    F       140:m
++ÑР   F       141:m
++ÑÑ    F       142:m
++ÑÒ    F       143:m
++ÑÓ    F       144:m
++ÑÔ    F       145:m
++ÑÕ    F       146:m
++ÑÖ    F       147:m
++Ñ×    F       148:m
++ÑØ    F       149:m
++ÑÙ    F       150:m
++ÑÚ    F       151:m
++ÑÛ    F       152:m
++ÑÜ    F       153:m
++ÑÝ    F       154:m
++ÑÞ    F       155:m
++Ñß    F       156:m
++Ñà    F       157:m
++Ñá    F       158:m
++Ñâ    F       159:m
++Ñã    F       160:m
++Ñä    F       161:m
++Ñå    F       162:m
++Ñæ    F       163:m
++Ñç    F       164:m
++Ñè    F       165:m
++Ñé    F       166:m
++Ñê    F       167:m
++Ñë    F       168:m
++Ñì    F       169:m
++Ñí    F       170:m
++Ñî    F       171:m
++Ñï    F       172:m
++Ñð    F       173:m
++Ññ    F       174:m
++Ñò    F       175:m
++Ñó    F       176:m
++Ñô    F       177:m
++Ñõ    F       178:m
++Ñö    F       179:m
++Ñ÷    F       180:m
++Ñø    F       181:m
++Ñù    F       182:m
++Ñú    F       183:m
++Ñû    F       184:m
++Ñü    F       185:m
++Ñý    F       186:m
++Ñþ    F       187:m
++ҡ    F       188:m
++Ң    F       189:m
++ң    F       190:m
++Ҥ    F       191:m
++ҥ    F       192:m
++Ҧ    F       193:m
++ҧ    F       194:m
++Ҩ    F       195:m
++ҩ    F       196:m
++Ҫ    F       197:m
++ҫ    F       198:m
++Ҭ    F       199:m
++ҭ    F       200:m
++Ү    F       201:m
++ү    F       202:m
++Ұ    F       203:m
++ұ    F       204:m
++Ҳ    F       205:m
++ҳ    F       206:m
++Ҵ    F       207:m
++ҵ    F       208:m
++Ҷ    F       209:m
++ҷ    F       210:m
++Ҹ    F       211:m
++ҹ    F       212:m
++Һ    F       213:m
++һ    F       214:m
++Ҽ    F       215:m
++ҽ    F       216:m
++Ҿ    F       217:m
++ҿ    F       218:m
++ÒÀ    F       219:m
++ÒÁ    F       220:m
++Ò    F       221:m
++Òà   F       222:m
++ÒÄ    F       223:m
++ÒÅ    F       224:m
++ÒÆ    F       225:m
++ÒÇ    F       226:m
++ÒÈ    F       227:m
++ÒÉ    F       228:m
++ÒÊ    F       229:m
++ÒË    F       230:m
++ÒÌ    F       231:m
++ÒÍ    F       232:m
++ÒΠ   F       233:m
++ÒÏ    F       234:m
++ÒР   F       235:m
++ÒÑ    F       236:m
++ÒÒ    F       237:m
++ÒÓ    F       238:m
++ÒÔ    F       239:m
++ÒÕ    F       240:m
++ÒÖ    F       241:m
++Ò×    F       242:m
++ÒØ    F       243:m
++ÒÙ    F       244:m
++ÒÚ    F       245:m
++ÒÛ    F       246:m
++ÒÜ    F       247:m
++ÒÝ    F       248:m
++ÒÞ    F       249:m
++Òß    F       250:m
++Òà    F       251:m
++Òá    F       252:m
++Òâ    F       253:m
++Òã    F       254:m
++Òä    F       255:m
++Òå    F       0:n
++Òæ    F       1:n
++Òç    F       2:n
++Òè    F       3:n
++Òé    F       4:n
++Òê    F       5:n
++Òë    F       6:n
++Òì    F       7:n
++Òí    F       8:n
++Òî    F       9:n
++Òï    F       10:n
++Òð    F       11:n
++Òñ    F       12:n
++Òò    F       13:n
++Òó    F       14:n
++Òô    F       15:n
++Òõ    F       16:n
++Òö    F       17:n
++Ò÷    F       18:n
++Òø    F       19:n
++Òù    F       20:n
++Òú    F       21:n
++Òû    F       22:n
++Òü    F       23:n
++Òý    F       24:n
++Òþ    F       25:n
++ӡ    F       26:n
++Ӣ    F       27:n
++ӣ    F       28:n
++Ӥ    F       29:n
++ӥ    F       30:n
++Ӧ    F       31:n
++ӧ    F       32:n
++Ө    F       33:n
++ө    F       34:n
++Ӫ    F       35:n
++ӫ    F       36:n
++Ӭ    F       37:n
++ӭ    F       38:n
++Ӯ    F       39:n
++ӯ    F       40:n
++Ӱ    F       41:n
++ӱ    F       42:n
++Ӳ    F       43:n
++ӳ    F       44:n
++Ӵ    F       45:n
++ӵ    F       46:n
++Ӷ    F       47:n
++ӷ    F       48:n
++Ӹ    F       49:n
++ӹ    F       50:n
++Ӻ    F       51:n
++ӻ    F       52:n
++Ӽ    F       53:n
++ӽ    F       54:n
++Ӿ    F       55:n
++ӿ    F       56:n
++ÓÀ    F       57:n
++ÓÁ    F       58:n
++Ó    F       59:n
++Óà   F       60:n
++ÓÄ    F       61:n
++ÓÅ    F       62:n
++ÓÆ    F       63:n
++ÓÇ    F       64:n
++ÓÈ    F       65:n
++ÓÉ    F       66:n
++ÓÊ    F       67:n
++ÓË    F       68:n
++ÓÌ    F       69:n
++ÓÍ    F       70:n
++ÓΠ   F       71:n
++ÓÏ    F       72:n
++ÓР   F       73:n
++ÓÑ    F       74:n
++ÓÒ    F       75:n
++ÓÓ    F       76:n
++ÓÔ    F       77:n
++ÓÕ    F       78:n
++ÓÖ    F       79:n
++Ó×    F       80:n
++ÓØ    F       81:n
++ÓÙ    F       82:n
++ÓÚ    F       83:n
++ÓÛ    F       84:n
++ÓÜ    F       85:n
++ÓÝ    F       86:n
++ÓÞ    F       87:n
++Óß    F       88:n
++Óà    F       89:n
++Óá    F       90:n
++Óâ    F       91:n
++Óã    F       92:n
++Óä    F       93:n
++Óå    F       94:n
++Óæ    F       95:n
++Óç    F       96:n
++Óè    F       97:n
++Óé    F       98:n
++Óê    F       99:n
++Óë    F       100:n
++Óì    F       101:n
++Óí    F       102:n
++Óî    F       103:n
++Óï    F       104:n
++Óð    F       105:n
++Óñ    F       106:n
++Óò    F       107:n
++Óó    F       108:n
++Óô    F       109:n
++Óõ    F       110:n
++Óö    F       111:n
++Ó÷    F       112:n
++Óø    F       113:n
++Óù    F       114:n
++Óú    F       115:n
++Óû    F       116:n
++Óü    F       117:n
++Óý    F       118:n
++Óþ    F       119:n
++ԡ    F       120:n
++Ԣ    F       121:n
++ԣ    F       122:n
++Ԥ    F       123:n
++ԥ    F       124:n
++Ԧ    F       125:n
++ԧ    F       126:n
++Ԩ    F       127:n
++ԩ    F       128:n
++Ԫ    F       129:n
++ԫ    F       130:n
++Ԭ    F       131:n
++ԭ    F       132:n
++Ԯ    F       133:n
++ԯ    F       134:n
++԰    F       135:n
++Ա    F       136:n
++Բ    F       137:n
++Գ    F       138:n
++Դ    F       139:n
++Ե    F       140:n
++Զ    F       141:n
++Է    F       142:n
++Ը    F       143:n
++Թ    F       144:n
++Ժ    F       145:n
++Ի    F       146:n
++Լ    F       147:n
++Խ    F       148:n
++Ծ    F       149:n
++Կ    F       150:n
++ÔÀ    F       151:n
++ÔÁ    F       152:n
++Ô    F       153:n
++Ôà   F       154:n
++ÔÄ    F       155:n
++ÔÅ    F       156:n
++ÔÆ    F       157:n
++ÔÇ    F       158:n
++ÔÈ    F       159:n
++ÔÉ    F       160:n
++ÔÊ    F       161:n
++ÔË    F       162:n
++ÔÌ    F       163:n
++ÔÍ    F       164:n
++ÔΠ   F       165:n
++ÔÏ    F       166:n
++ÔР   F       167:n
++ÔÑ    F       168:n
++ÔÒ    F       169:n
++ÔÓ    F       170:n
++ÔÔ    F       171:n
++ÔÕ    F       172:n
++ÔÖ    F       173:n
++Ô×    F       174:n
++ÔØ    F       175:n
++ÔÙ    F       176:n
++ÔÚ    F       177:n
++ÔÛ    F       178:n
++ÔÜ    F       179:n
++ÔÝ    F       180:n
++ÔÞ    F       181:n
++Ôß    F       182:n
++Ôà    F       183:n
++Ôá    F       184:n
++Ôâ    F       185:n
++Ôã    F       186:n
++Ôä    F       187:n
++Ôå    F       188:n
++Ôæ    F       189:n
++Ôç    F       190:n
++Ôè    F       191:n
++Ôé    F       192:n
++Ôê    F       193:n
++Ôë    F       194:n
++Ôì    F       195:n
++Ôí    F       196:n
++Ôî    F       197:n
++Ôï    F       198:n
++Ôð    F       199:n
++Ôñ    F       200:n
++Ôò    F       201:n
++Ôó    F       202:n
++Ôô    F       203:n
++Ôõ    F       204:n
++Ôö    F       205:n
++Ô÷    F       206:n
++Ôø    F       207:n
++Ôù    F       208:n
++Ôú    F       209:n
++Ôû    F       210:n
++Ôü    F       211:n
++Ôý    F       212:n
++Ôþ    F       213:n
++ա    F       214:n
++բ    F       215:n
++գ    F       216:n
++դ    F       217:n
++ե    F       218:n
++զ    F       219:n
++է    F       220:n
++ը    F       221:n
++թ    F       222:n
++ժ    F       223:n
++ի    F       224:n
++լ    F       225:n
++խ    F       226:n
++ծ    F       227:n
++կ    F       228:n
++հ    F       229:n
++ձ    F       230:n
++ղ    F       231:n
++ճ    F       232:n
++մ    F       233:n
++յ    F       234:n
++ն    F       235:n
++շ    F       236:n
++ո    F       237:n
++չ    F       238:n
++պ    F       239:n
++ջ    F       240:n
++ռ    F       241:n
++ս    F       242:n
++վ    F       243:n
++տ    F       244:n
++ÕÀ    F       245:n
++ÕÁ    F       246:n
++Õ    F       247:n
++Õà   F       248:n
++ÕÄ    F       249:n
++ÕÅ    F       250:n
++ÕÆ    F       251:n
++ÕÇ    F       252:n
++ÕÈ    F       253:n
++ÕÉ    F       254:n
++ÕÊ    F       255:n
++ÕË    F       0:o
++ÕÌ    F       1:o
++ÕÍ    F       2:o
++ÕΠ   F       3:o
++ÕÏ    F       4:o
++ÕР   F       5:o
++ÕÑ    F       6:o
++ÕÒ    F       7:o
++ÕÓ    F       8:o
++ÕÔ    F       9:o
++ÕÕ    F       10:o
++ÕÖ    F       11:o
++Õ×    F       12:o
++ÕØ    F       13:o
++ÕÙ    F       14:o
++ÕÚ    F       15:o
++ÕÛ    F       16:o
++ÕÜ    F       17:o
++ÕÝ    F       18:o
++ÕÞ    F       19:o
++Õß    F       20:o
++Õà    F       21:o
++Õá    F       22:o
++Õâ    F       23:o
++Õã    F       24:o
++Õä    F       25:o
++Õå    F       26:o
++Õæ    F       27:o
++Õç    F       28:o
++Õè    F       29:o
++Õé    F       30:o
++Õê    F       31:o
++Õë    F       32:o
++Õì    F       33:o
++Õí    F       34:o
++Õî    F       35:o
++Õï    F       36:o
++Õð    F       37:o
++Õñ    F       38:o
++Õò    F       39:o
++Õó    F       40:o
++Õô    F       41:o
++Õõ    F       42:o
++Õö    F       43:o
++Õ÷    F       44:o
++Õø    F       45:o
++Õù    F       46:o
++Õú    F       47:o
++Õû    F       48:o
++Õü    F       49:o
++Õý    F       50:o
++Õþ    F       51:o
++֡    F       52:o
++֢    F       53:o
++֣    F       54:o
++֤    F       55:o
++֥    F       56:o
++֦    F       57:o
++֧    F       58:o
++֨    F       59:o
++֩    F       60:o
++֪    F       61:o
++֫    F       62:o
++֬    F       63:o
++֭    F       64:o
++֮    F       65:o
++֯    F       66:o
++ְ    F       67:o
++ֱ    F       68:o
++ֲ    F       69:o
++ֳ    F       70:o
++ִ    F       71:o
++ֵ    F       72:o
++ֶ    F       73:o
++ַ    F       74:o
++ָ    F       75:o
++ֹ    F       76:o
++ֺ    F       77:o
++ֻ    F       78:o
++ּ    F       79:o
++ֽ    F       80:o
++־    F       81:o
++ֿ    F       82:o
++ÖÀ    F       83:o
++ÖÁ    F       84:o
++Ö    F       85:o
++Öà   F       86:o
++ÖÄ    F       87:o
++ÖÅ    F       88:o
++ÖÆ    F       89:o
++ÖÇ    F       90:o
++ÖÈ    F       91:o
++ÖÉ    F       92:o
++ÖÊ    F       93:o
++ÖË    F       94:o
++ÖÌ    F       95:o
++ÖÍ    F       96:o
++ÖΠ   F       97:o
++ÖÏ    F       98:o
++ÖР   F       99:o
++ÖÑ    F       100:o
++ÖÒ    F       101:o
++ÖÓ    F       102:o
++ÖÔ    F       103:o
++ÖÕ    F       104:o
++ÖÖ    F       105:o
++Ö×    F       106:o
++ÖØ    F       107:o
++ÖÙ    F       108:o
++ÖÚ    F       109:o
++ÖÛ    F       110:o
++ÖÜ    F       111:o
++ÖÝ    F       112:o
++ÖÞ    F       113:o
++Öß    F       114:o
++Öà    F       115:o
++Öá    F       116:o
++Öâ    F       117:o
++Öã    F       118:o
++Öä    F       119:o
++Öå    F       120:o
++Öæ    F       121:o
++Öç    F       122:o
++Öè    F       123:o
++Öé    F       124:o
++Öê    F       125:o
++Öë    F       126:o
++Öì    F       127:o
++Öí    F       128:o
++Öî    F       129:o
++Öï    F       130:o
++Öð    F       131:o
++Öñ    F       132:o
++Öò    F       133:o
++Öó    F       134:o
++Öô    F       135:o
++Öõ    F       136:o
++Öö    F       137:o
++Ö÷    F       138:o
++Öø    F       139:o
++Öù    F       140:o
++Öú    F       141:o
++Öû    F       142:o
++Öü    F       143:o
++Öý    F       144:o
++Öþ    F       145:o
++ס    F       146:o
++ע    F       147:o
++ף    F       148:o
++פ    F       149:o
++ץ    F       150:o
++צ    F       151:o
++ק    F       152:o
++ר    F       153:o
++ש    F       154:o
++ת    F       155:o
++׫    F       156:o
++׬    F       157:o
++׭    F       158:o
++׮    F       159:o
++ׯ    F       160:o
++װ    F       161:o
++ױ    F       162:o
++ײ    F       163:o
++׳    F       164:o
++״    F       165:o
++׵    F       166:o
++׶    F       167:o
++׷    F       168:o
++׸    F       169:o
++׹    F       170:o
++׺    F       171:o
++׻    F       172:o
++׼    F       173:o
++׽    F       174:o
++׾    F       175:o
++׿    F       176:o
++×À    F       177:o
++×Á    F       178:o
++×    F       179:o
++×à   F       180:o
++×Ä    F       181:o
++×Å    F       182:o
++×Æ    F       183:o
++×Ç    F       184:o
++×È    F       185:o
++×É    F       186:o
++×Ê    F       187:o
++×Ë    F       188:o
++×Ì    F       189:o
++×Í    F       190:o
++×Π   F       191:o
++×Ï    F       192:o
++×Р   F       193:o
++×Ñ    F       194:o
++×Ò    F       195:o
++×Ó    F       196:o
++×Ô    F       197:o
++×Õ    F       198:o
++×Ö    F       199:o
++××    F       200:o
++×Ø    F       201:o
++×Ù    F       202:o
++×Ú    F       203:o
++×Û    F       204:o
++×Ü    F       205:o
++×Ý    F       206:o
++×Þ    F       207:o
++×ß    F       208:o
++×à    F       209:o
++×á    F       210:o
++×â    F       211:o
++×ã    F       212:o
++×ä    F       213:o
++×å    F       214:o
++×æ    F       215:o
++×ç    F       216:o
++×è    F       217:o
++×é    F       218:o
++×ê    F       219:o
++×ë    F       220:o
++×ì    F       221:o
++×í    F       222:o
++×î    F       223:o
++×ï    F       224:o
++×ð    F       225:o
++×ñ    F       226:o
++×ò    F       227:o
++×ó    F       228:o
++×ô    F       229:o
++×õ    F       230:o
++×ö    F       231:o
++×÷    F       232:o
++×ø    F       233:o
++×ù    F       234:o
++×ú    F       235:o
++×û    F       236:o
++×ü    F       237:o
++×ý    F       238:o
++×þ    F       239:o
++ء    F       240:o
++آ    F       241:o
++أ    F       242:o
++ؤ    F       243:o
++إ    F       244:o
++ئ    F       245:o
++ا    F       246:o
++ب    F       247:o
++ة    F       248:o
++ت    F       249:o
++ث    F       250:o
++ج    F       251:o
++ح    F       252:o
++خ    F       253:o
++د    F       254:o
++ذ    F       255:o
++ر    F       0:p
++ز    F       1:p
++س    F       2:p
++ش    F       3:p
++ص    F       4:p
++ض    F       5:p
++ط    F       6:p
++ظ    F       7:p
++ع    F       8:p
++غ    F       9:p
++ػ    F       10:p
++ؼ    F       11:p
++ؽ    F       12:p
++ؾ    F       13:p
++ؿ    F       14:p
++ØÀ    F       15:p
++ØÁ    F       16:p
++Ø    F       17:p
++Øà   F       18:p
++ØÄ    F       19:p
++ØÅ    F       20:p
++ØÆ    F       21:p
++ØÇ    F       22:p
++ØÈ    F       23:p
++ØÉ    F       24:p
++ØÊ    F       25:p
++ØË    F       26:p
++ØÌ    F       27:p
++ØÍ    F       28:p
++ØΠ   F       29:p
++ØÏ    F       30:p
++ØР   F       31:p
++ØÑ    F       32:p
++ØÒ    F       33:p
++ØÓ    F       34:p
++ØÔ    F       35:p
++ØÕ    F       36:p
++ØÖ    F       37:p
++Ø×    F       38:p
++ØØ    F       39:p
++ØÙ    F       40:p
++ØÚ    F       41:p
++ØÛ    F       42:p
++ØÜ    F       43:p
++ØÝ    F       44:p
++ØÞ    F       45:p
++Øß    F       46:p
++Øà    F       47:p
++Øá    F       48:p
++Øâ    F       49:p
++Øã    F       50:p
++Øä    F       51:p
++Øå    F       52:p
++Øæ    F       53:p
++Øç    F       54:p
++Øè    F       55:p
++Øé    F       56:p
++Øê    F       57:p
++Øë    F       58:p
++Øì    F       59:p
++Øí    F       60:p
++Øî    F       61:p
++Øï    F       62:p
++Øð    F       63:p
++Øñ    F       64:p
++Øò    F       65:p
++Øó    F       66:p
++Øô    F       67:p
++Øõ    F       68:p
++Øö    F       69:p
++Ø÷    F       70:p
++Øø    F       71:p
++Øù    F       72:p
++Øú    F       73:p
++Øû    F       74:p
++Øü    F       75:p
++Øý    F       76:p
++Øþ    F       77:p
++١    F       78:p
++٢    F       79:p
++٣    F       80:p
++٤    F       81:p
++٥    F       82:p
++٦    F       83:p
++٧    F       84:p
++٨    F       85:p
++٩    F       86:p
++٪    F       87:p
++٫    F       88:p
++٬    F       89:p
++٭    F       90:p
++ٮ    F       91:p
++ٯ    F       92:p
++ٰ    F       93:p
++ٱ    F       94:p
++ٲ    F       95:p
++ٳ    F       96:p
++ٴ    F       97:p
++ٵ    F       98:p
++ٶ    F       99:p
++ٷ    F       100:p
++ٸ    F       101:p
++ٹ    F       102:p
++ٺ    F       103:p
++ٻ    F       104:p
++ټ    F       105:p
++ٽ    F       106:p
++پ    F       107:p
++ٿ    F       108:p
++ÙÀ    F       109:p
++ÙÁ    F       110:p
++Ù    F       111:p
++Ùà   F       112:p
++ÙÄ    F       113:p
++ÙÅ    F       114:p
++ÙÆ    F       115:p
++ÙÇ    F       116:p
++ÙÈ    F       117:p
++ÙÉ    F       118:p
++ÙÊ    F       119:p
++ÙË    F       120:p
++ÙÌ    F       121:p
++ÙÍ    F       122:p
++ÙΠ   F       123:p
++ÙÏ    F       124:p
++ÙР   F       125:p
++ÙÑ    F       126:p
++ÙÒ    F       127:p
++ÙÓ    F       128:p
++ÙÔ    F       129:p
++ÙÕ    F       130:p
++ÙÖ    F       131:p
++Ù×    F       132:p
++ÙØ    F       133:p
++ÙÙ    F       134:p
++ÙÚ    F       135:p
++ÙÛ    F       136:p
++ÙÜ    F       137:p
++ÙÝ    F       138:p
++ÙÞ    F       139:p
++Ùß    F       140:p
++Ùà    F       141:p
++Ùá    F       142:p
++Ùâ    F       143:p
++Ùã    F       144:p
++Ùä    F       145:p
++Ùå    F       146:p
++Ùæ    F       147:p
++Ùç    F       148:p
++Ùè    F       149:p
++Ùé    F       150:p
++Ùê    F       151:p
++Ùë    F       152:p
++Ùì    F       153:p
++Ùí    F       154:p
++Ùî    F       155:p
++Ùï    F       156:p
++Ùð    F       157:p
++Ùñ    F       158:p
++Ùò    F       159:p
++Ùó    F       160:p
++Ùô    F       161:p
++Ùõ    F       162:p
++Ùö    F       163:p
++Ù÷    F       164:p
++Ùø    F       165:p
++Ùù    F       166:p
++Ùú    F       167:p
++Ùû    F       168:p
++Ùü    F       169:p
++Ùý    F       170:p
++Ùþ    F       171:p
++ڡ    F       172:p
++ڢ    F       173:p
++ڣ    F       174:p
++ڤ    F       175:p
++ڥ    F       176:p
++ڦ    F       177:p
++ڧ    F       178:p
++ڨ    F       179:p
++ک    F       180:p
++ڪ    F       181:p
++ګ    F       182:p
++ڬ    F       183:p
++ڭ    F       184:p
++ڮ    F       185:p
++گ    F       186:p
++ڰ    F       187:p
++ڱ    F       188:p
++ڲ    F       189:p
++ڳ    F       190:p
++ڴ    F       191:p
++ڵ    F       192:p
++ڶ    F       193:p
++ڷ    F       194:p
++ڸ    F       195:p
++ڹ    F       196:p
++ں    F       197:p
++ڻ    F       198:p
++ڼ    F       199:p
++ڽ    F       200:p
++ھ    F       201:p
++ڿ    F       202:p
++ÚÀ    F       203:p
++ÚÁ    F       204:p
++Ú    F       205:p
++Úà   F       206:p
++ÚÄ    F       207:p
++ÚÅ    F       208:p
++ÚÆ    F       209:p
++ÚÇ    F       210:p
++ÚÈ    F       211:p
++ÚÉ    F       212:p
++ÚÊ    F       213:p
++ÚË    F       214:p
++ÚÌ    F       215:p
++ÚÍ    F       216:p
++ÚΠ   F       217:p
++ÚÏ    F       218:p
++ÚР   F       219:p
++ÚÑ    F       220:p
++ÚÒ    F       221:p
++ÚÓ    F       222:p
++ÚÔ    F       223:p
++ÚÕ    F       224:p
++ÚÖ    F       225:p
++Ú×    F       226:p
++ÚØ    F       227:p
++ÚÙ    F       228:p
++ÚÚ    F       229:p
++ÚÛ    F       230:p
++ÚÜ    F       231:p
++ÚÝ    F       232:p
++ÚÞ    F       233:p
++Úß    F       234:p
++Úà    F       235:p
++Úá    F       236:p
++Úâ    F       237:p
++Úã    F       238:p
++Úä    F       239:p
++Úå    F       240:p
++Úæ    F       241:p
++Úç    F       242:p
++Úè    F       243:p
++Úé    F       244:p
++Úê    F       245:p
++Úë    F       246:p
++Úì    F       247:p
++Úí    F       248:p
++Úî    F       249:p
++Úï    F       250:p
++Úð    F       251:p
++Úñ    F       252:p
++Úò    F       253:p
++Úó    F       254:p
++Úô    F       255:p
++Úõ    F       0:q
++Úö    F       1:q
++Ú÷    F       2:q
++Úø    F       3:q
++Úù    F       4:q
++Úú    F       5:q
++Úû    F       6:q
++Úü    F       7:q
++Úý    F       8:q
++Úþ    F       9:q
++ۡ    F       10:q
++ۢ    F       11:q
++ۣ    F       12:q
++ۤ    F       13:q
++ۥ    F       14:q
++ۦ    F       15:q
++ۧ    F       16:q
++ۨ    F       17:q
++۩    F       18:q
++۪    F       19:q
++۫    F       20:q
++۬    F       21:q
++ۭ    F       22:q
++ۮ    F       23:q
++ۯ    F       24:q
++۰    F       25:q
++۱    F       26:q
++۲    F       27:q
++۳    F       28:q
++۴    F       29:q
++۵    F       30:q
++۶    F       31:q
++۷    F       32:q
++۸    F       33:q
++۹    F       34:q
++ۺ    F       35:q
++ۻ    F       36:q
++ۼ    F       37:q
++۽    F       38:q
++۾    F       39:q
++ۿ    F       40:q
++ÛÀ    F       41:q
++ÛÁ    F       42:q
++Û    F       43:q
++Ûà   F       44:q
++ÛÄ    F       45:q
++ÛÅ    F       46:q
++ÛÆ    F       47:q
++ÛÇ    F       48:q
++ÛÈ    F       49:q
++ÛÉ    F       50:q
++ÛÊ    F       51:q
++ÛË    F       52:q
++ÛÌ    F       53:q
++ÛÍ    F       54:q
++ÛΠ   F       55:q
++ÛÏ    F       56:q
++ÛР   F       57:q
++ÛÑ    F       58:q
++ÛÒ    F       59:q
++ÛÓ    F       60:q
++ÛÔ    F       61:q
++ÛÕ    F       62:q
++ÛÖ    F       63:q
++Û×    F       64:q
++ÛØ    F       65:q
++ÛÙ    F       66:q
++ÛÚ    F       67:q
++ÛÛ    F       68:q
++ÛÜ    F       69:q
++ÛÝ    F       70:q
++ÛÞ    F       71:q
++Ûß    F       72:q
++Ûà    F       73:q
++Ûá    F       74:q
++Ûâ    F       75:q
++Ûã    F       76:q
++Ûä    F       77:q
++Ûå    F       78:q
++Ûæ    F       79:q
++Ûç    F       80:q
++Ûè    F       81:q
++Ûé    F       82:q
++Ûê    F       83:q
++Ûë    F       84:q
++Ûì    F       85:q
++Ûí    F       86:q
++Ûî    F       87:q
++Ûï    F       88:q
++Ûð    F       89:q
++Ûñ    F       90:q
++Ûò    F       91:q
++Ûó    F       92:q
++Ûô    F       93:q
++Ûõ    F       94:q
++Ûö    F       95:q
++Û÷    F       96:q
++Ûø    F       97:q
++Ûù    F       98:q
++Ûú    F       99:q
++Ûû    F       100:q
++Ûü    F       101:q
++Ûý    F       102:q
++Ûþ    F       103:q
++ܡ    F       104:q
++ܢ    F       105:q
++ܣ    F       106:q
++ܤ    F       107:q
++ܥ    F       108:q
++ܦ    F       109:q
++ܧ    F       110:q
++ܨ    F       111:q
++ܩ    F       112:q
++ܪ    F       113:q
++ܫ    F       114:q
++ܬ    F       115:q
++ܭ    F       116:q
++ܮ    F       117:q
++ܯ    F       118:q
++ܰ    F       119:q
++ܱ    F       120:q
++ܲ    F       121:q
++ܳ    F       122:q
++ܴ    F       123:q
++ܵ    F       124:q
++ܶ    F       125:q
++ܷ    F       126:q
++ܸ    F       127:q
++ܹ    F       128:q
++ܺ    F       129:q
++ܻ    F       130:q
++ܼ    F       131:q
++ܽ    F       132:q
++ܾ    F       133:q
++ܿ    F       134:q
++ÜÀ    F       135:q
++ÜÁ    F       136:q
++Ü    F       137:q
++Üà   F       138:q
++ÜÄ    F       139:q
++ÜÅ    F       140:q
++ÜÆ    F       141:q
++ÜÇ    F       142:q
++ÜÈ    F       143:q
++ÜÉ    F       144:q
++ÜÊ    F       145:q
++ÜË    F       146:q
++ÜÌ    F       147:q
++ÜÍ    F       148:q
++ÜΠ   F       149:q
++ÜÏ    F       150:q
++ÜР   F       151:q
++ÜÑ    F       152:q
++ÜÒ    F       153:q
++ÜÓ    F       154:q
++ÜÔ    F       155:q
++ÜÕ    F       156:q
++ÜÖ    F       157:q
++Ü×    F       158:q
++ÜØ    F       159:q
++ÜÙ    F       160:q
++ÜÚ    F       161:q
++ÜÛ    F       162:q
++ÜÜ    F       163:q
++ÜÝ    F       164:q
++ÜÞ    F       165:q
++Üß    F       166:q
++Üà    F       167:q
++Üá    F       168:q
++Üâ    F       169:q
++Üã    F       170:q
++Üä    F       171:q
++Üå    F       172:q
++Üæ    F       173:q
++Üç    F       174:q
++Üè    F       175:q
++Üé    F       176:q
++Üê    F       177:q
++Üë    F       178:q
++Üì    F       179:q
++Üí    F       180:q
++Üî    F       181:q
++Üï    F       182:q
++Üð    F       183:q
++Üñ    F       184:q
++Üò    F       185:q
++Üó    F       186:q
++Üô    F       187:q
++Üõ    F       188:q
++Üö    F       189:q
++Ü÷    F       190:q
++Üø    F       191:q
++Üù    F       192:q
++Üú    F       193:q
++Üû    F       194:q
++Üü    F       195:q
++Üý    F       196:q
++Üþ    F       197:q
++ݡ    F       198:q
++ݢ    F       199:q
++ݣ    F       200:q
++ݤ    F       201:q
++ݥ    F       202:q
++ݦ    F       203:q
++ݧ    F       204:q
++ݨ    F       205:q
++ݩ    F       206:q
++ݪ    F       207:q
++ݫ    F       208:q
++ݬ    F       209:q
++ݭ    F       210:q
++ݮ    F       211:q
++ݯ    F       212:q
++ݰ    F       213:q
++ݱ    F       214:q
++ݲ    F       215:q
++ݳ    F       216:q
++ݴ    F       217:q
++ݵ    F       218:q
++ݶ    F       219:q
++ݷ    F       220:q
++ݸ    F       221:q
++ݹ    F       222:q
++ݺ    F       223:q
++ݻ    F       224:q
++ݼ    F       225:q
++ݽ    F       226:q
++ݾ    F       227:q
++ݿ    F       228:q
++ÝÀ    F       229:q
++ÝÁ    F       230:q
++Ý    F       231:q
++Ýà   F       232:q
++ÝÄ    F       233:q
++ÝÅ    F       234:q
++ÝÆ    F       235:q
++ÝÇ    F       236:q
++ÝÈ    F       237:q
++ÝÉ    F       238:q
++ÝÊ    F       239:q
++ÝË    F       240:q
++ÝÌ    F       241:q
++ÝÍ    F       242:q
++ÝΠ   F       243:q
++ÝÏ    F       244:q
++ÝР   F       245:q
++ÝÑ    F       246:q
++ÝÒ    F       247:q
++ÝÓ    F       248:q
++ÝÔ    F       249:q
++ÝÕ    F       250:q
++ÝÖ    F       251:q
++Ý×    F       252:q
++ÝØ    F       253:q
++ÝÙ    F       254:q
++ÝÚ    F       255:q
++ÝÛ    F       0:r
++ÝÜ    F       1:r
++ÝÝ    F       2:r
++ÝÞ    F       3:r
++Ýß    F       4:r
++Ýà    F       5:r
++Ýá    F       6:r
++Ýâ    F       7:r
++Ýã    F       8:r
++Ýä    F       9:r
++Ýå    F       10:r
++Ýæ    F       11:r
++Ýç    F       12:r
++Ýè    F       13:r
++Ýé    F       14:r
++Ýê    F       15:r
++Ýë    F       16:r
++Ýì    F       17:r
++Ýí    F       18:r
++Ýî    F       19:r
++Ýï    F       20:r
++Ýð    F       21:r
++Ýñ    F       22:r
++Ýò    F       23:r
++Ýó    F       24:r
++Ýô    F       25:r
++Ýõ    F       26:r
++Ýö    F       27:r
++Ý÷    F       28:r
++Ýø    F       29:r
++Ýù    F       30:r
++Ýú    F       31:r
++Ýû    F       32:r
++Ýü    F       33:r
++Ýý    F       34:r
++Ýþ    F       35:r
++ޡ    F       36:r
++ޢ    F       37:r
++ޣ    F       38:r
++ޤ    F       39:r
++ޥ    F       40:r
++ަ    F       41:r
++ާ    F       42:r
++ި    F       43:r
++ީ    F       44:r
++ު    F       45:r
++ޫ    F       46:r
++ެ    F       47:r
++ޭ    F       48:r
++ޮ    F       49:r
++ޯ    F       50:r
++ް    F       51:r
++ޱ    F       52:r
++޲    F       53:r
++޳    F       54:r
++޴    F       55:r
++޵    F       56:r
++޶    F       57:r
++޷    F       58:r
++޸    F       59:r
++޹    F       60:r
++޺    F       61:r
++޻    F       62:r
++޼    F       63:r
++޽    F       64:r
++޾    F       65:r
++޿    F       66:r
++ÞÀ    F       67:r
++ÞÁ    F       68:r
++Þ    F       69:r
++Þà   F       70:r
++ÞÄ    F       71:r
++ÞÅ    F       72:r
++ÞÆ    F       73:r
++ÞÇ    F       74:r
++ÞÈ    F       75:r
++ÞÉ    F       76:r
++ÞÊ    F       77:r
++ÞË    F       78:r
++ÞÌ    F       79:r
++ÞÍ    F       80:r
++ÞΠ   F       81:r
++ÞÏ    F       82:r
++ÞР   F       83:r
++ÞÑ    F       84:r
++ÞÒ    F       85:r
++ÞÓ    F       86:r
++ÞÔ    F       87:r
++ÞÕ    F       88:r
++ÞÖ    F       89:r
++Þ×    F       90:r
++ÞØ    F       91:r
++ÞÙ    F       92:r
++ÞÚ    F       93:r
++ÞÛ    F       94:r
++ÞÜ    F       95:r
++ÞÝ    F       96:r
++ÞÞ    F       97:r
++Þß    F       98:r
++Þà    F       99:r
++Þá    F       100:r
++Þâ    F       101:r
++Þã    F       102:r
++Þä    F       103:r
++Þå    F       104:r
++Þæ    F       105:r
++Þç    F       106:r
++Þè    F       107:r
++Þé    F       108:r
++Þê    F       109:r
++Þë    F       110:r
++Þì    F       111:r
++Þí    F       112:r
++Þî    F       113:r
++Þï    F       114:r
++Þð    F       115:r
++Þñ    F       116:r
++Þò    F       117:r
++Þó    F       118:r
++Þô    F       119:r
++Þõ    F       120:r
++Þö    F       121:r
++Þ÷    F       122:r
++Þø    F       123:r
++Þù    F       124:r
++Þú    F       125:r
++Þû    F       126:r
++Þü    F       127:r
++Þý    F       128:r
++Þþ    F       129:r
++ߡ    F       130:r
++ߢ    F       131:r
++ߣ    F       132:r
++ߤ    F       133:r
++ߥ    F       134:r
++ߦ    F       135:r
++ߧ    F       136:r
++ߨ    F       137:r
++ߩ    F       138:r
++ߪ    F       139:r
++߫    F       140:r
++߬    F       141:r
++߭    F       142:r
++߮    F       143:r
++߯    F       144:r
++߰    F       145:r
++߱    F       146:r
++߲    F       147:r
++߳    F       148:r
++ߴ    F       149:r
++ߵ    F       150:r
++߶    F       151:r
++߷    F       152:r
++߸    F       153:r
++߹    F       154:r
++ߺ    F       155:r
++߻    F       156:r
++߼    F       157:r
++߽    F       158:r
++߾    F       159:r
++߿    F       160:r
++ßÀ    F       161:r
++ßÁ    F       162:r
++ß    F       163:r
++ßà   F       164:r
++ßÄ    F       165:r
++ßÅ    F       166:r
++ßÆ    F       167:r
++ßÇ    F       168:r
++ßÈ    F       169:r
++ßÉ    F       170:r
++ßÊ    F       171:r
++ßË    F       172:r
++ßÌ    F       173:r
++ßÍ    F       174:r
++ßΠ   F       175:r
++ßÏ    F       176:r
++ßР   F       177:r
++ßÑ    F       178:r
++ßÒ    F       179:r
++ßÓ    F       180:r
++ßÔ    F       181:r
++ßÕ    F       182:r
++ßÖ    F       183:r
++ß×    F       184:r
++ßØ    F       185:r
++ßÙ    F       186:r
++ßÚ    F       187:r
++ßÛ    F       188:r
++ßÜ    F       189:r
++ßÝ    F       190:r
++ßÞ    F       191:r
++ßß    F       192:r
++ßà    F       193:r
++ßá    F       194:r
++ßâ    F       195:r
++ßã    F       196:r
++ßä    F       197:r
++ßå    F       198:r
++ßæ    F       199:r
++ßç    F       200:r
++ßè    F       201:r
++ßé    F       202:r
++ßê    F       203:r
++ßë    F       204:r
++ßì    F       205:r
++ßí    F       206:r
++ßî    F       207:r
++ßï    F       208:r
++ßð    F       209:r
++ßñ    F       210:r
++ßò    F       211:r
++ßó    F       212:r
++ßô    F       213:r
++ßõ    F       214:r
++ßö    F       215:r
++ß÷    F       216:r
++ßø    F       217:r
++ßù    F       218:r
++ßú    F       219:r
++ßû    F       220:r
++ßü    F       221:r
++ßý    F       222:r
++ßþ    F       223:r
++à¡    F       224:r
++ࢠ   F       225:r
++࣠   F       226:r
++ठ   F       227:r
++ॠ   F       228:r
++ঠ   F       229:r
++ৠ   F       230:r
++ਠ   F       231:r
++à©    F       232:r
++ઠ   F       233:r
++à«    F       234:r
++ଠ   F       235:r
++à­    F       236:r
++à®    F       237:r
++௠   F       238:r
++à°    F       239:r
++à±    F       240:r
++ಠ   F       241:r
++à³    F       242:r
++à´    F       243:r
++ൠ   F       244:r
++ච   F       245:r
++à·    F       246:r
++ภ   F       247:r
++๠   F       248:r
++ຠ   F       249:r
++à»    F       250:r
++༠   F       251:r
++འ   F       252:r
++ྠ   F       253:r
++à¿    F       254:r
++àÀ    F       255:r
++àÁ    F       0:s
++à    F       1:s
++àà   F       2:s
++àÄ    F       3:s
++àÅ    F       4:s
++àÆ    F       5:s
++àÇ    F       6:s
++àÈ    F       7:s
++àÉ    F       8:s
++àÊ    F       9:s
++àË    F       10:s
++àÌ    F       11:s
++àÍ    F       12:s
++àΠ   F       13:s
++àÏ    F       14:s
++àР   F       15:s
++àÑ    F       16:s
++àÒ    F       17:s
++àÓ    F       18:s
++àÔ    F       19:s
++àÕ    F       20:s
++àÖ    F       21:s
++à×    F       22:s
++àØ    F       23:s
++àÙ    F       24:s
++àÚ    F       25:s
++àÛ    F       26:s
++àÜ    F       27:s
++àÝ    F       28:s
++àÞ    F       29:s
++àß    F       30:s
++àà    F       31:s
++àá    F       32:s
++àâ    F       33:s
++àã    F       34:s
++àä    F       35:s
++àå    F       36:s
++àæ    F       37:s
++àç    F       38:s
++àè    F       39:s
++àé    F       40:s
++àê    F       41:s
++àë    F       42:s
++àì    F       43:s
++àí    F       44:s
++àî    F       45:s
++àï    F       46:s
++àð    F       47:s
++àñ    F       48:s
++àò    F       49:s
++àó    F       50:s
++àô    F       51:s
++àõ    F       52:s
++àö    F       53:s
++à÷    F       54:s
++àø    F       55:s
++àù    F       56:s
++àú    F       57:s
++àû    F       58:s
++àü    F       59:s
++àý    F       60:s
++àþ    F       61:s
++á¡    F       62:s
++ᢠ   F       63:s
++ᣠ   F       64:s
++ᤠ   F       65:s
++ᥠ   F       66:s
++ᦠ   F       67:s
++᧠   F       68:s
++ᨠ   F       69:s
++á©    F       70:s
++᪠   F       71:s
++á«    F       72:s
++ᬠ   F       73:s
++á­    F       74:s
++á®    F       75:s
++ᯠ   F       76:s
++á°    F       77:s
++á±    F       78:s
++á²    F       79:s
++á³    F       80:s
++á´    F       81:s
++áµ    F       82:s
++ᶠ   F       83:s
++á·    F       84:s
++Ḡ   F       85:s
++á¹    F       86:s
++Ạ   F       87:s
++á»    F       88:s
++á¼    F       89:s
++á½    F       90:s
++á¾    F       91:s
++á¿    F       92:s
++áÀ    F       93:s
++áÁ    F       94:s
++á    F       95:s
++áà   F       96:s
++áÄ    F       97:s
++áÅ    F       98:s
++áÆ    F       99:s
++áÇ    F       100:s
++áÈ    F       101:s
++áÉ    F       102:s
++áÊ    F       103:s
++áË    F       104:s
++áÌ    F       105:s
++áÍ    F       106:s
++áΠ   F       107:s
++áÏ    F       108:s
++áР   F       109:s
++áÑ    F       110:s
++áÒ    F       111:s
++áÓ    F       112:s
++áÔ    F       113:s
++áÕ    F       114:s
++áÖ    F       115:s
++á×    F       116:s
++áØ    F       117:s
++áÙ    F       118:s
++áÚ    F       119:s
++áÛ    F       120:s
++áÜ    F       121:s
++áÝ    F       122:s
++áÞ    F       123:s
++áß    F       124:s
++áà    F       125:s
++áá    F       126:s
++áâ    F       127:s
++áã    F       128:s
++áä    F       129:s
++áå    F       130:s
++áæ    F       131:s
++áç    F       132:s
++áè    F       133:s
++áé    F       134:s
++áê    F       135:s
++áë    F       136:s
++áì    F       137:s
++áí    F       138:s
++áî    F       139:s
++áï    F       140:s
++áð    F       141:s
++áñ    F       142:s
++áò    F       143:s
++áó    F       144:s
++áô    F       145:s
++áõ    F       146:s
++áö    F       147:s
++á÷    F       148:s
++áø    F       149:s
++áù    F       150:s
++áú    F       151:s
++áû    F       152:s
++áü    F       153:s
++áý    F       154:s
++áþ    F       155:s
++â¡    F       156:s
++⢠   F       157:s
++⣠   F       158:s
++⤠   F       159:s
++⥠   F       160:s
++⦠   F       161:s
++⧠   F       162:s
++⨠   F       163:s
++â©    F       164:s
++⪠   F       165:s
++â«    F       166:s
++⬠   F       167:s
++â­    F       168:s
++â®    F       169:s
++⯠   F       170:s
++â°    F       171:s
++â±    F       172:s
++â²    F       173:s
++â³    F       174:s
++â´    F       175:s
++âµ    F       176:s
++ⶠ   F       177:s
++â·    F       178:s
++⸠   F       179:s
++â¹    F       180:s
++⺠   F       181:s
++â»    F       182:s
++â¼    F       183:s
++â½    F       184:s
++â¾    F       185:s
++â¿    F       186:s
++âÀ    F       187:s
++âÁ    F       188:s
++â    F       189:s
++âà   F       190:s
++âÄ    F       191:s
++âÅ    F       192:s
++âÆ    F       193:s
++âÇ    F       194:s
++âÈ    F       195:s
++âÉ    F       196:s
++âÊ    F       197:s
++âË    F       198:s
++âÌ    F       199:s
++âÍ    F       200:s
++âΠ   F       201:s
++âÏ    F       202:s
++âР   F       203:s
++âÑ    F       204:s
++âÒ    F       205:s
++âÓ    F       206:s
++âÔ    F       207:s
++âÕ    F       208:s
++âÖ    F       209:s
++â×    F       210:s
++âØ    F       211:s
++âÙ    F       212:s
++âÚ    F       213:s
++âÛ    F       214:s
++âÜ    F       215:s
++âÝ    F       216:s
++âÞ    F       217:s
++âß    F       218:s
++âà    F       219:s
++âá    F       220:s
++ââ    F       221:s
++âã    F       222:s
++âä    F       223:s
++âå    F       224:s
++âæ    F       225:s
++âç    F       226:s
++âè    F       227:s
++âé    F       228:s
++âê    F       229:s
++âë    F       230:s
++âì    F       231:s
++âí    F       232:s
++âî    F       233:s
++âï    F       234:s
++âð    F       235:s
++âñ    F       236:s
++âò    F       237:s
++âó    F       238:s
++âô    F       239:s
++âõ    F       240:s
++âö    F       241:s
++â÷    F       242:s
++âø    F       243:s
++âù    F       244:s
++âú    F       245:s
++âû    F       246:s
++âü    F       247:s
++âý    F       248:s
++âþ    F       249:s
++ã¡    F       250:s
++㢠   F       251:s
++㣠   F       252:s
++㤠   F       253:s
++㥠   F       254:s
++㦠   F       255:s
++㧠   F       0:t
++㨠   F       1:t
++ã©    F       2:t
++㪠   F       3:t
++ã«    F       4:t
++㬠   F       5:t
++ã­    F       6:t
++ã®    F       7:t
++㯠   F       8:t
++ã°    F       9:t
++ã±    F       10:t
++ã²    F       11:t
++ã³    F       12:t
++ã´    F       13:t
++ãµ    F       14:t
++㶠   F       15:t
++ã·    F       16:t
++㸠   F       17:t
++ã¹    F       18:t
++㺠   F       19:t
++ã»    F       20:t
++ã¼    F       21:t
++ã½    F       22:t
++ã¾    F       23:t
++ã¿    F       24:t
++ãÀ    F       25:t
++ãÁ    F       26:t
++ã    F       27:t
++ãà   F       28:t
++ãÄ    F       29:t
++ãÅ    F       30:t
++ãÆ    F       31:t
++ãÇ    F       32:t
++ãÈ    F       33:t
++ãÉ    F       34:t
++ãÊ    F       35:t
++ãË    F       36:t
++ãÌ    F       37:t
++ãÍ    F       38:t
++ãΠ   F       39:t
++ãÏ    F       40:t
++ãР   F       41:t
++ãÑ    F       42:t
++ãÒ    F       43:t
++ãÓ    F       44:t
++ãÔ    F       45:t
++ãÕ    F       46:t
++ãÖ    F       47:t
++ã×    F       48:t
++ãØ    F       49:t
++ãÙ    F       50:t
++ãÚ    F       51:t
++ãÛ    F       52:t
++ãÜ    F       53:t
++ãÝ    F       54:t
++ãÞ    F       55:t
++ãß    F       56:t
++ãà    F       57:t
++ãá    F       58:t
++ãâ    F       59:t
++ãã    F       60:t
++ãä    F       61:t
++ãå    F       62:t
++ãæ    F       63:t
++ãç    F       64:t
++ãè    F       65:t
++ãé    F       66:t
++ãê    F       67:t
++ãë    F       68:t
++ãì    F       69:t
++ãí    F       70:t
++ãî    F       71:t
++ãï    F       72:t
++ãð    F       73:t
++ãñ    F       74:t
++ãò    F       75:t
++ãó    F       76:t
++ãô    F       77:t
++ãõ    F       78:t
++ãö    F       79:t
++ã÷    F       80:t
++ãø    F       81:t
++ãù    F       82:t
++ãú    F       83:t
++ãû    F       84:t
++ãü    F       85:t
++ãý    F       86:t
++ãþ    F       87:t
++ä¡    F       88:t
++䢠   F       89:t
++䣠   F       90:t
++䤠   F       91:t
++䥠   F       92:t
++䦠   F       93:t
++䧠   F       94:t
++䨠   F       95:t
++ä©    F       96:t
++䪠   F       97:t
++ä«    F       98:t
++䬠   F       99:t
++ä­    F       100:t
++ä®    F       101:t
++䯠   F       102:t
++ä°    F       103:t
++ä±    F       104:t
++ä²    F       105:t
++ä³    F       106:t
++ä´    F       107:t
++äµ    F       108:t
++䶠   F       109:t
++ä·    F       110:t
++丠   F       111:t
++ä¹    F       112:t
++亠   F       113:t
++ä»    F       114:t
++ä¼    F       115:t
++ä½    F       116:t
++ä¾    F       117:t
++ä¿    F       118:t
++äÀ    F       119:t
++äÁ    F       120:t
++ä    F       121:t
++äà   F       122:t
++äÄ    F       123:t
++äÅ    F       124:t
++äÆ    F       125:t
++äÇ    F       126:t
++äÈ    F       127:t
++äÉ    F       128:t
++äÊ    F       129:t
++äË    F       130:t
++äÌ    F       131:t
++äÍ    F       132:t
++äΠ   F       133:t
++äÏ    F       134:t
++äР   F       135:t
++äÑ    F       136:t
++äÒ    F       137:t
++äÓ    F       138:t
++äÔ    F       139:t
++äÕ    F       140:t
++äÖ    F       141:t
++ä×    F       142:t
++äØ    F       143:t
++äÙ    F       144:t
++äÚ    F       145:t
++äÛ    F       146:t
++äÜ    F       147:t
++äÝ    F       148:t
++äÞ    F       149:t
++äß    F       150:t
++äà    F       151:t
++äá    F       152:t
++äâ    F       153:t
++äã    F       154:t
++ää    F       155:t
++äå    F       156:t
++äæ    F       157:t
++äç    F       158:t
++äè    F       159:t
++äé    F       160:t
++äê    F       161:t
++äë    F       162:t
++äì    F       163:t
++äí    F       164:t
++äî    F       165:t
++äï    F       166:t
++äð    F       167:t
++äñ    F       168:t
++äò    F       169:t
++äó    F       170:t
++äô    F       171:t
++äõ    F       172:t
++äö    F       173:t
++ä÷    F       174:t
++äø    F       175:t
++äù    F       176:t
++äú    F       177:t
++äû    F       178:t
++äü    F       179:t
++äý    F       180:t
++äþ    F       181:t
++å¡    F       182:t
++墠   F       183:t
++壠   F       184:t
++夠   F       185:t
++奠   F       186:t
++妠   F       187:t
++姠   F       188:t
++娠   F       189:t
++å©    F       190:t
++媠   F       191:t
++å«    F       192:t
++嬠   F       193:t
++å­    F       194:t
++å®    F       195:t
++寠   F       196:t
++å°    F       197:t
++å±    F       198:t
++å²    F       199:t
++å³    F       200:t
++å´    F       201:t
++åµ    F       202:t
++嶠   F       203:t
++å·    F       204:t
++帠   F       205:t
++å¹    F       206:t
++庠   F       207:t
++å»    F       208:t
++å¼    F       209:t
++å½    F       210:t
++å¾    F       211:t
++å¿    F       212:t
++åÀ    F       213:t
++åÁ    F       214:t
++å    F       215:t
++åà   F       216:t
++åÄ    F       217:t
++åÅ    F       218:t
++åÆ    F       219:t
++åÇ    F       220:t
++åÈ    F       221:t
++åÉ    F       222:t
++åÊ    F       223:t
++åË    F       224:t
++åÌ    F       225:t
++åÍ    F       226:t
++åΠ   F       227:t
++åÏ    F       228:t
++åР   F       229:t
++åÑ    F       230:t
++åÒ    F       231:t
++åÓ    F       232:t
++åÔ    F       233:t
++åÕ    F       234:t
++åÖ    F       235:t
++å×    F       236:t
++åØ    F       237:t
++åÙ    F       238:t
++åÚ    F       239:t
++åÛ    F       240:t
++åÜ    F       241:t
++åÝ    F       242:t
++åÞ    F       243:t
++åß    F       244:t
++åà    F       245:t
++åá    F       246:t
++åâ    F       247:t
++åã    F       248:t
++åä    F       249:t
++åå    F       250:t
++åæ    F       251:t
++åç    F       252:t
++åè    F       253:t
++åé    F       254:t
++åê    F       255:t
++åë    F       0:u
++åì    F       1:u
++åí    F       2:u
++åî    F       3:u
++åï    F       4:u
++åð    F       5:u
++åñ    F       6:u
++åò    F       7:u
++åó    F       8:u
++åô    F       9:u
++åõ    F       10:u
++åö    F       11:u
++å÷    F       12:u
++åø    F       13:u
++åù    F       14:u
++åú    F       15:u
++åû    F       16:u
++åü    F       17:u
++åý    F       18:u
++åþ    F       19:u
++æ¡    F       20:u
++梠   F       21:u
++棠   F       22:u
++椠   F       23:u
++楠   F       24:u
++榠   F       25:u
++槠   F       26:u
++樠   F       27:u
++æ©    F       28:u
++檠   F       29:u
++æ«    F       30:u
++欠   F       31:u
++æ­    F       32:u
++æ®    F       33:u
++毠   F       34:u
++æ°    F       35:u
++æ±    F       36:u
++æ²    F       37:u
++æ³    F       38:u
++æ´    F       39:u
++æµ    F       40:u
++涠   F       41:u
++æ·    F       42:u
++渠   F       43:u
++æ¹    F       44:u
++溠   F       45:u
++æ»    F       46:u
++æ¼    F       47:u
++æ½    F       48:u
++æ¾    F       49:u
++æ¿    F       50:u
++æÀ    F       51:u
++æÁ    F       52:u
++æ    F       53:u
++æà   F       54:u
++æÄ    F       55:u
++æÅ    F       56:u
++æÆ    F       57:u
++æÇ    F       58:u
++æÈ    F       59:u
++æÉ    F       60:u
++æÊ    F       61:u
++æË    F       62:u
++æÌ    F       63:u
++æÍ    F       64:u
++æΠ   F       65:u
++æÏ    F       66:u
++æР   F       67:u
++æÑ    F       68:u
++æÒ    F       69:u
++æÓ    F       70:u
++æÔ    F       71:u
++æÕ    F       72:u
++æÖ    F       73:u
++æ×    F       74:u
++æØ    F       75:u
++æÙ    F       76:u
++æÚ    F       77:u
++æÛ    F       78:u
++æÜ    F       79:u
++æÝ    F       80:u
++æÞ    F       81:u
++æß    F       82:u
++æà    F       83:u
++æá    F       84:u
++æâ    F       85:u
++æã    F       86:u
++æä    F       87:u
++æå    F       88:u
++ææ    F       89:u
++æç    F       90:u
++æè    F       91:u
++æé    F       92:u
++æê    F       93:u
++æë    F       94:u
++æì    F       95:u
++æí    F       96:u
++æî    F       97:u
++æï    F       98:u
++æð    F       99:u
++æñ    F       100:u
++æò    F       101:u
++æó    F       102:u
++æô    F       103:u
++æõ    F       104:u
++æö    F       105:u
++æ÷    F       106:u
++æø    F       107:u
++æù    F       108:u
++æú    F       109:u
++æû    F       110:u
++æü    F       111:u
++æý    F       112:u
++æþ    F       113:u
++ç¡    F       114:u
++碠   F       115:u
++磠   F       116:u
++礠   F       117:u
++祠   F       118:u
++禠   F       119:u
++秠   F       120:u
++稠   F       121:u
++ç©    F       122:u
++窠   F       123:u
++ç«    F       124:u
++笠   F       125:u
++ç­    F       126:u
++ç®    F       127:u
++篠   F       128:u
++ç°    F       129:u
++ç±    F       130:u
++ç²    F       131:u
++ç³    F       132:u
++ç´    F       133:u
++çµ    F       134:u
++綠   F       135:u
++ç·    F       136:u
++縠   F       137:u
++ç¹    F       138:u
++纠   F       139:u
++ç»    F       140:u
++ç¼    F       141:u
++ç½    F       142:u
++ç¾    F       143:u
++ç¿    F       144:u
++çÀ    F       145:u
++çÁ    F       146:u
++ç    F       147:u
++çà   F       148:u
++çÄ    F       149:u
++çÅ    F       150:u
++çÆ    F       151:u
++çÇ    F       152:u
++çÈ    F       153:u
++çÉ    F       154:u
++çÊ    F       155:u
++çË    F       156:u
++çÌ    F       157:u
++çÍ    F       158:u
++çΠ   F       159:u
++çÏ    F       160:u
++çР   F       161:u
++çÑ    F       162:u
++çÒ    F       163:u
++çÓ    F       164:u
++çÔ    F       165:u
++çÕ    F       166:u
++çÖ    F       167:u
++ç×    F       168:u
++çØ    F       169:u
++çÙ    F       170:u
++çÚ    F       171:u
++çÛ    F       172:u
++çÜ    F       173:u
++çÝ    F       174:u
++çÞ    F       175:u
++çß    F       176:u
++çà    F       177:u
++çá    F       178:u
++çâ    F       179:u
++çã    F       180:u
++çä    F       181:u
++çå    F       182:u
++çæ    F       183:u
++çç    F       184:u
++çè    F       185:u
++çé    F       186:u
++çê    F       187:u
++çë    F       188:u
++çì    F       189:u
++çí    F       190:u
++çî    F       191:u
++çï    F       192:u
++çð    F       193:u
++çñ    F       194:u
++çò    F       195:u
++çó    F       196:u
++çô    F       197:u
++çõ    F       198:u
++çö    F       199:u
++ç÷    F       200:u
++çø    F       201:u
++çù    F       202:u
++çú    F       203:u
++çû    F       204:u
++çü    F       205:u
++çý    F       206:u
++çþ    F       207:u
++è¡    F       208:u
++袠   F       209:u
++裠   F       210:u
++褠   F       211:u
++襠   F       212:u
++覠   F       213:u
++觠   F       214:u
++訠   F       215:u
++è©    F       216:u
++誠   F       217:u
++è«    F       218:u
++謠   F       219:u
++è­    F       220:u
++è®    F       221:u
++诠   F       222:u
++è°    F       223:u
++è±    F       224:u
++è²    F       225:u
++è³    F       226:u
++è´    F       227:u
++èµ    F       228:u
++趠   F       229:u
++è·    F       230:u
++踠   F       231:u
++è¹    F       232:u
++躠   F       233:u
++è»    F       234:u
++è¼    F       235:u
++è½    F       236:u
++è¾    F       237:u
++è¿    F       238:u
++èÀ    F       239:u
++èÁ    F       240:u
++è    F       241:u
++èà   F       242:u
++èÄ    F       243:u
++èÅ    F       244:u
++èÆ    F       245:u
++èÇ    F       246:u
++èÈ    F       247:u
++èÉ    F       248:u
++èÊ    F       249:u
++èË    F       250:u
++èÌ    F       251:u
++èÍ    F       252:u
++èΠ   F       253:u
++èÏ    F       254:u
++èР   F       255:u
++èÑ    F       0:v
++èÒ    F       1:v
++èÓ    F       2:v
++èÔ    F       3:v
++èÕ    F       4:v
++èÖ    F       5:v
++è×    F       6:v
++èØ    F       7:v
++èÙ    F       8:v
++èÚ    F       9:v
++èÛ    F       10:v
++èÜ    F       11:v
++èÝ    F       12:v
++èÞ    F       13:v
++èß    F       14:v
++èà    F       15:v
++èá    F       16:v
++èâ    F       17:v
++èã    F       18:v
++èä    F       19:v
++èå    F       20:v
++èæ    F       21:v
++èç    F       22:v
++èè    F       23:v
++èé    F       24:v
++èê    F       25:v
++èë    F       26:v
++èì    F       27:v
++èí    F       28:v
++èî    F       29:v
++èï    F       30:v
++èð    F       31:v
++èñ    F       32:v
++èò    F       33:v
++èó    F       34:v
++èô    F       35:v
++èõ    F       36:v
++èö    F       37:v
++è÷    F       38:v
++èø    F       39:v
++èù    F       40:v
++èú    F       41:v
++èû    F       42:v
++èü    F       43:v
++èý    F       44:v
++èþ    F       45:v
++é¡    F       46:v
++颠   F       47:v
++飠   F       48:v
++餠   F       49:v
++饠   F       50:v
++馠   F       51:v
++駠   F       52:v
++騠   F       53:v
++é©    F       54:v
++骠   F       55:v
++é«    F       56:v
++鬠   F       57:v
++é­    F       58:v
++é®    F       59:v
++鯠   F       60:v
++é°    F       61:v
++é±    F       62:v
++é²    F       63:v
++é³    F       64:v
++é´    F       65:v
++éµ    F       66:v
++鶠   F       67:v
++é·    F       68:v
++鸠   F       69:v
++é¹    F       70:v
++麠   F       71:v
++é»    F       72:v
++é¼    F       73:v
++é½    F       74:v
++é¾    F       75:v
++é¿    F       76:v
++éÀ    F       77:v
++éÁ    F       78:v
++é    F       79:v
++éà   F       80:v
++éÄ    F       81:v
++éÅ    F       82:v
++éÆ    F       83:v
++éÇ    F       84:v
++éÈ    F       85:v
++éÉ    F       86:v
++éÊ    F       87:v
++éË    F       88:v
++éÌ    F       89:v
++éÍ    F       90:v
++éΠ   F       91:v
++éÏ    F       92:v
++éР   F       93:v
++éÑ    F       94:v
++éÒ    F       95:v
++éÓ    F       96:v
++éÔ    F       97:v
++éÕ    F       98:v
++éÖ    F       99:v
++é×    F       100:v
++éØ    F       101:v
++éÙ    F       102:v
++éÚ    F       103:v
++éÛ    F       104:v
++éÜ    F       105:v
++éÝ    F       106:v
++éÞ    F       107:v
++éß    F       108:v
++éà    F       109:v
++éá    F       110:v
++éâ    F       111:v
++éã    F       112:v
++éä    F       113:v
++éå    F       114:v
++éæ    F       115:v
++éç    F       116:v
++éè    F       117:v
++éé    F       118:v
++éê    F       119:v
++éë    F       120:v
++éì    F       121:v
++éí    F       122:v
++éî    F       123:v
++éï    F       124:v
++éð    F       125:v
++éñ    F       126:v
++éò    F       127:v
++éó    F       128:v
++éô    F       129:v
++éõ    F       130:v
++éö    F       131:v
++é÷    F       132:v
++éø    F       133:v
++éù    F       134:v
++éú    F       135:v
++éû    F       136:v
++éü    F       137:v
++éý    F       138:v
++éþ    F       139:v
++ê¡    F       140:v
++ꢠ   F       141:v
++꣠   F       142:v
++ꤠ   F       143:v
++ꥠ   F       144:v
++ꦠ   F       145:v
++ꧠ   F       146:v
++ꨠ   F       147:v
++ê©    F       148:v
++ꪠ   F       149:v
++ê«    F       150:v
++ꬠ   F       151:v
++ê­    F       152:v
++ê®    F       153:v
++ꯠ   F       154:v
++ê°    F       155:v
++ê±    F       156:v
++ê²    F       157:v
++ê³    F       158:v
++ê´    F       159:v
++êµ    F       160:v
++궠   F       161:v
++ê·    F       162:v
++긠   F       163:v
++ê¹    F       164:v
++꺠   F       165:v
++ê»    F       166:v
++ê¼    F       167:v
++ê½    F       168:v
++ê¾    F       169:v
++ê¿    F       170:v
++êÀ    F       171:v
++êÁ    F       172:v
++ê    F       173:v
++êà   F       174:v
++êÄ    F       175:v
++êÅ    F       176:v
++êÆ    F       177:v
++êÇ    F       178:v
++êÈ    F       179:v
++êÉ    F       180:v
++êÊ    F       181:v
++êË    F       182:v
++êÌ    F       183:v
++êÍ    F       184:v
++êΠ   F       185:v
++êÏ    F       186:v
++êР   F       187:v
++êÑ    F       188:v
++êÒ    F       189:v
++êÓ    F       190:v
++êÔ    F       191:v
++êÕ    F       192:v
++êÖ    F       193:v
++ê×    F       194:v
++êØ    F       195:v
++êÙ    F       196:v
++êÚ    F       197:v
++êÛ    F       198:v
++êÜ    F       199:v
++êÝ    F       200:v
++êÞ    F       201:v
++êß    F       202:v
++êà    F       203:v
++êá    F       204:v
++êâ    F       205:v
++êã    F       206:v
++êä    F       207:v
++êå    F       208:v
++êæ    F       209:v
++êç    F       210:v
++êè    F       211:v
++êé    F       212:v
++êê    F       213:v
++êë    F       214:v
++êì    F       215:v
++êí    F       216:v
++êî    F       217:v
++êï    F       218:v
++êð    F       219:v
++êñ    F       220:v
++êò    F       221:v
++êó    F       222:v
++êô    F       223:v
++êõ    F       224:v
++êö    F       225:v
++ê÷    F       226:v
++êø    F       227:v
++êù    F       228:v
++êú    F       229:v
++êû    F       230:v
++êü    F       231:v
++êý    F       232:v
++êþ    F       233:v
++ë¡    F       234:v
++뢠   F       235:v
++룠   F       236:v
++뤠   F       237:v
++률   F       238:v
++릠   F       239:v
++맠   F       240:v
++먠   F       241:v
++ë©    F       242:v
++몠   F       243:v
++ë«    F       244:v
++묠   F       245:v
++ë­    F       246:v
++ë®    F       247:v
++믠   F       248:v
++ë°    F       249:v
++ë±    F       250:v
++ë²    F       251:v
++ë³    F       252:v
++ë´    F       253:v
++ëµ    F       254:v
++붠   F       255:v
++ë·    F       0:w
++븠   F       1:w
++ë¹    F       2:w
++뺠   F       3:w
++ë»    F       4:w
++ë¼    F       5:w
++ë½    F       6:w
++ë¾    F       7:w
++ë¿    F       8:w
++ëÀ    F       9:w
++ëÁ    F       10:w
++ë    F       11:w
++ëà   F       12:w
++ëÄ    F       13:w
++ëÅ    F       14:w
++ëÆ    F       15:w
++ëÇ    F       16:w
++ëÈ    F       17:w
++ëÉ    F       18:w
++ëÊ    F       19:w
++ëË    F       20:w
++ëÌ    F       21:w
++ëÍ    F       22:w
++ëΠ   F       23:w
++ëÏ    F       24:w
++ëР   F       25:w
++ëÑ    F       26:w
++ëÒ    F       27:w
++ëÓ    F       28:w
++ëÔ    F       29:w
++ëÕ    F       30:w
++ëÖ    F       31:w
++ë×    F       32:w
++ëØ    F       33:w
++ëÙ    F       34:w
++ëÚ    F       35:w
++ëÛ    F       36:w
++ëÜ    F       37:w
++ëÝ    F       38:w
++ëÞ    F       39:w
++ëß    F       40:w
++ëà    F       41:w
++ëá    F       42:w
++ëâ    F       43:w
++ëã    F       44:w
++ëä    F       45:w
++ëå    F       46:w
++ëæ    F       47:w
++ëç    F       48:w
++ëè    F       49:w
++ëé    F       50:w
++ëê    F       51:w
++ëë    F       52:w
++ëì    F       53:w
++ëí    F       54:w
++ëî    F       55:w
++ëï    F       56:w
++ëð    F       57:w
++ëñ    F       58:w
++ëò    F       59:w
++ëó    F       60:w
++ëô    F       61:w
++ëõ    F       62:w
++ëö    F       63:w
++ë÷    F       64:w
++ëø    F       65:w
++ëù    F       66:w
++ëú    F       67:w
++ëû    F       68:w
++ëü    F       69:w
++ëý    F       70:w
++ëþ    F       71:w
++ì¡    F       72:w
++좠   F       73:w
++죠   F       74:w
++줠   F       75:w
++쥠   F       76:w
++즠   F       77:w
++짠   F       78:w
++쨠   F       79:w
++ì©    F       80:w
++쪠   F       81:w
++ì«    F       82:w
++쬠   F       83:w
++ì­    F       84:w
++ì®    F       85:w
++쯠   F       86:w
++ì°    F       87:w
++ì±    F       88:w
++ì²    F       89:w
++ì³    F       90:w
++ì´    F       91:w
++ìµ    F       92:w
++춠   F       93:w
++ì·    F       94:w
++츠   F       95:w
++ì¹    F       96:w
++캠   F       97:w
++ì»    F       98:w
++ì¼    F       99:w
++ì½    F       100:w
++ì¾    F       101:w
++ì¿    F       102:w
++ìÀ    F       103:w
++ìÁ    F       104:w
++ì    F       105:w
++ìà   F       106:w
++ìÄ    F       107:w
++ìÅ    F       108:w
++ìÆ    F       109:w
++ìÇ    F       110:w
++ìÈ    F       111:w
++ìÉ    F       112:w
++ìÊ    F       113:w
++ìË    F       114:w
++ìÌ    F       115:w
++ìÍ    F       116:w
++ìΠ   F       117:w
++ìÏ    F       118:w
++ìР   F       119:w
++ìÑ    F       120:w
++ìÒ    F       121:w
++ìÓ    F       122:w
++ìÔ    F       123:w
++ìÕ    F       124:w
++ìÖ    F       125:w
++ì×    F       126:w
++ìØ    F       127:w
++ìÙ    F       128:w
++ìÚ    F       129:w
++ìÛ    F       130:w
++ìÜ    F       131:w
++ìÝ    F       132:w
++ìÞ    F       133:w
++ìß    F       134:w
++ìà    F       135:w
++ìá    F       136:w
++ìâ    F       137:w
++ìã    F       138:w
++ìä    F       139:w
++ìå    F       140:w
++ìæ    F       141:w
++ìç    F       142:w
++ìè    F       143:w
++ìé    F       144:w
++ìê    F       145:w
++ìë    F       146:w
++ìì    F       147:w
++ìí    F       148:w
++ìî    F       149:w
++ìï    F       150:w
++ìð    F       151:w
++ìñ    F       152:w
++ìò    F       153:w
++ìó    F       154:w
++ìô    F       155:w
++ìõ    F       156:w
++ìö    F       157:w
++ì÷    F       158:w
++ìø    F       159:w
++ìù    F       160:w
++ìú    F       161:w
++ìû    F       162:w
++ìü    F       163:w
++ìý    F       164:w
++ìþ    F       165:w
++í¡    F       166:w
++í¢    F       167:w
++í£    F       168:w
++í¤    F       169:w
++í¥    F       170:w
++í¦    F       171:w
++í§    F       172:w
++í¨    F       173:w
++í©    F       174:w
++íª    F       175:w
++í«    F       176:w
++í¬    F       177:w
++í­    F       178:w
++í®    F       179:w
++í¯    F       180:w
++í°    F       181:w
++í±    F       182:w
++í²    F       183:w
++í³    F       184:w
++í´    F       185:w
++íµ    F       186:w
++í¶    F       187:w
++í·    F       188:w
++í¸    F       189:w
++í¹    F       190:w
++íº    F       191:w
++í»    F       192:w
++í¼    F       193:w
++í½    F       194:w
++í¾    F       195:w
++í¿    F       196:w
++íÀ    F       197:w
++íÁ    F       198:w
++í    F       199:w
++íà   F       200:w
++íÄ    F       201:w
++íÅ    F       202:w
++íÆ    F       203:w
++íÇ    F       204:w
++íÈ    F       205:w
++íÉ    F       206:w
++íÊ    F       207:w
++íË    F       208:w
++íÌ    F       209:w
++íÍ    F       210:w
++íΠ   F       211:w
++íÏ    F       212:w
++íР   F       213:w
++íÑ    F       214:w
++íÒ    F       215:w
++íÓ    F       216:w
++íÔ    F       217:w
++íÕ    F       218:w
++íÖ    F       219:w
++í×    F       220:w
++íØ    F       221:w
++íÙ    F       222:w
++íÚ    F       223:w
++íÛ    F       224:w
++íÜ    F       225:w
++íÝ    F       226:w
++íÞ    F       227:w
++íß    F       228:w
++íà    F       229:w
++íá    F       230:w
++íâ    F       231:w
++íã    F       232:w
++íä    F       233:w
++íå    F       234:w
++íæ    F       235:w
++íç    F       236:w
++íè    F       237:w
++íé    F       238:w
++íê    F       239:w
++íë    F       240:w
++íì    F       241:w
++íí    F       242:w
++íî    F       243:w
++íï    F       244:w
++íð    F       245:w
++íñ    F       246:w
++íò    F       247:w
++íó    F       248:w
++íô    F       249:w
++íõ    F       250:w
++íö    F       251:w
++í÷    F       252:w
++íø    F       253:w
++íù    F       254:w
++íú    F       255:w
++íû    F       0:x
++íü    F       1:x
++íý    F       2:x
++íþ    F       3:x
++î¡    F       4:x
++   F       5:x
++   F       6:x
++   F       7:x
++   F       8:x
++   F       9:x
++   F       10:x
++   F       11:x
++î©    F       12:x
++   F       13:x
++î«    F       14:x
++   F       15:x
++î­    F       16:x
++î®    F       17:x
++   F       18:x
++î°    F       19:x
++î±    F       20:x
++î²    F       21:x
++î³    F       22:x
++î´    F       23:x
++îµ    F       24:x
++   F       25:x
++î·    F       26:x
++   F       27:x
++î¹    F       28:x
++   F       29:x
++î»    F       30:x
++î¼    F       31:x
++î½    F       32:x
++î¾    F       33:x
++î¿    F       34:x
++îÀ    F       35:x
++îÁ    F       36:x
++î    F       37:x
++îà   F       38:x
++îÄ    F       39:x
++îÅ    F       40:x
++îÆ    F       41:x
++îÇ    F       42:x
++îÈ    F       43:x
++îÉ    F       44:x
++îÊ    F       45:x
++îË    F       46:x
++îÌ    F       47:x
++îÍ    F       48:x
++îΠ   F       49:x
++îÏ    F       50:x
++îР   F       51:x
++îÑ    F       52:x
++îÒ    F       53:x
++îÓ    F       54:x
++îÔ    F       55:x
++îÕ    F       56:x
++îÖ    F       57:x
++î×    F       58:x
++îØ    F       59:x
++îÙ    F       60:x
++îÚ    F       61:x
++îÛ    F       62:x
++îÜ    F       63:x
++îÝ    F       64:x
++îÞ    F       65:x
++îß    F       66:x
++îà    F       67:x
++îá    F       68:x
++îâ    F       69:x
++îã    F       70:x
++îä    F       71:x
++îå    F       72:x
++îæ    F       73:x
++îç    F       74:x
++îè    F       75:x
++îé    F       76:x
++îê    F       77:x
++îë    F       78:x
++îì    F       79:x
++îí    F       80:x
++îî    F       81:x
++îï    F       82:x
++îð    F       83:x
++îñ    F       84:x
++îò    F       85:x
++îó    F       86:x
++îô    F       87:x
++îõ    F       88:x
++îö    F       89:x
++î÷    F       90:x
++îø    F       91:x
++îù    F       92:x
++îú    F       93:x
++îû    F       94:x
++îü    F       95:x
++îý    F       96:x
++îþ    F       97:x
++ï¡    F       98:x
++   F       99:x
++   F       100:x
++鸞   F       101:x
++怒   F       102:x
++裂   F       103:x
++易   F       104:x
++蘒   F       105:x
++ï©    F       106:x
++猪   F       107:x
++ï«    F       108:x
++ﬠ   F       109:x
++ï­    F       110:x
++ï®    F       111:x
++ﯠ   F       112:x
++ï°    F       113:x
++ï±    F       114:x
++ï²    F       115:x
++ï³    F       116:x
++ï´    F       117:x
++ïµ    F       118:x
++ﶠ   F       119:x
++ï·    F       120:x
++︠   F       121:x
++ï¹    F       122:x
++ﺠ   F       123:x
++ï»    F       124:x
++ï¼    F       125:x
++ï½    F       126:x
++ï¾    F       127:x
++ï¿    F       128:x
++ïÀ    F       129:x
++ïÁ    F       130:x
++ï    F       131:x
++ïà   F       132:x
++ïÄ    F       133:x
++ïÅ    F       134:x
++ïÆ    F       135:x
++ïÇ    F       136:x
++ïÈ    F       137:x
++ïÉ    F       138:x
++ïÊ    F       139:x
++ïË    F       140:x
++ïÌ    F       141:x
++ïÍ    F       142:x
++ïΠ   F       143:x
++ïÏ    F       144:x
++ïР   F       145:x
++ïÑ    F       146:x
++ïÒ    F       147:x
++ïÓ    F       148:x
++ïÔ    F       149:x
++ïÕ    F       150:x
++ïÖ    F       151:x
++ï×    F       152:x
++ïØ    F       153:x
++ïÙ    F       154:x
++ïÚ    F       155:x
++ïÛ    F       156:x
++ïÜ    F       157:x
++ïÝ    F       158:x
++ïÞ    F       159:x
++ïß    F       160:x
++ïà    F       161:x
++ïá    F       162:x
++ïâ    F       163:x
++ïã    F       164:x
++ïä    F       165:x
++ïå    F       166:x
++ïæ    F       167:x
++ïç    F       168:x
++ïè    F       169:x
++ïé    F       170:x
++ïê    F       171:x
++ïë    F       172:x
++ïì    F       173:x
++ïí    F       174:x
++ïî    F       175:x
++ïï    F       176:x
++ïð    F       177:x
++ïñ    F       178:x
++ïò    F       179:x
++ïó    F       180:x
++ïô    F       181:x
++ïõ    F       182:x
++ïö    F       183:x
++ï÷    F       184:x
++ïø    F       185:x
++ïù    F       186:x
++ïú    F       187:x
++ïû    F       188:x
++ïü    F       189:x
++ïý    F       190:x
++ïþ    F       191:x
++ð¡    F       192:x
++𢠠  F       193:x
++𣠠  F       194:x
++𤠠  F       195:x
++𥠠  F       196:x
++𦠠  F       197:x
++𧠠  F       198:x
++𨠠  F       199:x
++ð©    F       200:x
++𪠠  F       201:x
++ð«    F       202:x
++𬠠  F       203:x
++ð­    F       204:x
++ð®    F       205:x
++刻  F       206:x
++ð°    F       207:x
++ð±    F       208:x
++ð²    F       209:x
++ð³    F       210:x
++ð´    F       211:x
++ðµ    F       212:x
++𶠠  F       213:x
++ð·    F       214:x
++𸠠  F       215:x
++ð¹    F       216:x
++𺠠  F       217:x
++ð»    F       218:x
++ð¼    F       219:x
++ð½    F       220:x
++ð¾    F       221:x
++ð¿    F       222:x
++ðÀ    F       223:x
++ðÁ    F       224:x
++ð    F       225:x
++ðà   F       226:x
++ðÄ    F       227:x
++ðÅ    F       228:x
++ðÆ    F       229:x
++ðÇ    F       230:x
++ðÈ    F       231:x
++ðÉ    F       232:x
++ðÊ    F       233:x
++ðË    F       234:x
++ðÌ    F       235:x
++ðÍ    F       236:x
++ðΠ   F       237:x
++ðÏ    F       238:x
++ðР   F       239:x
++ðÑ    F       240:x
++ðÒ    F       241:x
++ðÓ    F       242:x
++ðÔ    F       243:x
++ðÕ    F       244:x
++ðÖ    F       245:x
++ð×    F       246:x
++ðØ    F       247:x
++ðÙ    F       248:x
++ðÚ    F       249:x
++ðÛ    F       250:x
++ðÜ    F       251:x
++ðÝ    F       252:x
++ðÞ    F       253:x
++ðß    F       254:x
++ðà    F       255:x
++ðá    F       0:y
++ðâ    F       1:y
++ðã    F       2:y
++ðä    F       3:y
++ðå    F       4:y
++ðæ    F       5:y
++ðç    F       6:y
++ðè    F       7:y
++ðé    F       8:y
++ðê    F       9:y
++ðë    F       10:y
++ðì    F       11:y
++ðí    F       12:y
++ðî    F       13:y
++ðï    F       14:y
++ðð    F       15:y
++ðñ    F       16:y
++ðò    F       17:y
++ðó    F       18:y
++ðô    F       19:y
++ðõ    F       20:y
++ðö    F       21:y
++ð÷    F       22:y
++ðø    F       23:y
++ðù    F       24:y
++ðú    F       25:y
++ðû    F       26:y
++ðü    F       27:y
++ðý    F       28:y
++ðþ    F       29:y
++ñ¡    F       30:y
++ñ¢    F       31:y
++ñ£    F       32:y
++ñ¤    F       33:y
++ñ¥    F       34:y
++ñ¦    F       35:y
++ñ§    F       36:y
++ñ¨    F       37:y
++ñ©    F       38:y
++ñª    F       39:y
++ñ«    F       40:y
++ñ¬    F       41:y
++ñ­    F       42:y
++ñ®    F       43:y
++ñ¯    F       44:y
++ñ°    F       45:y
++ñ±    F       46:y
++ñ²    F       47:y
++ñ³    F       48:y
++ñ´    F       49:y
++ñµ    F       50:y
++ñ¶    F       51:y
++ñ·    F       52:y
++ñ¸    F       53:y
++ñ¹    F       54:y
++ñº    F       55:y
++ñ»    F       56:y
++ñ¼    F       57:y
++ñ½    F       58:y
++ñ¾    F       59:y
++ñ¿    F       60:y
++ñÀ    F       61:y
++ñÁ    F       62:y
++ñ    F       63:y
++ñà   F       64:y
++ñÄ    F       65:y
++ñÅ    F       66:y
++ñÆ    F       67:y
++ñÇ    F       68:y
++ñÈ    F       69:y
++ñÉ    F       70:y
++ñÊ    F       71:y
++ñË    F       72:y
++ñÌ    F       73:y
++ñÍ    F       74:y
++ñΠ   F       75:y
++ñÏ    F       76:y
++ñР   F       77:y
++ñÑ    F       78:y
++ñÒ    F       79:y
++ñÓ    F       80:y
++ñÔ    F       81:y
++ñÕ    F       82:y
++ñÖ    F       83:y
++ñ×    F       84:y
++ñØ    F       85:y
++ñÙ    F       86:y
++ñÚ    F       87:y
++ñÛ    F       88:y
++ñÜ    F       89:y
++ñÝ    F       90:y
++ñÞ    F       91:y
++ñß    F       92:y
++ñà    F       93:y
++ñá    F       94:y
++ñâ    F       95:y
++ñã    F       96:y
++ñä    F       97:y
++ñå    F       98:y
++ñæ    F       99:y
++ñç    F       100:y
++ñè    F       101:y
++ñé    F       102:y
++ñê    F       103:y
++ñë    F       104:y
++ñì    F       105:y
++ñí    F       106:y
++ñî    F       107:y
++ñï    F       108:y
++ñð    F       109:y
++ññ    F       110:y
++ñò    F       111:y
++ñó    F       112:y
++ñô    F       113:y
++ñõ    F       114:y
++ñö    F       115:y
++ñ÷    F       116:y
++ñø    F       117:y
++ñù    F       118:y
++ñú    F       119:y
++ñû    F       120:y
++ñü    F       121:y
++ñý    F       122:y
++ñþ    F       123:y
++ò¡    F       124:y
++ò¢    F       125:y
++ò£    F       126:y
++ò¤    F       127:y
++ò¥    F       128:y
++ò¦    F       129:y
++ò§    F       130:y
++ò¨    F       131:y
++ò©    F       132:y
++òª    F       133:y
++ò«    F       134:y
++ò¬    F       135:y
++ò­    F       136:y
++ò®    F       137:y
++ò¯    F       138:y
++ò°    F       139:y
++ò±    F       140:y
++ò²    F       141:y
++ò³    F       142:y
++ò´    F       143:y
++òµ    F       144:y
++ò¶    F       145:y
++ò·    F       146:y
++ò¸    F       147:y
++ò¹    F       148:y
++òº    F       149:y
++ò»    F       150:y
++ò¼    F       151:y
++ò½    F       152:y
++ò¾    F       153:y
++ò¿    F       154:y
++òÀ    F       155:y
++òÁ    F       156:y
++ò    F       157:y
++òà   F       158:y
++òÄ    F       159:y
++òÅ    F       160:y
++òÆ    F       161:y
++òÇ    F       162:y
++òÈ    F       163:y
++òÉ    F       164:y
++òÊ    F       165:y
++òË    F       166:y
++òÌ    F       167:y
++òÍ    F       168:y
++òΠ   F       169:y
++òÏ    F       170:y
++òР   F       171:y
++òÑ    F       172:y
++òÒ    F       173:y
++òÓ    F       174:y
++òÔ    F       175:y
++òÕ    F       176:y
++òÖ    F       177:y
++ò×    F       178:y
++òØ    F       179:y
++òÙ    F       180:y
++òÚ    F       181:y
++òÛ    F       182:y
++òÜ    F       183:y
++òÝ    F       184:y
++òÞ    F       185:y
++òß    F       186:y
++òà    F       187:y
++òá    F       188:y
++òâ    F       189:y
++òã    F       190:y
++òä    F       191:y
++òå    F       192:y
++òæ    F       193:y
++òç    F       194:y
++òè    F       195:y
++òé    F       196:y
++òê    F       197:y
++òë    F       198:y
++òì    F       199:y
++òí    F       200:y
++òî    F       201:y
++òï    F       202:y
++òð    F       203:y
++òñ    F       204:y
++òò    F       205:y
++òó    F       206:y
++òô    F       207:y
++òõ    F       208:y
++òö    F       209:y
++ò÷    F       210:y
++òø    F       211:y
++òù    F       212:y
++òú    F       213:y
++òû    F       214:y
++òü    F       215:y
++òý    F       216:y
++òþ    F       217:y
++ó¡    F       218:y
++ó¢    F       219:y
++ó£    F       220:y
++ó¤    F       221:y
++ó¥    F       222:y
++ó¦    F       223:y
++ó§    F       224:y
++ó¨    F       225:y
++ó©    F       226:y
++óª    F       227:y
++ó«    F       228:y
++ó¬    F       229:y
++ó­    F       230:y
++ó®    F       231:y
++ó¯    F       232:y
++ó°    F       233:y
++ó±    F       234:y
++ó²    F       235:y
++ó³    F       236:y
++ó´    F       237:y
++óµ    F       238:y
++ó¶    F       239:y
++ó·    F       240:y
++ó¸    F       241:y
++ó¹    F       242:y
++óº    F       243:y
++ó»    F       244:y
++ó¼    F       245:y
++ó½    F       246:y
++ó¾    F       247:y
++ó¿    F       248:y
++óÀ    F       249:y
++óÁ    F       250:y
++ó    F       251:y
++óà   F       252:y
++óÄ    F       253:y
++óÅ    F       254:y
++óÆ    F       255:y
++óÇ    F       0:z
++óÈ    F       1:z
++óÉ    F       2:z
++óÊ    F       3:z
++óË    F       4:z
++óÌ    F       5:z
++óÍ    F       6:z
++óΠ   F       7:z
++óÏ    F       8:z
++óР   F       9:z
++óÑ    F       10:z
++óÒ    F       11:z
++óÓ    F       12:z
++óÔ    F       13:z
++óÕ    F       14:z
++óÖ    F       15:z
++ó×    F       16:z
++óØ    F       17:z
++óÙ    F       18:z
++óÚ    F       19:z
++óÛ    F       20:z
++óÜ    F       21:z
++óÝ    F       22:z
++óÞ    F       23:z
++óß    F       24:z
++óà    F       25:z
++óá    F       26:z
++óâ    F       27:z
++óã    F       28:z
++óä    F       29:z
++óå    F       30:z
++óæ    F       31:z
++óç    F       32:z
++óè    F       33:z
++óé    F       34:z
++óê    F       35:z
++óë    F       36:z
++óì    F       37:z
++óí    F       38:z
++óî    F       39:z
++óï    F       40:z
++óð    F       41:z
++óñ    F       42:z
++óò    F       43:z
++óó    F       44:z
++óô    F       45:z
++óõ    F       46:z
++óö    F       47:z
++ó÷    F       48:z
++óø    F       49:z
++óù    F       50:z
++óú    F       51:z
++óû    F       52:z
++óü    F       53:z
++óý    F       54:z
++óþ    F       55:z
++ô¡    F       56:z
++ô¢    F       57:z
++ô£    F       58:z
++ô¤    F       59:z
+--- groff-1.18.1.1.orig/font/devdvi/DESC.in
++++ groff-1.18.1.1/font/devdvi/DESC.in
+@@ -6,6 +6,10 @@
+ sizes 500-1000000 0
+ styles R I B BI
+ family T
+-fonts 13 0 0 0 0 0 0 0 0 0 MI S EX CW
++fonts 15 0 0 0 0 0 0 0 0 0 MI S EX CW M G
++fontset B G 100..FFFF
++fontset HB G 100..FFFF
++fontset SB G 100..FFFF
++fontset - M 100..FFFF
+ tcommand
+ postpro grodvi
+--- groff-1.18.1.1.orig/font/devdvi/Makefile.sub
++++ groff-1.18.1.1/font/devdvi/Makefile.sub
+@@ -3,15 +3,68 @@
+   TR TI TB TBI CW CWI HR HI HB HBI \
+   TREC TIEC TBEC TBIEC CWEC CWIEC HREC HIEC HBEC HBIEC \
+   TRTC TITC TBTC TBITC CWTC CWITC HRTC HITC HBTC HBITC \
+-  MI S EX SA SB \
++  MI S EX SA SB M G \
+   generate/CompileFonts generate/Makefile \
+   generate/msam.map generate/msbm.map \
+   generate/texb.map generate/texex.map generate/texi.map generate/texmi.map \
+   generate/texr.map generate/texsy.map generate/textt.map \
+   generate/ec.map generate/tc.map
+-CLEANADD=DESC
++CLEANADD=DESC M G
+ DESC: DESC.in
+       cat $(srcdir)/DESC.in >DESC
+       test -z '$(DVIPRINT)' || echo print '$(DVIPRINT)' >>DESC
++ 
++M: M.proto-$(DVIFORMAT)
++      @echo Making $@
++      @-rm -f $@
++      cp M.proto-$(DVIFORMAT) M
++#     @if [ x$(DVIFORMAT) = xNTT ]; then \
++#     sed -e 's/      F       /       959887,808326,151561    1       /' \
++#         -e 's/:0$$/:dmjsy10/' \
++#         -e 's/:1$$/:dmjroma10/' \
++#         -e 's/:2$$/:dmjhira10/' \
++#         -e 's/:3$$/:dmjkata10/' \
++#         -e 's/:4$$/:dmjgreek10/' \
++#         -e 's/:5$$/:dmjrussian10/' \
++#         -e 's/:6$$/:dmjkeisen10/' \
++#         -e 's/:a$$/:dmjka10/' \
++#         -e 's/:b$$/:dmjkb10/' \
++#         -e 's/:c$$/:dmjkc10/' \
++#         -e 's/:d$$/:dmjkd10/' \
++#         -e 's/:e$$/:dmjke10/' \
++#         -e 's/:f$$/:dmjkf10/' \
++#         -e 's/:g$$/:dmjkg10/' \
++#         -e 's/:h$$/:dmjkh10/' \
++#         -e 's/:i$$/:dmjki10/' \
++#         -e 's/:j$$/:dmjkj10/' \
++#         -e 's/:k$$/:dmjkk10/' \
++#         -e 's/:l$$/:dmjkl10/' \
++#         -e 's/:m$$/:dmjkm10/' \
++#         -e 's/:n$$/:dmjkn10/' \
++#         -e 's/:o$$/:dmjko10/' \
++#         -e 's/:p$$/:dmjkp10/' \
++#         -e 's/:q$$/:dmjkq10/' \
++#         -e 's/:r$$/:dmjkr10/' \
++#         -e 's/:s$$/:dmjks10/' \
++#         -e 's/:t$$/:dmjkt10/' \
++#         -e 's/:u$$/:dmjku10/' \
++#         -e 's/:v$$/:dmjkv10/' \
++#         -e 's/:w$$/:dmjkw10/' \
++#         -e 's/:x$$/:dmjkx10/' \
++#         -e 's/:y$$/:dmjky10/' \
++#         -e 's/:z$$/:dmjkz10/' \
++#         < M.proto-NTT > M ;\
++#     else \
++#     ../devnippon/createM -jis "1006514,815360,145600" 1 < M.proto-ASCII | \
++#         sed -f FixMetric.sed > M ;\
++#     fi
++      
++G: M
++      @echo Making $@
++      @-rm -f $@
++      @sed -e 's/name M/name G/' \
++           -e 's/dmj/dgj/' \
++           -e 's/internalname min10/internalname goth10/' \
++           < M > G
+--- groff-1.18.1.1.orig/font/devdvi/M.proto-ASCII
++++ groff-1.18.1.1/font/devdvi/M.proto-ASCII
+@@ -0,0 +1,4 @@
++name M
++internalname min10
++checksum -375402250
++designsize 10485760
+--- groff-1.18.1.1.orig/font/devdvi/FixMetric.sed
++++ groff-1.18.1.1/font/devdvi/FixMetric.sed
+@@ -0,0 +1,77 @@
++s/1006514,.*0x212b$/370845,815360,145600      1       0x212b/
++s/1006514,.*0x212c$/370845,815360,145600      1       0x212c/
++s/1006514,.*0x2126$/370845,815360,145600      1       0x2126/
++s/1006514,.*0x2127$/370845,815360,145600      1       0x2127/
++s/1006514,.*0x2128$/370845,815360,145600      1       0x2128/
++s/1006514,.*0x212a$/370845,815360,145600      1       0x212a/
++s/1006514,.*0x212d$/370845,815360,145600      1       0x212d/
++s/1006514,.*0x212e$/370845,815360,145600      1       0x212e/
++s/1006514,.*0x213e$/370845,815360,145600      1       0x213e/
++s/1006514,.*0x2142$/370845,815360,145600      1       0x2142/
++s/1006514,.*0x2143$/370845,815360,145600      1       0x2143/
++s/1006514,.*0x2146$/370845,815360,145600      1       0x2146/
++s/1006514,.*0x2147$/370845,815360,145600      1       0x2147/
++s/1006514,.*0x2124$/370845,815360,145600      1       0x2124/
++s/1006514,.*0x2125$/370845,815360,145600      1       0x2125/
++s/1006514,.*0x214b$/528496,815360,145600      1       0x214b/
++s/1006514,.*0x214d$/528496,815360,145600      1       0x214d/
++s/1006514,.*0x214f$/528496,815360,145600      1       0x214f/
++s/1006514,.*0x2151$/528496,815360,145600      1       0x2151/
++s/1006514,.*0x2153$/528496,815360,145600      1       0x2153/
++s/1006514,.*0x2155$/528496,815360,145600      1       0x2155/
++s/1006514,.*0x2157$/528496,815360,145600      1       0x2157/
++s/1006514,.*0x2159$/528496,815360,145600      1       0x2159/
++s/1006514,.*0x215b$/528496,815360,145600      1       0x215b/
++s/1006514,.*0x2129$/528496,815360,145600      1       0x2129/
++s/1006514,.*0x212f$/528496,815360,145600      1       0x212f/
++s/1006514,.*0x2130$/528496,815360,145600      1       0x2130/
++s/1006514,.*0x2133$/528496,815360,145600      1       0x2133/
++s/1006514,.*0x2135$/528496,815360,145600      1       0x2135/
++s/1006514,.*0x2148$/528496,815360,145600      1       0x2148/
++s/1006514,.*0x2149$/528496,815360,145600      1       0x2149/
++s/1006514,.*0x216b$/528496,815360,145600      1       0x216b/
++s/1006514,.*0x216c$/528496,815360,145600      1       0x216c/
++s/1006514,.*0x216d$/528496,815360,145600      1       0x216d/
++s/1006514,.*0x2178$/528496,815360,145600      1       0x2178/
++s/1006514,.*0x214a$/528496,815360,145600      1       0x214a/
++s/1006514,.*0x214c$/528496,815360,145600      1       0x214c/
++s/1006514,.*0x214e$/528496,815360,145600      1       0x214e/
++s/1006514,.*0x2150$/528496,815360,145600      1       0x2150/
++s/1006514,.*0x2152$/528496,815360,145600      1       0x2152/
++s/1006514,.*0x2154$/528496,815360,145600      1       0x2154/
++s/1006514,.*0x2156$/528496,815360,145600      1       0x2156/
++s/1006514,.*0x2158$/528496,815360,145600      1       0x2158/
++s/1006514,.*0x215a$/528496,815360,145600      1       0x215a/
++s/1006514,.*0x2122$/528496,815360,145600      1       0x2122/
++s/1006514,.*0x2123$/528496,815360,145600      1       0x2123/
++s/1006514,.*0x2136$/783741,815360,145600      1       0x2136/
++s/1006514,.*0x2137$/783741,815360,145600      1       0x2137/
++s/1006514,.*0x2139$/783741,815360,145600      1       0x2139/
++s/1006514,.*0x2168$/783741,815360,145600      1       0x2168/
++s/1006514,.*0x2169$/783741,815360,145600      1       0x2169/
++s/1006514,.*0x216a$/783741,815360,145600      1       0x216a/
++s/1006514,.*0x2170$/783741,815360,145600      1       0x2170/
++s/1006514,.*0x2171$/783741,815360,145600      1       0x2171/
++s/1006514,.*0x2172$/783741,815360,145600      1       0x2172/
++s/1006514,.*0x2421$/783741,815360,145600      1       0x2421/
++s/1006514,.*0x2423$/783741,815360,145600      1       0x2423/
++s/1006514,.*0x2425$/783741,815360,145600      1       0x2425/
++s/1006514,.*0x2427$/783741,815360,145600      1       0x2427/
++s/1006514,.*0x2429$/783741,815360,145600      1       0x2429/
++s/1006514,.*0x2443$/783741,815360,145600      1       0x2443/
++s/1006514,.*0x2463$/783741,815360,145600      1       0x2463/
++s/1006514,.*0x2465$/783741,815360,145600      1       0x2465/
++s/1006514,.*0x2467$/783741,815360,145600      1       0x2467/
++s/1006514,.*0x246e$/783741,815360,145600      1       0x246e/
++s/1006514,.*0x2521$/783741,815360,145600      1       0x2521/
++s/1006514,.*0x2523$/783741,815360,145600      1       0x2523/
++s/1006514,.*0x2525$/783741,815360,145600      1       0x2525/
++s/1006514,.*0x2527$/783741,815360,145600      1       0x2527/
++s/1006514,.*0x2529$/783741,815360,145600      1       0x2529/
++s/1006514,.*0x2543$/783741,815360,145600      1       0x2543/
++s/1006514,.*0x2563$/783741,815360,145600      1       0x2563/
++s/1006514,.*0x2565$/783741,815360,145600      1       0x2565/
++s/1006514,.*0x2567$/783741,815360,145600      1       0x2567/
++s/1006514,.*0x256e$/783741,815360,145600      1       0x256e/
++s/1006514,.*0x2575$/783741,815360,145600      1       0x2575/
++s/1006514,.*0x2576$/783741,815360,145600      1       0x2576/
+--- groff-1.18.1.1.orig/ChangeLog.jp
++++ groff-1.18.1.1/ChangeLog.jp
+@@ -0,0 +1,345 @@
++2002-11-04  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * src/libs/libgroff/encoding.cc: for C or POSIX locale,
++              use ascii8 encoding handler
++      * font/devX*: new font desc for M, G
++      * src/xditview: support ENABLE_MULTIBYTE (Japanese only?)
++
++2002-10-09  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * update groff-1.18-7
++
++2002-09-23  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * src/roff/troff/input.cc: fix bug in wchar_charinfo()
++                              check u<CODE> where <CODE> is 4- HEX chars
++      * src/device/grohtml/post-html.cc: works ENABLE_MULTIBYTE
++      * font/devhtml: add font M, G for Japanese
++
++2002-09-22  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * new multibyte patch
++
++2001-08-16  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * tmac/euc-jp.tmac:
++        fix disappearing `-' char
++
++2001-07-21  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * add ENABLE_MULTIBYTE support to src/xditview
++
++2001-07-20  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * introduce "fontset" in font/*/DESC
++        obsoletes "ondemand"
++
++2001-07-19  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * don't use input_encoding->is_wchar_code()
++      * fix troffrc empty line
++      * fix duplicate strcasecmp()
++
++2001-07-19  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * sub font selection move into environment::add_char()
++        it makes possible to use \[uni<code>]
++
++2001-07-19  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * use generic iconv_handler instead of euc_handler
++      * internal code now uses UCS-2
++
++2001-07-19  Fumitoshi UKAI  <ukai@debian.or.jp
++
++      * wchar%x -> uni%X
++        - still no code conversion
++        - font description is not accurate
++      * change "fixed" to charset range
++
++2001-07-18  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * Configuration Change: 
++         obsolete: --enable-japanese (#ifdef NIPPON) 
++         new:      --enable-multibyte (#ifdef ENABLE_MULTIBYTE)
++
++2001-07-18  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * create charinfo for wchar on demand (src/roff/troff/input.cc)
++      * use "fixed" for font wchar metric (src/libs/libgroff/font.cc)
++        - font/*/M,G
++
++2001-07-17  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * add utf8 encoding handler to src/libs/libgroff/encoding.cc
++         (this utf8 encodig handler is too slow!)
++
++2001-07-15  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * based on groff 1.17.2-1
++      * use src/include/encoding.h instead of eucmac.h
++      * introduce src/libs/libgroff/encoding.cc
++      * introduce tmac/euc-jp.tmac for EUC-JP documents
++
++2001-05-24  Fumitoshi UKAI  <ukai@debian.or.jp>
++
++      * Apply for groff-1.17
++
++2000-01-06  Yoshiaki Yanagihara  <yochi@debian.or.jp>
++
++      * Apply japanese patch "jgroff-0.101"
++        (thanks hanataka@abyss.rim.or.jp).
++      * Added japanese extention option at configure.in, aclocal.m4.
++
++Sat Jan  1 17:10:32 JST 2000  HANATAKA Shinya  <hanataka@abyss.rim.or.jp>
++
++      * jgroff-0.100 ¤ò¤½¤Î¤Þ¤Þ groff-1.14 ¤ËŬÍѤ·¤Æ jgroff-101
++        ¤È¤·¤¿¡£
++      * grohtml ¤òÆüËܸì¤ËÂбþ¤µ¤»¤ë¡£
++      * ÆüËܸì¥Þ¥Ë¥å¥¢¥ëÍѤˠtmac.docj ¤È tmac.andocj ¥Þ¥¯¥í¤òÄɲá£
++
++Sun Mar 15 18:23:12 1998  Yoshiaki Yanagihara  <yochi@debian.or.jp>
++
++      * jgroff ¤Î¥Ù¡¼¥¹¤ò groff-1.11a ¤ËÊѹ¹¤·¡¢jgroff-0.99¥Ñ¥Ã¥Á¤ò
++        Å¬ÍѤ·¤¿¤â¤Î¤ò jgroff-0.100 ¤È¤·¤¿¡£
++        ´ðËÜŪ¤Ë jgroff-0.99 ¤Èµ¡Ç½¤ÏƱ¤¸ *¤Ï¤º*¡£
++
++Fri Dec 22 11:47:46 1995  Kitagawa Toshiyuki  <tm-kita@kh.rim.or.jp>
++
++      * ¥Ð¡¼¥¸¥ç¥ó0.99¡£
++
++Mon Dec 18 18:28:37 1995  Kitagawa Toshiyuki  <tm-kita@kh.rim.or.jp>
++
++      * tmac/Makefile.sub: ¥¿¡¼¥²¥Ã¥È stamp-wrap¡¢uninstall_sub ¤¬°ìÉô
++      OS¤Îsh¤Ç¹½Ê¸¥¨¥é¡¼¤È¤Ê¤ë¥ª¥ê¥¸¥Ê¥ë¥Ð¥°¤ò½¤Àµ¡£
++
++Wed Dec 13 15:09:26 1995  Kitagawa Toshiyuki  <tm-kita@kh.rim.or.jp>
++
++      * jgroff.sh: ¥ª¥ê¥¸¥Ê¥ë¤Ç¥¤¥ó¥¹¥È¡¼¥ë¥Ñ¥¹¤¬Êѹ¹¤µ¤ì¤¿¤Î¤Ë¹ç¤ï¤»¡¢
++      GROFF_TMAC_PATH¡¢GROFF_FONT_PATH¤òshare/groffÇÛ²¼¤ËÊѹ¹¡£
++
++Sat Dec  9 15:28:36 1995  Kitagawa Toshiyuki  <tm-kita@kh.rim.or.jp>
++
++      * wchar.h¤«¤éeucmac.h¤Ë¥Õ¥¡¥¤¥ë̾¤òÊѹ¹¡£
++
++Fri Dec  8 12:15:47 1995  Yoshio Takaeda  <shio@yinyan.bekkoame.or.jp>
++
++      * troff/env.cc(add_char): ¡ØASCIIʸ»ú + ²þ¹Ô¥³¡¼¥É + EUCʸ»ú¡Ù¤È¤¤¤¦
++      ¥Ñ¥¿¡¼¥ó¤Î»þ¡¢²þ¹Ô¥³¡¼¥É¤¬¥¹¥Ú¡¼¥¹¤ËÊÑ´¹¤µ¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ¡£
++
++Thu Dec  7 21:35:06 1995  Yanagihara Yoshiaki  <yosiaki@bsd2.kbnes.nec.co.jp>
++
++      * troff/input.cc (process_input_stack): gcc-2.7.0¤ÇÊÑ¿ôÄêµÁ¤¬¥¹¥³¡¼¥×
++      °ãÈ¿¤È¤Ê¤Ã¤Æ¤·¤Þ¤¦²Õ½ê¤ò½¤Àµ¡£
++
++Thu Dec  7 21:35:06 1995  Yanagihara Yoshiaki  <yosiaki@bsd2.kbnes.nec.co.jp>
++
++      * jgroff¤Î¥Ù¡¼¥¹¥½¡¼¥¹¤ògroff-1.10¤ËÊѹ¹¡£
++
++Thu Apr  6 16:56:32 1995  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * devdvi/M.proto-NTT: DNP¤Îpk¥Õ¥©¥ó¥È¤Î¥Á¥§¥Ã¥¯¥µ¥àÃͤ¬0¤Ê¤Î¤Ç¡¢¤³
++      ¤ì¤Ë¹ç¤ï¤»¤Æchecksum¤ÎÃͤò0¤ËÊѹ¹¡£
++
++Mon Apr  3 20:36:37 1995  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * troff/env.cc (possibly_break_line):
++      line¥ê¥¹¥ÈÃæ¤Îkword_space_node¤òÄ´À°¤¹¤ë½èÍý¤Ç¡¢lineÃæ¤Ë¤³¤Î¥Î¡¼¥É
++      ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï½èÍý¤ò¥¹¥­¥Ã¥×¤¹¤ë¤è¤¦¤Ë¤·¤¿(EUC¥³¡¼¥É¤ò´Þ¤Þ
++      ¤Ê¤¤roff¤ò½èÍý¤¹¤ë¾ì¹ç¤Ë¤Ïkword_space_node¤Ï¸½¤ì¤Ê¤¤¤Î¤Ç½èÍý¤¬¹â®
++      ²½¤µ¤ì¤ë)¡£
++
++Mon Apr  3 20:36:37 1995  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * troff/env.cc (add_char): hwkern¡¢vlower¤Î½é´ü²½¤Ïdevice½é´ü²½¸å
++      ¤Ë°ìÅÙ¤À¤±¹Ô¤¨¤ÐÎɤ¤¤Î¤Çenvironment¥¯¥é¥¹¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤³¤ì¤ò
++      ¹Ô¤¦¤è¤¦¤ËÊѹ¹¡£
++
++Sat Apr  1 17:57:23 1995  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * troff/input.cc (mount_on_demand): on demand¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤ë¥Õ¥©
++      ¥ó¥È̾¤ò¥Ç¥Ð¥¤¥¹¤´¤È¤ÎDESC¥Õ¥¡¥¤¥ë¤Ç»ØÄê¤Ç¤­¤ë¤è¤¦¤ËÊѹ¹¡£
++      ¥Ç¥£¥ì¥¯¥Æ¥£¥Öondemand¤Ç»ØÄꤷ¤¿¥Õ¥©¥ó¥È¤¬on demand¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤ë¡£
++
++Fri Mar 31 20:23:43 1995  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * libgroff/font.cc (load): ´Á»ú¥Õ¥©¥ó¥È¥Õ¥¡¥¤¥ëÍѤ˥ǥ£¥ì¥¯¥Æ¥£¥Ö
++      fixedkanji¤òÄɲᣤ³¤ì¤Ï³Æʸ»ú¤Î¥á¥È¥ê¥Ã¥¯¤¬Á´¤ÆƱ¤¸¤Ç¤¢¤ë»ö¤ò»ØÄê
++      ¤¹¤ë¤â¤Î¤Ç¡¢fixedkanji¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ïcharset¤Ïɾ²Á¤µ¤ì¤Ê¤¤
++      ¤¿¤á´Á»ú¥Õ¥©¥ó¥È¤Î¥í¡¼¥É¤¬Â®¤¤¡£
++
++Thu Mar 30 18:20:24 1995  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * troff: node¼±Ê̤òʸ»úÎóÈæ³Ó¤Ç¹Ô¤Ã¤Æ¤¤¤¿¤¬¹â®²½¤Î¤¿¤á¿ôÃÍÈæ³Ó¤Ë
++      Êѹ¹¤·¤¿¡£
++
++Wed Mar 29 20:20:49 1995  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * troff/input.cc: ´Á»ú¥Õ¥©¥ó¥È(M¤ÈG)¤òon demand¤Ç¥Þ¥¦¥ó¥È¤¹¤ë¤è¤¦
++      ¤ËÊѹ¹¡£¤³¤ì¤Ë¤è¤Ã¤Æ´Á»ú¤ò´Þ¤Þ¤Ê¤¤roff¥Õ¥¡¥¤¥ë¤Î½èÍý»þ´Ö¤¬¹â®²½¤µ
++      ¤ì¤¿¡£
++
++Fri Mar 10 15:34:26 1995  Shigeki Yoshida <shige@theta.iis.u-tokyo.ac.jp>
++
++      * troff/input.cc (process): geqn¤Ç¡¢
++
++              .EQ
++              Í×ÁÇ sub µ­¹æ
++              .EN
++
++      ¤ò½èÍý¤¹¤ë¤È¡¢"illegal token in argument to \Z"¤È¤Ê¤Ã¤Æ¤·¤Þ¤¦¥Ð¥°
++      (\Z¥·¡¼¥±¥ó¥¹¤Î°ú¿ô¤ËEUCʸ»ú¤¬Í褿¾ì¹ç¤ÎÂбþϳ¤ì)¤ò½¤Àµ¡£
++
++Mon Feb  6 11:22:33 1995  Yoshio Takaeda <e50110@sakura.kudpc.kyoto-u.ac.jp>
++
++      * troff/input.cc: ¹ÔƬ¶Ø§ʸ»ú¤ÎEUC¥³¡¼¥É¤Î°ìÉô¤¬ÉÔÀµ¡£
++
++Mon Jan 30 14:02:54 1995  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * ¥Ð¡¼¥¸¥ç¥ó0.97¡£
++
++Fri Dec 10 14:26:14 1994  Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
++
++      * devdvi/M.proto: NTT JTeX¤ÈASCIIÆüËܸìTeXξÊý¤Îdvi¥Õ¥¡¥¤¥ë¤ò°·¤¨¤ë¤è¤¦
++      M.proto¥Õ¥¡¥¤¥ë¤òÊѹ¹¡£
++
++Fri Dec  9 14:26:14 1994  Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
++
++      * troff/node.cc: boldfont_list[]¤Ë¥Õ¥©¥ó¥È̾ B ¤òÅÐÏ¿¤·¤Æ¤¤¤Ê¤«¤Ã
++      ¤¿¤¿¤á¡¢dvi¥Õ¥¡¥¤¥ë¤Ë¥´¥·¥Ã¥¯ÂΤ¬½ÐÎϤµ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¡£
++
++Fri Dec  9 14:23:22 1994  Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
++
++      * grotty/tty.cc (add_char): EUCʸ»ú¤ËÂФ·¤ÆWCHAR_MODE¤òÀßÄꤷ¤Æ¤¤
++      ¤Ê¤«¤Ã¤¿¤¿¤á¡¢tty½ÐÎϤǥ´¥·¥Ã¥¯ÂΤ¬Æó½ÅÂǤÁ¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¡£
++
++Fri Dec  9 14:19:33 1994  Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
++
++      * devdvi/Makefile.sub: ¥Õ¥©¥ó¥È¥Õ¥¡¥¤¥ë G ¤Ç¡¢name¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤¬
++      `name M'¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
++
++Wed Nov 30 13:24:54 1994  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * ¥Ð¡¼¥¸¥ç¥ó0.96¡£
++
++      * grodvi/dvi.cc: FreeBSD 1.1.5R¤Îstrcmp(3)¤Ç¤Ï°ú¿ô¤Ë¥Ì¥ë¥Ý¥¤¥ó¥¿¤ò
++      ÅϤ¹¤È¥³¥¢¥À¥ó¥×¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¤³¤ì¤ò²óÈò¤¹¤ë¥³¡¼¥É¤òÄɲä·¤¿¡£
++
++Tue Nov 29 13:52:54 1994  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * troff/input.cc: EUC¤Î¥¹¥Ú¡¼¥¹Ê¸»ú(0xa1a1)¤ÏASCII¤Î¥¹¥Ú¡¼¥¹Ê¸»ú¤È
++      ¤·¤Æ½èÍý¤¹¤ë¤è¤¦½¤Àµ¡£
++
++      * devnippon/createM: JISX0208¤Ë¤ª¤¤¤Æʸ»ú¤¬Ì¤ÄêµÁ¤ÎÉôʬ¤Ë¤Ä¤¤¤Æ¤Ï
++      ¥Õ¥©¥ó¥È¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤Ê¤¤¤è¤¦½¤Àµ¡£
++
++Mon Nov 28 18:15:31 1994  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * grodvi/dvi.cc: grodvi¤òÆüËܸ첽¤·¤¿¡£
++
++Fri Nov 25 15:39:05 1994  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * troff/env.cc: EUCʸ»ú¤Ç»Ï¤Þ¤ë¹Ô¤ËÂФ·¤Æ¶ÑÅù³ä¤êÉÕ¤±¤¬¹Ô¤ï¤ì¤¿¾ì
++      ¹ç¡¢¹ÔƬ¤Ë;ʬ¤Ê¶õÇò¤¬Æþ¤ë»ö¤¬¤¢¤Ã¤¿¤Î¤Ç¤³¤ì¤ò½¤Àµ¤·¤¿¡£
++
++Fri Nov 18 20:19:55 1994  Masubuchi Toshimichi <tmasu@st.rim.or.jp>
++
++      * devnippon/createM.c: createM¤Î½ªÎ»¥¹¥Æ¡¼¥¿¥¹¤¬ÉÔÄê¤Ë¤Ê¤ë¤¿¤á¡¢
++      make¤¬½ªÎ»¤·¤Æ¤·¤Þ¤¦¡£createM¤Î½ªÎ»¥¹¥Æ¡¼¥¿¥¹¤¬0¤Ë¤Ê¤ë¤è¤¦½¤Àµ¡£
++
++      * devnippon/Makefile.sub: PATH´Ä¶­ÊÑ¿ô¤Ë¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤¬´Þ¤Þ
++      ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢devnippon/M¤òmake¤¹¤ë»þÅÀ¤ÇcreateM¤¬¸«¤Ä¤«¤é¤ºmake
++      ¥¨¥é¡¼¤Ë¤Ê¤ë¥Ð¥°¤ò½¤Àµ¡£
++
++Thu Nov 17 17:11:26 1994  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * devnippon/createM.c: gets()¤òfgets()¤ËÊѹ¹¡£
++
++Sat Nov 12 13:38:19 1994  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * ¥Ð¡¼¥¸¥ç¥ó0.95¡£
++
++      * troff/env.cc: .stt ¥ê¥¯¥¨¥¹¥È¤òÄɲÃ(¥í¡¼¥«¥ë¤Ê¥Þ¥Ë¥å¥¢¥ë½ñ¼°¤Ë¹ç
++      ¤ï¤»¤ë¤¿¤á -> ¤³¤Î¥ê¥¯¥¨¥¹¥È¤ÏÈó¸ø³«)¡£
++
++      * troff/input.cc (init_charset_table): ASCII¤Î¹ÔƬ¶Ø§ʸ»ú¤È¤·¤Æ
++      ,:;>}¤òÄɲä·¤¿¡£
++
++      * EUC¥Õ¥©¥ó¥È¥Õ¥¡¥¤¥ë¤Ï¡¢make»þ¤Ë¥Ä¡¼¥ë¤Ë¤è¤Ã¤ÆÀ¸À®¤¹¤ë¤è¤¦Êѹ¹¡£
++      ¤³¤ì¤Ë¤è¤êpatch¥µ¥¤¥º¤¬¤«¤Ê¤ê¾®¤µ¤¯¤Ê¤Ã¤¿¡£
++
++Fri Nov 11 20:53:00 1994  Kitagawa Toshiyuki  <kitagawa@bsd2.kbnes.nec.co.jp>
++
++      * troff/env.cc (add_char): <EUCʸ»ú> + <ASCIIʸ»ú>¤Î¾ì¹ç¡¢´Ö¤ËÆþ¤ì
++      ¤ë¶õÇò¤Ï¶Ø§¤Ë°ãÈ¿¤·¤Ê¤¤¤«¤®¤ê¥Ö¥ì¡¼¥¯²Äǽ¤Ê¶õÇò¤¬Æþ¤ë¤è¤¦½¤Àµ¤·¤¿¡£
++
++
++Tue Oct 25 04:46:09 1994  Kitagawa Toshiyuki  (kitagawa@bsd2.kbnes.nec.co.jp)
++
++      * ¥Ð¡¼¥¸¥ç¥ó0.94¡£
++
++      * libdriver/input.cc (do_file): -Tlatin1¤ÇEUC¤Ç¤Ï¤Ê¤¤Ê¸»ú¥³¡¼¥É¤ò
++      EUC¤ÈȽÃǤ·¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ¡£
++
++Mon Oct 24 07:16:19 1994  Kitagawa Toshiyuki  (kitagawa@bsd2.kbnes.nec.co.jp)
++
++      * troff/node.cc (is_boldfont): FreeBSD 1.1.5¤Ç¡¢¥¼¥íÈÖÃÏ»²¾È¤Î¤¿¤á¥³
++      ¥¢¥À¥ó¥×¤¹¤ë¥Ð¥°¤ò½¤Àµ¡£
++
++      * indxbib/dirnamemax.c: FreeBSD 1.1.5¤Ïpathconf()¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç
++      _POSIX_VERSION¤òundef¤·¤¿¡£
++
++      * ¥Ð¡¼¥¸¥ç¥ó0.93¡£
++
++      * geqn¤òÆüËܸ첽¤·¤¿¡£
++
++      * devps/DESC¤Îwcharkern¤òÀßÄꤹ¤ë¤È¹ÔƬ¤Ë¶õÇò¤¬Æþ¤Ã¤Æ¤·¤Þ¤¦¥Ð¥°¤Î
++      ½¤ÀµÊýË¡¤òÊѹ¹¡£
++
++Sat Oct 22 08:19:15 1994  Kitagawa Toshiyuki  (kitagawa@bsd2.kbnes.nec.co.jp)
++
++      * ¥Ð¡¼¥¸¥ç¥ó0.90¡£
++
++      * xtotroff¤òÆüËܸ첽¡£
++
++Fri Oct 21 05:33:02 1994  Kitagawa Toshiyuki  (kitagawa@bsd2.kbnes.nec.co.jp)
++
++      * devps/DESC¤Îwcharkern¤òÀßÄꤹ¤ë¤È¹ÔƬ¤Ë¶õÇò¤¬Æþ¤Ã¤Æ¤·¤Þ¤¦»ö¤¬¤¢
++      ¤Ã¤¿¤Î¤Ç¡¢¤³¤ì¤ò½¤Àµ¡£
++
++      * pre-release¥Ð¡¼¥¸¥ç¥ó¡£
++
++      * gxditview¤òÆüËܸ첽¤·¤¿(¥Õ¥©¥ó¥È¥á¥È¥ê¥Ã¥¯¤Î¼è¤ê½Ð¤·¤¬¤¤¤¤²Ã¸º)¡£
++
++Thu Oct 20 05:23:09 1994  Kitagawa Toshiyuki  (kitagawa@bsd2.kbnes.nec.co.jp)
++
++      * ¥Õ¥©¥ó¥ÈÈÖ¹æ3¤Ë¥Ü¡¼¥ë¥ÉÂΰʳ°¤Î¥Õ¥©¥ó¥È¤ò¥Þ¥¦¥ó¥È¤·¤¿¾ì¹ç¡¢´Á»ú¥Õ¥©
++      ¥ó¥È¤¬¥´¥·¥Ã¥¯ÂΤˤʤäƤ·¤Þ¤¦¥Ð¥°¤ò½¤Àµ¡£
++
++Wed Oct 19 06:48:55 1994  Kitagawa Toshiyuki  (kitagawa@bsd2.kbnes.nec.co.jp)
++
++      * beta¥Ð¡¼¥¸¥ç¥ó¡£
++
++Tue Oct 18 05:02:59 1994  Kitagawa Toshiyuki  (kitagawa@bsd2.kbnes.nec.co.jp)
++
++      * pic: 
++      gpic¤òÆüËܸìÂбþ¤·¤¿¡£
++
++      * tbl: 
++      gtbl¤òÆüËܸìÂбþ¤·¤¿¡£
++
++      * troff/troff: 
++      Times-Bold°Ê³°¤Î¥Ü¡¼¥ë¥ÉÂΤ¬¥«¥ì¥ó¥È¥Õ¥©¥ó¥È¤Î»þ¡¢´Á»ú¥Õ¥©¥ó¥È¤¬¥´
++      ¥·¥Ã¥¯¤ËÀÚ¤êÂؤï¤é¤Ê¤¤¥Ð¥°¤ò½¤Àµ¡£
++
++      * troff/troff: 
++      DESC¤Ë¥Ç¥£¥ì¥¯¥Æ¥£¥Öwcharkern¤òÄɲä·¡¢ASCIIʸ»ú¤ÈEUCʸ»ú¤Î´Ö¤Ë¡¢
++      »ØÄꤷ¤¿unit¿ô¤À¤±breakÉÔ²Äǽ¤Ê¶õÇò¤òÆþ¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£
++
++      * troff/troff: 
++      DESC¤Ë¥Ç¥£¥ì¥¯¥Æ¥£¥Ölowerwchar¤òÄɲä·¡¢ASCIIʸ»ú¤ËÂФ·¤ÆEUCʸ»ú¤ò¡¢
++      »ØÄꤷ¤¿unit¿ô¤À¤±²¼¤²¤ë¤è¤¦¤Ë¤·¤¿(ASCIIʸ»ú¤¬Íî¤Á¹þ¤ó¤Ç¸«¤¨¤ë¤¿¤á)¡£
++      
++Fri Oct 14 08:29:06 1994  Kitagawa Toshiyuki  (kitagawa@bsd2.kbnes.nec.co.jp)
++
++      * aplah¥Ð¡¼¥¸¥ç¥ó¡£
+--- groff-1.18.1.1.orig/tmac/troffrc
++++ groff-1.18.1.1/tmac/troffrc
+@@ -13,7 +13,9 @@
+ .do ds troffrc!X100 X.tmac
+ .do ds troffrc!X100-12 X.tmac
+ .do ds troffrc!ascii tty.tmac
++.do ds troffrc!ascii8 tty.tmac
+ .do ds troffrc!latin1 tty.tmac
++.do ds troffrc!nippon tty.tmac
+ .do ds troffrc!utf8 tty.tmac
+ .do ds troffrc!cp1047 tty.tmac
+ .do ds troffrc!lj4 lj4.tmac
+@@ -36,4 +38,13 @@
+ .\" Load hyphenation patterns from `hyphen.us' (in the tmac directory).
+ .do hpf hyphen.us
+ .
++.\" For CJK hack. The hardcoded list of locales is especially nasty, but
++.\" getting the locale charmap requires a troff extension.
++.ie     "\V[LANG]"ja_JP.eucJP" .do mso euc-jp.tmac
++.el .ie "\V[LANG]"zh_CN"       .do mso gb.tmac
++.el .ie "\V[LANG]"zh_CN.GBK"   .do mso gb.tmac
++.el .ie "\V[LANG]"zh_SG"       .do mso gb.tmac
++.el .ie "\V[LANG]"zh_SG.GBK"   .do mso gb.tmac
++.el .if "\V[LANG]"zh_TW"       .do mso big5.tmac
++.
+ .\" Don't let blank lines creep in here.
+--- groff-1.18.1.1.orig/tmac/docj-nroff
++++ groff-1.18.1.1/tmac/docj-nroff
+@@ -0,0 +1,247 @@
++.\" Copyright (c) 1991 The Regents of the University of California.
++.\" All rights reserved.
++.\"
++.\" Redistribution and use in source and binary forms, with or without
++.\" modification, are permitted provided that the following conditions
++.\" are met:
++.\" 1. Redistributions of source code must retain the above copyright
++.\"    notice, this list of conditions and the following disclaimer.
++.\" 2. Redistributions in binary form must reproduce the above copyright
++.\"    notice, this list of conditions and the following disclaimer in the
++.\"    documentation and/or other materials provided with the distribution.
++.\" 3. All advertising materials mentioning features or use of this software
++.\"    must display the following acknowledgement:
++.\"   This product includes software developed by the University of
++.\"   California, Berkeley and its contributors.
++.\" 4. Neither the name of the University nor the names of its contributors
++.\"    may be used to endorse or promote products derived from this software
++.\"    without specific prior written permission.
++.\"
++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++.\" SUCH DAMAGE.
++.\"
++.\"     @(#)doc-nroff 5.6 (Berkeley) 8/5/91
++.\"
++.\" tmac.mdoc-nroff
++.ds aD \fI
++.ds aR \fI
++.ds cM \fB
++.ds dF \fR
++.ds eM \fI
++.ds eR \fR
++.ds eV \fR
++.ds fA \fI
++.ds fD \fB
++.ds fL \fB
++.ds fN \fB
++.ds fP \fP
++.ds fS
++.ds fT \fI
++.ds Hs \fR
++.ds iC \fB
++.ds lI \fR
++.ds lP \fR\|(\fP
++.ds rP \fR\|)\fP
++.ds lp \fR\|(\fP
++.ds rp \fR\|)\fP
++.ds lB \fR\|[\|\fP
++.ds rB \fR\|]\fP
++.ds mL \fB
++.ds nM \fB
++.ds nO \fR
++.ds pA \fI
++.ds Pu {\ .\ ,\ ;\ :\ (\ )\ [\ ]}
++.ds rA \fR
++.ds rT \fI
++.ds sH \fB
++.ds sP
++.ds sY \fB
++.ds sX \fI
++.ds tF \fR
++.ds tN
++.ds vA \fI
++.ds Vs \fR
++.ds vT \fB
++.ds xR \fR
++.nr sI .5i
++.nr Ti .5i
++.nr cR 1
++.nr Pp 1v
++.ds lS \0\0
++.nr lS \w'\0\0'u
++.nr dI 6n
++.de pL
++.ie \\n(cR .nr Hm 0
++.el .nr Hm .5i
++.nr Fm .5i
++.nr ll 78n
++.ll 78n
++.nr lt 78n
++.lt 78n
++.nr po 0i
++.po 0i
++.nr dV 1v
++.ad l
++.na
++..
++.ds <= \&<\&=
++.ds >= \&>\&=
++.ds Rq ''
++.ds Lq ``
++.ds ua ^
++.ds aa \'
++.ds ga \`
++.ds sL `
++.ds sR '
++.ds q \&"
++.ds Pi pi
++.ds Ne !=
++.ds Le <=
++.ds Ge >=
++.ds Lt <
++.ds Gt >
++.ds Pm +-
++.ds If infinity
++.ds Na \fINaN\fP
++.ds Ba \fR\&|\fP
++
++.de hK
++.nr % 1
++.ds hT \\*(dT
++.if !"\\*(cH"Null" \{\
++.     ie !"\\*(gP"Null" .as hT \|(\|\\*(cH\\*(gP\|)
++.     el .as hT \\|(\\|\\*(cH\\|)
++.\}
++.if "\\*(cH"Null" .if !"\\*(gP"Null" .as hT \&\|(\|\\*(gP\|)
++.ie \\n(cR \{\
++.     hM
++.     wh -1v fM
++.\}
++.el \{\
++.     wh 0 hM
++.     wh -1.167i fM
++.\}
++.if \\n(nl==0:\\n(nl==-1 'bp
++.em lM
++..
++.nr fW \w'0'
++.de sW
++.nr sW \w\a\\$1\a
++.ie \\n(sW>=\\n(fW \{\
++.       ie \\n(sW%\\n(fW .nr sW (\\n(sW/\\n(fW)+1
++.       el .nr sW \\n(sW/\\n(fW
++.\}
++.el .nr sW 0
++..
++.de aW
++.nr sW \w\a\\*(A\\$1\a
++.ie \\n(sW>=\\n(fW \{\
++.       ie \\n(sW%\\n(fW .nr sW (\\n(sW/\\n(fW)+1
++.       el .nr sW \\n(sW/\\n(fW
++.\}
++.el .nr sW 0
++..
++.de Ql
++.if \\n(aC==0  \{\
++.     ds mN Ql
++.     ds A1 \\$1
++.     ds A2 \\$2
++.     ds A3 \\$3
++.     ds A4 \\$4
++.     ds A5 \\$5
++.     ds A6 \\$6
++.     ds A7 \\$7
++.     ds A8 \\$8
++.     ds A9 \\$9
++.     nr fV \\n(.$
++.     fV
++.\}
++.ds qL \&\\*(sL
++.ds qR \&\\*(sR
++.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.de Sh
++.nr nS 0
++.nr sE 0
++.nr iS 0
++.ie "\\$1"NAME" \{\
++.       hK
++'       in 0
++.\}
++.el \{\
++.     ie "\\$1"̾Á°" \{\
++.                     hK
++'             in 0
++.     \}
++.     el \{\
++.             ie "\\$1"̾¾Î" \{\
++.                     hK
++'                     in 0
++.             \}
++.             el \{\
++.                     nr nS 0
++.                     nr nA 0
++.                     nr nF 0
++.                     nr nT 0
++.                     nr nY 0
++.                     nr aN 0
++.                     nr oT 0
++.                     if "\\$1"SEE" .nr nA 1
++.                     if "\\$1"´ØÏ¢¹àÌÜ" .nr nA 1
++.                     if "\\$1"FILES" .nr nF 1
++.                     if "\\$1"¥Õ¥¡¥¤¥ë" .nr nF 1
++.                     if "\\$1"´ØÏ¢¥Õ¥¡¥¤¥ë" .nr nF 1
++.                     if "\\$1"STANDARDS" .nr nT 1
++.                     if "\\$1"½àµò" .nr nT 1
++.                     if "\\$1"µ¬³Ê" .nr nT 1
++.                     if "\\$1"SYNOPSIS" .nr nS 1
++.                     if "\\$1"½ñ¼°" .nr nS 1
++.                     if "\\$1"DESCRIPTION" \{\
++.                             rr fB
++.                             rr Fb
++.                             ds Fb
++.                             nr fY 0
++.                             nr fZ 0
++.                             \}
++.                     if "\\$1"ÀâÌÀ" \{\
++.                             rr fB
++.                             rr Fb
++.                             ds Fb
++.                             nr fY 0
++.                             nr fZ 0
++.                              \}
++.                     if "\\$1"²òÀâ" \{\
++.                             rr fB
++.                             rr Fb
++.                             ds Fb
++.                             nr fY 0
++.                             nr fZ 0
++.                     \}
++.                     if "\\$1"AUTHORS" .nr nY 1
++.                     if "\\$1"Ãø¼Ô" .nr nY 1
++.                     if "\\$1"ºî¼Ô" .nr nY 1
++.                             in 0
++.             \}
++.     \}
++.\}
++.pL
++'sp
++.ns
++.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
++.if !\\n(cR .ne 3
++'fi
++\&\\*(sH\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9
++\&\fP\s0\&
++.in \\n(.iu+\\n(Tiu
++.if "\\$1"SEE" .nr sE 1
++.ns
++..
+--- groff-1.18.1.1.orig/tmac/groff_trace.man
++++ groff-1.18.1.1/tmac/groff_trace.man
+@@ -31,6 +31,10 @@
+ A copy of the Free Documentation License is included as a file called
+ FDL in the main directory of the groff source package.
+ ..
++.ig
++A copy of the GNU Free Documentation License is also available in this
++Debian package as /usr/share/doc/groff/copyright.
++..
+ .
+ .\" --------------------------------------------------------------------
+ .\" Setup
+--- groff-1.18.1.1.orig/tmac/docj-ditroff
++++ groff-1.18.1.1/tmac/docj-ditroff
+@@ -0,0 +1,305 @@
++.\" Copyright (c) 1991 The Regents of the University of California.
++.\" All rights reserved.
++.\"
++.\" Redistribution and use in source and binary forms, with or without
++.\" modification, are permitted provided that the following conditions
++.\" are met:
++.\" 1. Redistributions of source code must retain the above copyright
++.\"    notice, this list of conditions and the following disclaimer.
++.\" 2. Redistributions in binary form must reproduce the above copyright
++.\"    notice, this list of conditions and the following disclaimer in the
++.\"    documentation and/or other materials provided with the distribution.
++.\" 3. All advertising materials mentioning features or use of this software
++.\"    must display the following acknowledgement:
++.\"   This product includes software developed by the University of
++.\"   California, Berkeley and its contributors.
++.\" 4. Neither the name of the University nor the names of its contributors
++.\"    may be used to endorse or promote products derived from this software
++.\"    without specific prior written permission.
++.\"
++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++.\" SUCH DAMAGE.
++.\"
++.\"     @(#)doc-ditroff       5.8 (Berkeley) 8/5/91
++.\"
++.\" tmac.mdoc-ditroff
++.if \n(.g .if !rC .nr C 0
++.ds aD \fI\s10
++.ds aR \f(CO\s10
++.ds cM \f(CB\s10
++.ds dF \fR\s10
++.ds eM \fI\s10
++.ds eR \fC\s10
++.ds eV \fC\s10
++.ds fA \f(CO\s10
++.ds fD \f(CB\s10
++.ds fL \f(CB\s10
++.ds fN \f(CB\s10
++.ds fP \fP\s0
++.ds fS \s0
++.ds fT \f(CO\s10
++.ds Hs \fR\s10
++.ds iC \f(CB\s10
++.ds lI \fC
++.ds lP \fR\|(\|\fP\s10
++.ds lp \fR(\fP\s10
++.ds rP \fR\|)\|\fP\s10
++.ds rp \fR)\fP\s10
++.ds lB \fR\^[\^\fP\s10
++.ds rB \fR\^]\fP\s10
++.ds mL \fB\s10
++.ds nM \f(CB\s10
++.ds nO \fR\s10
++.ds nT \s0
++.ds pA \fC\s10
++.ds Pu \fR{\ .\ ,\ :\ ;\ (\ )\ [\ ]\ \fR}
++.ds rA \fR\s10
++.ds rT \f(CO\s10
++.ds sH \fB\s10
++.ds sP \s0
++.ds sY \fB\s10
++.ds sX \fR\s10
++.ds tF \fR
++.ds tN \s9
++.ds vA \fI\s10
++.ds Vs \fR\s10
++.ds vT \f(CB\s10
++.ds xR \fC\s10
++.tr *\(**
++.nr sI \w\a\fC,\au*5
++.nr Ti \n(sIu
++.nr Pp .5v
++.ds lS \0
++.nr lS \w'\0'u
++.nr dI 6n
++.de pL
++.nr Hm .5i
++.nr Fm .5i
++.nr ll 6.5i
++.ll 6.5i
++.nr lt 6.5i
++.lt 6.5i
++.nr po 1i
++.po 1.i
++.nr dV .5v
++..
++.ds <= \(<=
++.ds >= \(>=
++.ie \n(.g \{\
++.     ds Lq \(lq
++.     ds Rq \(rq
++.\}
++.el \{\
++.     ds Lq \&``
++.     ds Rq \&''
++.\}
++.ds ua \(ua
++.ds aa \(aa
++.ds ga \(ga
++.ds sR \&'
++.ds sL \&`
++.ds q \&"
++.ds Pi \(*p
++.ds Ne \(!=
++.ds Le \(<=
++.ds Ge \(>=
++.ds Lt <
++.ds Gt >
++.ds Pm \(+-
++.ds If \(if
++.ds Na \fINaN\fP
++.ds Ba \fR\&|\fP
++.nr gX 0
++.de hK
++.ds hT \\*(dT
++.if !"\\*(cH"Null" \{\
++.       ie !"\\*(gP"Null" .as hT \|(\|\\*(cH\\*(gP\|)
++.       el .as hT \\|(\\|\\*(cH\\|)
++.\}
++.if "\\*(cH"Null" \{\
++.     if !"\\*(gP"Null" .as hT \&\|(\|\\*(gP\|)
++.\}
++.wh 0 hM
++.wh -1.25i fM
++.nr nL \\n(nl
++.ie \\n(gX==1 \{\
++.     rm n1
++.     bp
++.\}
++.el \{\
++'     bp
++.\}
++.if \\n(nL>0 \{\
++.     if !\\nC \{\
++.             nr % 1
++.     \}
++.\}
++.nr gX 0
++.em lM
++..
++.nr fW \w\a\fC0\a
++.de sW
++.nr sW \w\a\fC\\$1\a
++.ie \\n(sW>=\\n(fW \{\
++.       ie \\n(sW%\\n(fW .nr sW (\\n(sW/\\n(fW)+1
++.       el .nr sW \\n(sW/\\n(fW
++.\}
++.el \{\
++.     ie \\n(sW>0 .nr sW 1
++.     el .nr sW 0
++.\}
++..
++.de aW
++.nr sW \w\a\fC\\*(A\\$1\a
++.ie \\n(sW>=\\n(fW \{\
++.       ie \\n(sW%\\n(fW .nr sW (\\n(sW/\\n(fW)+1
++.       el .nr sW \\n(sW/\\n(fW
++.\}
++.el \{\
++.     ie \\n(sW>0 .nr sW 1
++.     el .nr sW 0
++.\}
++..
++.de Ql
++.if \\n(aC==0  \{\
++.     ds mN Ql
++.       ds A1 \\$1
++.       ds A2 \\$2
++.       ds A3 \\$3
++.       ds A4 \\$4
++.       ds A5 \\$5
++.       ds A6 \\$6
++.       ds A7 \\$7
++.       ds A8 \\$8
++.     nr fV \\n(.$
++.     fV
++.\}
++.nr aP \\n(aP+1
++.aW \\n(aP
++.nr aP \\n(aP-1
++.if \\n(sW>2 .Li
++.if \\n(sW<=2 \{\
++.     if (\\n(aP>0) \{\
++.             ds A\\n(aP Li
++.             nr aP \\n(aP -1
++.     \}              
++.     if (\\n(aP==0) \{\
++.             rm C0 C1 C2 C3 C4 C5 C6 C7 C8 C9
++.             rm S1 S2 S3 S4 S5 S6 S7 S8 S9
++.             rn A8 A9
++.             rn A7 A8
++.             rn A6 A7
++.             rn A5 A6
++.             rn A4 A5
++.             rn A3 A4
++.             rn A2 A3
++.             rn A1 A2
++.             ds A1 Li
++.             nr fV \\n(aC+1
++.             nr aC 0
++.             fV
++.     \}
++.     ds qL \&\\*(sL
++.     ds qR \&\\*(sR
++.     En
++.\}
++..
++.de Sh
++.nr nS 0
++.nr sE 0
++.nr iS 0
++'ad
++.ie "\\$1"NAME" \{\
++.       hK
++'       in 0
++.\}
++.el \{\
++.     ie "\\$1"̾Á°" \{\
++.                     hK
++'             in 0
++.     \}
++.     el \{\
++.             ie "\\$1"̾¾Î" \{\
++.                     hK
++'                     in 0
++.             \}
++.             el \{\
++.                     nr nS 0
++.                     nr nA 0
++.                     nr nF 0
++.                     nr nT 0
++.                     nr nY 0
++.                     nr oT 0
++.                     if "\\$1"SYNOPSIS" \{\
++.                             na
++.                             nr nS 1
++.                     \}
++.                     if "\\$1"½ñ¼°" \{\
++.                             na
++.                             nr nS 1
++.                     \}
++.                     if "\\$1"DESCRIPTION" \{\
++.                             nr fY 0
++.                             nr fZ 0
++.                             nr fB 0
++.                             nr Fb 0
++.                             ds Fb
++.                     \}
++.                     if "\\$1"ÀâÌÀ" \{\
++.                             nr fY 0
++.                             nr fZ 0
++.                             nr fB 0
++.                             nr Fb 0
++.                             ds Fb
++.                     \}
++.                     if "\\$1"²òÀâ" \{\
++.                             nr fY 0
++.                             nr fZ 0
++.                             nr fB 0
++.                             nr Fb 0
++.                             ds Fb
++.                     \}
++.                     if "\\$1"SEE" \{\
++.                             nr nA 1
++.                             na
++.                     \}
++.                     if "\\$1"´ØÏ¢¹àÌÜ" \{\
++.                             nr nA 1
++.                             na
++.                     \}
++.                     if "\\$1"FILES" .nr nF 1
++.                     if "\\$1"¥Õ¥¡¥¤¥ë" .nr nF 1
++.                     if "\\$1"´ØÏ¢¥Õ¥¡¥¤¥ë" .nr nF 1
++.                     if "\\$1"STANDARDS" .nr nT 1
++.                     if "\\$1"½àµò" .nr nT 1
++.                     if "\\$1"µ¬³Ê" .nr nT 1
++.                     if "\\$1"AUTHORS" .nr nY 1
++.                     if "\\$1"Ãø¼Ô" .nr nY 1
++.                     if "\\$1"ºî¼Ô" .nr nY 1
++.                     if "\\$1"SEE" .nr sE 1
++.                     if "\\$1"´ØÏ¢¹àÌÜ" .nr sE 1
++.                     in 0
++.                     nr aN 0
++.             \}
++.     \}
++.\}
++.pL
++'sp
++.ns
++.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
++.if !\\n(cR .ne 3
++'fi
++\&\\*(sH\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9
++\&\fP\s0\&
++.in \\n(.iu+\\n(Tiu
++.ns
++..
+--- groff-1.18.1.1.orig/tmac/tty.tmac
++++ groff-1.18.1.1/tmac/tty.tmac
+@@ -68,7 +68,7 @@
+ .ie '\*(.T'cp1047' \
+ .  do mso cp1047.tmac
+ .el \
+-.  if '\*(.T'latin1' \
++.  if !'\*(.T'ascii' \
+ .    do mso latin1.tmac
+ .
+ .\" If you want the character definitions in tty-char.tmac to be loaded
+--- groff-1.18.1.1.orig/tmac/gb.tmac
++++ groff-1.18.1.1/tmac/gb.tmac
+@@ -0,0 +1,15 @@
++.\" Kinsoku table for the GB2312 encoding of Chinese, recoded from
++.\" kinsoku.el in Emacs 22.0.50.
++.\" Checked by Simon Law, who reckons this is "mostly right". That will
++.\" probably do for now ...
++.\"
++.cflags 256 ¡¢¡££®£¬¡¤¡¥¡¦¡§¡¨¡©¡ª¡«¡¬¡­¡¯¡±£©¡³¡µ¡·¡¹¡»¡½
++.cflags 256 ¡¿£»£º£¿£¡¡À¡Á¡Â¡Ã¡ã¡ä¡å¡æ£¯£Ü£¢£ß£þ£ü¨å
++.cflags 512 ¨Å¨Æ¨Ç¨È¨É¨Ê¨Ë¨Ì¨Í¨Î¨Ï¨Ð¨Ñ¨Ò¨Ó¨Ô¨Õ¨Ö¨×¨Ø¨Ù¨è
++.\" Simon Law supplied these.
++.cflags 512 £¨¡®¡°¡²¡´¡¶¡¸¡º¡¼¡¾
++.\"
++.\" http://tcl.apache.org/sources/tcl/tools/encoding/gb2312.txt lists U+FF0D
++.\" as FULLWIDTH HYPHEN-MINUS. Is this correct?
++.\"
++.hc £­
+--- groff-1.18.1.1.orig/tmac/docj.tmac
++++ groff-1.18.1.1/tmac/docj.tmac
+@@ -0,0 +1,3427 @@
++.\" Copyright (c) 1991 The Regents of the University of California.
++.\" All rights reserved.
++.\"
++.\" Redistribution and use in source and binary forms, with or without
++.\" modification, are permitted provided that the following conditions
++.\" are met:
++.\" 1. Redistributions of source code must retain the above copyright
++.\"    notice, this list of conditions and the following disclaimer.
++.\" 2. Redistributions in binary form must reproduce the above copyright
++.\"    notice, this list of conditions and the following disclaimer in the
++.\"    documentation and/or other materials provided with the distribution.
++.\" 3. All advertising materials mentioning features or use of this software
++.\"    must display the following acknowledgement:
++.\"   This product includes software developed by the University of
++.\"   California, Berkeley and its contributors.
++.\" 4. Neither the name of the University nor the names of its contributors
++.\"    may be used to endorse or promote products derived from this software
++.\"    without specific prior written permission.
++.\"
++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++.\" SUCH DAMAGE.
++.\"
++.\"     @(#)doc       5.8 (Berkeley) 8/5/91
++.\" Modified by jjc@jclark.com as follows: the doc-* files are assumed to be
++.\" installed as mdoc/doc-* rather than tmac.doc-* (the filename
++.\" `tmac.doc-common' would be too long); when using groff, the doc-* files
++.\" are loaded using the `mso' request.
++.\"   
++.\" .mdoc-parse - attempt to parse troff request arguments
++.\"     %beginstrip%
++.if \n(.g \{\
++.cp 0
++.ftr C CR
++.\}
++.if \n(.g .ig
++.de sO
++.so /usr/share/tmac/\\$1
++..
++.if !\n(.g .ig
++.de sO
++.mso mdoc/\\$1
++..
++.if t \{\
++.       sO docj-ditroff
++.\}
++.if n \{\
++.       sO docj-nroff
++.\}
++.sO doc-common
++.sO doc-syms
++.\" NS Db macro - start/stop DEBUG MODE
++.\" NS Db register DEBUG MODE
++.\" NS iN register DEBUG MODE (inline if 1, to stderr if 0 (default))
++.nr Db 0
++.de Db
++.ie \\n(.$==0 \{\
++.     ie \\n(Db==0 \{\
++.tm DEBUGGING ON
++.             nr Db 1
++.     \}
++.     el \{\
++.tm DEBUGGING OFF
++.             nr Db 0
++.     \}
++.\}
++.el \{\
++.     if "\\$1"on" \{\
++.tm DEBUGGING ON
++.             nr Db 1
++.     \}
++.     if "\\$1"off" \{\
++.tm DEBUGGING OFF
++.             nr Db 0
++.     \}
++.\}
++..
++.\" NS aV macro - parse argument vector (recursive) (.aV arg ... )
++.\" NS fV macro - parse argument vector (recursive) (.fV)
++.\" NS aC register argument counter (aV/fV)
++.\" NS fV register argument counter (must set to \\n(.$ prior to reuqest) (fV)
++.\" NS A[0-9] argument vector (aV/fV)
++.\" NS C[0-9] reg. arg type(1=macro, 2=arg, 3=punct-suf, 4=punct-pre) (aV/fV)
++.\" NS S[0-9] space vector (sV)
++.\" NS aP register argument pointer (aV)
++.\" NS yU local string used for debugging
++.\" NS iI local register (indent for inline debug mode)
++.\" NS mN name of calling request (set in each user requestable macro)
++.de aV
++.nr aC \\n(aC+1
++.ie "\\$1"|" \{\
++.     if "\\*(mN"Op" .ds A\\n(aC \fR\\$1\fP
++.     if "\\*(mN"Ar" .ds A\\n(aC \fR\\$1\fP
++.     if "\\*(mN"Fl" .ds A\\n(aC \fR\\$1\fP
++.     if "\\*(mN"Cm" .ds A\\n(aC \fR\\$1\fP
++.     if "\\*(mN"It" .ds A\\n(aC \fR\\$1\fP
++.\}
++.el .ds A\\n(aC \\$1
++.aU \\n(aC
++.nr C\\n(aC \\n(aT
++.s\\n(aT
++.if \\n(Db \{\
++.     if \\n(aT==1 .ds yU Executable
++.     if \\n(aT==2 .ds yU String
++.     if \\n(aT==3 .ds yU Closing Punctuation or suffix
++.     if \\n(aT==4 .ds yU Opening Punctuation or prefix
++.     if \\n(iN==1 \{\
++.             br
++.             nr iI \\n(.iu
++.             in -\\n(iIu
++.             if \\n(aC==1 \{\
++\&\fBDEBUG(argv) MACRO:\fP `.\\*(mN' \fBLine #:\fP \\n(.c
++.             \}
++\&\t\fBArgc:\fP \\n(aC  \fBArgv:\fP `\\*(A\\n(aC'  \fBLength:\fP \\n(sW
++\&\t\fBSpace:\fP `\\*(S\\n(aC'  \fBClass:\fP \\*(yU
++.     \}
++.     if \\n(iN==0 \{\
++.             if \\n(aC==1 \{\
++.                     tm DEBUG(argv) MACRO: `.\\*(mN'  Line #: \\n(.c
++.             \}
++.             tm \tArgc: \\n(aC  Argv: `\\*(A\\n(aC'  Length: \\n(sW
++.             tm \tSpace: `\\*(S\\n(aC'  Class: \\*(yU
++.     \}
++.\}
++.ie \\n(.$==1 \{\
++.     nr aP 0
++.     ie \\n(dZ==1 \{\
++.             if \\n(oM>1 .as b1 \\*(S0
++.     \}
++.     el \{\
++.             if \\n(oM>0 \{\
++.                     if \\n(fC==0 .as b1 \\*(S0
++.             \}
++.     \}
++.     ds S0 \\*(S\\n(aC
++.     if \\n(Db \{\
++.             if \\n(iN==1 \{\
++\&MACRO REQUEST: \t.\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
++.                     br
++.                     in \\n(iIu
++.             \}
++.             if \\n(iN==0 \{\
++.tm \tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
++.             \}
++.     \}
++.\}
++.el .aV \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.de fV
++.nr aC \\n(aC+1
++.if "\\*(A\\n(aC"|" \{\
++.     if "\\*(mN"Op" .ds A\\n(aC \fR\\*(A\\n(aC\fP
++.     if "\\*(mN"Ar" .ds A\\n(aC \fR\\*(A\\n(aC\fP
++.     if "\\*(mN"Fl" .ds A\\n(aC \fR\&\\*(A\\n(aC\fP
++.     if "\\*(mN"Cm" .ds A\\n(aC \fR\\*(A\\n(aC\fP
++.     if "\\*(mN"It" .ds A\\n(aC \fR\\*(A\\n(aC\fP
++.\}
++.aU \\n(aC
++.nr C\\n(aC \\n(aT
++.s\\n(aT
++.if \\n(Db \{\
++.     if \\n(aT==1 .ds yU Executable
++.     if \\n(aT==2 .ds yU String
++.     if \\n(aT==3 .ds yU Closing Punctuation or suffix
++.     if \\n(aT==4 .ds yU Opening Punctuation or prefix
++.     if \\n(iN==1 \{\
++.             br
++.             nr iI \\n(.iu
++.             in -\\n(iIu
++.             if \\n(aC==1 \{\
++\&\fBDEBUG(fargv) MACRO:\fP `.\\*(mN'  \fBLine #:\fP \\n(.c
++.             \}
++\&\t\fBArgc:\fP \\n(aC  \fBArgv:\fP `\\*(A\\n(aC'  \fBLength:\fP \\n(sW
++\&\t\fBSpace:\fP `\\*(S\\n(aC'  \fBClass:\fP \\*(yU
++.     \}
++.     if \\n(iN==0 \{\
++.             if \\n(aC==1 \{\
++.                     tm DEBUG(fargv) MACRO: `.\\*(mN'  Line #: \\n(.c
++.             \}
++.             tm \tArgc: \\n(aC  Argv: `\\*(A\\n(aC'  Length: \\n(sW
++.             tm \tSpace: `\\*(S\\n(aC'  Class: \\*(yU
++.     \}
++.\}
++.ie \\n(fV==1 \{\
++.     nr aP 0
++.     ie \\n(dZ==1 \{\
++.             if \\n(oM>1 .as b1 \\*(S0
++.     \}
++.     el \{\
++.             if \\n(oM>0 \{\
++.                     if \\n(fC==0 .as b1 \\*(S0
++.             \}
++.     \}
++.     ds S0 \\*(S\\n(aC
++.     nr fV 0
++.     if \\n(Db \{\
++.             ie \\n(iN \{\
++\&\tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
++.                     br
++.                     in \\n(iIu
++.             \}
++.             el \{\
++.tm \tMACRO REQUEST: .\\*(mN \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
++.             \}
++.     \}
++.\}
++.el \{\
++.     nr fV \\n(fV-1
++.     fV
++.\}
++..
++.\" NS aX macro - stuff saved strings into `b1' (used by -diag list)
++.de aX
++.nr aP \\n(aP+1
++.as b1 \&\\*(A\\n(aP
++.ie \\n(fV==1 \{\
++.     nr aP 0
++.     nr fV 0
++.\}
++.el \{\
++.     as b1 \&\\*(sV
++.     nr fV \\n(fV-1
++.     aX
++.\}
++..
++.\" NS aI macro - append arg to arg vector: .aI [arg] [type] (used by .En only)
++.de aI
++.ie \\n(aC<9 \{\
++.     nr aC \\n(aC+1
++.     ds A\\n(aC \\$1
++.     nr C\\n(aC \\$2
++.     s\\$2
++.     ds xV S\\n(aC
++.\}
++.el \{\
++.     tm Usage: Too many arguments (maximum of 8 accepted) (#\\n(.c)
++.     tm \\*(A1 \\*(A2 \\*(A3 \\*(A4 \\*(A5 \\*(A6 \\*(A7 \\*(A8 \\*(A9
++.\}
++..
++.\"
++.\" NS aZ macro - print buffer (pB) and clean up arg vectors (aY)
++.de aZ
++.pB
++.aY
++..
++.\" NS aY macro - clean up arg vector
++.de aY
++.rm C0 C1 C2 C3 C4 C5 C6 C7 C8 C9
++.rm A0 A1 A2 A3 A4 A5 A6 A7 A8 A9
++.rm S1 S2 S3 S4 S5 S6 S7 S8 S9
++.nr aC 0
++.nr aP 0
++..
++.\" NS pB macro - test for end of vector (eol) (print b1 buffer or divert)
++.de pB
++.ie \\n(dZ==1 \{\
++.     if \\n(oM==1 \{\&\\*(b1
++.             rm S0
++.             ds b1
++.     \}
++.     if \\n(oM==0 \{\
++.             x2
++.     \}
++.\}
++.el \{\
++.     ie \\n(oM==0 \{\&\\*(b1
++.             rm S0
++.             ds b1
++.     \}
++.     el \{\
++.             if ((\\n(sM==1)&(\\n(tP==0)) \{\
++.                     x1
++.             \}
++.     \}
++.\}
++.hy
++..
++.\" NS x1 macro - save buffer and divert if tP flag set
++.\" NS eB diversion string
++.\" NS b2 string save of buffer
++.\" NS lK register count of lines read from input file
++.de x1
++.nr dZ \\n(dZ+1
++.ds b2 \\*(b1
++.ds b1
++.nr lK \\n(.c
++.ev 2
++.fi
++.di eB
++..
++.\"
++.\" NS x2 macro - end diversion and print
++.\" NS b0 string local temporary
++.de x2
++.br
++.di
++.ev
++.ie (\\n(.c-\\n(lK>1) \{\
++.     ds b0 \&\\*(eB\\
++.     ds b1 \\*(b2\\*(b0\\*(b1
++.\}
++.el .ds b1 \\*(b2\\*(b1
++\&\\*(b1
++.rm eB b2 b0 b1
++.nr dZ \\n(dZ-1
++..
++.\" NS Fl macro - flags (appends - and prints flags)
++.\" NS cF register save current font
++.\" NS cZ register save current font size
++.de Fl
++.as b1 \&\\*(fL
++.if \\n(aC==0 \{\
++.     ie \\n(.$==0 \{\
++.             as b1 \&\|\-\|\fP\s0
++.             pB
++.     \}
++.     el \{\
++.             ds mN Fl
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>0 \{\
++.     ie (\\n(aC-\\n(aP)==0 \{\
++.             as b1 \&\|\-\fP\s0
++.             aZ
++.     \}
++.     el \{\
++.             nr aP \\n(aP+1
++.             ie \\n(C\\n(aP==1 \{\
++.                     as b1 \&\|\-\fP\s0
++.                     \\*(A\\n(aP
++.             \}
++.             el \{\
++.                     nr cF \\n(.f
++.                     nr cZ \\n(.s
++.                     if \\n(C\\n(aP==3 \{\
++.                             as b1 \&\|\-\|
++.                     \}
++.                     fR
++.             \}
++.     \}
++.\}
++..
++.\"
++.\" NS fR macro - Fl flag recursion routine (special handling)
++.\" NS jM local register
++.\" NS jN local register
++.\"
++.de fR
++.hy 0
++.nr jM \\n(C\\n(aP
++.ie \\n(jM==1 \{\
++.     as b1 \&\fP\s0
++.     \\*(A\\n(aP
++.\}
++.el \{\
++.     nr jN \\n(aP
++.     ie \\n(jM==2 \{\
++.             ie !"\\*(A\\n(aP"\\*(Ba" \{\
++.                     ie !"\\*(A\\n(aP"\fR|\fP" \{\
++.                            ie "\\*(A\\n(aP"-" .as b1 \&\|\-\^\-\|
++.                            el .as b1 \&\|\-\\*(A\\n(aP
++.                     \}
++.                     el .as b1 \&\\*(A\\n(aP
++.             \}
++.             el .as b1 \&\\*(A\\n(aP
++.     \}
++.     el .as b1 \&\f\\n(cF\s\\n(cZ\\*(A\\n(aP\fP\s0
++.     ie \\n(aC==\\n(aP \{\
++.             if \\n(jM==4 .as b1 \&\|\-
++.             as b1 \&\fP\s0
++.             aZ
++.     \}
++.     el \{\
++.             nr aP \\n(aP+1
++.             ie ((\\n(C\\n(aP==3)&(\\n(C\\n(jN==4)) .as b1 \&\|\-
++.             el .as b1 \&\\*(S\\n(jN
++.             fR \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.rr jM jN
++..
++.\"
++.\" NS nR macro - general name recursion routine
++.\" NS jM local register
++.\" NS jN local register
++.de nR
++.hy 0
++.nr jM \\n(C\\n(aP
++.ie \\n(jM==1 \{\
++.     as b1 \&\f\\n(cF\s\\n(cZ
++.     \\*(A\\n(aP
++.\}
++.el \{\
++.     nr jN \\n(aP
++.     ie \\n(jM==2 .as b1 \&\\*(A\\n(aP
++.     el .as b1 \&\f\\n(cF\s\\n(cZ\\*(A\\n(aP\fP\s0
++.     ie \\n(aC==\\n(aP \{\
++.             as b1 \&\f\\n(cF\s\\n(cZ
++.             aZ
++.     \}
++.     el \{\
++.             nr aP \\n(aP+1
++.             as b1 \&\\*(S\\n(jN
++.             nR
++.     \}
++.\}
++.rr jM jN
++..
++.\" NS Ar macro - command line `argument' macro
++.\"
++.de Ar
++.as b1 \\*(aR
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 \{\
++.             as b1 file\ ...\fP\s0
++.             pB
++.     \}
++.     el \{\
++.             ds mN Ar
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>0 \{\
++.     ie (\\n(aC-\\n(aP)==0 \{\
++.             as b1 \&file\ ...\fP\s0
++.             aZ
++.     \}
++.     el \{\
++.             nr aP \\n(aP+1
++.             ie \\n(C\\n(aP==1 \{\
++.                     as b1 \&file\ ...\fP\s0
++.                     \\*(A\\n(aP
++.               \}
++.               el \{\
++.                       nr cF \\n(.f
++.                     nr cZ \\n(.s
++.                     if \\n(C\\n(aP==3 \{\
++.                             as b1 \&file\ ...
++.                     \}
++.                       nR
++.             \}
++.       \}
++.\}
++..
++.\" NS Ad macro - Addresses
++.de Ad
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Ad address ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Ad
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(aD
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Cd macro - Config declaration (for section 4 SYNOPSIS) (not callable)
++.\" needs work - not very translatable
++.de Cd
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Cd Configuration file declaration (#\\n(.c)
++.     el \{\
++.             ds mN Cd
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.br
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(nM
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.     ie \\n(nS \{\
++.             if "\\*(mN"Cd" \{\
++.                     rs
++.                     ie \\n(nS>1 .br
++.                     el \{\
++.                             if \\n(iS==0 .nr iS \\n(Dsu
++.                     \}
++.                     in +\\n(iSu
++.                     ti -\\n(iSu
++.                     nr nS \\n(nS+1
++.             \}
++.     nR
++.     in -\\n(iSu
++.     \}
++.     el .nR
++.\}
++..
++.\" NS Cm macro - Interactive command modifier (flag)
++.de Cm
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Cm Interactive command modifier ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Cm
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(cM
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Dv macro - define variable
++.de Dv
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Dv define_variable ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Dv
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(eR
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Em macro - Emphasis
++.de Em
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 \{\
++.             tm Usage: .Em text ... \\*(Pu (#\\n(.c)
++.     \}
++.     el \{\
++.             ds mN Em
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(eM
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Er macro - Errnotype
++.de Er
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Er ERRNOTYPE ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Er
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(eR
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Ev macro - Environment variable
++.de Ev
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Ev ENVIRONMENT_VARIABLE ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Ev
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(eV
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Fd macro - function declaration - not callable (& no err check)
++.\" NS fD register subroutine test (in synopsis only)
++.\" NS fY register subroutine count (in synopsis only) (fortran only)
++.\" NS fZ register also subroutine count (in synopsis only)
++.de Fd
++.ds mN Fd
++.if \\n(nS>0 \{\
++.\"   if a variable type was the last thing given, want vertical space
++.     if \\n(fX>0 \{\
++.             Pp
++.             nr fX 0
++.     \}
++.\"   if a subroutine was the last thing given, want vertical space
++.     if \\n(fZ>0 \{\
++.             ie \\n(fD==0 \{\
++.                     Pp
++.                     rs
++.             \}
++.             el .br
++.     \}
++.     nr fD \\n(fD+1
++.\}
++.nr cF \\n(.f
++.nr cZ \\n(.s
++\&\\*(fD\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.br
++.ft \\n(cF
++.fs \\n(cZ
++..
++.\" NS Fr macro - function return value - not callable (at the moment)
++.de Fr
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Fr Function_return_value... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Fr
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(aR
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Ic macro - Interactive command
++.de Ic
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Ic Interactive command ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Ic
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(iC
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Li macro - literals
++.de Li
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage .Li argument ... \\*(Pu (#\\n(.c)
++.       el \{\
++.             ds mN Li
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.               nr fV \\n(.$
++.               fV
++.       \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(lI
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Or macro - Pipe symbol (OR)
++.de Or
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Or ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Or
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(iC
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Ms macro - Math symbol
++.de Ms
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Ms Math symbol ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Ms
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(sY
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Nm macro - Name of command or page topic
++.\" NS n1 string - save first invocation of .Nm
++.\" NS iS register - indent second command line in a synopsis
++.de Nm
++.if \\n(aC==0 \{\
++.     ie \\n(.$==0 \{\
++.             ie "\\*(n1"" .tm Usage: .Nm Name(s) ... \\*(Pu (#\\n(.c)
++.             el \&\\*(nM\\*(n1\fP\s0
++.     \}
++.     el \{\
++.             ds mN Nm
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.               nr fV \\n(.$
++.               fV
++.       \}
++.\}
++.if \\n(aC>0 \{\
++.     ie \\n(aC==\\n(aP \{\
++.             as b1 \&\\*(nM\\*(n1\fP\s0
++.             aZ
++.     \}
++.     el \{\
++.             as b1 \\*(nM
++.             nr aP \\n(aP+1
++.             ie \\n(C\\n(aP==1 \{\
++.                     as b1 \&\\*(n1\fP\s0
++.                     \\*(A\\n(aP
++.             \}
++.             el \{\
++.                     nr cF \\n(.f
++.                     nr cZ \\n(.s
++.                     if \\n(nS \{\
++.                             if "\\*(mN"Nm" \{\
++.                                     rs
++.                                     in -\\n(iSu
++.                                     ie \\n(nS>1 .br
++.                                     el \{\
++.                                             if \\n(iS==0 \{\
++.                                                     sw \\$1
++.                                     nr iS ((\\n(sWu+1)*\\n(fW)u
++.                                             \}
++.                                     \}
++.                                     in +\\n(iSu
++.                                     ti -\\n(iSu
++.                                     nr nS \\n(nS+1
++.                             \}
++.                     \}
++.                     if "\\*(n1"" .ds n1 \\*(A\\n(aP
++.                     nR
++.             \}
++.     \}
++.\}
++..
++.\" NS Pa macro - Pathname
++.de Pa
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 \&\\*(pA~\fP\s0
++.     el \{\
++.             ds mN Pa
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(pA
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Sy macro - Symbolics
++.de Sy
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Sy symbolic_text ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Sy
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(sY
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Tn macro - Trade Name Macro
++.de Tn
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Tn
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(tN\\*(tF
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS nN macro - Trade Name Macro for inside of reference
++.de nN
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Tn
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(tN
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       rR
++.\}
++..
++.\" NS Va macro - variable name macro
++.de Va
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Va variable_name(s) ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Va
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     as b1 \\*(vA
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\"
++.\" NS No macro - Normal text macro (default text style if mess up)
++.de No
++.as b1 \\*(nO
++.if \\n(aC==0 \{\
++.     ie \\n(.$==0 .tm Usage: .No must be called with arguments (#\\n(.c)
++.     el \{\
++.             ds mN No
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       ie \\n(C\\n(aP==1 \{\
++.             \\*(A\\n(aP
++.       \}
++.       el \{\
++.             nr cF \\n(.f
++.             nr cZ \\n(.s
++.             nR
++.       \}
++.\}
++..
++.\"------------------------------------------------------------------------
++.\" NS Op macro - Option Expression
++.de Op
++.if \\n(aC==0 \{\
++.     ds mN Op
++.\}
++.\" .ds qL \&\\*(lO
++.\" .ds qR \&\\*(rO
++.ds qL \&\\*(lB
++.ds qR \&\\*(rB
++.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
++..
++.\" NS Aq macro - Enclose string in angle brackets
++.de Aq
++.if \\n(aC==0 .ds mN Aq
++.ds qL \&<
++.ds qR \&>
++.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Bq macro - Enclose string in square brackets
++.de Bq
++.if \\n(aC==0 .ds mN Bq
++.ds qL \&\\*(lB
++.ds qR \&\\*(rB
++.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Dq macro - Enclose string in double quotes
++.de Dq
++.if \\n(aC==0 .ds mN Dq
++.ds qL \&\\*(Lq
++.ds qR \&\\*(Rq
++.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Eq macro - Enclose string in double quotes
++.de Eq
++.if \\n(aC==0 .ds mN Eq
++.ds qL \\$1
++.ds qR \\$2
++.En \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Pq macro - Enclose string in parenthesis
++.de Pq
++.if \\n(aC==0 .ds mN Pq
++.ds qL \&\\*(lP
++.ds qR \&\\*(rP
++.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Ql macro - Quoted literal is in file mdocj-[dit|n|g]roff (too large
++.\" an if-else to carry along recursively for `if n ...')
++.\"
++.\" NS Sq macro - Enclose string in single quotes
++.de Qq
++.if \\n(aC==0 .ds mN Qq
++.ds qL \&\\*q
++.ds qR \&\\*q
++.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Sq macro - Enclose string in single quotes
++.de Sq
++.if \\n(aC==0 .ds mN Sq
++.ds qL \&\\*(sL
++.ds qR \&\\*(sR
++.En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\"
++.\" NS Es macro - Set up strings for .En call
++.de Es
++.if \\n(aC==0 \{\
++.     ie \\n(.$>2 .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     el \{\
++.             ds qL \\$1
++.             ds qR \\$2
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.     ds qL \\*(A\\n(aP
++.     nr aP \\n(aP+1
++.     ds qR \\*(A\\n(aP
++.     ie \\n(aC>\\n(aP .c\\n(C\\n(aP
++.     el .aZ
++.\}
++..
++.\" .tm En beg arg(A[\\n(aP])==\\*(A\\n(aP;
++.\" .tm En oM==\\n(oM; dZ==\\n(dZ; Xt==\\n(Xt; aC==\\n(aC
++.\" NS En macro - Enclose string with given args (eg [ and ] etc)
++.\" NS qL string variable set by calling macro
++.\" NS qR string variable set by calling macro
++.\" NS aJ register (for vR)
++.de En
++.ie \\n(aC==0 \{\
++.     ie \\n(.$==0 \{\
++.             as b1 \&\\*(qL\\*(qR
++.             pB
++.     \}
++.     el \{\
++.\".          as mN (En)
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.             as b1 \&\\*(qL
++.     \}
++.\}
++.el \{\
++.     as b1 \&\\*(qL
++.\}
++.if \\n(aC>0 \{\
++.     ie (\\n(aC-\\n(aP)==0 \{\
++.             as b1 \&\\*(qR
++.             aZ
++.     \}
++.     el \{\
++.             ie \\n(C\\n(aC==3 \{\
++.                     nr aJ \\n(aC-1
++.                     vR
++.                     nr aJ \\n(aJ+1
++.                     ds A\\n(aJ \&\\*(qR\\*(A\\n(aJ
++.                     nr aJ 0
++.             \}
++.             el .aI \&\\*(qR 3
++.             nr aP \\n(aP+1
++.             if \\n(C\\n(aP==1 .\\*(A\\n(aP
++.             if \\n(C\\n(aP>1 \{\
++.                     nr aP \\n(aP-1
++.                     No
++.             \}
++.     \}
++.\}
++..
++.\" NS vR macro - vector routine (for En, trace backwards past trail punct)
++.de vR
++.if \\n(C\\n(aJ==3 \{\
++.     nr aJ \\n(aJ-1
++.     vR
++.\}
++..
++.\"------------------------------------------------------------------------
++.\" NS Ao macro - Angle open
++.de Ao
++.if \\n(aC==0 .ds mN Ao
++.ds qL \&<
++.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Ac macro - Angle close
++.de Ac
++.if \\n(aC==0 .ds mN Ac
++.ds qR \&>
++.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Bo macro - Bracket open
++.de Bo
++.if \\n(aC==0 .ds mN Bo
++.ds qL \&[
++.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Bc macro - Bracket close
++.de Bc
++.if \\n(aC==0 .ds mN Bc
++.ds qR \&]
++.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Do macro - Double Quote open
++.de Do
++.if \\n(aC==0 .ds mN Do
++.ds qL \&\\*(Lq
++.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Dc macro - Double Quote close
++.de Dc
++.if \\n(aC==0 .ds mN Dc
++.ds qR \&\\*(Rq
++.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Eo macro - Enclose open
++.de Eo
++.if \\n(aC==0 .ds mN Eo
++.ds qL \\$1
++.eO \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Ec macro - Enclose close
++.de Ec
++.if \\n(aC==0 .ds mN Ec
++.ds qR \\$1
++.eC \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Oo macro - Option open
++.de Oo
++.if \\n(aC==0 .ds mN Oo
++.ds qL \&[
++.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Oc macro - Option close
++.de Oc
++.if \\n(aC==0 .ds mN Oc
++.ds qR \&]
++.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Po macro - Parenthesis open
++.de Po
++.if \\n(aC==0 .ds mN Po
++.ds qL \&(
++.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Pc macro - Parenthesis close
++.de Pc
++.if \\n(aC==0 .ds mN Pc
++.ds qR \&)
++.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Qo macro - Straight Double Quote open
++.de Qo
++.if \\n(aC==0 .ds mN Qo
++.ds qL \&\\*q
++.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Qc macro - Straight Double Quote close
++.de Qc
++.if \\n(aC==0 .ds mN Qc
++.ds qR \&\\*q
++.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS So macro - Single Quote open
++.de So
++.if \\n(aC==0 .ds mN So
++.ds qL \&\\*(sL
++.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Sc macro - Single Quote close
++.de Sc
++.if \\n(aC==0 .ds mN Sc
++.ds qR \&\\*(sR
++.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Xo macro - Extend open (continue)
++.de Xo
++.if \\n(aC==0 .ds mN Xo
++.\" .nr mN 1
++.ds qL
++.eO \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS Xe macro - Extend close (end)
++.de Xc
++.\" .nr mN 0
++.if \\n(aC==0 .ds mN Xc
++.ds qR
++.eC \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS eO macro - enclose string open
++.\" NS oM register (extension possible)
++.de eO
++.nr oM \\n(oM+1
++.\" .tm eO last arg==A[\\n(aC]==\\*(A\\n(aC; aP==\\n(aP; oM==\\n(oM; dZ==\\n(dZ;
++.ie \\n(aC==0 \{\
++.       ie \\n(.$>0 \{\
++.               aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.             as b1 \\*(qL
++.       \}
++.     el \{\
++.             as b1 \\*(qL
++.             if (\\n(dZ==0)&(\\n(sM==1) \{\
++.                     nr dZ \\n(dZ+1
++.                     ds b2 \\*(b1
++.                     ds b1
++.                     nr lK \\n(.c
++.                     ev 2
++.                     fi
++.                     di eB
++.             \}
++.     \}
++.\}
++.el \{\
++.     as b1 \\*(qL
++.\}
++.ie \\n(aC>0 \{\
++.     if \\n(aC>\\n(aP \{\
++.             nr aP \\n(aP+1
++.             ie \\n(C\\n(aP==1 .\\*(A\\n(aP
++.             el  \{\
++.                     nr aP \\n(aP-1
++.                     No
++.             \}
++.     \}
++.     if \\n(aC==\\n(aP \{\
++.             if \\n(tP==1 \{\
++.\" .tm SETTING Xt!!!
++.                     nr Xt 1
++.             \}
++.\".\" .              ds S0
++.\"CHANGED            ds S0 \\*(iV
++.             aY
++.     \}
++.\}
++.el \{\
++.     if \\n(oM>1 .as b1 \\*(sV
++.\}
++..
++.\"
++.\" NS eC macro - enclose string close
++.\" NS aa local register
++.de eC
++.nr oM \\n(oM-1
++.\" tm eC last arg==A[\\n(aC]==\\*(A\\n(aC; aP==\\n(aP; oM==\\n(oM; dZ==\\n(dZ;
++.as b1 \\*(qR
++.if \\n(aC==0 \{\
++.       ie \\n(.$>0 \{\
++.               aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.       \}
++.     el \{\
++.             ie "\\*(xB"" \{\
++.                     pB
++.             \}
++.             el \{\
++.                     pB
++.\\*(L\\n(lC
++.                     nr Xt 0
++.                     ds xB
++.             \}
++.     \}
++.\}
++.if \\n(aC>0 \{\
++.     ie \\n(aC==\\n(aP \{\
++.             ie \\n(oM==0 \{\
++.                     aZ
++.             \}
++.             el .aY
++.     \}
++.     el \{\
++.             nr aa \\n(aP+1
++.             if \\n(C\\n(aa==2 .as b1 \\*(S\\n(aC
++.\" tm CURRENT arg (aP==\\*(A\\n(aP and ap+1==\\*(A\\n(aa) tP==\\n(tP Xt==\\n(Xt
++.             rr aa
++.             if \\n(tP>0 \{\
++.\" tm UNSETTING Xt==\\n(Xt!!!!
++.                     if \\n(Xt>0 .nr Xt \\n(Xt-1
++.\" tm NOW Xt==\\n(Xt!!!!
++.             \}
++.             No
++.     \}
++.\}
++..
++.\"------------------------------------------------------------------------
++.\" NS Pf macro - Prefix (calls .pF)
++.de Pf
++.if \\n(aC==0 .ds mN Pf
++.ds qL \&\\$1
++.pF \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\" NS pF macro - Prefix (for prefixing open quotes, brackets etc)
++.de pF
++.ie \\n(aC==0 \{\
++.     as b1 \&\\*(qL
++.     ie \\n(.$<2 \{\
++.             tm Warning: Missing arguments - prefix .Pf)
++.             pB
++.     \}
++.     el .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.\}
++.el \{\
++.     ie (\\n(aC-\\n(aP)>1 \{\
++.             nr aP \\n(aP+1
++.             as b1 \&\\*(A\\n(aP
++.     \}
++.     el .tm Warning: .Pf: trailing prefix (#\\n(.c)
++.\}
++.if \\n(aC>0 \{\
++.     ie (\\n(aC-\\n(aP)==0 .aZ
++.     el \{\
++.             nr aP \\n(aP+1
++.             c\\n(C\\n(aP
++.     \}
++.\}
++..
++.\" NS Ns macro - remove space (space remove done by .aV or .fV)
++.de Ns
++.if \\n(aC==0 \{\
++.     ds mN Ns
++.     ie \\n(.$>0 .aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     el .tm Usage: .Ns must be called with arguments (#\\n(.c)
++.\}
++.No
++..
++.de Ap
++.if \\n(aC==0 \{\
++.     ds mN Ap
++.     tm Usage: Ap "cannot be first request on a line (no .Ap)" (#\\n(.c)
++.\}
++.as b1 \&'
++.No
++..
++.\" NS Hv macro - Hard (unpaddable) Space vector
++.\" NS iV string inter-vector space
++.\" NS sV string inter-argument space
++.de Hv
++.ds iV \\*(sV
++.ds sV \\*(hV
++..
++.\" NS Sv macro - Soft Space vector (troff limitation)
++.de Sv
++.ds sV \\*(iV
++..
++.\" NS Tv macro - Tab Space vector
++.de Tv
++.ds sV \\*(tV
++..
++.\" NS Sm macro - Space mode
++.\" NS sM register - default is one (space mode on)
++.nr sM 1
++.de Sm
++.if \\n(aC==0 \{\
++.     ie \\n(.$==0 .tm "Usage: .Sm [off | on]" (#\\n(.c)
++.     el \{\
++.             ds mN Sm
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>0 \{\
++.     nr aP \\n(aP+1
++.     if "\\*(A\\n(aP"on" \{\
++.             ds sV \\*(iV
++.             nr sM 1
++.     \}
++.     if "\\*(A\\n(aP"off" \{\
++.             ds sV
++.             rm S0 S1 S2 S3 S4 S5 S6 S7 S8 S9
++.             nr sM 0
++.     \}
++.     ie \\n(aC>\\n(aP \{\
++.             No
++.     \}
++.     el .aY
++.\}
++..
++.\"------------------------------------------------------------------------
++.\" Size and Argument type macros
++.\" NS aT macro - argument type
++.\" NS aU macro - argument type (same as .aT but uses A[1-9] strings
++.\" NS aT register argument type
++.if \n(.g \{\
++.de aT
++.nr aT 0
++.ie \\n(sW>2:(\A'\\$1'==0) \{\
++.     nr aT 2
++.\}
++.el \{\
++.     if \\n(sW==1 \{\
++.             ie \\n(z\\$1>2 \{\
++.                     nr aT \\n(z\\$1
++.             \}
++.             el .nr aT 2
++.     \}
++.     if \\n(sW==2 \{\
++.             ie \\n(\\$1 \{\
++.                     nr aT 1
++.             \}
++.             el .nr aT 2
++.     \}
++.\}
++..
++.de aU
++.nr aT 0
++.aW \\$1
++.ie \\n(sW>2:(\A'\\*(A\\$1'==0) .nr aT 2
++.el \{\
++.     if \\n(sW==1 \{\
++.             ie \\n(z\\*(A\\$1>2 \{\
++.                     nr aT \\n(z\\*(A\\$1
++.             \}
++.             el .nr aT 2
++.     \}
++.     if \\n(sW==2 \{\
++.             ie (\\n(\\*(A\\$1) \{\
++.                     nr aT 1
++.             \}
++.             el .nr aT 2
++.     \}
++.\}
++..
++.\}
++.if !\n(.g \{\
++.de aT
++.nr aT 0
++.ie \\n(sW>2 \{\
++.     nr aT 2
++.\}
++.el \{\
++.     if \\n(sW==1 \{\
++.             ie \\n(z\\$1>2 \{\
++.                     nr aT \\n(z\\$1
++.             \}
++.             el .nr aT 2
++.     \}
++.     if \\n(sW==2 \{\
++.             ie \\n(\\$1 \{\
++.                     nr aT 1
++.             \}
++.             el .nr aT 2
++.     \}
++.\}
++..
++.de aU
++.nr aT 0
++.aW \\$1
++.ie \\n(sW>2 .nr aT 2
++.el \{\
++.     if \\n(sW==1 \{\
++.             ie \\n(z\\*(A\\$1>2 \{\
++.                     nr aT \\n(z\\*(A\\$1
++.             \}
++.             el .nr aT 2
++.     \}
++.     if \\n(sW==2 \{\
++.             ie (\\n(\\*(A\\$1) \{\
++.                     nr aT 1
++.             \}
++.             el .nr aT 2
++.     \}
++.\}
++..
++.\}
++.\" NS s1 macro - set spacing for class type 1
++.\" NS s2 macro - set spacing for class type 2
++.\" NS s3 macro - set spacing for class type 3
++.\" NS s1 macro - set spacing for class type 1
++.\" NS s2 macro - set spacing for class type 2
++.\" NS s3 macro - set spacing for class type 3
++.\" NS s4 macro - set spacing for class type 4
++.\" NS S[0-9] string spacing
++.\" NS xX local register
++.\" NS aa local register
++.de s0
++.tm MDOC-ERROR: bogus type 0 (can't set space '\\*(A\\n(aC') (#\\n(.c)
++..
++.de s1
++.if \\n(\\*(A\\n(aC==3 \{\
++.     nr xX \\n(aC-1
++.     rm S\\n(xX
++.     ds S\\n(aC \\*(sV
++.\}
++.if \\n(\\*(A\\n(aC==2 \{\
++.     nr xX \\n(aC-1
++.\" this kludge can probably go away, but need to double check first
++.     ie "\\*(A\\n(aC"Nb" .ds S\\n(xX \\*(hV
++.     el .rm S\\n(xX
++.\}
++..
++.de s2
++.ds S\\n(aC \\*(sV
++..
++.de s3
++.if \\n(aC>1 \{\
++.     nr xX \\n(aC-1
++.     rm S\\n(xX
++.\}
++.ds S\\n(aC \\*(sV
++..
++.de s4
++.nr aa 0
++..
++.\" Class switches (on current argument aP)
++.\" NS c0 macro - catch errors (non-existent class type 0)
++.\" NS c1 macro - call request if type 1
++.\" NS c2 macro - call .No if type 2
++.\" NS c3 macro - call .No if type 3
++.\" NS c4 macro - call .No if type 4
++.de c0
++.tm MDOC-ERROR: bogus class 0 (can't determine '\\*(A\\n(aC') (#\\n(.c)
++..
++.de c1
++.\\*(A\\n(aP
++..
++.de c2
++.nr aP \\n(aP-1
++.No
++..
++.de c3
++.nr aP \\n(aP-1
++.No
++..
++.de c4
++.nr aP \\n(aP-1
++.No
++..
++.\" NS y1 macro - ignore if class 1
++.\" NS y2 macro - ignore if class 2
++.\" NS y3 macro - append if type 3
++.\" NS y4 macro - append if type 4
++.de y1
++.nr aa 1
++..
++.de y2
++.nr aa 1
++..
++.de y3
++.as b1 \\*(A\\n(aP
++.nr aP \\n(aP+1
++.n\\C\\n(aP
++..
++.de y4
++.as b1 \\*(A\\n(aP
++.nr aP \\n(aP+1
++.n\\C\\n(aP
++..
++.\"--------------------------------------------------------------------------
++.\" Ns Bf macro - Begin Font Mode (will be begin-mode/end-mode in groff & TeX)
++.\" Ns Ef macro - End Font Mode
++.de Bf
++.ds mN Bf
++.ie \\n(.$>0 \{\
++.     nr bF \\n(.f
++.     nr bZ \\n(.s
++.     if "\\$1"Em" \&\\*(eM\c
++.     if "\\$1"Li" \&\\*(lI\c
++.     if "\\$1"Sy" \&\\*(sY\c
++.     if "\\$1"-emphasis" \&\\*(eM\c
++.     if "\\$1"-literal" \&\\*(lI\c
++.     if "\\$1"-symbolic" \&\\*(sY\c
++.\}
++.el .tm Usage .Bf [Em | emphasis | Li | literal | Sy | symbolic] (#\\n(.c)
++..
++.de Ef
++.ds mN Ef
++.ie \\n(.$>0 .tm Usage .Ef (does not take arguments) (#\\n(.c)
++.el \&\f\\n(bF\s\\n(bZ
++..
++.\" Ns Bk macro - Begin Keep
++.\" Ns Ek macro - End Keep
++.\" Ns kS string - keep type
++.de Bk
++.ds mN Bk
++.ie \\n(.$==0 \{\
++.tm Usage: .Bk [-lines | -words] (#\\n(.c)
++.\}
++.el \{\
++.     if !"\\*(kS"" .tm .Bk: nesting keeps not implemented yet. (#\\n(.c)
++.     if "\\$1"-lines" .tm .Bd -lines: Not implemented yet. (#\\n(.c)
++.     if "\\$1"-words" .Hv
++.     ds kS \\$1
++.\}
++..
++.de Ek
++.ds mN Ek
++.ie \\n(.$>0 .tm Usage .Ek (does not take arguments) (#\\n(.c)
++.el \{\
++.     if "\\*(kS"-lines" .tm .Bd -lines: Not implemented yet. (#\\n(.c)
++.     if "\\*(kS"-words" .Sv
++.     rm kS
++.\}
++..
++.\" NS Bd macro - Begin Display display-type [offset string]
++.\" NS Ed macro - end Display
++.\" NS O[0-9] registers - stack of indent
++.\" NS d[0-9] registers - display-type stack
++.de Bd
++.ds mN Bd
++.ie \\n(.$==0 \{\
++.tm Usage: .Bd [-literal | -filled | -ragged | -unfilled] [-offset [string]] [-compact] (#\\n(.c)
++.\}
++.el \{\
++.     ds aa
++.     nr bV 0
++.       nr iD 0
++.     nr dP \\n(dP+1
++.       if "\\$1"-literal" \{\
++.             nr iD \\n(iD+1
++.               ds d\\n(dP dL
++.             nr cF \\n(.f
++.             nr cZ \\n(.s
++.             ie t \{\&\\*(lI
++'                     ta 9n 18n 27n 36n 45n 54n 63n 72n
++.             \}
++.             el \{\
++'                     ta 8n 16n 24n 32n 40n 48n 56n 64n 72n
++.             \}
++.             nf
++.       \}
++.       if "\\$1"-filled" \{\
++.             nr iD \\n(iD+1
++.               ds d\\n(dP dF
++.             br
++.       \}
++.       if "\\$1"-ragged" \{\
++.             nr iD \\n(iD+1
++.               ds d\\n(dP dR
++.             na
++.       \}
++.       if "\\$1"-unfilled" \{\
++.             nr iD \\n(iD+1
++.               ds d\\n(dP dU
++.             nf
++.       \}
++.\" .tm Here is argc: \\n(.$ and here is iD \\n(iD
++.       if ((\\n(iD>=1)&(\\n(.$>\\n(iD)) \{\
++.             bV \\$2 \\$3 \\$4
++.     \}
++.     if \\n(O\\n(dP>0 'in \\n(.iu+\\n(O\\n(dPu
++.     if (\\n(bV==0) \{\
++.             if (\\n(nS==0) \{\
++.                     ie "\\*(d\\n(dP"dR" .sp \\n(dVu
++.                     el 'sp \\n(dVu
++.             \}
++.     \}
++.     if \\n(cR==0 .ne 2v
++.     nr bV 0
++.     nr iD 0
++.\}
++..
++.\" NS bV macro - resolve remaining .Bd arguments
++.de bV
++.\" .tm in bV with args: \\$1 \\$2 \\$3
++.nr iD 1
++.ds bY
++.if "\\$1"-offset" \{\
++.     ds bY \\$2
++.     if "\\*(bY"left" \{\
++.             nr iD \\n(iD+1
++.             nr O\\n(dP 0
++.     \}
++.     if "\\*(bY"right" \{\
++.             nr iD \\n(iD+1
++.             nr O\\n(dP (\\n(.l/3)u
++.     \}
++.     if "\\*(bY"center" \{\
++.             nr iD \\n(iD+1
++.             nr O\\n(dP (\\n(.l-\\n(.i)/4u
++.     \}
++.     if "\\*(bY"indent" \{\
++.             nr iD \\n(iD+1
++.             nr O\\n(dP \\n(dIu
++.     \}
++.     if "\\*(bY"indent-two" \{\
++.             nr iD \\n(iD+1
++.             nr O\\n(dP \\n(dIu+\\n(dIu
++.     \}
++.     if \\n(iD==1 \{\
++.             nr iD \\n(iD+1
++.             sW "\\*(bY"
++.             ie \\n(sW>2 \{\
++.                     ie ((\\*(bY>9n)&(\\*(bY<100n)) \{\
++.                             nr O\\n(dP \\*(bY
++.                     \}
++.                     el .nr O\\n(dP (\\n(sW)*\\n(fWu
++.             \}
++.             el \{\
++.                     if \\n(sW==2 .aT \\*(bY
++.                     ie \\n(aT==1 \{\
++.                             nr O\\n(dP \\n(\\*(bY
++.                     \}
++.                     el .nr O\\n(dP \\*(bY
++.             \}
++.     \}
++.\}
++.if "\\$1"-compact" \{\
++.     nr bV 1
++.\}
++.if \\n(iD<\\n(.$ \{\
++.     ie "\\*(bY"" \{\
++.             bV \\$2 \\$3
++.     \}
++.     el \{\
++.             bV \\$3
++.     \}
++.\}
++..
++.\" NS Ed macro - end display
++.de Ed
++.ds mN Ed
++.br
++.if \\n(dP==0 .tm mdoc: Extraneous .Ed
++.if "\\*(d\\n(dP"dL" \{\
++.     ft \\n(cF
++.     fz \\n(cZ
++.\}
++.in \\n(.iu-\\n(O\\n(dPu
++.rr O\\n(dP
++.rm d\\n(dP
++.nr dP \\n(dP-1
++.fi
++.if t .ad
++..
++.\"--------------------------------------------------------------------------
++.\" NS Bl macro - begin list (.Bl list-type)
++.\" NS L[0-9] registers - stack of list types
++.de Bl
++.ie \\n(.$==0 \{\
++.tm Usage: .Bl [[-hang | -tag] [-width]] [ -item | -enum | -bullet | -diag] (#\\n(.c)
++.\}
++.el \{\
++.     ds mN Bl
++.     nr aP 0
++.     nr lC \\n(lC+1
++.     ds A1 \\$2
++.     ds A2 \\$3
++.     ds A3 \\$4
++.     ds A4 \\$5
++.     ds A5 \\$6
++.     ds A6 \\$7
++.     ds A7 \\$8
++.     ds A8 \\$9
++.     nr fV \\n(.$-1
++.     if "\\$1"-hang" \{\
++.             nr aP \\n(aP+1
++.             ds L\\n(lC hL
++.             nr w\\n(lC 6n
++.             nr tC  1
++.     \}
++.     if "\\$1"-tag" \{\
++.             nr aP \\n(aP+1
++.             ds L\\n(lC tL
++.             nr tC  1
++.     \}
++.     if "\\$1"-item" \{\
++.             nr aP \\n(aP+1
++.             ds L\\n(lC iT
++.             nr tC  1
++.     \}
++.     if "\\$1"-enum" \{\
++.             nr aP \\n(aP+1
++.             ds L\\n(lC nU
++.             nr w\\n(lC 3n
++.             nr tC  1
++.     \}
++.     if "\\$1"-bullet" \{\
++.             nr aP \\n(aP+1
++.             ds L\\n(lC bU
++.             nr w\\n(lC 2n
++.             nr tC  1
++.     \}
++.     if "\\$1"-dash" \{\
++.             nr aP \\n(aP+1
++.             ds L\\n(lC hU
++.             nr w\\n(lC 2n
++.             nr tC  1
++.     \}
++.     if "\\$1"-hyphen" \{\
++.             nr aP \\n(aP+1
++.             ds L\\n(lC hU
++.             nr w\\n(lC 2n
++.             nr tC  1
++.     \}
++.     if "\\$1"-inset" \{\
++.             nr aP \\n(aP+1
++.             ds L\\n(lC lL
++.             nr tC  1
++.     \}
++.     if "\\$1"-diag" \{\
++.             nr aP \\n(aP+1
++.             ds L\\n(lC mL
++.             nr mL 1
++.     \}
++.     if "\\$1"-ohang" \{\
++.             nr aP \\n(aP+1
++.             ds L\\n(lC oL
++.             nr tC 1
++.     \}
++.     if "\\$1"-column" \{\
++.             nr aP \\n(aP+1
++.             ds L\\n(lC cL
++.     \}
++.     ie \\n(aP==0 \{\
++.     tm \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     tm Usage: .Bl [[-inset|-tag] -width] [-item|-enum|-bullet|-diag] (#\\n(.c)
++.     \}
++.     el \{\
++.             tY
++.             if (\\n(aP==1)&(\\n(aP<\\n(.$) \{\
++.                     nr aP 0
++.                     lV
++.                     if "\\*(L\\n(lC"cL" \{\
++.                             W\\n(wV
++.                             nr w\\n(lC 0
++'                             in -\\n(eWu
++.                             ie \\n(v\\n(lC==1 \{\
++.                                    nr aa 0
++.                             \}
++.                             el \{\
++.                                     sp \\n(dVu
++.                             \}
++.                             nf
++.                             nr wV 0
++.                     \}
++.             \}
++.     \}
++.     nr aP 0
++.\" . ds b1
++.     aY
++.\" .tm Here is L[\\n(lC]==\\*(L\\n(lC
++.\}
++..
++.if \n(.g \{\
++.     nr i 10
++.     while \ni<100 \{\
++.          nr num!\nin 1
++.          nr i +1
++.     \}
++.\}
++.\" NS lV macro - resolve remaining .Bl arguments
++.de lV
++.nr aP \\n(aP+1
++.if \\n(fV>=\\n(aP \{\
++.     nr iD 0
++.     if "\\*(A\\n(aP"-compact" \{\
++.             nr iD 1
++.             nr v\\n(lC 1
++.     \}
++.     if "\\*(A\\n(aP"-width" \{\
++.             nr iD 1
++.             nr aP \\n(aP+1
++.             nr tW 1
++.             ds t\\n(lC TagwidtH
++.             ds tS \\*(A\\n(aP
++.             aW \\n(aP
++.             ie \\n(sW>2 \{\
++.                     nr w\\n(lC (\\n(sW)*\\n(fWu
++.                     if \\n(sW==3 \{\
++.                             ie \\n(.g \{\
++.                                     if \A'\\*(tS' .if r num!\\*(tS \{\
++.                                             nr w\\n(lC \\*(tS
++.                                     \}
++.                             \}
++.                             el \{\
++.                                     if (\\*(tS>9n)&(\\*(tS<99n) \{\
++.                                             nr w\\n(lC \\*(tSu
++.                                     \}
++.                             \}
++.                     \}
++.             \}
++.             el \{\
++.                     aT \\*(tS
++.                     ie \\n(aT==1 \{\
++.                             nr w\\n(lC \\n(\\*(tS
++.                     \}
++.                     el \{\
++.                             nr w\\n(lC \\*(tSu
++.                     \}
++.             \}
++.     \}
++.     if "\\*(A\\n(aP"-offset" \{\
++.             nr iD 1
++.             nr aP \\n(aP+1
++.             ie "\\*(A\\n(aP"indent" \{\
++.                     nr o\\n(lC \\n(Dsu
++.             \}
++.             el \{\
++.                     ds tS \\*(A\\n(aP
++.                     aW \\n(aP
++.                     ie \\n(sW>2 \{\
++.                             nr o\\n(lC (\\n(sW)*\\n(fWu
++.                             ie \\n(.g \{\
++.                                     if \A'\\*(tS' .if r num!\\*(tS \{\
++.                                             nr o\\n(lC \\*(tS
++.                                     \}
++.                             \}
++.                             el \{\
++.                                     if (\\*(tS>9n)&(\\*(tS<100n) \{\
++.                                             nr o\\n(lC \\*(tS
++.                                     \}
++.                             \}
++.                     \}
++.                     el \{\
++.                             ie \\n(C\\n(aP==1 .nr o\\n(lC \\n(\\*(tS
++.                             el .nr o\\n(lC \\*(tS
++.                     \}
++.             \}
++.     \}
++.     if \\n(iD==0 \{\
++.             if "\\*(L\\n(lC"cL" \{\
++.                     nr wV \\n(wV+1
++.                     ds A\\n(wV \\*(A\\n(aP
++.             \}
++.     \}
++.     if \\n(fV>\\n(aP .lV
++.\}
++..
++.\" NS El macro - end list
++.\" NS iD local register
++.de El
++.ie \\n(.$>0 \{\
++.     tm Usage: .El (#\\n(.c)
++.\}
++.el \{\
++.     ds mN El
++.     nr iD 0
++.     if "\\*(L\\n(lC"cL" \{\
++.             nr iD 1
++.             cC
++.     \}
++.     if "\\*(L\\n(lC"nU" \{\
++.             nr nU 0
++.     \}
++.     if \\n(mL>0 \{\
++.             nr iD 1
++.             nr mL 0
++.             tZ
++.             nr lC \\n(lC-1
++.             tY
++.     \}
++.     if "\\*(L\\n(lC"iT" \{\
++'             in \\n(.iu-\\n(o\\n(lCu
++.             tZ
++.             nr lC \\n(lC-1
++.             tY
++.             nr iD 1
++.     \}
++.     if "\\*(L\\n(lC"oL" \{\
++'             in \\n(.iu-\\n(o\\n(lCu
++.             tZ
++.             nr lC \\n(lC-1
++.             tY
++.             nr iD 1
++.     \}
++.     if "\\*(L\\n(lC"lL" \{\
++'             in \\n(.iu-\\n(o\\n(lCu
++.             tZ
++.             nr lC \\n(lC-1
++.             tY
++.             nr iD 1
++.     \}
++.     if \\n(iD==0 \{\
++.             lE
++.     \}
++.     br
++.     nr iD 0
++.\}
++..
++.\" NS It macro - list item
++.\" NS iD local register
++.\" NS aA save pA font string for section FILES (no underline if nroff)
++.de It
++.if "\\*(L\\n(lC"" \{\
++.     tm Usage .Bl -list-type [-width [string] | -compact | -offset [string]] (#\\n(.c)
++.     tm .It \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
++.\}
++.\" .tm Here is L[\\n(lC]==\\*(L\\n(lC
++.ne 3v
++.ie \\n(.$>0 \{\
++.     ds mN It
++.     ds b1
++.     nr iD 0
++.     ds A1 \\$1
++.     ds A2 \\$2
++.     ds A3 \\$3
++.     ds A4 \\$4
++.     ds A5 \\$5
++.     ds A6 \\$6
++.     ds A7 \\$7
++.     ds A8 \\$8
++.     ds A9 \\$9
++.     nr fV \\n(.$
++.     if "\\*(L\\n(lC"mL" \{\
++.             nr iD 1
++.             nr aP 0
++.             aX
++.             \\*(L\\n(lC
++.     \}
++.     if "\\*(L\\n(lC"cL" \{\
++.             ds b1
++.             nr aP 0
++.             nr iD 1
++.             \\*(L\\n(lC
++.     \}
++.     if "\\*(L\\n(lC"iT" \{\
++.             nr aP 0
++.             nr iD 1
++.             \\*(L\\n(lC
++.     \}
++.     if \\n(iD==0 \{\
++.             fV
++.\" tm ------------------------------------------------------------------------
++.\" tm It list-type==\\*(L\\n(lC, aP==\\n(aP
++.\" tm It beg arg(A[1])==\\*(A1; oM==\\n(oM; dZ==\\n(dZ; Xt==\\n(Xt; aC==\\n(aC
++.             nr oM \\n(oM+1
++.             nr tP 1
++.             nr aP \\n(aP+1
++.             nr tX \\n(C\\n(aP
++.             ds tX \\*(A\\n(aP
++.             if \\n(nF==1 \{\
++.                     ds aA \\*(pA
++.                     if n .ds pA \\*(nO
++.             \}
++.             ie \\n(C\\n(aP==1 \{\
++.                     \\*(A\\n(aP
++.             \}
++.             el \{\
++.                     nr aP \\n(aP-1
++.                     No
++.             \}
++.\" tm in It here is b1==\\*(b1
++.\" tm It mid arg(A[1])==\\*(A1; oM==\\n(oM; dZ==\\n(dZ; Xt==\\n(Xt; aC==\\n(aC
++.             ie \\n(Xt==1 .ds xB \&\\*(L\\n(lC
++.             el .\\*(L\\n(lC
++.     \}
++.     nr iD 0
++.\}
++.el .\\*(L\\n(lC
++..
++.\" NS lL macro - .It item of list-type inset
++.de lL
++.lY
++.br
++\&\\*(b1
++.nr oM \\n(oM-1
++.nr tP 0
++.ds b1
++.aY
++'fi
++..
++.\" NS hL macro - .It item of list-type hanging label (as opposed to tagged)
++.de hL
++.lX
++.nr bb \\n(w\\n(lCu+\\n(lSu
++.ti -\\n(bbu
++.ie \w\a\\*(b1\au>=(\\n(w\\n(lCu) \&\\*(b1
++.el \&\\*(b1\h'|\\n(bbu'\c
++.nr oM \\n(oM-1
++.ds b1
++.nr tP 0
++.aY
++'fi
++..
++.\" NS oL macro - .It item of list-type overhanging label
++.de oL
++.lY
++\&\\*(b1
++.br
++.nr oM \\n(oM-1
++.ds b1
++.nr tP 0
++.aY
++'fi
++..
++.\" NS iT macro - .It item of list-type [empty label]
++.de iT
++.lY
++.br
++.\" .ds b1
++.aY
++'fi
++..
++.\" NS nU macro - Enumerated list
++.\" NS nU register count
++.\" NS hU macro - Hyphen paragraph list (sub bullet list)
++.\" NS bU macro - Bullet paragraph list
++.de nU
++.nr oM \\n(oM+1
++.nr nU \\n(nU+1
++.ds b1 \&\\n(nU.
++.uL
++..
++.de bU
++.nr oM \\n(oM+1
++.nr bU \\n(bU+1
++.ds b1 \&\\*(sY\&\(bu\fP
++.uL
++..
++.de hU
++.nr oM \\n(oM+1
++.nr bU \\n(bU+1
++.ds b1 \&\\*(sY\&\-\fP
++.uL
++..
++.\" NS uL macro - .It item of list-type enum/bullet/hyphen
++.de uL
++.lX
++.nr bb \\n(w\\n(lCu+\\n(lSu
++.ti -\\n(bbu
++.ie \w\a\\*(b1\au>=(\\n(w\\n(lCu) \&\\*(b1
++.el \&\\*(b1\h'|\\n(bbu'\c
++.nr oM \\n(oM-1
++.\" .nr dZ \\n(dZ+1
++.ds b1
++.nr tP 0
++.aY
++'fi
++..
++.\" NS mL macro - .It item of list-type diagnostic-message
++.de mL
++.nr cF \\n(.f
++.nr cZ \\n(.s
++.ie \\n(mL==1 \{\
++.     nr zB \\n(.c
++.     ie (\\n(zB-\\n(zA)>1 .Pp
++.     el .br
++.     nr zA \\n(zB
++.     nr zB 0
++.\}
++.el \{\
++.     nr zA \\n(.c
++.     br
++.\}
++\&\\*(sY\\*(b1\f\\n(cF\s\\n(cZ\\*(lS\c
++.aY
++.ds b1
++'fi
++..
++.\" NS tL macro - .It item of list-type "tag"
++.de tL
++.\" tm in tL here is b1==\\*(b1
++.if \\n(tW==0 .lW
++.lX
++.nr bb \\n(w\\n(lCu+\\n(lSu
++.ti -\\n(bbu
++.ie (\w\a\\*(b1\au)>(\\n(w\\n(lCu) \{\&\\*(b1
++.       br
++.\}
++.el \&\\*(b1\h'|\\n(bbu'\c
++.if \\n(nF==1 \{\
++.     if n .ds pA \\*(aA
++.\}
++.nr oM \\n(oM-1
++.nr tP 0
++.\" .nr dZ \\n(dZ+1
++.ds b1
++.aY
++'fi
++..
++.\" NS lW macro - resolve unknown label/tag width (if .Bl [inset | tag] only)
++.de lW
++.if !"TagwidtH"\\*(t\\n(lC" \{\
++.       ie \\n(tX==1 \{\
++.               ds t\\n(lN \\*(tX
++.               nr w\\n(lN \\n(\\*(tX
++.       \}
++.       el \{\
++.               ds t\\n(lN No
++.               nr w\\n(lN \\n(No
++.       \}
++.       if !"\\*(t\\n(lC"\\*(t\\n(lN" .nr tC 1
++.\}
++..
++.\" NS lX macro - set up vertical spacing (if compact) and offset+indent (all)
++.de lX
++.ie \\n(tC \{\
++.       nr tC 0
++.       nr tW 0
++.       if \\n(v\\n(lC==0 .sp \\n(dVu
++.       in \\n(.iu+\\n(w\\n(lCu+\\n(o\\n(lCu+\\n(lSu
++.\}
++.el \{\
++.     ie \\n(v\\n(lC==1 \{\
++.            nr aa 0
++.     \}
++.     el \{\
++.             sp \\n(dVu
++.     \}
++.\}
++.if !\\n(cR .ne 2v
++..
++.\" NS lY macro - set up vertical spacing (if compact) and offset+indent (all)
++.de lY
++.ie \\n(tC \{\
++.       nr tC 0
++.       nr tW 0
++.       if \\n(v\\n(lC==0 .sp \\n(dVu
++.       in \\n(.iu+\\n(o\\n(lCu
++.\}
++.el \{\
++.     ie \\n(v\\n(lC==1 \{\
++.            nr aa 0
++.     \}
++.     el \{\
++.             sp \\n(dVu
++.     \}
++.\}
++.if !\\n(cR .ne 2v
++..
++.\" NS tS temporary string
++.\" NS hL macro - hanging list function
++.\" NS tS temporary string
++.\" NS hL macro - hanging list function
++.\" NS lT macro - tagged list function
++.\" NS lE macro - list end function
++.\" NS tX string (initial string)
++.\" NS tX register (initial class)
++.\" NS tC parameter change flag
++.\" NS Xt save current list-type flag
++.\" NS lC register - list type stack counter
++.\" NS tP register tag flag (for diversions)
++.\" NS w[0-9] register tag stack (nested tags)
++.\" NS t[0-9] register tag string stack (nested tags)
++.\" NS o[0-9] register offset stack (nested tags)
++.\" NS v[0-9] register vertical tag break stack
++.\" NS h[0-9] register horizontal tag stack (continuous if 1, break if 0)
++.nr lC 0
++.nr wV 0
++.nr w1 0
++.nr o1 0
++.nr v1 0
++.nr h1 0
++.ds t\n(lC
++.de lE
++.\" IN lC o[\\n(lC]==\\n(o\\n(lC, w[\\n(lC]==\\n(w\\n(lC,
++.ie \\n(o\\n(lC>0 \{\
++'     in \\n(.iu-(\\n(w\\n(lCu)-(\\n(o\\n(lCu)-\\n(lSu
++.     rr o\\n(lC
++.\}
++.el 'in \\n(.iu-\\n(w\\n(lCu-\\n(lSu
++.if \\n(lC<=0 .tm Extraneous .El call (#\\n(.c)
++.tZ
++.nr lC \\n(lC-1
++.tY
++..
++.\" NS tY macro - set up next block for list
++.\" NS tZ macro - decrement stack
++.\" NS tY register (next possible lC value)
++.de tY
++.nr tY (\\n(lC+1)
++.nr w\\n(tY 0
++.nr h\\n(tY 0
++.nr o\\n(tY 0
++.ds t\\n(tY \\*(t\\n(lC
++.ds L\\n(tY
++.nr v\\n(tY 0
++..
++.de tZ
++.rm L\\n(tY
++.rr w\\n(tY
++.rr h\\n(tY
++.rr o\\n(tY
++.rm t\\n(tY
++.rr v\\n(tY
++.nr tY \\n(tY-1
++..
++.\" initial values
++.nr w1 0
++.nr o1 0
++.nr h1 0
++.ds t1
++.nr v1 0
++.nr tY 1
++.\" NS Xr macro - cross reference (man page only)
++.de Xr
++.if \\n(aC==0 \{\
++.     ie \\n(.$==0 .tm Usage: .Xr manpage_name [section#] \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Xr
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.     ie \\n(C\\n(aP==1 .tm Usage: .Xr manpage_name [section#] \\*(Pu (#\\n(.c)
++.     el \{\
++.             ie \\n(C\\n(aP>2 .y\\n(C\\n(aP
++.             el \{\
++.                     as b1 \&\\*(xR\\*(A\\n(aP\fP\s0
++.                     if \\n(aC>\\n(aP \{\
++.                             nr aP \\n(aP+1
++.                             if \\n(C\\n(aP==2 \{\
++.                                     as b1 \&(\\*(A\\n(aP)
++.                                     nr aP \\n(aP+1
++.                             \}
++.                             if \\n(aC>=\\n(aP \{\
++.                                     c\\n(C\\n(aP
++.                             \}
++.                     \}
++.             \}
++.             aZ
++.       \}
++.\}
++..
++.\" NS Sx macro - cross section reference
++.de Sx
++.if \\n(aC==0 \{\
++.     ie \\n(.$==0 .tm Sx Usage: .Sx Section Header \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Sx
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.     as b1 \\*(sX
++.     nr cF \\n(.f
++.     nr cZ \\n(.s
++.     nR
++.\}
++..
++.\" NS cC macro - column-list end-list
++.\" NS eW macro - column indent width
++.\" NS cI register - column indent width
++.\" NS W[1-5] macro - establish tabs for list-type column
++.de cC
++'in \\n(.iu-\\n(o\\n(lCu-\\n(w\\n(lCu
++.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
++.fi
++.tZ
++.nr lC \\n(lC-1
++.tY
++..
++.de W1
++.ta \w\a\\*(A1    \au
++.nr eW \w\a\\*(A1    \au
++'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
++..
++.de W2
++.ta \w\a\\*(A1    \au +\w\a\\*(A2    \au
++.nr eW \w\a\\*(A1    \au+\w\a\\*(A2    \au
++'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
++..
++.de W3
++.ta \w\a\\*(A1    \au +\w\a\\*(A2    \au +\w\a\\*(A3    \au
++.nr eW \w\a\\*(A1    \au+\w\a\\*(A2    \au+\w\a\\*(A3    \au
++'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
++..
++.de W4
++.ta \w\a\\*(A1    \au +\w\a\\*(A2    \au +\w\a\\*(A3    \au +\w\a\\*(A4    \au
++.nr eW \w\a\\*(A1    \au+\w\a\\*(A2    \au +\w\a\\*(A3    \au +\w\a\\*(A4    \au
++'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
++..
++.de W5
++.ta \w\a\\*(A1   \au +\w\a\\*(A2   \au +\w\a\\*(A3   \au +\w\a\\*(A4   \au +\w\a\\*(A5   \au
++.nr eW \w\a\\*(A1   \au +\w\a\\*(A2   \au +\w\a\\*(A3   \au +\w\a\\*(A4   \au +\w\a\\*(A5   \au
++'     in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
++..
++.\" This is packed abnormally close, intercol width should be an option
++.de W6
++.ta \w\a\\*(A1 \au +\w\a\\*(A2 \au +\w\a\\*(A3 \au +\w\a\\*(A4 \au +\w\a\\*(A5 \au +\w\a\\*(A6
++.nr eW \w\a\\*(A1 \au +\w\a\\*(A2 \au +\w\a\\*(A3 \au +\w\a\\*(A4 \au +\w\a\\*(A5 \au +\w\a\\*(A6
++'     in \\n(.iu+\\n(eWu+\\n(o\\n(lCu
++..
++.\" NS cL macro - column items
++.de cL
++.if \\n(w\\n(lC==0 .nr w\\n(lC \\n(eWu
++.if \\n(.u==0 \{\
++.     fi
++'     in \\n(.iu+\\n(eWu
++.\}
++.ti -\\n(eWu
++.fV
++.nr aP \\n(aP+1
++.ie \\n(aC>=\\n(aP  \{\
++.     if "\\*(A\\n(aP"Ta" \{\
++.             nr jJ \\n(aP-1
++.             rm S\\n(jJ
++.             rr jJ
++.     \}
++.     c\\n(C\\n(aP
++.\}
++.el .tm Usage: .It column_string [Ta [column_string ...] ] (#\\n(.c)
++..
++.\" NS Ta macro - append tab (\t)
++.de Ta
++.ie \\n(aC>0 \{\
++.     nr aP \\n(aP+1
++.     ie \\n(aC>=\\n(aP \{\
++.             if "\\*(A\\n(aP"Ta" \{\
++.                     nr jJ \\n(aP-1
++.                     rm S\\n(jJ
++.                     rr jJ
++.             \}
++.             as b1 \\t
++.             c\\n(C\\n(aP
++.     \}
++.     el \{\
++.             as b1 \\t\\c
++.             rm S\\n(aP
++.             pB
++.             aY
++.\" .         ds b1
++.     \}
++.\}
++.el \{\
++.     tm Usage: Ta must follow column entry: e.g. (#\\n(.c)
++.     tm .It column_string [Ta [column_string ...] ]
++.\}
++..
++.\"
++.\" NS Dl macro - display (one line) literal
++.de Dl
++'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
++.in \\n(.iu+\\n(Dsu
++.ie \\n(aC==0 \{\
++.     ie \\n(.$==0 \{\
++.             tm Usage: .Dl argument ... (#\\n(.c)
++.     \}
++.     el \{\
++.             ds mN Dl
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.             Li
++.     \}
++.\}
++.el \{\
++.     tm Usage: .Dl not callable by other macros (#\\n(.c)
++.\}
++.in \\n(.iu-\\n(Dsu
++..
++.\"
++.\" NS D1 macro - display (one line)
++.de D1
++'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
++.in \\n(.iu+\\n(Dsu
++.ie \\n(aC==0 \{\
++.     ie \\n(.$==0 \{\
++.             tm Usage: .D1 argument ... (#\\n(.c)
++.     \}
++.     el \{\
++.             ds mN D1
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.             nr aP \\n(aP+1
++.             ie \\n(C\\n(aP==1 .\\*(A\\n(aP
++.             el .No
++.     \}
++.\}
++.el \{\
++.     tm Usage: .D1 not callable by other macros (#\\n(.c)
++.\}
++.in \\n(.iu-\\n(Dsu
++..
++.\" NS Ex macro - DEFUNCT
++.de Ex
++.tm Ex defunct, Use .D1: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\"
++.\" NS Ex macro - DEFUNCT
++.de Ex
++.tm Ex defunct, Use .D1: \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++..
++.\"
++.\" NS Vt macro - Variable type (for forcing old style variable declarations)
++.\" this is not done in the same manner as .Ot for fortrash - clean up later
++.de Vt
++.\" if a function declaration was the last thing given, want vertical space
++.if \\n(fD>0 \{\
++.     Pp
++.     nr fD 0
++.\}
++.\"   if a subroutine was the last thing given, want vertical space
++.if \\n(fZ>0 \{\
++.     ie \\n(fX==0 \{\
++.             Pp
++.             rs
++.     \}
++.     el .br
++.\}
++.nr fX \\n(fX+1
++.nr cF \\n(.f
++.nr cZ \\n(.s
++\\*(fT\&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.ie \\n(oT==0 .br
++.el \&\ \&
++.ft \\n(cF
++.fs \\n(cZ
++..
++.\"
++.\" NS Ft macro - Function type
++.nr fZ 0
++.de Ft
++.if \\n(nS>0 \{\
++.     if \\n(fZ>0 \{\
++.             Pp
++.             nr fD 0
++.             nr fX 0
++.     \}
++.     if \\n(fD>0 \{\
++.             Pp
++.             nr fD 0
++.             nr fX 0
++.     \}
++.     if \\n(fX>0 \{\
++.             Pp
++.             nr fX 0
++.     \}
++.     nr fY 1
++.\}
++.nr cF \\n(.f
++.nr cZ \\n(.s
++\&\\*(fT\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.ft \\n(cF
++.fs \\n(cZ
++.\" .br
++..
++.\"
++.\" NS Ot macro - Old Function type (fortran - no newline)
++.\" Ns oT register
++.nr oT 0
++.de Ot
++.nr oT 1
++.if \\n(nS>0 \{\
++.     if \\n(fZ>0 \{\
++.             Pp
++.             nr fD 0
++.             nr fX 0
++.     \}
++.     if \\n(fD>0 \{\
++.             Pp
++.             nr fD 0
++.             nr fX 0
++.     \}
++.     if \\n(fX>0 \{\
++.             Pp
++.             nr fX 0
++.     \}
++.     nr fY 1
++.\}
++.if \\n(.$==4 .as b1 \&\\*(fT\&\\$1 \\$2 \\$3 \\$4
++.if \\n(.$==3 .as b1 \&\\*(fT\&\\$1 \\$2 \\$3
++.if \\n(.$==2 .as b1 \&\\*(fT\&\\$1 \\$2
++.if \\n(.$==1 .as b1 \&\\*(fT\&\\$1
++.as b1 \&\ \fP
++..
++.\"
++.\" NS Fa macro - Function arguments
++.de Fa
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .Fa Function Arguments ... \\*(Pu (#\\n(.c)
++.       el \{\
++.             ds mN Fa
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.ie \\n(fC>0 \{\
++.     fC
++.\}
++.el \{\
++.     if \\n(aC>\\n(aP \{\
++.             as b1 \\*(fA
++.             nr aP \\n(aP+1
++.             nr cF \\n(.f
++.             nr cZ \\n(.s
++.             nR
++.             if \\n(nS>0 \{\
++.                     if \\n(fZ>0 .br
++.             \}
++.     \}
++.\}
++..
++.\" NS fC macro - interal .Fa for .FO and .Fc
++.de fC
++.ie \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.\" . nr aa \\n(aP
++.\" . if \\n(nS>0 \{\
++.             ds Fb
++.             nr fB 0
++.             nr Fb 0
++.             fB \\*(A\\n(aP
++.             if \\n(fB>1 \{\
++.                     rm A\\n(aP
++.                     rn Fb A\\n(aP
++.             \}
++.\" . \}
++.     if \\n(fC>1 \{\
++.             as b1 \&\f\\n(cF\s\\n(cZ,\\*(S\\n(aP\\*(fA\\*(A\\n(aP\fP\s0
++.\" .         as b1 \&\\,\\*(S\\n(aP\fP\s0\\*(fA\\*(A\\n(aP\fP\s0
++.     \}
++.     if \\n(fC==1 \{\
++.             as b1 \&\|\\*(fA\\*(A\\n(aP\fP\s0
++.     \}
++.     nr fC \\n(fC+1
++.     fC
++.\}
++.el  \{\
++.     aY
++.\}
++..
++.\" NS Fn macro - functions
++.\" NS fY register - dick with old style function declarations (fortran)
++.\" NS fZ register - break a line when more than one function in a synopsis
++.\"
++.de Fn
++.if \\n(aC==0 \{\
++.     ie \\n(.$==0 .tm Usage: .Fn function_name function_arg(s) ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN Fn
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(nS>0 \{\
++.\" if there is/has been more than one subroutine declaration
++.     if \\n(fY==0 \{\
++.             if \\n(fZ>0 \{\
++.                     Pp
++.                     nr fX 0
++.                     nr fD 0
++.             \}
++.     \}
++.     if \\n(fY==1 \{\
++.             br
++.             nr fX 0
++.             nr fD 0
++.             nr fY 0
++.     \}
++.     if \\n(fD>0 \{\
++.             Pp
++.             nr fX 0
++.     \}
++.     if \\n(fX>0 \{\
++.             Pp
++.             nr fD 0
++.     \}
++.     nr fZ \\n(fZ+1
++.     nr fY 0
++.     rs
++.     ie \\n(nS>1 .br
++.     el \{\
++.             if \\n(iS==0 \{\
++.                     nr iS ((8)*\\n(fW)u
++.             \}
++.     \}
++.     in +\\n(iSu
++.     ti -\\n(iSu
++.     nr nS \\n(nS+1
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.     nr cF \\n(.f
++.     nr cZ \\n(.s
++.     as b1 \\*(fN\\*(A\\n(aP\fP\s0\\*(lp
++.     ie \\n(aC>\\n(aP \{\
++.             as b1 \\*(fA
++.             nr aP \\n(aP+1
++.             f\\n(C\\n(aP
++.     \}
++.     el \{\
++.             as b1 \|\\*(rp
++.             aZ
++.     \}
++.     if \\n(nS>0 \{\
++.             in -\\n(iSu
++.     \}
++.\}
++..
++.\"
++.\" NS f1 macro - class switch
++.\" NS f2 macro - handle function arguments
++.\" NS f3 macro - punctuation
++.\" NS f4 macro - write out function
++.de f1
++.as b1 \\*(rp\f\\n(cF\s\\n(cZ
++.\\*(A\\n(aP
++..
++.de f2
++.if \\n(nS>0 \{\
++.     ds Fb
++.     nr fB 0
++.     nr Fb 0
++.     fB \\*(A\\n(aP
++.     if \\n(fB>1 \{\
++.             rm A\\n(aP
++.             rn Fb A\\n(aP
++.     \}
++.\}
++.as b1 \\*(A\\n(aP
++.ie \\n(aC>\\n(aP \{\
++.     nr aa \\n(aP
++.     nr aP \\n(aP+1
++.     if \\n(C\\n(aP==2 \{\
++.             as b1 \&\|\f\\n(cF\s\\n(cZ,\\*(S\\n(aa\fP\s0\|
++.     \}
++.     f\\n(C\\n(aP
++.\}
++.el  \{\
++.     as b1 \\*(rp\f\\n(cF\s\\n(cZ
++.     aZ
++.\}
++..
++.de f3
++.as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*(A\\n(aP
++.ie \\n(aC>\\n(aP \{\
++.     No
++.\}
++.el .aZ
++..
++.de f4
++.as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*(S\\n(aP\\*(A\\n(aP
++.ie \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.     No
++.\}
++.el .aZ
++..
++.de Fo
++.hy 0
++.if \\n(aC==0 \{\
++.     ie \\n(.$==0 .tm Usage: .Fo function_name
++.     el \{\
++.             ds mN Fo
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(nS>0 \{\
++.\" if there is/has been more than one subroutine declaration
++.     if \\n(fY==0 \{\
++.             if \\n(fZ>0 \{\
++.                     Pp
++.                     nr fX 0
++.                     nr fD 0
++.             \}
++.     \}
++.     if \\n(fY==1 \{\
++.             br
++.             nr fX 0
++.             nr fD 0
++.             nr fY 0
++.     \}
++.     if \\n(fD>0 \{\
++.             Pp
++.             nr fX 0
++.     \}
++.     if \\n(fX>0 \{\
++.             Pp
++.             nr fD 0
++.     \}
++.     nr fZ \\n(fZ+1
++.     nr fY 0
++.     rs
++.     ie \\n(nS>1 .br
++.     el \{\
++.             if \\n(iS==0 \{\
++.                     nr iS ((8)*\\n(fW)u
++.             \}
++.     \}
++.     in +\\n(iSu
++.     ti -\\n(iSu
++.     nr nS \\n(nS+1
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr oM \\n(oM+1
++.     nr fC 1
++.     nr aP \\n(aP+1
++.     nr cF \\n(.f
++.     nr cZ \\n(.s
++.     as b1 \\*(fN\\*(A\\n(aP\fP\s0\\*(lp
++.     aY
++.\}
++..
++.de Fc
++.if \\n(aC==0 \{\
++.     if \\n(.$>0 \{\
++.             ds mN Fo
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.nr fC 0
++.nr oM \\n(oM-1
++.as b1 \|\\*(rp
++.ie \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.     \\*(A\\n(aP
++.\}
++.el \{\
++.     aZ
++.\}
++.if \\n(nS>0 \{\
++.     in -\\n(iSu
++.\}
++.hy
++..
++.\" NS fb macro - if SYNOPSIS, set hard space inbetween function args
++.\" NS fb register - count of words in a function argument
++.\" NS Fb register - counter
++.\" NS Fb string - temporary string
++.de fB
++.\" .tm fB==\\n(fB, Fb==\\n(Fb, 1==\\$1 2==\\$2 3==\\$3 4==\\$4 5==\\$5 6==\\$6
++.if \\n(fB==0 \{\
++.     nr fB \\n(.$
++.     nr Fb 0
++.     ds Fb
++.\}
++.nr Fb \\n(Fb+1
++.as Fb \&\\$1
++.if \\n(Fb<\\n(fB \{\
++.     as Fb \&\\*(hV
++.     fB \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.\}
++..
++.\" NS Fc - Function close - not implemented yet
++.\" NS Fo - Function open - not implemented yet
++.\"
++.\" Very crude references, stash all reference info into strings (usual
++.\" use of b1 buffer, then b1 contents copied to string of retrievable
++.\" naming convention), print out reference on .Re request and clean up.
++.\" Ordering very limited, no fancy citations, but can do articles, journals
++.\" and books - need to add several missing options (like city etc).
++.\" should be able to grab a refer entry, massage it a wee bit (prefix
++.\" a `.' to the %[A-Z]) and not worry (ha!)
++.\"
++.\" NS Rs macro - Reference Start
++.\" NS rS register - Reference Start flag
++.\" NS rS string - Reference Start buffer name for next save (of b1 buffer)
++.de Rs
++.nr rS 1
++.rC
++.if \\n(nA==1 .Pp
++.nr Kl 0
++..
++.\" NS Re macro - Reference End
++.de Re
++.rZ
++.rC
++.nr rS 0
++..
++.\" NS rC macro - reference cleanup
++.de rC
++.nr uK 0
++.nr jK 0
++.nr nK 0
++.nr oK 0
++.nr qK 0
++.nr rK 0
++.nr tK 0
++.nr vK 0
++.nr dK 0
++.nr pK 0
++.nr bK 0
++.ds rS
++.rm U1 U2 U3 U4 U5 U6 U7 U8
++.rm uK jK nK oK rK qK tK vK dK pK bK
++..
++.\" NS rZ macro - reference print
++.de rZ
++.if \\n(uK \{\&\\*(U1,
++.     nr aK 1
++.     if (\\n(uK>1 \{\
++.             aK
++.     \}
++.     nr Kl -\\n(uK
++.\}
++.if \\n(tK \{\
++.     nr Kl \\n(Kl-1
++.     if \\n(Kl==0 \{\
++.             ie (\\n(jK==1):(\\n(bK==1) \{\&\\*q\\*(tK\\*q.
++.             \}
++.             el \{\&\\*(eM\\*(tK\\*(nO.
++.             \}
++.     \}
++.     if \\n(Kl>0 \{\
++.             ie (\\n(jK==1):(\\n(bK==1) \{\&\\*q\\*(tK\\*q,
++.             \}
++.             el \{\&\\*(eM\\*(tK\\*(nO,
++.             \}
++.     \}
++.\}
++.if \\n(bK \{\
++.     nr Kl \\n(Kl-1
++.     if \\n(Kl==0 \&\\*(eM\\*(bK\\*(nO.
++.     if \\n(Kl>0 \&\\*(eM\\*(bK\\*(nO,
++.\}
++.if \\n(jK \{\
++.     nr Kl \\n(Kl-1
++.     if \\n(Kl==0 \&\\*(eM\\*(jK\\*(nO.
++.     if \\n(Kl>0 \&\\*(eM\\*(jK\\*(nO,
++.\}
++.if \\n(rK \{\
++.     nr Kl \\n(Kl-1
++.     if \\n(Kl==0 \&\\*(rK.
++.     if \\n(Kl>0 \&\\*(rK,
++.\}
++.if \\n(nK \{\
++.     nr Kl \\n(Kl-1
++.     if \\n(Kl==0 \&\\*(nK.
++.     if \\n(Kl>0 \&\\*(nK,
++.\}
++.if \\n(vK \{\
++.     nr Kl \\n(Kl-1
++.     if \\n(Kl==0 \&\\*(vK.
++.     if \\n(Kl>0 \&\\*(vK,
++.\}
++.if \\n(pK \{\
++.     nr Kl \\n(Kl-1
++.     if \\n(Kl==0 \&\\*(pK.
++.     if \\n(Kl>0 \&\\*(pK,
++.\}
++.if \\n(qK \{\
++.     nr Kl \\n(Kl-1
++.     if \\n(Kl==0 \&\\*(qK.
++.     if \\n(Kl>0 \&\\*(qK,
++.\}
++.if \\n(dK \{\
++.     nr Kl \\n(Kl-1
++.     if \\n(Kl==0 \&\\*(dK.
++.     if \\n(Kl>0 \&\\*(dK,
++.\}
++.if \\n(oK \{\
++.     nr Kl \\n(Kl-1
++.     if \\n(Kl==0 \&\\*(oK.
++.     if \\n(Kl>0 \&\\*(oK,
++.\}
++.if \\n(Kl>0 .tm unresolved reference problem
++..
++.\" NS aK macro - print out reference authors
++.de aK
++.nr aK \\n(aK+1
++.ie (\\n(uK-\\n(aK)==0 \{\&and \\*(U\\n(aK,
++.\}
++.el \{\&\\*(U\\n(aK,
++.     aK
++.\}
++..
++.\" NS %A macro - reference author(s)
++.\" NS uK register - reference author(s) counter
++.\" NS U[1-9] strings - reference author(s) names
++.de %A
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .%A Author_name (#\\n(.c)
++.     el \{\
++.             nr uK \\n(uK+1
++.             nr Kl \\n(Kl+1
++.             ds rS U\\n(uK
++.             ds mN %A
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       rR
++.\}
++..
++.\" NS %B macro - [reference] Book Name
++.\" NS bK string - Book Name
++.\" NS bK register - Book Name flag
++.de %B
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .%B Book Name (#\\n(.c)
++.       el \{\
++.             ds mN %B
++.             if \\n(rS>0 \{\
++.                     nr bK \\n(bK+1
++.                     nr Kl \\n(Kl+1
++.                     ds rS bK
++.             \}
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.     ie \\n(rS==0 \{\
++.             as b1 \&\\*(eM
++.             nR
++.     \}
++.     el .rR
++.\}
++..
++.\" NS %D macro - [reference] Date
++.\" NS dK string - Date String
++.\" NS dK register - Date flag
++.de %D
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .%D Date (#\\n(.c)
++.       el \{\
++.             ds mN %D
++.             nr dK \\n(dK+1
++.             nr Kl \\n(Kl+1
++.             ds rS dK
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       rR
++.\}
++..
++.\" NS %J macro - [reference] Journal Name
++.\" NS jK register - [reference] Journal Name flag
++.\" NS jK string - [reference] Journal Name
++.de %J
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .%J Journal Name (#\\n(.c)
++.       el \{\
++.             ds mN %J
++.             nr jK \\n(jK+1
++.             ds rS jK
++.             nr Kl \\n(Kl+1
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       rR
++.\}
++..
++.\" NS %N macro - [reference] issue number
++.\" NS nK register - [reference] issue number flag
++.\" NS nK string - [reference] issue number
++.de %N
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .%N issue number (#\\n(.c)
++.     el \{\
++.             nr nK \\n(nK+1
++.             nr Kl \\n(Kl+1
++.             ds rS nK
++.             ds mN %N
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       rR
++.\}
++..
++.\" NS %O macro - [reference] optional information
++.\" NS oK register - [reference] optional information flag
++.\" NS oK string - [reference] optional information
++.de %O
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .%O optional information ... \\*(Pu (#\\n(.c)
++.       el \{\
++.             ds mN %O
++.             nr oK \\n(oK+1
++.             nr Kl \\n(Kl+1
++.             ds rS oK
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       rR
++.\}
++..
++.\" NS %P macro - [reference] page numbers
++.\" NS pK register - [reference] page number flag
++.\" NS pK string - [reference] page number
++.de %P
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .%P page numbers ... \\*(Pu (#\\n(.c)
++.       el \{\
++.             ds mN %P
++.             nr pK \\n(pK+1
++.             nr Kl \\n(Kl+1
++.             ds rS pK
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       rR
++.\}
++..
++.\" NS %Q macro - Corporate or Foreign Author
++.\" NS qK string - Corporate or Foreign Author
++.\" NS qK register - Corporate or Foreign Author flag
++.de %Q
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .%Q Corporate or Foreign Author (#\\n(.c)
++.       el \{\
++.             ds mN %Q
++.             nr qK \\n(qK+1
++.             nr Kl \\n(Kl+1
++.             ds rS qK
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       rR
++.\}
++..
++.\" NS %R macro - [reference] report name
++.\" NS rK string - [reference] report name
++.\" NS rK register - [reference] report flag
++.de %R
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .%R reference report (#\\n(.c)
++.       el \{\
++.             ds mN %R
++.             nr rK \\n(rK+1
++.             nr Kl \\n(Kl+1
++.             ds rS rK
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       rR
++.\}
++..
++.\" NS %T macro - reference title
++.\" NS tK string - reference title
++.\" NS tK register - reference title flag
++.de %T
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .%T (#\\n(.c)
++.       el \{\
++.             ds mN %T
++.             if \\n(rS>0 \{\
++.                     nr tK \\n(tK+1
++.                     nr Kl \\n(Kl+1
++.                     ds rS tK
++.             \}
++.               ds A1 \\$1
++.               ds A2 \\$2
++.               ds A3 \\$3
++.               ds A4 \\$4
++.               ds A5 \\$5
++.               ds A6 \\$6
++.               ds A7 \\$7
++.               ds A8 \\$8
++.               ds A9 \\$9
++.             nr fV \\n(.$
++.             fV
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.\" . ie \\n(jS==1 \{\
++.\" .         nr cF \\n(.f
++.\" .         nr cZ \\n(.s
++.\" .         ds qL \&\\*(Lq\\*(rA
++.\" .         ds qR \&\\*(Rq\f\\n(cF\s\\n(cZ
++.\" .         En \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.\" . \}
++.\" . el \{\
++.             nr aP \\n(aP+1
++.             nr cF \\n(.f
++.             nr cZ \\n(.s
++.             ie \\n(rS==0 \{\
++.                     as b1 \&\\*(eM
++.                     nR
++.             \}
++.             el .rR
++.\" . \}
++.\}
++..
++.\" NS %V macro - reference volume
++.\" NS vK string - reference volume
++.\" NS vK register - reference volume flag
++.de %V
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .%V Volume , ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN %V
++.             nr vK \\n(vK+1
++.             nr Kl \\n(Kl+1
++.             ds rS vK
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       rR
++.\}
++..
++.\" NS rR macro - reference recursion routine
++.\" NS jM local register
++.\" NS jN local register
++.de rR
++.hy 0
++.nr jM \\n(C\\n(aP
++.ie \\n(jM==1 \{\
++.\" . as b1 \&\f\\n(cF\s\\n(cZ
++.     ie "\\*(A\\n(aP"Tn" \{\
++.             nN
++.     \}
++.     el \{\
++.             if \\n(aC>8 .tm Usage: \\*(mN - maximum 8 arguments (#\\n(.c)
++.             aI rR 1
++.             \\*(A\\n(aP
++.     \}
++.\}
++.el \{\
++.     nr jN \\n(aP
++.     ie \\n(jM==2 .as b1 \&\\*(A\\n(aP
++.     el .as b1 \&\\*(A\\n(aP
++.\" . el .as b1 \&\f\\n(cF\s\\n(cZ\\*(A\\n(aP\fP\s0
++.     ie \\n(aC==\\n(aP \{\
++.\" .         as b1 \&\f\\n(cF\s\\n(cZ
++.             rD
++.     \}
++.     el \{\
++.             nr aP \\n(aP+1
++.             as b1 \&\\*(S\\n(jN
++.             rR
++.     \}
++.\}
++.rr jM jN
++..
++.\" NS rD macro - save b1 buffer in to appropriate name
++.de rD
++.as \\*(rS \\*(b1
++.ds b1
++.ds rS
++.aY
++..
++.\" NS Hf macro - source include header files.
++.de Hf
++.Pp
++File:
++.Pa \\$1
++.Pp
++.nr cF \\n(.f
++.nr cZ \\n(.s
++.ie t \{\
++\&\\*(lI
++.br
++.ta +9n 18n 27n 36n 45n 54n 63n 72n
++.\}
++.el \{\
++.ta +8n 16n 24n 32n 40n 48n 56n 64n 72n
++.\}
++.nf
++.so  \\$1
++.fi
++.ft \\n(cF
++.fz \\n(cZ
++.Pp
++..
++.\" NS An macro - author name
++.\" NS aN register
++.nr aN 0
++.de An
++.if \\n(nY==1 \{\
++.     ie \\n(aN==1 \{\
++.             br
++.     \}
++.     el \{\
++.             nr aN 1
++.     \}
++.\}
++.if \\n(aC==0 \{\
++.       ie \\n(.$==0 .tm Usage: .An author_name ... \\*(Pu (#\\n(.c)
++.     el \{\
++.             ds mN An
++.             aV \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
++.     \}
++.\}
++.if \\n(aC>\\n(aP \{\
++.     nr aP \\n(aP+1
++.       nr cF \\n(.f
++.     nr cZ \\n(.s
++.       nR
++.\}
++..
++.\" NS Sf macro -defunct
++.de Sf
++.tm .Sf defunct, use prefix or Ns
++..
++.ds rV "function returns the value 0 if successful; otherwise the value -1 is returned and the global variable \\*(vAerrno\fP is set to indicate the error.
++.\" Ns Rv macro - return values
++.\" Ns rV string - standard return message
++.de Rv
++.ie \\n(.$==0 \{\
++.tm Usage: .Rv [-std] (#\\n(.c)
++.\}
++.el \{\
++.     ds mN Rv
++.\" . nr aP 0
++.\" . nr lR \\n(lR+1
++.\" . ds A1 \\$2
++.\" . ds A2 \\$3
++.\" . ds A3 \\$4
++.\" . ds A4 \\$5
++.\" . ds A5 \\$6
++.\" . ds A6 \\$7
++.\" . ds A7 \\$8
++.\" . ds A8 \\$9
++.\" . nr fV \\n(.$-1
++.     if "\\$1"-std" \{\
++.     nr cH \\*(cH
++.     if (\\n(cH<2):(\\n(cH>3) .tm Usage: .Rv -std sections 2 and 3 only
++.             br
++\&The
++.Fn \\$2
++\&\\*(rV
++.     \}
++.\}
++..
+--- groff-1.18.1.1.orig/tmac/Makefile.sub
++++ groff-1.18.1.1/tmac/Makefile.sub
+@@ -25,15 +25,19 @@
+   html.tmac www.tmac \
+   eqnrc \
+   troffrc troffrc-end \
+-  hyphen.us
++  hyphen.us \
++  andocj.tmac \
++  euc-jp.tmac \
++  gb.tmac big5.tmac
+ SPECIALFILES=an.tmac man.tmac s.tmac ms.tmac
+-STRIPFILES=e.tmac doc.tmac doc-old.tmac
+-MDOCFILES=doc-common doc-ditroff doc-nroff doc-syms
++STRIPFILES=e.tmac doc.tmac doc-old.tmac docj.tmac
++MDOCFILES=doc-common doc-ditroff doc-nroff doc-syms docj-ditroff docj-nroff
+ mdocdir=$(tmacdir)/mdoc
+ CLEANADD=\
+   stamp-wrap stamp-sed *-wrap man.tmac-sed ms.tmac-sed \
+   stamp-strip e.tmac-s doc.tmac-s doc-old.tmac-s \
+-  doc-common-s doc-ditroff-s doc-nroff-s doc-syms-s mdoc.local-s
++  doc-common-s doc-ditroff-s doc-nroff-s doc-syms-s mdoc.local-s \
++  docj.tmac-s docj-ditroff-s docj-nroff-s
+ tmac_s_prefix=
+ tmac_an_prefix=
+ tmac_wrap=
+--- groff-1.18.1.1.orig/tmac/euc-jp.tmac
++++ groff-1.18.1.1/tmac/euc-jp.tmac
+@@ -0,0 +1,7 @@
++.\" euc-jp.tmac
++.\"
++.cflags 256 ,:;>}
++.cflags 256 ¡¢¡£¡¤¡¥¡¦¡§¡¨¡©¡ª¡Ë¡Í¡Ï¡Ñ¡×¡Ù¡Û¤¡¤£¤¥¤§¤©¤Ã¤ã¤å¤ç¡¼
++.cflags 256 ¥¡¥£¥¥¥§¥©¥Ã¥ã¥å¥ç
++.cflags 512 ¡Ê¡Ì¡Î¡Ð¡Ö¡Ø¡Ú
++.hc ¡¾
+--- groff-1.18.1.1.orig/tmac/big5.tmac
++++ groff-1.18.1.1/tmac/big5.tmac
+@@ -0,0 +1,15 @@
++.\" Kinsoku table for the BIG5 encoding of Chinese, recoded from
++.\" kinsoku.el in Emacs 22.0.50.
++.\" Needs review by native zh_TW speaker.
++.\"
++.cflags 256 ¡B¡C¡A¡D¡G¡F¡H¡I¡Ã¡Ä
++.cflags 256 ¡²Éi¡X¡þ¡U¡L¡¦¡¨¡^
++.cflags 256 ¡f¡b¡r¡n¡v¡z¡j¡Ñ¡×¡Õ¡Ø¡Û¡ñ¢X
++.cflags 256 ¡½¡µ¡¶¡¾¡¿¡°¢E¡÷¡ö¡ô¡ã
++.cflags 512 ¡Ö¡Ù¡ï¡ð¢X¢C¡ì
++.cflags 512 ÛÖ¶yÅV¡D¡¶¡ù£H¢}
++.\"
++.\" http://tcl.apache.org/sources/tcl/tools/encoding/big5.txt lists U+FF0D
++.\" as FULLWIDTH HYPHEN-MINUS. Is this correct?
++.\"
++.hc ¡Ð
+--- groff-1.18.1.1.orig/tmac/andocj.tmac
++++ groff-1.18.1.1/tmac/andocj.tmac
+@@ -0,0 +1,12 @@
++.\" Load either tmac.an or tmac.doc.
++.if !\n(.g .ab These macros require groff.
++.de Dd
++.rm Dd
++.do mso tmac.docj
++\\*(Dd\\
++..
++.de TH
++.rm TH
++.do mso tmac.an
++\\*(TH\\
++..
+--- groff-1.18.1.1.orig/aclocal.m4
++++ groff-1.18.1.1/aclocal.m4
+@@ -356,6 +356,19 @@
+ AC_MSG_RESULT(no);AC_MSG_ERROR([header files do not support C++ (if you are using a version of gcc/g++ earlier than 2.5, you should install libg++)]))
+ AC_LANG_POP(C++)])dnl
+ dnl
++dnl Support Multibyte characters, such as Japanese Code (EUC-JP)
++dnl
++AC_DEFUN(GROFF_MULTIBYTE,
++[AC_MSG_CHECKING([whether to enable multibyte extension])
++AC_ARG_ENABLE(multibyte, [  --enable-multibyte  Enable multibyte extension],
++  multibyte=$enableval, multibyte=no)
++if test "x$multibyte" != "xno"; then
++  AC_DEFINE(ENABLE_MULTIBYTE, 1,
++    [Define if you want to use multibyte extension.])
++fi
++AC_MSG_RESULT([$multibyte])
++])dnl
++dnl
+ dnl
+ AC_DEFUN(GROFF_TMAC,
+ [AC_MSG_CHECKING([for prefix of system macro packages])
+@@ -415,6 +428,33 @@
+ AC_MSG_RESULT([$tmac_wrap])
+ AC_SUBST(tmac_wrap)])dnl
+ dnl
++dnl codeset.m4 from gettext, by Bruno Haible.
++dnl
++AC_DEFUN(GROFF_LANGINFO_CODESET,
++[AC_CACHE_CHECK([for nl_langinfo and CODESET], groff_cv_langinfo_codeset,
++    [AC_TRY_LINK([#include <langinfo.h>],
++      [char* cs = nl_langinfo(CODESET);],
++      groff_cv_langinfo_codeset=yes,
++      groff_cv_langinfo_codeset=no)
++    ])
++  if test $groff_cv_langinfo_codeset = yes; then
++    AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
++      [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
++  fi
++])dnl
++dnl
++dnl
++AC_DEFUN(GROFF_DVIFORMAT,
++[AC_MSG_CHECKING([japanese dvi file format])
++if test "x$dvi_format" != "xASCII"; then
++  DVIFORMAT=NTT
++else
++  DVIFORMAT=ASCII
++fi
++AC_MSG_RESULT([$DVIFORMAT])
++AC_SUBST(DVIFORMAT)
++])dnl
++dnl
+ dnl
+ AC_DEFUN(GROFF_G,
+ [AC_MSG_CHECKING([for existing troff installation])
+@@ -481,7 +521,7 @@
+  AC_DEFINE(IS_EBCDIC_HOST, 1,
+          [Define if the host's encoding is EBCDIC.]),
+ groff_cv_ebcdic="no"
+- TTYDEVDIRS="font/devascii font/devlatin1"
++ TTYDEVDIRS="font/devascii font/devlatin1 font/devascii8 font/devnippon"
+  OTHERDEVDIRS="font/devlj4 font/devlbp"
+  AC_MSG_RESULT(no))
+ AC_SUBST(TTYDEVDIRS)
+--- groff-1.18.1.1.orig/configure.ac
++++ groff-1.18.1.1/configure.ac
+@@ -68,6 +68,9 @@
+ GROFF_G
+ GROFF_TMAC
+ GROFF_HTML_PROGRAMS
++GROFF_MULTIBYTE
++GROFF_DVIFORMAT
++GROFF_LANGINFO_CODESET
+ AC_CONFIG_FILES(stamp-h, [echo timestamp > stamp-h])
+ AC_CONFIG_FILES([Makefile doc/Makefile src/xditview/Imakefile])
+ AC_OUTPUT
+--- groff-1.18.1.1.orig/stamp-h
++++ groff-1.18.1.1/stamp-h
+@@ -0,0 +1 @@
++timestamp
+--- groff-1.18.1.1.orig/contrib/pic2graph/pic2graph.sh
++++ groff-1.18.1.1/contrib/pic2graph/pic2graph.sh
+@@ -32,7 +32,7 @@
+ # We don't have complete option coverage on eqn because this is primarily
+ # intended as a pic translator; we can live with eqn defaults. 
+ #
+-# $Id: pic2graph.sh,v 1.2 2002/07/17 04:55:46 wlemb Exp $
++# $Id: pic2graph.sh,v 1.5 2003/10/31 19:32:36 wlemb Exp $
+ #
+ groffpic_opts=""
+ gs_opts=""
+@@ -44,7 +44,7 @@
+ do
+     case $1 in
+     -unsafe)
+-      groffpic_opts="-U"
++      groffpic_opts="-U";;
+     -format)
+       format=$2
+       shift;;
+@@ -68,16 +68,34 @@
+     eqndelim="delim $eqndelim"
+ fi
++# create temporary directory
++tmp=
++for d in "$GROFF_TMPDIR" "$TMPDIR" "$TMP" "$TEMP" /tmp; do
++    test -z "$d" && continue
++
++    tmp=`(umask 077 && mktemp -d -q "$d/pic2graph-XXXXXX") 2> /dev/null` \
++    && test -n "$tmp" && test -d "$tmp" \
++    && break
++
++    tmp=$d/pic2graph$$-$RANDOM
++    (umask 077 && mkdir $tmp) 2> /dev/null \
++    && break
++done;
++if test -z "$tmp"; then
++    echo "$0: cannot create temporary directory" >&2
++    { (exit 1); exit 1; }
++fi
++
++trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 2 15 
++
+ # Here goes:
+ # 1. Wrap the input in dummy .PS/PE macros (and add possibly null .EQ/.EN)
+ # 2. Process through eqn and pic to emit troff markup.
+ # 3. Process through groff to emit Postscript.
+ # 4. Use convert(1) to crop the PostScript and turn it into a bitmap.
+-tmp=/usr/tmp/pic2graph-$$
+-trap "rm ${tmp}.*" 0 2 15 
+ (echo ".EQ"; echo $eqndelim; echo ".EN"; echo ".PS"; cat; echo ".PE") | \
+-       groff -e -p $groffpic_opts -Tps >${tmp}.ps \
+-       && convert -crop 0x0 $convert_opts ${tmp}.ps ${tmp}.${format} \
+-       && cat ${tmp}.${format}
++    groff -e -p $groffpic_opts -Tps -P-pletter > $tmp/pic2graph.ps \
++    && convert -crop 0x0 $convert_opts $tmp/pic2graph.ps $tmp/pic2graph.$format \
++    && cat $tmp/pic2graph.$format
+ # End
+--- groff-1.18.1.1.orig/contrib/mom/groff_mom.man
++++ groff-1.18.1.1/contrib/mom/groff_mom.man
+@@ -13,6 +13,10 @@
+ A copy of the Free Documentation License is included as a file called
+ FDL in the main directory of the groff source package.
+ ..
++.ig
++A copy of the GNU Free Documentation License is also available in this
++Debian package as /usr/share/doc/groff/copyright.
++..
+ .
+ .mso www.tmac
+ .
+--- groff-1.18.1.1.orig/contrib/groffer/groffer.sh
++++ groff-1.18.1.1/contrib/groffer/groffer.sh
+@@ -3228,17 +3228,12 @@
+   do
+     if is_not_empty "$d"; then
+       if obj d is_dir && obj d is_writable; then
+-        _TMP_DIR="${d}/${_PROGRAM_NAME}${_PROCESS_ID}";
+-        if obj _TMP_DIR is_dir; then
+-        rm -f "${_TMP_DIR}"/*;
++        _TMP_DIR="$(mktemp -d "${d}/${_PROGRAM_NAME}.XXXXXX")"
++        if test $? = 0; then
+           break;
+         else
+-          mkdir "${_TMP_DIR}";
+-          if obj _TMP_DIR is_not_dir; then
+-            _TMP_DIR='';
+-          continue;
+-          fi;
+-          break;
++          _TMP_DIR='';
++        continue;
+       fi;
+       fi;
+       if obj _TMP_DIR is_not_writable; then
+--- groff-1.18.1.1.orig/contrib/eqn2graph/eqn2graph.sh
++++ groff-1.18.1.1/contrib/eqn2graph/eqn2graph.sh
+@@ -32,7 +32,7 @@
+ #
+ # Thus, we pass -U to groff(1), and everything else to convert(1).
+ #
+-# $Id: eqn2graph.sh,v 1.2 2002/07/17 04:55:46 wlemb Exp $
++# $Id: eqn2graph.sh,v 1.3 2003/10/28 07:46:23 wlemb Exp $
+ #
+ groff_opts=""
+ convert_opts=""
+@@ -58,17 +58,34 @@
+     shift
+ done
++# create temporary directory
++tmp=
++for d in "$GROFF_TMPDIR" "$TMPDIR" "$TMP" "$TEMP" /tmp; do
++    test -z "$d" && continue
++
++    tmp=`(umask 077 && mktemp -d -q "$d/eqn2graph-XXXXXX") 2> /dev/null` \
++    && test -n "$tmp" && test -d "$tmp" \
++    && break
++
++    tmp=$d/eqn2graph$$-$RANDOM
++    (umask 077 && mkdir $tmp) 2> /dev/null && break
++done;
++if test -z "$tmp"; then
++    echo "$0: cannot create temporary directory" >&2
++    { (exit 1); exit 1; }
++fi
++
++trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 2 15 
++
+ # Here goes:
+ # 1. Add .EQ/.EN.
+ # 2. Process through eqn(1) to emit troff markup.
+ # 3. Process through groff(1) to emit Postscript.
+ # 4. Use convert(1) to crop the Postscript and turn it into a bitmap.
+-tmp=/usr/tmp/eqn2graph-$$
+-trap "rm ${tmp}.*" 0 2 15 
+ read equation
+-(echo ".EQ"; echo 'delim $$'; echo ".EN"; echo '$'"${equation}"'$') | \
+-      groff -e $groff_opts -Tps >${tmp}.ps \
+-      && convert -crop 0x0 $convert_opts ${tmp}.ps ${tmp}.${format} \
+-      && cat ${tmp}.${format}
++(echo ".EQ"; echo 'delim $$'; echo ".EN"; echo '$'"$equation"'$') | \
++      groff -e $groff_opts -Tps -P-pletter > $tmp/eqn2graph.ps \
++      && convert -crop 0x0 $convert_opts $tmp/eqn2graph.ps $tmp/eqn2graph.$format \
++      && cat $tmp/eqn2graph.$format
+ # End
+--- groff-1.18.1.1.orig/configure
++++ groff-1.18.1.1/configure
+@@ -305,7 +305,7 @@
+ # include <unistd.h>
+ #endif"
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS groff_top_builddir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX TTYDEVDIRS OTHERDEVDIRS LPR LP LPQ PSPRINT DVIPRINT PERLPATH YACC RANLIB ac_ct_RANLIB INSTALL_INFO INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SH_SCRIPT_SED_CMD CPP EGREP LIBM LIBOBJS BROKEN_SPOOLER_FLAGS PAGE g sys_tmac_prefix tmac_wrap pnmcut pnmcrop pnmtopng gs psselect make_html make_install_html LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS groff_top_builddir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX TTYDEVDIRS OTHERDEVDIRS LPR LP LPQ PSPRINT DVIPRINT PERLPATH YACC RANLIB ac_ct_RANLIB INSTALL_INFO INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SH_SCRIPT_SED_CMD CPP EGREP LIBM LIBOBJS BROKEN_SPOOLER_FLAGS PAGE g sys_tmac_prefix tmac_wrap pnmcut pnmcrop pnmtopng gs psselect make_html make_install_html DVIFORMAT LTLIBOBJS'
+ ac_subst_files=''
+ # Initialize some variables set by options.
+@@ -841,6 +841,11 @@
+   cat <<\_ACEOF
++Optional Features:
++  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
++  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
++  --enable-multibyte  Enable multibyte extension
++
+ Some influential environment variables:
+   CC          C compiler command
+   CFLAGS      C compiler flags
+@@ -2530,7 +2535,7 @@
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ groff_cv_ebcdic="no"
+- TTYDEVDIRS="font/devascii font/devlatin1"
++ TTYDEVDIRS="font/devascii font/devlatin1 font/devascii8 font/devnippon"
+  OTHERDEVDIRS="font/devlj4 font/devlbp"
+  echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+@@ -5859,6 +5864,84 @@
+ esac
++echo "$as_me:$LINENO: checking whether to enable multibyte extension" >&5
++echo $ECHO_N "checking whether to enable multibyte extension... $ECHO_C" >&6
++# Check whether --enable-multibyte or --disable-multibyte was given.
++if test "${enable_multibyte+set}" = set; then
++  enableval="$enable_multibyte"
++  multibyte=$enableval
++else
++  multibyte=no
++fi;
++if test "x$multibyte" != "xno"; then
++
++cat >>confdefs.h <<\_ACEOF
++#define ENABLE_MULTIBYTE 1
++_ACEOF
++
++fi
++echo "$as_me:$LINENO: result: $multibyte" >&5
++echo "${ECHO_T}$multibyte" >&6
++
++echo "$as_me:$LINENO: checking japanese dvi file format" >&5
++echo $ECHO_N "checking japanese dvi file format... $ECHO_C" >&6
++if test "x$dvi_format" != "xASCII"; then
++  DVIFORMAT=NTT
++else
++  DVIFORMAT=ASCII
++fi
++echo "$as_me:$LINENO: result: $DVIFORMAT" >&5
++echo "${ECHO_T}$DVIFORMAT" >&6
++
++
++echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5
++echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6
++if test "${groff_cv_langinfo_codeset+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++#line $LINENO "configure"
++#include "confdefs.h"
++#include <langinfo.h>
++int
++main ()
++{
++char* cs = nl_langinfo(CODESET);
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++         { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  groff_cv_langinfo_codeset=yes
++else
++  echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++groff_cv_langinfo_codeset=no
++fi
++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
++
++fi
++echo "$as_me:$LINENO: result: $groff_cv_langinfo_codeset" >&5
++echo "${ECHO_T}$groff_cv_langinfo_codeset" >&6
++  if test $groff_cv_langinfo_codeset = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_LANGINFO_CODESET 1
++_ACEOF
++
++  fi
++
+           ac_config_files="$ac_config_files stamp-h"
+                               ac_config_files="$ac_config_files Makefile doc/Makefile src/xditview/Imakefile"
+@@ -6497,6 +6580,7 @@
+ s,@psselect@,$psselect,;t t
+ s,@make_html@,$make_html,;t t
+ s,@make_install_html@,$make_install_html,;t t
++s,@DVIFORMAT@,$DVIFORMAT,;t t
+ s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+ CEOF
+--- groff-1.18.1.1.orig/Makefile.in
++++ groff-1.18.1.1/Makefile.in
+@@ -136,7 +136,11 @@
+ # directory will be always added.
+ # `troffrc' and `troffrc-end' (and `eqnrc') are searched neither in the
+ # current nor in the home directory.
++ifeq (,$(extratmacdirs))
+ tmacpath=$(systemtmacdir):$(localtmacdir):$(tmacdir)
++else
++tmacpath=$(systemtmacdir):$(localtmacdir):$(tmacdir):$(extratmacdirs)
++endif
+ # `sys_tmac_prefix' is prefix (if any) for system macro packages.
+ sys_tmac_prefix=@sys_tmac_prefix@
+@@ -195,6 +199,9 @@
+ man7ext=7
+ man7dir=$(manroot)/man$(man7ext)
++# DVI file format.
++DVIFORMAT=@DVIFORMAT@
++
+ # The configure script checks whether all necessary utility programs for
+ # grohtml are available -- only then we can build the HTML documentation.
+ make_html=@make_html@
+@@ -261,6 +268,8 @@
+ # -DRETSIGTYPE=int            if signal handlers return int not void  
+ # -DIS_EBCDIC_HOST            if the host's encoding is EBCDIC
+ # -DPAGEA4                    if the the printer's page size is A4
++# -DENABLE_MULTIBYTE          enable multibyte extension
++# -DHAVE_LANGINFO_CODESET     if you have nl_langinfo(CODESET)
+ DEFINES=@DEFS@
+ # Include
+@@ -395,7 +404,8 @@
+   "PERLPATH=$(PERLPATH)" \
+   "SH_SCRIPT_SED_CMD=$(SH_SCRIPT_SED_CMD)" \
+   "PURIFY=$(PURIFY)" \
+-  "PURIFYCCFLAGS=$(PURIFYCCFLAGS)"
++  "PURIFYCCFLAGS=$(PURIFYCCFLAGS)" \
++  "DVIFORMAT=$(DVIFORMAT)"
+ SHELL=/bin/sh
+ INCDIRS=src/include
+@@ -437,8 +447,10 @@
+   font/devhtml
+ ALLTTYDEVDIRS=\
+   font/devascii \
++  font/devascii8 \
+   font/devlatin1 \
+   font/devutf8 \
++  font/devnippon \
+   font/devcp1047
+ OTHERDIRS=\
+   man \
+@@ -483,7 +495,7 @@
+       fi
+ do=all
+-dodirs=$(ALLDIRS) dot
++dodirs=$(DISTDIRS) 
+ # Default target for subdir_Makefile
+ subdir=src/roff/troff
+--- groff-1.18.1.1.orig/TODO.jp
++++ groff-1.18.1.1/TODO.jp
+@@ -0,0 +1,19 @@
++TODO lists
++
++- configure
++    nl_langinfo()
++    iconv()
++
++- font/devdvi
++      G,M  -- NTT and/or ASCII
++- src/devices
++      grohtml
++      grodvi
++      grolbp
++      grolj4
++- src/xditview
++
++- command line option to specify input/output encoding
++- font code?
++      can we assume wchar code == font code?
++      [to simplify indexing]
+--- groff-1.18.1.1.orig/mdate.sh
++++ groff-1.18.1.1/mdate.sh
+@@ -2,41 +2,4 @@
+ # Print the modification date of $1 `nicely'.
+-# Don't want foreign dates.
+-
+-LANGUAGE=
+-LC_ALL=C; export LC_ALL
+-
+-
+-(date;
+-if ls -L /dev/null 1>/dev/null 2>&1; then ls -L -l $1; else ls -l $1; fi
+-) | awk '
+-BEGIN {
+-      full["Jan"] = "January"; number["Jan"] = 1;
+-      full["Feb"] = "February"; number["Feb"] = 2;
+-      full["Mar"] = "March"; number["Mar"] = 3;
+-      full["Apr"] = "April"; number["Apr"] = 4;
+-      full["May"] = "May"; number["May"] = 5;
+-      full["Jun"] = "June"; number["Jun"] = 6;
+-      full["Jul"] = "July"; number["Jul"] = 7;
+-      full["Aug"] = "August"; number["Aug"] = 8;
+-      full["Sep"] = "September"; number["Sep"] = 9;
+-      full["Oct"] = "October"; number["Oct"] = 10;
+-      full["Nov"] = "November"; number["Nov"] = 11;
+-      full["Dec"] = "December"; number["Dec"] = 12;
+-}
+-
+-NR == 1 {
+-      month = $2;
+-      year = $NF;
+-}
+-
+-NR == 2 {
+-      if ($(NF-1) ~ /:/) {
+-              if (number[$(NF-3)] > number[month])
+-                      year--;
+-      }
+-      else
+-              year = $(NF-1);
+-      print $(NF-2), full[$(NF-3)], year
+-}'
++perl -MPOSIX -le 'print strftime("%d %B %Y", localtime((stat $ARGV[0])[9]))' $1
+--- groff-1.18.1.1.orig/man/groff_out.man
++++ groff-1.18.1.1/man/groff_out.man
+@@ -19,6 +19,10 @@
+ A copy of the Free Documentation License is included as a file called
+ FDL in the main directory of the groff source package.
+ ..
++.ig
++A copy of the GNU Free Documentation License is also available in this
++Debian package as /usr/share/doc/groff/copyright.
++..
+ .
+ .\" --------------------------------------------------------------------
+ .\" Setup
+--- groff-1.18.1.1.orig/man/groff_char.man
++++ groff-1.18.1.1/man/groff_char.man
+@@ -32,6 +32,10 @@
+ A copy of the Free Documentation License is included as a file called
+ FDL in the main directory of the groff source package.
+ ..
++.ig
++A copy of the GNU Free Documentation License is also available in this
++Debian package as /usr/share/doc/groff/copyright.
++..
+ .
+ .\" --------------------------------------------------------------------
+ .\" Setup Part 1
+--- groff-1.18.1.1.orig/man/groff_tmac.man
++++ groff-1.18.1.1/man/groff_tmac.man
+@@ -32,6 +32,10 @@
+ A copy of the Free Documentation License is included as a file called
+ FDL in the main directory of the groff source package.
+ ..
++.ig
++A copy of the GNU Free Documentation License is also available in this
++Debian package as /usr/share/doc/groff/copyright.
++..
+ .
+ .\" --------------------------------------------------------------------
+ .\" Setup
+--- groff-1.18.1.1.orig/man/roff.man
++++ groff-1.18.1.1/man/roff.man
+@@ -18,6 +18,10 @@
+ A copy of the Free Documentation License is included as a file called
+ FDL in the main directory of the groff source package.
+ ..
++.ig
++A copy of the GNU Free Documentation License is also available in this
++Debian package as /usr/share/doc/groff/copyright.
++..
+ .
+ .\" --------------------------------------------------------------------
+ .\" Setup
+--- groff-1.18.1.1.orig/man/ditroff.man
++++ groff-1.18.1.1/man/ditroff.man
+@@ -18,6 +18,10 @@
+ A copy of the Free Documentation License is included as a file called
+ FDL in the main directory of the groff source package.
+ ..
++.ig
++A copy of the GNU Free Documentation License is also available in this
++Debian package as /usr/share/doc/groff/copyright.
++..
+ .
+ .\" --------------------------------------------------------------------
+ .\" Setup
+--- groff-1.18.1.1.orig/man/groff_diff.man
++++ groff-1.18.1.1/man/groff_diff.man
+@@ -23,6 +23,10 @@
+ A copy of the Free Documentation License is included as a file called
+ FDL in the main directory of the groff source package.
+ ..
++.ig
++A copy of the GNU Free Documentation License is also available in this
++Debian package as /usr/share/doc/groff/copyright.
++..
+ .
+ .\" --------------------------------------------------------------------
+ .\" Setup
+--- groff-1.18.1.1.orig/man/groff.man
++++ groff-1.18.1.1/man/groff.man
+@@ -19,6 +19,10 @@
+ A copy of the Free Documentation License is included as a file called
+ FDL in the main directory of the groff source package.
+ ..
++.ig
++A copy of the GNU Free Documentation License is also available in this
++Debian package as /usr/share/doc/groff/copyright.
++..
+ .
+ .\" --------------------------------------------------------------------
+ .\" Setup