about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CHANGES8
-rw-r--r--aclocal.m477
-rw-r--r--config.hin4
-rw-r--r--configure.in17
-rw-r--r--src/HTFWriter.c10
-rw-r--r--src/LYUtils.c22
-rw-r--r--src/UCdomap.c10
-rw-r--r--src/chrtrans/def7_uni.tbl472
-rw-r--r--src/chrtrans/entities.h7
-rw-r--r--src/chrtrans/iso01_uni.tbl61
-rw-r--r--src/chrtrans/makeuctb.c4
11 files changed, 583 insertions, 109 deletions
diff --git a/CHANGES b/CHANGES
index ccbcbe02..e0c9e1ba 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,9 +1,13 @@
--- $LynxId: CHANGES,v 1.237 2007/07/29 17:27:03 tom Exp $
+-- $LynxId: CHANGES,v 1.239 2007/07/31 20:45:28 tom Exp $
 ===============================================================================
 Changes since Lynx 2.8 release
 ===============================================================================
 
-2007-0?-?? (2.8.7dev.6)
+2007-08-02 (2.8.7dev.6)
+* additional def7_uni.tbl conversions (patch by Tim Larson).
+* quiet a message in HTFWriter.c -RS
+* improve IsOurSymlink() from 2.8.7dev.5 changes, allowing the symbolic link
+  to be relative to the directory -RS, TD
 * rewrote several autoconf macros to use extended searches in non-system
   locations, i.e., AM_ICONV, AM_WITH_NLS, CF_GNUTLS, CF_SSL, CF_WITH_BZLIB
   and CF_WITH_ZLIB (prompted by LV comments) -TD
diff --git a/aclocal.m4 b/aclocal.m4
index 7faa34c5..d3a0fd30 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-dnl $LynxId: aclocal.m4,v 1.119 2007/07/30 00:49:10 tom Exp $
+dnl $LynxId: aclocal.m4,v 1.121 2007/07/30 23:23:37 tom Exp $
 dnl Macros for auto-configure script.
 dnl by T.E.Dickey <dickey@invisible-island.net>
 dnl and Jim Spath <jspath@mail.bcpl.lib.md.us>
@@ -123,7 +123,7 @@ strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl AM_ICONV version: 11 updated: 2007/07/29 13:35:20
+dnl AM_ICONV version: 12 updated: 2007/07/30 19:12:03
 dnl --------
 dnl Inserted as requested by gettext 0.10.40
 dnl File from /usr/share/aclocal
@@ -186,7 +186,7 @@ size_t iconv();
   LIBICONV=
   if test "$cf_cv_find_linkage_iconv" = yes; then
     CF_ADD_INCDIR($cf_cv_header_path_iconv)
-    if test -n "$cf_cv_library_path_iconv" ; then
+    if test -n "$cf_cv_library_file_iconv" ; then
       LIBICONV="-liconv"
       CF_ADD_LIBDIR($cf_cv_library_path_iconv)
     fi
@@ -698,7 +698,7 @@ AC_SUBST(EXTRA_CPPFLAGS)
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_INCDIR version: 6 updated: 2007/07/29 12:32:41
+dnl CF_ADD_INCDIR version: 8 updated: 2007/07/30 19:22:58
 dnl -------------
 dnl Add an include-directory to $CPPFLAGS.  Don't add /usr/include, since it's
 dnl redundant.  We don't normally need to add -I/usr/local/include for gcc,
