X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Fpatches%2Fgroff-1.18.1.1-debian_fixes-1.patch;fp=src%2Fpatches%2Fgroff-1.18.1.1-debian_fixes-1.patch;h=0000000000000000000000000000000000000000;hb=759d478f4303acb1ae7f4059063f8867435c1850;hp=d70164a565a3b496b3cd1cba99c10114b7079be9;hpb=7b321c2cbe910caeb0d5887cc4f4dc15836dd473;p=ipfire-2.x.git 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 deleted file mode 100644 index d70164a565..0000000000 --- a/src/patches/groff-1.18.1.1-debian_fixes-1.patch +++ /dev/null @@ -1,18888 +0,0 @@ -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 -+ ) -+ 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++ . */ - #undef HAVE_CC_LIMITS_H - - /* Define if you have a C++ . */ - #undef HAVE_CC_OSFCN_H - --/* Define if you have the header file. */ -+/* Define to 1 if you have the 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 header file. */ -+/* Define to 1 if you have the header file. */ -+#undef HAVE_INTTYPES_H -+ -+/* Define to 1 if you have the `isatty' function. */ -+#undef HAVE_ISATTY -+ -+/* Define if you have and nl_langinfo(CODESET). */ -+#undef HAVE_LANGINFO_CODESET -+ -+/* Define to 1 if you have the header file. */ - #undef HAVE_LIMITS_H - --/* Define if you have the header file. */ -+/* Define to 1 if you have the header file. */ - #undef HAVE_MATH_H - -+/* Define to 1 if you have the 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 header file. */ -+/* Define to 1 if you have the header file. */ - #undef HAVE_STDINT_H - --/* Define if you have the header file. */ -+/* Define to 1 if you have the 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 header file. */ -+/* Define to 1 if you have the header file. */ - #undef HAVE_STRINGS_H - --/* Define if you have the header file. */ -+/* Define to 1 if you have the 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 defines struct exception. */ - #undef HAVE_STRUCT_EXCEPTION - --/* Define if you have the header file. */ -+/* Define to 1 if you have the header file. */ - #undef HAVE_SYS_DIR_H - - /* Define if you have sys_errlist in or in . */ -@@ -87,10 +99,16 @@ - /* Define if you have sysnerr in or . */ - #undef HAVE_SYS_NERR - --/* Define if you have the header file. */ -+/* Define to 1 if you have the header file. */ -+#undef HAVE_SYS_STAT_H -+ -+/* Define to 1 if you have the header file. */ - #undef HAVE_SYS_TIME_H - --/* Define if you have the header file. */ -+/* Define to 1 if you have the header file. */ -+#undef HAVE_SYS_TYPES_H -+ -+/* Define to 1 if you have the 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 or . */ -+/* Define to 1 if you have the ANSI C header files. */ -+#undef STDC_HEADERS -+ -+/* Define to 1 if `sys_siglist' is declared by or . */ - #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 -+ -+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 -+ -+#ifdef ENABLE_MULTIBYTE -+typedef int wchar; // negative is used for charcode & index -+#else -+typedef char wchar; -+#endif -+ -+#include -+ -+#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++ . */ -+#define HAVE_CC_LIMITS_H 1 -+ -+/* Define if you have a C++ . */ -+/* #undef HAVE_CC_OSFCN_H */ -+ -+/* Define to 1 if you have the 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 header file. */ -+#define HAVE_INTTYPES_H 1 -+ -+/* Define to 1 if you have the `isatty' function. */ -+#define HAVE_ISATTY 1 -+ -+/* Define if you have and nl_langinfo(CODESET). */ -+#define HAVE_LANGINFO_CODESET 1 -+ -+/* Define to 1 if you have the header file. */ -+#define HAVE_LIMITS_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#define HAVE_MATH_H 1 -+ -+/* Define to 1 if you have the 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 header file. */ -+#define HAVE_STDINT_H 1 -+ -+/* Define to 1 if you have the 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 header file. */ -+#define HAVE_STRINGS_H 1 -+ -+/* Define to 1 if you have the 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 defines struct exception. */ -+#define HAVE_STRUCT_EXCEPTION 1 -+ -+/* Define to 1 if you have the header file. */ -+#define HAVE_SYS_DIR_H 1 -+ -+/* Define if you have sys_errlist in or in . */ -+#define HAVE_SYS_ERRLIST 1 -+ -+/* Define if you have sysnerr in or . */ -+#define HAVE_SYS_NERR 1 -+ -+/* Define to 1 if you have the header file. */ -+#define HAVE_SYS_STAT_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#define HAVE_SYS_TIME_H 1 -+ -+/* Define to 1 if you have the header file. */ -+#define HAVE_SYS_TYPES_H 1 -+ -+/* Define to 1 if you have the 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 or . */ -+#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 -+ 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 - #include - #include -+#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 - #include -@@ -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 - #include - #include -+#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 - #include - #include -+#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 .. [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 ---- 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 - #include - #include -+#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. -+ */ -+ 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 -+ -+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 -+#ifdef ENABLE_MULTIBYTE -+#include -+#include -+#ifdef HAVE_LANGINFO_CODESET -+#include -+#else -+#include -+#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 -+#include -+ -+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 - #include - -+#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 - #include - -+#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 -@@ -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 - -@@ -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 -+ -+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 - #include - #include -+#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 -+#include -+#include -+#include -+ -+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 - #include - #include -+#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 -+#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 -+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 \ - : 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 \ - : 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 - #include -+#include - - #include - #include - -+#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 - #include - -+#include - #include - - #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 -@@ -10,6 +11,7 @@ - #include - #include - #include -+#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 - #include - #include -+#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 - #include - #include -+#include - #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 - #include - -+#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 - - 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 = ¯o_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 -+ -+ * 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 -+ -+ * update groff-1.18-7 -+ -+2002-09-23 Fumitoshi UKAI -+ -+ * src/roff/troff/input.cc: fix bug in wchar_charinfo() -+ check u where 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 -+ -+ * new multibyte patch -+ -+2001-08-16 Fumitoshi UKAI -+ -+ * tmac/euc-jp.tmac: -+ fix disappearing `-' char -+ -+2001-07-21 Fumitoshi UKAI -+ -+ * add ENABLE_MULTIBYTE support to src/xditview -+ -+2001-07-20 Fumitoshi UKAI -+ -+ * introduce "fontset" in font/*/DESC -+ obsoletes "ondemand" -+ -+2001-07-19 Fumitoshi UKAI -+ -+ * don't use input_encoding->is_wchar_code() -+ * fix troffrc empty line -+ * fix duplicate strcasecmp() -+ -+2001-07-19 Fumitoshi UKAI -+ -+ * sub font selection move into environment::add_char() -+ it makes possible to use \[uni] -+ -+2001-07-19 Fumitoshi UKAI -+ -+ * use generic iconv_handler instead of euc_handler -+ * internal code now uses UCS-2 -+ -+2001-07-19 Fumitoshi UKAI uni%X -+ - still no code conversion -+ - font description is not accurate -+ * change "fixed" to charset range -+ -+2001-07-18 Fumitoshi UKAI -+ -+ * Configuration Change: -+ obsolete: --enable-japanese (#ifdef NIPPON) -+ new: --enable-multibyte (#ifdef ENABLE_MULTIBYTE) -+ -+2001-07-18 Fumitoshi UKAI -+ -+ * 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 -+ -+ * add utf8 encoding handler to src/libs/libgroff/encoding.cc -+ (this utf8 encodig handler is too slow!) -+ -+2001-07-15 Fumitoshi UKAI -+ -+ * 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 -+ -+ * Apply for groff-1.17 -+ -+2000-01-06 Yoshiaki Yanagihara -+ -+ * 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 -+ -+ * jgroff-0.100 ¤ò¤½¤Î¤Þ¤Þ groff-1.14 ¤ËŬÍѤ·¤Æ jgroff-101 -+ ¤È¤·¤¿¡£ -+ * grohtml ¤òÆüËܸì¤ËÂбþ¤µ¤»¤ë¡£ -+ * ÆüËܸì¥Þ¥Ë¥å¥¢¥ëÍÑ¤Ë tmac.docj ¤È tmac.andocj ¥Þ¥¯¥í¤òÄɲᣠ-+ -+Sun Mar 15 18:23:12 1998 Yoshiaki Yanagihara -+ -+ * jgroff ¤Î¥Ù¡¼¥¹¤ò groff-1.11a ¤ËÊѹ¹¤·¡¢jgroff-0.99¥Ñ¥Ã¥Á¤ò -+ ŬÍѤ·¤¿¤â¤Î¤ò jgroff-0.100 ¤È¤·¤¿¡£ -+ ´ðËÜŪ¤Ë jgroff-0.99 ¤Èµ¡Ç½¤ÏƱ¤¸ *¤Ï¤º*¡£ -+ -+Fri Dec 22 11:47:46 1995 Kitagawa Toshiyuki -+ -+ * ¥Ð¡¼¥¸¥ç¥ó0.99¡£ -+ -+Mon Dec 18 18:28:37 1995 Kitagawa Toshiyuki -+ -+ * tmac/Makefile.sub: ¥¿¡¼¥²¥Ã¥È stamp-wrap¡¢uninstall_sub ¤¬°ìÉô -+ OS¤Îsh¤Ç¹½Ê¸¥¨¥é¡¼¤È¤Ê¤ë¥ª¥ê¥¸¥Ê¥ë¥Ð¥°¤ò½¤Àµ¡£ -+ -+Wed Dec 13 15:09:26 1995 Kitagawa Toshiyuki -+ -+ * jgroff.sh: ¥ª¥ê¥¸¥Ê¥ë¤Ç¥¤¥ó¥¹¥È¡¼¥ë¥Ñ¥¹¤¬Êѹ¹¤µ¤ì¤¿¤Î¤Ë¹ç¤ï¤»¡¢ -+ GROFF_TMAC_PATH¡¢GROFF_FONT_PATH¤òshare/groffÇÛ²¼¤ËÊѹ¹¡£ -+ -+Sat Dec 9 15:28:36 1995 Kitagawa Toshiyuki -+ -+ * wchar.h¤«¤éeucmac.h¤Ë¥Õ¥¡¥¤¥ë̾¤òÊѹ¹¡£ -+ -+Fri Dec 8 12:15:47 1995 Yoshio Takaeda -+ -+ * troff/env.cc(add_char): ¡ØASCIIʸ»ú + ²þ¹Ô¥³¡¼¥É + EUCʸ»ú¡Ù¤È¤¤¤¦ -+ ¥Ñ¥¿¡¼¥ó¤Î»þ¡¢²þ¹Ô¥³¡¼¥É¤¬¥¹¥Ú¡¼¥¹¤ËÊÑ´¹¤µ¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ¡£ -+ -+Thu Dec 7 21:35:06 1995 Yanagihara Yoshiaki -+ -+ * troff/input.cc (process_input_stack): gcc-2.7.0¤ÇÊÑ¿ôÄêµÁ¤¬¥¹¥³¡¼¥× -+ °ãÈ¿¤È¤Ê¤Ã¤Æ¤·¤Þ¤¦²Õ½ê¤ò½¤Àµ¡£ -+ -+Thu Dec 7 21:35:06 1995 Yanagihara Yoshiaki -+ -+ * jgroff¤Î¥Ù¡¼¥¹¥½¡¼¥¹¤ògroff-1.10¤ËÊѹ¹¡£ -+ -+Thu Apr 6 16:56:32 1995 Kitagawa Toshiyuki -+ -+ * devdvi/M.proto-NTT: DNP¤Îpk¥Õ¥©¥ó¥È¤Î¥Á¥§¥Ã¥¯¥µ¥àÃͤ¬0¤Ê¤Î¤Ç¡¢¤³ -+ ¤ì¤Ë¹ç¤ï¤»¤Æchecksum¤ÎÃͤò0¤ËÊѹ¹¡£ -+ -+Mon Apr 3 20:36:37 1995 Kitagawa Toshiyuki -+ -+ * 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 -+ -+ * troff/env.cc (add_char): hwkern¡¢vlower¤Î½é´ü²½¤Ïdevice½é´ü²½¸å -+ ¤Ë°ìÅÙ¤À¤±¹Ô¤¨¤ÐÎɤ¤¤Î¤Çenvironment¥¯¥é¥¹¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç¤³¤ì¤ò -+ ¹Ô¤¦¤è¤¦¤ËÊѹ¹¡£ -+ -+Sat Apr 1 17:57:23 1995 Kitagawa Toshiyuki -+ -+ * troff/input.cc (mount_on_demand): on demand¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤ë¥Õ¥© -+ ¥ó¥È̾¤ò¥Ç¥Ð¥¤¥¹¤´¤È¤ÎDESC¥Õ¥¡¥¤¥ë¤Ç»ØÄê¤Ç¤­¤ë¤è¤¦¤ËÊѹ¹¡£ -+ ¥Ç¥£¥ì¥¯¥Æ¥£¥Öondemand¤Ç»ØÄꤷ¤¿¥Õ¥©¥ó¥È¤¬on demand¤Ç¥Þ¥¦¥ó¥È¤µ¤ì¤ë¡£ -+ -+Fri Mar 31 20:23:43 1995 Kitagawa Toshiyuki -+ -+ * libgroff/font.cc (load): ´Á»ú¥Õ¥©¥ó¥È¥Õ¥¡¥¤¥ëÍѤ˥ǥ£¥ì¥¯¥Æ¥£¥Ö -+ fixedkanji¤òÄɲᣤ³¤ì¤Ï³Æʸ»ú¤Î¥á¥È¥ê¥Ã¥¯¤¬Á´¤ÆƱ¤¸¤Ç¤¢¤ë»ö¤ò»ØÄê -+ ¤¹¤ë¤â¤Î¤Ç¡¢fixedkanji¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ïcharset¤Ïɾ²Á¤µ¤ì¤Ê¤¤ -+ ¤¿¤á´Á»ú¥Õ¥©¥ó¥È¤Î¥í¡¼¥É¤¬Â®¤¤¡£ -+ -+Thu Mar 30 18:20:24 1995 Kitagawa Toshiyuki -+ -+ * troff: node¼±Ê̤òʸ»úÎóÈæ³Ó¤Ç¹Ô¤Ã¤Æ¤¤¤¿¤¬¹â®²½¤Î¤¿¤á¿ôÃÍÈæ³Ó¤Ë -+ Êѹ¹¤·¤¿¡£ -+ -+Wed Mar 29 20:20:49 1995 Kitagawa Toshiyuki -+ -+ * troff/input.cc: ´Á»ú¥Õ¥©¥ó¥È(M¤ÈG)¤òon demand¤Ç¥Þ¥¦¥ó¥È¤¹¤ë¤è¤¦ -+ ¤ËÊѹ¹¡£¤³¤ì¤Ë¤è¤Ã¤Æ´Á»ú¤ò´Þ¤Þ¤Ê¤¤roff¥Õ¥¡¥¤¥ë¤Î½èÍý»þ´Ö¤¬¹â®²½¤µ -+ ¤ì¤¿¡£ -+ -+Fri Mar 10 15:34:26 1995 Shigeki Yoshida -+ -+ * 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 -+ -+ * troff/input.cc: ¹ÔƬ¶Ø§ʸ»ú¤ÎEUC¥³¡¼¥É¤Î°ìÉô¤¬ÉÔÀµ¡£ -+ -+Mon Jan 30 14:02:54 1995 Kitagawa Toshiyuki -+ -+ * ¥Ð¡¼¥¸¥ç¥ó0.97¡£ -+ -+Fri Dec 10 14:26:14 1994 Kazutaka YOKOTA -+ -+ * devdvi/M.proto: NTT JTeX¤ÈASCIIÆüËܸìTeXξÊý¤Îdvi¥Õ¥¡¥¤¥ë¤ò°·¤¨¤ë¤è¤¦ -+ M.proto¥Õ¥¡¥¤¥ë¤òÊѹ¹¡£ -+ -+Fri Dec 9 14:26:14 1994 Kazutaka YOKOTA -+ -+ * troff/node.cc: boldfont_list[]¤Ë¥Õ¥©¥ó¥È̾ B ¤òÅÐÏ¿¤·¤Æ¤¤¤Ê¤«¤Ã -+ ¤¿¤¿¤á¡¢dvi¥Õ¥¡¥¤¥ë¤Ë¥´¥·¥Ã¥¯ÂΤ¬½ÐÎϤµ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¡£ -+ -+Fri Dec 9 14:23:22 1994 Kazutaka YOKOTA -+ -+ * grotty/tty.cc (add_char): EUCʸ»ú¤ËÂФ·¤ÆWCHAR_MODE¤òÀßÄꤷ¤Æ¤¤ -+ ¤Ê¤«¤Ã¤¿¤¿¤á¡¢tty½ÐÎϤǥ´¥·¥Ã¥¯ÂΤ¬Æó½ÅÂǤÁ¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¡£ -+ -+Fri Dec 9 14:19:33 1994 Kazutaka YOKOTA -+ -+ * devdvi/Makefile.sub: ¥Õ¥©¥ó¥È¥Õ¥¡¥¤¥ë G ¤Ç¡¢name¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤¬ -+ `name M'¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -+ -+Wed Nov 30 13:24:54 1994 Kitagawa Toshiyuki -+ -+ * ¥Ð¡¼¥¸¥ç¥ó0.96¡£ -+ -+ * grodvi/dvi.cc: FreeBSD 1.1.5R¤Îstrcmp(3)¤Ç¤Ï°ú¿ô¤Ë¥Ì¥ë¥Ý¥¤¥ó¥¿¤ò -+ ÅϤ¹¤È¥³¥¢¥À¥ó¥×¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¤³¤ì¤ò²óÈò¤¹¤ë¥³¡¼¥É¤òÄɲä·¤¿¡£ -+ -+Tue Nov 29 13:52:54 1994 Kitagawa Toshiyuki -+ -+ * troff/input.cc: EUC¤Î¥¹¥Ú¡¼¥¹Ê¸»ú(0xa1a1)¤ÏASCII¤Î¥¹¥Ú¡¼¥¹Ê¸»ú¤È -+ ¤·¤Æ½èÍý¤¹¤ë¤è¤¦½¤Àµ¡£ -+ -+ * devnippon/createM: JISX0208¤Ë¤ª¤¤¤Æʸ»ú¤¬Ì¤ÄêµÁ¤ÎÉôʬ¤Ë¤Ä¤¤¤Æ¤Ï -+ ¥Õ¥©¥ó¥È¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤Ê¤¤¤è¤¦½¤Àµ¡£ -+ -+Mon Nov 28 18:15:31 1994 Kitagawa Toshiyuki -+ -+ * grodvi/dvi.cc: grodvi¤òÆüËܸ첽¤·¤¿¡£ -+ -+Fri Nov 25 15:39:05 1994 Kitagawa Toshiyuki -+ -+ * troff/env.cc: EUCʸ»ú¤Ç»Ï¤Þ¤ë¹Ô¤ËÂФ·¤Æ¶ÑÅù³ä¤êÉÕ¤±¤¬¹Ô¤ï¤ì¤¿¾ì -+ ¹ç¡¢¹ÔƬ¤Ë;ʬ¤Ê¶õÇò¤¬Æþ¤ë»ö¤¬¤¢¤Ã¤¿¤Î¤Ç¤³¤ì¤ò½¤Àµ¤·¤¿¡£ -+ -+Fri Nov 18 20:19:55 1994 Masubuchi Toshimichi -+ -+ * 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 -+ -+ * devnippon/createM.c: gets()¤òfgets()¤ËÊѹ¹¡£ -+ -+Sat Nov 12 13:38:19 1994 Kitagawa Toshiyuki -+ -+ * ¥Ð¡¼¥¸¥ç¥ó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 -+ -+ * troff/env.cc (add_char): + ¤Î¾ì¹ç¡¢´Ö¤ËÆþ¤ì -+ ¤ë¶õÇò¤Ï¶Ø§¤Ë°ãÈ¿¤·¤Ê¤¤¤«¤®¤ê¥Ö¥ì¡¼¥¯²Äǽ¤Ê¶õÇò¤¬Æþ¤ë¤è¤¦½¤Àµ¤·¤¿¡£ -+ -+ -+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\\$1 -+.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\\$1 -+.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\fC,u*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\fC0 -+.de sW -+.nr sW \w\fC\\$1 -+.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\fC\\*(A\\$1 -+.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\\*(b1u>=(\\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\\*(b1u>=(\\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\\*(b1u)>(\\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\\*(A1 u -+.nr eW \w\\*(A1 u -+'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu -+.. -+.de W2 -+.ta \w\\*(A1 u +\w\\*(A2 u -+.nr eW \w\\*(A1 u+\w\\*(A2 u -+'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu -+.. -+.de W3 -+.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u -+.nr eW \w\\*(A1 u+\w\\*(A2 u+\w\\*(A3 u -+'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu -+.. -+.de W4 -+.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u -+.nr eW \w\\*(A1 u+\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u -+'in \\n(.iu+\\n(eWu+\\n(o\\n(lCu -+.. -+.de W5 -+.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u -+.nr eW \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u -+' in \\n(.iu+\\n(eWu+\\n(o\\n(lCu -+.. -+.\" This is packed abnormally close, intercol width should be an option -+.de W6 -+.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u +\w\\*(A6 -+.nr eW \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u +\w\\*(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 ], -+ [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 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 - #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 -+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