@@ -710,35 +710,52 @@ AC_DEFUN([CF_ADD_INCDIR],
 if test -n "$1" ; then
   for cf_add_incdir in $1
   do
-      while true
-      do
-          case $cf_add_incdir in
-          /usr/include) # (vi
-              ;;
-          /usr/local/include) # (vi
-              if test "$GCC" = yes
-              then
-                  cf_save_CPPFLAGS="$CPPFLAGS"
-                  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-                  AC_TRY_COMPILE([#include <stdio.h>],
-                          [printf("Hello")],
-                          [],
-                          [CPPFLAGS="$cf_save_CPPFLAGS"])
-              fi
-              ;;
-          *) # (vi
-              CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-              ;;
-          esac
+	while test $cf_add_incdir != /usr/include
+	do
+	  if test -d $cf_add_incdir
+	  then
+		cf_have_incdir=no
+		if test -n "$CFLAGS$CPPFLAGS" ; then
+		  # a loop is needed to ensure we can add subdirs of existing dirs
+		  for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+			if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+			  cf_have_incdir=yes; break
+			fi
+		  done
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+          if test "$cf_add_incdir" = /usr/local/include ; then
+			if test "$GCC" = yes
+			then
+			  cf_save_CPPFLAGS=$CPPFLAGS
+			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+			  AC_TRY_COMPILE([#include <stdio.h>],
+				  [printf("Hello")],
+				  [],
+				  [cf_have_incdir=yes])
+			  CPPFLAGS=$cf_save_CPPFLAGS
+			fi
+		  fi
+		fi
+
+		if test "$cf_have_incdir" = no ; then
+		  AC_VERBOSE(adding $cf_add_incdir to include-path)
+		  ifelse($2,,CPPFLAGS,$2)="-I$cf_add_incdir $ifelse($2,,CPPFLAGS,[$]$2)"
+
           cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
           test "$cf_top_incdir" = "$cf_add_incdir" && break
           cf_add_incdir="$cf_top_incdir"
-      done
+		else
+		  break
+		fi
+	  fi
+	done
   done
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_LIBDIR version: 4 updated: 2007/07/29 12:32:41
+dnl CF_ADD_LIBDIR version: 5 updated: 2007/07/30 19:12:03
 dnl -------------
 dnl	Adds to the library-path
 dnl
@@ -757,11 +774,11 @@ if test -n "$1" ; then
     elif test -d $cf_add_libdir
     then
       cf_have_libdir=no
-      if test -n "$LDFLAGS" ; then
+      if test -n "$LDFLAGS$LIBS" ; then
         # a loop is needed to ensure we can add subdirs of existing dirs
-        for cf_test_libdir in "$LDFLAGS" ; do
+        for cf_test_libdir in $LDFLAGS $LIBS ; do
           if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
-            cf_have_libdir = yes; break
+            cf_have_libdir=yes; break
           fi
         done
       fi
@@ -1383,7 +1400,7 @@ fi
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CHECK_SSL_X509 version: 1 updated: 2007/07/29 11:32:00
+dnl CF_CHECK_SSL_X509 version: 2 updated: 2007/07/30 19:12:03
 dnl -----------------
 dnl Check for X509 support in the SSL library.
 AC_DEFUN([CF_CHECK_SSL_X509],[
diff --git a/config.hin b/config.hin
index addffec2..95afdec4 100644
--- a/config.hin
+++ b/config.hin
@@ -1,5 +1,5 @@
 /*
- * $LynxId: config.hin,v 1.96 2007/05/06 19:47:52 tom Exp $
+ * $LynxId: config.hin,v 1.97 2007/07/30 23:15:45 tom Exp $
  * vile:cmode
  *
  * The configure script translates "config.hin" into "lynx_cfg.h"
@@ -83,6 +83,7 @@
 #undef HAVE_GETTIMEOFDAY
 #undef HAVE_GETUID
 #undef HAVE_H_ERRNO
+#undef HAVE_ICONV		/* AM_ICONV */
 #undef HAVE_INET_ATON		/* CF_INET_ADDR */
 #undef HAVE_JCURSES_H
 #undef HAVE_KEYPAD
@@ -174,6 +175,7 @@
 #undef HAVE___ARGZ_COUNT	/* AM_GNU_GETTEXT */
 #undef HAVE___ARGZ_NEXT		/* AM_GNU_GETTEXT */
 #undef HAVE___ARGZ_STRINGIFY	/* AM_GNU_GETTEXT */
+#undef ICONV_CONST		/* AM_ICONV */
 #undef IGNORE_CTRL_C		/* FIXME: make tests? */
 #undef INCLUDE_PROTOTYPES	/* CF_SOCKS5 */
 #undef INSTALL_ARGS		/* CF_PATH_PROG(install) */
diff --git a/configure.in b/configure.in
index 58fa7cce..d730adb6 100644
--- a/configure.in
+++ b/configure.in
@@ -1,4 +1,4 @@
-dnl $LynxId: configure.in,v 1.157 2007/07/29 17:17:01 tom Exp $
+dnl $LynxId: configure.in,v 1.158 2007/07/30 22:12:37 tom Exp $
 dnl
 dnl Process this file with autoconf to produce a configure script.
 dnl
@@ -822,6 +822,9 @@ AC_MSG_RESULT($use_ja_utf8)
 if test $use_ja_utf8 != no ; then
 	AC_DEFINE(EXP_JAPANESEUTF8_SUPPORT)
 	AM_ICONV
+	if test "$USE_NLS" != yes ; then
+	  LIBS="$LIBICONV $LIBS"
+	fi
 fi
 
 use_dft_colors=no
@@ -989,15 +992,19 @@ if test $use_setfont = yes ; then
 	linux*)
 		CF_PATH_PROG(SETFONT, consolechars, setfont)
 		;;
+	os2*)
+		SETFONT=built-in
+		CF_VERBOSE(Assume $host_os has font-switching)
+		;;
 	*)
 		SETFONT=unknown
-		CF_VERBOSE(Assume $host_os has font-switching)
+		CF_VERBOSE(Assume $host_os has no font-switching)
 		;;
 	esac
-	if test -n "$SETFONT" ; then
-		AC_DEFINE(EXP_CHARTRANS_AUTOSWITCH)
-	else
+	if test -z "$SETFONT" ; then
 		AC_MSG_WARN(Cannot find a font-setting program)
+	elif test "$SETFONT" != unknown ; then
+		AC_DEFINE(EXP_CHARTRANS_AUTOSWITCH)
 	fi
 fi
 
diff --git a/src/HTFWriter.c b/src/HTFWriter.c
index 755425b2..fd880949 100644
--- a/src/HTFWriter.c
+++ b/src/HTFWriter.c
@@ -1,4 +1,7 @@
-/*		FILE WRITER				HTFWrite.h
+/*
+ * $LynxId: HTFWriter.c,v 1.89 2007/07/31 20:57:23 tom Exp $
+ *
+ *		FILE WRITER				HTFWrite.h
  *		===========
  *
  *	This version of the stream object just writes to a C file.
@@ -34,6 +37,7 @@
 #include <LYLeaks.h>
 #include <LYKeymap.h>
 #include <LYGetFile.h>
+#include <LYHistory.h>		/* store statusline messages */
 
 #ifdef USE_PERSISTENT_COOKIES
 #include <LYCookie.h>
@@ -314,8 +318,10 @@ static void HTFWriter_free(HTStream *me)
 		    if (!dump_output_immediately) {
 			/*
 			 * Tell user what's happening.  - FM
+			 * HTInfoMsg2(WWW_USING_MESSAGE, addr);
+			 * but only in the history, not on screen -RS
 			 */
-			HTInfoMsg2(WWW_USING_MESSAGE, addr);
+			LYstore_message2(WWW_USING_MESSAGE, addr);
 		    }
 
 		    if (skip_loadfile) {
diff --git a/src/LYUtils.c b/src/LYUtils.c
index 18199133..cd5423d8 100644
--- a/src/LYUtils.c
+++ b/src/LYUtils.c
@@ -1,4 +1,4 @@
-/* $LynxId: LYUtils.c,v 1.161 2007/07/22 23:53:16 tom Exp $ */
+/* $LynxId: LYUtils.c,v 1.162 2007/07/31 00:45:03 tom Exp $ */
 #include <HTUtils.h>
 #include <HTTCP.h>
 #include <HTParse.h>
@@ -5884,15 +5884,31 @@ static BOOL IsOurSymlink(const char *name)
     char *buffer = typeMallocn(char, size);
 
     if (buffer != 0) {
-	while ((used = readlink(name, buffer, size)) == -1) {
+	while ((used = readlink(name, buffer, size - 1)) == size - 1) {
 	    buffer = typeRealloc(char, buffer, size *= 2);
 
 	    if (buffer == 0)
 		break;
 	}
-	buffer[used] = '\0';
+	if (used > 0) {
+	    buffer[used] = '\0';
+	} else {
+	    FREE(buffer);
+	}
     }
     if (buffer != 0) {
+	if (!LYisAbsPath(buffer)) {
+	    char *cutoff = LYLastPathSep(name);
+	    char *clone = NULL;
+
+	    if (cutoff != 0) {
+		HTSprintf0(&clone, "%.*s%s%s",
+			   cutoff - name,
+			   name, PATHSEP_STR, buffer);
+		FREE(buffer);
+		buffer = clone;
+	    }
+	}
 	CTRACE2(TRACE_CFG, (tfp, "IsOurSymlink(%s -> %s)\n", name, buffer));
 	result = IsOurFile(buffer);
 	FREE(buffer);
diff --git a/src/UCdomap.c b/src/UCdomap.c
index 61452112..48c77400 100644
--- a/src/UCdomap.c
+++ b/src/UCdomap.c
@@ -1,5 +1,5 @@
 /*
- * $LynxId: UCdomap.c,v 1.66 2007/07/01 22:02:38 Thorsten.Glaser Exp $
+ * $LynxId: UCdomap.c,v 1.67 2007/07/30 19:43:05 tom Exp $
  *
  *  UCdomap.c
  *  =========
@@ -956,7 +956,7 @@ int UCTransUniCharStr(char *outbuf,
 	    FREE(tocode);
 	    if (cd == (iconv_t) (-1))
 		cd = iconv_open(LYCharSet_UC[charset_out].MIMEname, "UTF-16BE");
-	    rc = iconv(cd, &pin, &inleft, &pout, &outleft);
+	    rc = iconv(cd, (ICONV_CONST char **) &pin, &inleft, &pout, &outleft);
 	    iconv_close(cd);
 	    if ((pout - outbuf) == 3) {
 		CTRACE((tfp,
@@ -1122,7 +1122,7 @@ long int UCTransJPToUni(char *inbuf,
     olen = buflen;
 
     cd = iconv_open("UTF-16BE", LYCharSet_UC[charset_in].MIMEname);
-    rc = iconv(cd, &pin, &ilen, &pout, &olen);
+    rc = iconv(cd, (ICONV_CONST char **) &pin, &ilen, &pout, &olen);
     iconv_close(cd);
     if ((ilen == 0) && (olen == 0)) {
 	return (((unsigned char) outbuf[0]) << 8) + (unsigned char) outbuf[1];
@@ -1168,7 +1168,7 @@ long int UCTransToUni(char ch_in,
 		    buffer[2] = 0;
 
 		    cd = iconv_open("UTF-16BE", "Shift_JIS");
-		    rc = iconv(cd, &pin, &ilen, &pout, &olen);
+		    rc = iconv(cd, (ICONV_CONST char **) &pin, &ilen, &pout, &olen);
 		    iconv_close(cd);
 		    inx = 0;
 		    if ((ilen == 0) && (olen == 0)) {
@@ -1191,7 +1191,7 @@ long int UCTransToUni(char ch_in,
 		    buffer[2] = 0;
 
 		    cd = iconv_open("UTF-16BE", "EUC-JP");
-		    rc = iconv(cd, &pin, &ilen, &pout, &olen);
+		    rc = iconv(cd, (ICONV_CONST char **) &pin, &ilen, &pout, &olen);
 		    iconv_close(cd);
 		    inx = 0;
 		    if ((ilen == 0) && (olen == 0)) {
diff --git a/src/chrtrans/def7_uni.tbl b/src/chrtrans/def7_uni.tbl
index 0c6cac2b..53700513 100644
--- a/src/chrtrans/def7_uni.tbl
+++ b/src/chrtrans/def7_uni.tbl
@@ -1,4 +1,4 @@
-# $LynxId: def7_uni.tbl,v 1.26 2007/06/24 23:47:14 tom Exp $
+# $LynxId: def7_uni.tbl,v 1.27 2007/07/31 20:36:52 Tim.Larson Exp $
 # Default 7bit replacements.
 #
 # This table is very important and should not be excluded from the distribution
@@ -1517,24 +1517,109 @@ U+217f:m
 U+2180:1000RCD
 U+2181:5000R
 U+2182:10000R
+# Arrows
 U+2190:<-
-U+2191:-^
+U+2191 "^|"	# upwards arrow "-^"
 U+2192:->
-U+2193:-v
+U+2193 "|v"	# downwards arrow "-v"
 U+2194:<->
-U+2195:UD
-U+2196:<!!
-U+2197://>
-U+2198:!!>
-U+2199:<//
-U+21a8:UD-
+U+2195 "^|v"	# up down arrow "UD"
+U+2196:^\
+U+2197:/^
+U+2198:\v
+U+2199:v/
+U+219a:</-
+U+219b:-/>
+U+219c:<~
+U+219d:~>
+U+219e:<<-
+U+219f:^^|
+U+21a0:->>
+U+21a1:|vv
+U+21a2:<-<
+U+21a3:>->
+U+21a4:<-|
+U+21a5:^|_
+U+21a6:|->
+U+21a8 "^|v_"	# up down arrow with base "UD-"
+U+21ad:<~>
+U+21ae:<-/->
+U+21af:Nv
+U+21b0:<^|
+U+21b1:|^>
+U+21b2:<v|
+U+21b3:|v>
+U+21b4:-v
 U+21B5:RET
-U+21c0:>V
+U+21ba:u<
+U+21bb:>u
+U+21bc:<-
+U+21bd:<-
+U+21be:^|
+U+21bf:^|
+U+21c0:->
+U+21c1:->
+U+21c2:|v
+U+21c3:|v
+U+21c4:<=>
+U+21c5:^||v
+U+21c6:<=>
+U+21c7:<<=
+U+21c8:^|^|
+U+21c9:=>>
+U+21ca:|v|v
+U+21cb:<=>
+U+21cc:<=>
+U+21cd:<=/=
+U+21ce:<=/=>
+U+21cf:=/=>
 U+21d0:<=
-U+21d1:^^
+U+21d1 "^||"	# upwards double arrow "^^"
 U+21d2:=>
-U+21d3:vv
+U+21d3 "||v"	# downwards double arrow "vv"
 U+21d4:<=>
+U+21d5:^||v
+U+21d6:^\\
+U+21d7://^
+U+21d8:\\v
+U+21d9:v//
+U+21da:<-=
+U+21db:=->
+U+21dc:<~
+U+21dd:~>
+U+21de:^|=|
+U+21df:|=|v
+U+21e0:<-
+U+21e1:^:
+U+21e2:->
+U+21e3::v
+U+21e4:|<-
+U+21e5:->|
+U+21e6:<-
+U+21e7:^|
+U+21e8:->
+U+21e9:|v
+U+21ea:^!
+U+21eb:^I
+U+21ec:^-I
+U+21ed:^|I
+U+21ee:^^|
+U+21ef:^^I
+U+21f0:|->
+U+21f2:\v_|
+U+21f3:^|v
+U+21f4:-o>
+U+21f5:|v^|
+U+21f6:=->>>
+U+21f7:<-|-
+U+21f8:-|->
+U+21f9:<-|->
+U+21fa:<-||-
+U+21fb:-||->
+U+21fc:<-||->
+U+21fd:<-
+U+21fe:->
+U+21ff:<->
 U+2200:FA
 U+2201:C
 U+2202:\partial
@@ -1926,29 +2011,54 @@ U+25d9:Ic
 U+25e2:Fd
 U+25e3:Bd
 U+25ef:Ci
+# Miscellaneous Symbols
 U+2600 "SU"	# cf. U+263c
-U+2605:*2
-U+2606:*1
-U+2609 "Sol"	# cf. astronomical symbols U+263d - U+2647 vs star-like depictions U+2600 and U+263c
+U+2601:cOo
+U+2602:J
+U+2603:"8"
+U+2605:*
+U+2606:*
+U+2607:<v
+U+2608:Rv
+U+2609 "Sol"	# cf. astrological symbols U+263c - U+2647, star-like U+2600 
+U+260a:Asc.
+U+260b:Desc.
 U+260c:Conj.
 U+260d:Opp.
 U+260e:TEL
 U+260f:tel
 0x58    U+2611  U+2612  # checked ballot boxes -> x
 U+2613:X
+U+2614 "\"J\""	# umbrella with rain drops, quote marks are part of the symbol
+U+2615:Joe
 U+261a:<==
 U+261b:==>
 U+261c:<--
+U+261d:||^
 U+261e:-->
+U+261f:||v
 U+2620 "!X!"	# or "POISON ", cf. U+2621
-U+2621 "!C!"	# previously "CAUTION " - or is it better to leave it spelled out in English?
+U+2621 "!Z!"	# previously "CAUTION " - or is it better to leave it spelled out in English?
 U+2622 "!R!"	# or "RADIOACTIVE ", cf. U+2621
 U+2623 "!B!"	# or "BIOHAZARD ", cf. U+2621
 U+2624 "2TS"	# cf. U+2695
+U+2626:t
 U+2627:XP
+U+2628:t
+U+2629:+
 U+262a:(*
+U+262d:'\,)
 U+262e:(PEACE)
 U+262f:Pd
+U+2630:-HVN-
+U+2631:-LAK-
+U+2632:-FIR-
+U+2633:-THR-
+U+2634:-WND-
+U+2635:-WTR-
+U+2636:-MTN-
+U+2637:-RTH-
+U+2638:*
 U+2639::-(
 U+263a::-)
 U+263b:(-:
@@ -1965,56 +2075,61 @@ U+2645:Ura
 U+2646:Nep
 U+2647:Plu
 U+2648 "Ari"	# Standard astronomical abbreviation
-U+2649 "Tau"	# Standard astronomical abbreviation
-U+264a "Gem"	# Standard astronomical abbreviation
-U+264b "Cnc"	# Standard astronomical abbreviation
-U+264c "Leo"	# Standard astronomical abbreviation
-U+264d "Vir"	# Standard astronomical abbreviation
-U+264e "Lib"	# Standard astronomical abbreviation
-U+264f "Sco"	# Standard astronomical abbreviation
-U+2650 "Sgr"	# Standard astronomical abbreviation
-U+2651 "Cap"	# Standard astronomical abbreviation
-U+2652 "Aqr"	# Standard astronomical abbreviation
-U+2653 "Psc"	# Standard astronomical abbreviation
-U+2654 "k"	# white pieces lowercase
+U+2649 "Tau"
+U+264a "Gem"
+U+264b "Cnc"
+U+264c "Leo"
+U+264d "Vir"
+U+264e "Lib"
+U+264f "Sco"
+U+2650 "Sgr"
+U+2651 "Cap"
+U+2652 "Aqr"
+U+2653 "Psc"
+U+2654 "k"	# white chess king
 U+2655:q
 U+2656:r
 U+2657:b
 U+2658:n
 U+2659:p
-U+265a "K"	# black pieces uppercase
+U+265a "K"	# black chess king
 U+265b:Q
 U+265c:R
 U+265d:B
 U+265e:N
 U+265f:P
-U+2660:cS
-U+2661:cH
-U+2662:cD
+U+2660 "cS"	# black spade suit
+U+2661:ch
+U+2662:cd
 U+2663:cC
-U+2664:cS-
-U+2665:cH-
-U+2666:cD-
-U+2667:cC-
-U+2669:Md
-U+266a:M8
-U+266b:M2
-U+266c:M16
+U+2664:cs
+U+2665:cH
+U+2666:cD
+U+2667:cc
+#Musical symbols
+U+2669:d
+U+266a:d`
+U+266b:d-d
+U+266c:d=d
 U+266d:b
-U+266e:Mx
+U+266e:N
 U+266f:#
-U+2672:recyc
-U+2673:Recy1
-U+2674:Recy2
-U+2675:Recy3
-U+2676:Recy4
-U+2677:Recy5
-U+2678:Recy6
-U+2679:Recy7
-U+267a:Recy
-U+267b:Recyc
-U+267c:oRecy
-U+267d:orecy
+U+2670:t
+U+2671:t
+#Recycling symbols
+U+2672:/_\
+U+2673:/1\
+U+2674:/2\
+U+2675:/3\
+U+2676:/4\
+U+2677:/5\
+U+2678:/6\
+U+2679:/7\
+U+267a:/_\
+U+267b:/_\
+U+267c:/P\
+U+267d:/p\
+U+267e:(oo)
 U+267f "oL"	# wheelchair symbol
 U+2680:d1
 U+2681:d2
@@ -2022,11 +2137,21 @@ U+2682:d3
 U+2683:d4
 U+2684:d5
 U+2685:d6
+U+2686:(.)
+U+2687:(:)
+U+2688:((.))
+U+2689:((:))
+U+2690 " f "
+U+2691 " F "
+U+2692:'X`
+U+2693 "+-)"	# anchor (sideways)
+U+2694:,X,
 U+2695 "$"	# cf. U+2624
 U+2696 "^T^"	# scales of justice
 U+269a "}T{"	# staff of Hermes
+U+269b ":*:"	# atom symbol
 U+269c "}|{"	# fleur-de-lis
-U+26a0 "!W!"	# or "WARNING ", cf. U+2621
+U+26a0 "!!!"	# or "WARNING ", cf. U+2621
 U+26a1 "!V!"	# or "VOLTAGE ", cf. U+2621
 U+26a2 "f.f."	# two females, lesbian
 U+26a3 "m.m."	# two males, homosexual
@@ -2034,15 +2159,227 @@ U+26a4 "m.f."	# male and female, bisexual
 U+26a5 "mf."	# cf. U+26A4
 U+26a6 "xm."	# transgendered male
 U+26a7 "xmf."	# transgendered male/female
-U+26ac "  o  "	# engaged, betrothed
-U+26ad "oMARo"	# marriage
-U+26ae " D|V "	# divorce
+U+26aa:o
+U+26ab:O
+U+26ac:o
+U+26ad:oo
+U+26ae:o|o
+U+26af:o-o
 U+26b0 "/b/"	# buried/coffin
 U+26b1 "/c/"	# cremated/urn
+U+26b2 "n."	# cf. U+26a2 - U+26a7
+# Dingbats
+U+2702:8<
+U+2704:>8
 U+2706:(TEL)
+U+2708:+->-
 U+2709 "[v]"	# envelope
-0x58	U+2713	U+2717	# check marks -> x
+U+270c:mV,
+0x58	U+2713	U+2714	U+2717	U+2718	# check marks -> x
+U+2715: x
+U+2716: X
+U+2719:+
+U+271a:+
+U+271b:+
+U+271c:+
+U+271d:t
+U+271e:t
+U+271f:t
 U+2720:-X
+0x2a	U+2721	U+272a	U+272b	U+272c	U+272d	U+272e	U+272f	U+2730	U+2731	U+2732	U+2733	U+2734	U+2735	U+2736	U+2737	U+2738	U+2739	U+273a	U+273b	U+273c	U+273d
+0x2a	U+2742	U+2743	U+2744	U+2745	U+2746	U+2747	U+2748	U+2749	U+274a	U+274b
+U+2756:<x>
+U+2758:|
+U+2759:|
+U+275a:|
+U+275b:'
+U+275c:'
+U+275d:"
+U+275e:"
+U+2762:!
+U+2763:!
+U+2765:<3
+U+2768:(
+U+2769:)
+U+276a:(
+U+276b:)
+U+276c:<
+U+276d:>
+U+276e:<
+U+276f:>
+U+2770:<
+U+2771:>
+U+2772:[
+U+2773:]
+U+2774:{
+U+2775:}
+U+2776:((1))
+U+2777:((2))
+U+2778:((3))
+U+2779:((4))
+U+277a:((5))
+U+277b:((6))
+U+277c:((7))
+U+277d:((8))
+U+277e:((9))
+U+277f:((10))
+U+2780:(1)
+U+2781:(2)
+U+2782:(3)
+U+2783:(4)
+U+2784:(5)
+U+2785:(6)
+U+2786:(7)
+U+2787:(8)
+U+2788:(9)
+U+2789:(10)
+U+278a:((1))
+U+278b:((2))
+U+278c:((3))
+U+278d:((4))
+U+278e:((5))
+U+278f:((6))
+U+2790:((7))
+U+2791:((8))
+U+2792:((9))
+U+2793:((10))
+U+2794:->
+U+2798:\v
+U+2799:->
+U+279a:/^
+U+279b:->
+U+279c:->
+U+279d:->
+U+279e:->
+U+279f:->
+U+27a0:->
+U+27a1:->
+U+27a2:>
+U+27a3:>
+U+27a4:>
+U+27a5:->
+U+27a6:->
+U+27a7:->
+U+27a8:->
+U+27a9:->
+U+27aa:->
+U+27ab:->
+U+27ac:->
+U+27ad:->
+U+27ae:->
+U+27af:->
+U+27b0:->
+U+27b2:(->)
+U+27b3:>>->
+U+27b4:vv\v
+U+27b5:>>->
+U+27b6:^^/^
+U+27b7:vv\v
+U+27b8:>>->
+U+27b9:^^/^
+U+27ba:->
+U+27bb:->
+U+27bc:->
+U+27bd:->
+U+27be:->
+# Supplemental Arrows A
+U+27f0:^||||
+U+27f1:||||v
+U+27f2:vO
+U+27f3:Ov
+U+27f4:(+)>
+U+27f5:<---
+U+27f6:--->
+U+27f7:<--->
+U+27f8:<===
+U+27f9:===>
+U+27fa:<===>
+U+27fb:<---|
+U+27fc:|--->
+U+27fd:<===|
+U+27fe:|===>
+U+27ff:~~~>
+# Supplemental Arrows B
+U+2900:-|->>
+U+2901:-||->>
+U+2902:<=|=
+U+2903:=|=>
+U+2904:<=|=>
+U+2905:|->>
+U+2906:<=|
+U+2907:|=>
+U+2908:|-|v
+U+2909:^|-|
+U+290a:^|||
+U+290b:|||v
+U+290c:<- -
+U+290d:- ->
+U+290e:<- - -
+U+290f:- - ->
+U+2910:>- - ->
+U+2911:->
+U+2913:|v_
+U+2914:>-|->
+U+2915:>-||->
+U+2916:>->>
+U+2917:>-|->>
+U+2918:>-||->>
+U+2919:-<
+U+291a:>-
+U+291b:-<<
+U+291c:>>-
+U+291d:<><-
+U+291e:-><>
+U+291f:<><-|
+U+2920:|-><>
+U+2921:^\v
+U+2922:v/^
+U+2923:^\,
+U+2924:,/^
+U+2927:^X^
+U+292b:X
+U+292c:X
+U+292d:Xv^
+U+292e:X^v
+U+292f:X ^
+U+2930:X v
+U+2931:^X^
+U+2932:^X^
+U+2933:~>
+U+2934:-^
+U+2935:-v
+U+2938:)v
+U+2939:(v
+U+2945:->+
+U+2946:<-+
+U+2947:-x->
+U+2948:<-o->
+U+2949:^^|o
+U+294a:<->
+U+294b:<->
+U+294c:^|v
+U+294d:^|v
+U+294e:<->
+U+294f:^|v
+U+2950:<->
+U+2951:^|v
+U+2952:|<-
+U+2953:->|
+U+2955:|v_
+U+2956:|<-
+U+2957:->|
+U+2959:|v_
+U+295a:<-|
+U+295b:|->
+U+295c:^|_
+U+295e:<-|
+U+295f:|->
+U+2960:^|_
+U+2962:<=
+U+2963:^||
+U+2964:=>
+U+2965:||v
+U+2970:=)
 U+2a00 "(.)"
 U+2a01 "(+)"
 U+2a02 "(x)"
@@ -2063,6 +2400,25 @@ U+2a74:::=
 U+2a75:==
 U+2a76:===
 U+2a77::=:
+#Miscellaneous Symbols and Arrows
+U+2b00:/^
+U+2b01:^\
+U+2b02:\v
+U+2b03:v/
+U+2b04:<->
+U+2b05:<-
+U+2b06:^|
+U+2b07:|v
+U+2b08:/^
+U+2b09:^\
+U+2b0a:\v
+U+2b0b:v/
+U+2b0c:<->
+U+2b0d:^|v
+U+2b0e:-v
+U+2b0f:-^
+U+2b10:v-
+U+2b11:^-
 #  CJK area:
 0x20	U+3000	# ideographic space
 U+3001:,_
diff --git a/src/chrtrans/entities.h b/src/chrtrans/entities.h
index e5cf2c8b..40816495 100644
--- a/src/chrtrans/entities.h
+++ b/src/chrtrans/entities.h
@@ -1,4 +1,7 @@
-/*	Entity Names to Unicode table
+/*
+ * $LynxId: entities.h,v 1.5 2007/07/31 20:40:07 Tim.Larson Exp $
+ *
+ *     Entity Names to Unicode table
  *     -----------------------------
  *
  *     This is a one-way mapping to Unicode so chartrans implementation
@@ -14,7 +17,7 @@ compatibility between browsers.
 Now we have a choice:  use clean HTML4.0 entities list (and reject everithing
 others), or use a relaxed list with lots of synonyms and new symbols found at
 
-ftp://ftp.unicode.org/MAPPINGS/VENDORS/MISC/SGML.TXT
+ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/SGML.TXT
 
 We hold both: #define ENTITIES_HTML40_ONLY for strict version,
 otherwise relaxed.
diff --git a/src/chrtrans/iso01_uni.tbl b/src/chrtrans/iso01_uni.tbl
index a042e636..95e705e2 100644
--- a/src/chrtrans/iso01_uni.tbl
+++ b/src/chrtrans/iso01_uni.tbl
@@ -1,3 +1,5 @@
+# $LynxId: iso01_uni.tbl,v 1.11 2007/07/31 20:35:04 Tim.Larson Exp $
+# vile:tblmode:
 # This file has been modified for lynx (see README.tables)
 
 #Shall this become the "default" translation?
@@ -263,6 +265,18 @@ C819
 
 0xd0	U+0110	# Dstrok and ETH are nearly the same...
 
+U+219e "\253-"
+U+21a0 "-\273"
+U+21ab "<-\260"
+U+21ac "\260->"
+U+21b4 "\254v"
+U+21b8 "\257^\134"
+U+21c7 "\253="
+U+21c9 "=\273"
+U+21e0 "<\267\267"
+U+21e2 "\267\267>"
+U+21f1 "|\257^\134"
+U+21f6 "=-\273>"
 U+2218 " \260 "		# RING OPERATOR
 U+221b " ROOT\263 "
 U+2297 "(\327)"		# CIRCLED TIMES
@@ -271,3 +285,50 @@ U+229A "(\260)"		# CIRCLED RING OPERATOR
 U+22A0 "[\327]"		# SQUARED TIMES
 U+22A1 "[\267]"		# SQUARED DOT OPERATOR
 U+22C5 " \267 "		# DOT OPERATOR
+U+2603 "\2508\250"
+U+2609 "(\267)"
+U+2614 "\250J\250"
+U+262d "\264\134,)"
+U+266b "d\257d"
+U+2686 "(\267)"
+U+2688 "((\267))"
+U+2692 "\264X`"
+U+2694 ",\327,"
+U+2697 "\360"
+U+2698 "\316"
+U+2699 "\244"
+U+269b ":\244:"
+U+2701 "8\264"
+U+270c "mV\270"
+U+2721 "\244"
+U+273f "\244"
+U+2740 "\244"
+U+2741 "\244"
+U+2761 "\266"
+U+279f "\267->"
+U+27a0 "\267->"
+U+27a7 "\267>"
+U+2900 "-|-\273"
+U+2901 "-||-\273"
+U+2905 "|-\273"
+U+290c "<-\267"
+U+290d "\267->"
+U+290e "<-\267\267"
+U+290f "\267\267->"
+U+2910 ">\267\267-\273"
+U+2911 "\267\267>"
+U+2912 "\257^|"
+U+2916 ">-\273"
+U+2917 ">-|-\273"
+U+2918 ">-||-\273"
+U+291b "-\253"
+U+291c "\273-"
+U+2923 "^\134\270"
+U+2924 "\270/^"
+U+2942 "-><\267"
+U+2943 "<-\267>"
+U+2944 "\267><-"
+U+2954 "\257^|"
+U+2958 "\257^|"
+U+295d "\257|v"
+U+2961 "\257|v"
diff --git a/src/chrtrans/makeuctb.c b/src/chrtrans/makeuctb.c
index e4752b0c..43110496 100644
--- a/src/chrtrans/makeuctb.c
+++ b/src/chrtrans/makeuctb.c
@@ -1,4 +1,6 @@
 /*
+ * $LynxId: makeuctb.c,v 1.35 2007/07/31 20:32:32 Tim.Larson Exp $
+ *
  *  makeuctb.c, derived from conmakehash.c   - kw
  *
  *    Original comments from conmakehash.c:
@@ -152,7 +154,7 @@ static int Raw_found = 0;	/* whether explicit R directive found */
 static int CodePage = 0;
 static int CodePage_found = 0;	/* whether explicit C directive found */
 
-#define MAX_UNIPAIRS 2500
+#define MAX_UNIPAIRS 4500
 
 static void addpair_str(char *str, int un)
 {