aboutsummaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/010_upstream.patch25938
-rw-r--r--debian/patches/010_w3m.1-debian-fix.patch20
-rw-r--r--debian/patches/020_config-guess.patch (renamed from debian/patches/030_config-debian-fix.patch)445
-rw-r--r--debian/patches/020_ja-w3m.1-debian-fix.patch64
-rw-r--r--debian/patches/040_gnukfreebsd-ftbfs-fix.patch11
-rw-r--r--debian/patches/050_w3mman-keep-formatting.patch28
-rw-r--r--debian/patches/060_check-null-cn.patch57
-rw-r--r--debian/patches/070_form-update.patch15
-rw-r--r--debian/patches/080_xhtml-support.patch232
-rw-r--r--debian/patches/090_simple-preserve-space.patch48
-rw-r--r--debian/patches/100_download-error-short-write.patch188
-rw-r--r--debian/patches/110_no-graph-restriction.patch11756
-rw-r--r--debian/patches/120_config-file-handling.patch38
-rw-r--r--debian/patches/130_rc-blank-line-fix.patch23
-rw-r--r--debian/patches/140_pseudo-inlines.patch75
-rw-r--r--debian/patches/150_numbered-links.patch163
-rw-r--r--debian/patches/160_tls-sni.patch18
-rw-r--r--debian/patches/170_number-prefix.patch39
-rw-r--r--debian/patches/180_non-xterm.patch32
-rw-r--r--debian/patches/190_codepage.patch196
-rw-r--r--debian/patches/series21
21 files changed, 26218 insertions, 13189 deletions
diff --git a/debian/patches/010_upstream.patch b/debian/patches/010_upstream.patch
new file mode 100644
index 0000000..b558096
--- /dev/null
+++ b/debian/patches/010_upstream.patch
@@ -0,0 +1,25938 @@
+Description: Upstream development snapshot on 2010-07-26
+Origin: upstream, http://w3m.cvs.sourceforge.net/viewvc/w3m/w3m/
+
+diff -urN w3m-0.5.2.orig/ChangeLog w3m/ChangeLog
+--- w3m-0.5.2.orig/ChangeLog 2007-05-31 21:17:05.000000000 +0900
++++ w3m/ChangeLog 2010-07-26 20:38:53.000000000 +0900
+@@ -1,3 +1,147 @@
++2010-07-26 d+w3m@vdr.jp
++
++ * [w3m-dev 04237] [patch] cookie avoid [wrong number of dots]
++ * rc.c: Introduce option cookie_avoid_wrong_number_of_dots.
++ * fm.h: add global variables cookie_avoid_wrong_number_of_dots and Cookie_avoid_wrong_number_of_dots_domains.
++ * cookie.c (check_avoid_wrong_number_of_dots_domain): added.
++ (add_cookie): use check_avoid_wrong_number_of_dots_domain().
++
++2010-07-26 Ito Hiroyuki <ZXB01226 at nifty.com>
++
++ * acinclude.m4: define AC_W3M_SSL_DIGEST_AUTH
++
++2010-07-25 AIDA Shinra <shinra@j10n.org>
++
++ * [w3m-dev 04049] Ctrl-C safe resolver
++ * fm.h (GRAPHIC_CHAR_ASCII, GRAPHIC_CHAR_CHARSET, GRAPHIC_CHAR_ALL): removed.
++ * fm.h: UseGraphicChar is initialized as FALSE.
++ * main.c (sig_chld): use TRUE and FALSE instead of GRAPHIC_CHAR_ALL and GRAPHIC_CHAR_ASCII.
++ * merge ambiguous width patch ( http://www.j10n.org/files/w3m-cvs-1.914-ambwidth.patch ).
++
++2010-07-24 Ito Hiroyuki <ZXB01226 at nifty.com>
++
++ * [w3m-dev 04326] suppress compile warnings
++ * file.c (digest_hex): type of the parameter s is "unsigned char *".
++ (AuthDigestCred): use unsigned char.
++ (ex_efct): type of the function is "static int".
++
++2010-07-20 Sascha Silbe <sascha-debian-bugs-w3m-1@silbe.org>
++
++ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523159#5
++ * url.c (openSSLHandle): add support for TLS SNI (Server Name Indication)
++
++2010-07-19 Karsten Schoelzel <kuser@gmx.de>
++
++ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=329862#20
++ * table.c (feed_table_tag): check displayLinkNumber.
++ * proto.h: add getLinkNumberStr().
++ * main.c (do_dump): check displayLinkNumber.
++ * fm.h: add global variable displayLinkNumber.
++ * file.c (getLinkNumberStr): added.
++ (process_input, process_select, HTMLtagproc1): check displayLinkNumber.
++
++2010-07-19 Karsten Schoelzel <kuser@gmx.de>
++
++ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=329863#8
++ * rc.c: Introduce option pseudo_inlines.
++ * fm.h: add global variable pseudoInlines.
++ * file.c (process_img): check q.
++
++2010-07-19 "Trent W. Buck" <twb@cybersource.com.au>
++
++ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=537706#10
++ * rc.c (interpret_rc): check line->length before call Strchop().
++
++2010-07-19 Karsten Schoelzel <kuser@gmx.de>
++
++ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=366284#5
++ * rc.c (init_rc): check config_file is NULL or not.
++ (panel_set_option): check config_file instead of no_rc_dir.
++
++2010-07-19 Karsten Schoelzel <kuser@gmx.de>
++
++ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=261174#10
++ * terms.c (graph_ok): check UseGraphicChar is GRAPHIC_CHAR_ALL or not.
++ * symbol.c (get_symbol): check UseGraphicChar.
++ * rc.c (graphic_char_str): added.
++ * main.c (sig_chld): use GRAPHIC_CHAR_ASCII and GRAPHIC_CHAR_ALL.
++ * fm.h (GRAPHIC_CHAR_ASCII, GRAPHIC_CHAR_CHARSET, GRAPHIC_CHAR_ALL): added.
++ * fm.h: UseGraphicChar is initialized as GRAPHIC_CHAR_ASCII.
++
++2010-07-19 Karsten Schoelzel <kuser@gmx.de>
++
++ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=185006#22
++ * main.c (sig_chld): save exit code to d->err.
++ (addDownloadList): initialize d->running and d->err.
++ (DownloadListBuffer): check d->err.
++
++ * fm.h (_DownloadList): add running and err.
++
++ * file.c (save2tmp): check returned value of Strfputs().
++ (doFileSave): exit code is depend on the returned value of save2tmp().
++
++2010-07-19 d+w3m@vdr.jp
++
++ * [w3m-dev 04238] [patch] simple preserve space
++ * rc.c: Introduce option simple_preserve_space.
++ * fm.h: add global variable SimplePreserveSpace.
++ * file.c (HTMLlineproc0): check SimplePreserveSpace.
++
++2010-07-18 Karsten Schoelzel <kuser@gmx.de>
++
++ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=242599#21
++ * file.c (is_html_type): added.
++ (examineFile, loadGeneralFile, _saveBuffer)
++ (openGeneralPagerBuffer, reloadBuffer): use is_html_type() instead
++ of strcasecmp().
++ (loadGeneralFile): set f.guess_tupe
++ * display.c (displayBuffer): use is_html_type() instead of strcasecmp().
++ * buffer.c (reshapeBuffer): use is_html_type() instead of strcasecmp().
++ * backend.c (internal_get): use is_html_type() instead of strcasecmp().
++ * main.c (vwSrc, reload, dispI, stopI): use is_html_type() instead of strcasecmp().
++ * proto.h: add is_html_type()
++ * url.c: add "xhtml" to DefaultGuess.
++
++2010-07-18 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
++
++ * [w3m-dev 04286] Re: break textform when buffer back
++ * form.c (form_update_line): set line->size
++
++2010-07-18 d+w3m@vdr.jp
++
++ * [w3m-dev 04319] Re: w3m's bugs from bugs.debian.org
++ * doc/w3m.1: fix typo.
++ * doc-jp/w3m.1: update
++
++2010-07-18 Petr Salinger <Petr.Salinger@seznam.cz>
++ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493486
++ * terms.c: fix version check logic for FreeBSD
++
++2010-07-18 Colin Watson <cjwatson@ubuntu.com>
++ * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=325699
++ * scripts/w3mman/w3mman2html.cgi.in (Content-Type): "MAN_KEEP_FORMATTING=1"
++
++2010-07-18 Ludwig Nussel <ludwig.nussel@...e.de>
++ * http://www.openwall.com/lists/oss-security/2010/06/14/4
++ * istream.c (ssl_check_cert_ident): replace \0 to make full string
++ visible to user (CVE-2010-2074).
++
++2007-06-07 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
++
++ * [w3m-dev 04279] charset
++ * libwc/ces.h, libwc/charset.c: set charset to Shift_JIS, when locale
++ is japanese, jp_JP.PCK, ja_JP.IBM-932, ja_JP.IBM-943, or windows-31j.
++
++2007-06-07 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
++
++ * [w3m-dev 04278] Re: segfault on CentOS4.5/libgc6.8
++ * term.c: add handling xterm-incompatible terminals without gpm.
++
++2007-06-04 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
++
++ * [w3m-dev 04271] vi_prec_num
++ * main.c: make number prefixes working when vi_prec_num=0.
++
+ 2007-05-31 Dai Sato <satodai@w3m.jp>
+
+ * w3m 0.5.2
+@@ -8917,4 +9061,4 @@
+ * release-0-2-1
+ * import w3m-0.2.1
+
+-$Id: ChangeLog,v 1.998 2007/05/31 12:17:05 inu Exp $
++$Id: ChangeLog,v 1.1021 2010/07/26 11:38:53 htrb Exp $
+diff -urN w3m-0.5.2.orig/acinclude.m4 w3m/acinclude.m4
+--- w3m-0.5.2.orig/acinclude.m4 2006-04-07 22:21:11.000000000 +0900
++++ w3m/acinclude.m4 2010-07-26 20:24:14.000000000 +0900
+@@ -283,18 +283,6 @@
+ AC_DEFINE_UNQUOTED(KEYBIND, $enable_keymap)])
+ #
+ # ----------------------------------------------------------------
+-# AC_W3M_DIGEST_AUTH
+-# ----------------------------------------------------------------
+-AC_DEFUN([AC_W3M_DIGEST_AUTH],
+-[AC_SUBST(USE_DIGEST_AUTH)
+- AC_MSG_CHECKING(if digest auth is enabled)
+- AC_ARG_ENABLE(digest_auth,
+- [ --disable-digest-auth disable digest auth],,
+- [enable_digest_auth="yes"])
+- test x"$enable_digest_auth" = xyes && AC_DEFINE(USE_DIGEST_AUTH)
+- AC_MSG_RESULT($enable_digest_auth)])
+-#
+-# ----------------------------------------------------------------
+ # AC_W3M_MIGEMO
+ # ----------------------------------------------------------------
+ AC_DEFUN([AC_W3M_MIGEMO],
+@@ -426,6 +414,7 @@
+ # ----------------------------------------------------------------
+ AC_DEFUN([AC_W3M_GC],
+ [AC_MSG_CHECKING(GC library exists)
++AC_SUBST(LIBGC)
+ AC_ARG_WITH(gc,
+ [ --with-gc[=PREFIX] libgc PREFIX],
+ [test x"$with_gc" = xno && AC_MSG_ERROR([You can not build w3m without gc])],
+@@ -456,7 +445,7 @@
+ fi
+ fi
+ unset ac_cv_lib_gc_GC_init
+- AC_CHECK_LIB(gc, GC_init, [LIBS="$LIBS -lgc"])
++ AC_CHECK_LIB(gc, GC_init, [LIBGC="-lgc"])
+ if test x"$ac_cv_lib_gc_GC_init" = xno; then
+ AC_MSG_CHECKING(GC library location)
+ AC_MSG_RESULT($with_gc)
+@@ -466,7 +455,7 @@
+ LDFLAGS="$LDFLAGS -L$dir/lib"
+ AC_MSG_CHECKING($dir)
+ unset ac_cv_lib_gc_GC_init
+- AC_CHECK_LIB(gc, GC_init, [gclibdir="$dir/lib"; LIBS="$LIBS -L$dir/lib -lgc"; break])
++ AC_CHECK_LIB(gc, GC_init, [gclibdir="$dir/lib"; LIBGC="-L$dir/lib -lgc"; break])
+ LDFLAGS="$ldflags"
+ done
+ if test x"$gclibdir" = xno; then
+@@ -475,9 +464,9 @@
+ fi])
+ #
+ # ----------------------------------------------------------------
+-# AC_W3M_SSL
++# AC_W3M_SSL_DIGEST_AUTH
+ # ----------------------------------------------------------------
+-AC_DEFUN([AC_W3M_SSL],
++AC_DEFUN([AC_W3M_SSL_DIGEST_AUTH],
+ [AC_SUBST(USE_SSL)
+ AC_SUBST(USE_SSL_VERIFY)
+ AC_MSG_CHECKING(if SSL is suported)
+@@ -519,7 +508,19 @@
+ test x"$enable_sslverify" = xyes && AC_DEFINE(USE_SSL_VERIFY)
+ AC_MSG_RESULT($enable_sslverify)
+ fi
+-fi])
++fi
++AC_SUBST(USE_DIGEST_AUTH)
++AC_MSG_CHECKING(if digest auth is enabled)
++AC_ARG_ENABLE(digest_auth,
++ [ --disable-digest-auth disable digest auth],,
++ [enable_digest_auth="yes"])
++if test x"$enable_digest_auth" = xyes -a x"$w3m_ssl" = xfound; then
++ AC_DEFINE(USE_DIGEST_AUTH)
++else
++ enable_digest_auth="no"
++fi
++AC_MSG_RESULT($enable_digest_auth)
++])
+ #
+ # ----------------------------------------------------------------
+ # AC_W3M_ALARM
+diff -urN w3m-0.5.2.orig/backend.c w3m/backend.c
+--- w3m-0.5.2.orig/backend.c 2003-09-23 06:02:16.000000000 +0900
++++ w3m/backend.c 2010-07-18 23:10:09.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: backend.c,v 1.13 2003/09/22 21:02:16 ukai Exp $ */
++/* $Id: backend.c,v 1.14 2010/07/18 14:10:09 htrb Exp $ */
+ #include <stdio.h>
+ #include <string.h>
+ #include <sys/types.h>
+@@ -95,7 +95,7 @@
+ buf = loadGeneralFile(url, NULL, NO_REFERER, 0, request);
+ do_download = FALSE;
+ if (buf != NULL && buf != NO_BUFFER) {
+- if (!strcasecmp(buf->type, "text/html") && backend_halfdump_buf) {
++ if (is_html_type(buf->type) && backend_halfdump_buf) {
+ TextLineListItem *p;
+ Str first, last;
+ int len = 0;
+diff -urN w3m-0.5.2.orig/buffer.c w3m/buffer.c
+--- w3m-0.5.2.orig/buffer.c 2003-09-27 02:59:51.000000000 +0900
++++ w3m/buffer.c 2010-07-18 23:10:09.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: buffer.c,v 1.29 2003/09/26 17:59:51 ukai Exp $ */
++/* $Id: buffer.c,v 1.30 2010/07/18 14:10:09 htrb Exp $ */
+ #include "fm.h"
+
+ #ifdef USE_MOUSE
+@@ -558,7 +558,7 @@
+ WcOption.auto_detect = WC_OPT_DETECT_OFF;
+ UseContentCharset = FALSE;
+ #endif
+- if (!strcasecmp(buf->type, "text/html"))
++ if (is_html_type(buf->type))
+ loadHTMLBuffer(&f, buf);
+ else
+ loadBuffer(&f, buf);
+@@ -590,7 +590,7 @@
+ gotoLine(buf, cur->linenumber);
+ }
+ buf->pos -= buf->currentLine->bpos;
+- if (FoldLine && strcasecmp(buf->type, "text/html"))
++ if (FoldLine && !is_html_type(buf->type))
+ buf->currentColumn = 0;
+ else
+ buf->currentColumn = sbuf.currentColumn;
+diff -urN w3m-0.5.2.orig/cookie.c w3m/cookie.c
+--- w3m-0.5.2.orig/cookie.c 2006-12-10 19:53:22.000000000 +0900
++++ w3m/cookie.c 2010-07-26 20:38:53.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: cookie.c,v 1.10 2006/12/10 10:53:22 inu Exp $ */
++/* $Id: cookie.c,v 1.11 2010/07/26 11:38:53 htrb Exp $ */
+
+ /*
+ * References for version 0 cookie:
+@@ -258,6 +258,30 @@
+ };
+
+ int
++check_avoid_wrong_number_of_dots_domain( Str domain )
++{
++ TextListItem *tl;
++ int avoid_wrong_number_of_dots_domain = FALSE;
++
++ if (Cookie_avoid_wrong_number_of_dots_domains &&
++ Cookie_avoid_wrong_number_of_dots_domains->nitem > 0) {
++ for (tl = Cookie_avoid_wrong_number_of_dots_domains->first;
++ tl != NULL; tl = tl->next) {
++ if (domain_match(domain->ptr, tl->ptr)) {
++ avoid_wrong_number_of_dots_domain = TRUE;
++ break;
++ }
++ }
++ }
++
++ if (avoid_wrong_number_of_dots_domain == TRUE) {
++ return TRUE;
++ } else {
++ return FALSE;
++ }
++}
++
++int
+ add_cookie(ParsedURL *pu, Str name, Str value,
+ time_t expires, Str domain, Str path,
+ int flag, Str comment, int version, Str port, Str commentURL)
+@@ -304,7 +328,9 @@
+ domain->ptr + domain->length,
+ 3);
+ if (n < 2) {
+- COOKIE_ERROR(COO_ESPECIAL);
++ if (! check_avoid_wrong_number_of_dots_domain(domain)) {
++ COOKIE_ERROR(COO_ESPECIAL);
++ }
+ }
+ else if (n == 2) {
+ char **sdomain;
+@@ -315,8 +341,9 @@
+ strcasecmp(*sdomain, &domain->ptr[offset]) == 0)
+ ok = 1;
+ }
+- if (!ok)
++ if (!ok && ! check_avoid_wrong_number_of_dots_domain(domain)) {
+ COOKIE_ERROR(COO_ESPECIAL);
++ }
+ }
+ }
+ else {
+diff -urN w3m-0.5.2.orig/display.c w3m/display.c
+--- w3m-0.5.2.orig/display.c 2007-05-29 21:07:02.000000000 +0900
++++ w3m/display.c 2010-07-18 23:10:09.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: display.c,v 1.70 2007/05/29 12:07:02 inu Exp $ */
++/* $Id: display.c,v 1.71 2010/07/18 14:10:09 htrb Exp $ */
+ #include <signal.h>
+ #include "fm.h"
+
+@@ -380,7 +380,7 @@
+ if (buf->height == 0)
+ buf->height = LASTLINE + 1;
+ if ((buf->width != INIT_BUFFER_WIDTH &&
+- ((buf->type && !strcmp(buf->type, "text/html")) || FoldLine))
++ (is_html_type(buf->type) || FoldLine))
+ || buf->need_reshape) {
+ buf->need_reshape = TRUE;
+ reshapeBuffer(buf);
+diff -urN w3m-0.5.2.orig/doc/w3m.1 w3m/doc/w3m.1
+--- w3m-0.5.2.orig/doc/w3m.1 2002-11-12 21:36:30.000000000 +0900
++++ w3m/doc/w3m.1 2010-07-18 22:20:32.000000000 +0900
+@@ -123,7 +123,7 @@
+ .B -pauth user:pass
+ proxy authentication
+ .TP
+-.B -S
++.B -s
+ squeeze multiple blank lines
+ .TP
+ .B -W
+@@ -133,7 +133,7 @@
+ don't use termcap init/deinit
+ .TP
+ .B -title [=TERM]
+-set buffer name to termianl title string.
++set buffer name to terminal title string.
+ If TERM is specified, use the TERM style title configuration.
+ .TP
+ .B -o opt=value
+diff -urN w3m-0.5.2.orig/doc-jp/w3m.1 w3m/doc-jp/w3m.1
+--- w3m-0.5.2.orig/doc-jp/w3m.1 2002-11-12 21:36:30.000000000 +0900
++++ w3m/doc-jp/w3m.1 2010-07-18 22:24:03.000000000 +0900
+@@ -39,15 +39,6 @@
+ 標準入力の内容を表示するときに保存される最大行数を指定する.
+ デフォルトは10000.
+ .TP
+-.B \-s
+-Shift_JISコードで表示する.
+-.TP
+-.B \-e
+-EUCコードで表示する.
+-.TP
+-.B \-j
+-JIS (ISO-2022-JP)コードで表示する.
+-.TP
+ .BI \-O\ e|s|j|N|m
+ 表示に使う文字コードを指定する.
+ .TP
+@@ -90,7 +81,7 @@
+ .B \-F
+ フレームを自動表示する.
+ .TP
+-.B \-S
++.B \-s
+ 連続する空行を1行にまとめて表示する.
+ .TP
+ .B \-X
+@@ -264,7 +255,7 @@
+ .B "ESC g"
+ 画面下で行番号を入力し,そこで指定した行に移動します.
+ ここで
+-.$
++.B $
+ を入力すると,最終行に移動します.
+ .TP
+ .B Z
+@@ -337,7 +328,6 @@
+ 現在のリンク先を,外部ブラウザを使って表示します.
+ .B "2ESC M", "3ESC M"
+ で2番目と3番目のブラウザを使います.
+-.El
+ .SS ファイルとURL関係の操作
+ .TP
+ .B U
+@@ -377,9 +367,9 @@
+ .TP
+ .B "ESC s"
+ HTMLのソースをファイルに保存します.
+-.v
++.B v
+ でソースを表示して
+-.S
++.B S
+ で保存するのとほぼ同じですが,
+ .B "ESC s"
+ で保存したファイルは漢字コードがオリジナルのままであるのに対して,
+@@ -403,7 +393,6 @@
+ .TP
+ .B RET
+ 現在選択しているバッファを表示します.
+-.El
+ .SS ブックマーク操作
+ .TP
+ .B "ESC b"
+diff -urN w3m-0.5.2.orig/file.c w3m/file.c
+--- w3m-0.5.2.orig/file.c 2007-05-24 00:06:05.000000000 +0900
++++ w3m/file.c 2010-07-24 13:30:40.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: file.c,v 1.254 2007/05/23 15:06:05 inu Exp $ */
++/* $Id: file.c,v 1.260 2010/07/24 04:30:40 htrb Exp $ */
+ #include "fm.h"
+ #include <sys/types.h>
+ #include "myctype.h"
+@@ -272,6 +272,13 @@
+ (is_text_type(type) && !is_dump_text_type(type)));
+ }
+
++int
++is_html_type(char *type)
++{
++ return (type && (strcasecmp(type, "text/html") == 0 ||
++ strcasecmp(type, "application/xhtml+xml") == 0));
++}
++
+ static void
+ check_compression(char *path, URLFile *uf)
+ {
+@@ -373,7 +380,7 @@
+ uf->guess_type = guessContentType(path);
+ if (uf->guess_type == NULL)
+ uf->guess_type = "text/plain";
+- if (strcasecmp(uf->guess_type, "text/html") == 0)
++ if (is_html_type(uf->guess_type))
+ return;
+ if ((fp = lessopen_stream(path))) {
+ UFclose(uf);
+@@ -1209,7 +1216,7 @@
+ */
+
+ static Str
+-digest_hex(char *p)
++digest_hex(unsigned char *p)
+ {
+ char *h = "0123456789abcdef";
+ Str tmp = Strnew_size(MD5_DIGEST_LENGTH * 2 + 1);
+@@ -1232,7 +1239,7 @@
+ HRequest *hr, FormList *request)
+ {
+ Str tmp, a1buf, a2buf, rd, s;
+- char md5[MD5_DIGEST_LENGTH + 1];
++ unsigned char md5[MD5_DIGEST_LENGTH + 1];
+ Str uri = HTTPrequestURI(pu, hr);
+ char nc[] = "00000001";
+
+@@ -1244,7 +1251,7 @@
+
+ static union {
+ int r[4];
+- char s[sizeof(int) * 4];
++ unsigned char s[sizeof(int) * 4];
+ } cnonce_seed;
+ int qop_i = QOP_NONE;
+
+@@ -1679,6 +1686,12 @@
+ return TRUE;
+ }
+
++Str
++getLinkNumberStr(int correction)
++{
++ return Sprintf("[%d]", cur_hseq + correction);
++}
++
+ /*
+ * loadGeneralFile: load file to buffer
+ */
+@@ -2055,6 +2068,10 @@
+ t = f.guess_type;
+ }
+
++ /* XXX: can we use guess_type to give the type to loadHTMLstream
++ * to support default utf8 encoding for XHTML here? */
++ f.guess_type = t;
++
+ page_loaded:
+ if (page) {
+ FILE *src;
+@@ -2166,7 +2183,7 @@
+ }
+ #endif
+
+- if (!strcasecmp(t, "text/html"))
++ if (is_html_type(t))
+ proc = loadHTMLBuffer;
+ else if (is_plain_text_type(t))
+ proc = loadBuffer;
+@@ -2230,7 +2247,7 @@
+ b->real_type = real_type;
+ if (b->currentURL.host == NULL && b->currentURL.file == NULL)
+ copyParsedURL(&b->currentURL, &pu);
+- if (!strcasecmp(t, "text/html"))
++ if (is_html_type(t))
+ b->type = "text/html";
+ else if (w3m_backend) {
+ Str s = Strnew_charp(t);
+@@ -3213,6 +3230,13 @@
+ parsedtag_get_value(tag, ATTR_ALT, &q);
+ t = q;
+ parsedtag_get_value(tag, ATTR_TITLE, &t);
++ if (q == NULL || (*q == '\0' && ignore_null_img_alt)) {
++ if (!pseudoInlines && (t == NULL ||
++ (*t == '\0' && ignore_null_img_alt)))
++ return tmp;
++ q = t;
++ }
++
+ w = -1;
+ if (parsedtag_get_value(tag, ATTR_WIDTH, &w)) {
+ if (w < 0) {
+@@ -3592,9 +3616,13 @@
+ case FORM_INPUT_TEXT:
+ case FORM_INPUT_FILE:
+ case FORM_INPUT_CHECKBOX:
++ if (displayLinkNumber)
++ Strcat(tmp, getLinkNumberStr(0));
+ Strcat_char(tmp, '[');
+ break;
+ case FORM_INPUT_RADIO:
++ if (displayLinkNumber)
++ Strcat(tmp, getLinkNumberStr(0));
+ Strcat_char(tmp, '(');
+ }
+ Strcat(tmp, Sprintf("<input_alt hseq=\"%d\" fid=\"%d\" type=%s "
+@@ -3635,6 +3663,8 @@
+ case FORM_INPUT_SUBMIT:
+ case FORM_INPUT_BUTTON:
+ case FORM_INPUT_RESET:
++ if (displayLinkNumber)
++ Strcat(tmp, getLinkNumberStr(-1));
+ Strcat_charp(tmp, "[");
+ break;
+ }
+@@ -3721,9 +3751,12 @@
+
+ #ifdef MENU_SELECT
+ if (!select_is_multiple) {
+- select_str = Sprintf("<pre_int>[<input_alt hseq=\"%d\" "
++ select_str = Strnew_charp("<pre_int>");
++ if (displayLinkNumber)
++ Strcat(select_str, getLinkNumberStr(0));
++ Strcat(select_str, Sprintf("[<input_alt hseq=\"%d\" "
+ "fid=\"%d\" type=select name=\"%s\" selectnumber=%d",
+- cur_hseq++, cur_form_id, html_quote(p), n_select);
++ cur_hseq++, cur_form_id, html_quote(p), n_select));
+ Strcat_charp(select_str, ">");
+ if (n_select == max_select) {
+ max_select *= 2;
+@@ -4771,6 +4804,8 @@
+ obuf->anchor.hseq = cur_hseq;
+ tmp = process_anchor(tag, h_env->tagbuf->ptr);
+ push_tag(obuf, tmp->ptr, HTML_A);
++ if (displayLinkNumber)
++ HTMLlineproc1(getLinkNumberStr(-1)->ptr, h_env);
+ return 1;
+ }
+ return 0;
+@@ -5229,6 +5264,7 @@
+ return NULL;
+ }
+
++static int
+ ex_efct(int ex)
+ {
+ int effect = 0;
+@@ -6336,7 +6372,7 @@
+ is_hangul = wtf_is_hangul((wc_uchar *) str);
+ else
+ is_hangul = 0;
+- if (mode == PC_KANJI1 &&
++ if (!SimplePreserveSpace && mode == PC_KANJI1 &&
+ !is_hangul && !prev_is_hangul &&
+ obuf->pos > h_env->envs[h_env->envc].indent &&
+ Strlastchar(obuf->line) == ' ') {
+@@ -6949,6 +6985,8 @@
+ }
+ if (content_charset && UseContentCharset)
+ doc_charset = content_charset;
++ else if (f->guess_type && !strcasecmp(f->guess_type, "application/xhtml+xml"))
++ doc_charset = WC_CES_UTF_8;
+ meta_charset = 0;
+ #endif
+ #if 0
+@@ -7383,8 +7421,7 @@
+ wc_ces charset = DisplayCharset ? DisplayCharset : WC_CES_US_ASCII;
+ #endif
+
+- if (buf->type && !strcasecmp(buf->type, "text/html"))
+- is_html = TRUE;
++ is_html = is_html_type(buf->type);
+
+ pager_next:
+ for (; l != NULL; l = l->next) {
+@@ -7541,7 +7578,7 @@
+ t = DefaultType;
+ DefaultType = NULL;
+ }
+- if (!strcasecmp(t, "text/html")) {
++ if (is_html_type(t)) {
+ buf = loadHTMLBuffer(&uf, t_buf);
+ buf->type = "text/html";
+ }
+@@ -7749,7 +7786,13 @@
+ {
+ Str buf = Strnew_size(SAVE_BUF_SIZE);
+ while (UFread(&uf, buf, SAVE_BUF_SIZE)) {
+- Strfputs(buf, ff);
++ if (Strfputs(buf, ff) != buf->length) {
++ bcopy(env_bak, AbortLoading, sizeof(JMP_BUF));
++ TRAP_OFF;
++ fclose(ff);
++ current_content_length = 0;
++ return -2;
++ }
+ linelen += buf->length;
+ showProgress(&linelen, &trbyte);
+ }
+@@ -8078,16 +8121,20 @@
+ flush_tty();
+ pid = fork();
+ if (!pid) {
++ int err;
+ if ((uf.content_encoding != CMP_NOCOMPRESS) && AutoUncompress) {
+ uncompress_stream(&uf, &tmpf);
+ if (tmpf)
+ unlink(tmpf);
+ }
+ setup_child(FALSE, 0, UFfileno(&uf));
+- if (!save2tmp(uf, p) && PreserveTimestamp && uf.modtime != -1)
++ err = save2tmp(uf, p);
++ if (err == 0 && PreserveTimestamp && uf.modtime != -1)
+ setModtime(p, uf.modtime);
+ UFclose(&uf);
+ unlink(lock);
++ if (err != 0)
++ exit(-err);
+ exit(0);
+ }
+ addDownloadList(pid, uf.url, p, lock, current_content_length);
+@@ -8351,7 +8398,7 @@
+ buf->hmarklist->nmark = 0;
+ if (buf->imarklist)
+ buf->imarklist->nmark = 0;
+- if (!strcasecmp(buf->type, "text/html"))
++ if (is_html_type(buf->type))
+ loadHTMLBuffer(&uf, buf);
+ else
+ loadBuffer(&uf, buf);
+diff -urN w3m-0.5.2.orig/fm.h w3m/fm.h
+--- w3m-0.5.2.orig/fm.h 2007-05-30 13:47:24.000000000 +0900
++++ w3m/fm.h 2010-07-26 20:38:53.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: fm.h,v 1.138 2007/05/30 04:47:24 inu Exp $ */
++/* $Id: fm.h,v 1.145 2010/07/26 11:38:53 htrb Exp $ */
+ /*
+ * w3m: WWW wo Miru utility
+ *
+@@ -517,7 +517,8 @@
+ char *lock;
+ clen_t size;
+ time_t time;
+- int ok;
++ int running;
++ int err;
+ struct _DownloadList *next;
+ struct _DownloadList *prev;
+ } DownloadList;
+@@ -931,6 +932,7 @@
+ global int nextpage_topline init(FALSE);
+ global char *displayTitleTerm init(NULL);
+ global int displayLink init(FALSE);
++global int displayLinkNumber init(FALSE);
+ global int displayLineInfo init(FALSE);
+ global int DecodeURL init(FALSE);
+ global int retryAsHttp init(TRUE);
+@@ -947,6 +949,7 @@
+ #else
+ global int displayImage init(FALSE); /* XXX: emacs-w3m use display_image=off */
+ #endif
++global int pseudoInlines init(TRUE);
+ global char *Editor init(DEF_EDITOR);
+ #ifdef USE_W3MMAILER
+ global char *Mailer init(NULL);
+@@ -1038,6 +1041,7 @@
+ global char FollowLocale init(TRUE);
+ global char UseContentCharset init(TRUE);
+ global char SearchConv init(TRUE);
++global char SimplePreserveSpace init(FALSE);
+ #define Str_conv_from_system(x) wc_Str_conv((x), SystemCharset, InnerCharset)
+ #define Str_conv_to_system(x) wc_Str_conv_strict((x), InnerCharset, SystemCharset)
+ #define Str_conv_to_halfdump(x) (ExtHalfdump ? wc_Str_conv((x), InnerCharset, DisplayCharset) : (x))
+@@ -1108,8 +1112,10 @@
+ global int accept_bad_cookie init(ACCEPT_BAD_COOKIE_DISCARD);
+ global char *cookie_reject_domains init(NULL);
+ global char *cookie_accept_domains init(NULL);
++global char *cookie_avoid_wrong_number_of_dots init(NULL);
+ global TextList *Cookie_reject_domains;
+ global TextList *Cookie_accept_domains;
++global TextList *Cookie_avoid_wrong_number_of_dots_domains;
+ #endif /* USE_COOKIE */
+
+ #ifdef USE_IMAGE
+diff -urN w3m-0.5.2.orig/form.c w3m/form.c
+--- w3m-0.5.2.orig/form.c 2004-02-06 02:23:07.000000000 +0900
++++ w3m/form.c 2010-07-18 22:48:48.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: form.c,v 1.34 2004/02/05 17:23:07 ukai Exp $ */
++/* $Id: form.c,v 1.35 2010/07/18 13:48:48 htrb Exp $ */
+ /*
+ * HTML forms
+ */
+@@ -403,6 +403,7 @@
+ line->lineBuf = buf;
+ line->propBuf = prop;
+ line->len = len;
++ line->size = len;
+
+ return pos;
+ }
+diff -urN w3m-0.5.2.orig/istream.c w3m/istream.c
+--- w3m-0.5.2.orig/istream.c 2007-05-24 00:06:05.000000000 +0900
++++ w3m/istream.c 2010-07-18 22:43:23.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: istream.c,v 1.26 2007/05/23 15:06:05 inu Exp $ */
++/* $Id: istream.c,v 1.27 2010/07/18 13:43:23 htrb Exp $ */
+ #include "fm.h"
+ #include "myctype.h"
+ #include "istream.h"
+@@ -447,8 +447,17 @@
+
+ if (!seen_dnsname)
+ seen_dnsname = Strnew();
++ /* replace \0 to make full string visible to user */
++ if (sl != strlen(sn)) {
++ int i;
++ for (i = 0; i < sl; ++i) {
++ if (!sn[i])
++ sn[i] = '!';
++ }
++ }
+ Strcat_m_charp(seen_dnsname, sn, " ", NULL);
+- if (ssl_match_cert_ident(sn, sl, hostname))
++ if (sl == strlen(sn) /* catch \0 in SAN */
++ && ssl_match_cert_ident(sn, sl, hostname))
+ break;
+ }
+ }
+@@ -466,16 +475,27 @@
+ if (match_ident == FALSE && ret == NULL) {
+ X509_NAME *xn;
+ char buf[2048];
++ int slen;
+
+ xn = X509_get_subject_name(x);
+
+- if (X509_NAME_get_text_by_NID(xn, NID_commonName,
+- buf, sizeof(buf)) == -1)
++ slen = X509_NAME_get_text_by_NID(xn, NID_commonName, buf, sizeof(buf));
++ if ( slen == -1)
+ /* FIXME: gettextize? */
+ ret = Strnew_charp("Unable to get common name from peer cert");
+- else if (!ssl_match_cert_ident(buf, strlen(buf), hostname))
++ else if (slen != strlen(buf)
++ || !ssl_match_cert_ident(buf, strlen(buf), hostname)) {
++ /* replace \0 to make full string visible to user */
++ if (slen != strlen(buf)) {
++ int i;
++ for (i = 0; i < slen; ++i) {
++ if (!buf[i])
++ buf[i] = '!';
++ }
++ }
+ /* FIXME: gettextize? */
+ ret = Sprintf("Bad cert ident %s from %s", buf, hostname);
++ }
+ else
+ match_ident = TRUE;
+ }
+diff -urN w3m-0.5.2.orig/libwc/EastAsianWidth.txt w3m/libwc/EastAsianWidth.txt
+--- w3m-0.5.2.orig/libwc/EastAsianWidth.txt 1970-01-01 09:00:00.000000000 +0900
++++ w3m/libwc/EastAsianWidth.txt 2010-07-25 18:55:05.000000000 +0900
+@@ -0,0 +1,21866 @@
++# EastAsianWidth-5.2.0.txt
++# Date: 2009-06-09, 17:47:00 PDT [KW]
++#
++# East Asian Width Properties
++#
++# This file is an informative contributory data file in the
++# Unicode Character Database.
++#
++# Copyright (c) 1991-2009 Unicode, Inc.
++# For terms of use, see http://www.unicode.org/terms_of_use.html
++#
++# The format is two fields separated by a semicolon.
++# Field 0: Unicode value
++# Field 1: East Asian Width property, consisting of one of the following values:
++# "N", "A", "H", "W", "F", "Na"
++# - All code points, assigned or unassigned, that are not listed
++# explicitly are given the value "N".
++# The unassigned code points that default to "W" include ranges in the
++# following blocks:
++# CJK Unified Ideographs Extension A: U+3400..U+4DBF
++# CJK Unified Ideographs: U+4E00..U+9FFF
++# CJK Compatibility Ideographs: U+F900..U+FAFF
++# CJK Unified Ideographs Extension B: U+20000..U+2A6DF
++# CJK Unified Ideographs Extension C: U+2A700..U+2B73F
++# CJK Compatibility Ideographs Supplement: U+2F800..U+2FA1F
++# and any other reserved code points on
++# Planes 2 and 3: U+20000..U+2FFFD
++# U+30000..U+3FFFD
++# - Characters ranges are specified as for other property files in
++# the Unicode Character Database.
++#
++# The Unicode name of each character is provided in a comment for help
++# in identifying the characters.
++#
++# See UAX #11: East Asian Width, for more information.
++#
++# @missing: 0000..10FFFF; N
++0000;N # <control>
++0001;N # <control>
++0002;N # <control>
++0003;N # <control>
++0004;N # <control>
++0005;N # <control>
++0006;N # <control>
++0007;N # <control>
++0008;N # <control>
++0009;N # <control>
++000A;N # <control>
++000B;N # <control>
++000C;N # <control>
++000D;N # <control>
++000E;N # <control>
++000F;N # <control>
++0010;N # <control>
++0011;N # <control>
++0012;N # <control>
++0013;N # <control>
++0014;N # <control>
++0015;N # <control>
++0016;N # <control>
++0017;N # <control>
++0018;N # <control>
++0019;N # <control>
++001A;N # <control>
++001B;N # <control>
++001C;N # <control>
++001D;N # <control>
++001E;N # <control>
++001F;N # <control>
++0020;Na # SPACE
++0021;Na # EXCLAMATION MARK
++0022;Na # QUOTATION MARK
++0023;Na # NUMBER SIGN
++0024;Na # DOLLAR SIGN
++0025;Na # PERCENT SIGN
++0026;Na # AMPERSAND
++0027;Na # APOSTROPHE
++0028;Na # LEFT PARENTHESIS
++0029;Na # RIGHT PARENTHESIS
++002A;Na # ASTERISK
++002B;Na # PLUS SIGN
++002C;Na # COMMA
++002D;Na # HYPHEN-MINUS
++002E;Na # FULL STOP
++002F;Na # SOLIDUS
++0030;Na # DIGIT ZERO
++0031;Na # DIGIT ONE
++0032;Na # DIGIT TWO
++0033;Na # DIGIT THREE
++0034;Na # DIGIT FOUR
++0035;Na # DIGIT FIVE
++0036;Na # DIGIT SIX
++0037;Na # DIGIT SEVEN
++0038;Na # DIGIT EIGHT
++0039;Na # DIGIT NINE
++003A;Na # COLON
++003B;Na # SEMICOLON
++003C;Na # LESS-THAN SIGN
++003D;Na # EQUALS SIGN
++003E;Na # GREATER-THAN SIGN
++003F;Na # QUESTION MARK
++0040;Na # COMMERCIAL AT
++0041;Na # LATIN CAPITAL LETTER A
++0042;Na # LATIN CAPITAL LETTER B
++0043;Na # LATIN CAPITAL LETTER C
++0044;Na # LATIN CAPITAL LETTER D
++0045;Na # LATIN CAPITAL LETTER E
++0046;Na # LATIN CAPITAL LETTER F
++0047;Na # LATIN CAPITAL LETTER G
++0048;Na # LATIN CAPITAL LETTER H
++0049;Na # LATIN CAPITAL LETTER I
++004A;Na # LATIN CAPITAL LETTER J
++004B;Na # LATIN CAPITAL LETTER K
++004C;Na # LATIN CAPITAL LETTER L
++004D;Na # LATIN CAPITAL LETTER M
++004E;Na # LATIN CAPITAL LETTER N
++004F;Na # LATIN CAPITAL LETTER O
++0050;Na # LATIN CAPITAL LETTER P
++0051;Na # LATIN CAPITAL LETTER Q
++0052;Na # LATIN CAPITAL LETTER R
++0053;Na # LATIN CAPITAL LETTER S
++0054;Na # LATIN CAPITAL LETTER T
++0055;Na # LATIN CAPITAL LETTER U
++0056;Na # LATIN CAPITAL LETTER V
++0057;Na # LATIN CAPITAL LETTER W
++0058;Na # LATIN CAPITAL LETTER X
++0059;Na # LATIN CAPITAL LETTER Y
++005A;Na # LATIN CAPITAL LETTER Z
++005B;Na # LEFT SQUARE BRACKET
++005C;Na # REVERSE SOLIDUS
++005D;Na # RIGHT SQUARE BRACKET
++005E;Na # CIRCUMFLEX ACCENT
++005F;Na # LOW LINE
++0060;Na # GRAVE ACCENT
++0061;Na # LATIN SMALL LETTER A
++0062;Na # LATIN SMALL LETTER B
++0063;Na # LATIN SMALL LETTER C
++0064;Na # LATIN SMALL LETTER D
++0065;Na # LATIN SMALL LETTER E
++0066;Na # LATIN SMALL LETTER F
++0067;Na # LATIN SMALL LETTER G
++0068;Na # LATIN SMALL LETTER H
++0069;Na # LATIN SMALL LETTER I
++006A;Na # LATIN SMALL LETTER J
++006B;Na # LATIN SMALL LETTER K
++006C;Na # LATIN SMALL LETTER L
++006D;Na # LATIN SMALL LETTER M
++006E;Na # LATIN SMALL LETTER N
++006F;Na # LATIN SMALL LETTER O
++0070;Na # LATIN SMALL LETTER P
++0071;Na # LATIN SMALL LETTER Q
++0072;Na # LATIN SMALL LETTER R
++0073;Na # LATIN SMALL LETTER S
++0074;Na # LATIN SMALL LETTER T
++0075;Na # LATIN SMALL LETTER U
++0076;Na # LATIN SMALL LETTER V
++0077;Na # LATIN SMALL LETTER W
++0078;Na # LATIN SMALL LETTER X
++0079;Na # LATIN SMALL LETTER Y
++007A;Na # LATIN SMALL LETTER Z
++007B;Na # LEFT CURLY BRACKET
++007C;Na # VERTICAL LINE
++007D;Na # RIGHT CURLY BRACKET
++007E;Na # TILDE
++007F;N # <control>
++0080;N # <control>
++0081;N # <control>
++0082;N # <control>
++0083;N # <control>
++0084;N # <control>
++0085;N # <control>
++0086;N # <control>
++0087;N # <control>
++0088;N # <control>
++0089;N # <control>
++008A;N # <control>
++008B;N # <control>
++008C;N # <control>
++008D;N # <control>
++008E;N # <control>
++008F;N # <control>
++0090;N # <control>
++0091;N # <control>
++0092;N # <control>
++0093;N # <control>
++0094;N # <control>
++0095;N # <control>
++0096;N # <control>
++0097;N # <control>
++0098;N # <control>
++0099;N # <control>
++009A;N # <control>
++009B;N # <control>
++009C;N # <control>
++009D;N # <control>
++009E;N # <control>
++009F;N # <control>
++00A0;N # NO-BREAK SPACE
++00A1;A # INVERTED EXCLAMATION MARK
++00A2;Na # CENT SIGN
++00A3;Na # POUND SIGN
++00A4;A # CURRENCY SIGN
++00A5;Na # YEN SIGN
++00A6;Na # BROKEN BAR
++00A7;A # SECTION SIGN
++00A8;A # DIAERESIS
++00A9;N # COPYRIGHT SIGN
++00AA;A # FEMININE ORDINAL INDICATOR
++00AB;N # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
++00AC;Na # NOT SIGN
++00AD;A # SOFT HYPHEN
++00AE;A # REGISTERED SIGN
++00AF;Na # MACRON
++00B0;A # DEGREE SIGN
++00B1;A # PLUS-MINUS SIGN
++00B2;A # SUPERSCRIPT TWO
++00B3;A # SUPERSCRIPT THREE
++00B4;A # ACUTE ACCENT
++00B5;N # MICRO SIGN
++00B6;A # PILCROW SIGN
++00B7;A # MIDDLE DOT
++00B8;A # CEDILLA
++00B9;A # SUPERSCRIPT ONE
++00BA;A # MASCULINE ORDINAL INDICATOR
++00BB;N # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
++00BC;A # VULGAR FRACTION ONE QUARTER
++00BD;A # VULGAR FRACTION ONE HALF
++00BE;A # VULGAR FRACTION THREE QUARTERS
++00BF;A # INVERTED QUESTION MARK
++00C0;N # LATIN CAPITAL LETTER A WITH GRAVE
++00C1;N # LATIN CAPITAL LETTER A WITH ACUTE
++00C2;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
++00C3;N # LATIN CAPITAL LETTER A WITH TILDE
++00C4;N # LATIN CAPITAL LETTER A WITH DIAERESIS
++00C5;N # LATIN CAPITAL LETTER A WITH RING ABOVE
++00C6;A # LATIN CAPITAL LETTER AE
++00C7;N # LATIN CAPITAL LETTER C WITH CEDILLA
++00C8;N # LATIN CAPITAL LETTER E WITH GRAVE
++00C9;N # LATIN CAPITAL LETTER E WITH ACUTE
++00CA;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
++00CB;N # LATIN CAPITAL LETTER E WITH DIAERESIS
++00CC;N # LATIN CAPITAL LETTER I WITH GRAVE
++00CD;N # LATIN CAPITAL LETTER I WITH ACUTE
++00CE;N # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
++00CF;N # LATIN CAPITAL LETTER I WITH DIAERESIS
++00D0;A # LATIN CAPITAL LETTER ETH
++00D1;N # LATIN CAPITAL LETTER N WITH TILDE
++00D2;N # LATIN CAPITAL LETTER O WITH GRAVE
++00D3;N # LATIN CAPITAL LETTER O WITH ACUTE
++00D4;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
++00D5;N # LATIN CAPITAL LETTER O WITH TILDE
++00D6;N # LATIN CAPITAL LETTER O WITH DIAERESIS
++00D7;A # MULTIPLICATION SIGN
++00D8;A # LATIN CAPITAL LETTER O WITH STROKE
++00D9;N # LATIN CAPITAL LETTER U WITH GRAVE
++00DA;N # LATIN CAPITAL LETTER U WITH ACUTE
++00DB;N # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
++00DC;N # LATIN CAPITAL LETTER U WITH DIAERESIS
++00DD;N # LATIN CAPITAL LETTER Y WITH ACUTE
++00DE;A # LATIN CAPITAL LETTER THORN
++00DF;A # LATIN SMALL LETTER SHARP S
++00E0;A # LATIN SMALL LETTER A WITH GRAVE
++00E1;A # LATIN SMALL LETTER A WITH ACUTE
++00E2;N # LATIN SMALL LETTER A WITH CIRCUMFLEX
++00E3;N # LATIN SMALL LETTER A WITH TILDE
++00E4;N # LATIN SMALL LETTER A WITH DIAERESIS
++00E5;N # LATIN SMALL LETTER A WITH RING ABOVE
++00E6;A # LATIN SMALL LETTER AE
++00E7;N # LATIN SMALL LETTER C WITH CEDILLA
++00E8;A # LATIN SMALL LETTER E WITH GRAVE
++00E9;A # LATIN SMALL LETTER E WITH ACUTE
++00EA;A # LATIN SMALL LETTER E WITH CIRCUMFLEX
++00EB;N # LATIN SMALL LETTER E WITH DIAERESIS
++00EC;A # LATIN SMALL LETTER I WITH GRAVE
++00ED;A # LATIN SMALL LETTER I WITH ACUTE
++00EE;N # LATIN SMALL LETTER I WITH CIRCUMFLEX
++00EF;N # LATIN SMALL LETTER I WITH DIAERESIS
++00F0;A # LATIN SMALL LETTER ETH
++00F1;N # LATIN SMALL LETTER N WITH TILDE
++00F2;A # LATIN SMALL LETTER O WITH GRAVE
++00F3;A # LATIN SMALL LETTER O WITH ACUTE
++00F4;N # LATIN SMALL LETTER O WITH CIRCUMFLEX
++00F5;N # LATIN SMALL LETTER O WITH TILDE
++00F6;N # LATIN SMALL LETTER O WITH DIAERESIS
++00F7;A # DIVISION SIGN
++00F8;A # LATIN SMALL LETTER O WITH STROKE
++00F9;A # LATIN SMALL LETTER U WITH GRAVE
++00FA;A # LATIN SMALL LETTER U WITH ACUTE
++00FB;N # LATIN SMALL LETTER U WITH CIRCUMFLEX
++00FC;A # LATIN SMALL LETTER U WITH DIAERESIS
++00FD;N # LATIN SMALL LETTER Y WITH ACUTE
++00FE;A # LATIN SMALL LETTER THORN
++00FF;N # LATIN SMALL LETTER Y WITH DIAERESIS
++0100;N # LATIN CAPITAL LETTER A WITH MACRON
++0101;A # LATIN SMALL LETTER A WITH MACRON
++0102;N # LATIN CAPITAL LETTER A WITH BREVE
++0103;N # LATIN SMALL LETTER A WITH BREVE
++0104;N # LATIN CAPITAL LETTER A WITH OGONEK
++0105;N # LATIN SMALL LETTER A WITH OGONEK
++0106;N # LATIN CAPITAL LETTER C WITH ACUTE
++0107;N # LATIN SMALL LETTER C WITH ACUTE
++0108;N # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
++0109;N # LATIN SMALL LETTER C WITH CIRCUMFLEX
++010A;N # LATIN CAPITAL LETTER C WITH DOT ABOVE
++010B;N # LATIN SMALL LETTER C WITH DOT ABOVE
++010C;N # LATIN CAPITAL LETTER C WITH CARON
++010D;N # LATIN SMALL LETTER C WITH CARON
++010E;N # LATIN CAPITAL LETTER D WITH CARON
++010F;N # LATIN SMALL LETTER D WITH CARON
++0110;N # LATIN CAPITAL LETTER D WITH STROKE
++0111;A # LATIN SMALL LETTER D WITH STROKE
++0112;N # LATIN CAPITAL LETTER E WITH MACRON
++0113;A # LATIN SMALL LETTER E WITH MACRON
++0114;N # LATIN CAPITAL LETTER E WITH BREVE
++0115;N # LATIN SMALL LETTER E WITH BREVE
++0116;N # LATIN CAPITAL LETTER E WITH DOT ABOVE
++0117;N # LATIN SMALL LETTER E WITH DOT ABOVE
++0118;N # LATIN CAPITAL LETTER E WITH OGONEK
++0119;N # LATIN SMALL LETTER E WITH OGONEK
++011A;N # LATIN CAPITAL LETTER E WITH CARON
++011B;A # LATIN SMALL LETTER E WITH CARON
++011C;N # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
++011D;N # LATIN SMALL LETTER G WITH CIRCUMFLEX
++011E;N # LATIN CAPITAL LETTER G WITH BREVE
++011F;N # LATIN SMALL LETTER G WITH BREVE
++0120;N # LATIN CAPITAL LETTER G WITH DOT ABOVE
++0121;N # LATIN SMALL LETTER G WITH DOT ABOVE
++0122;N # LATIN CAPITAL LETTER G WITH CEDILLA
++0123;N # LATIN SMALL LETTER G WITH CEDILLA
++0124;N # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
++0125;N # LATIN SMALL LETTER H WITH CIRCUMFLEX
++0126;A # LATIN CAPITAL LETTER H WITH STROKE
++0127;A # LATIN SMALL LETTER H WITH STROKE
++0128;N # LATIN CAPITAL LETTER I WITH TILDE
++0129;N # LATIN SMALL LETTER I WITH TILDE
++012A;N # LATIN CAPITAL LETTER I WITH MACRON
++012B;A # LATIN SMALL LETTER I WITH MACRON
++012C;N # LATIN CAPITAL LETTER I WITH BREVE
++012D;N # LATIN SMALL LETTER I WITH BREVE
++012E;N # LATIN CAPITAL LETTER I WITH OGONEK
++012F;N # LATIN SMALL LETTER I WITH OGONEK
++0130;N # LATIN CAPITAL LETTER I WITH DOT ABOVE
++0131;A # LATIN SMALL LETTER DOTLESS I
++0132;A # LATIN CAPITAL LIGATURE IJ
++0133;A # LATIN SMALL LIGATURE IJ
++0134;N # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
++0135;N # LATIN SMALL LETTER J WITH CIRCUMFLEX
++0136;N # LATIN CAPITAL LETTER K WITH CEDILLA
++0137;N # LATIN SMALL LETTER K WITH CEDILLA
++0138;A # LATIN SMALL LETTER KRA
++0139;N # LATIN CAPITAL LETTER L WITH ACUTE
++013A;N # LATIN SMALL LETTER L WITH ACUTE
++013B;N # LATIN CAPITAL LETTER L WITH CEDILLA
++013C;N # LATIN SMALL LETTER L WITH CEDILLA
++013D;N # LATIN CAPITAL LETTER L WITH CARON
++013E;N # LATIN SMALL LETTER L WITH CARON
++013F;A # LATIN CAPITAL LETTER L WITH MIDDLE DOT
++0140;A # LATIN SMALL LETTER L WITH MIDDLE DOT
++0141;A # LATIN CAPITAL LETTER L WITH STROKE
++0142;A # LATIN SMALL LETTER L WITH STROKE
++0143;N # LATIN CAPITAL LETTER N WITH ACUTE
++0144;A # LATIN SMALL LETTER N WITH ACUTE
++0145;N # LATIN CAPITAL LETTER N WITH CEDILLA
++0146;N # LATIN SMALL LETTER N WITH CEDILLA
++0147;N # LATIN CAPITAL LETTER N WITH CARON
++0148;A # LATIN SMALL LETTER N WITH CARON
++0149;A # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
++014A;A # LATIN CAPITAL LETTER ENG
++014B;A # LATIN SMALL LETTER ENG
++014C;N # LATIN CAPITAL LETTER O WITH MACRON
++014D;A # LATIN SMALL LETTER O WITH MACRON
++014E;N # LATIN CAPITAL LETTER O WITH BREVE
++014F;N # LATIN SMALL LETTER O WITH BREVE
++0150;N # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
++0151;N # LATIN SMALL LETTER O WITH DOUBLE ACUTE
++0152;A # LATIN CAPITAL LIGATURE OE
++0153;A # LATIN SMALL LIGATURE OE
++0154;N # LATIN CAPITAL LETTER R WITH ACUTE
++0155;N # LATIN SMALL LETTER R WITH ACUTE
++0156;N # LATIN CAPITAL LETTER R WITH CEDILLA
++0157;N # LATIN SMALL LETTER R WITH CEDILLA
++0158;N # LATIN CAPITAL LETTER R WITH CARON
++0159;N # LATIN SMALL LETTER R WITH CARON
++015A;N # LATIN CAPITAL LETTER S WITH ACUTE
++015B;N # LATIN SMALL LETTER S WITH ACUTE
++015C;N # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
++015D;N # LATIN SMALL LETTER S WITH CIRCUMFLEX
++015E;N # LATIN CAPITAL LETTER S WITH CEDILLA
++015F;N # LATIN SMALL LETTER S WITH CEDILLA
++0160;N # LATIN CAPITAL LETTER S WITH CARON
++0161;N # LATIN SMALL LETTER S WITH CARON
++0162;N # LATIN CAPITAL LETTER T WITH CEDILLA
++0163;N # LATIN SMALL LETTER T WITH CEDILLA
++0164;N # LATIN CAPITAL LETTER T WITH CARON
++0165;N # LATIN SMALL LETTER T WITH CARON
++0166;A # LATIN CAPITAL LETTER T WITH STROKE
++0167;A # LATIN SMALL LETTER T WITH STROKE
++0168;N # LATIN CAPITAL LETTER U WITH TILDE
++0169;N # LATIN SMALL LETTER U WITH TILDE
++016A;N # LATIN CAPITAL LETTER U WITH MACRON
++016B;A # LATIN SMALL LETTER U WITH MACRON
++016C;N # LATIN CAPITAL LETTER U WITH BREVE
++016D;N # LATIN SMALL LETTER U WITH BREVE
++016E;N # LATIN CAPITAL LETTER U WITH RING ABOVE
++016F;N # LATIN SMALL LETTER U WITH RING ABOVE
++0170;N # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
++0171;N # LATIN SMALL LETTER U WITH DOUBLE ACUTE
++0172;N # LATIN CAPITAL LETTER U WITH OGONEK
++0173;N # LATIN SMALL LETTER U WITH OGONEK
++0174;N # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
++0175;N # LATIN SMALL LETTER W WITH CIRCUMFLEX
++0176;N # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
++0177;N # LATIN SMALL LETTER Y WITH CIRCUMFLEX
++0178;N # LATIN CAPITAL LETTER Y WITH DIAERESIS
++0179;N # LATIN CAPITAL LETTER Z WITH ACUTE
++017A;N # LATIN SMALL LETTER Z WITH ACUTE
++017B;N # LATIN CAPITAL LETTER Z WITH DOT ABOVE
++017C;N # LATIN SMALL LETTER Z WITH DOT ABOVE
++017D;N # LATIN CAPITAL LETTER Z WITH CARON
++017E;N # LATIN SMALL LETTER Z WITH CARON
++017F;N # LATIN SMALL LETTER LONG S
++0180;N # LATIN SMALL LETTER B WITH STROKE
++0181;N # LATIN CAPITAL LETTER B WITH HOOK
++0182;N # LATIN CAPITAL LETTER B WITH TOPBAR
++0183;N # LATIN SMALL LETTER B WITH TOPBAR
++0184;N # LATIN CAPITAL LETTER TONE SIX
++0185;N # LATIN SMALL LETTER TONE SIX
++0186;N # LATIN CAPITAL LETTER OPEN O
++0187;N # LATIN CAPITAL LETTER C WITH HOOK
++0188;N # LATIN SMALL LETTER C WITH HOOK
++0189;N # LATIN CAPITAL LETTER AFRICAN D
++018A;N # LATIN CAPITAL LETTER D WITH HOOK
++018B;N # LATIN CAPITAL LETTER D WITH TOPBAR
++018C;N # LATIN SMALL LETTER D WITH TOPBAR
++018D;N # LATIN SMALL LETTER TURNED DELTA
++018E;N # LATIN CAPITAL LETTER REVERSED E
++018F;N # LATIN CAPITAL LETTER SCHWA
++0190;N # LATIN CAPITAL LETTER OPEN E
++0191;N # LATIN CAPITAL LETTER F WITH HOOK
++0192;N # LATIN SMALL LETTER F WITH HOOK
++0193;N # LATIN CAPITAL LETTER G WITH HOOK
++0194;N # LATIN CAPITAL LETTER GAMMA
++0195;N # LATIN SMALL LETTER HV
++0196;N # LATIN CAPITAL LETTER IOTA
++0197;N # LATIN CAPITAL LETTER I WITH STROKE
++0198;N # LATIN CAPITAL LETTER K WITH HOOK
++0199;N # LATIN SMALL LETTER K WITH HOOK
++019A;N # LATIN SMALL LETTER L WITH BAR
++019B;N # LATIN SMALL LETTER LAMBDA WITH STROKE
++019C;N # LATIN CAPITAL LETTER TURNED M
++019D;N # LATIN CAPITAL LETTER N WITH LEFT HOOK
++019E;N # LATIN SMALL LETTER N WITH LONG RIGHT LEG
++019F;N # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
++01A0;N # LATIN CAPITAL LETTER O WITH HORN
++01A1;N # LATIN SMALL LETTER O WITH HORN
++01A2;N # LATIN CAPITAL LETTER OI
++01A3;N # LATIN SMALL LETTER OI
++01A4;N # LATIN CAPITAL LETTER P WITH HOOK
++01A5;N # LATIN SMALL LETTER P WITH HOOK
++01A6;N # LATIN LETTER YR
++01A7;N # LATIN CAPITAL LETTER TONE TWO
++01A8;N # LATIN SMALL LETTER TONE TWO
++01A9;N # LATIN CAPITAL LETTER ESH
++01AA;N # LATIN LETTER REVERSED ESH LOOP
++01AB;N # LATIN SMALL LETTER T WITH PALATAL HOOK
++01AC;N # LATIN CAPITAL LETTER T WITH HOOK
++01AD;N # LATIN SMALL LETTER T WITH HOOK
++01AE;N # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
++01AF;N # LATIN CAPITAL LETTER U WITH HORN
++01B0;N # LATIN SMALL LETTER U WITH HORN
++01B1;N # LATIN CAPITAL LETTER UPSILON
++01B2;N # LATIN CAPITAL LETTER V WITH HOOK
++01B3;N # LATIN CAPITAL LETTER Y WITH HOOK
++01B4;N # LATIN SMALL LETTER Y WITH HOOK
++01B5;N # LATIN CAPITAL LETTER Z WITH STROKE
++01B6;N # LATIN SMALL LETTER Z WITH STROKE
++01B7;N # LATIN CAPITAL LETTER EZH
++01B8;N # LATIN CAPITAL LETTER EZH REVERSED
++01B9;N # LATIN SMALL LETTER EZH REVERSED
++01BA;N # LATIN SMALL LETTER EZH WITH TAIL
++01BB;N # LATIN LETTER TWO WITH STROKE
++01BC;N # LATIN CAPITAL LETTER TONE FIVE
++01BD;N # LATIN SMALL LETTER TONE FIVE
++01BE;N # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
++01BF;N # LATIN LETTER WYNN
++01C0;N # LATIN LETTER DENTAL CLICK
++01C1;N # LATIN LETTER LATERAL CLICK
++01C2;N # LATIN LETTER ALVEOLAR CLICK
++01C3;N # LATIN LETTER RETROFLEX CLICK
++01C4;N # LATIN CAPITAL LETTER DZ WITH CARON
++01C5;N # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
++01C6;N # LATIN SMALL LETTER DZ WITH CARON
++01C7;N # LATIN CAPITAL LETTER LJ
++01C8;N # LATIN CAPITAL LETTER L WITH SMALL LETTER J
++01C9;N # LATIN SMALL LETTER LJ
++01CA;N # LATIN CAPITAL LETTER NJ
++01CB;N # LATIN CAPITAL LETTER N WITH SMALL LETTER J
++01CC;N # LATIN SMALL LETTER NJ
++01CD;N # LATIN CAPITAL LETTER A WITH CARON
++01CE;A # LATIN SMALL LETTER A WITH CARON
++01CF;N # LATIN CAPITAL LETTER I WITH CARON
++01D0;A # LATIN SMALL LETTER I WITH CARON
++01D1;N # LATIN CAPITAL LETTER O WITH CARON
++01D2;A # LATIN SMALL LETTER O WITH CARON
++01D3;N # LATIN CAPITAL LETTER U WITH CARON
++01D4;A # LATIN SMALL LETTER U WITH CARON
++01D5;N # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
++01D6;A # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
++01D7;N # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
++01D8;A # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
++01D9;N # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
++01DA;A # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
++01DB;N # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
++01DC;A # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
++01DD;N # LATIN SMALL LETTER TURNED E
++01DE;N # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
++01DF;N # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
++01E0;N # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
++01E1;N # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
++01E2;N # LATIN CAPITAL LETTER AE WITH MACRON
++01E3;N # LATIN SMALL LETTER AE WITH MACRON
++01E4;N # LATIN CAPITAL LETTER G WITH STROKE
++01E5;N # LATIN SMALL LETTER G WITH STROKE
++01E6;N # LATIN CAPITAL LETTER G WITH CARON
++01E7;N # LATIN SMALL LETTER G WITH CARON
++01E8;N # LATIN CAPITAL LETTER K WITH CARON
++01E9;N # LATIN SMALL LETTER K WITH CARON
++01EA;N # LATIN CAPITAL LETTER O WITH OGONEK
++01EB;N # LATIN SMALL LETTER O WITH OGONEK
++01EC;N # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
++01ED;N # LATIN SMALL LETTER O WITH OGONEK AND MACRON
++01EE;N # LATIN CAPITAL LETTER EZH WITH CARON
++01EF;N # LATIN SMALL LETTER EZH WITH CARON
++01F0;N # LATIN SMALL LETTER J WITH CARON
++01F1;N # LATIN CAPITAL LETTER DZ
++01F2;N # LATIN CAPITAL LETTER D WITH SMALL LETTER Z
++01F3;N # LATIN SMALL LETTER DZ
++01F4;N # LATIN CAPITAL LETTER G WITH ACUTE
++01F5;N # LATIN SMALL LETTER G WITH ACUTE
++01F6;N # LATIN CAPITAL LETTER HWAIR
++01F7;N # LATIN CAPITAL LETTER WYNN
++01F8;N # LATIN CAPITAL LETTER N WITH GRAVE
++01F9;N # LATIN SMALL LETTER N WITH GRAVE
++01FA;N # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
++01FB;N # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
++01FC;N # LATIN CAPITAL LETTER AE WITH ACUTE
++01FD;N # LATIN SMALL LETTER AE WITH ACUTE
++01FE;N # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
++01FF;N # LATIN SMALL LETTER O WITH STROKE AND ACUTE
++0200;N # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
++0201;N # LATIN SMALL LETTER A WITH DOUBLE GRAVE
++0202;N # LATIN CAPITAL LETTER A WITH INVERTED BREVE
++0203;N # LATIN SMALL LETTER A WITH INVERTED BREVE
++0204;N # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
++0205;N # LATIN SMALL LETTER E WITH DOUBLE GRAVE
++0206;N # LATIN CAPITAL LETTER E WITH INVERTED BREVE
++0207;N # LATIN SMALL LETTER E WITH INVERTED BREVE
++0208;N # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
++0209;N # LATIN SMALL LETTER I WITH DOUBLE GRAVE
++020A;N # LATIN CAPITAL LETTER I WITH INVERTED BREVE
++020B;N # LATIN SMALL LETTER I WITH INVERTED BREVE
++020C;N # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
++020D;N # LATIN SMALL LETTER O WITH DOUBLE GRAVE
++020E;N # LATIN CAPITAL LETTER O WITH INVERTED BREVE
++020F;N # LATIN SMALL LETTER O WITH INVERTED BREVE
++0210;N # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
++0211;N # LATIN SMALL LETTER R WITH DOUBLE GRAVE
++0212;N # LATIN CAPITAL LETTER R WITH INVERTED BREVE
++0213;N # LATIN SMALL LETTER R WITH INVERTED BREVE
++0214;N # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
++0215;N # LATIN SMALL LETTER U WITH DOUBLE GRAVE
++0216;N # LATIN CAPITAL LETTER U WITH INVERTED BREVE
++0217;N # LATIN SMALL LETTER U WITH INVERTED BREVE
++0218;N # LATIN CAPITAL LETTER S WITH COMMA BELOW
++0219;N # LATIN SMALL LETTER S WITH COMMA BELOW
++021A;N # LATIN CAPITAL LETTER T WITH COMMA BELOW
++021B;N # LATIN SMALL LETTER T WITH COMMA BELOW
++021C;N # LATIN CAPITAL LETTER YOGH
++021D;N # LATIN SMALL LETTER YOGH
++021E;N # LATIN CAPITAL LETTER H WITH CARON
++021F;N # LATIN SMALL LETTER H WITH CARON
++0220;N # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
++0221;N # LATIN SMALL LETTER D WITH CURL
++0222;N # LATIN CAPITAL LETTER OU
++0223;N # LATIN SMALL LETTER OU
++0224;N # LATIN CAPITAL LETTER Z WITH HOOK
++0225;N # LATIN SMALL LETTER Z WITH HOOK
++0226;N # LATIN CAPITAL LETTER A WITH DOT ABOVE
++0227;N # LATIN SMALL LETTER A WITH DOT ABOVE
++0228;N # LATIN CAPITAL LETTER E WITH CEDILLA
++0229;N # LATIN SMALL LETTER E WITH CEDILLA
++022A;N # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
++022B;N # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
++022C;N # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
++022D;N # LATIN SMALL LETTER O WITH TILDE AND MACRON
++022E;N # LATIN CAPITAL LETTER O WITH DOT ABOVE
++022F;N # LATIN SMALL LETTER O WITH DOT ABOVE
++0230;N # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
++0231;N # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
++0232;N # LATIN CAPITAL LETTER Y WITH MACRON
++0233;N # LATIN SMALL LETTER Y WITH MACRON
++0234;N # LATIN SMALL LETTER L WITH CURL
++0235;N # LATIN SMALL LETTER N WITH CURL
++0236;N # LATIN SMALL LETTER T WITH CURL
++0237;N # LATIN SMALL LETTER DOTLESS J
++0238;N # LATIN SMALL LETTER DB DIGRAPH
++0239;N # LATIN SMALL LETTER QP DIGRAPH
++023A;N # LATIN CAPITAL LETTER A WITH STROKE
++023B;N # LATIN CAPITAL LETTER C WITH STROKE
++023C;N # LATIN SMALL LETTER C WITH STROKE
++023D;N # LATIN CAPITAL LETTER L WITH BAR
++023E;N # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
++023F;N # LATIN SMALL LETTER S WITH SWASH TAIL
++0240;N # LATIN SMALL LETTER Z WITH SWASH TAIL
++0241;N # LATIN CAPITAL LETTER GLOTTAL STOP
++0242;N # LATIN SMALL LETTER GLOTTAL STOP
++0243;N # LATIN CAPITAL LETTER B WITH STROKE
++0244;N # LATIN CAPITAL LETTER U BAR
++0245;N # LATIN CAPITAL LETTER TURNED V
++0246;N # LATIN CAPITAL LETTER E WITH STROKE
++0247;N # LATIN SMALL LETTER E WITH STROKE
++0248;N # LATIN CAPITAL LETTER J WITH STROKE
++0249;N # LATIN SMALL LETTER J WITH STROKE
++024A;N # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
++024B;N # LATIN SMALL LETTER Q WITH HOOK TAIL
++024C;N # LATIN CAPITAL LETTER R WITH STROKE
++024D;N # LATIN SMALL LETTER R WITH STROKE
++024E;N # LATIN CAPITAL LETTER Y WITH STROKE
++024F;N # LATIN SMALL LETTER Y WITH STROKE
++0250;N # LATIN SMALL LETTER TURNED A
++0251;A # LATIN SMALL LETTER ALPHA
++0252;N # LATIN SMALL LETTER TURNED ALPHA
++0253;N # LATIN SMALL LETTER B WITH HOOK
++0254;N # LATIN SMALL LETTER OPEN O
++0255;N # LATIN SMALL LETTER C WITH CURL
++0256;N # LATIN SMALL LETTER D WITH TAIL
++0257;N # LATIN SMALL LETTER D WITH HOOK
++0258;N # LATIN SMALL LETTER REVERSED E
++0259;N # LATIN SMALL LETTER SCHWA
++025A;N # LATIN SMALL LETTER SCHWA WITH HOOK
++025B;N # LATIN SMALL LETTER OPEN E
++025C;N # LATIN SMALL LETTER REVERSED OPEN E
++025D;N # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
++025E;N # LATIN SMALL LETTER CLOSED REVERSED OPEN E
++025F;N # LATIN SMALL LETTER DOTLESS J WITH STROKE
++0260;N # LATIN SMALL LETTER G WITH HOOK
++0261;A # LATIN SMALL LETTER SCRIPT G
++0262;N # LATIN LETTER SMALL CAPITAL G
++0263;N # LATIN SMALL LETTER GAMMA
++0264;N # LATIN SMALL LETTER RAMS HORN
++0265;N # LATIN SMALL LETTER TURNED H
++0266;N # LATIN SMALL LETTER H WITH HOOK
++0267;N # LATIN SMALL LETTER HENG WITH HOOK
++0268;N # LATIN SMALL LETTER I WITH STROKE
++0269;N # LATIN SMALL LETTER IOTA
++026A;N # LATIN LETTER SMALL CAPITAL I
++026B;N # LATIN SMALL LETTER L WITH MIDDLE TILDE
++026C;N # LATIN SMALL LETTER L WITH BELT
++026D;N # LATIN SMALL LETTER L WITH RETROFLEX HOOK
++026E;N # LATIN SMALL LETTER LEZH
++026F;N # LATIN SMALL LETTER TURNED M
++0270;N # LATIN SMALL LETTER TURNED M WITH LONG LEG
++0271;N # LATIN SMALL LETTER M WITH HOOK
++0272;N # LATIN SMALL LETTER N WITH LEFT HOOK
++0273;N # LATIN SMALL LETTER N WITH RETROFLEX HOOK
++0274;N # LATIN LETTER SMALL CAPITAL N
++0275;N # LATIN SMALL LETTER BARRED O
++0276;N # LATIN LETTER SMALL CAPITAL OE
++0277;N # LATIN SMALL LETTER CLOSED OMEGA
++0278;N # LATIN SMALL LETTER PHI
++0279;N # LATIN SMALL LETTER TURNED R
++027A;N # LATIN SMALL LETTER TURNED R WITH LONG LEG
++027B;N # LATIN SMALL LETTER TURNED R WITH HOOK
++027C;N # LATIN SMALL LETTER R WITH LONG LEG
++027D;N # LATIN SMALL LETTER R WITH TAIL
++027E;N # LATIN SMALL LETTER R WITH FISHHOOK
++027F;N # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
++0280;N # LATIN LETTER SMALL CAPITAL R
++0281;N # LATIN LETTER SMALL CAPITAL INVERTED R
++0282;N # LATIN SMALL LETTER S WITH HOOK
++0283;N # LATIN SMALL LETTER ESH
++0284;N # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
++0285;N # LATIN SMALL LETTER SQUAT REVERSED ESH
++0286;N # LATIN SMALL LETTER ESH WITH CURL
++0287;N # LATIN SMALL LETTER TURNED T
++0288;N # LATIN SMALL LETTER T WITH RETROFLEX HOOK
++0289;N # LATIN SMALL LETTER U BAR
++028A;N # LATIN SMALL LETTER UPSILON
++028B;N # LATIN SMALL LETTER V WITH HOOK
++028C;N # LATIN SMALL LETTER TURNED V
++028D;N # LATIN SMALL LETTER TURNED W
++028E;N # LATIN SMALL LETTER TURNED Y
++028F;N # LATIN LETTER SMALL CAPITAL Y
++0290;N # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
++0291;N # LATIN SMALL LETTER Z WITH CURL
++0292;N # LATIN SMALL LETTER EZH
++0293;N # LATIN SMALL LETTER EZH WITH CURL
++0294;N # LATIN LETTER GLOTTAL STOP
++0295;N # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
++0296;N # LATIN LETTER INVERTED GLOTTAL STOP
++0297;N # LATIN LETTER STRETCHED C
++0298;N # LATIN LETTER BILABIAL CLICK
++0299;N # LATIN LETTER SMALL CAPITAL B
++029A;N # LATIN SMALL LETTER CLOSED OPEN E
++029B;N # LATIN LETTER SMALL CAPITAL G WITH HOOK
++029C;N # LATIN LETTER SMALL CAPITAL H
++029D;N # LATIN SMALL LETTER J WITH CROSSED-TAIL
++029E;N # LATIN SMALL LETTER TURNED K
++029F;N # LATIN LETTER SMALL CAPITAL L
++02A0;N # LATIN SMALL LETTER Q WITH HOOK
++02A1;N # LATIN LETTER GLOTTAL STOP WITH STROKE
++02A2;N # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
++02A3;N # LATIN SMALL LETTER DZ DIGRAPH
++02A4;N # LATIN SMALL LETTER DEZH DIGRAPH
++02A5;N # LATIN SMALL LETTER DZ DIGRAPH WITH CURL
++02A6;N # LATIN SMALL LETTER TS DIGRAPH
++02A7;N # LATIN SMALL LETTER TESH DIGRAPH
++02A8;N # LATIN SMALL LETTER TC DIGRAPH WITH CURL
++02A9;N # LATIN SMALL LETTER FENG DIGRAPH
++02AA;N # LATIN SMALL LETTER LS DIGRAPH
++02AB;N # LATIN SMALL LETTER LZ DIGRAPH
++02AC;N # LATIN LETTER BILABIAL PERCUSSIVE
++02AD;N # LATIN LETTER BIDENTAL PERCUSSIVE
++02AE;N # LATIN SMALL LETTER TURNED H WITH FISHHOOK
++02AF;N # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
++02B0;N # MODIFIER LETTER SMALL H
++02B1;N # MODIFIER LETTER SMALL H WITH HOOK
++02B2;N # MODIFIER LETTER SMALL J
++02B3;N # MODIFIER LETTER SMALL R
++02B4;N # MODIFIER LETTER SMALL TURNED R
++02B5;N # MODIFIER LETTER SMALL TURNED R WITH HOOK
++02B6;N # MODIFIER LETTER SMALL CAPITAL INVERTED R
++02B7;N # MODIFIER LETTER SMALL W
++02B8;N # MODIFIER LETTER SMALL Y
++02B9;N # MODIFIER LETTER PRIME
++02BA;N # MODIFIER LETTER DOUBLE PRIME
++02BB;N # MODIFIER LETTER TURNED COMMA
++02BC;N # MODIFIER LETTER APOSTROPHE
++02BD;N # MODIFIER LETTER REVERSED COMMA
++02BE;N # MODIFIER LETTER RIGHT HALF RING
++02BF;N # MODIFIER LETTER LEFT HALF RING
++02C0;N # MODIFIER LETTER GLOTTAL STOP
++02C1;N # MODIFIER LETTER REVERSED GLOTTAL STOP
++02C2;N # MODIFIER LETTER LEFT ARROWHEAD
++02C3;N # MODIFIER LETTER RIGHT ARROWHEAD
++02C4;A # MODIFIER LETTER UP ARROWHEAD
++02C5;N # MODIFIER LETTER DOWN ARROWHEAD
++02C6;N # MODIFIER LETTER CIRCUMFLEX ACCENT
++02C7;A # CARON
++02C8;N # MODIFIER LETTER VERTICAL LINE
++02C9;A # MODIFIER LETTER MACRON
++02CA;A # MODIFIER LETTER ACUTE ACCENT
++02CB;A # MODIFIER LETTER GRAVE ACCENT
++02CC;N # MODIFIER LETTER LOW VERTICAL LINE
++02CD;A # MODIFIER LETTER LOW MACRON
++02CE;N # MODIFIER LETTER LOW GRAVE ACCENT
++02CF;N # MODIFIER LETTER LOW ACUTE ACCENT
++02D0;A # MODIFIER LETTER TRIANGULAR COLON
++02D1;N # MODIFIER LETTER HALF TRIANGULAR COLON
++02D2;N # MODIFIER LETTER CENTRED RIGHT HALF RING
++02D3;N # MODIFIER LETTER CENTRED LEFT HALF RING
++02D4;N # MODIFIER LETTER UP TACK
++02D5;N # MODIFIER LETTER DOWN TACK
++02D6;N # MODIFIER LETTER PLUS SIGN
++02D7;N # MODIFIER LETTER MINUS SIGN
++02D8;A # BREVE
++02D9;A # DOT ABOVE
++02DA;A # RING ABOVE
++02DB;A # OGONEK
++02DC;N # SMALL TILDE
++02DD;A # DOUBLE ACUTE ACCENT
++02DE;N # MODIFIER LETTER RHOTIC HOOK
++02DF;A # MODIFIER LETTER CROSS ACCENT
++02E0;N # MODIFIER LETTER SMALL GAMMA
++02E1;N # MODIFIER LETTER SMALL L
++02E2;N # MODIFIER LETTER SMALL S
++02E3;N # MODIFIER LETTER SMALL X
++02E4;N # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
++02E5;N # MODIFIER LETTER EXTRA-HIGH TONE BAR
++02E6;N # MODIFIER LETTER HIGH TONE BAR
++02E7;N # MODIFIER LETTER MID TONE BAR
++02E8;N # MODIFIER LETTER LOW TONE BAR
++02E9;N # MODIFIER LETTER EXTRA-LOW TONE BAR
++02EA;N # MODIFIER LETTER YIN DEPARTING TONE MARK
++02EB;N # MODIFIER LETTER YANG DEPARTING TONE MARK
++02EC;N # MODIFIER LETTER VOICING
++02ED;N # MODIFIER LETTER UNASPIRATED
++02EE;N # MODIFIER LETTER DOUBLE APOSTROPHE
++02EF;N # MODIFIER LETTER LOW DOWN ARROWHEAD
++02F0;N # MODIFIER LETTER LOW UP ARROWHEAD
++02F1;N # MODIFIER LETTER LOW LEFT ARROWHEAD
++02F2;N # MODIFIER LETTER LOW RIGHT ARROWHEAD
++02F3;N # MODIFIER LETTER LOW RING
++02F4;N # MODIFIER LETTER MIDDLE GRAVE ACCENT
++02F5;N # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
++02F6;N # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
++02F7;N # MODIFIER LETTER LOW TILDE
++02F8;N # MODIFIER LETTER RAISED COLON
++02F9;N # MODIFIER LETTER BEGIN HIGH TONE
++02FA;N # MODIFIER LETTER END HIGH TONE
++02FB;N # MODIFIER LETTER BEGIN LOW TONE
++02FC;N # MODIFIER LETTER END LOW TONE
++02FD;N # MODIFIER LETTER SHELF
++02FE;N # MODIFIER LETTER OPEN SHELF
++02FF;N # MODIFIER LETTER LOW LEFT ARROW
++0300;A # COMBINING GRAVE ACCENT
++0301;A # COMBINING ACUTE ACCENT
++0302;A # COMBINING CIRCUMFLEX ACCENT
++0303;A # COMBINING TILDE
++0304;A # COMBINING MACRON
++0305;A # COMBINING OVERLINE
++0306;A # COMBINING BREVE
++0307;A # COMBINING DOT ABOVE
++0308;A # COMBINING DIAERESIS
++0309;A # COMBINING HOOK ABOVE
++030A;A # COMBINING RING ABOVE
++030B;A # COMBINING DOUBLE ACUTE ACCENT
++030C;A # COMBINING CARON
++030D;A # COMBINING VERTICAL LINE ABOVE
++030E;A # COMBINING DOUBLE VERTICAL LINE ABOVE
++030F;A # COMBINING DOUBLE GRAVE ACCENT
++0310;A # COMBINING CANDRABINDU
++0311;A # COMBINING INVERTED BREVE
++0312;A # COMBINING TURNED COMMA ABOVE
++0313;A # COMBINING COMMA ABOVE
++0314;A # COMBINING REVERSED COMMA ABOVE
++0315;A # COMBINING COMMA ABOVE RIGHT
++0316;A # COMBINING GRAVE ACCENT BELOW
++0317;A # COMBINING ACUTE ACCENT BELOW
++0318;A # COMBINING LEFT TACK BELOW
++0319;A # COMBINING RIGHT TACK BELOW
++031A;A # COMBINING LEFT ANGLE ABOVE
++031B;A # COMBINING HORN
++031C;A # COMBINING LEFT HALF RING BELOW
++031D;A # COMBINING UP TACK BELOW
++031E;A # COMBINING DOWN TACK BELOW
++031F;A # COMBINING PLUS SIGN BELOW
++0320;A # COMBINING MINUS SIGN BELOW
++0321;A # COMBINING PALATALIZED HOOK BELOW
++0322;A # COMBINING RETROFLEX HOOK BELOW
++0323;A # COMBINING DOT BELOW
++0324;A # COMBINING DIAERESIS BELOW
++0325;A # COMBINING RING BELOW
++0326;A # COMBINING COMMA BELOW
++0327;A # COMBINING CEDILLA
++0328;A # COMBINING OGONEK
++0329;A # COMBINING VERTICAL LINE BELOW
++032A;A # COMBINING BRIDGE BELOW
++032B;A # COMBINING INVERTED DOUBLE ARCH BELOW
++032C;A # COMBINING CARON BELOW
++032D;A # COMBINING CIRCUMFLEX ACCENT BELOW
++032E;A # COMBINING BREVE BELOW
++032F;A # COMBINING INVERTED BREVE BELOW
++0330;A # COMBINING TILDE BELOW
++0331;A # COMBINING MACRON BELOW
++0332;A # COMBINING LOW LINE
++0333;A # COMBINING DOUBLE LOW LINE
++0334;A # COMBINING TILDE OVERLAY
++0335;A # COMBINING SHORT STROKE OVERLAY
++0336;A # COMBINING LONG STROKE OVERLAY
++0337;A # COMBINING SHORT SOLIDUS OVERLAY
++0338;A # COMBINING LONG SOLIDUS OVERLAY
++0339;A # COMBINING RIGHT HALF RING BELOW
++033A;A # COMBINING INVERTED BRIDGE BELOW
++033B;A # COMBINING SQUARE BELOW
++033C;A # COMBINING SEAGULL BELOW
++033D;A # COMBINING X ABOVE
++033E;A # COMBINING VERTICAL TILDE
++033F;A # COMBINING DOUBLE OVERLINE
++0340;A # COMBINING GRAVE TONE MARK
++0341;A # COMBINING ACUTE TONE MARK
++0342;A # COMBINING GREEK PERISPOMENI
++0343;A # COMBINING GREEK KORONIS
++0344;A # COMBINING GREEK DIALYTIKA TONOS
++0345;A # COMBINING GREEK YPOGEGRAMMENI
++0346;A # COMBINING BRIDGE ABOVE
++0347;A # COMBINING EQUALS SIGN BELOW
++0348;A # COMBINING DOUBLE VERTICAL LINE BELOW
++0349;A # COMBINING LEFT ANGLE BELOW
++034A;A # COMBINING NOT TILDE ABOVE
++034B;A # COMBINING HOMOTHETIC ABOVE
++034C;A # COMBINING ALMOST EQUAL TO ABOVE
++034D;A # COMBINING LEFT RIGHT ARROW BELOW
++034E;A # COMBINING UPWARDS ARROW BELOW
++034F;A # COMBINING GRAPHEME JOINER
++0350;A # COMBINING RIGHT ARROWHEAD ABOVE
++0351;A # COMBINING LEFT HALF RING ABOVE
++0352;A # COMBINING FERMATA
++0353;A # COMBINING X BELOW
++0354;A # COMBINING LEFT ARROWHEAD BELOW
++0355;A # COMBINING RIGHT ARROWHEAD BELOW
++0356;A # COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
++0357;A # COMBINING RIGHT HALF RING ABOVE
++0358;A # COMBINING DOT ABOVE RIGHT
++0359;A # COMBINING ASTERISK BELOW
++035A;A # COMBINING DOUBLE RING BELOW
++035B;A # COMBINING ZIGZAG ABOVE
++035C;A # COMBINING DOUBLE BREVE BELOW
++035D;A # COMBINING DOUBLE BREVE
++035E;A # COMBINING DOUBLE MACRON
++035F;A # COMBINING DOUBLE MACRON BELOW
++0360;A # COMBINING DOUBLE TILDE
++0361;A # COMBINING DOUBLE INVERTED BREVE
++0362;A # COMBINING DOUBLE RIGHTWARDS ARROW BELOW
++0363;A # COMBINING LATIN SMALL LETTER A
++0364;A # COMBINING LATIN SMALL LETTER E
++0365;A # COMBINING LATIN SMALL LETTER I
++0366;A # COMBINING LATIN SMALL LETTER O
++0367;A # COMBINING LATIN SMALL LETTER U
++0368;A # COMBINING LATIN SMALL LETTER C
++0369;A # COMBINING LATIN SMALL LETTER D
++036A;A # COMBINING LATIN SMALL LETTER H
++036B;A # COMBINING LATIN SMALL LETTER M
++036C;A # COMBINING LATIN SMALL LETTER R
++036D;A # COMBINING LATIN SMALL LETTER T
++036E;A # COMBINING LATIN SMALL LETTER V
++036F;A # COMBINING LATIN SMALL LETTER X
++0370;N # GREEK CAPITAL LETTER HETA
++0371;N # GREEK SMALL LETTER HETA
++0372;N # GREEK CAPITAL LETTER ARCHAIC SAMPI
++0373;N # GREEK SMALL LETTER ARCHAIC SAMPI
++0374;N # GREEK NUMERAL SIGN
++0375;N # GREEK LOWER NUMERAL SIGN
++0376;N # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
++0377;N # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
++037A;N # GREEK YPOGEGRAMMENI
++037B;N # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
++037C;N # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
++037D;N # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
++037E;N # GREEK QUESTION MARK
++0384;N # GREEK TONOS
++0385;N # GREEK DIALYTIKA TONOS
++0386;N # GREEK CAPITAL LETTER ALPHA WITH TONOS
++0387;N # GREEK ANO TELEIA
++0388;N # GREEK CAPITAL LETTER EPSILON WITH TONOS
++0389;N # GREEK CAPITAL LETTER ETA WITH TONOS
++038A;N # GREEK CAPITAL LETTER IOTA WITH TONOS
++038C;N # GREEK CAPITAL LETTER OMICRON WITH TONOS
++038E;N # GREEK CAPITAL LETTER UPSILON WITH TONOS
++038F;N # GREEK CAPITAL LETTER OMEGA WITH TONOS
++0390;N # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
++0391;A # GREEK CAPITAL LETTER ALPHA
++0392;A # GREEK CAPITAL LETTER BETA
++0393;A # GREEK CAPITAL LETTER GAMMA
++0394;A # GREEK CAPITAL LETTER DELTA
++0395;A # GREEK CAPITAL LETTER EPSILON
++0396;A # GREEK CAPITAL LETTER ZETA
++0397;A # GREEK CAPITAL LETTER ETA
++0398;A # GREEK CAPITAL LETTER THETA
++0399;A # GREEK CAPITAL LETTER IOTA
++039A;A # GREEK CAPITAL LETTER KAPPA
++039B;A # GREEK CAPITAL LETTER LAMDA
++039C;A # GREEK CAPITAL LETTER MU
++039D;A # GREEK CAPITAL LETTER NU
++039E;A # GREEK CAPITAL LETTER XI
++039F;A # GREEK CAPITAL LETTER OMICRON
++03A0;A # GREEK CAPITAL LETTER PI
++03A1;A # GREEK CAPITAL LETTER RHO
++03A3;A # GREEK CAPITAL LETTER SIGMA
++03A4;A # GREEK CAPITAL LETTER TAU
++03A5;A # GREEK CAPITAL LETTER UPSILON
++03A6;A # GREEK CAPITAL LETTER PHI
++03A7;A # GREEK CAPITAL LETTER CHI
++03A8;A # GREEK CAPITAL LETTER PSI
++03A9;A # GREEK CAPITAL LETTER OMEGA
++03AA;N # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
++03AB;N # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
++03AC;N # GREEK SMALL LETTER ALPHA WITH TONOS
++03AD;N # GREEK SMALL LETTER EPSILON WITH TONOS
++03AE;N # GREEK SMALL LETTER ETA WITH TONOS
++03AF;N # GREEK SMALL LETTER IOTA WITH TONOS
++03B0;N # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
++03B1;A # GREEK SMALL LETTER ALPHA
++03B2;A # GREEK SMALL LETTER BETA
++03B3;A # GREEK SMALL LETTER GAMMA
++03B4;A # GREEK SMALL LETTER DELTA
++03B5;A # GREEK SMALL LETTER EPSILON
++03B6;A # GREEK SMALL LETTER ZETA
++03B7;A # GREEK SMALL LETTER ETA
++03B8;A # GREEK SMALL LETTER THETA
++03B9;A # GREEK SMALL LETTER IOTA
++03BA;A # GREEK SMALL LETTER KAPPA
++03BB;A # GREEK SMALL LETTER LAMDA
++03BC;A # GREEK SMALL LETTER MU
++03BD;A # GREEK SMALL LETTER NU
++03BE;A # GREEK SMALL LETTER XI
++03BF;A # GREEK SMALL LETTER OMICRON
++03C0;A # GREEK SMALL LETTER PI
++03C1;A # GREEK SMALL LETTER RHO
++03C2;N # GREEK SMALL LETTER FINAL SIGMA
++03C3;A # GREEK SMALL LETTER SIGMA
++03C4;A # GREEK SMALL LETTER TAU
++03C5;A # GREEK SMALL LETTER UPSILON
++03C6;A # GREEK SMALL LETTER PHI
++03C7;A # GREEK SMALL LETTER CHI
++03C8;A # GREEK SMALL LETTER PSI
++03C9;A # GREEK SMALL LETTER OMEGA
++03CA;N # GREEK SMALL LETTER IOTA WITH DIALYTIKA
++03CB;N # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
++03CC;N # GREEK SMALL LETTER OMICRON WITH TONOS
++03CD;N # GREEK SMALL LETTER UPSILON WITH TONOS
++03CE;N # GREEK SMALL LETTER OMEGA WITH TONOS
++03CF;N # GREEK CAPITAL KAI SYMBOL
++03D0;N # GREEK BETA SYMBOL
++03D1;N # GREEK THETA SYMBOL
++03D2;N # GREEK UPSILON WITH HOOK SYMBOL
++03D3;N # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
++03D4;N # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
++03D5;N # GREEK PHI SYMBOL
++03D6;N # GREEK PI SYMBOL
++03D7;N # GREEK KAI SYMBOL
++03D8;N # GREEK LETTER ARCHAIC KOPPA
++03D9;N # GREEK SMALL LETTER ARCHAIC KOPPA
++03DA;N # GREEK LETTER STIGMA
++03DB;N # GREEK SMALL LETTER STIGMA
++03DC;N # GREEK LETTER DIGAMMA
++03DD;N # GREEK SMALL LETTER DIGAMMA
++03DE;N # GREEK LETTER KOPPA
++03DF;N # GREEK SMALL LETTER KOPPA
++03E0;N # GREEK LETTER SAMPI
++03E1;N # GREEK SMALL LETTER SAMPI
++03E2;N # COPTIC CAPITAL LETTER SHEI
++03E3;N # COPTIC SMALL LETTER SHEI
++03E4;N # COPTIC CAPITAL LETTER FEI
++03E5;N # COPTIC SMALL LETTER FEI
++03E6;N # COPTIC CAPITAL LETTER KHEI
++03E7;N # COPTIC SMALL LETTER KHEI
++03E8;N # COPTIC CAPITAL LETTER HORI
++03E9;N # COPTIC SMALL LETTER HORI
++03EA;N # COPTIC CAPITAL LETTER GANGIA
++03EB;N # COPTIC SMALL LETTER GANGIA
++03EC;N # COPTIC CAPITAL LETTER SHIMA
++03ED;N # COPTIC SMALL LETTER SHIMA
++03EE;N # COPTIC CAPITAL LETTER DEI
++03EF;N # COPTIC SMALL LETTER DEI
++03F0;N # GREEK KAPPA SYMBOL
++03F1;N # GREEK RHO SYMBOL
++03F2;N # GREEK LUNATE SIGMA SYMBOL
++03F3;N # GREEK LETTER YOT
++03F4;N # GREEK CAPITAL THETA SYMBOL
++03F5;N # GREEK LUNATE EPSILON SYMBOL
++03F6;N # GREEK REVERSED LUNATE EPSILON SYMBOL
++03F7;N # GREEK CAPITAL LETTER SHO
++03F8;N # GREEK SMALL LETTER SHO
++03F9;N # GREEK CAPITAL LUNATE SIGMA SYMBOL
++03FA;N # GREEK CAPITAL LETTER SAN
++03FB;N # GREEK SMALL LETTER SAN
++03FC;N # GREEK RHO WITH STROKE SYMBOL
++03FD;N # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
++03FE;N # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
++03FF;N # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
++0400;N # CYRILLIC CAPITAL LETTER IE WITH GRAVE
++0401;A # CYRILLIC CAPITAL LETTER IO
++0402;N # CYRILLIC CAPITAL LETTER DJE
++0403;N # CYRILLIC CAPITAL LETTER GJE
++0404;N # CYRILLIC CAPITAL LETTER UKRAINIAN IE
++0405;N # CYRILLIC CAPITAL LETTER DZE
++0406;N # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
++0407;N # CYRILLIC CAPITAL LETTER YI
++0408;N # CYRILLIC CAPITAL LETTER JE
++0409;N # CYRILLIC CAPITAL LETTER LJE
++040A;N # CYRILLIC CAPITAL LETTER NJE
++040B;N # CYRILLIC CAPITAL LETTER TSHE
++040C;N # CYRILLIC CAPITAL LETTER KJE
++040D;N # CYRILLIC CAPITAL LETTER I WITH GRAVE
++040E;N # CYRILLIC CAPITAL LETTER SHORT U
++040F;N # CYRILLIC CAPITAL LETTER DZHE
++0410;A # CYRILLIC CAPITAL LETTER A
++0411;A # CYRILLIC CAPITAL LETTER BE
++0412;A # CYRILLIC CAPITAL LETTER VE
++0413;A # CYRILLIC CAPITAL LETTER GHE
++0414;A # CYRILLIC CAPITAL LETTER DE
++0415;A # CYRILLIC CAPITAL LETTER IE
++0416;A # CYRILLIC CAPITAL LETTER ZHE
++0417;A # CYRILLIC CAPITAL LETTER ZE
++0418;A # CYRILLIC CAPITAL LETTER I
++0419;A # CYRILLIC CAPITAL LETTER SHORT I
++041A;A # CYRILLIC CAPITAL LETTER KA
++041B;A # CYRILLIC CAPITAL LETTER EL
++041C;A # CYRILLIC CAPITAL LETTER EM
++041D;A # CYRILLIC CAPITAL LETTER EN
++041E;A # CYRILLIC CAPITAL LETTER O
++041F;A # CYRILLIC CAPITAL LETTER PE
++0420;A # CYRILLIC CAPITAL LETTER ER
++0421;A # CYRILLIC CAPITAL LETTER ES
++0422;A # CYRILLIC CAPITAL LETTER TE
++0423;A # CYRILLIC CAPITAL LETTER U
++0424;A # CYRILLIC CAPITAL LETTER EF
++0425;A # CYRILLIC CAPITAL LETTER HA
++0426;A # CYRILLIC CAPITAL LETTER TSE
++0427;A # CYRILLIC CAPITAL LETTER CHE
++0428;A # CYRILLIC CAPITAL LETTER SHA
++0429;A # CYRILLIC CAPITAL LETTER SHCHA
++042A;A # CYRILLIC CAPITAL LETTER HARD SIGN
++042B;A # CYRILLIC CAPITAL LETTER YERU
++042C;A # CYRILLIC CAPITAL LETTER SOFT SIGN
++042D;A # CYRILLIC CAPITAL LETTER E
++042E;A # CYRILLIC CAPITAL LETTER YU
++042F;A # CYRILLIC CAPITAL LETTER YA
++0430;A # CYRILLIC SMALL LETTER A
++0431;A # CYRILLIC SMALL LETTER BE
++0432;A # CYRILLIC SMALL LETTER VE
++0433;A # CYRILLIC SMALL LETTER GHE
++0434;A # CYRILLIC SMALL LETTER DE
++0435;A # CYRILLIC SMALL LETTER IE
++0436;A # CYRILLIC SMALL LETTER ZHE
++0437;A # CYRILLIC SMALL LETTER ZE
++0438;A # CYRILLIC SMALL LETTER I
++0439;A # CYRILLIC SMALL LETTER SHORT I
++043A;A # CYRILLIC SMALL LETTER KA
++043B;A # CYRILLIC SMALL LETTER EL
++043C;A # CYRILLIC SMALL LETTER EM
++043D;A # CYRILLIC SMALL LETTER EN
++043E;A # CYRILLIC SMALL LETTER O
++043F;A # CYRILLIC SMALL LETTER PE
++0440;A # CYRILLIC SMALL LETTER ER
++0441;A # CYRILLIC SMALL LETTER ES
++0442;A # CYRILLIC SMALL LETTER TE
++0443;A # CYRILLIC SMALL LETTER U
++0444;A # CYRILLIC SMALL LETTER EF
++0445;A # CYRILLIC SMALL LETTER HA
++0446;A # CYRILLIC SMALL LETTER TSE
++0447;A # CYRILLIC SMALL LETTER CHE
++0448;A # CYRILLIC SMALL LETTER SHA
++0449;A # CYRILLIC SMALL LETTER SHCHA
++044A;A # CYRILLIC SMALL LETTER HARD SIGN
++044B;A # CYRILLIC SMALL LETTER YERU
++044C;A # CYRILLIC SMALL LETTER SOFT SIGN
++044D;A # CYRILLIC SMALL LETTER E
++044E;A # CYRILLIC SMALL LETTER YU
++044F;A # CYRILLIC SMALL LETTER YA
++0450;N # CYRILLIC SMALL LETTER IE WITH GRAVE
++0451;A # CYRILLIC SMALL LETTER IO
++0452;N # CYRILLIC SMALL LETTER DJE
++0453;N # CYRILLIC SMALL LETTER GJE
++0454;N # CYRILLIC SMALL LETTER UKRAINIAN IE
++0455;N # CYRILLIC SMALL LETTER DZE
++0456;N # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
++0457;N # CYRILLIC SMALL LETTER YI
++0458;N # CYRILLIC SMALL LETTER JE
++0459;N # CYRILLIC SMALL LETTER LJE
++045A;N # CYRILLIC SMALL LETTER NJE
++045B;N # CYRILLIC SMALL LETTER TSHE
++045C;N # CYRILLIC SMALL LETTER KJE
++045D;N # CYRILLIC SMALL LETTER I WITH GRAVE
++045E;N # CYRILLIC SMALL LETTER SHORT U
++045F;N # CYRILLIC SMALL LETTER DZHE
++0460;N # CYRILLIC CAPITAL LETTER OMEGA
++0461;N # CYRILLIC SMALL LETTER OMEGA
++0462;N # CYRILLIC CAPITAL LETTER YAT
++0463;N # CYRILLIC SMALL LETTER YAT
++0464;N # CYRILLIC CAPITAL LETTER IOTIFIED E
++0465;N # CYRILLIC SMALL LETTER IOTIFIED E
++0466;N # CYRILLIC CAPITAL LETTER LITTLE YUS
++0467;N # CYRILLIC SMALL LETTER LITTLE YUS
++0468;N # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
++0469;N # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
++046A;N # CYRILLIC CAPITAL LETTER BIG YUS
++046B;N # CYRILLIC SMALL LETTER BIG YUS
++046C;N # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
++046D;N # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
++046E;N # CYRILLIC CAPITAL LETTER KSI
++046F;N # CYRILLIC SMALL LETTER KSI
++0470;N # CYRILLIC CAPITAL LETTER PSI
++0471;N # CYRILLIC SMALL LETTER PSI
++0472;N # CYRILLIC CAPITAL LETTER FITA
++0473;N # CYRILLIC SMALL LETTER FITA
++0474;N # CYRILLIC CAPITAL LETTER IZHITSA
++0475;N # CYRILLIC SMALL LETTER IZHITSA
++0476;N # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
++0477;N # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
++0478;N # CYRILLIC CAPITAL LETTER UK
++0479;N # CYRILLIC SMALL LETTER UK
++047A;N # CYRILLIC CAPITAL LETTER ROUND OMEGA
++047B;N # CYRILLIC SMALL LETTER ROUND OMEGA
++047C;N # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
++047D;N # CYRILLIC SMALL LETTER OMEGA WITH TITLO
++047E;N # CYRILLIC CAPITAL LETTER OT
++047F;N # CYRILLIC SMALL LETTER OT
++0480;N # CYRILLIC CAPITAL LETTER KOPPA
++0481;N # CYRILLIC SMALL LETTER KOPPA
++0482;N # CYRILLIC THOUSANDS SIGN
++0483;N # COMBINING CYRILLIC TITLO
++0484;N # COMBINING CYRILLIC PALATALIZATION
++0485;N # COMBINING CYRILLIC DASIA PNEUMATA
++0486;N # COMBINING CYRILLIC PSILI PNEUMATA
++0487;N # COMBINING CYRILLIC POKRYTIE
++0488;N # COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
++0489;N # COMBINING CYRILLIC MILLIONS SIGN
++048A;N # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
++048B;N # CYRILLIC SMALL LETTER SHORT I WITH TAIL
++048C;N # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
++048D;N # CYRILLIC SMALL LETTER SEMISOFT SIGN
++048E;N # CYRILLIC CAPITAL LETTER ER WITH TICK
++048F;N # CYRILLIC SMALL LETTER ER WITH TICK
++0490;N # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
++0491;N # CYRILLIC SMALL LETTER GHE WITH UPTURN
++0492;N # CYRILLIC CAPITAL LETTER GHE WITH STROKE
++0493;N # CYRILLIC SMALL LETTER GHE WITH STROKE
++0494;N # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
++0495;N # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
++0496;N # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
++0497;N # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
++0498;N # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
++0499;N # CYRILLIC SMALL LETTER ZE WITH DESCENDER
++049A;N # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
++049B;N # CYRILLIC SMALL LETTER KA WITH DESCENDER
++049C;N # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
++049D;N # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
++049E;N # CYRILLIC CAPITAL LETTER KA WITH STROKE
++049F;N # CYRILLIC SMALL LETTER KA WITH STROKE
++04A0;N # CYRILLIC CAPITAL LETTER BASHKIR KA
++04A1;N # CYRILLIC SMALL LETTER BASHKIR KA
++04A2;N # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
++04A3;N # CYRILLIC SMALL LETTER EN WITH DESCENDER
++04A4;N # CYRILLIC CAPITAL LIGATURE EN GHE
++04A5;N # CYRILLIC SMALL LIGATURE EN GHE
++04A6;N # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
++04A7;N # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
++04A8;N # CYRILLIC CAPITAL LETTER ABKHASIAN HA
++04A9;N # CYRILLIC SMALL LETTER ABKHASIAN HA
++04AA;N # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
++04AB;N # CYRILLIC SMALL LETTER ES WITH DESCENDER
++04AC;N # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
++04AD;N # CYRILLIC SMALL LETTER TE WITH DESCENDER
++04AE;N # CYRILLIC CAPITAL LETTER STRAIGHT U
++04AF;N # CYRILLIC SMALL LETTER STRAIGHT U
++04B0;N # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
++04B1;N # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
++04B2;N # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
++04B3;N # CYRILLIC SMALL LETTER HA WITH DESCENDER
++04B4;N # CYRILLIC CAPITAL LIGATURE TE TSE
++04B5;N # CYRILLIC SMALL LIGATURE TE TSE
++04B6;N # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
++04B7;N # CYRILLIC SMALL LETTER CHE WITH DESCENDER
++04B8;N # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
++04B9;N # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
++04BA;N # CYRILLIC CAPITAL LETTER SHHA
++04BB;N # CYRILLIC SMALL LETTER SHHA
++04BC;N # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
++04BD;N # CYRILLIC SMALL LETTER ABKHASIAN CHE
++04BE;N # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
++04BF;N # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
++04C0;N # CYRILLIC LETTER PALOCHKA
++04C1;N # CYRILLIC CAPITAL LETTER ZHE WITH BREVE
++04C2;N # CYRILLIC SMALL LETTER ZHE WITH BREVE
++04C3;N # CYRILLIC CAPITAL LETTER KA WITH HOOK
++04C4;N # CYRILLIC SMALL LETTER KA WITH HOOK
++04C5;N # CYRILLIC CAPITAL LETTER EL WITH TAIL
++04C6;N # CYRILLIC SMALL LETTER EL WITH TAIL
++04C7;N # CYRILLIC CAPITAL LETTER EN WITH HOOK
++04C8;N # CYRILLIC SMALL LETTER EN WITH HOOK
++04C9;N # CYRILLIC CAPITAL LETTER EN WITH TAIL
++04CA;N # CYRILLIC SMALL LETTER EN WITH TAIL
++04CB;N # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
++04CC;N # CYRILLIC SMALL LETTER KHAKASSIAN CHE
++04CD;N # CYRILLIC CAPITAL LETTER EM WITH TAIL
++04CE;N # CYRILLIC SMALL LETTER EM WITH TAIL
++04CF;N # CYRILLIC SMALL LETTER PALOCHKA
++04D0;N # CYRILLIC CAPITAL LETTER A WITH BREVE
++04D1;N # CYRILLIC SMALL LETTER A WITH BREVE
++04D2;N # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
++04D3;N # CYRILLIC SMALL LETTER A WITH DIAERESIS
++04D4;N # CYRILLIC CAPITAL LIGATURE A IE
++04D5;N # CYRILLIC SMALL LIGATURE A IE
++04D6;N # CYRILLIC CAPITAL LETTER IE WITH BREVE
++04D7;N # CYRILLIC SMALL LETTER IE WITH BREVE
++04D8;N # CYRILLIC CAPITAL LETTER SCHWA
++04D9;N # CYRILLIC SMALL LETTER SCHWA
++04DA;N # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
++04DB;N # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
++04DC;N # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
++04DD;N # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
++04DE;N # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
++04DF;N # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
++04E0;N # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
++04E1;N # CYRILLIC SMALL LETTER ABKHASIAN DZE
++04E2;N # CYRILLIC CAPITAL LETTER I WITH MACRON
++04E3;N # CYRILLIC SMALL LETTER I WITH MACRON
++04E4;N # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
++04E5;N # CYRILLIC SMALL LETTER I WITH DIAERESIS
++04E6;N # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
++04E7;N # CYRILLIC SMALL LETTER O WITH DIAERESIS
++04E8;N # CYRILLIC CAPITAL LETTER BARRED O
++04E9;N # CYRILLIC SMALL LETTER BARRED O
++04EA;N # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
++04EB;N # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
++04EC;N # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
++04ED;N # CYRILLIC SMALL LETTER E WITH DIAERESIS
++04EE;N # CYRILLIC CAPITAL LETTER U WITH MACRON
++04EF;N # CYRILLIC SMALL LETTER U WITH MACRON
++04F0;N # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
++04F1;N # CYRILLIC SMALL LETTER U WITH DIAERESIS
++04F2;N # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
++04F3;N # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
++04F4;N # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
++04F5;N # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
++04F6;N # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
++04F7;N # CYRILLIC SMALL LETTER GHE WITH DESCENDER
++04F8;N # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
++04F9;N # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
++04FA;N # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
++04FB;N # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
++04FC;N # CYRILLIC CAPITAL LETTER HA WITH HOOK
++04FD;N # CYRILLIC SMALL LETTER HA WITH HOOK
++04FE;N # CYRILLIC CAPITAL LETTER HA WITH STROKE
++04FF;N # CYRILLIC SMALL LETTER HA WITH STROKE
++0500;N # CYRILLIC CAPITAL LETTER KOMI DE
++0501;N # CYRILLIC SMALL LETTER KOMI DE
++0502;N # CYRILLIC CAPITAL LETTER KOMI DJE
++0503;N # CYRILLIC SMALL LETTER KOMI DJE
++0504;N # CYRILLIC CAPITAL LETTER KOMI ZJE
++0505;N # CYRILLIC SMALL LETTER KOMI ZJE
++0506;N # CYRILLIC CAPITAL LETTER KOMI DZJE
++0507;N # CYRILLIC SMALL LETTER KOMI DZJE
++0508;N # CYRILLIC CAPITAL LETTER KOMI LJE
++0509;N # CYRILLIC SMALL LETTER KOMI LJE
++050A;N # CYRILLIC CAPITAL LETTER KOMI NJE
++050B;N # CYRILLIC SMALL LETTER KOMI NJE
++050C;N # CYRILLIC CAPITAL LETTER KOMI SJE
++050D;N # CYRILLIC SMALL LETTER KOMI SJE
++050E;N # CYRILLIC CAPITAL LETTER KOMI TJE
++050F;N # CYRILLIC SMALL LETTER KOMI TJE
++0510;N # CYRILLIC CAPITAL LETTER REVERSED ZE
++0511;N # CYRILLIC SMALL LETTER REVERSED ZE
++0512;N # CYRILLIC CAPITAL LETTER EL WITH HOOK
++0513;N # CYRILLIC SMALL LETTER EL WITH HOOK
++0514;N # CYRILLIC CAPITAL LETTER LHA
++0515;N # CYRILLIC SMALL LETTER LHA
++0516;N # CYRILLIC CAPITAL LETTER RHA
++0517;N # CYRILLIC SMALL LETTER RHA
++0518;N # CYRILLIC CAPITAL LETTER YAE
++0519;N # CYRILLIC SMALL LETTER YAE
++051A;N # CYRILLIC CAPITAL LETTER QA
++051B;N # CYRILLIC SMALL LETTER QA
++051C;N # CYRILLIC CAPITAL LETTER WE
++051D;N # CYRILLIC SMALL LETTER WE
++051E;N # CYRILLIC CAPITAL LETTER ALEUT KA
++051F;N # CYRILLIC SMALL LETTER ALEUT KA
++0520;N # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
++0521;N # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
++0522;N # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
++0523;N # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
++0524;N # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
++0525;N # CYRILLIC SMALL LETTER PE WITH DESCENDER
++0531;N # ARMENIAN CAPITAL LETTER AYB
++0532;N # ARMENIAN CAPITAL LETTER BEN
++0533;N # ARMENIAN CAPITAL LETTER GIM
++0534;N # ARMENIAN CAPITAL LETTER DA
++0535;N # ARMENIAN CAPITAL LETTER ECH
++0536;N # ARMENIAN CAPITAL LETTER ZA
++0537;N # ARMENIAN CAPITAL LETTER EH
++0538;N # ARMENIAN CAPITAL LETTER ET
++0539;N # ARMENIAN CAPITAL LETTER TO
++053A;N # ARMENIAN CAPITAL LETTER ZHE
++053B;N # ARMENIAN CAPITAL LETTER INI
++053C;N # ARMENIAN CAPITAL LETTER LIWN
++053D;N # ARMENIAN CAPITAL LETTER XEH
++053E;N # ARMENIAN CAPITAL LETTER CA
++053F;N # ARMENIAN CAPITAL LETTER KEN
++0540;N # ARMENIAN CAPITAL LETTER HO
++0541;N # ARMENIAN CAPITAL LETTER JA
++0542;N # ARMENIAN CAPITAL LETTER GHAD
++0543;N # ARMENIAN CAPITAL LETTER CHEH
++0544;N # ARMENIAN CAPITAL LETTER MEN
++0545;N # ARMENIAN CAPITAL LETTER YI
++0546;N # ARMENIAN CAPITAL LETTER NOW
++0547;N # ARMENIAN CAPITAL LETTER SHA
++0548;N # ARMENIAN CAPITAL LETTER VO
++0549;N # ARMENIAN CAPITAL LETTER CHA
++054A;N # ARMENIAN CAPITAL LETTER PEH
++054B;N # ARMENIAN CAPITAL LETTER JHEH
++054C;N # ARMENIAN CAPITAL LETTER RA
++054D;N # ARMENIAN CAPITAL LETTER SEH
++054E;N # ARMENIAN CAPITAL LETTER VEW
++054F;N # ARMENIAN CAPITAL LETTER TIWN
++0550;N # ARMENIAN CAPITAL LETTER REH
++0551;N # ARMENIAN CAPITAL LETTER CO
++0552;N # ARMENIAN CAPITAL LETTER YIWN
++0553;N # ARMENIAN CAPITAL LETTER PIWR
++0554;N # ARMENIAN CAPITAL LETTER KEH
++0555;N # ARMENIAN CAPITAL LETTER OH
++0556;N # ARMENIAN CAPITAL LETTER FEH
++0559;N # ARMENIAN MODIFIER LETTER LEFT HALF RING
++055A;N # ARMENIAN APOSTROPHE
++055B;N # ARMENIAN EMPHASIS MARK
++055C;N # ARMENIAN EXCLAMATION MARK
++055D;N # ARMENIAN COMMA
++055E;N # ARMENIAN QUESTION MARK
++055F;N # ARMENIAN ABBREVIATION MARK
++0561;N # ARMENIAN SMALL LETTER AYB
++0562;N # ARMENIAN SMALL LETTER BEN
++0563;N # ARMENIAN SMALL LETTER GIM
++0564;N # ARMENIAN SMALL LETTER DA
++0565;N # ARMENIAN SMALL LETTER ECH
++0566;N # ARMENIAN SMALL LETTER ZA
++0567;N # ARMENIAN SMALL LETTER EH
++0568;N # ARMENIAN SMALL LETTER ET
++0569;N # ARMENIAN SMALL LETTER TO
++056A;N # ARMENIAN SMALL LETTER ZHE
++056B;N # ARMENIAN SMALL LETTER INI
++056C;N # ARMENIAN SMALL LETTER LIWN
++056D;N # ARMENIAN SMALL LETTER XEH
++056E;N # ARMENIAN SMALL LETTER CA
++056F;N # ARMENIAN SMALL LETTER KEN
++0570;N # ARMENIAN SMALL LETTER HO
++0571;N # ARMENIAN SMALL LETTER JA
++0572;N # ARMENIAN SMALL LETTER GHAD
++0573;N # ARMENIAN SMALL LETTER CHEH
++0574;N # ARMENIAN SMALL LETTER MEN
++0575;N # ARMENIAN SMALL LETTER YI
++0576;N # ARMENIAN SMALL LETTER NOW
++0577;N # ARMENIAN SMALL LETTER SHA
++0578;N # ARMENIAN SMALL LETTER VO
++0579;N # ARMENIAN SMALL LETTER CHA
++057A;N # ARMENIAN SMALL LETTER PEH
++057B;N # ARMENIAN SMALL LETTER JHEH
++057C;N # ARMENIAN SMALL LETTER RA
++057D;N # ARMENIAN SMALL LETTER SEH
++057E;N # ARMENIAN SMALL LETTER VEW
++057F;N # ARMENIAN SMALL LETTER TIWN
++0580;N # ARMENIAN SMALL LETTER REH
++0581;N # ARMENIAN SMALL LETTER CO
++0582;N # ARMENIAN SMALL LETTER YIWN
++0583;N # ARMENIAN SMALL LETTER PIWR
++0584;N # ARMENIAN SMALL LETTER KEH
++0585;N # ARMENIAN SMALL LETTER OH
++0586;N # ARMENIAN SMALL LETTER FEH
++0587;N # ARMENIAN SMALL LIGATURE ECH YIWN
++0589;N # ARMENIAN FULL STOP
++058A;N # ARMENIAN HYPHEN
++0591;N # HEBREW ACCENT ETNAHTA
++0592;N # HEBREW ACCENT SEGOL
++0593;N # HEBREW ACCENT SHALSHELET
++0594;N # HEBREW ACCENT ZAQEF QATAN
++0595;N # HEBREW ACCENT ZAQEF GADOL
++0596;N # HEBREW ACCENT TIPEHA
++0597;N # HEBREW ACCENT REVIA
++0598;N # HEBREW ACCENT ZARQA
++0599;N # HEBREW ACCENT PASHTA
++059A;N # HEBREW ACCENT YETIV
++059B;N # HEBREW ACCENT TEVIR
++059C;N # HEBREW ACCENT GERESH
++059D;N # HEBREW ACCENT GERESH MUQDAM
++059E;N # HEBREW ACCENT GERSHAYIM
++059F;N # HEBREW ACCENT QARNEY PARA
++05A0;N # HEBREW ACCENT TELISHA GEDOLA
++05A1;N # HEBREW ACCENT PAZER
++05A2;N # HEBREW ACCENT ATNAH HAFUKH
++05A3;N # HEBREW ACCENT MUNAH
++05A4;N # HEBREW ACCENT MAHAPAKH
++05A5;N # HEBREW ACCENT MERKHA
++05A6;N # HEBREW ACCENT MERKHA KEFULA
++05A7;N # HEBREW ACCENT DARGA
++05A8;N # HEBREW ACCENT QADMA
++05A9;N # HEBREW ACCENT TELISHA QETANA
++05AA;N # HEBREW ACCENT YERAH BEN YOMO
++05AB;N # HEBREW ACCENT OLE
++05AC;N # HEBREW ACCENT ILUY
++05AD;N # HEBREW ACCENT DEHI
++05AE;N # HEBREW ACCENT ZINOR
++05AF;N # HEBREW MARK MASORA CIRCLE
++05B0;N # HEBREW POINT SHEVA
++05B1;N # HEBREW POINT HATAF SEGOL
++05B2;N # HEBREW POINT HATAF PATAH
++05B3;N # HEBREW POINT HATAF QAMATS
++05B4;N # HEBREW POINT HIRIQ
++05B5;N # HEBREW POINT TSERE
++05B6;N # HEBREW POINT SEGOL
++05B7;N # HEBREW POINT PATAH
++05B8;N # HEBREW POINT QAMATS
++05B9;N # HEBREW POINT HOLAM
++05BA;N # HEBREW POINT HOLAM HASER FOR VAV
++05BB;N # HEBREW POINT QUBUTS
++05BC;N # HEBREW POINT DAGESH OR MAPIQ
++05BD;N # HEBREW POINT METEG
++05BE;N # HEBREW PUNCTUATION MAQAF
++05BF;N # HEBREW POINT RAFE
++05C0;N # HEBREW PUNCTUATION PASEQ
++05C1;N # HEBREW POINT SHIN DOT
++05C2;N # HEBREW POINT SIN DOT
++05C3;N # HEBREW PUNCTUATION SOF PASUQ
++05C4;N # HEBREW MARK UPPER DOT
++05C5;N # HEBREW MARK LOWER DOT
++05C6;N # HEBREW PUNCTUATION NUN HAFUKHA
++05C7;N # HEBREW POINT QAMATS QATAN
++05D0;N # HEBREW LETTER ALEF
++05D1;N # HEBREW LETTER BET
++05D2;N # HEBREW LETTER GIMEL
++05D3;N # HEBREW LETTER DALET
++05D4;N # HEBREW LETTER HE
++05D5;N # HEBREW LETTER VAV
++05D6;N # HEBREW LETTER ZAYIN
++05D7;N # HEBREW LETTER HET
++05D8;N # HEBREW LETTER TET
++05D9;N # HEBREW LETTER YOD
++05DA;N # HEBREW LETTER FINAL KAF
++05DB;N # HEBREW LETTER KAF
++05DC;N # HEBREW LETTER LAMED
++05DD;N # HEBREW LETTER FINAL MEM
++05DE;N # HEBREW LETTER MEM
++05DF;N # HEBREW LETTER FINAL NUN
++05E0;N # HEBREW LETTER NUN
++05E1;N # HEBREW LETTER SAMEKH
++05E2;N # HEBREW LETTER AYIN
++05E3;N # HEBREW LETTER FINAL PE
++05E4;N # HEBREW LETTER PE
++05E5;N # HEBREW LETTER FINAL TSADI
++05E6;N # HEBREW LETTER TSADI
++05E7;N # HEBREW LETTER QOF
++05E8;N # HEBREW LETTER RESH
++05E9;N # HEBREW LETTER SHIN
++05EA;N # HEBREW LETTER TAV
++05F0;N # HEBREW LIGATURE YIDDISH DOUBLE VAV
++05F1;N # HEBREW LIGATURE YIDDISH VAV YOD
++05F2;N # HEBREW LIGATURE YIDDISH DOUBLE YOD
++05F3;N # HEBREW PUNCTUATION GERESH
++05F4;N # HEBREW PUNCTUATION GERSHAYIM
++0600;N # ARABIC NUMBER SIGN
++0601;N # ARABIC SIGN SANAH
++0602;N # ARABIC FOOTNOTE MARKER
++0603;N # ARABIC SIGN SAFHA
++0606;N # ARABIC-INDIC CUBE ROOT
++0607;N # ARABIC-INDIC FOURTH ROOT
++0608;N # ARABIC RAY
++0609;N # ARABIC-INDIC PER MILLE SIGN
++060A;N # ARABIC-INDIC PER TEN THOUSAND SIGN
++060B;N # AFGHANI SIGN
++060C;N # ARABIC COMMA
++060D;N # ARABIC DATE SEPARATOR
++060E;N # ARABIC POETIC VERSE SIGN
++060F;N # ARABIC SIGN MISRA
++0610;N # ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
++0611;N # ARABIC SIGN ALAYHE ASSALLAM
++0612;N # ARABIC SIGN RAHMATULLAH ALAYHE
++0613;N # ARABIC SIGN RADI ALLAHOU ANHU
++0614;N # ARABIC SIGN TAKHALLUS
++0615;N # ARABIC SMALL HIGH TAH
++0616;N # ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH
++0617;N # ARABIC SMALL HIGH ZAIN
++0618;N # ARABIC SMALL FATHA
++0619;N # ARABIC SMALL DAMMA
++061A;N # ARABIC SMALL KASRA
++061B;N # ARABIC SEMICOLON
++061E;N # ARABIC TRIPLE DOT PUNCTUATION MARK
++061F;N # ARABIC QUESTION MARK
++0621;N # ARABIC LETTER HAMZA
++0622;N # ARABIC LETTER ALEF WITH MADDA ABOVE
++0623;N # ARABIC LETTER ALEF WITH HAMZA ABOVE
++0624;N # ARABIC LETTER WAW WITH HAMZA ABOVE
++0625;N # ARABIC LETTER ALEF WITH HAMZA BELOW
++0626;N # ARABIC LETTER YEH WITH HAMZA ABOVE
++0627;N # ARABIC LETTER ALEF
++0628;N # ARABIC LETTER BEH
++0629;N # ARABIC LETTER TEH MARBUTA
++062A;N # ARABIC LETTER TEH
++062B;N # ARABIC LETTER THEH
++062C;N # ARABIC LETTER JEEM
++062D;N # ARABIC LETTER HAH
++062E;N # ARABIC LETTER KHAH
++062F;N # ARABIC LETTER DAL
++0630;N # ARABIC LETTER THAL
++0631;N # ARABIC LETTER REH
++0632;N # ARABIC LETTER ZAIN
++0633;N # ARABIC LETTER SEEN
++0634;N # ARABIC LETTER SHEEN
++0635;N # ARABIC LETTER SAD
++0636;N # ARABIC LETTER DAD
++0637;N # ARABIC LETTER TAH
++0638;N # ARABIC LETTER ZAH
++0639;N # ARABIC LETTER AIN
++063A;N # ARABIC LETTER GHAIN
++063B;N # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
++063C;N # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
++063D;N # ARABIC LETTER FARSI YEH WITH INVERTED V
++063E;N # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
++063F;N # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
++0640;N # ARABIC TATWEEL
++0641;N # ARABIC LETTER FEH
++0642;N # ARABIC LETTER QAF
++0643;N # ARABIC LETTER KAF
++0644;N # ARABIC LETTER LAM
++0645;N # ARABIC LETTER MEEM
++0646;N # ARABIC LETTER NOON
++0647;N # ARABIC LETTER HEH
++0648;N # ARABIC LETTER WAW
++0649;N # ARABIC LETTER ALEF MAKSURA
++064A;N # ARABIC LETTER YEH
++064B;N # ARABIC FATHATAN
++064C;N # ARABIC DAMMATAN
++064D;N # ARABIC KASRATAN
++064E;N # ARABIC FATHA
++064F;N # ARABIC DAMMA
++0650;N # ARABIC KASRA
++0651;N # ARABIC SHADDA
++0652;N # ARABIC SUKUN
++0653;N # ARABIC MADDAH ABOVE
++0654;N # ARABIC HAMZA ABOVE
++0655;N # ARABIC HAMZA BELOW
++0656;N # ARABIC SUBSCRIPT ALEF
++0657;N # ARABIC INVERTED DAMMA
++0658;N # ARABIC MARK NOON GHUNNA
++0659;N # ARABIC ZWARAKAY
++065A;N # ARABIC VOWEL SIGN SMALL V ABOVE
++065B;N # ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
++065C;N # ARABIC VOWEL SIGN DOT BELOW
++065D;N # ARABIC REVERSED DAMMA
++065E;N # ARABIC FATHA WITH TWO DOTS
++0660;N # ARABIC-INDIC DIGIT ZERO
++0661;N # ARABIC-INDIC DIGIT ONE
++0662;N # ARABIC-INDIC DIGIT TWO
++0663;N # ARABIC-INDIC DIGIT THREE
++0664;N # ARABIC-INDIC DIGIT FOUR
++0665;N # ARABIC-INDIC DIGIT FIVE
++0666;N # ARABIC-INDIC DIGIT SIX
++0667;N # ARABIC-INDIC DIGIT SEVEN
++0668;N # ARABIC-INDIC DIGIT EIGHT
++0669;N # ARABIC-INDIC DIGIT NINE
++066A;N # ARABIC PERCENT SIGN
++066B;N # ARABIC DECIMAL SEPARATOR
++066C;N # ARABIC THOUSANDS SEPARATOR
++066D;N # ARABIC FIVE POINTED STAR
++066E;N # ARABIC LETTER DOTLESS BEH
++066F;N # ARABIC LETTER DOTLESS QAF
++0670;N # ARABIC LETTER SUPERSCRIPT ALEF
++0671;N # ARABIC LETTER ALEF WASLA
++0672;N # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
++0673;N # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
++0674;N # ARABIC LETTER HIGH HAMZA
++0675;N # ARABIC LETTER HIGH HAMZA ALEF
++0676;N # ARABIC LETTER HIGH HAMZA WAW
++0677;N # ARABIC LETTER U WITH HAMZA ABOVE
++0678;N # ARABIC LETTER HIGH HAMZA YEH
++0679;N # ARABIC LETTER TTEH
++067A;N # ARABIC LETTER TTEHEH
++067B;N # ARABIC LETTER BEEH
++067C;N # ARABIC LETTER TEH WITH RING
++067D;N # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
++067E;N # ARABIC LETTER PEH
++067F;N # ARABIC LETTER TEHEH
++0680;N # ARABIC LETTER BEHEH
++0681;N # ARABIC LETTER HAH WITH HAMZA ABOVE
++0682;N # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
++0683;N # ARABIC LETTER NYEH
++0684;N # ARABIC LETTER DYEH
++0685;N # ARABIC LETTER HAH WITH THREE DOTS ABOVE
++0686;N # ARABIC LETTER TCHEH
++0687;N # ARABIC LETTER TCHEHEH
++0688;N # ARABIC LETTER DDAL
++0689;N # ARABIC LETTER DAL WITH RING
++068A;N # ARABIC LETTER DAL WITH DOT BELOW
++068B;N # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
++068C;N # ARABIC LETTER DAHAL
++068D;N # ARABIC LETTER DDAHAL
++068E;N # ARABIC LETTER DUL
++068F;N # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
++0690;N # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
++0691;N # ARABIC LETTER RREH
++0692;N # ARABIC LETTER REH WITH SMALL V
++0693;N # ARABIC LETTER REH WITH RING
++0694;N # ARABIC LETTER REH WITH DOT BELOW
++0695;N # ARABIC LETTER REH WITH SMALL V BELOW
++0696;N # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
++0697;N # ARABIC LETTER REH WITH TWO DOTS ABOVE
++0698;N # ARABIC LETTER JEH
++0699;N # ARABIC LETTER REH WITH FOUR DOTS ABOVE
++069A;N # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
++069B;N # ARABIC LETTER SEEN WITH THREE DOTS BELOW
++069C;N # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
++069D;N # ARABIC LETTER SAD WITH TWO DOTS BELOW
++069E;N # ARABIC LETTER SAD WITH THREE DOTS ABOVE
++069F;N # ARABIC LETTER TAH WITH THREE DOTS ABOVE
++06A0;N # ARABIC LETTER AIN WITH THREE DOTS ABOVE
++06A1;N # ARABIC LETTER DOTLESS FEH
++06A2;N # ARABIC LETTER FEH WITH DOT MOVED BELOW
++06A3;N # ARABIC LETTER FEH WITH DOT BELOW
++06A4;N # ARABIC LETTER VEH
++06A5;N # ARABIC LETTER FEH WITH THREE DOTS BELOW
++06A6;N # ARABIC LETTER PEHEH
++06A7;N # ARABIC LETTER QAF WITH DOT ABOVE
++06A8;N # ARABIC LETTER QAF WITH THREE DOTS ABOVE
++06A9;N # ARABIC LETTER KEHEH
++06AA;N # ARABIC LETTER SWASH KAF
++06AB;N # ARABIC LETTER KAF WITH RING
++06AC;N # ARABIC LETTER KAF WITH DOT ABOVE
++06AD;N # ARABIC LETTER NG
++06AE;N # ARABIC LETTER KAF WITH THREE DOTS BELOW
++06AF;N # ARABIC LETTER GAF
++06B0;N # ARABIC LETTER GAF WITH RING
++06B1;N # ARABIC LETTER NGOEH
++06B2;N # ARABIC LETTER GAF WITH TWO DOTS BELOW
++06B3;N # ARABIC LETTER GUEH
++06B4;N # ARABIC LETTER GAF WITH THREE DOTS ABOVE
++06B5;N # ARABIC LETTER LAM WITH SMALL V
++06B6;N # ARABIC LETTER LAM WITH DOT ABOVE
++06B7;N # ARABIC LETTER LAM WITH THREE DOTS ABOVE
++06B8;N # ARABIC LETTER LAM WITH THREE DOTS BELOW
++06B9;N # ARABIC LETTER NOON WITH DOT BELOW
++06BA;N # ARABIC LETTER NOON GHUNNA
++06BB;N # ARABIC LETTER RNOON
++06BC;N # ARABIC LETTER NOON WITH RING
++06BD;N # ARABIC LETTER NOON WITH THREE DOTS ABOVE
++06BE;N # ARABIC LETTER HEH DOACHASHMEE
++06BF;N # ARABIC LETTER TCHEH WITH DOT ABOVE
++06C0;N # ARABIC LETTER HEH WITH YEH ABOVE
++06C1;N # ARABIC LETTER HEH GOAL
++06C2;N # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
++06C3;N # ARABIC LETTER TEH MARBUTA GOAL
++06C4;N # ARABIC LETTER WAW WITH RING
++06C5;N # ARABIC LETTER KIRGHIZ OE
++06C6;N # ARABIC LETTER OE
++06C7;N # ARABIC LETTER U
++06C8;N # ARABIC LETTER YU
++06C9;N # ARABIC LETTER KIRGHIZ YU
++06CA;N # ARABIC LETTER WAW WITH TWO DOTS ABOVE
++06CB;N # ARABIC LETTER VE
++06CC;N # ARABIC LETTER FARSI YEH
++06CD;N # ARABIC LETTER YEH WITH TAIL
++06CE;N # ARABIC LETTER YEH WITH SMALL V
++06CF;N # ARABIC LETTER WAW WITH DOT ABOVE
++06D0;N # ARABIC LETTER E
++06D1;N # ARABIC LETTER YEH WITH THREE DOTS BELOW
++06D2;N # ARABIC LETTER YEH BARREE
++06D3;N # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
++06D4;N # ARABIC FULL STOP
++06D5;N # ARABIC LETTER AE
++06D6;N # ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
++06D7;N # ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
++06D8;N # ARABIC SMALL HIGH MEEM INITIAL FORM
++06D9;N # ARABIC SMALL HIGH LAM ALEF
++06DA;N # ARABIC SMALL HIGH JEEM
++06DB;N # ARABIC SMALL HIGH THREE DOTS
++06DC;N # ARABIC SMALL HIGH SEEN
++06DD;N # ARABIC END OF AYAH
++06DE;N # ARABIC START OF RUB EL HIZB
++06DF;N # ARABIC SMALL HIGH ROUNDED ZERO
++06E0;N # ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
++06E1;N # ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
++06E2;N # ARABIC SMALL HIGH MEEM ISOLATED FORM
++06E3;N # ARABIC SMALL LOW SEEN
++06E4;N # ARABIC SMALL HIGH MADDA
++06E5;N # ARABIC SMALL WAW
++06E6;N # ARABIC SMALL YEH
++06E7;N # ARABIC SMALL HIGH YEH
++06E8;N # ARABIC SMALL HIGH NOON
++06E9;N # ARABIC PLACE OF SAJDAH
++06EA;N # ARABIC EMPTY CENTRE LOW STOP
++06EB;N # ARABIC EMPTY CENTRE HIGH STOP
++06EC;N # ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
++06ED;N # ARABIC SMALL LOW MEEM
++06EE;N # ARABIC LETTER DAL WITH INVERTED V
++06EF;N # ARABIC LETTER REH WITH INVERTED V
++06F0;N # EXTENDED ARABIC-INDIC DIGIT ZERO
++06F1;N # EXTENDED ARABIC-INDIC DIGIT ONE
++06F2;N # EXTENDED ARABIC-INDIC DIGIT TWO
++06F3;N # EXTENDED ARABIC-INDIC DIGIT THREE
++06F4;N # EXTENDED ARABIC-INDIC DIGIT FOUR
++06F5;N # EXTENDED ARABIC-INDIC DIGIT FIVE
++06F6;N # EXTENDED ARABIC-INDIC DIGIT SIX
++06F7;N # EXTENDED ARABIC-INDIC DIGIT SEVEN
++06F8;N # EXTENDED ARABIC-INDIC DIGIT EIGHT
++06F9;N # EXTENDED ARABIC-INDIC DIGIT NINE
++06FA;N # ARABIC LETTER SHEEN WITH DOT BELOW
++06FB;N # ARABIC LETTER DAD WITH DOT BELOW
++06FC;N # ARABIC LETTER GHAIN WITH DOT BELOW
++06FD;N # ARABIC SIGN SINDHI AMPERSAND
++06FE;N # ARABIC SIGN SINDHI POSTPOSITION MEN
++06FF;N # ARABIC LETTER HEH WITH INVERTED V
++0700;N # SYRIAC END OF PARAGRAPH
++0701;N # SYRIAC SUPRALINEAR FULL STOP
++0702;N # SYRIAC SUBLINEAR FULL STOP
++0703;N # SYRIAC SUPRALINEAR COLON
++0704;N # SYRIAC SUBLINEAR COLON
++0705;N # SYRIAC HORIZONTAL COLON
++0706;N # SYRIAC COLON SKEWED LEFT
++0707;N # SYRIAC COLON SKEWED RIGHT
++0708;N # SYRIAC SUPRALINEAR COLON SKEWED LEFT
++0709;N # SYRIAC SUBLINEAR COLON SKEWED RIGHT
++070A;N # SYRIAC CONTRACTION
++070B;N # SYRIAC HARKLEAN OBELUS
++070C;N # SYRIAC HARKLEAN METOBELUS
++070D;N # SYRIAC HARKLEAN ASTERISCUS
++070F;N # SYRIAC ABBREVIATION MARK
++0710;N # SYRIAC LETTER ALAPH
++0711;N # SYRIAC LETTER SUPERSCRIPT ALAPH
++0712;N # SYRIAC LETTER BETH
++0713;N # SYRIAC LETTER GAMAL
++0714;N # SYRIAC LETTER GAMAL GARSHUNI
++0715;N # SYRIAC LETTER DALATH
++0716;N # SYRIAC LETTER DOTLESS DALATH RISH
++0717;N # SYRIAC LETTER HE
++0718;N # SYRIAC LETTER WAW
++0719;N # SYRIAC LETTER ZAIN
++071A;N # SYRIAC LETTER HETH
++071B;N # SYRIAC LETTER TETH
++071C;N # SYRIAC LETTER TETH GARSHUNI
++071D;N # SYRIAC LETTER YUDH
++071E;N # SYRIAC LETTER YUDH HE
++071F;N # SYRIAC LETTER KAPH
++0720;N # SYRIAC LETTER LAMADH
++0721;N # SYRIAC LETTER MIM
++0722;N # SYRIAC LETTER NUN
++0723;N # SYRIAC LETTER SEMKATH
++0724;N # SYRIAC LETTER FINAL SEMKATH
++0725;N # SYRIAC LETTER E
++0726;N # SYRIAC LETTER PE
++0727;N # SYRIAC LETTER REVERSED PE
++0728;N # SYRIAC LETTER SADHE
++0729;N # SYRIAC LETTER QAPH
++072A;N # SYRIAC LETTER RISH
++072B;N # SYRIAC LETTER SHIN
++072C;N # SYRIAC LETTER TAW
++072D;N # SYRIAC LETTER PERSIAN BHETH
++072E;N # SYRIAC LETTER PERSIAN GHAMAL
++072F;N # SYRIAC LETTER PERSIAN DHALATH
++0730;N # SYRIAC PTHAHA ABOVE
++0731;N # SYRIAC PTHAHA BELOW
++0732;N # SYRIAC PTHAHA DOTTED
++0733;N # SYRIAC ZQAPHA ABOVE
++0734;N # SYRIAC ZQAPHA BELOW
++0735;N # SYRIAC ZQAPHA DOTTED
++0736;N # SYRIAC RBASA ABOVE
++0737;N # SYRIAC RBASA BELOW
++0738;N # SYRIAC DOTTED ZLAMA HORIZONTAL
++0739;N # SYRIAC DOTTED ZLAMA ANGULAR
++073A;N # SYRIAC HBASA ABOVE
++073B;N # SYRIAC HBASA BELOW
++073C;N # SYRIAC HBASA-ESASA DOTTED
++073D;N # SYRIAC ESASA ABOVE
++073E;N # SYRIAC ESASA BELOW
++073F;N # SYRIAC RWAHA
++0740;N # SYRIAC FEMININE DOT
++0741;N # SYRIAC QUSHSHAYA
++0742;N # SYRIAC RUKKAKHA
++0743;N # SYRIAC TWO VERTICAL DOTS ABOVE
++0744;N # SYRIAC TWO VERTICAL DOTS BELOW
++0745;N # SYRIAC THREE DOTS ABOVE
++0746;N # SYRIAC THREE DOTS BELOW
++0747;N # SYRIAC OBLIQUE LINE ABOVE
++0748;N # SYRIAC OBLIQUE LINE BELOW
++0749;N # SYRIAC MUSIC
++074A;N # SYRIAC BARREKH
++074D;N # SYRIAC LETTER SOGDIAN ZHAIN
++074E;N # SYRIAC LETTER SOGDIAN KHAPH
++074F;N # SYRIAC LETTER SOGDIAN FE
++0750;N # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
++0751;N # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
++0752;N # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
++0753;N # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
++0754;N # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
++0755;N # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
++0756;N # ARABIC LETTER BEH WITH SMALL V
++0757;N # ARABIC LETTER HAH WITH TWO DOTS ABOVE
++0758;N # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
++0759;N # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
++075A;N # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
++075B;N # ARABIC LETTER REH WITH STROKE
++075C;N # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
++075D;N # ARABIC LETTER AIN WITH TWO DOTS ABOVE
++075E;N # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
++075F;N # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
++0760;N # ARABIC LETTER FEH WITH TWO DOTS BELOW
++0761;N # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
++0762;N # ARABIC LETTER KEHEH WITH DOT ABOVE
++0763;N # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
++0764;N # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
++0765;N # ARABIC LETTER MEEM WITH DOT ABOVE
++0766;N # ARABIC LETTER MEEM WITH DOT BELOW
++0767;N # ARABIC LETTER NOON WITH TWO DOTS BELOW
++0768;N # ARABIC LETTER NOON WITH SMALL TAH
++0769;N # ARABIC LETTER NOON WITH SMALL V
++076A;N # ARABIC LETTER LAM WITH BAR
++076B;N # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
++076C;N # ARABIC LETTER REH WITH HAMZA ABOVE
++076D;N # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
++076E;N # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
++076F;N # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
++0770;N # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
++0771;N # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
++0772;N # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
++0773;N # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
++0774;N # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
++0775;N # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
++0776;N # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
++0777;N # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
++0778;N # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
++0779;N # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
++077A;N # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
++077B;N # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
++077C;N # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
++077D;N # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
++077E;N # ARABIC LETTER SEEN WITH INVERTED V
++077F;N # ARABIC LETTER KAF WITH TWO DOTS ABOVE
++0780;N # THAANA LETTER HAA
++0781;N # THAANA LETTER SHAVIYANI
++0782;N # THAANA LETTER NOONU
++0783;N # THAANA LETTER RAA
++0784;N # THAANA LETTER BAA
++0785;N # THAANA LETTER LHAVIYANI
++0786;N # THAANA LETTER KAAFU
++0787;N # THAANA LETTER ALIFU
++0788;N # THAANA LETTER VAAVU
++0789;N # THAANA LETTER MEEMU
++078A;N # THAANA LETTER FAAFU
++078B;N # THAANA LETTER DHAALU
++078C;N # THAANA LETTER THAA
++078D;N # THAANA LETTER LAAMU
++078E;N # THAANA LETTER GAAFU
++078F;N # THAANA LETTER GNAVIYANI
++0790;N # THAANA LETTER SEENU
++0791;N # THAANA LETTER DAVIYANI
++0792;N # THAANA LETTER ZAVIYANI
++0793;N # THAANA LETTER TAVIYANI
++0794;N # THAANA LETTER YAA
++0795;N # THAANA LETTER PAVIYANI
++0796;N # THAANA LETTER JAVIYANI
++0797;N # THAANA LETTER CHAVIYANI
++0798;N # THAANA LETTER TTAA
++0799;N # THAANA LETTER HHAA
++079A;N # THAANA LETTER KHAA
++079B;N # THAANA LETTER THAALU
++079C;N # THAANA LETTER ZAA
++079D;N # THAANA LETTER SHEENU
++079E;N # THAANA LETTER SAADHU
++079F;N # THAANA LETTER DAADHU
++07A0;N # THAANA LETTER TO
++07A1;N # THAANA LETTER ZO
++07A2;N # THAANA LETTER AINU
++07A3;N # THAANA LETTER GHAINU
++07A4;N # THAANA LETTER QAAFU
++07A5;N # THAANA LETTER WAAVU
++07A6;N # THAANA ABAFILI
++07A7;N # THAANA AABAAFILI
++07A8;N # THAANA IBIFILI
++07A9;N # THAANA EEBEEFILI
++07AA;N # THAANA UBUFILI
++07AB;N # THAANA OOBOOFILI
++07AC;N # THAANA EBEFILI
++07AD;N # THAANA EYBEYFILI
++07AE;N # THAANA OBOFILI
++07AF;N # THAANA OABOAFILI
++07B0;N # THAANA SUKUN
++07B1;N # THAANA LETTER NAA
++07C0;N # NKO DIGIT ZERO
++07C1;N # NKO DIGIT ONE
++07C2;N # NKO DIGIT TWO
++07C3;N # NKO DIGIT THREE
++07C4;N # NKO DIGIT FOUR
++07C5;N # NKO DIGIT FIVE
++07C6;N # NKO DIGIT SIX
++07C7;N # NKO DIGIT SEVEN
++07C8;N # NKO DIGIT EIGHT
++07C9;N # NKO DIGIT NINE
++07CA;N # NKO LETTER A
++07CB;N # NKO LETTER EE
++07CC;N # NKO LETTER I
++07CD;N # NKO LETTER E
++07CE;N # NKO LETTER U
++07CF;N # NKO LETTER OO
++07D0;N # NKO LETTER O
++07D1;N # NKO LETTER DAGBASINNA
++07D2;N # NKO LETTER N
++07D3;N # NKO LETTER BA
++07D4;N # NKO LETTER PA
++07D5;N # NKO LETTER TA
++07D6;N # NKO LETTER JA
++07D7;N # NKO LETTER CHA
++07D8;N # NKO LETTER DA
++07D9;N # NKO LETTER RA
++07DA;N # NKO LETTER RRA
++07DB;N # NKO LETTER SA
++07DC;N # NKO LETTER GBA
++07DD;N # NKO LETTER FA
++07DE;N # NKO LETTER KA
++07DF;N # NKO LETTER LA
++07E0;N # NKO LETTER NA WOLOSO
++07E1;N # NKO LETTER MA
++07E2;N # NKO LETTER NYA
++07E3;N # NKO LETTER NA
++07E4;N # NKO LETTER HA
++07E5;N # NKO LETTER WA
++07E6;N # NKO LETTER YA
++07E7;N # NKO LETTER NYA WOLOSO
++07E8;N # NKO LETTER JONA JA
++07E9;N # NKO LETTER JONA CHA
++07EA;N # NKO LETTER JONA RA
++07EB;N # NKO COMBINING SHORT HIGH TONE
++07EC;N # NKO COMBINING SHORT LOW TONE
++07ED;N # NKO COMBINING SHORT RISING TONE
++07EE;N # NKO COMBINING LONG DESCENDING TONE
++07EF;N # NKO COMBINING LONG HIGH TONE
++07F0;N # NKO COMBINING LONG LOW TONE
++07F1;N # NKO COMBINING LONG RISING TONE
++07F2;N # NKO COMBINING NASALIZATION MARK
++07F3;N # NKO COMBINING DOUBLE DOT ABOVE
++07F4;N # NKO HIGH TONE APOSTROPHE
++07F5;N # NKO LOW TONE APOSTROPHE
++07F6;N # NKO SYMBOL OO DENNEN
++07F7;N # NKO SYMBOL GBAKURUNEN
++07F8;N # NKO COMMA
++07F9;N # NKO EXCLAMATION MARK
++07FA;N # NKO LAJANYALAN
++0800;N # SAMARITAN LETTER ALAF
++0801;N # SAMARITAN LETTER BIT
++0802;N # SAMARITAN LETTER GAMAN
++0803;N # SAMARITAN LETTER DALAT
++0804;N # SAMARITAN LETTER IY
++0805;N # SAMARITAN LETTER BAA
++0806;N # SAMARITAN LETTER ZEN
++0807;N # SAMARITAN LETTER IT
++0808;N # SAMARITAN LETTER TIT
++0809;N # SAMARITAN LETTER YUT
++080A;N # SAMARITAN LETTER KAAF
++080B;N # SAMARITAN LETTER LABAT
++080C;N # SAMARITAN LETTER MIM
++080D;N # SAMARITAN LETTER NUN
++080E;N # SAMARITAN LETTER SINGAAT
++080F;N # SAMARITAN LETTER IN
++0810;N # SAMARITAN LETTER FI
++0811;N # SAMARITAN LETTER TSAADIY
++0812;N # SAMARITAN LETTER QUF
++0813;N # SAMARITAN LETTER RISH
++0814;N # SAMARITAN LETTER SHAN
++0815;N # SAMARITAN LETTER TAAF
++0816;N # SAMARITAN MARK IN
++0817;N # SAMARITAN MARK IN-ALAF
++0818;N # SAMARITAN MARK OCCLUSION
++0819;N # SAMARITAN MARK DAGESH
++081A;N # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
++081B;N # SAMARITAN MARK EPENTHETIC YUT
++081C;N # SAMARITAN VOWEL SIGN LONG E
++081D;N # SAMARITAN VOWEL SIGN E
++081E;N # SAMARITAN VOWEL SIGN OVERLONG AA
++081F;N # SAMARITAN VOWEL SIGN LONG AA
++0820;N # SAMARITAN VOWEL SIGN AA
++0821;N # SAMARITAN VOWEL SIGN OVERLONG A
++0822;N # SAMARITAN VOWEL SIGN LONG A
++0823;N # SAMARITAN VOWEL SIGN A
++0824;N # SAMARITAN MODIFIER LETTER SHORT A
++0825;N # SAMARITAN VOWEL SIGN SHORT A
++0826;N # SAMARITAN VOWEL SIGN LONG U
++0827;N # SAMARITAN VOWEL SIGN U
++0828;N # SAMARITAN MODIFIER LETTER I
++0829;N # SAMARITAN VOWEL SIGN LONG I
++082A;N # SAMARITAN VOWEL SIGN I
++082B;N # SAMARITAN VOWEL SIGN O
++082C;N # SAMARITAN VOWEL SIGN SUKUN
++082D;N # SAMARITAN MARK NEQUDAA
++0830;N # SAMARITAN PUNCTUATION NEQUDAA
++0831;N # SAMARITAN PUNCTUATION AFSAAQ
++0832;N # SAMARITAN PUNCTUATION ANGED
++0833;N # SAMARITAN PUNCTUATION BAU
++0834;N # SAMARITAN PUNCTUATION ATMAAU
++0835;N # SAMARITAN PUNCTUATION SHIYYAALAA
++0836;N # SAMARITAN ABBREVIATION MARK
++0837;N # SAMARITAN PUNCTUATION MELODIC QITSA
++0838;N # SAMARITAN PUNCTUATION ZIQAA
++0839;N # SAMARITAN PUNCTUATION QITSA
++083A;N # SAMARITAN PUNCTUATION ZAEF
++083B;N # SAMARITAN PUNCTUATION TURU
++083C;N # SAMARITAN PUNCTUATION ARKAANU
++083D;N # SAMARITAN PUNCTUATION SOF MASHFAAT
++083E;N # SAMARITAN PUNCTUATION ANNAAU
++0900;N # DEVANAGARI SIGN INVERTED CANDRABINDU
++0901;N # DEVANAGARI SIGN CANDRABINDU
++0902;N # DEVANAGARI SIGN ANUSVARA
++0903;N # DEVANAGARI SIGN VISARGA
++0904;N # DEVANAGARI LETTER SHORT A
++0905;N # DEVANAGARI LETTER A
++0906;N # DEVANAGARI LETTER AA
++0907;N # DEVANAGARI LETTER I
++0908;N # DEVANAGARI LETTER II
++0909;N # DEVANAGARI LETTER U
++090A;N # DEVANAGARI LETTER UU
++090B;N # DEVANAGARI LETTER VOCALIC R
++090C;N # DEVANAGARI LETTER VOCALIC L
++090D;N # DEVANAGARI LETTER CANDRA E
++090E;N # DEVANAGARI LETTER SHORT E
++090F;N # DEVANAGARI LETTER E
++0910;N # DEVANAGARI LETTER AI
++0911;N # DEVANAGARI LETTER CANDRA O
++0912;N # DEVANAGARI LETTER SHORT O
++0913;N # DEVANAGARI LETTER O
++0914;N # DEVANAGARI LETTER AU
++0915;N # DEVANAGARI LETTER KA
++0916;N # DEVANAGARI LETTER KHA
++0917;N # DEVANAGARI LETTER GA
++0918;N # DEVANAGARI LETTER GHA
++0919;N # DEVANAGARI LETTER NGA
++091A;N # DEVANAGARI LETTER CA
++091B;N # DEVANAGARI LETTER CHA
++091C;N # DEVANAGARI LETTER JA
++091D;N # DEVANAGARI LETTER JHA
++091E;N # DEVANAGARI LETTER NYA
++091F;N # DEVANAGARI LETTER TTA
++0920;N # DEVANAGARI LETTER TTHA
++0921;N # DEVANAGARI LETTER DDA
++0922;N # DEVANAGARI LETTER DDHA
++0923;N # DEVANAGARI LETTER NNA
++0924;N # DEVANAGARI LETTER TA
++0925;N # DEVANAGARI LETTER THA
++0926;N # DEVANAGARI LETTER DA
++0927;N # DEVANAGARI LETTER DHA
++0928;N # DEVANAGARI LETTER NA
++0929;N # DEVANAGARI LETTER NNNA
++092A;N # DEVANAGARI LETTER PA
++092B;N # DEVANAGARI LETTER PHA
++092C;N # DEVANAGARI LETTER BA
++092D;N # DEVANAGARI LETTER BHA
++092E;N # DEVANAGARI LETTER MA
++092F;N # DEVANAGARI LETTER YA
++0930;N # DEVANAGARI LETTER RA
++0931;N # DEVANAGARI LETTER RRA
++0932;N # DEVANAGARI LETTER LA
++0933;N # DEVANAGARI LETTER LLA
++0934;N # DEVANAGARI LETTER LLLA
++0935;N # DEVANAGARI LETTER VA
++0936;N # DEVANAGARI LETTER SHA
++0937;N # DEVANAGARI LETTER SSA
++0938;N # DEVANAGARI LETTER SA
++0939;N # DEVANAGARI LETTER HA
++093C;N # DEVANAGARI SIGN NUKTA
++093D;N # DEVANAGARI SIGN AVAGRAHA
++093E;N # DEVANAGARI VOWEL SIGN AA
++093F;N # DEVANAGARI VOWEL SIGN I
++0940;N # DEVANAGARI VOWEL SIGN II
++0941;N # DEVANAGARI VOWEL SIGN U
++0942;N # DEVANAGARI VOWEL SIGN UU
++0943;N # DEVANAGARI VOWEL SIGN VOCALIC R
++0944;N # DEVANAGARI VOWEL SIGN VOCALIC RR
++0945;N # DEVANAGARI VOWEL SIGN CANDRA E
++0946;N # DEVANAGARI VOWEL SIGN SHORT E
++0947;N # DEVANAGARI VOWEL SIGN E
++0948;N # DEVANAGARI VOWEL SIGN AI
++0949;N # DEVANAGARI VOWEL SIGN CANDRA O
++094A;N # DEVANAGARI VOWEL SIGN SHORT O
++094B;N # DEVANAGARI VOWEL SIGN O
++094C;N # DEVANAGARI VOWEL SIGN AU
++094D;N # DEVANAGARI SIGN VIRAMA
++094E;N # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
++0950;N # DEVANAGARI OM
++0951;N # DEVANAGARI STRESS SIGN UDATTA
++0952;N # DEVANAGARI STRESS SIGN ANUDATTA
++0953;N # DEVANAGARI GRAVE ACCENT
++0954;N # DEVANAGARI ACUTE ACCENT
++0955;N # DEVANAGARI VOWEL SIGN CANDRA LONG E
++0958;N # DEVANAGARI LETTER QA
++0959;N # DEVANAGARI LETTER KHHA
++095A;N # DEVANAGARI LETTER GHHA
++095B;N # DEVANAGARI LETTER ZA
++095C;N # DEVANAGARI LETTER DDDHA
++095D;N # DEVANAGARI LETTER RHA
++095E;N # DEVANAGARI LETTER FA
++095F;N # DEVANAGARI LETTER YYA
++0960;N # DEVANAGARI LETTER VOCALIC RR
++0961;N # DEVANAGARI LETTER VOCALIC LL
++0962;N # DEVANAGARI VOWEL SIGN VOCALIC L
++0963;N # DEVANAGARI VOWEL SIGN VOCALIC LL
++0964;N # DEVANAGARI DANDA
++0965;N # DEVANAGARI DOUBLE DANDA
++0966;N # DEVANAGARI DIGIT ZERO
++0967;N # DEVANAGARI DIGIT ONE
++0968;N # DEVANAGARI DIGIT TWO
++0969;N # DEVANAGARI DIGIT THREE
++096A;N # DEVANAGARI DIGIT FOUR
++096B;N # DEVANAGARI DIGIT FIVE
++096C;N # DEVANAGARI DIGIT SIX
++096D;N # DEVANAGARI DIGIT SEVEN
++096E;N # DEVANAGARI DIGIT EIGHT
++096F;N # DEVANAGARI DIGIT NINE
++0970;N # DEVANAGARI ABBREVIATION SIGN
++0971;N # DEVANAGARI SIGN HIGH SPACING DOT
++0972;N # DEVANAGARI LETTER CANDRA A
++0979;N # DEVANAGARI LETTER ZHA
++097A;N # DEVANAGARI LETTER HEAVY YA
++097B;N # DEVANAGARI LETTER GGA
++097C;N # DEVANAGARI LETTER JJA
++097D;N # DEVANAGARI LETTER GLOTTAL STOP
++097E;N # DEVANAGARI LETTER DDDA
++097F;N # DEVANAGARI LETTER BBA
++0981;N # BENGALI SIGN CANDRABINDU
++0982;N # BENGALI SIGN ANUSVARA
++0983;N # BENGALI SIGN VISARGA
++0985;N # BENGALI LETTER A
++0986;N # BENGALI LETTER AA
++0987;N # BENGALI LETTER I
++0988;N # BENGALI LETTER II
++0989;N # BENGALI LETTER U
++098A;N # BENGALI LETTER UU
++098B;N # BENGALI LETTER VOCALIC R
++098C;N # BENGALI LETTER VOCALIC L
++098F;N # BENGALI LETTER E
++0990;N # BENGALI LETTER AI
++0993;N # BENGALI LETTER O
++0994;N # BENGALI LETTER AU
++0995;N # BENGALI LETTER KA
++0996;N # BENGALI LETTER KHA
++0997;N # BENGALI LETTER GA
++0998;N # BENGALI LETTER GHA
++0999;N # BENGALI LETTER NGA
++099A;N # BENGALI LETTER CA
++099B;N # BENGALI LETTER CHA
++099C;N # BENGALI LETTER JA
++099D;N # BENGALI LETTER JHA
++099E;N # BENGALI LETTER NYA
++099F;N # BENGALI LETTER TTA
++09A0;N # BENGALI LETTER TTHA
++09A1;N # BENGALI LETTER DDA
++09A2;N # BENGALI LETTER DDHA
++09A3;N # BENGALI LETTER NNA
++09A4;N # BENGALI LETTER TA
++09A5;N # BENGALI LETTER THA
++09A6;N # BENGALI LETTER DA
++09A7;N # BENGALI LETTER DHA
++09A8;N # BENGALI LETTER NA
++09AA;N # BENGALI LETTER PA
++09AB;N # BENGALI LETTER PHA
++09AC;N # BENGALI LETTER BA
++09AD;N # BENGALI LETTER BHA
++09AE;N # BENGALI LETTER MA
++09AF;N # BENGALI LETTER YA
++09B0;N # BENGALI LETTER RA
++09B2;N # BENGALI LETTER LA
++09B6;N # BENGALI LETTER SHA
++09B7;N # BENGALI LETTER SSA
++09B8;N # BENGALI LETTER SA
++09B9;N # BENGALI LETTER HA
++09BC;N # BENGALI SIGN NUKTA
++09BD;N # BENGALI SIGN AVAGRAHA
++09BE;N # BENGALI VOWEL SIGN AA
++09BF;N # BENGALI VOWEL SIGN I
++09C0;N # BENGALI VOWEL SIGN II
++09C1;N # BENGALI VOWEL SIGN U
++09C2;N # BENGALI VOWEL SIGN UU
++09C3;N # BENGALI VOWEL SIGN VOCALIC R
++09C4;N # BENGALI VOWEL SIGN VOCALIC RR
++09C7;N # BENGALI VOWEL SIGN E
++09C8;N # BENGALI VOWEL SIGN AI
++09CB;N # BENGALI VOWEL SIGN O
++09CC;N # BENGALI VOWEL SIGN AU
++09CD;N # BENGALI SIGN VIRAMA
++09CE;N # BENGALI LETTER KHANDA TA
++09D7;N # BENGALI AU LENGTH MARK
++09DC;N # BENGALI LETTER RRA
++09DD;N # BENGALI LETTER RHA
++09DF;N # BENGALI LETTER YYA
++09E0;N # BENGALI LETTER VOCALIC RR
++09E1;N # BENGALI LETTER VOCALIC LL
++09E2;N # BENGALI VOWEL SIGN VOCALIC L
++09E3;N # BENGALI VOWEL SIGN VOCALIC LL
++09E6;N # BENGALI DIGIT ZERO
++09E7;N # BENGALI DIGIT ONE
++09E8;N # BENGALI DIGIT TWO
++09E9;N # BENGALI DIGIT THREE
++09EA;N # BENGALI DIGIT FOUR
++09EB;N # BENGALI DIGIT FIVE
++09EC;N # BENGALI DIGIT SIX
++09ED;N # BENGALI DIGIT SEVEN
++09EE;N # BENGALI DIGIT EIGHT
++09EF;N # BENGALI DIGIT NINE
++09F0;N # BENGALI LETTER RA WITH MIDDLE DIAGONAL
++09F1;N # BENGALI LETTER RA WITH LOWER DIAGONAL
++09F2;N # BENGALI RUPEE MARK
++09F3;N # BENGALI RUPEE SIGN
++09F4;N # BENGALI CURRENCY NUMERATOR ONE
++09F5;N # BENGALI CURRENCY NUMERATOR TWO
++09F6;N # BENGALI CURRENCY NUMERATOR THREE
++09F7;N # BENGALI CURRENCY NUMERATOR FOUR
++09F8;N # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
++09F9;N # BENGALI CURRENCY DENOMINATOR SIXTEEN
++09FA;N # BENGALI ISSHAR
++09FB;N # BENGALI GANDA MARK
++0A01;N # GURMUKHI SIGN ADAK BINDI
++0A02;N # GURMUKHI SIGN BINDI
++0A03;N # GURMUKHI SIGN VISARGA
++0A05;N # GURMUKHI LETTER A
++0A06;N # GURMUKHI LETTER AA
++0A07;N # GURMUKHI LETTER I
++0A08;N # GURMUKHI LETTER II
++0A09;N # GURMUKHI LETTER U
++0A0A;N # GURMUKHI LETTER UU
++0A0F;N # GURMUKHI LETTER EE
++0A10;N # GURMUKHI LETTER AI
++0A13;N # GURMUKHI LETTER OO
++0A14;N # GURMUKHI LETTER AU
++0A15;N # GURMUKHI LETTER KA
++0A16;N # GURMUKHI LETTER KHA
++0A17;N # GURMUKHI LETTER GA
++0A18;N # GURMUKHI LETTER GHA
++0A19;N # GURMUKHI LETTER NGA
++0A1A;N # GURMUKHI LETTER CA
++0A1B;N # GURMUKHI LETTER CHA
++0A1C;N # GURMUKHI LETTER JA
++0A1D;N # GURMUKHI LETTER JHA
++0A1E;N # GURMUKHI LETTER NYA
++0A1F;N # GURMUKHI LETTER TTA
++0A20;N # GURMUKHI LETTER TTHA
++0A21;N # GURMUKHI LETTER DDA
++0A22;N # GURMUKHI LETTER DDHA
++0A23;N # GURMUKHI LETTER NNA
++0A24;N # GURMUKHI LETTER TA
++0A25;N # GURMUKHI LETTER THA
++0A26;N # GURMUKHI LETTER DA
++0A27;N # GURMUKHI LETTER DHA
++0A28;N # GURMUKHI LETTER NA
++0A2A;N # GURMUKHI LETTER PA
++0A2B;N # GURMUKHI LETTER PHA
++0A2C;N # GURMUKHI LETTER BA
++0A2D;N # GURMUKHI LETTER BHA
++0A2E;N # GURMUKHI LETTER MA
++0A2F;N # GURMUKHI LETTER YA
++0A30;N # GURMUKHI LETTER RA
++0A32;N # GURMUKHI LETTER LA
++0A33;N # GURMUKHI LETTER LLA
++0A35;N # GURMUKHI LETTER VA
++0A36;N # GURMUKHI LETTER SHA
++0A38;N # GURMUKHI LETTER SA
++0A39;N # GURMUKHI LETTER HA
++0A3C;N # GURMUKHI SIGN NUKTA
++0A3E;N # GURMUKHI VOWEL SIGN AA
++0A3F;N # GURMUKHI VOWEL SIGN I
++0A40;N # GURMUKHI VOWEL SIGN II
++0A41;N # GURMUKHI VOWEL SIGN U
++0A42;N # GURMUKHI VOWEL SIGN UU
++0A47;N # GURMUKHI VOWEL SIGN EE
++0A48;N # GURMUKHI VOWEL SIGN AI
++0A4B;N # GURMUKHI VOWEL SIGN OO
++0A4C;N # GURMUKHI VOWEL SIGN AU
++0A4D;N # GURMUKHI SIGN VIRAMA
++0A51;N # GURMUKHI SIGN UDAAT
++0A59;N # GURMUKHI LETTER KHHA
++0A5A;N # GURMUKHI LETTER GHHA
++0A5B;N # GURMUKHI LETTER ZA
++0A5C;N # GURMUKHI LETTER RRA
++0A5E;N # GURMUKHI LETTER FA
++0A66;N # GURMUKHI DIGIT ZERO
++0A67;N # GURMUKHI DIGIT ONE
++0A68;N # GURMUKHI DIGIT TWO
++0A69;N # GURMUKHI DIGIT THREE
++0A6A;N # GURMUKHI DIGIT FOUR
++0A6B;N # GURMUKHI DIGIT FIVE
++0A6C;N # GURMUKHI DIGIT SIX
++0A6D;N # GURMUKHI DIGIT SEVEN
++0A6E;N # GURMUKHI DIGIT EIGHT
++0A6F;N # GURMUKHI DIGIT NINE
++0A70;N # GURMUKHI TIPPI
++0A71;N # GURMUKHI ADDAK
++0A72;N # GURMUKHI IRI
++0A73;N # GURMUKHI URA
++0A74;N # GURMUKHI EK ONKAR
++0A75;N # GURMUKHI SIGN YAKASH
++0A81;N # GUJARATI SIGN CANDRABINDU
++0A82;N # GUJARATI SIGN ANUSVARA
++0A83;N # GUJARATI SIGN VISARGA
++0A85;N # GUJARATI LETTER A
++0A86;N # GUJARATI LETTER AA
++0A87;N # GUJARATI LETTER I
++0A88;N # GUJARATI LETTER II
++0A89;N # GUJARATI LETTER U
++0A8A;N # GUJARATI LETTER UU
++0A8B;N # GUJARATI LETTER VOCALIC R
++0A8C;N # GUJARATI LETTER VOCALIC L
++0A8D;N # GUJARATI VOWEL CANDRA E
++0A8F;N # GUJARATI LETTER E
++0A90;N # GUJARATI LETTER AI
++0A91;N # GUJARATI VOWEL CANDRA O
++0A93;N # GUJARATI LETTER O
++0A94;N # GUJARATI LETTER AU
++0A95;N # GUJARATI LETTER KA
++0A96;N # GUJARATI LETTER KHA
++0A97;N # GUJARATI LETTER GA
++0A98;N # GUJARATI LETTER GHA
++0A99;N # GUJARATI LETTER NGA
++0A9A;N # GUJARATI LETTER CA
++0A9B;N # GUJARATI LETTER CHA
++0A9C;N # GUJARATI LETTER JA
++0A9D;N # GUJARATI LETTER JHA
++0A9E;N # GUJARATI LETTER NYA
++0A9F;N # GUJARATI LETTER TTA
++0AA0;N # GUJARATI LETTER TTHA
++0AA1;N # GUJARATI LETTER DDA
++0AA2;N # GUJARATI LETTER DDHA
++0AA3;N # GUJARATI LETTER NNA
++0AA4;N # GUJARATI LETTER TA
++0AA5;N # GUJARATI LETTER THA
++0AA6;N # GUJARATI LETTER DA
++0AA7;N # GUJARATI LETTER DHA
++0AA8;N # GUJARATI LETTER NA
++0AAA;N # GUJARATI LETTER PA
++0AAB;N # GUJARATI LETTER PHA
++0AAC;N # GUJARATI LETTER BA
++0AAD;N # GUJARATI LETTER BHA
++0AAE;N # GUJARATI LETTER MA
++0AAF;N # GUJARATI LETTER YA
++0AB0;N # GUJARATI LETTER RA
++0AB2;N # GUJARATI LETTER LA
++0AB3;N # GUJARATI LETTER LLA
++0AB5;N # GUJARATI LETTER VA
++0AB6;N # GUJARATI LETTER SHA
++0AB7;N # GUJARATI LETTER SSA
++0AB8;N # GUJARATI LETTER SA
++0AB9;N # GUJARATI LETTER HA
++0ABC;N # GUJARATI SIGN NUKTA
++0ABD;N # GUJARATI SIGN AVAGRAHA
++0ABE;N # GUJARATI VOWEL SIGN AA
++0ABF;N # GUJARATI VOWEL SIGN I
++0AC0;N # GUJARATI VOWEL SIGN II
++0AC1;N # GUJARATI VOWEL SIGN U
++0AC2;N # GUJARATI VOWEL SIGN UU
++0AC3;N # GUJARATI VOWEL SIGN VOCALIC R
++0AC4;N # GUJARATI VOWEL SIGN VOCALIC RR
++0AC5;N # GUJARATI VOWEL SIGN CANDRA E
++0AC7;N # GUJARATI VOWEL SIGN E
++0AC8;N # GUJARATI VOWEL SIGN AI
++0AC9;N # GUJARATI VOWEL SIGN CANDRA O
++0ACB;N # GUJARATI VOWEL SIGN O
++0ACC;N # GUJARATI VOWEL SIGN AU
++0ACD;N # GUJARATI SIGN VIRAMA
++0AD0;N # GUJARATI OM
++0AE0;N # GUJARATI LETTER VOCALIC RR
++0AE1;N # GUJARATI LETTER VOCALIC LL
++0AE2;N # GUJARATI VOWEL SIGN VOCALIC L
++0AE3;N # GUJARATI VOWEL SIGN VOCALIC LL
++0AE6;N # GUJARATI DIGIT ZERO
++0AE7;N # GUJARATI DIGIT ONE
++0AE8;N # GUJARATI DIGIT TWO
++0AE9;N # GUJARATI DIGIT THREE
++0AEA;N # GUJARATI DIGIT FOUR
++0AEB;N # GUJARATI DIGIT FIVE
++0AEC;N # GUJARATI DIGIT SIX
++0AED;N # GUJARATI DIGIT SEVEN
++0AEE;N # GUJARATI DIGIT EIGHT
++0AEF;N # GUJARATI DIGIT NINE
++0AF1;N # GUJARATI RUPEE SIGN
++0B01;N # ORIYA SIGN CANDRABINDU
++0B02;N # ORIYA SIGN ANUSVARA
++0B03;N # ORIYA SIGN VISARGA
++0B05;N # ORIYA LETTER A
++0B06;N # ORIYA LETTER AA
++0B07;N # ORIYA LETTER I
++0B08;N # ORIYA LETTER II
++0B09;N # ORIYA LETTER U
++0B0A;N # ORIYA LETTER UU
++0B0B;N # ORIYA LETTER VOCALIC R
++0B0C;N # ORIYA LETTER VOCALIC L
++0B0F;N # ORIYA LETTER E
++0B10;N # ORIYA LETTER AI
++0B13;N # ORIYA LETTER O
++0B14;N # ORIYA LETTER AU
++0B15;N # ORIYA LETTER KA
++0B16;N # ORIYA LETTER KHA
++0B17;N # ORIYA LETTER GA
++0B18;N # ORIYA LETTER GHA
++0B19;N # ORIYA LETTER NGA
++0B1A;N # ORIYA LETTER CA
++0B1B;N # ORIYA LETTER CHA
++0B1C;N # ORIYA LETTER JA
++0B1D;N # ORIYA LETTER JHA
++0B1E;N # ORIYA LETTER NYA
++0B1F;N # ORIYA LETTER TTA
++0B20;N # ORIYA LETTER TTHA
++0B21;N # ORIYA LETTER DDA
++0B22;N # ORIYA LETTER DDHA
++0B23;N # ORIYA LETTER NNA
++0B24;N # ORIYA LETTER TA
++0B25;N # ORIYA LETTER THA
++0B26;N # ORIYA LETTER DA
++0B27;N # ORIYA LETTER DHA
++0B28;N # ORIYA LETTER NA
++0B2A;N # ORIYA LETTER PA
++0B2B;N # ORIYA LETTER PHA
++0B2C;N # ORIYA LETTER BA
++0B2D;N # ORIYA LETTER BHA
++0B2E;N # ORIYA LETTER MA
++0B2F;N # ORIYA LETTER YA
++0B30;N # ORIYA LETTER RA
++0B32;N # ORIYA LETTER LA
++0B33;N # ORIYA LETTER LLA
++0B35;N # ORIYA LETTER VA
++0B36;N # ORIYA LETTER SHA
++0B37;N # ORIYA LETTER SSA
++0B38;N # ORIYA LETTER SA
++0B39;N # ORIYA LETTER HA
++0B3C;N # ORIYA SIGN NUKTA
++0B3D;N # ORIYA SIGN AVAGRAHA
++0B3E;N # ORIYA VOWEL SIGN AA
++0B3F;N # ORIYA VOWEL SIGN I
++0B40;N # ORIYA VOWEL SIGN II
++0B41;N # ORIYA VOWEL SIGN U
++0B42;N # ORIYA VOWEL SIGN UU
++0B43;N # ORIYA VOWEL SIGN VOCALIC R
++0B44;N # ORIYA VOWEL SIGN VOCALIC RR
++0B47;N # ORIYA VOWEL SIGN E
++0B48;N # ORIYA VOWEL SIGN AI
++0B4B;N # ORIYA VOWEL SIGN O
++0B4C;N # ORIYA VOWEL SIGN AU
++0B4D;N # ORIYA SIGN VIRAMA
++0B56;N # ORIYA AI LENGTH MARK
++0B57;N # ORIYA AU LENGTH MARK
++0B5C;N # ORIYA LETTER RRA
++0B5D;N # ORIYA LETTER RHA
++0B5F;N # ORIYA LETTER YYA
++0B60;N # ORIYA LETTER VOCALIC RR
++0B61;N # ORIYA LETTER VOCALIC LL
++0B62;N # ORIYA VOWEL SIGN VOCALIC L
++0B63;N # ORIYA VOWEL SIGN VOCALIC LL
++0B66;N # ORIYA DIGIT ZERO
++0B67;N # ORIYA DIGIT ONE
++0B68;N # ORIYA DIGIT TWO
++0B69;N # ORIYA DIGIT THREE
++0B6A;N # ORIYA DIGIT FOUR
++0B6B;N # ORIYA DIGIT FIVE
++0B6C;N # ORIYA DIGIT SIX
++0B6D;N # ORIYA DIGIT SEVEN
++0B6E;N # ORIYA DIGIT EIGHT
++0B6F;N # ORIYA DIGIT NINE
++0B70;N # ORIYA ISSHAR
++0B71;N # ORIYA LETTER WA
++0B82;N # TAMIL SIGN ANUSVARA
++0B83;N # TAMIL SIGN VISARGA
++0B85;N # TAMIL LETTER A
++0B86;N # TAMIL LETTER AA
++0B87;N # TAMIL LETTER I
++0B88;N # TAMIL LETTER II
++0B89;N # TAMIL LETTER U
++0B8A;N # TAMIL LETTER UU
++0B8E;N # TAMIL LETTER E
++0B8F;N # TAMIL LETTER EE
++0B90;N # TAMIL LETTER AI
++0B92;N # TAMIL LETTER O
++0B93;N # TAMIL LETTER OO
++0B94;N # TAMIL LETTER AU
++0B95;N # TAMIL LETTER KA
++0B99;N # TAMIL LETTER NGA
++0B9A;N # TAMIL LETTER CA
++0B9C;N # TAMIL LETTER JA
++0B9E;N # TAMIL LETTER NYA
++0B9F;N # TAMIL LETTER TTA
++0BA3;N # TAMIL LETTER NNA
++0BA4;N # TAMIL LETTER TA
++0BA8;N # TAMIL LETTER NA
++0BA9;N # TAMIL LETTER NNNA
++0BAA;N # TAMIL LETTER PA
++0BAE;N # TAMIL LETTER MA
++0BAF;N # TAMIL LETTER YA
++0BB0;N # TAMIL LETTER RA
++0BB1;N # TAMIL LETTER RRA
++0BB2;N # TAMIL LETTER LA
++0BB3;N # TAMIL LETTER LLA
++0BB4;N # TAMIL LETTER LLLA
++0BB5;N # TAMIL LETTER VA
++0BB6;N # TAMIL LETTER SHA
++0BB7;N # TAMIL LETTER SSA
++0BB8;N # TAMIL LETTER SA
++0BB9;N # TAMIL LETTER HA
++0BBE;N # TAMIL VOWEL SIGN AA
++0BBF;N # TAMIL VOWEL SIGN I
++0BC0;N # TAMIL VOWEL SIGN II
++0BC1;N # TAMIL VOWEL SIGN U
++0BC2;N # TAMIL VOWEL SIGN UU
++0BC6;N # TAMIL VOWEL SIGN E
++0BC7;N # TAMIL VOWEL SIGN EE
++0BC8;N # TAMIL VOWEL SIGN AI
++0BCA;N # TAMIL VOWEL SIGN O
++0BCB;N # TAMIL VOWEL SIGN OO
++0BCC;N # TAMIL VOWEL SIGN AU
++0BCD;N # TAMIL SIGN VIRAMA
++0BD0;N # TAMIL OM
++0BD7;N # TAMIL AU LENGTH MARK
++0BE6;N # TAMIL DIGIT ZERO
++0BE7;N # TAMIL DIGIT ONE
++0BE8;N # TAMIL DIGIT TWO
++0BE9;N # TAMIL DIGIT THREE
++0BEA;N # TAMIL DIGIT FOUR
++0BEB;N # TAMIL DIGIT FIVE
++0BEC;N # TAMIL DIGIT SIX
++0BED;N # TAMIL DIGIT SEVEN
++0BEE;N # TAMIL DIGIT EIGHT
++0BEF;N # TAMIL DIGIT NINE
++0BF0;N # TAMIL NUMBER TEN
++0BF1;N # TAMIL NUMBER ONE HUNDRED
++0BF2;N # TAMIL NUMBER ONE THOUSAND
++0BF3;N # TAMIL DAY SIGN
++0BF4;N # TAMIL MONTH SIGN
++0BF5;N # TAMIL YEAR SIGN
++0BF6;N # TAMIL DEBIT SIGN
++0BF7;N # TAMIL CREDIT SIGN
++0BF8;N # TAMIL AS ABOVE SIGN
++0BF9;N # TAMIL RUPEE SIGN
++0BFA;N # TAMIL NUMBER SIGN
++0C01;N # TELUGU SIGN CANDRABINDU
++0C02;N # TELUGU SIGN ANUSVARA
++0C03;N # TELUGU SIGN VISARGA
++0C05;N # TELUGU LETTER A
++0C06;N # TELUGU LETTER AA
++0C07;N # TELUGU LETTER I
++0C08;N # TELUGU LETTER II
++0C09;N # TELUGU LETTER U
++0C0A;N # TELUGU LETTER UU
++0C0B;N # TELUGU LETTER VOCALIC R
++0C0C;N # TELUGU LETTER VOCALIC L
++0C0E;N # TELUGU LETTER E
++0C0F;N # TELUGU LETTER EE
++0C10;N # TELUGU LETTER AI
++0C12;N # TELUGU LETTER O
++0C13;N # TELUGU LETTER OO
++0C14;N # TELUGU LETTER AU
++0C15;N # TELUGU LETTER KA
++0C16;N # TELUGU LETTER KHA
++0C17;N # TELUGU LETTER GA
++0C18;N # TELUGU LETTER GHA
++0C19;N # TELUGU LETTER NGA
++0C1A;N # TELUGU LETTER CA
++0C1B;N # TELUGU LETTER CHA
++0C1C;N # TELUGU LETTER JA
++0C1D;N # TELUGU LETTER JHA
++0C1E;N # TELUGU LETTER NYA
++0C1F;N # TELUGU LETTER TTA
++0C20;N # TELUGU LETTER TTHA
++0C21;N # TELUGU LETTER DDA
++0C22;N # TELUGU LETTER DDHA
++0C23;N # TELUGU LETTER NNA
++0C24;N # TELUGU LETTER TA
++0C25;N # TELUGU LETTER THA
++0C26;N # TELUGU LETTER DA
++0C27;N # TELUGU LETTER DHA
++0C28;N # TELUGU LETTER NA
++0C2A;N # TELUGU LETTER PA
++0C2B;N # TELUGU LETTER PHA
++0C2C;N # TELUGU LETTER BA
++0C2D;N # TELUGU LETTER BHA
++0C2E;N # TELUGU LETTER MA
++0C2F;N # TELUGU LETTER YA
++0C30;N # TELUGU LETTER RA
++0C31;N # TELUGU LETTER RRA
++0C32;N # TELUGU LETTER LA
++0C33;N # TELUGU LETTER LLA
++0C35;N # TELUGU LETTER VA
++0C36;N # TELUGU LETTER SHA
++0C37;N # TELUGU LETTER SSA
++0C38;N # TELUGU LETTER SA
++0C39;N # TELUGU LETTER HA
++0C3D;N # TELUGU SIGN AVAGRAHA
++0C3E;N # TELUGU VOWEL SIGN AA
++0C3F;N # TELUGU VOWEL SIGN I
++0C40;N # TELUGU VOWEL SIGN II
++0C41;N # TELUGU VOWEL SIGN U
++0C42;N # TELUGU VOWEL SIGN UU
++0C43;N # TELUGU VOWEL SIGN VOCALIC R
++0C44;N # TELUGU VOWEL SIGN VOCALIC RR
++0C46;N # TELUGU VOWEL SIGN E
++0C47;N # TELUGU VOWEL SIGN EE
++0C48;N # TELUGU VOWEL SIGN AI
++0C4A;N # TELUGU VOWEL SIGN O
++0C4B;N # TELUGU VOWEL SIGN OO
++0C4C;N # TELUGU VOWEL SIGN AU
++0C4D;N # TELUGU SIGN VIRAMA
++0C55;N # TELUGU LENGTH MARK
++0C56;N # TELUGU AI LENGTH MARK
++0C58;N # TELUGU LETTER TSA
++0C59;N # TELUGU LETTER DZA
++0C60;N # TELUGU LETTER VOCALIC RR
++0C61;N # TELUGU LETTER VOCALIC LL
++0C62;N # TELUGU VOWEL SIGN VOCALIC L
++0C63;N # TELUGU VOWEL SIGN VOCALIC LL
++0C66;N # TELUGU DIGIT ZERO
++0C67;N # TELUGU DIGIT ONE
++0C68;N # TELUGU DIGIT TWO
++0C69;N # TELUGU DIGIT THREE
++0C6A;N # TELUGU DIGIT FOUR
++0C6B;N # TELUGU DIGIT FIVE
++0C6C;N # TELUGU DIGIT SIX
++0C6D;N # TELUGU DIGIT SEVEN
++0C6E;N # TELUGU DIGIT EIGHT
++0C6F;N # TELUGU DIGIT NINE
++0C78;N # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
++0C79;N # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
++0C7A;N # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
++0C7B;N # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
++0C7C;N # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
++0C7D;N # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
++0C7E;N # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
++0C7F;N # TELUGU SIGN TUUMU
++0C82;N # KANNADA SIGN ANUSVARA
++0C83;N # KANNADA SIGN VISARGA
++0C85;N # KANNADA LETTER A
++0C86;N # KANNADA LETTER AA
++0C87;N # KANNADA LETTER I
++0C88;N # KANNADA LETTER II
++0C89;N # KANNADA LETTER U
++0C8A;N # KANNADA LETTER UU
++0C8B;N # KANNADA LETTER VOCALIC R
++0C8C;N # KANNADA LETTER VOCALIC L
++0C8E;N # KANNADA LETTER E
++0C8F;N # KANNADA LETTER EE
++0C90;N # KANNADA LETTER AI
++0C92;N # KANNADA LETTER O
++0C93;N # KANNADA LETTER OO
++0C94;N # KANNADA LETTER AU
++0C95;N # KANNADA LETTER KA
++0C96;N # KANNADA LETTER KHA
++0C97;N # KANNADA LETTER GA
++0C98;N # KANNADA LETTER GHA
++0C99;N # KANNADA LETTER NGA
++0C9A;N # KANNADA LETTER CA
++0C9B;N # KANNADA LETTER CHA
++0C9C;N # KANNADA LETTER JA
++0C9D;N # KANNADA LETTER JHA
++0C9E;N # KANNADA LETTER NYA
++0C9F;N # KANNADA LETTER TTA
++0CA0;N # KANNADA LETTER TTHA
++0CA1;N # KANNADA LETTER DDA
++0CA2;N # KANNADA LETTER DDHA
++0CA3;N # KANNADA LETTER NNA
++0CA4;N # KANNADA LETTER TA
++0CA5;N # KANNADA LETTER THA
++0CA6;N # KANNADA LETTER DA
++0CA7;N # KANNADA LETTER DHA
++0CA8;N # KANNADA LETTER NA
++0CAA;N # KANNADA LETTER PA
++0CAB;N # KANNADA LETTER PHA
++0CAC;N # KANNADA LETTER BA
++0CAD;N # KANNADA LETTER BHA
++0CAE;N # KANNADA LETTER MA
++0CAF;N # KANNADA LETTER YA
++0CB0;N # KANNADA LETTER RA
++0CB1;N # KANNADA LETTER RRA
++0CB2;N # KANNADA LETTER LA
++0CB3;N # KANNADA LETTER LLA
++0CB5;N # KANNADA LETTER VA
++0CB6;N # KANNADA LETTER SHA
++0CB7;N # KANNADA LETTER SSA
++0CB8;N # KANNADA LETTER SA
++0CB9;N # KANNADA LETTER HA
++0CBC;N # KANNADA SIGN NUKTA
++0CBD;N # KANNADA SIGN AVAGRAHA
++0CBE;N # KANNADA VOWEL SIGN AA
++0CBF;N # KANNADA VOWEL SIGN I
++0CC0;N # KANNADA VOWEL SIGN II
++0CC1;N # KANNADA VOWEL SIGN U
++0CC2;N # KANNADA VOWEL SIGN UU
++0CC3;N # KANNADA VOWEL SIGN VOCALIC R
++0CC4;N # KANNADA VOWEL SIGN VOCALIC RR
++0CC6;N # KANNADA VOWEL SIGN E
++0CC7;N # KANNADA VOWEL SIGN EE
++0CC8;N # KANNADA VOWEL SIGN AI
++0CCA;N # KANNADA VOWEL SIGN O
++0CCB;N # KANNADA VOWEL SIGN OO
++0CCC;N # KANNADA VOWEL SIGN AU
++0CCD;N # KANNADA SIGN VIRAMA
++0CD5;N # KANNADA LENGTH MARK
++0CD6;N # KANNADA AI LENGTH MARK
++0CDE;N # KANNADA LETTER FA
++0CE0;N # KANNADA LETTER VOCALIC RR
++0CE1;N # KANNADA LETTER VOCALIC LL
++0CE2;N # KANNADA VOWEL SIGN VOCALIC L
++0CE3;N # KANNADA VOWEL SIGN VOCALIC LL
++0CE6;N # KANNADA DIGIT ZERO
++0CE7;N # KANNADA DIGIT ONE
++0CE8;N # KANNADA DIGIT TWO
++0CE9;N # KANNADA DIGIT THREE
++0CEA;N # KANNADA DIGIT FOUR
++0CEB;N # KANNADA DIGIT FIVE
++0CEC;N # KANNADA DIGIT SIX
++0CED;N # KANNADA DIGIT SEVEN
++0CEE;N # KANNADA DIGIT EIGHT
++0CEF;N # KANNADA DIGIT NINE
++0CF1;N # KANNADA SIGN JIHVAMULIYA
++0CF2;N # KANNADA SIGN UPADHMANIYA
++0D02;N # MALAYALAM SIGN ANUSVARA
++0D03;N # MALAYALAM SIGN VISARGA
++0D05;N # MALAYALAM LETTER A
++0D06;N # MALAYALAM LETTER AA
++0D07;N # MALAYALAM LETTER I
++0D08;N # MALAYALAM LETTER II
++0D09;N # MALAYALAM LETTER U
++0D0A;N # MALAYALAM LETTER UU
++0D0B;N # MALAYALAM LETTER VOCALIC R
++0D0C;N # MALAYALAM LETTER VOCALIC L
++0D0E;N # MALAYALAM LETTER E
++0D0F;N # MALAYALAM LETTER EE
++0D10;N # MALAYALAM LETTER AI
++0D12;N # MALAYALAM LETTER O
++0D13;N # MALAYALAM LETTER OO
++0D14;N # MALAYALAM LETTER AU
++0D15;N # MALAYALAM LETTER KA
++0D16;N # MALAYALAM LETTER KHA
++0D17;N # MALAYALAM LETTER GA
++0D18;N # MALAYALAM LETTER GHA
++0D19;N # MALAYALAM LETTER NGA
++0D1A;N # MALAYALAM LETTER CA
++0D1B;N # MALAYALAM LETTER CHA
++0D1C;N # MALAYALAM LETTER JA
++0D1D;N # MALAYALAM LETTER JHA
++0D1E;N # MALAYALAM LETTER NYA
++0D1F;N # MALAYALAM LETTER TTA
++0D20;N # MALAYALAM LETTER TTHA
++0D21;N # MALAYALAM LETTER DDA
++0D22;N # MALAYALAM LETTER DDHA
++0D23;N # MALAYALAM LETTER NNA
++0D24;N # MALAYALAM LETTER TA
++0D25;N # MALAYALAM LETTER THA
++0D26;N # MALAYALAM LETTER DA
++0D27;N # MALAYALAM LETTER DHA
++0D28;N # MALAYALAM LETTER NA
++0D2A;N # MALAYALAM LETTER PA
++0D2B;N # MALAYALAM LETTER PHA
++0D2C;N # MALAYALAM LETTER BA
++0D2D;N # MALAYALAM LETTER BHA
++0D2E;N # MALAYALAM LETTER MA
++0D2F;N # MALAYALAM LETTER YA
++0D30;N # MALAYALAM LETTER RA
++0D31;N # MALAYALAM LETTER RRA
++0D32;N # MALAYALAM LETTER LA
++0D33;N # MALAYALAM LETTER LLA
++0D34;N # MALAYALAM LETTER LLLA
++0D35;N # MALAYALAM LETTER VA
++0D36;N # MALAYALAM LETTER SHA
++0D37;N # MALAYALAM LETTER SSA
++0D38;N # MALAYALAM LETTER SA
++0D39;N # MALAYALAM LETTER HA
++0D3D;N # MALAYALAM SIGN AVAGRAHA
++0D3E;N # MALAYALAM VOWEL SIGN AA
++0D3F;N # MALAYALAM VOWEL SIGN I
++0D40;N # MALAYALAM VOWEL SIGN II
++0D41;N # MALAYALAM VOWEL SIGN U
++0D42;N # MALAYALAM VOWEL SIGN UU
++0D43;N # MALAYALAM VOWEL SIGN VOCALIC R
++0D44;N # MALAYALAM VOWEL SIGN VOCALIC RR
++0D46;N # MALAYALAM VOWEL SIGN E
++0D47;N # MALAYALAM VOWEL SIGN EE
++0D48;N # MALAYALAM VOWEL SIGN AI
++0D4A;N # MALAYALAM VOWEL SIGN O
++0D4B;N # MALAYALAM VOWEL SIGN OO
++0D4C;N # MALAYALAM VOWEL SIGN AU
++0D4D;N # MALAYALAM SIGN VIRAMA
++0D57;N # MALAYALAM AU LENGTH MARK
++0D60;N # MALAYALAM LETTER VOCALIC RR
++0D61;N # MALAYALAM LETTER VOCALIC LL
++0D62;N # MALAYALAM VOWEL SIGN VOCALIC L
++0D63;N # MALAYALAM VOWEL SIGN VOCALIC LL
++0D66;N # MALAYALAM DIGIT ZERO
++0D67;N # MALAYALAM DIGIT ONE
++0D68;N # MALAYALAM DIGIT TWO
++0D69;N # MALAYALAM DIGIT THREE
++0D6A;N # MALAYALAM DIGIT FOUR
++0D6B;N # MALAYALAM DIGIT FIVE
++0D6C;N # MALAYALAM DIGIT SIX
++0D6D;N # MALAYALAM DIGIT SEVEN
++0D6E;N # MALAYALAM DIGIT EIGHT
++0D6F;N # MALAYALAM DIGIT NINE
++0D70;N # MALAYALAM NUMBER TEN
++0D71;N # MALAYALAM NUMBER ONE HUNDRED
++0D72;N # MALAYALAM NUMBER ONE THOUSAND
++0D73;N # MALAYALAM FRACTION ONE QUARTER
++0D74;N # MALAYALAM FRACTION ONE HALF
++0D75;N # MALAYALAM FRACTION THREE QUARTERS
++0D79;N # MALAYALAM DATE MARK
++0D7A;N # MALAYALAM LETTER CHILLU NN
++0D7B;N # MALAYALAM LETTER CHILLU N
++0D7C;N # MALAYALAM LETTER CHILLU RR
++0D7D;N # MALAYALAM LETTER CHILLU L
++0D7E;N # MALAYALAM LETTER CHILLU LL
++0D7F;N # MALAYALAM LETTER CHILLU K
++0D82;N # SINHALA SIGN ANUSVARAYA
++0D83;N # SINHALA SIGN VISARGAYA
++0D85;N # SINHALA LETTER AYANNA
++0D86;N # SINHALA LETTER AAYANNA
++0D87;N # SINHALA LETTER AEYANNA
++0D88;N # SINHALA LETTER AEEYANNA
++0D89;N # SINHALA LETTER IYANNA
++0D8A;N # SINHALA LETTER IIYANNA
++0D8B;N # SINHALA LETTER UYANNA
++0D8C;N # SINHALA LETTER UUYANNA
++0D8D;N # SINHALA LETTER IRUYANNA
++0D8E;N # SINHALA LETTER IRUUYANNA
++0D8F;N # SINHALA LETTER ILUYANNA
++0D90;N # SINHALA LETTER ILUUYANNA
++0D91;N # SINHALA LETTER EYANNA
++0D92;N # SINHALA LETTER EEYANNA
++0D93;N # SINHALA LETTER AIYANNA
++0D94;N # SINHALA LETTER OYANNA
++0D95;N # SINHALA LETTER OOYANNA
++0D96;N # SINHALA LETTER AUYANNA
++0D9A;N # SINHALA LETTER ALPAPRAANA KAYANNA
++0D9B;N # SINHALA LETTER MAHAAPRAANA KAYANNA
++0D9C;N # SINHALA LETTER ALPAPRAANA GAYANNA
++0D9D;N # SINHALA LETTER MAHAAPRAANA GAYANNA
++0D9E;N # SINHALA LETTER KANTAJA NAASIKYAYA
++0D9F;N # SINHALA LETTER SANYAKA GAYANNA
++0DA0;N # SINHALA LETTER ALPAPRAANA CAYANNA
++0DA1;N # SINHALA LETTER MAHAAPRAANA CAYANNA
++0DA2;N # SINHALA LETTER ALPAPRAANA JAYANNA
++0DA3;N # SINHALA LETTER MAHAAPRAANA JAYANNA
++0DA4;N # SINHALA LETTER TAALUJA NAASIKYAYA
++0DA5;N # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
++0DA6;N # SINHALA LETTER SANYAKA JAYANNA
++0DA7;N # SINHALA LETTER ALPAPRAANA TTAYANNA
++0DA8;N # SINHALA LETTER MAHAAPRAANA TTAYANNA
++0DA9;N # SINHALA LETTER ALPAPRAANA DDAYANNA
++0DAA;N # SINHALA LETTER MAHAAPRAANA DDAYANNA
++0DAB;N # SINHALA LETTER MUURDHAJA NAYANNA
++0DAC;N # SINHALA LETTER SANYAKA DDAYANNA
++0DAD;N # SINHALA LETTER ALPAPRAANA TAYANNA
++0DAE;N # SINHALA LETTER MAHAAPRAANA TAYANNA
++0DAF;N # SINHALA LETTER ALPAPRAANA DAYANNA
++0DB0;N # SINHALA LETTER MAHAAPRAANA DAYANNA
++0DB1;N # SINHALA LETTER DANTAJA NAYANNA
++0DB3;N # SINHALA LETTER SANYAKA DAYANNA
++0DB4;N # SINHALA LETTER ALPAPRAANA PAYANNA
++0DB5;N # SINHALA LETTER MAHAAPRAANA PAYANNA
++0DB6;N # SINHALA LETTER ALPAPRAANA BAYANNA
++0DB7;N # SINHALA LETTER MAHAAPRAANA BAYANNA
++0DB8;N # SINHALA LETTER MAYANNA
++0DB9;N # SINHALA LETTER AMBA BAYANNA
++0DBA;N # SINHALA LETTER YAYANNA
++0DBB;N # SINHALA LETTER RAYANNA
++0DBD;N # SINHALA LETTER DANTAJA LAYANNA
++0DC0;N # SINHALA LETTER VAYANNA
++0DC1;N # SINHALA LETTER TAALUJA SAYANNA
++0DC2;N # SINHALA LETTER MUURDHAJA SAYANNA
++0DC3;N # SINHALA LETTER DANTAJA SAYANNA
++0DC4;N # SINHALA LETTER HAYANNA
++0DC5;N # SINHALA LETTER MUURDHAJA LAYANNA
++0DC6;N # SINHALA LETTER FAYANNA
++0DCA;N # SINHALA SIGN AL-LAKUNA
++0DCF;N # SINHALA VOWEL SIGN AELA-PILLA
++0DD0;N # SINHALA VOWEL SIGN KETTI AEDA-PILLA
++0DD1;N # SINHALA VOWEL SIGN DIGA AEDA-PILLA
++0DD2;N # SINHALA VOWEL SIGN KETTI IS-PILLA
++0DD3;N # SINHALA VOWEL SIGN DIGA IS-PILLA
++0DD4;N # SINHALA VOWEL SIGN KETTI PAA-PILLA
++0DD6;N # SINHALA VOWEL SIGN DIGA PAA-PILLA
++0DD8;N # SINHALA VOWEL SIGN GAETTA-PILLA
++0DD9;N # SINHALA VOWEL SIGN KOMBUVA
++0DDA;N # SINHALA VOWEL SIGN DIGA KOMBUVA
++0DDB;N # SINHALA VOWEL SIGN KOMBU DEKA
++0DDC;N # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
++0DDD;N # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
++0DDE;N # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
++0DDF;N # SINHALA VOWEL SIGN GAYANUKITTA
++0DF2;N # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
++0DF3;N # SINHALA VOWEL SIGN DIGA GAYANUKITTA
++0DF4;N # SINHALA PUNCTUATION KUNDDALIYA
++0E01;N # THAI CHARACTER KO KAI
++0E02;N # THAI CHARACTER KHO KHAI
++0E03;N # THAI CHARACTER KHO KHUAT
++0E04;N # THAI CHARACTER KHO KHWAI
++0E05;N # THAI CHARACTER KHO KHON
++0E06;N # THAI CHARACTER KHO RAKHANG
++0E07;N # THAI CHARACTER NGO NGU
++0E08;N # THAI CHARACTER CHO CHAN
++0E09;N # THAI CHARACTER CHO CHING
++0E0A;N # THAI CHARACTER CHO CHANG
++0E0B;N # THAI CHARACTER SO SO
++0E0C;N # THAI CHARACTER CHO CHOE
++0E0D;N # THAI CHARACTER YO YING
++0E0E;N # THAI CHARACTER DO CHADA
++0E0F;N # THAI CHARACTER TO PATAK
++0E10;N # THAI CHARACTER THO THAN
++0E11;N # THAI CHARACTER THO NANGMONTHO
++0E12;N # THAI CHARACTER THO PHUTHAO
++0E13;N # THAI CHARACTER NO NEN
++0E14;N # THAI CHARACTER DO DEK
++0E15;N # THAI CHARACTER TO TAO
++0E16;N # THAI CHARACTER THO THUNG
++0E17;N # THAI CHARACTER THO THAHAN
++0E18;N # THAI CHARACTER THO THONG
++0E19;N # THAI CHARACTER NO NU
++0E1A;N # THAI CHARACTER BO BAIMAI
++0E1B;N # THAI CHARACTER PO PLA
++0E1C;N # THAI CHARACTER PHO PHUNG
++0E1D;N # THAI CHARACTER FO FA
++0E1E;N # THAI CHARACTER PHO PHAN
++0E1F;N # THAI CHARACTER FO FAN
++0E20;N # THAI CHARACTER PHO SAMPHAO
++0E21;N # THAI CHARACTER MO MA
++0E22;N # THAI CHARACTER YO YAK
++0E23;N # THAI CHARACTER RO RUA
++0E24;N # THAI CHARACTER RU
++0E25;N # THAI CHARACTER LO LING
++0E26;N # THAI CHARACTER LU
++0E27;N # THAI CHARACTER WO WAEN
++0E28;N # THAI CHARACTER SO SALA
++0E29;N # THAI CHARACTER SO RUSI
++0E2A;N # THAI CHARACTER SO SUA
++0E2B;N # THAI CHARACTER HO HIP
++0E2C;N # THAI CHARACTER LO CHULA
++0E2D;N # THAI CHARACTER O ANG
++0E2E;N # THAI CHARACTER HO NOKHUK
++0E2F;N # THAI CHARACTER PAIYANNOI
++0E30;N # THAI CHARACTER SARA A
++0E31;N # THAI CHARACTER MAI HAN-AKAT
++0E32;N # THAI CHARACTER SARA AA
++0E33;N # THAI CHARACTER SARA AM
++0E34;N # THAI CHARACTER SARA I
++0E35;N # THAI CHARACTER SARA II
++0E36;N # THAI CHARACTER SARA UE
++0E37;N # THAI CHARACTER SARA UEE
++0E38;N # THAI CHARACTER SARA U
++0E39;N # THAI CHARACTER SARA UU
++0E3A;N # THAI CHARACTER PHINTHU
++0E3F;N # THAI CURRENCY SYMBOL BAHT
++0E40;N # THAI CHARACTER SARA E
++0E41;N # THAI CHARACTER SARA AE
++0E42;N # THAI CHARACTER SARA O
++0E43;N # THAI CHARACTER SARA AI MAIMUAN
++0E44;N # THAI CHARACTER SARA AI MAIMALAI
++0E45;N # THAI CHARACTER LAKKHANGYAO
++0E46;N # THAI CHARACTER MAIYAMOK
++0E47;N # THAI CHARACTER MAITAIKHU
++0E48;N # THAI CHARACTER MAI EK
++0E49;N # THAI CHARACTER MAI THO
++0E4A;N # THAI CHARACTER MAI TRI
++0E4B;N # THAI CHARACTER MAI CHATTAWA
++0E4C;N # THAI CHARACTER THANTHAKHAT
++0E4D;N # THAI CHARACTER NIKHAHIT
++0E4E;N # THAI CHARACTER YAMAKKAN
++0E4F;N # THAI CHARACTER FONGMAN
++0E50;N # THAI DIGIT ZERO
++0E51;N # THAI DIGIT ONE
++0E52;N # THAI DIGIT TWO
++0E53;N # THAI DIGIT THREE
++0E54;N # THAI DIGIT FOUR
++0E55;N # THAI DIGIT FIVE
++0E56;N # THAI DIGIT SIX
++0E57;N # THAI DIGIT SEVEN
++0E58;N # THAI DIGIT EIGHT
++0E59;N # THAI DIGIT NINE
++0E5A;N # THAI CHARACTER ANGKHANKHU
++0E5B;N # THAI CHARACTER KHOMUT
++0E81;N # LAO LETTER KO
++0E82;N # LAO LETTER KHO SUNG
++0E84;N # LAO LETTER KHO TAM
++0E87;N # LAO LETTER NGO
++0E88;N # LAO LETTER CO
++0E8A;N # LAO LETTER SO TAM
++0E8D;N # LAO LETTER NYO
++0E94;N # LAO LETTER DO
++0E95;N # LAO LETTER TO
++0E96;N # LAO LETTER THO SUNG
++0E97;N # LAO LETTER THO TAM
++0E99;N # LAO LETTER NO
++0E9A;N # LAO LETTER BO
++0E9B;N # LAO LETTER PO
++0E9C;N # LAO LETTER PHO SUNG
++0E9D;N # LAO LETTER FO TAM
++0E9E;N # LAO LETTER PHO TAM
++0E9F;N # LAO LETTER FO SUNG
++0EA1;N # LAO LETTER MO
++0EA2;N # LAO LETTER YO
++0EA3;N # LAO LETTER LO LING
++0EA5;N # LAO LETTER LO LOOT
++0EA7;N # LAO LETTER WO
++0EAA;N # LAO LETTER SO SUNG
++0EAB;N # LAO LETTER HO SUNG
++0EAD;N # LAO LETTER O
++0EAE;N # LAO LETTER HO TAM
++0EAF;N # LAO ELLIPSIS
++0EB0;N # LAO VOWEL SIGN A
++0EB1;N # LAO VOWEL SIGN MAI KAN
++0EB2;N # LAO VOWEL SIGN AA
++0EB3;N # LAO VOWEL SIGN AM
++0EB4;N # LAO VOWEL SIGN I
++0EB5;N # LAO VOWEL SIGN II
++0EB6;N # LAO VOWEL SIGN Y
++0EB7;N # LAO VOWEL SIGN YY
++0EB8;N # LAO VOWEL SIGN U
++0EB9;N # LAO VOWEL SIGN UU
++0EBB;N # LAO VOWEL SIGN MAI KON
++0EBC;N # LAO SEMIVOWEL SIGN LO
++0EBD;N # LAO SEMIVOWEL SIGN NYO
++0EC0;N # LAO VOWEL SIGN E
++0EC1;N # LAO VOWEL SIGN EI
++0EC2;N # LAO VOWEL SIGN O
++0EC3;N # LAO VOWEL SIGN AY
++0EC4;N # LAO VOWEL SIGN AI
++0EC6;N # LAO KO LA
++0EC8;N # LAO TONE MAI EK
++0EC9;N # LAO TONE MAI THO
++0ECA;N # LAO TONE MAI TI
++0ECB;N # LAO TONE MAI CATAWA
++0ECC;N # LAO CANCELLATION MARK
++0ECD;N # LAO NIGGAHITA
++0ED0;N # LAO DIGIT ZERO
++0ED1;N # LAO DIGIT ONE
++0ED2;N # LAO DIGIT TWO
++0ED3;N # LAO DIGIT THREE
++0ED4;N # LAO DIGIT FOUR
++0ED5;N # LAO DIGIT FIVE
++0ED6;N # LAO DIGIT SIX
++0ED7;N # LAO DIGIT SEVEN
++0ED8;N # LAO DIGIT EIGHT
++0ED9;N # LAO DIGIT NINE
++0EDC;N # LAO HO NO
++0EDD;N # LAO HO MO
++0F00;N # TIBETAN SYLLABLE OM
++0F01;N # TIBETAN MARK GTER YIG MGO TRUNCATED A
++0F02;N # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
++0F03;N # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
++0F04;N # TIBETAN MARK INITIAL YIG MGO MDUN MA
++0F05;N # TIBETAN MARK CLOSING YIG MGO SGAB MA
++0F06;N # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
++0F07;N # TIBETAN MARK YIG MGO TSHEG SHAD MA
++0F08;N # TIBETAN MARK SBRUL SHAD
++0F09;N # TIBETAN MARK BSKUR YIG MGO
++0F0A;N # TIBETAN MARK BKA- SHOG YIG MGO
++0F0B;N # TIBETAN MARK INTERSYLLABIC TSHEG
++0F0C;N # TIBETAN MARK DELIMITER TSHEG BSTAR
++0F0D;N # TIBETAN MARK SHAD
++0F0E;N # TIBETAN MARK NYIS SHAD
++0F0F;N # TIBETAN MARK TSHEG SHAD
++0F10;N # TIBETAN MARK NYIS TSHEG SHAD
++0F11;N # TIBETAN MARK RIN CHEN SPUNGS SHAD
++0F12;N # TIBETAN MARK RGYA GRAM SHAD
++0F13;N # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
++0F14;N # TIBETAN MARK GTER TSHEG
++0F15;N # TIBETAN LOGOTYPE SIGN CHAD RTAGS
++0F16;N # TIBETAN LOGOTYPE SIGN LHAG RTAGS
++0F17;N # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
++0F18;N # TIBETAN ASTROLOGICAL SIGN -KHYUD PA
++0F19;N # TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
++0F1A;N # TIBETAN SIGN RDEL DKAR GCIG
++0F1B;N # TIBETAN SIGN RDEL DKAR GNYIS
++0F1C;N # TIBETAN SIGN RDEL DKAR GSUM
++0F1D;N # TIBETAN SIGN RDEL NAG GCIG
++0F1E;N # TIBETAN SIGN RDEL NAG GNYIS
++0F1F;N # TIBETAN SIGN RDEL DKAR RDEL NAG
++0F20;N # TIBETAN DIGIT ZERO
++0F21;N # TIBETAN DIGIT ONE
++0F22;N # TIBETAN DIGIT TWO
++0F23;N # TIBETAN DIGIT THREE
++0F24;N # TIBETAN DIGIT FOUR
++0F25;N # TIBETAN DIGIT FIVE
++0F26;N # TIBETAN DIGIT SIX
++0F27;N # TIBETAN DIGIT SEVEN
++0F28;N # TIBETAN DIGIT EIGHT
++0F29;N # TIBETAN DIGIT NINE
++0F2A;N # TIBETAN DIGIT HALF ONE
++0F2B;N # TIBETAN DIGIT HALF TWO
++0F2C;N # TIBETAN DIGIT HALF THREE
++0F2D;N # TIBETAN DIGIT HALF FOUR
++0F2E;N # TIBETAN DIGIT HALF FIVE
++0F2F;N # TIBETAN DIGIT HALF SIX
++0F30;N # TIBETAN DIGIT HALF SEVEN
++0F31;N # TIBETAN DIGIT HALF EIGHT
++0F32;N # TIBETAN DIGIT HALF NINE
++0F33;N # TIBETAN DIGIT HALF ZERO
++0F34;N # TIBETAN MARK BSDUS RTAGS
++0F35;N # TIBETAN MARK NGAS BZUNG NYI ZLA
++0F36;N # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
++0F37;N # TIBETAN MARK NGAS BZUNG SGOR RTAGS
++0F38;N # TIBETAN MARK CHE MGO
++0F39;N # TIBETAN MARK TSA -PHRU
++0F3A;N # TIBETAN MARK GUG RTAGS GYON
++0F3B;N # TIBETAN MARK GUG RTAGS GYAS
++0F3C;N # TIBETAN MARK ANG KHANG GYON
++0F3D;N # TIBETAN MARK ANG KHANG GYAS
++0F3E;N # TIBETAN SIGN YAR TSHES
++0F3F;N # TIBETAN SIGN MAR TSHES
++0F40;N # TIBETAN LETTER KA
++0F41;N # TIBETAN LETTER KHA
++0F42;N # TIBETAN LETTER GA
++0F43;N # TIBETAN LETTER GHA
++0F44;N # TIBETAN LETTER NGA
++0F45;N # TIBETAN LETTER CA
++0F46;N # TIBETAN LETTER CHA
++0F47;N # TIBETAN LETTER JA
++0F49;N # TIBETAN LETTER NYA
++0F4A;N # TIBETAN LETTER TTA
++0F4B;N # TIBETAN LETTER TTHA
++0F4C;N # TIBETAN LETTER DDA
++0F4D;N # TIBETAN LETTER DDHA
++0F4E;N # TIBETAN LETTER NNA
++0F4F;N # TIBETAN LETTER TA
++0F50;N # TIBETAN LETTER THA
++0F51;N # TIBETAN LETTER DA
++0F52;N # TIBETAN LETTER DHA
++0F53;N # TIBETAN LETTER NA
++0F54;N # TIBETAN LETTER PA
++0F55;N # TIBETAN LETTER PHA
++0F56;N # TIBETAN LETTER BA
++0F57;N # TIBETAN LETTER BHA
++0F58;N # TIBETAN LETTER MA
++0F59;N # TIBETAN LETTER TSA
++0F5A;N # TIBETAN LETTER TSHA
++0F5B;N # TIBETAN LETTER DZA
++0F5C;N # TIBETAN LETTER DZHA
++0F5D;N # TIBETAN LETTER WA
++0F5E;N # TIBETAN LETTER ZHA
++0F5F;N # TIBETAN LETTER ZA
++0F60;N # TIBETAN LETTER -A
++0F61;N # TIBETAN LETTER YA
++0F62;N # TIBETAN LETTER RA
++0F63;N # TIBETAN LETTER LA
++0F64;N # TIBETAN LETTER SHA
++0F65;N # TIBETAN LETTER SSA
++0F66;N # TIBETAN LETTER SA
++0F67;N # TIBETAN LETTER HA
++0F68;N # TIBETAN LETTER A
++0F69;N # TIBETAN LETTER KSSA
++0F6A;N # TIBETAN LETTER FIXED-FORM RA
++0F6B;N # TIBETAN LETTER KKA
++0F6C;N # TIBETAN LETTER RRA
++0F71;N # TIBETAN VOWEL SIGN AA
++0F72;N # TIBETAN VOWEL SIGN I
++0F73;N # TIBETAN VOWEL SIGN II
++0F74;N # TIBETAN VOWEL SIGN U
++0F75;N # TIBETAN VOWEL SIGN UU
++0F76;N # TIBETAN VOWEL SIGN VOCALIC R
++0F77;N # TIBETAN VOWEL SIGN VOCALIC RR
++0F78;N # TIBETAN VOWEL SIGN VOCALIC L
++0F79;N # TIBETAN VOWEL SIGN VOCALIC LL
++0F7A;N # TIBETAN VOWEL SIGN E
++0F7B;N # TIBETAN VOWEL SIGN EE
++0F7C;N # TIBETAN VOWEL SIGN O
++0F7D;N # TIBETAN VOWEL SIGN OO
++0F7E;N # TIBETAN SIGN RJES SU NGA RO
++0F7F;N # TIBETAN SIGN RNAM BCAD
++0F80;N # TIBETAN VOWEL SIGN REVERSED I
++0F81;N # TIBETAN VOWEL SIGN REVERSED II
++0F82;N # TIBETAN SIGN NYI ZLA NAA DA
++0F83;N # TIBETAN SIGN SNA LDAN
++0F84;N # TIBETAN MARK HALANTA
++0F85;N # TIBETAN MARK PALUTA
++0F86;N # TIBETAN SIGN LCI RTAGS
++0F87;N # TIBETAN SIGN YANG RTAGS
++0F88;N # TIBETAN SIGN LCE TSA CAN
++0F89;N # TIBETAN SIGN MCHU CAN
++0F8A;N # TIBETAN SIGN GRU CAN RGYINGS
++0F8B;N # TIBETAN SIGN GRU MED RGYINGS
++0F90;N # TIBETAN SUBJOINED LETTER KA
++0F91;N # TIBETAN SUBJOINED LETTER KHA
++0F92;N # TIBETAN SUBJOINED LETTER GA
++0F93;N # TIBETAN SUBJOINED LETTER GHA
++0F94;N # TIBETAN SUBJOINED LETTER NGA
++0F95;N # TIBETAN SUBJOINED LETTER CA
++0F96;N # TIBETAN SUBJOINED LETTER CHA
++0F97;N # TIBETAN SUBJOINED LETTER JA
++0F99;N # TIBETAN SUBJOINED LETTER NYA
++0F9A;N # TIBETAN SUBJOINED LETTER TTA
++0F9B;N # TIBETAN SUBJOINED LETTER TTHA
++0F9C;N # TIBETAN SUBJOINED LETTER DDA
++0F9D;N # TIBETAN SUBJOINED LETTER DDHA
++0F9E;N # TIBETAN SUBJOINED LETTER NNA
++0F9F;N # TIBETAN SUBJOINED LETTER TA
++0FA0;N # TIBETAN SUBJOINED LETTER THA
++0FA1;N # TIBETAN SUBJOINED LETTER DA
++0FA2;N # TIBETAN SUBJOINED LETTER DHA
++0FA3;N # TIBETAN SUBJOINED LETTER NA
++0FA4;N # TIBETAN SUBJOINED LETTER PA
++0FA5;N # TIBETAN SUBJOINED LETTER PHA
++0FA6;N # TIBETAN SUBJOINED LETTER BA
++0FA7;N # TIBETAN SUBJOINED LETTER BHA
++0FA8;N # TIBETAN SUBJOINED LETTER MA
++0FA9;N # TIBETAN SUBJOINED LETTER TSA
++0FAA;N # TIBETAN SUBJOINED LETTER TSHA
++0FAB;N # TIBETAN SUBJOINED LETTER DZA
++0FAC;N # TIBETAN SUBJOINED LETTER DZHA
++0FAD;N # TIBETAN SUBJOINED LETTER WA
++0FAE;N # TIBETAN SUBJOINED LETTER ZHA
++0FAF;N # TIBETAN SUBJOINED LETTER ZA
++0FB0;N # TIBETAN SUBJOINED LETTER -A
++0FB1;N # TIBETAN SUBJOINED LETTER YA
++0FB2;N # TIBETAN SUBJOINED LETTER RA
++0FB3;N # TIBETAN SUBJOINED LETTER LA
++0FB4;N # TIBETAN SUBJOINED LETTER SHA
++0FB5;N # TIBETAN SUBJOINED LETTER SSA
++0FB6;N # TIBETAN SUBJOINED LETTER SA
++0FB7;N # TIBETAN SUBJOINED LETTER HA
++0FB8;N # TIBETAN SUBJOINED LETTER A
++0FB9;N # TIBETAN SUBJOINED LETTER KSSA
++0FBA;N # TIBETAN SUBJOINED LETTER FIXED-FORM WA
++0FBB;N # TIBETAN SUBJOINED LETTER FIXED-FORM YA
++0FBC;N # TIBETAN SUBJOINED LETTER FIXED-FORM RA
++0FBE;N # TIBETAN KU RU KHA
++0FBF;N # TIBETAN KU RU KHA BZHI MIG CAN
++0FC0;N # TIBETAN CANTILLATION SIGN HEAVY BEAT
++0FC1;N # TIBETAN CANTILLATION SIGN LIGHT BEAT
++0FC2;N # TIBETAN CANTILLATION SIGN CANG TE-U
++0FC3;N # TIBETAN CANTILLATION SIGN SBUB -CHAL
++0FC4;N # TIBETAN SYMBOL DRIL BU
++0FC5;N # TIBETAN SYMBOL RDO RJE
++0FC6;N # TIBETAN SYMBOL PADMA GDAN
++0FC7;N # TIBETAN SYMBOL RDO RJE RGYA GRAM
++0FC8;N # TIBETAN SYMBOL PHUR PA
++0FC9;N # TIBETAN SYMBOL NOR BU
++0FCA;N # TIBETAN SYMBOL NOR BU NYIS -KHYIL
++0FCB;N # TIBETAN SYMBOL NOR BU GSUM -KHYIL
++0FCC;N # TIBETAN SYMBOL NOR BU BZHI -KHYIL
++0FCE;N # TIBETAN SIGN RDEL NAG RDEL DKAR
++0FCF;N # TIBETAN SIGN RDEL NAG GSUM
++0FD0;N # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
++0FD1;N # TIBETAN MARK MNYAM YIG GI MGO RGYAN
++0FD2;N # TIBETAN MARK NYIS TSHEG
++0FD3;N # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
++0FD4;N # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
++0FD5;N # RIGHT-FACING SVASTI SIGN
++0FD6;N # LEFT-FACING SVASTI SIGN
++0FD7;N # RIGHT-FACING SVASTI SIGN WITH DOTS
++0FD8;N # LEFT-FACING SVASTI SIGN WITH DOTS
++1000;N # MYANMAR LETTER KA
++1001;N # MYANMAR LETTER KHA
++1002;N # MYANMAR LETTER GA
++1003;N # MYANMAR LETTER GHA
++1004;N # MYANMAR LETTER NGA
++1005;N # MYANMAR LETTER CA
++1006;N # MYANMAR LETTER CHA
++1007;N # MYANMAR LETTER JA
++1008;N # MYANMAR LETTER JHA
++1009;N # MYANMAR LETTER NYA
++100A;N # MYANMAR LETTER NNYA
++100B;N # MYANMAR LETTER TTA
++100C;N # MYANMAR LETTER TTHA
++100D;N # MYANMAR LETTER DDA
++100E;N # MYANMAR LETTER DDHA
++100F;N # MYANMAR LETTER NNA
++1010;N # MYANMAR LETTER TA
++1011;N # MYANMAR LETTER THA
++1012;N # MYANMAR LETTER DA
++1013;N # MYANMAR LETTER DHA
++1014;N # MYANMAR LETTER NA
++1015;N # MYANMAR LETTER PA
++1016;N # MYANMAR LETTER PHA
++1017;N # MYANMAR LETTER BA
++1018;N # MYANMAR LETTER BHA
++1019;N # MYANMAR LETTER MA
++101A;N # MYANMAR LETTER YA
++101B;N # MYANMAR LETTER RA
++101C;N # MYANMAR LETTER LA
++101D;N # MYANMAR LETTER WA
++101E;N # MYANMAR LETTER SA
++101F;N # MYANMAR LETTER HA
++1020;N # MYANMAR LETTER LLA
++1021;N # MYANMAR LETTER A
++1022;N # MYANMAR LETTER SHAN A
++1023;N # MYANMAR LETTER I
++1024;N # MYANMAR LETTER II
++1025;N # MYANMAR LETTER U
++1026;N # MYANMAR LETTER UU
++1027;N # MYANMAR LETTER E
++1028;N # MYANMAR LETTER MON E
++1029;N # MYANMAR LETTER O
++102A;N # MYANMAR LETTER AU
++102B;N # MYANMAR VOWEL SIGN TALL AA
++102C;N # MYANMAR VOWEL SIGN AA
++102D;N # MYANMAR VOWEL SIGN I
++102E;N # MYANMAR VOWEL SIGN II
++102F;N # MYANMAR VOWEL SIGN U
++1030;N # MYANMAR VOWEL SIGN UU
++1031;N # MYANMAR VOWEL SIGN E
++1032;N # MYANMAR VOWEL SIGN AI
++1033;N # MYANMAR VOWEL SIGN MON II
++1034;N # MYANMAR VOWEL SIGN MON O
++1035;N # MYANMAR VOWEL SIGN E ABOVE
++1036;N # MYANMAR SIGN ANUSVARA
++1037;N # MYANMAR SIGN DOT BELOW
++1038;N # MYANMAR SIGN VISARGA
++1039;N # MYANMAR SIGN VIRAMA
++103A;N # MYANMAR SIGN ASAT
++103B;N # MYANMAR CONSONANT SIGN MEDIAL YA
++103C;N # MYANMAR CONSONANT SIGN MEDIAL RA
++103D;N # MYANMAR CONSONANT SIGN MEDIAL WA
++103E;N # MYANMAR CONSONANT SIGN MEDIAL HA
++103F;N # MYANMAR LETTER GREAT SA
++1040;N # MYANMAR DIGIT ZERO
++1041;N # MYANMAR DIGIT ONE
++1042;N # MYANMAR DIGIT TWO
++1043;N # MYANMAR DIGIT THREE
++1044;N # MYANMAR DIGIT FOUR
++1045;N # MYANMAR DIGIT FIVE
++1046;N # MYANMAR DIGIT SIX
++1047;N # MYANMAR DIGIT SEVEN
++1048;N # MYANMAR DIGIT EIGHT
++1049;N # MYANMAR DIGIT NINE
++104A;N # MYANMAR SIGN LITTLE SECTION
++104B;N # MYANMAR SIGN SECTION
++104C;N # MYANMAR SYMBOL LOCATIVE
++104D;N # MYANMAR SYMBOL COMPLETED
++104E;N # MYANMAR SYMBOL AFOREMENTIONED
++104F;N # MYANMAR SYMBOL GENITIVE
++1050;N # MYANMAR LETTER SHA
++1051;N # MYANMAR LETTER SSA
++1052;N # MYANMAR LETTER VOCALIC R
++1053;N # MYANMAR LETTER VOCALIC RR
++1054;N # MYANMAR LETTER VOCALIC L
++1055;N # MYANMAR LETTER VOCALIC LL
++1056;N # MYANMAR VOWEL SIGN VOCALIC R
++1057;N # MYANMAR VOWEL SIGN VOCALIC RR
++1058;N # MYANMAR VOWEL SIGN VOCALIC L
++1059;N # MYANMAR VOWEL SIGN VOCALIC LL
++105A;N # MYANMAR LETTER MON NGA
++105B;N # MYANMAR LETTER MON JHA
++105C;N # MYANMAR LETTER MON BBA
++105D;N # MYANMAR LETTER MON BBE
++105E;N # MYANMAR CONSONANT SIGN MON MEDIAL NA
++105F;N # MYANMAR CONSONANT SIGN MON MEDIAL MA
++1060;N # MYANMAR CONSONANT SIGN MON MEDIAL LA
++1061;N # MYANMAR LETTER SGAW KAREN SHA
++1062;N # MYANMAR VOWEL SIGN SGAW KAREN EU
++1063;N # MYANMAR TONE MARK SGAW KAREN HATHI
++1064;N # MYANMAR TONE MARK SGAW KAREN KE PHO
++1065;N # MYANMAR LETTER WESTERN PWO KAREN THA
++1066;N # MYANMAR LETTER WESTERN PWO KAREN PWA
++1067;N # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
++1068;N # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
++1069;N # MYANMAR SIGN WESTERN PWO KAREN TONE-1
++106A;N # MYANMAR SIGN WESTERN PWO KAREN TONE-2
++106B;N # MYANMAR SIGN WESTERN PWO KAREN TONE-3
++106C;N # MYANMAR SIGN WESTERN PWO KAREN TONE-4
++106D;N # MYANMAR SIGN WESTERN PWO KAREN TONE-5
++106E;N # MYANMAR LETTER EASTERN PWO KAREN NNA
++106F;N # MYANMAR LETTER EASTERN PWO KAREN YWA
++1070;N # MYANMAR LETTER EASTERN PWO KAREN GHWA
++1071;N # MYANMAR VOWEL SIGN GEBA KAREN I
++1072;N # MYANMAR VOWEL SIGN KAYAH OE
++1073;N # MYANMAR VOWEL SIGN KAYAH U
++1074;N # MYANMAR VOWEL SIGN KAYAH EE
++1075;N # MYANMAR LETTER SHAN KA
++1076;N # MYANMAR LETTER SHAN KHA
++1077;N # MYANMAR LETTER SHAN GA
++1078;N # MYANMAR LETTER SHAN CA
++1079;N # MYANMAR LETTER SHAN ZA
++107A;N # MYANMAR LETTER SHAN NYA
++107B;N # MYANMAR LETTER SHAN DA
++107C;N # MYANMAR LETTER SHAN NA
++107D;N # MYANMAR LETTER SHAN PHA
++107E;N # MYANMAR LETTER SHAN FA
++107F;N # MYANMAR LETTER SHAN BA
++1080;N # MYANMAR LETTER SHAN THA
++1081;N # MYANMAR LETTER SHAN HA
++1082;N # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
++1083;N # MYANMAR VOWEL SIGN SHAN AA
++1084;N # MYANMAR VOWEL SIGN SHAN E
++1085;N # MYANMAR VOWEL SIGN SHAN E ABOVE
++1086;N # MYANMAR VOWEL SIGN SHAN FINAL Y
++1087;N # MYANMAR SIGN SHAN TONE-2
++1088;N # MYANMAR SIGN SHAN TONE-3
++1089;N # MYANMAR SIGN SHAN TONE-5
++108A;N # MYANMAR SIGN SHAN TONE-6
++108B;N # MYANMAR SIGN SHAN COUNCIL TONE-2
++108C;N # MYANMAR SIGN SHAN COUNCIL TONE-3
++108D;N # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
++108E;N # MYANMAR LETTER RUMAI PALAUNG FA
++108F;N # MYANMAR SIGN RUMAI PALAUNG TONE-5
++1090;N # MYANMAR SHAN DIGIT ZERO
++1091;N # MYANMAR SHAN DIGIT ONE
++1092;N # MYANMAR SHAN DIGIT TWO
++1093;N # MYANMAR SHAN DIGIT THREE
++1094;N # MYANMAR SHAN DIGIT FOUR
++1095;N # MYANMAR SHAN DIGIT FIVE
++1096;N # MYANMAR SHAN DIGIT SIX
++1097;N # MYANMAR SHAN DIGIT SEVEN
++1098;N # MYANMAR SHAN DIGIT EIGHT
++1099;N # MYANMAR SHAN DIGIT NINE
++109A;N # MYANMAR SIGN KHAMTI TONE-1
++109B;N # MYANMAR SIGN KHAMTI TONE-3
++109C;N # MYANMAR VOWEL SIGN AITON A
++109D;N # MYANMAR VOWEL SIGN AITON AI
++109E;N # MYANMAR SYMBOL SHAN ONE
++109F;N # MYANMAR SYMBOL SHAN EXCLAMATION
++10A0;N # GEORGIAN CAPITAL LETTER AN
++10A1;N # GEORGIAN CAPITAL LETTER BAN
++10A2;N # GEORGIAN CAPITAL LETTER GAN
++10A3;N # GEORGIAN CAPITAL LETTER DON
++10A4;N # GEORGIAN CAPITAL LETTER EN
++10A5;N # GEORGIAN CAPITAL LETTER VIN
++10A6;N # GEORGIAN CAPITAL LETTER ZEN
++10A7;N # GEORGIAN CAPITAL LETTER TAN
++10A8;N # GEORGIAN CAPITAL LETTER IN
++10A9;N # GEORGIAN CAPITAL LETTER KAN
++10AA;N # GEORGIAN CAPITAL LETTER LAS
++10AB;N # GEORGIAN CAPITAL LETTER MAN
++10AC;N # GEORGIAN CAPITAL LETTER NAR
++10AD;N # GEORGIAN CAPITAL LETTER ON
++10AE;N # GEORGIAN CAPITAL LETTER PAR
++10AF;N # GEORGIAN CAPITAL LETTER ZHAR
++10B0;N # GEORGIAN CAPITAL LETTER RAE
++10B1;N # GEORGIAN CAPITAL LETTER SAN
++10B2;N # GEORGIAN CAPITAL LETTER TAR
++10B3;N # GEORGIAN CAPITAL LETTER UN
++10B4;N # GEORGIAN CAPITAL LETTER PHAR
++10B5;N # GEORGIAN CAPITAL LETTER KHAR
++10B6;N # GEORGIAN CAPITAL LETTER GHAN
++10B7;N # GEORGIAN CAPITAL LETTER QAR
++10B8;N # GEORGIAN CAPITAL LETTER SHIN
++10B9;N # GEORGIAN CAPITAL LETTER CHIN
++10BA;N # GEORGIAN CAPITAL LETTER CAN
++10BB;N # GEORGIAN CAPITAL LETTER JIL
++10BC;N # GEORGIAN CAPITAL LETTER CIL
++10BD;N # GEORGIAN CAPITAL LETTER CHAR
++10BE;N # GEORGIAN CAPITAL LETTER XAN
++10BF;N # GEORGIAN CAPITAL LETTER JHAN
++10C0;N # GEORGIAN CAPITAL LETTER HAE
++10C1;N # GEORGIAN CAPITAL LETTER HE
++10C2;N # GEORGIAN CAPITAL LETTER HIE
++10C3;N # GEORGIAN CAPITAL LETTER WE
++10C4;N # GEORGIAN CAPITAL LETTER HAR
++10C5;N # GEORGIAN CAPITAL LETTER HOE
++10D0;N # GEORGIAN LETTER AN
++10D1;N # GEORGIAN LETTER BAN
++10D2;N # GEORGIAN LETTER GAN
++10D3;N # GEORGIAN LETTER DON
++10D4;N # GEORGIAN LETTER EN
++10D5;N # GEORGIAN LETTER VIN
++10D6;N # GEORGIAN LETTER ZEN
++10D7;N # GEORGIAN LETTER TAN
++10D8;N # GEORGIAN LETTER IN
++10D9;N # GEORGIAN LETTER KAN
++10DA;N # GEORGIAN LETTER LAS
++10DB;N # GEORGIAN LETTER MAN
++10DC;N # GEORGIAN LETTER NAR
++10DD;N # GEORGIAN LETTER ON
++10DE;N # GEORGIAN LETTER PAR
++10DF;N # GEORGIAN LETTER ZHAR
++10E0;N # GEORGIAN LETTER RAE
++10E1;N # GEORGIAN LETTER SAN
++10E2;N # GEORGIAN LETTER TAR
++10E3;N # GEORGIAN LETTER UN
++10E4;N # GEORGIAN LETTER PHAR
++10E5;N # GEORGIAN LETTER KHAR
++10E6;N # GEORGIAN LETTER GHAN
++10E7;N # GEORGIAN LETTER QAR
++10E8;N # GEORGIAN LETTER SHIN
++10E9;N # GEORGIAN LETTER CHIN
++10EA;N # GEORGIAN LETTER CAN
++10EB;N # GEORGIAN LETTER JIL
++10EC;N # GEORGIAN LETTER CIL
++10ED;N # GEORGIAN LETTER CHAR
++10EE;N # GEORGIAN LETTER XAN
++10EF;N # GEORGIAN LETTER JHAN
++10F0;N # GEORGIAN LETTER HAE
++10F1;N # GEORGIAN LETTER HE
++10F2;N # GEORGIAN LETTER HIE
++10F3;N # GEORGIAN LETTER WE
++10F4;N # GEORGIAN LETTER HAR
++10F5;N # GEORGIAN LETTER HOE
++10F6;N # GEORGIAN LETTER FI
++10F7;N # GEORGIAN LETTER YN
++10F8;N # GEORGIAN LETTER ELIFI
++10F9;N # GEORGIAN LETTER TURNED GAN
++10FA;N # GEORGIAN LETTER AIN
++10FB;N # GEORGIAN PARAGRAPH SEPARATOR
++10FC;N # MODIFIER LETTER GEORGIAN NAR
++1100;W # HANGUL CHOSEONG KIYEOK
++1101;W # HANGUL CHOSEONG SSANGKIYEOK
++1102;W # HANGUL CHOSEONG NIEUN
++1103;W # HANGUL CHOSEONG TIKEUT
++1104;W # HANGUL CHOSEONG SSANGTIKEUT
++1105;W # HANGUL CHOSEONG RIEUL
++1106;W # HANGUL CHOSEONG MIEUM
++1107;W # HANGUL CHOSEONG PIEUP
++1108;W # HANGUL CHOSEONG SSANGPIEUP
++1109;W # HANGUL CHOSEONG SIOS
++110A;W # HANGUL CHOSEONG SSANGSIOS
++110B;W # HANGUL CHOSEONG IEUNG
++110C;W # HANGUL CHOSEONG CIEUC
++110D;W # HANGUL CHOSEONG SSANGCIEUC
++110E;W # HANGUL CHOSEONG CHIEUCH
++110F;W # HANGUL CHOSEONG KHIEUKH
++1110;W # HANGUL CHOSEONG THIEUTH
++1111;W # HANGUL CHOSEONG PHIEUPH
++1112;W # HANGUL CHOSEONG HIEUH
++1113;W # HANGUL CHOSEONG NIEUN-KIYEOK
++1114;W # HANGUL CHOSEONG SSANGNIEUN
++1115;W # HANGUL CHOSEONG NIEUN-TIKEUT
++1116;W # HANGUL CHOSEONG NIEUN-PIEUP
++1117;W # HANGUL CHOSEONG TIKEUT-KIYEOK
++1118;W # HANGUL CHOSEONG RIEUL-NIEUN
++1119;W # HANGUL CHOSEONG SSANGRIEUL
++111A;W # HANGUL CHOSEONG RIEUL-HIEUH
++111B;W # HANGUL CHOSEONG KAPYEOUNRIEUL
++111C;W # HANGUL CHOSEONG MIEUM-PIEUP
++111D;W # HANGUL CHOSEONG KAPYEOUNMIEUM
++111E;W # HANGUL CHOSEONG PIEUP-KIYEOK
++111F;W # HANGUL CHOSEONG PIEUP-NIEUN
++1120;W # HANGUL CHOSEONG PIEUP-TIKEUT
++1121;W # HANGUL CHOSEONG PIEUP-SIOS
++1122;W # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
++1123;W # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
++1124;W # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
++1125;W # HANGUL CHOSEONG PIEUP-SSANGSIOS
++1126;W # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
++1127;W # HANGUL CHOSEONG PIEUP-CIEUC
++1128;W # HANGUL CHOSEONG PIEUP-CHIEUCH
++1129;W # HANGUL CHOSEONG PIEUP-THIEUTH
++112A;W # HANGUL CHOSEONG PIEUP-PHIEUPH
++112B;W # HANGUL CHOSEONG KAPYEOUNPIEUP
++112C;W # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
++112D;W # HANGUL CHOSEONG SIOS-KIYEOK
++112E;W # HANGUL CHOSEONG SIOS-NIEUN
++112F;W # HANGUL CHOSEONG SIOS-TIKEUT
++1130;W # HANGUL CHOSEONG SIOS-RIEUL
++1131;W # HANGUL CHOSEONG SIOS-MIEUM
++1132;W # HANGUL CHOSEONG SIOS-PIEUP
++1133;W # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
++1134;W # HANGUL CHOSEONG SIOS-SSANGSIOS
++1135;W # HANGUL CHOSEONG SIOS-IEUNG
++1136;W # HANGUL CHOSEONG SIOS-CIEUC
++1137;W # HANGUL CHOSEONG SIOS-CHIEUCH
++1138;W # HANGUL CHOSEONG SIOS-KHIEUKH
++1139;W # HANGUL CHOSEONG SIOS-THIEUTH
++113A;W # HANGUL CHOSEONG SIOS-PHIEUPH
++113B;W # HANGUL CHOSEONG SIOS-HIEUH
++113C;W # HANGUL CHOSEONG CHITUEUMSIOS
++113D;W # HANGUL CHOSEONG CHITUEUMSSANGSIOS
++113E;W # HANGUL CHOSEONG CEONGCHIEUMSIOS
++113F;W # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
++1140;W # HANGUL CHOSEONG PANSIOS
++1141;W # HANGUL CHOSEONG IEUNG-KIYEOK
++1142;W # HANGUL CHOSEONG IEUNG-TIKEUT
++1143;W # HANGUL CHOSEONG IEUNG-MIEUM
++1144;W # HANGUL CHOSEONG IEUNG-PIEUP
++1145;W # HANGUL CHOSEONG IEUNG-SIOS
++1146;W # HANGUL CHOSEONG IEUNG-PANSIOS
++1147;W # HANGUL CHOSEONG SSANGIEUNG
++1148;W # HANGUL CHOSEONG IEUNG-CIEUC
++1149;W # HANGUL CHOSEONG IEUNG-CHIEUCH
++114A;W # HANGUL CHOSEONG IEUNG-THIEUTH
++114B;W # HANGUL CHOSEONG IEUNG-PHIEUPH
++114C;W # HANGUL CHOSEONG YESIEUNG
++114D;W # HANGUL CHOSEONG CIEUC-IEUNG
++114E;W # HANGUL CHOSEONG CHITUEUMCIEUC
++114F;W # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
++1150;W # HANGUL CHOSEONG CEONGCHIEUMCIEUC
++1151;W # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
++1152;W # HANGUL CHOSEONG CHIEUCH-KHIEUKH
++1153;W # HANGUL CHOSEONG CHIEUCH-HIEUH
++1154;W # HANGUL CHOSEONG CHITUEUMCHIEUCH
++1155;W # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
++1156;W # HANGUL CHOSEONG PHIEUPH-PIEUP
++1157;W # HANGUL CHOSEONG KAPYEOUNPHIEUPH
++1158;W # HANGUL CHOSEONG SSANGHIEUH
++1159;W # HANGUL CHOSEONG YEORINHIEUH
++115A;W # HANGUL CHOSEONG KIYEOK-TIKEUT
++115B;W # HANGUL CHOSEONG NIEUN-SIOS
++115C;W # HANGUL CHOSEONG NIEUN-CIEUC
++115D;W # HANGUL CHOSEONG NIEUN-HIEUH
++115E;W # HANGUL CHOSEONG TIKEUT-RIEUL
++115F;W # HANGUL CHOSEONG FILLER
++1160;N # HANGUL JUNGSEONG FILLER
++1161;N # HANGUL JUNGSEONG A
++1162;N # HANGUL JUNGSEONG AE
++1163;N # HANGUL JUNGSEONG YA
++1164;N # HANGUL JUNGSEONG YAE
++1165;N # HANGUL JUNGSEONG EO
++1166;N # HANGUL JUNGSEONG E
++1167;N # HANGUL JUNGSEONG YEO
++1168;N # HANGUL JUNGSEONG YE
++1169;N # HANGUL JUNGSEONG O
++116A;N # HANGUL JUNGSEONG WA
++116B;N # HANGUL JUNGSEONG WAE
++116C;N # HANGUL JUNGSEONG OE
++116D;N # HANGUL JUNGSEONG YO
++116E;N # HANGUL JUNGSEONG U
++116F;N # HANGUL JUNGSEONG WEO
++1170;N # HANGUL JUNGSEONG WE
++1171;N # HANGUL JUNGSEONG WI
++1172;N # HANGUL JUNGSEONG YU
++1173;N # HANGUL JUNGSEONG EU
++1174;N # HANGUL JUNGSEONG YI
++1175;N # HANGUL JUNGSEONG I
++1176;N # HANGUL JUNGSEONG A-O
++1177;N # HANGUL JUNGSEONG A-U
++1178;N # HANGUL JUNGSEONG YA-O
++1179;N # HANGUL JUNGSEONG YA-YO
++117A;N # HANGUL JUNGSEONG EO-O
++117B;N # HANGUL JUNGSEONG EO-U
++117C;N # HANGUL JUNGSEONG EO-EU
++117D;N # HANGUL JUNGSEONG YEO-O
++117E;N # HANGUL JUNGSEONG YEO-U
++117F;N # HANGUL JUNGSEONG O-EO
++1180;N # HANGUL JUNGSEONG O-E
++1181;N # HANGUL JUNGSEONG O-YE
++1182;N # HANGUL JUNGSEONG O-O
++1183;N # HANGUL JUNGSEONG O-U
++1184;N # HANGUL JUNGSEONG YO-YA
++1185;N # HANGUL JUNGSEONG YO-YAE
++1186;N # HANGUL JUNGSEONG YO-YEO
++1187;N # HANGUL JUNGSEONG YO-O
++1188;N # HANGUL JUNGSEONG YO-I
++1189;N # HANGUL JUNGSEONG U-A
++118A;N # HANGUL JUNGSEONG U-AE
++118B;N # HANGUL JUNGSEONG U-EO-EU
++118C;N # HANGUL JUNGSEONG U-YE
++118D;N # HANGUL JUNGSEONG U-U
++118E;N # HANGUL JUNGSEONG YU-A
++118F;N # HANGUL JUNGSEONG YU-EO
++1190;N # HANGUL JUNGSEONG YU-E
++1191;N # HANGUL JUNGSEONG YU-YEO
++1192;N # HANGUL JUNGSEONG YU-YE
++1193;N # HANGUL JUNGSEONG YU-U
++1194;N # HANGUL JUNGSEONG YU-I
++1195;N # HANGUL JUNGSEONG EU-U
++1196;N # HANGUL JUNGSEONG EU-EU
++1197;N # HANGUL JUNGSEONG YI-U
++1198;N # HANGUL JUNGSEONG I-A
++1199;N # HANGUL JUNGSEONG I-YA
++119A;N # HANGUL JUNGSEONG I-O
++119B;N # HANGUL JUNGSEONG I-U
++119C;N # HANGUL JUNGSEONG I-EU
++119D;N # HANGUL JUNGSEONG I-ARAEA
++119E;N # HANGUL JUNGSEONG ARAEA
++119F;N # HANGUL JUNGSEONG ARAEA-EO
++11A0;N # HANGUL JUNGSEONG ARAEA-U
++11A1;N # HANGUL JUNGSEONG ARAEA-I
++11A2;N # HANGUL JUNGSEONG SSANGARAEA
++11A3;W # HANGUL JUNGSEONG A-EU
++11A4;W # HANGUL JUNGSEONG YA-U
++11A5;W # HANGUL JUNGSEONG YEO-YA
++11A6;W # HANGUL JUNGSEONG O-YA
++11A7;W # HANGUL JUNGSEONG O-YAE
++11A8;N # HANGUL JONGSEONG KIYEOK
++11A9;N # HANGUL JONGSEONG SSANGKIYEOK
++11AA;N # HANGUL JONGSEONG KIYEOK-SIOS
++11AB;N # HANGUL JONGSEONG NIEUN
++11AC;N # HANGUL JONGSEONG NIEUN-CIEUC
++11AD;N # HANGUL JONGSEONG NIEUN-HIEUH
++11AE;N # HANGUL JONGSEONG TIKEUT
++11AF;N # HANGUL JONGSEONG RIEUL
++11B0;N # HANGUL JONGSEONG RIEUL-KIYEOK
++11B1;N # HANGUL JONGSEONG RIEUL-MIEUM
++11B2;N # HANGUL JONGSEONG RIEUL-PIEUP
++11B3;N # HANGUL JONGSEONG RIEUL-SIOS
++11B4;N # HANGUL JONGSEONG RIEUL-THIEUTH
++11B5;N # HANGUL JONGSEONG RIEUL-PHIEUPH
++11B6;N # HANGUL JONGSEONG RIEUL-HIEUH
++11B7;N # HANGUL JONGSEONG MIEUM
++11B8;N # HANGUL JONGSEONG PIEUP
++11B9;N # HANGUL JONGSEONG PIEUP-SIOS
++11BA;N # HANGUL JONGSEONG SIOS
++11BB;N # HANGUL JONGSEONG SSANGSIOS
++11BC;N # HANGUL JONGSEONG IEUNG
++11BD;N # HANGUL JONGSEONG CIEUC
++11BE;N # HANGUL JONGSEONG CHIEUCH
++11BF;N # HANGUL JONGSEONG KHIEUKH
++11C0;N # HANGUL JONGSEONG THIEUTH
++11C1;N # HANGUL JONGSEONG PHIEUPH
++11C2;N # HANGUL JONGSEONG HIEUH
++11C3;N # HANGUL JONGSEONG KIYEOK-RIEUL
++11C4;N # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
++11C5;N # HANGUL JONGSEONG NIEUN-KIYEOK
++11C6;N # HANGUL JONGSEONG NIEUN-TIKEUT
++11C7;N # HANGUL JONGSEONG NIEUN-SIOS
++11C8;N # HANGUL JONGSEONG NIEUN-PANSIOS
++11C9;N # HANGUL JONGSEONG NIEUN-THIEUTH
++11CA;N # HANGUL JONGSEONG TIKEUT-KIYEOK
++11CB;N # HANGUL JONGSEONG TIKEUT-RIEUL
++11CC;N # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
++11CD;N # HANGUL JONGSEONG RIEUL-NIEUN
++11CE;N # HANGUL JONGSEONG RIEUL-TIKEUT
++11CF;N # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
++11D0;N # HANGUL JONGSEONG SSANGRIEUL
++11D1;N # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
++11D2;N # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
++11D3;N # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
++11D4;N # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
++11D5;N # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
++11D6;N # HANGUL JONGSEONG RIEUL-SSANGSIOS
++11D7;N # HANGUL JONGSEONG RIEUL-PANSIOS
++11D8;N # HANGUL JONGSEONG RIEUL-KHIEUKH
++11D9;N # HANGUL JONGSEONG RIEUL-YEORINHIEUH
++11DA;N # HANGUL JONGSEONG MIEUM-KIYEOK
++11DB;N # HANGUL JONGSEONG MIEUM-RIEUL
++11DC;N # HANGUL JONGSEONG MIEUM-PIEUP
++11DD;N # HANGUL JONGSEONG MIEUM-SIOS
++11DE;N # HANGUL JONGSEONG MIEUM-SSANGSIOS
++11DF;N # HANGUL JONGSEONG MIEUM-PANSIOS
++11E0;N # HANGUL JONGSEONG MIEUM-CHIEUCH
++11E1;N # HANGUL JONGSEONG MIEUM-HIEUH
++11E2;N # HANGUL JONGSEONG KAPYEOUNMIEUM
++11E3;N # HANGUL JONGSEONG PIEUP-RIEUL
++11E4;N # HANGUL JONGSEONG PIEUP-PHIEUPH
++11E5;N # HANGUL JONGSEONG PIEUP-HIEUH
++11E6;N # HANGUL JONGSEONG KAPYEOUNPIEUP
++11E7;N # HANGUL JONGSEONG SIOS-KIYEOK
++11E8;N # HANGUL JONGSEONG SIOS-TIKEUT
++11E9;N # HANGUL JONGSEONG SIOS-RIEUL
++11EA;N # HANGUL JONGSEONG SIOS-PIEUP
++11EB;N # HANGUL JONGSEONG PANSIOS
++11EC;N # HANGUL JONGSEONG IEUNG-KIYEOK
++11ED;N # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
++11EE;N # HANGUL JONGSEONG SSANGIEUNG
++11EF;N # HANGUL JONGSEONG IEUNG-KHIEUKH
++11F0;N # HANGUL JONGSEONG YESIEUNG
++11F1;N # HANGUL JONGSEONG YESIEUNG-SIOS
++11F2;N # HANGUL JONGSEONG YESIEUNG-PANSIOS
++11F3;N # HANGUL JONGSEONG PHIEUPH-PIEUP
++11F4;N # HANGUL JONGSEONG KAPYEOUNPHIEUPH
++11F5;N # HANGUL JONGSEONG HIEUH-NIEUN
++11F6;N # HANGUL JONGSEONG HIEUH-RIEUL
++11F7;N # HANGUL JONGSEONG HIEUH-MIEUM
++11F8;N # HANGUL JONGSEONG HIEUH-PIEUP
++11F9;N # HANGUL JONGSEONG YEORINHIEUH
++11FA;W # HANGUL JONGSEONG KIYEOK-NIEUN
++11FB;W # HANGUL JONGSEONG KIYEOK-PIEUP
++11FC;W # HANGUL JONGSEONG KIYEOK-CHIEUCH
++11FD;W # HANGUL JONGSEONG KIYEOK-KHIEUKH
++11FE;W # HANGUL JONGSEONG KIYEOK-HIEUH
++11FF;W # HANGUL JONGSEONG SSANGNIEUN
++1200;N # ETHIOPIC SYLLABLE HA
++1201;N # ETHIOPIC SYLLABLE HU
++1202;N # ETHIOPIC SYLLABLE HI
++1203;N # ETHIOPIC SYLLABLE HAA
++1204;N # ETHIOPIC SYLLABLE HEE
++1205;N # ETHIOPIC SYLLABLE HE
++1206;N # ETHIOPIC SYLLABLE HO
++1207;N # ETHIOPIC SYLLABLE HOA
++1208;N # ETHIOPIC SYLLABLE LA
++1209;N # ETHIOPIC SYLLABLE LU
++120A;N # ETHIOPIC SYLLABLE LI
++120B;N # ETHIOPIC SYLLABLE LAA
++120C;N # ETHIOPIC SYLLABLE LEE
++120D;N # ETHIOPIC SYLLABLE LE
++120E;N # ETHIOPIC SYLLABLE LO
++120F;N # ETHIOPIC SYLLABLE LWA
++1210;N # ETHIOPIC SYLLABLE HHA
++1211;N # ETHIOPIC SYLLABLE HHU
++1212;N # ETHIOPIC SYLLABLE HHI
++1213;N # ETHIOPIC SYLLABLE HHAA
++1214;N # ETHIOPIC SYLLABLE HHEE
++1215;N # ETHIOPIC SYLLABLE HHE
++1216;N # ETHIOPIC SYLLABLE HHO
++1217;N # ETHIOPIC SYLLABLE HHWA
++1218;N # ETHIOPIC SYLLABLE MA
++1219;N # ETHIOPIC SYLLABLE MU
++121A;N # ETHIOPIC SYLLABLE MI
++121B;N # ETHIOPIC SYLLABLE MAA
++121C;N # ETHIOPIC SYLLABLE MEE
++121D;N # ETHIOPIC SYLLABLE ME
++121E;N # ETHIOPIC SYLLABLE MO
++121F;N # ETHIOPIC SYLLABLE MWA
++1220;N # ETHIOPIC SYLLABLE SZA
++1221;N # ETHIOPIC SYLLABLE SZU
++1222;N # ETHIOPIC SYLLABLE SZI
++1223;N # ETHIOPIC SYLLABLE SZAA
++1224;N # ETHIOPIC SYLLABLE SZEE
++1225;N # ETHIOPIC SYLLABLE SZE
++1226;N # ETHIOPIC SYLLABLE SZO
++1227;N # ETHIOPIC SYLLABLE SZWA
++1228;N # ETHIOPIC SYLLABLE RA
++1229;N # ETHIOPIC SYLLABLE RU
++122A;N # ETHIOPIC SYLLABLE RI
++122B;N # ETHIOPIC SYLLABLE RAA
++122C;N # ETHIOPIC SYLLABLE REE
++122D;N # ETHIOPIC SYLLABLE RE
++122E;N # ETHIOPIC SYLLABLE RO
++122F;N # ETHIOPIC SYLLABLE RWA
++1230;N # ETHIOPIC SYLLABLE SA
++1231;N # ETHIOPIC SYLLABLE SU
++1232;N # ETHIOPIC SYLLABLE SI
++1233;N # ETHIOPIC SYLLABLE SAA
++1234;N # ETHIOPIC SYLLABLE SEE
++1235;N # ETHIOPIC SYLLABLE SE
++1236;N # ETHIOPIC SYLLABLE SO
++1237;N # ETHIOPIC SYLLABLE SWA
++1238;N # ETHIOPIC SYLLABLE SHA
++1239;N # ETHIOPIC SYLLABLE SHU
++123A;N # ETHIOPIC SYLLABLE SHI
++123B;N # ETHIOPIC SYLLABLE SHAA
++123C;N # ETHIOPIC SYLLABLE SHEE
++123D;N # ETHIOPIC SYLLABLE SHE
++123E;N # ETHIOPIC SYLLABLE SHO
++123F;N # ETHIOPIC SYLLABLE SHWA
++1240;N # ETHIOPIC SYLLABLE QA
++1241;N # ETHIOPIC SYLLABLE QU
++1242;N # ETHIOPIC SYLLABLE QI
++1243;N # ETHIOPIC SYLLABLE QAA
++1244;N # ETHIOPIC SYLLABLE QEE
++1245;N # ETHIOPIC SYLLABLE QE
++1246;N # ETHIOPIC SYLLABLE QO
++1247;N # ETHIOPIC SYLLABLE QOA
++1248;N # ETHIOPIC SYLLABLE QWA
++124A;N # ETHIOPIC SYLLABLE QWI
++124B;N # ETHIOPIC SYLLABLE QWAA
++124C;N # ETHIOPIC SYLLABLE QWEE
++124D;N # ETHIOPIC SYLLABLE QWE
++1250;N # ETHIOPIC SYLLABLE QHA
++1251;N # ETHIOPIC SYLLABLE QHU
++1252;N # ETHIOPIC SYLLABLE QHI
++1253;N # ETHIOPIC SYLLABLE QHAA
++1254;N # ETHIOPIC SYLLABLE QHEE
++1255;N # ETHIOPIC SYLLABLE QHE
++1256;N # ETHIOPIC SYLLABLE QHO
++1258;N # ETHIOPIC SYLLABLE QHWA
++125A;N # ETHIOPIC SYLLABLE QHWI
++125B;N # ETHIOPIC SYLLABLE QHWAA
++125C;N # ETHIOPIC SYLLABLE QHWEE
++125D;N # ETHIOPIC SYLLABLE QHWE
++1260;N # ETHIOPIC SYLLABLE BA
++1261;N # ETHIOPIC SYLLABLE BU
++1262;N # ETHIOPIC SYLLABLE BI
++1263;N # ETHIOPIC SYLLABLE BAA
++1264;N # ETHIOPIC SYLLABLE BEE
++1265;N # ETHIOPIC SYLLABLE BE
++1266;N # ETHIOPIC SYLLABLE BO
++1267;N # ETHIOPIC SYLLABLE BWA
++1268;N # ETHIOPIC SYLLABLE VA
++1269;N # ETHIOPIC SYLLABLE VU
++126A;N # ETHIOPIC SYLLABLE VI
++126B;N # ETHIOPIC SYLLABLE VAA
++126C;N # ETHIOPIC SYLLABLE VEE
++126D;N # ETHIOPIC SYLLABLE VE
++126E;N # ETHIOPIC SYLLABLE VO
++126F;N # ETHIOPIC SYLLABLE VWA
++1270;N # ETHIOPIC SYLLABLE TA
++1271;N # ETHIOPIC SYLLABLE TU
++1272;N # ETHIOPIC SYLLABLE TI
++1273;N # ETHIOPIC SYLLABLE TAA
++1274;N # ETHIOPIC SYLLABLE TEE
++1275;N # ETHIOPIC SYLLABLE TE
++1276;N # ETHIOPIC SYLLABLE TO
++1277;N # ETHIOPIC SYLLABLE TWA
++1278;N # ETHIOPIC SYLLABLE CA
++1279;N # ETHIOPIC SYLLABLE CU
++127A;N # ETHIOPIC SYLLABLE CI
++127B;N # ETHIOPIC SYLLABLE CAA
++127C;N # ETHIOPIC SYLLABLE CEE
++127D;N # ETHIOPIC SYLLABLE CE
++127E;N # ETHIOPIC SYLLABLE CO
++127F;N # ETHIOPIC SYLLABLE CWA
++1280;N # ETHIOPIC SYLLABLE XA
++1281;N # ETHIOPIC SYLLABLE XU
++1282;N # ETHIOPIC SYLLABLE XI
++1283;N # ETHIOPIC SYLLABLE XAA
++1284;N # ETHIOPIC SYLLABLE XEE
++1285;N # ETHIOPIC SYLLABLE XE
++1286;N # ETHIOPIC SYLLABLE XO
++1287;N # ETHIOPIC SYLLABLE XOA
++1288;N # ETHIOPIC SYLLABLE XWA
++128A;N # ETHIOPIC SYLLABLE XWI
++128B;N # ETHIOPIC SYLLABLE XWAA
++128C;N # ETHIOPIC SYLLABLE XWEE
++128D;N # ETHIOPIC SYLLABLE XWE
++1290;N # ETHIOPIC SYLLABLE NA
++1291;N # ETHIOPIC SYLLABLE NU
++1292;N # ETHIOPIC SYLLABLE NI
++1293;N # ETHIOPIC SYLLABLE NAA
++1294;N # ETHIOPIC SYLLABLE NEE
++1295;N # ETHIOPIC SYLLABLE NE
++1296;N # ETHIOPIC SYLLABLE NO
++1297;N # ETHIOPIC SYLLABLE NWA
++1298;N # ETHIOPIC SYLLABLE NYA
++1299;N # ETHIOPIC SYLLABLE NYU
++129A;N # ETHIOPIC SYLLABLE NYI
++129B;N # ETHIOPIC SYLLABLE NYAA
++129C;N # ETHIOPIC SYLLABLE NYEE
++129D;N # ETHIOPIC SYLLABLE NYE
++129E;N # ETHIOPIC SYLLABLE NYO
++129F;N # ETHIOPIC SYLLABLE NYWA
++12A0;N # ETHIOPIC SYLLABLE GLOTTAL A
++12A1;N # ETHIOPIC SYLLABLE GLOTTAL U
++12A2;N # ETHIOPIC SYLLABLE GLOTTAL I
++12A3;N # ETHIOPIC SYLLABLE GLOTTAL AA
++12A4;N # ETHIOPIC SYLLABLE GLOTTAL EE
++12A5;N # ETHIOPIC SYLLABLE GLOTTAL E
++12A6;N # ETHIOPIC SYLLABLE GLOTTAL O
++12A7;N # ETHIOPIC SYLLABLE GLOTTAL WA
++12A8;N # ETHIOPIC SYLLABLE KA
++12A9;N # ETHIOPIC SYLLABLE KU
++12AA;N # ETHIOPIC SYLLABLE KI
++12AB;N # ETHIOPIC SYLLABLE KAA
++12AC;N # ETHIOPIC SYLLABLE KEE
++12AD;N # ETHIOPIC SYLLABLE KE
++12AE;N # ETHIOPIC SYLLABLE KO
++12AF;N # ETHIOPIC SYLLABLE KOA
++12B0;N # ETHIOPIC SYLLABLE KWA
++12B2;N # ETHIOPIC SYLLABLE KWI
++12B3;N # ETHIOPIC SYLLABLE KWAA
++12B4;N # ETHIOPIC SYLLABLE KWEE
++12B5;N # ETHIOPIC SYLLABLE KWE
++12B8;N # ETHIOPIC SYLLABLE KXA
++12B9;N # ETHIOPIC SYLLABLE KXU
++12BA;N # ETHIOPIC SYLLABLE KXI
++12BB;N # ETHIOPIC SYLLABLE KXAA
++12BC;N # ETHIOPIC SYLLABLE KXEE
++12BD;N # ETHIOPIC SYLLABLE KXE
++12BE;N # ETHIOPIC SYLLABLE KXO
++12C0;N # ETHIOPIC SYLLABLE KXWA
++12C2;N # ETHIOPIC SYLLABLE KXWI
++12C3;N # ETHIOPIC SYLLABLE KXWAA
++12C4;N # ETHIOPIC SYLLABLE KXWEE
++12C5;N # ETHIOPIC SYLLABLE KXWE
++12C8;N # ETHIOPIC SYLLABLE WA
++12C9;N # ETHIOPIC SYLLABLE WU
++12CA;N # ETHIOPIC SYLLABLE WI
++12CB;N # ETHIOPIC SYLLABLE WAA
++12CC;N # ETHIOPIC SYLLABLE WEE
++12CD;N # ETHIOPIC SYLLABLE WE
++12CE;N # ETHIOPIC SYLLABLE WO
++12CF;N # ETHIOPIC SYLLABLE WOA
++12D0;N # ETHIOPIC SYLLABLE PHARYNGEAL A
++12D1;N # ETHIOPIC SYLLABLE PHARYNGEAL U
++12D2;N # ETHIOPIC SYLLABLE PHARYNGEAL I
++12D3;N # ETHIOPIC SYLLABLE PHARYNGEAL AA
++12D4;N # ETHIOPIC SYLLABLE PHARYNGEAL EE
++12D5;N # ETHIOPIC SYLLABLE PHARYNGEAL E
++12D6;N # ETHIOPIC SYLLABLE PHARYNGEAL O
++12D8;N # ETHIOPIC SYLLABLE ZA
++12D9;N # ETHIOPIC SYLLABLE ZU
++12DA;N # ETHIOPIC SYLLABLE ZI
++12DB;N # ETHIOPIC SYLLABLE ZAA
++12DC;N # ETHIOPIC SYLLABLE ZEE
++12DD;N # ETHIOPIC SYLLABLE ZE
++12DE;N # ETHIOPIC SYLLABLE ZO
++12DF;N # ETHIOPIC SYLLABLE ZWA
++12E0;N # ETHIOPIC SYLLABLE ZHA
++12E1;N # ETHIOPIC SYLLABLE ZHU
++12E2;N # ETHIOPIC SYLLABLE ZHI
++12E3;N # ETHIOPIC SYLLABLE ZHAA
++12E4;N # ETHIOPIC SYLLABLE ZHEE
++12E5;N # ETHIOPIC SYLLABLE ZHE
++12E6;N # ETHIOPIC SYLLABLE ZHO
++12E7;N # ETHIOPIC SYLLABLE ZHWA
++12E8;N # ETHIOPIC SYLLABLE YA
++12E9;N # ETHIOPIC SYLLABLE YU
++12EA;N # ETHIOPIC SYLLABLE YI
++12EB;N # ETHIOPIC SYLLABLE YAA
++12EC;N # ETHIOPIC SYLLABLE YEE
++12ED;N # ETHIOPIC SYLLABLE YE
++12EE;N # ETHIOPIC SYLLABLE YO
++12EF;N # ETHIOPIC SYLLABLE YOA
++12F0;N # ETHIOPIC SYLLABLE DA
++12F1;N # ETHIOPIC SYLLABLE DU
++12F2;N # ETHIOPIC SYLLABLE DI
++12F3;N # ETHIOPIC SYLLABLE DAA
++12F4;N # ETHIOPIC SYLLABLE DEE
++12F5;N # ETHIOPIC SYLLABLE DE
++12F6;N # ETHIOPIC SYLLABLE DO
++12F7;N # ETHIOPIC SYLLABLE DWA
++12F8;N # ETHIOPIC SYLLABLE DDA
++12F9;N # ETHIOPIC SYLLABLE DDU
++12FA;N # ETHIOPIC SYLLABLE DDI
++12FB;N # ETHIOPIC SYLLABLE DDAA
++12FC;N # ETHIOPIC SYLLABLE DDEE
++12FD;N # ETHIOPIC SYLLABLE DDE
++12FE;N # ETHIOPIC SYLLABLE DDO
++12FF;N # ETHIOPIC SYLLABLE DDWA
++1300;N # ETHIOPIC SYLLABLE JA
++1301;N # ETHIOPIC SYLLABLE JU
++1302;N # ETHIOPIC SYLLABLE JI
++1303;N # ETHIOPIC SYLLABLE JAA
++1304;N # ETHIOPIC SYLLABLE JEE
++1305;N # ETHIOPIC SYLLABLE JE
++1306;N # ETHIOPIC SYLLABLE JO
++1307;N # ETHIOPIC SYLLABLE JWA
++1308;N # ETHIOPIC SYLLABLE GA
++1309;N # ETHIOPIC SYLLABLE GU
++130A;N # ETHIOPIC SYLLABLE GI
++130B;N # ETHIOPIC SYLLABLE GAA
++130C;N # ETHIOPIC SYLLABLE GEE
++130D;N # ETHIOPIC SYLLABLE GE
++130E;N # ETHIOPIC SYLLABLE GO
++130F;N # ETHIOPIC SYLLABLE GOA
++1310;N # ETHIOPIC SYLLABLE GWA
++1312;N # ETHIOPIC SYLLABLE GWI
++1313;N # ETHIOPIC SYLLABLE GWAA
++1314;N # ETHIOPIC SYLLABLE GWEE
++1315;N # ETHIOPIC SYLLABLE GWE
++1318;N # ETHIOPIC SYLLABLE GGA
++1319;N # ETHIOPIC SYLLABLE GGU
++131A;N # ETHIOPIC SYLLABLE GGI
++131B;N # ETHIOPIC SYLLABLE GGAA
++131C;N # ETHIOPIC SYLLABLE GGEE
++131D;N # ETHIOPIC SYLLABLE GGE
++131E;N # ETHIOPIC SYLLABLE GGO
++131F;N # ETHIOPIC SYLLABLE GGWAA
++1320;N # ETHIOPIC SYLLABLE THA
++1321;N # ETHIOPIC SYLLABLE THU
++1322;N # ETHIOPIC SYLLABLE THI
++1323;N # ETHIOPIC SYLLABLE THAA
++1324;N # ETHIOPIC SYLLABLE THEE
++1325;N # ETHIOPIC SYLLABLE THE
++1326;N # ETHIOPIC SYLLABLE THO
++1327;N # ETHIOPIC SYLLABLE THWA
++1328;N # ETHIOPIC SYLLABLE CHA
++1329;N # ETHIOPIC SYLLABLE CHU
++132A;N # ETHIOPIC SYLLABLE CHI
++132B;N # ETHIOPIC SYLLABLE CHAA
++132C;N # ETHIOPIC SYLLABLE CHEE
++132D;N # ETHIOPIC SYLLABLE CHE
++132E;N # ETHIOPIC SYLLABLE CHO
++132F;N # ETHIOPIC SYLLABLE CHWA
++1330;N # ETHIOPIC SYLLABLE PHA
++1331;N # ETHIOPIC SYLLABLE PHU
++1332;N # ETHIOPIC SYLLABLE PHI
++1333;N # ETHIOPIC SYLLABLE PHAA
++1334;N # ETHIOPIC SYLLABLE PHEE
++1335;N # ETHIOPIC SYLLABLE PHE
++1336;N # ETHIOPIC SYLLABLE PHO
++1337;N # ETHIOPIC SYLLABLE PHWA
++1338;N # ETHIOPIC SYLLABLE TSA
++1339;N # ETHIOPIC SYLLABLE TSU
++133A;N # ETHIOPIC SYLLABLE TSI
++133B;N # ETHIOPIC SYLLABLE TSAA
++133C;N # ETHIOPIC SYLLABLE TSEE
++133D;N # ETHIOPIC SYLLABLE TSE
++133E;N # ETHIOPIC SYLLABLE TSO
++133F;N # ETHIOPIC SYLLABLE TSWA
++1340;N # ETHIOPIC SYLLABLE TZA
++1341;N # ETHIOPIC SYLLABLE TZU
++1342;N # ETHIOPIC SYLLABLE TZI
++1343;N # ETHIOPIC SYLLABLE TZAA
++1344;N # ETHIOPIC SYLLABLE TZEE
++1345;N # ETHIOPIC SYLLABLE TZE
++1346;N # ETHIOPIC SYLLABLE TZO
++1347;N # ETHIOPIC SYLLABLE TZOA
++1348;N # ETHIOPIC SYLLABLE FA
++1349;N # ETHIOPIC SYLLABLE FU
++134A;N # ETHIOPIC SYLLABLE FI
++134B;N # ETHIOPIC SYLLABLE FAA
++134C;N # ETHIOPIC SYLLABLE FEE
++134D;N # ETHIOPIC SYLLABLE FE
++134E;N # ETHIOPIC SYLLABLE FO
++134F;N # ETHIOPIC SYLLABLE FWA
++1350;N # ETHIOPIC SYLLABLE PA
++1351;N # ETHIOPIC SYLLABLE PU
++1352;N # ETHIOPIC SYLLABLE PI
++1353;N # ETHIOPIC SYLLABLE PAA
++1354;N # ETHIOPIC SYLLABLE PEE
++1355;N # ETHIOPIC SYLLABLE PE
++1356;N # ETHIOPIC SYLLABLE PO
++1357;N # ETHIOPIC SYLLABLE PWA
++1358;N # ETHIOPIC SYLLABLE RYA
++1359;N # ETHIOPIC SYLLABLE MYA
++135A;N # ETHIOPIC SYLLABLE FYA
++135F;N # ETHIOPIC COMBINING GEMINATION MARK
++1360;N # ETHIOPIC SECTION MARK
++1361;N # ETHIOPIC WORDSPACE
++1362;N # ETHIOPIC FULL STOP
++1363;N # ETHIOPIC COMMA
++1364;N # ETHIOPIC SEMICOLON
++1365;N # ETHIOPIC COLON
++1366;N # ETHIOPIC PREFACE COLON
++1367;N # ETHIOPIC QUESTION MARK
++1368;N # ETHIOPIC PARAGRAPH SEPARATOR
++1369;N # ETHIOPIC DIGIT ONE
++136A;N # ETHIOPIC DIGIT TWO
++136B;N # ETHIOPIC DIGIT THREE
++136C;N # ETHIOPIC DIGIT FOUR
++136D;N # ETHIOPIC DIGIT FIVE
++136E;N # ETHIOPIC DIGIT SIX
++136F;N # ETHIOPIC DIGIT SEVEN
++1370;N # ETHIOPIC DIGIT EIGHT
++1371;N # ETHIOPIC DIGIT NINE
++1372;N # ETHIOPIC NUMBER TEN
++1373;N # ETHIOPIC NUMBER TWENTY
++1374;N # ETHIOPIC NUMBER THIRTY
++1375;N # ETHIOPIC NUMBER FORTY
++1376;N # ETHIOPIC NUMBER FIFTY
++1377;N # ETHIOPIC NUMBER SIXTY
++1378;N # ETHIOPIC NUMBER SEVENTY
++1379;N # ETHIOPIC NUMBER EIGHTY
++137A;N # ETHIOPIC NUMBER NINETY
++137B;N # ETHIOPIC NUMBER HUNDRED
++137C;N # ETHIOPIC NUMBER TEN THOUSAND
++1380;N # ETHIOPIC SYLLABLE SEBATBEIT MWA
++1381;N # ETHIOPIC SYLLABLE MWI
++1382;N # ETHIOPIC SYLLABLE MWEE
++1383;N # ETHIOPIC SYLLABLE MWE
++1384;N # ETHIOPIC SYLLABLE SEBATBEIT BWA
++1385;N # ETHIOPIC SYLLABLE BWI
++1386;N # ETHIOPIC SYLLABLE BWEE
++1387;N # ETHIOPIC SYLLABLE BWE
++1388;N # ETHIOPIC SYLLABLE SEBATBEIT FWA
++1389;N # ETHIOPIC SYLLABLE FWI
++138A;N # ETHIOPIC SYLLABLE FWEE
++138B;N # ETHIOPIC SYLLABLE FWE
++138C;N # ETHIOPIC SYLLABLE SEBATBEIT PWA
++138D;N # ETHIOPIC SYLLABLE PWI
++138E;N # ETHIOPIC SYLLABLE PWEE
++138F;N # ETHIOPIC SYLLABLE PWE
++1390;N # ETHIOPIC TONAL MARK YIZET
++1391;N # ETHIOPIC TONAL MARK DERET
++1392;N # ETHIOPIC TONAL MARK RIKRIK
++1393;N # ETHIOPIC TONAL MARK SHORT RIKRIK
++1394;N # ETHIOPIC TONAL MARK DIFAT
++1395;N # ETHIOPIC TONAL MARK KENAT
++1396;N # ETHIOPIC TONAL MARK CHIRET
++1397;N # ETHIOPIC TONAL MARK HIDET
++1398;N # ETHIOPIC TONAL MARK DERET-HIDET
++1399;N # ETHIOPIC TONAL MARK KURT
++13A0;N # CHEROKEE LETTER A
++13A1;N # CHEROKEE LETTER E
++13A2;N # CHEROKEE LETTER I
++13A3;N # CHEROKEE LETTER O
++13A4;N # CHEROKEE LETTER U
++13A5;N # CHEROKEE LETTER V
++13A6;N # CHEROKEE LETTER GA
++13A7;N # CHEROKEE LETTER KA
++13A8;N # CHEROKEE LETTER GE
++13A9;N # CHEROKEE LETTER GI
++13AA;N # CHEROKEE LETTER GO
++13AB;N # CHEROKEE LETTER GU
++13AC;N # CHEROKEE LETTER GV
++13AD;N # CHEROKEE LETTER HA
++13AE;N # CHEROKEE LETTER HE
++13AF;N # CHEROKEE LETTER HI
++13B0;N # CHEROKEE LETTER HO
++13B1;N # CHEROKEE LETTER HU
++13B2;N # CHEROKEE LETTER HV
++13B3;N # CHEROKEE LETTER LA
++13B4;N # CHEROKEE LETTER LE
++13B5;N # CHEROKEE LETTER LI
++13B6;N # CHEROKEE LETTER LO
++13B7;N # CHEROKEE LETTER LU
++13B8;N # CHEROKEE LETTER LV
++13B9;N # CHEROKEE LETTER MA
++13BA;N # CHEROKEE LETTER ME
++13BB;N # CHEROKEE LETTER MI
++13BC;N # CHEROKEE LETTER MO
++13BD;N # CHEROKEE LETTER MU
++13BE;N # CHEROKEE LETTER NA
++13BF;N # CHEROKEE LETTER HNA
++13C0;N # CHEROKEE LETTER NAH
++13C1;N # CHEROKEE LETTER NE
++13C2;N # CHEROKEE LETTER NI
++13C3;N # CHEROKEE LETTER NO
++13C4;N # CHEROKEE LETTER NU
++13C5;N # CHEROKEE LETTER NV
++13C6;N # CHEROKEE LETTER QUA
++13C7;N # CHEROKEE LETTER QUE
++13C8;N # CHEROKEE LETTER QUI
++13C9;N # CHEROKEE LETTER QUO
++13CA;N # CHEROKEE LETTER QUU
++13CB;N # CHEROKEE LETTER QUV
++13CC;N # CHEROKEE LETTER SA
++13CD;N # CHEROKEE LETTER S
++13CE;N # CHEROKEE LETTER SE
++13CF;N # CHEROKEE LETTER SI
++13D0;N # CHEROKEE LETTER SO
++13D1;N # CHEROKEE LETTER SU
++13D2;N # CHEROKEE LETTER SV
++13D3;N # CHEROKEE LETTER DA
++13D4;N # CHEROKEE LETTER TA
++13D5;N # CHEROKEE LETTER DE
++13D6;N # CHEROKEE LETTER TE
++13D7;N # CHEROKEE LETTER DI
++13D8;N # CHEROKEE LETTER TI
++13D9;N # CHEROKEE LETTER DO
++13DA;N # CHEROKEE LETTER DU
++13DB;N # CHEROKEE LETTER DV
++13DC;N # CHEROKEE LETTER DLA
++13DD;N # CHEROKEE LETTER TLA
++13DE;N # CHEROKEE LETTER TLE
++13DF;N # CHEROKEE LETTER TLI
++13E0;N # CHEROKEE LETTER TLO
++13E1;N # CHEROKEE LETTER TLU
++13E2;N # CHEROKEE LETTER TLV
++13E3;N # CHEROKEE LETTER TSA
++13E4;N # CHEROKEE LETTER TSE
++13E5;N # CHEROKEE LETTER TSI
++13E6;N # CHEROKEE LETTER TSO
++13E7;N # CHEROKEE LETTER TSU
++13E8;N # CHEROKEE LETTER TSV
++13E9;N # CHEROKEE LETTER WA
++13EA;N # CHEROKEE LETTER WE
++13EB;N # CHEROKEE LETTER WI
++13EC;N # CHEROKEE LETTER WO
++13ED;N # CHEROKEE LETTER WU
++13EE;N # CHEROKEE LETTER WV
++13EF;N # CHEROKEE LETTER YA
++13F0;N # CHEROKEE LETTER YE
++13F1;N # CHEROKEE LETTER YI
++13F2;N # CHEROKEE LETTER YO
++13F3;N # CHEROKEE LETTER YU
++13F4;N # CHEROKEE LETTER YV
++1400;N # CANADIAN SYLLABICS HYPHEN
++1401;N # CANADIAN SYLLABICS E
++1402;N # CANADIAN SYLLABICS AAI
++1403;N # CANADIAN SYLLABICS I
++1404;N # CANADIAN SYLLABICS II
++1405;N # CANADIAN SYLLABICS O
++1406;N # CANADIAN SYLLABICS OO
++1407;N # CANADIAN SYLLABICS Y-CREE OO
++1408;N # CANADIAN SYLLABICS CARRIER EE
++1409;N # CANADIAN SYLLABICS CARRIER I
++140A;N # CANADIAN SYLLABICS A
++140B;N # CANADIAN SYLLABICS AA
++140C;N # CANADIAN SYLLABICS WE
++140D;N # CANADIAN SYLLABICS WEST-CREE WE
++140E;N # CANADIAN SYLLABICS WI
++140F;N # CANADIAN SYLLABICS WEST-CREE WI
++1410;N # CANADIAN SYLLABICS WII
++1411;N # CANADIAN SYLLABICS WEST-CREE WII
++1412;N # CANADIAN SYLLABICS WO
++1413;N # CANADIAN SYLLABICS WEST-CREE WO
++1414;N # CANADIAN SYLLABICS WOO
++1415;N # CANADIAN SYLLABICS WEST-CREE WOO
++1416;N # CANADIAN SYLLABICS NASKAPI WOO
++1417;N # CANADIAN SYLLABICS WA
++1418;N # CANADIAN SYLLABICS WEST-CREE WA
++1419;N # CANADIAN SYLLABICS WAA
++141A;N # CANADIAN SYLLABICS WEST-CREE WAA
++141B;N # CANADIAN SYLLABICS NASKAPI WAA
++141C;N # CANADIAN SYLLABICS AI
++141D;N # CANADIAN SYLLABICS Y-CREE W
++141E;N # CANADIAN SYLLABICS GLOTTAL STOP
++141F;N # CANADIAN SYLLABICS FINAL ACUTE
++1420;N # CANADIAN SYLLABICS FINAL GRAVE
++1421;N # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
++1422;N # CANADIAN SYLLABICS FINAL TOP HALF RING
++1423;N # CANADIAN SYLLABICS FINAL RIGHT HALF RING
++1424;N # CANADIAN SYLLABICS FINAL RING
++1425;N # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
++1426;N # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
++1427;N # CANADIAN SYLLABICS FINAL MIDDLE DOT
++1428;N # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
++1429;N # CANADIAN SYLLABICS FINAL PLUS
++142A;N # CANADIAN SYLLABICS FINAL DOWN TACK
++142B;N # CANADIAN SYLLABICS EN
++142C;N # CANADIAN SYLLABICS IN
++142D;N # CANADIAN SYLLABICS ON
++142E;N # CANADIAN SYLLABICS AN
++142F;N # CANADIAN SYLLABICS PE
++1430;N # CANADIAN SYLLABICS PAAI
++1431;N # CANADIAN SYLLABICS PI
++1432;N # CANADIAN SYLLABICS PII
++1433;N # CANADIAN SYLLABICS PO
++1434;N # CANADIAN SYLLABICS POO
++1435;N # CANADIAN SYLLABICS Y-CREE POO
++1436;N # CANADIAN SYLLABICS CARRIER HEE
++1437;N # CANADIAN SYLLABICS CARRIER HI
++1438;N # CANADIAN SYLLABICS PA
++1439;N # CANADIAN SYLLABICS PAA
++143A;N # CANADIAN SYLLABICS PWE
++143B;N # CANADIAN SYLLABICS WEST-CREE PWE
++143C;N # CANADIAN SYLLABICS PWI
++143D;N # CANADIAN SYLLABICS WEST-CREE PWI
++143E;N # CANADIAN SYLLABICS PWII
++143F;N # CANADIAN SYLLABICS WEST-CREE PWII
++1440;N # CANADIAN SYLLABICS PWO
++1441;N # CANADIAN SYLLABICS WEST-CREE PWO
++1442;N # CANADIAN SYLLABICS PWOO
++1443;N # CANADIAN SYLLABICS WEST-CREE PWOO
++1444;N # CANADIAN SYLLABICS PWA
++1445;N # CANADIAN SYLLABICS WEST-CREE PWA
++1446;N # CANADIAN SYLLABICS PWAA
++1447;N # CANADIAN SYLLABICS WEST-CREE PWAA
++1448;N # CANADIAN SYLLABICS Y-CREE PWAA
++1449;N # CANADIAN SYLLABICS P
++144A;N # CANADIAN SYLLABICS WEST-CREE P
++144B;N # CANADIAN SYLLABICS CARRIER H
++144C;N # CANADIAN SYLLABICS TE
++144D;N # CANADIAN SYLLABICS TAAI
++144E;N # CANADIAN SYLLABICS TI
++144F;N # CANADIAN SYLLABICS TII
++1450;N # CANADIAN SYLLABICS TO
++1451;N # CANADIAN SYLLABICS TOO
++1452;N # CANADIAN SYLLABICS Y-CREE TOO
++1453;N # CANADIAN SYLLABICS CARRIER DEE
++1454;N # CANADIAN SYLLABICS CARRIER DI
++1455;N # CANADIAN SYLLABICS TA
++1456;N # CANADIAN SYLLABICS TAA
++1457;N # CANADIAN SYLLABICS TWE
++1458;N # CANADIAN SYLLABICS WEST-CREE TWE
++1459;N # CANADIAN SYLLABICS TWI
++145A;N # CANADIAN SYLLABICS WEST-CREE TWI
++145B;N # CANADIAN SYLLABICS TWII
++145C;N # CANADIAN SYLLABICS WEST-CREE TWII
++145D;N # CANADIAN SYLLABICS TWO
++145E;N # CANADIAN SYLLABICS WEST-CREE TWO
++145F;N # CANADIAN SYLLABICS TWOO
++1460;N # CANADIAN SYLLABICS WEST-CREE TWOO
++1461;N # CANADIAN SYLLABICS TWA
++1462;N # CANADIAN SYLLABICS WEST-CREE TWA
++1463;N # CANADIAN SYLLABICS TWAA
++1464;N # CANADIAN SYLLABICS WEST-CREE TWAA
++1465;N # CANADIAN SYLLABICS NASKAPI TWAA
++1466;N # CANADIAN SYLLABICS T
++1467;N # CANADIAN SYLLABICS TTE
++1468;N # CANADIAN SYLLABICS TTI
++1469;N # CANADIAN SYLLABICS TTO
++146A;N # CANADIAN SYLLABICS TTA
++146B;N # CANADIAN SYLLABICS KE
++146C;N # CANADIAN SYLLABICS KAAI
++146D;N # CANADIAN SYLLABICS KI
++146E;N # CANADIAN SYLLABICS KII
++146F;N # CANADIAN SYLLABICS KO
++1470;N # CANADIAN SYLLABICS KOO
++1471;N # CANADIAN SYLLABICS Y-CREE KOO
++1472;N # CANADIAN SYLLABICS KA
++1473;N # CANADIAN SYLLABICS KAA
++1474;N # CANADIAN SYLLABICS KWE
++1475;N # CANADIAN SYLLABICS WEST-CREE KWE
++1476;N # CANADIAN SYLLABICS KWI
++1477;N # CANADIAN SYLLABICS WEST-CREE KWI
++1478;N # CANADIAN SYLLABICS KWII
++1479;N # CANADIAN SYLLABICS WEST-CREE KWII
++147A;N # CANADIAN SYLLABICS KWO
++147B;N # CANADIAN SYLLABICS WEST-CREE KWO
++147C;N # CANADIAN SYLLABICS KWOO
++147D;N # CANADIAN SYLLABICS WEST-CREE KWOO
++147E;N # CANADIAN SYLLABICS KWA
++147F;N # CANADIAN SYLLABICS WEST-CREE KWA
++1480;N # CANADIAN SYLLABICS KWAA
++1481;N # CANADIAN SYLLABICS WEST-CREE KWAA
++1482;N # CANADIAN SYLLABICS NASKAPI KWAA
++1483;N # CANADIAN SYLLABICS K
++1484;N # CANADIAN SYLLABICS KW
++1485;N # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
++1486;N # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
++1487;N # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
++1488;N # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
++1489;N # CANADIAN SYLLABICS CE
++148A;N # CANADIAN SYLLABICS CAAI
++148B;N # CANADIAN SYLLABICS CI
++148C;N # CANADIAN SYLLABICS CII
++148D;N # CANADIAN SYLLABICS CO
++148E;N # CANADIAN SYLLABICS COO
++148F;N # CANADIAN SYLLABICS Y-CREE COO
++1490;N # CANADIAN SYLLABICS CA
++1491;N # CANADIAN SYLLABICS CAA
++1492;N # CANADIAN SYLLABICS CWE
++1493;N # CANADIAN SYLLABICS WEST-CREE CWE
++1494;N # CANADIAN SYLLABICS CWI
++1495;N # CANADIAN SYLLABICS WEST-CREE CWI
++1496;N # CANADIAN SYLLABICS CWII
++1497;N # CANADIAN SYLLABICS WEST-CREE CWII
++1498;N # CANADIAN SYLLABICS CWO
++1499;N # CANADIAN SYLLABICS WEST-CREE CWO
++149A;N # CANADIAN SYLLABICS CWOO
++149B;N # CANADIAN SYLLABICS WEST-CREE CWOO
++149C;N # CANADIAN SYLLABICS CWA
++149D;N # CANADIAN SYLLABICS WEST-CREE CWA
++149E;N # CANADIAN SYLLABICS CWAA
++149F;N # CANADIAN SYLLABICS WEST-CREE CWAA
++14A0;N # CANADIAN SYLLABICS NASKAPI CWAA
++14A1;N # CANADIAN SYLLABICS C
++14A2;N # CANADIAN SYLLABICS SAYISI TH
++14A3;N # CANADIAN SYLLABICS ME
++14A4;N # CANADIAN SYLLABICS MAAI
++14A5;N # CANADIAN SYLLABICS MI
++14A6;N # CANADIAN SYLLABICS MII
++14A7;N # CANADIAN SYLLABICS MO
++14A8;N # CANADIAN SYLLABICS MOO
++14A9;N # CANADIAN SYLLABICS Y-CREE MOO
++14AA;N # CANADIAN SYLLABICS MA
++14AB;N # CANADIAN SYLLABICS MAA
++14AC;N # CANADIAN SYLLABICS MWE
++14AD;N # CANADIAN SYLLABICS WEST-CREE MWE
++14AE;N # CANADIAN SYLLABICS MWI
++14AF;N # CANADIAN SYLLABICS WEST-CREE MWI
++14B0;N # CANADIAN SYLLABICS MWII
++14B1;N # CANADIAN SYLLABICS WEST-CREE MWII
++14B2;N # CANADIAN SYLLABICS MWO
++14B3;N # CANADIAN SYLLABICS WEST-CREE MWO
++14B4;N # CANADIAN SYLLABICS MWOO
++14B5;N # CANADIAN SYLLABICS WEST-CREE MWOO
++14B6;N # CANADIAN SYLLABICS MWA
++14B7;N # CANADIAN SYLLABICS WEST-CREE MWA
++14B8;N # CANADIAN SYLLABICS MWAA
++14B9;N # CANADIAN SYLLABICS WEST-CREE MWAA
++14BA;N # CANADIAN SYLLABICS NASKAPI MWAA
++14BB;N # CANADIAN SYLLABICS M
++14BC;N # CANADIAN SYLLABICS WEST-CREE M
++14BD;N # CANADIAN SYLLABICS MH
++14BE;N # CANADIAN SYLLABICS ATHAPASCAN M
++14BF;N # CANADIAN SYLLABICS SAYISI M
++14C0;N # CANADIAN SYLLABICS NE
++14C1;N # CANADIAN SYLLABICS NAAI
++14C2;N # CANADIAN SYLLABICS NI
++14C3;N # CANADIAN SYLLABICS NII
++14C4;N # CANADIAN SYLLABICS NO
++14C5;N # CANADIAN SYLLABICS NOO
++14C6;N # CANADIAN SYLLABICS Y-CREE NOO
++14C7;N # CANADIAN SYLLABICS NA
++14C8;N # CANADIAN SYLLABICS NAA
++14C9;N # CANADIAN SYLLABICS NWE
++14CA;N # CANADIAN SYLLABICS WEST-CREE NWE
++14CB;N # CANADIAN SYLLABICS NWA
++14CC;N # CANADIAN SYLLABICS WEST-CREE NWA
++14CD;N # CANADIAN SYLLABICS NWAA
++14CE;N # CANADIAN SYLLABICS WEST-CREE NWAA
++14CF;N # CANADIAN SYLLABICS NASKAPI NWAA
++14D0;N # CANADIAN SYLLABICS N
++14D1;N # CANADIAN SYLLABICS CARRIER NG
++14D2;N # CANADIAN SYLLABICS NH
++14D3;N # CANADIAN SYLLABICS LE
++14D4;N # CANADIAN SYLLABICS LAAI
++14D5;N # CANADIAN SYLLABICS LI
++14D6;N # CANADIAN SYLLABICS LII
++14D7;N # CANADIAN SYLLABICS LO
++14D8;N # CANADIAN SYLLABICS LOO
++14D9;N # CANADIAN SYLLABICS Y-CREE LOO
++14DA;N # CANADIAN SYLLABICS LA
++14DB;N # CANADIAN SYLLABICS LAA
++14DC;N # CANADIAN SYLLABICS LWE
++14DD;N # CANADIAN SYLLABICS WEST-CREE LWE
++14DE;N # CANADIAN SYLLABICS LWI
++14DF;N # CANADIAN SYLLABICS WEST-CREE LWI
++14E0;N # CANADIAN SYLLABICS LWII
++14E1;N # CANADIAN SYLLABICS WEST-CREE LWII
++14E2;N # CANADIAN SYLLABICS LWO
++14E3;N # CANADIAN SYLLABICS WEST-CREE LWO
++14E4;N # CANADIAN SYLLABICS LWOO
++14E5;N # CANADIAN SYLLABICS WEST-CREE LWOO
++14E6;N # CANADIAN SYLLABICS LWA
++14E7;N # CANADIAN SYLLABICS WEST-CREE LWA
++14E8;N # CANADIAN SYLLABICS LWAA
++14E9;N # CANADIAN SYLLABICS WEST-CREE LWAA
++14EA;N # CANADIAN SYLLABICS L
++14EB;N # CANADIAN SYLLABICS WEST-CREE L
++14EC;N # CANADIAN SYLLABICS MEDIAL L
++14ED;N # CANADIAN SYLLABICS SE
++14EE;N # CANADIAN SYLLABICS SAAI
++14EF;N # CANADIAN SYLLABICS SI
++14F0;N # CANADIAN SYLLABICS SII
++14F1;N # CANADIAN SYLLABICS SO
++14F2;N # CANADIAN SYLLABICS SOO
++14F3;N # CANADIAN SYLLABICS Y-CREE SOO
++14F4;N # CANADIAN SYLLABICS SA
++14F5;N # CANADIAN SYLLABICS SAA
++14F6;N # CANADIAN SYLLABICS SWE
++14F7;N # CANADIAN SYLLABICS WEST-CREE SWE
++14F8;N # CANADIAN SYLLABICS SWI
++14F9;N # CANADIAN SYLLABICS WEST-CREE SWI
++14FA;N # CANADIAN SYLLABICS SWII
++14FB;N # CANADIAN SYLLABICS WEST-CREE SWII
++14FC;N # CANADIAN SYLLABICS SWO
++14FD;N # CANADIAN SYLLABICS WEST-CREE SWO
++14FE;N # CANADIAN SYLLABICS SWOO
++14FF;N # CANADIAN SYLLABICS WEST-CREE SWOO
++1500;N # CANADIAN SYLLABICS SWA
++1501;N # CANADIAN SYLLABICS WEST-CREE SWA
++1502;N # CANADIAN SYLLABICS SWAA
++1503;N # CANADIAN SYLLABICS WEST-CREE SWAA
++1504;N # CANADIAN SYLLABICS NASKAPI SWAA
++1505;N # CANADIAN SYLLABICS S
++1506;N # CANADIAN SYLLABICS ATHAPASCAN S
++1507;N # CANADIAN SYLLABICS SW
++1508;N # CANADIAN SYLLABICS BLACKFOOT S
++1509;N # CANADIAN SYLLABICS MOOSE-CREE SK
++150A;N # CANADIAN SYLLABICS NASKAPI SKW
++150B;N # CANADIAN SYLLABICS NASKAPI S-W
++150C;N # CANADIAN SYLLABICS NASKAPI SPWA
++150D;N # CANADIAN SYLLABICS NASKAPI STWA
++150E;N # CANADIAN SYLLABICS NASKAPI SKWA
++150F;N # CANADIAN SYLLABICS NASKAPI SCWA
++1510;N # CANADIAN SYLLABICS SHE
++1511;N # CANADIAN SYLLABICS SHI
++1512;N # CANADIAN SYLLABICS SHII
++1513;N # CANADIAN SYLLABICS SHO
++1514;N # CANADIAN SYLLABICS SHOO
++1515;N # CANADIAN SYLLABICS SHA
++1516;N # CANADIAN SYLLABICS SHAA
++1517;N # CANADIAN SYLLABICS SHWE
++1518;N # CANADIAN SYLLABICS WEST-CREE SHWE
++1519;N # CANADIAN SYLLABICS SHWI
++151A;N # CANADIAN SYLLABICS WEST-CREE SHWI
++151B;N # CANADIAN SYLLABICS SHWII
++151C;N # CANADIAN SYLLABICS WEST-CREE SHWII
++151D;N # CANADIAN SYLLABICS SHWO
++151E;N # CANADIAN SYLLABICS WEST-CREE SHWO
++151F;N # CANADIAN SYLLABICS SHWOO
++1520;N # CANADIAN SYLLABICS WEST-CREE SHWOO
++1521;N # CANADIAN SYLLABICS SHWA
++1522;N # CANADIAN SYLLABICS WEST-CREE SHWA
++1523;N # CANADIAN SYLLABICS SHWAA
++1524;N # CANADIAN SYLLABICS WEST-CREE SHWAA
++1525;N # CANADIAN SYLLABICS SH
++1526;N # CANADIAN SYLLABICS YE
++1527;N # CANADIAN SYLLABICS YAAI
++1528;N # CANADIAN SYLLABICS YI
++1529;N # CANADIAN SYLLABICS YII
++152A;N # CANADIAN SYLLABICS YO
++152B;N # CANADIAN SYLLABICS YOO
++152C;N # CANADIAN SYLLABICS Y-CREE YOO
++152D;N # CANADIAN SYLLABICS YA
++152E;N # CANADIAN SYLLABICS YAA
++152F;N # CANADIAN SYLLABICS YWE
++1530;N # CANADIAN SYLLABICS WEST-CREE YWE
++1531;N # CANADIAN SYLLABICS YWI
++1532;N # CANADIAN SYLLABICS WEST-CREE YWI
++1533;N # CANADIAN SYLLABICS YWII
++1534;N # CANADIAN SYLLABICS WEST-CREE YWII
++1535;N # CANADIAN SYLLABICS YWO
++1536;N # CANADIAN SYLLABICS WEST-CREE YWO
++1537;N # CANADIAN SYLLABICS YWOO
++1538;N # CANADIAN SYLLABICS WEST-CREE YWOO
++1539;N # CANADIAN SYLLABICS YWA
++153A;N # CANADIAN SYLLABICS WEST-CREE YWA
++153B;N # CANADIAN SYLLABICS YWAA
++153C;N # CANADIAN SYLLABICS WEST-CREE YWAA
++153D;N # CANADIAN SYLLABICS NASKAPI YWAA
++153E;N # CANADIAN SYLLABICS Y
++153F;N # CANADIAN SYLLABICS BIBLE-CREE Y
++1540;N # CANADIAN SYLLABICS WEST-CREE Y
++1541;N # CANADIAN SYLLABICS SAYISI YI
++1542;N # CANADIAN SYLLABICS RE
++1543;N # CANADIAN SYLLABICS R-CREE RE
++1544;N # CANADIAN SYLLABICS WEST-CREE LE
++1545;N # CANADIAN SYLLABICS RAAI
++1546;N # CANADIAN SYLLABICS RI
++1547;N # CANADIAN SYLLABICS RII
++1548;N # CANADIAN SYLLABICS RO
++1549;N # CANADIAN SYLLABICS ROO
++154A;N # CANADIAN SYLLABICS WEST-CREE LO
++154B;N # CANADIAN SYLLABICS RA
++154C;N # CANADIAN SYLLABICS RAA
++154D;N # CANADIAN SYLLABICS WEST-CREE LA
++154E;N # CANADIAN SYLLABICS RWAA
++154F;N # CANADIAN SYLLABICS WEST-CREE RWAA
++1550;N # CANADIAN SYLLABICS R
++1551;N # CANADIAN SYLLABICS WEST-CREE R
++1552;N # CANADIAN SYLLABICS MEDIAL R
++1553;N # CANADIAN SYLLABICS FE
++1554;N # CANADIAN SYLLABICS FAAI
++1555;N # CANADIAN SYLLABICS FI
++1556;N # CANADIAN SYLLABICS FII
++1557;N # CANADIAN SYLLABICS FO
++1558;N # CANADIAN SYLLABICS FOO
++1559;N # CANADIAN SYLLABICS FA
++155A;N # CANADIAN SYLLABICS FAA
++155B;N # CANADIAN SYLLABICS FWAA
++155C;N # CANADIAN SYLLABICS WEST-CREE FWAA
++155D;N # CANADIAN SYLLABICS F
++155E;N # CANADIAN SYLLABICS THE
++155F;N # CANADIAN SYLLABICS N-CREE THE
++1560;N # CANADIAN SYLLABICS THI
++1561;N # CANADIAN SYLLABICS N-CREE THI
++1562;N # CANADIAN SYLLABICS THII
++1563;N # CANADIAN SYLLABICS N-CREE THII
++1564;N # CANADIAN SYLLABICS THO
++1565;N # CANADIAN SYLLABICS THOO
++1566;N # CANADIAN SYLLABICS THA
++1567;N # CANADIAN SYLLABICS THAA
++1568;N # CANADIAN SYLLABICS THWAA
++1569;N # CANADIAN SYLLABICS WEST-CREE THWAA
++156A;N # CANADIAN SYLLABICS TH
++156B;N # CANADIAN SYLLABICS TTHE
++156C;N # CANADIAN SYLLABICS TTHI
++156D;N # CANADIAN SYLLABICS TTHO
++156E;N # CANADIAN SYLLABICS TTHA
++156F;N # CANADIAN SYLLABICS TTH
++1570;N # CANADIAN SYLLABICS TYE
++1571;N # CANADIAN SYLLABICS TYI
++1572;N # CANADIAN SYLLABICS TYO
++1573;N # CANADIAN SYLLABICS TYA
++1574;N # CANADIAN SYLLABICS NUNAVIK HE
++1575;N # CANADIAN SYLLABICS NUNAVIK HI
++1576;N # CANADIAN SYLLABICS NUNAVIK HII
++1577;N # CANADIAN SYLLABICS NUNAVIK HO
++1578;N # CANADIAN SYLLABICS NUNAVIK HOO
++1579;N # CANADIAN SYLLABICS NUNAVIK HA
++157A;N # CANADIAN SYLLABICS NUNAVIK HAA
++157B;N # CANADIAN SYLLABICS NUNAVIK H
++157C;N # CANADIAN SYLLABICS NUNAVUT H
++157D;N # CANADIAN SYLLABICS HK
++157E;N # CANADIAN SYLLABICS QAAI
++157F;N # CANADIAN SYLLABICS QI
++1580;N # CANADIAN SYLLABICS QII
++1581;N # CANADIAN SYLLABICS QO
++1582;N # CANADIAN SYLLABICS QOO
++1583;N # CANADIAN SYLLABICS QA
++1584;N # CANADIAN SYLLABICS QAA
++1585;N # CANADIAN SYLLABICS Q
++1586;N # CANADIAN SYLLABICS TLHE
++1587;N # CANADIAN SYLLABICS TLHI
++1588;N # CANADIAN SYLLABICS TLHO
++1589;N # CANADIAN SYLLABICS TLHA
++158A;N # CANADIAN SYLLABICS WEST-CREE RE
++158B;N # CANADIAN SYLLABICS WEST-CREE RI
++158C;N # CANADIAN SYLLABICS WEST-CREE RO
++158D;N # CANADIAN SYLLABICS WEST-CREE RA
++158E;N # CANADIAN SYLLABICS NGAAI
++158F;N # CANADIAN SYLLABICS NGI
++1590;N # CANADIAN SYLLABICS NGII
++1591;N # CANADIAN SYLLABICS NGO
++1592;N # CANADIAN SYLLABICS NGOO
++1593;N # CANADIAN SYLLABICS NGA
++1594;N # CANADIAN SYLLABICS NGAA
++1595;N # CANADIAN SYLLABICS NG
++1596;N # CANADIAN SYLLABICS NNG
++1597;N # CANADIAN SYLLABICS SAYISI SHE
++1598;N # CANADIAN SYLLABICS SAYISI SHI
++1599;N # CANADIAN SYLLABICS SAYISI SHO
++159A;N # CANADIAN SYLLABICS SAYISI SHA
++159B;N # CANADIAN SYLLABICS WOODS-CREE THE
++159C;N # CANADIAN SYLLABICS WOODS-CREE THI
++159D;N # CANADIAN SYLLABICS WOODS-CREE THO
++159E;N # CANADIAN SYLLABICS WOODS-CREE THA
++159F;N # CANADIAN SYLLABICS WOODS-CREE TH
++15A0;N # CANADIAN SYLLABICS LHI
++15A1;N # CANADIAN SYLLABICS LHII
++15A2;N # CANADIAN SYLLABICS LHO
++15A3;N # CANADIAN SYLLABICS LHOO
++15A4;N # CANADIAN SYLLABICS LHA
++15A5;N # CANADIAN SYLLABICS LHAA
++15A6;N # CANADIAN SYLLABICS LH
++15A7;N # CANADIAN SYLLABICS TH-CREE THE
++15A8;N # CANADIAN SYLLABICS TH-CREE THI
++15A9;N # CANADIAN SYLLABICS TH-CREE THII
++15AA;N # CANADIAN SYLLABICS TH-CREE THO
++15AB;N # CANADIAN SYLLABICS TH-CREE THOO
++15AC;N # CANADIAN SYLLABICS TH-CREE THA
++15AD;N # CANADIAN SYLLABICS TH-CREE THAA
++15AE;N # CANADIAN SYLLABICS TH-CREE TH
++15AF;N # CANADIAN SYLLABICS AIVILIK B
++15B0;N # CANADIAN SYLLABICS BLACKFOOT E
++15B1;N # CANADIAN SYLLABICS BLACKFOOT I
++15B2;N # CANADIAN SYLLABICS BLACKFOOT O
++15B3;N # CANADIAN SYLLABICS BLACKFOOT A
++15B4;N # CANADIAN SYLLABICS BLACKFOOT WE
++15B5;N # CANADIAN SYLLABICS BLACKFOOT WI
++15B6;N # CANADIAN SYLLABICS BLACKFOOT WO
++15B7;N # CANADIAN SYLLABICS BLACKFOOT WA
++15B8;N # CANADIAN SYLLABICS BLACKFOOT NE
++15B9;N # CANADIAN SYLLABICS BLACKFOOT NI
++15BA;N # CANADIAN SYLLABICS BLACKFOOT NO
++15BB;N # CANADIAN SYLLABICS BLACKFOOT NA
++15BC;N # CANADIAN SYLLABICS BLACKFOOT KE
++15BD;N # CANADIAN SYLLABICS BLACKFOOT KI
++15BE;N # CANADIAN SYLLABICS BLACKFOOT KO
++15BF;N # CANADIAN SYLLABICS BLACKFOOT KA
++15C0;N # CANADIAN SYLLABICS SAYISI HE
++15C1;N # CANADIAN SYLLABICS SAYISI HI
++15C2;N # CANADIAN SYLLABICS SAYISI HO
++15C3;N # CANADIAN SYLLABICS SAYISI HA
++15C4;N # CANADIAN SYLLABICS CARRIER GHU
++15C5;N # CANADIAN SYLLABICS CARRIER GHO
++15C6;N # CANADIAN SYLLABICS CARRIER GHE
++15C7;N # CANADIAN SYLLABICS CARRIER GHEE
++15C8;N # CANADIAN SYLLABICS CARRIER GHI
++15C9;N # CANADIAN SYLLABICS CARRIER GHA
++15CA;N # CANADIAN SYLLABICS CARRIER RU
++15CB;N # CANADIAN SYLLABICS CARRIER RO
++15CC;N # CANADIAN SYLLABICS CARRIER RE
++15CD;N # CANADIAN SYLLABICS CARRIER REE
++15CE;N # CANADIAN SYLLABICS CARRIER RI
++15CF;N # CANADIAN SYLLABICS CARRIER RA
++15D0;N # CANADIAN SYLLABICS CARRIER WU
++15D1;N # CANADIAN SYLLABICS CARRIER WO
++15D2;N # CANADIAN SYLLABICS CARRIER WE
++15D3;N # CANADIAN SYLLABICS CARRIER WEE
++15D4;N # CANADIAN SYLLABICS CARRIER WI
++15D5;N # CANADIAN SYLLABICS CARRIER WA
++15D6;N # CANADIAN SYLLABICS CARRIER HWU
++15D7;N # CANADIAN SYLLABICS CARRIER HWO
++15D8;N # CANADIAN SYLLABICS CARRIER HWE
++15D9;N # CANADIAN SYLLABICS CARRIER HWEE
++15DA;N # CANADIAN SYLLABICS CARRIER HWI
++15DB;N # CANADIAN SYLLABICS CARRIER HWA
++15DC;N # CANADIAN SYLLABICS CARRIER THU
++15DD;N # CANADIAN SYLLABICS CARRIER THO
++15DE;N # CANADIAN SYLLABICS CARRIER THE
++15DF;N # CANADIAN SYLLABICS CARRIER THEE
++15E0;N # CANADIAN SYLLABICS CARRIER THI
++15E1;N # CANADIAN SYLLABICS CARRIER THA
++15E2;N # CANADIAN SYLLABICS CARRIER TTU
++15E3;N # CANADIAN SYLLABICS CARRIER TTO
++15E4;N # CANADIAN SYLLABICS CARRIER TTE
++15E5;N # CANADIAN SYLLABICS CARRIER TTEE
++15E6;N # CANADIAN SYLLABICS CARRIER TTI
++15E7;N # CANADIAN SYLLABICS CARRIER TTA
++15E8;N # CANADIAN SYLLABICS CARRIER PU
++15E9;N # CANADIAN SYLLABICS CARRIER PO
++15EA;N # CANADIAN SYLLABICS CARRIER PE
++15EB;N # CANADIAN SYLLABICS CARRIER PEE
++15EC;N # CANADIAN SYLLABICS CARRIER PI
++15ED;N # CANADIAN SYLLABICS CARRIER PA
++15EE;N # CANADIAN SYLLABICS CARRIER P
++15EF;N # CANADIAN SYLLABICS CARRIER GU
++15F0;N # CANADIAN SYLLABICS CARRIER GO
++15F1;N # CANADIAN SYLLABICS CARRIER GE
++15F2;N # CANADIAN SYLLABICS CARRIER GEE
++15F3;N # CANADIAN SYLLABICS CARRIER GI
++15F4;N # CANADIAN SYLLABICS CARRIER GA
++15F5;N # CANADIAN SYLLABICS CARRIER KHU
++15F6;N # CANADIAN SYLLABICS CARRIER KHO
++15F7;N # CANADIAN SYLLABICS CARRIER KHE
++15F8;N # CANADIAN SYLLABICS CARRIER KHEE
++15F9;N # CANADIAN SYLLABICS CARRIER KHI
++15FA;N # CANADIAN SYLLABICS CARRIER KHA
++15FB;N # CANADIAN SYLLABICS CARRIER KKU
++15FC;N # CANADIAN SYLLABICS CARRIER KKO
++15FD;N # CANADIAN SYLLABICS CARRIER KKE
++15FE;N # CANADIAN SYLLABICS CARRIER KKEE
++15FF;N # CANADIAN SYLLABICS CARRIER KKI
++1600;N # CANADIAN SYLLABICS CARRIER KKA
++1601;N # CANADIAN SYLLABICS CARRIER KK
++1602;N # CANADIAN SYLLABICS CARRIER NU
++1603;N # CANADIAN SYLLABICS CARRIER NO
++1604;N # CANADIAN SYLLABICS CARRIER NE
++1605;N # CANADIAN SYLLABICS CARRIER NEE
++1606;N # CANADIAN SYLLABICS CARRIER NI
++1607;N # CANADIAN SYLLABICS CARRIER NA
++1608;N # CANADIAN SYLLABICS CARRIER MU
++1609;N # CANADIAN SYLLABICS CARRIER MO
++160A;N # CANADIAN SYLLABICS CARRIER ME
++160B;N # CANADIAN SYLLABICS CARRIER MEE
++160C;N # CANADIAN SYLLABICS CARRIER MI
++160D;N # CANADIAN SYLLABICS CARRIER MA
++160E;N # CANADIAN SYLLABICS CARRIER YU
++160F;N # CANADIAN SYLLABICS CARRIER YO
++1610;N # CANADIAN SYLLABICS CARRIER YE
++1611;N # CANADIAN SYLLABICS CARRIER YEE
++1612;N # CANADIAN SYLLABICS CARRIER YI
++1613;N # CANADIAN SYLLABICS CARRIER YA
++1614;N # CANADIAN SYLLABICS CARRIER JU
++1615;N # CANADIAN SYLLABICS SAYISI JU
++1616;N # CANADIAN SYLLABICS CARRIER JO
++1617;N # CANADIAN SYLLABICS CARRIER JE
++1618;N # CANADIAN SYLLABICS CARRIER JEE
++1619;N # CANADIAN SYLLABICS CARRIER JI
++161A;N # CANADIAN SYLLABICS SAYISI JI
++161B;N # CANADIAN SYLLABICS CARRIER JA
++161C;N # CANADIAN SYLLABICS CARRIER JJU
++161D;N # CANADIAN SYLLABICS CARRIER JJO
++161E;N # CANADIAN SYLLABICS CARRIER JJE
++161F;N # CANADIAN SYLLABICS CARRIER JJEE
++1620;N # CANADIAN SYLLABICS CARRIER JJI
++1621;N # CANADIAN SYLLABICS CARRIER JJA
++1622;N # CANADIAN SYLLABICS CARRIER LU
++1623;N # CANADIAN SYLLABICS CARRIER LO
++1624;N # CANADIAN SYLLABICS CARRIER LE
++1625;N # CANADIAN SYLLABICS CARRIER LEE
++1626;N # CANADIAN SYLLABICS CARRIER LI
++1627;N # CANADIAN SYLLABICS CARRIER LA
++1628;N # CANADIAN SYLLABICS CARRIER DLU
++1629;N # CANADIAN SYLLABICS CARRIER DLO
++162A;N # CANADIAN SYLLABICS CARRIER DLE
++162B;N # CANADIAN SYLLABICS CARRIER DLEE
++162C;N # CANADIAN SYLLABICS CARRIER DLI
++162D;N # CANADIAN SYLLABICS CARRIER DLA
++162E;N # CANADIAN SYLLABICS CARRIER LHU
++162F;N # CANADIAN SYLLABICS CARRIER LHO
++1630;N # CANADIAN SYLLABICS CARRIER LHE
++1631;N # CANADIAN SYLLABICS CARRIER LHEE
++1632;N # CANADIAN SYLLABICS CARRIER LHI
++1633;N # CANADIAN SYLLABICS CARRIER LHA
++1634;N # CANADIAN SYLLABICS CARRIER TLHU
++1635;N # CANADIAN SYLLABICS CARRIER TLHO
++1636;N # CANADIAN SYLLABICS CARRIER TLHE
++1637;N # CANADIAN SYLLABICS CARRIER TLHEE
++1638;N # CANADIAN SYLLABICS CARRIER TLHI
++1639;N # CANADIAN SYLLABICS CARRIER TLHA
++163A;N # CANADIAN SYLLABICS CARRIER TLU
++163B;N # CANADIAN SYLLABICS CARRIER TLO
++163C;N # CANADIAN SYLLABICS CARRIER TLE
++163D;N # CANADIAN SYLLABICS CARRIER TLEE
++163E;N # CANADIAN SYLLABICS CARRIER TLI
++163F;N # CANADIAN SYLLABICS CARRIER TLA
++1640;N # CANADIAN SYLLABICS CARRIER ZU
++1641;N # CANADIAN SYLLABICS CARRIER ZO
++1642;N # CANADIAN SYLLABICS CARRIER ZE
++1643;N # CANADIAN SYLLABICS CARRIER ZEE
++1644;N # CANADIAN SYLLABICS CARRIER ZI
++1645;N # CANADIAN SYLLABICS CARRIER ZA
++1646;N # CANADIAN SYLLABICS CARRIER Z
++1647;N # CANADIAN SYLLABICS CARRIER INITIAL Z
++1648;N # CANADIAN SYLLABICS CARRIER DZU
++1649;N # CANADIAN SYLLABICS CARRIER DZO
++164A;N # CANADIAN SYLLABICS CARRIER DZE
++164B;N # CANADIAN SYLLABICS CARRIER DZEE
++164C;N # CANADIAN SYLLABICS CARRIER DZI
++164D;N # CANADIAN SYLLABICS CARRIER DZA
++164E;N # CANADIAN SYLLABICS CARRIER SU
++164F;N # CANADIAN SYLLABICS CARRIER SO
++1650;N # CANADIAN SYLLABICS CARRIER SE
++1651;N # CANADIAN SYLLABICS CARRIER SEE
++1652;N # CANADIAN SYLLABICS CARRIER SI
++1653;N # CANADIAN SYLLABICS CARRIER SA
++1654;N # CANADIAN SYLLABICS CARRIER SHU
++1655;N # CANADIAN SYLLABICS CARRIER SHO
++1656;N # CANADIAN SYLLABICS CARRIER SHE
++1657;N # CANADIAN SYLLABICS CARRIER SHEE
++1658;N # CANADIAN SYLLABICS CARRIER SHI
++1659;N # CANADIAN SYLLABICS CARRIER SHA
++165A;N # CANADIAN SYLLABICS CARRIER SH
++165B;N # CANADIAN SYLLABICS CARRIER TSU
++165C;N # CANADIAN SYLLABICS CARRIER TSO
++165D;N # CANADIAN SYLLABICS CARRIER TSE
++165E;N # CANADIAN SYLLABICS CARRIER TSEE
++165F;N # CANADIAN SYLLABICS CARRIER TSI
++1660;N # CANADIAN SYLLABICS CARRIER TSA
++1661;N # CANADIAN SYLLABICS CARRIER CHU
++1662;N # CANADIAN SYLLABICS CARRIER CHO
++1663;N # CANADIAN SYLLABICS CARRIER CHE
++1664;N # CANADIAN SYLLABICS CARRIER CHEE
++1665;N # CANADIAN SYLLABICS CARRIER CHI
++1666;N # CANADIAN SYLLABICS CARRIER CHA
++1667;N # CANADIAN SYLLABICS CARRIER TTSU
++1668;N # CANADIAN SYLLABICS CARRIER TTSO
++1669;N # CANADIAN SYLLABICS CARRIER TTSE
++166A;N # CANADIAN SYLLABICS CARRIER TTSEE
++166B;N # CANADIAN SYLLABICS CARRIER TTSI
++166C;N # CANADIAN SYLLABICS CARRIER TTSA
++166D;N # CANADIAN SYLLABICS CHI SIGN
++166E;N # CANADIAN SYLLABICS FULL STOP
++166F;N # CANADIAN SYLLABICS QAI
++1670;N # CANADIAN SYLLABICS NGAI
++1671;N # CANADIAN SYLLABICS NNGI
++1672;N # CANADIAN SYLLABICS NNGII
++1673;N # CANADIAN SYLLABICS NNGO
++1674;N # CANADIAN SYLLABICS NNGOO
++1675;N # CANADIAN SYLLABICS NNGA
++1676;N # CANADIAN SYLLABICS NNGAA
++1677;N # CANADIAN SYLLABICS WOODS-CREE THWEE
++1678;N # CANADIAN SYLLABICS WOODS-CREE THWI
++1679;N # CANADIAN SYLLABICS WOODS-CREE THWII
++167A;N # CANADIAN SYLLABICS WOODS-CREE THWO
++167B;N # CANADIAN SYLLABICS WOODS-CREE THWOO
++167C;N # CANADIAN SYLLABICS WOODS-CREE THWA
++167D;N # CANADIAN SYLLABICS WOODS-CREE THWAA
++167E;N # CANADIAN SYLLABICS WOODS-CREE FINAL TH
++167F;N # CANADIAN SYLLABICS BLACKFOOT W
++1680;N # OGHAM SPACE MARK
++1681;N # OGHAM LETTER BEITH
++1682;N # OGHAM LETTER LUIS
++1683;N # OGHAM LETTER FEARN
++1684;N # OGHAM LETTER SAIL
++1685;N # OGHAM LETTER NION
++1686;N # OGHAM LETTER UATH
++1687;N # OGHAM LETTER DAIR
++1688;N # OGHAM LETTER TINNE
++1689;N # OGHAM LETTER COLL
++168A;N # OGHAM LETTER CEIRT
++168B;N # OGHAM LETTER MUIN
++168C;N # OGHAM LETTER GORT
++168D;N # OGHAM LETTER NGEADAL
++168E;N # OGHAM LETTER STRAIF
++168F;N # OGHAM LETTER RUIS
++1690;N # OGHAM LETTER AILM
++1691;N # OGHAM LETTER ONN
++1692;N # OGHAM LETTER UR
++1693;N # OGHAM LETTER EADHADH
++1694;N # OGHAM LETTER IODHADH
++1695;N # OGHAM LETTER EABHADH
++1696;N # OGHAM LETTER OR
++1697;N # OGHAM LETTER UILLEANN
++1698;N # OGHAM LETTER IFIN
++1699;N # OGHAM LETTER EAMHANCHOLL
++169A;N # OGHAM LETTER PEITH
++169B;N # OGHAM FEATHER MARK
++169C;N # OGHAM REVERSED FEATHER MARK
++16A0;N # RUNIC LETTER FEHU FEOH FE F
++16A1;N # RUNIC LETTER V
++16A2;N # RUNIC LETTER URUZ UR U
++16A3;N # RUNIC LETTER YR
++16A4;N # RUNIC LETTER Y
++16A5;N # RUNIC LETTER W
++16A6;N # RUNIC LETTER THURISAZ THURS THORN
++16A7;N # RUNIC LETTER ETH
++16A8;N # RUNIC LETTER ANSUZ A
++16A9;N # RUNIC LETTER OS O
++16AA;N # RUNIC LETTER AC A
++16AB;N # RUNIC LETTER AESC
++16AC;N # RUNIC LETTER LONG-BRANCH-OSS O
++16AD;N # RUNIC LETTER SHORT-TWIG-OSS O
++16AE;N # RUNIC LETTER O
++16AF;N # RUNIC LETTER OE
++16B0;N # RUNIC LETTER ON
++16B1;N # RUNIC LETTER RAIDO RAD REID R
++16B2;N # RUNIC LETTER KAUNA
++16B3;N # RUNIC LETTER CEN
++16B4;N # RUNIC LETTER KAUN K
++16B5;N # RUNIC LETTER G
++16B6;N # RUNIC LETTER ENG
++16B7;N # RUNIC LETTER GEBO GYFU G
++16B8;N # RUNIC LETTER GAR
++16B9;N # RUNIC LETTER WUNJO WYNN W
++16BA;N # RUNIC LETTER HAGLAZ H
++16BB;N # RUNIC LETTER HAEGL H
++16BC;N # RUNIC LETTER LONG-BRANCH-HAGALL H
++16BD;N # RUNIC LETTER SHORT-TWIG-HAGALL H
++16BE;N # RUNIC LETTER NAUDIZ NYD NAUD N
++16BF;N # RUNIC LETTER SHORT-TWIG-NAUD N
++16C0;N # RUNIC LETTER DOTTED-N
++16C1;N # RUNIC LETTER ISAZ IS ISS I
++16C2;N # RUNIC LETTER E
++16C3;N # RUNIC LETTER JERAN J
++16C4;N # RUNIC LETTER GER
++16C5;N # RUNIC LETTER LONG-BRANCH-AR AE
++16C6;N # RUNIC LETTER SHORT-TWIG-AR A
++16C7;N # RUNIC LETTER IWAZ EOH
++16C8;N # RUNIC LETTER PERTHO PEORTH P
++16C9;N # RUNIC LETTER ALGIZ EOLHX
++16CA;N # RUNIC LETTER SOWILO S
++16CB;N # RUNIC LETTER SIGEL LONG-BRANCH-SOL S
++16CC;N # RUNIC LETTER SHORT-TWIG-SOL S
++16CD;N # RUNIC LETTER C
++16CE;N # RUNIC LETTER Z
++16CF;N # RUNIC LETTER TIWAZ TIR TYR T
++16D0;N # RUNIC LETTER SHORT-TWIG-TYR T
++16D1;N # RUNIC LETTER D
++16D2;N # RUNIC LETTER BERKANAN BEORC BJARKAN B
++16D3;N # RUNIC LETTER SHORT-TWIG-BJARKAN B
++16D4;N # RUNIC LETTER DOTTED-P
++16D5;N # RUNIC LETTER OPEN-P
++16D6;N # RUNIC LETTER EHWAZ EH E
++16D7;N # RUNIC LETTER MANNAZ MAN M
++16D8;N # RUNIC LETTER LONG-BRANCH-MADR M
++16D9;N # RUNIC LETTER SHORT-TWIG-MADR M
++16DA;N # RUNIC LETTER LAUKAZ LAGU LOGR L
++16DB;N # RUNIC LETTER DOTTED-L
++16DC;N # RUNIC LETTER INGWAZ
++16DD;N # RUNIC LETTER ING
++16DE;N # RUNIC LETTER DAGAZ DAEG D
++16DF;N # RUNIC LETTER OTHALAN ETHEL O
++16E0;N # RUNIC LETTER EAR
++16E1;N # RUNIC LETTER IOR
++16E2;N # RUNIC LETTER CWEORTH
++16E3;N # RUNIC LETTER CALC
++16E4;N # RUNIC LETTER CEALC
++16E5;N # RUNIC LETTER STAN
++16E6;N # RUNIC LETTER LONG-BRANCH-YR
++16E7;N # RUNIC LETTER SHORT-TWIG-YR
++16E8;N # RUNIC LETTER ICELANDIC-YR
++16E9;N # RUNIC LETTER Q
++16EA;N # RUNIC LETTER X
++16EB;N # RUNIC SINGLE PUNCTUATION
++16EC;N # RUNIC MULTIPLE PUNCTUATION
++16ED;N # RUNIC CROSS PUNCTUATION
++16EE;N # RUNIC ARLAUG SYMBOL
++16EF;N # RUNIC TVIMADUR SYMBOL
++16F0;N # RUNIC BELGTHOR SYMBOL
++1700;N # TAGALOG LETTER A
++1701;N # TAGALOG LETTER I
++1702;N # TAGALOG LETTER U
++1703;N # TAGALOG LETTER KA
++1704;N # TAGALOG LETTER GA
++1705;N # TAGALOG LETTER NGA
++1706;N # TAGALOG LETTER TA
++1707;N # TAGALOG LETTER DA
++1708;N # TAGALOG LETTER NA
++1709;N # TAGALOG LETTER PA
++170A;N # TAGALOG LETTER BA
++170B;N # TAGALOG LETTER MA
++170C;N # TAGALOG LETTER YA
++170E;N # TAGALOG LETTER LA
++170F;N # TAGALOG LETTER WA
++1710;N # TAGALOG LETTER SA
++1711;N # TAGALOG LETTER HA
++1712;N # TAGALOG VOWEL SIGN I
++1713;N # TAGALOG VOWEL SIGN U
++1714;N # TAGALOG SIGN VIRAMA
++1720;N # HANUNOO LETTER A
++1721;N # HANUNOO LETTER I
++1722;N # HANUNOO LETTER U
++1723;N # HANUNOO LETTER KA
++1724;N # HANUNOO LETTER GA
++1725;N # HANUNOO LETTER NGA
++1726;N # HANUNOO LETTER TA
++1727;N # HANUNOO LETTER DA
++1728;N # HANUNOO LETTER NA
++1729;N # HANUNOO LETTER PA
++172A;N # HANUNOO LETTER BA
++172B;N # HANUNOO LETTER MA
++172C;N # HANUNOO LETTER YA
++172D;N # HANUNOO LETTER RA
++172E;N # HANUNOO LETTER LA
++172F;N # HANUNOO LETTER WA
++1730;N # HANUNOO LETTER SA
++1731;N # HANUNOO LETTER HA
++1732;N # HANUNOO VOWEL SIGN I
++1733;N # HANUNOO VOWEL SIGN U
++1734;N # HANUNOO SIGN PAMUDPOD
++1735;N # PHILIPPINE SINGLE PUNCTUATION
++1736;N # PHILIPPINE DOUBLE PUNCTUATION
++1740;N # BUHID LETTER A
++1741;N # BUHID LETTER I
++1742;N # BUHID LETTER U
++1743;N # BUHID LETTER KA
++1744;N # BUHID LETTER GA
++1745;N # BUHID LETTER NGA
++1746;N # BUHID LETTER TA
++1747;N # BUHID LETTER DA
++1748;N # BUHID LETTER NA
++1749;N # BUHID LETTER PA
++174A;N # BUHID LETTER BA
++174B;N # BUHID LETTER MA
++174C;N # BUHID LETTER YA
++174D;N # BUHID LETTER RA
++174E;N # BUHID LETTER LA
++174F;N # BUHID LETTER WA
++1750;N # BUHID LETTER SA
++1751;N # BUHID LETTER HA
++1752;N # BUHID VOWEL SIGN I
++1753;N # BUHID VOWEL SIGN U
++1760;N # TAGBANWA LETTER A
++1761;N # TAGBANWA LETTER I
++1762;N # TAGBANWA LETTER U
++1763;N # TAGBANWA LETTER KA
++1764;N # TAGBANWA LETTER GA
++1765;N # TAGBANWA LETTER NGA
++1766;N # TAGBANWA LETTER TA
++1767;N # TAGBANWA LETTER DA
++1768;N # TAGBANWA LETTER NA
++1769;N # TAGBANWA LETTER PA
++176A;N # TAGBANWA LETTER BA
++176B;N # TAGBANWA LETTER MA
++176C;N # TAGBANWA LETTER YA
++176E;N # TAGBANWA LETTER LA
++176F;N # TAGBANWA LETTER WA
++1770;N # TAGBANWA LETTER SA
++1772;N # TAGBANWA VOWEL SIGN I
++1773;N # TAGBANWA VOWEL SIGN U
++1780;N # KHMER LETTER KA
++1781;N # KHMER LETTER KHA
++1782;N # KHMER LETTER KO
++1783;N # KHMER LETTER KHO
++1784;N # KHMER LETTER NGO
++1785;N # KHMER LETTER CA
++1786;N # KHMER LETTER CHA
++1787;N # KHMER LETTER CO
++1788;N # KHMER LETTER CHO
++1789;N # KHMER LETTER NYO
++178A;N # KHMER LETTER DA
++178B;N # KHMER LETTER TTHA
++178C;N # KHMER LETTER DO
++178D;N # KHMER LETTER TTHO
++178E;N # KHMER LETTER NNO
++178F;N # KHMER LETTER TA
++1790;N # KHMER LETTER THA
++1791;N # KHMER LETTER TO
++1792;N # KHMER LETTER THO
++1793;N # KHMER LETTER NO
++1794;N # KHMER LETTER BA
++1795;N # KHMER LETTER PHA
++1796;N # KHMER LETTER PO
++1797;N # KHMER LETTER PHO
++1798;N # KHMER LETTER MO
++1799;N # KHMER LETTER YO
++179A;N # KHMER LETTER RO
++179B;N # KHMER LETTER LO
++179C;N # KHMER LETTER VO
++179D;N # KHMER LETTER SHA
++179E;N # KHMER LETTER SSO
++179F;N # KHMER LETTER SA
++17A0;N # KHMER LETTER HA
++17A1;N # KHMER LETTER LA
++17A2;N # KHMER LETTER QA
++17A3;N # KHMER INDEPENDENT VOWEL QAQ
++17A4;N # KHMER INDEPENDENT VOWEL QAA
++17A5;N # KHMER INDEPENDENT VOWEL QI
++17A6;N # KHMER INDEPENDENT VOWEL QII
++17A7;N # KHMER INDEPENDENT VOWEL QU
++17A8;N # KHMER INDEPENDENT VOWEL QUK
++17A9;N # KHMER INDEPENDENT VOWEL QUU
++17AA;N # KHMER INDEPENDENT VOWEL QUUV
++17AB;N # KHMER INDEPENDENT VOWEL RY
++17AC;N # KHMER INDEPENDENT VOWEL RYY
++17AD;N # KHMER INDEPENDENT VOWEL LY
++17AE;N # KHMER INDEPENDENT VOWEL LYY
++17AF;N # KHMER INDEPENDENT VOWEL QE
++17B0;N # KHMER INDEPENDENT VOWEL QAI
++17B1;N # KHMER INDEPENDENT VOWEL QOO TYPE ONE
++17B2;N # KHMER INDEPENDENT VOWEL QOO TYPE TWO
++17B3;N # KHMER INDEPENDENT VOWEL QAU
++17B4;N # KHMER VOWEL INHERENT AQ
++17B5;N # KHMER VOWEL INHERENT AA
++17B6;N # KHMER VOWEL SIGN AA
++17B7;N # KHMER VOWEL SIGN I
++17B8;N # KHMER VOWEL SIGN II
++17B9;N # KHMER VOWEL SIGN Y
++17BA;N # KHMER VOWEL SIGN YY
++17BB;N # KHMER VOWEL SIGN U
++17BC;N # KHMER VOWEL SIGN UU
++17BD;N # KHMER VOWEL SIGN UA
++17BE;N # KHMER VOWEL SIGN OE
++17BF;N # KHMER VOWEL SIGN YA
++17C0;N # KHMER VOWEL SIGN IE
++17C1;N # KHMER VOWEL SIGN E
++17C2;N # KHMER VOWEL SIGN AE
++17C3;N # KHMER VOWEL SIGN AI
++17C4;N # KHMER VOWEL SIGN OO
++17C5;N # KHMER VOWEL SIGN AU
++17C6;N # KHMER SIGN NIKAHIT
++17C7;N # KHMER SIGN REAHMUK
++17C8;N # KHMER SIGN YUUKALEAPINTU
++17C9;N # KHMER SIGN MUUSIKATOAN
++17CA;N # KHMER SIGN TRIISAP
++17CB;N # KHMER SIGN BANTOC
++17CC;N # KHMER SIGN ROBAT
++17CD;N # KHMER SIGN TOANDAKHIAT
++17CE;N # KHMER SIGN KAKABAT
++17CF;N # KHMER SIGN AHSDA
++17D0;N # KHMER SIGN SAMYOK SANNYA
++17D1;N # KHMER SIGN VIRIAM
++17D2;N # KHMER SIGN COENG
++17D3;N # KHMER SIGN BATHAMASAT
++17D4;N # KHMER SIGN KHAN
++17D5;N # KHMER SIGN BARIYOOSAN
++17D6;N # KHMER SIGN CAMNUC PII KUUH
++17D7;N # KHMER SIGN LEK TOO
++17D8;N # KHMER SIGN BEYYAL
++17D9;N # KHMER SIGN PHNAEK MUAN
++17DA;N # KHMER SIGN KOOMUUT
++17DB;N # KHMER CURRENCY SYMBOL RIEL
++17DC;N # KHMER SIGN AVAKRAHASANYA
++17DD;N # KHMER SIGN ATTHACAN
++17E0;N # KHMER DIGIT ZERO
++17E1;N # KHMER DIGIT ONE
++17E2;N # KHMER DIGIT TWO
++17E3;N # KHMER DIGIT THREE
++17E4;N # KHMER DIGIT FOUR
++17E5;N # KHMER DIGIT FIVE
++17E6;N # KHMER DIGIT SIX
++17E7;N # KHMER DIGIT SEVEN
++17E8;N # KHMER DIGIT EIGHT
++17E9;N # KHMER DIGIT NINE
++17F0;N # KHMER SYMBOL LEK ATTAK SON
++17F1;N # KHMER SYMBOL LEK ATTAK MUOY
++17F2;N # KHMER SYMBOL LEK ATTAK PII
++17F3;N # KHMER SYMBOL LEK ATTAK BEI
++17F4;N # KHMER SYMBOL LEK ATTAK BUON
++17F5;N # KHMER SYMBOL LEK ATTAK PRAM
++17F6;N # KHMER SYMBOL LEK ATTAK PRAM-MUOY
++17F7;N # KHMER SYMBOL LEK ATTAK PRAM-PII
++17F8;N # KHMER SYMBOL LEK ATTAK PRAM-BEI
++17F9;N # KHMER SYMBOL LEK ATTAK PRAM-BUON
++1800;N # MONGOLIAN BIRGA
++1801;N # MONGOLIAN ELLIPSIS
++1802;N # MONGOLIAN COMMA
++1803;N # MONGOLIAN FULL STOP
++1804;N # MONGOLIAN COLON
++1805;N # MONGOLIAN FOUR DOTS
++1806;N # MONGOLIAN TODO SOFT HYPHEN
++1807;N # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
++1808;N # MONGOLIAN MANCHU COMMA
++1809;N # MONGOLIAN MANCHU FULL STOP
++180A;N # MONGOLIAN NIRUGU
++180B;N # MONGOLIAN FREE VARIATION SELECTOR ONE
++180C;N # MONGOLIAN FREE VARIATION SELECTOR TWO
++180D;N # MONGOLIAN FREE VARIATION SELECTOR THREE
++180E;N # MONGOLIAN VOWEL SEPARATOR
++1810;N # MONGOLIAN DIGIT ZERO
++1811;N # MONGOLIAN DIGIT ONE
++1812;N # MONGOLIAN DIGIT TWO
++1813;N # MONGOLIAN DIGIT THREE
++1814;N # MONGOLIAN DIGIT FOUR
++1815;N # MONGOLIAN DIGIT FIVE
++1816;N # MONGOLIAN DIGIT SIX
++1817;N # MONGOLIAN DIGIT SEVEN
++1818;N # MONGOLIAN DIGIT EIGHT
++1819;N # MONGOLIAN DIGIT NINE
++1820;N # MONGOLIAN LETTER A
++1821;N # MONGOLIAN LETTER E
++1822;N # MONGOLIAN LETTER I
++1823;N # MONGOLIAN LETTER O
++1824;N # MONGOLIAN LETTER U
++1825;N # MONGOLIAN LETTER OE
++1826;N # MONGOLIAN LETTER UE
++1827;N # MONGOLIAN LETTER EE
++1828;N # MONGOLIAN LETTER NA
++1829;N # MONGOLIAN LETTER ANG
++182A;N # MONGOLIAN LETTER BA
++182B;N # MONGOLIAN LETTER PA
++182C;N # MONGOLIAN LETTER QA
++182D;N # MONGOLIAN LETTER GA
++182E;N # MONGOLIAN LETTER MA
++182F;N # MONGOLIAN LETTER LA
++1830;N # MONGOLIAN LETTER SA
++1831;N # MONGOLIAN LETTER SHA
++1832;N # MONGOLIAN LETTER TA
++1833;N # MONGOLIAN LETTER DA
++1834;N # MONGOLIAN LETTER CHA
++1835;N # MONGOLIAN LETTER JA
++1836;N # MONGOLIAN LETTER YA
++1837;N # MONGOLIAN LETTER RA
++1838;N # MONGOLIAN LETTER WA
++1839;N # MONGOLIAN LETTER FA
++183A;N # MONGOLIAN LETTER KA
++183B;N # MONGOLIAN LETTER KHA
++183C;N # MONGOLIAN LETTER TSA
++183D;N # MONGOLIAN LETTER ZA
++183E;N # MONGOLIAN LETTER HAA
++183F;N # MONGOLIAN LETTER ZRA
++1840;N # MONGOLIAN LETTER LHA
++1841;N # MONGOLIAN LETTER ZHI
++1842;N # MONGOLIAN LETTER CHI
++1843;N # MONGOLIAN LETTER TODO LONG VOWEL SIGN
++1844;N # MONGOLIAN LETTER TODO E
++1845;N # MONGOLIAN LETTER TODO I
++1846;N # MONGOLIAN LETTER TODO O
++1847;N # MONGOLIAN LETTER TODO U
++1848;N # MONGOLIAN LETTER TODO OE
++1849;N # MONGOLIAN LETTER TODO UE
++184A;N # MONGOLIAN LETTER TODO ANG
++184B;N # MONGOLIAN LETTER TODO BA
++184C;N # MONGOLIAN LETTER TODO PA
++184D;N # MONGOLIAN LETTER TODO QA
++184E;N # MONGOLIAN LETTER TODO GA
++184F;N # MONGOLIAN LETTER TODO MA
++1850;N # MONGOLIAN LETTER TODO TA
++1851;N # MONGOLIAN LETTER TODO DA
++1852;N # MONGOLIAN LETTER TODO CHA
++1853;N # MONGOLIAN LETTER TODO JA
++1854;N # MONGOLIAN LETTER TODO TSA
++1855;N # MONGOLIAN LETTER TODO YA
++1856;N # MONGOLIAN LETTER TODO WA
++1857;N # MONGOLIAN LETTER TODO KA
++1858;N # MONGOLIAN LETTER TODO GAA
++1859;N # MONGOLIAN LETTER TODO HAA
++185A;N # MONGOLIAN LETTER TODO JIA
++185B;N # MONGOLIAN LETTER TODO NIA
++185C;N # MONGOLIAN LETTER TODO DZA
++185D;N # MONGOLIAN LETTER SIBE E
++185E;N # MONGOLIAN LETTER SIBE I
++185F;N # MONGOLIAN LETTER SIBE IY
++1860;N # MONGOLIAN LETTER SIBE UE
++1861;N # MONGOLIAN LETTER SIBE U
++1862;N # MONGOLIAN LETTER SIBE ANG
++1863;N # MONGOLIAN LETTER SIBE KA
++1864;N # MONGOLIAN LETTER SIBE GA
++1865;N # MONGOLIAN LETTER SIBE HA
++1866;N # MONGOLIAN LETTER SIBE PA
++1867;N # MONGOLIAN LETTER SIBE SHA
++1868;N # MONGOLIAN LETTER SIBE TA
++1869;N # MONGOLIAN LETTER SIBE DA
++186A;N # MONGOLIAN LETTER SIBE JA
++186B;N # MONGOLIAN LETTER SIBE FA
++186C;N # MONGOLIAN LETTER SIBE GAA
++186D;N # MONGOLIAN LETTER SIBE HAA
++186E;N # MONGOLIAN LETTER SIBE TSA
++186F;N # MONGOLIAN LETTER SIBE ZA
++1870;N # MONGOLIAN LETTER SIBE RAA
++1871;N # MONGOLIAN LETTER SIBE CHA
++1872;N # MONGOLIAN LETTER SIBE ZHA
++1873;N # MONGOLIAN LETTER MANCHU I
++1874;N # MONGOLIAN LETTER MANCHU KA
++1875;N # MONGOLIAN LETTER MANCHU RA
++1876;N # MONGOLIAN LETTER MANCHU FA
++1877;N # MONGOLIAN LETTER MANCHU ZHA
++1880;N # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
++1881;N # MONGOLIAN LETTER ALI GALI VISARGA ONE
++1882;N # MONGOLIAN LETTER ALI GALI DAMARU
++1883;N # MONGOLIAN LETTER ALI GALI UBADAMA
++1884;N # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
++1885;N # MONGOLIAN LETTER ALI GALI BALUDA
++1886;N # MONGOLIAN LETTER ALI GALI THREE BALUDA
++1887;N # MONGOLIAN LETTER ALI GALI A
++1888;N # MONGOLIAN LETTER ALI GALI I
++1889;N # MONGOLIAN LETTER ALI GALI KA
++188A;N # MONGOLIAN LETTER ALI GALI NGA
++188B;N # MONGOLIAN LETTER ALI GALI CA
++188C;N # MONGOLIAN LETTER ALI GALI TTA
++188D;N # MONGOLIAN LETTER ALI GALI TTHA
++188E;N # MONGOLIAN LETTER ALI GALI DDA
++188F;N # MONGOLIAN LETTER ALI GALI NNA
++1890;N # MONGOLIAN LETTER ALI GALI TA
++1891;N # MONGOLIAN LETTER ALI GALI DA
++1892;N # MONGOLIAN LETTER ALI GALI PA
++1893;N # MONGOLIAN LETTER ALI GALI PHA
++1894;N # MONGOLIAN LETTER ALI GALI SSA
++1895;N # MONGOLIAN LETTER ALI GALI ZHA
++1896;N # MONGOLIAN LETTER ALI GALI ZA
++1897;N # MONGOLIAN LETTER ALI GALI AH
++1898;N # MONGOLIAN LETTER TODO ALI GALI TA
++1899;N # MONGOLIAN LETTER TODO ALI GALI ZHA
++189A;N # MONGOLIAN LETTER MANCHU ALI GALI GHA
++189B;N # MONGOLIAN LETTER MANCHU ALI GALI NGA
++189C;N # MONGOLIAN LETTER MANCHU ALI GALI CA
++189D;N # MONGOLIAN LETTER MANCHU ALI GALI JHA
++189E;N # MONGOLIAN LETTER MANCHU ALI GALI TTA
++189F;N # MONGOLIAN LETTER MANCHU ALI GALI DDHA
++18A0;N # MONGOLIAN LETTER MANCHU ALI GALI TA
++18A1;N # MONGOLIAN LETTER MANCHU ALI GALI DHA
++18A2;N # MONGOLIAN LETTER MANCHU ALI GALI SSA
++18A3;N # MONGOLIAN LETTER MANCHU ALI GALI CYA
++18A4;N # MONGOLIAN LETTER MANCHU ALI GALI ZHA
++18A5;N # MONGOLIAN LETTER MANCHU ALI GALI ZA
++18A6;N # MONGOLIAN LETTER ALI GALI HALF U
++18A7;N # MONGOLIAN LETTER ALI GALI HALF YA
++18A8;N # MONGOLIAN LETTER MANCHU ALI GALI BHA
++18A9;N # MONGOLIAN LETTER ALI GALI DAGALGA
++18AA;N # MONGOLIAN LETTER MANCHU ALI GALI LHA
++18B0;N # CANADIAN SYLLABICS OY
++18B1;N # CANADIAN SYLLABICS AY
++18B2;N # CANADIAN SYLLABICS AAY
++18B3;N # CANADIAN SYLLABICS WAY
++18B4;N # CANADIAN SYLLABICS POY
++18B5;N # CANADIAN SYLLABICS PAY
++18B6;N # CANADIAN SYLLABICS PWOY
++18B7;N # CANADIAN SYLLABICS TAY
++18B8;N # CANADIAN SYLLABICS KAY
++18B9;N # CANADIAN SYLLABICS KWAY
++18BA;N # CANADIAN SYLLABICS MAY
++18BB;N # CANADIAN SYLLABICS NOY
++18BC;N # CANADIAN SYLLABICS NAY
++18BD;N # CANADIAN SYLLABICS LAY
++18BE;N # CANADIAN SYLLABICS SOY
++18BF;N # CANADIAN SYLLABICS SAY
++18C0;N # CANADIAN SYLLABICS SHOY
++18C1;N # CANADIAN SYLLABICS SHAY
++18C2;N # CANADIAN SYLLABICS SHWOY
++18C3;N # CANADIAN SYLLABICS YOY
++18C4;N # CANADIAN SYLLABICS YAY
++18C5;N # CANADIAN SYLLABICS RAY
++18C6;N # CANADIAN SYLLABICS NWI
++18C7;N # CANADIAN SYLLABICS OJIBWAY NWI
++18C8;N # CANADIAN SYLLABICS NWII
++18C9;N # CANADIAN SYLLABICS OJIBWAY NWII
++18CA;N # CANADIAN SYLLABICS NWO
++18CB;N # CANADIAN SYLLABICS OJIBWAY NWO
++18CC;N # CANADIAN SYLLABICS NWOO
++18CD;N # CANADIAN SYLLABICS OJIBWAY NWOO
++18CE;N # CANADIAN SYLLABICS RWEE
++18CF;N # CANADIAN SYLLABICS RWI
++18D0;N # CANADIAN SYLLABICS RWII
++18D1;N # CANADIAN SYLLABICS RWO
++18D2;N # CANADIAN SYLLABICS RWOO
++18D3;N # CANADIAN SYLLABICS RWA
++18D4;N # CANADIAN SYLLABICS OJIBWAY P
++18D5;N # CANADIAN SYLLABICS OJIBWAY T
++18D6;N # CANADIAN SYLLABICS OJIBWAY K
++18D7;N # CANADIAN SYLLABICS OJIBWAY C
++18D8;N # CANADIAN SYLLABICS OJIBWAY M
++18D9;N # CANADIAN SYLLABICS OJIBWAY N
++18DA;N # CANADIAN SYLLABICS OJIBWAY S
++18DB;N # CANADIAN SYLLABICS OJIBWAY SH
++18DC;N # CANADIAN SYLLABICS EASTERN W
++18DD;N # CANADIAN SYLLABICS WESTERN W
++18DE;N # CANADIAN SYLLABICS FINAL SMALL RING
++18DF;N # CANADIAN SYLLABICS FINAL RAISED DOT
++18E0;N # CANADIAN SYLLABICS R-CREE RWE
++18E1;N # CANADIAN SYLLABICS WEST-CREE LOO
++18E2;N # CANADIAN SYLLABICS WEST-CREE LAA
++18E3;N # CANADIAN SYLLABICS THWE
++18E4;N # CANADIAN SYLLABICS THWA
++18E5;N # CANADIAN SYLLABICS TTHWE
++18E6;N # CANADIAN SYLLABICS TTHOO
++18E7;N # CANADIAN SYLLABICS TTHAA
++18E8;N # CANADIAN SYLLABICS TLHWE
++18E9;N # CANADIAN SYLLABICS TLHOO
++18EA;N # CANADIAN SYLLABICS SAYISI SHWE
++18EB;N # CANADIAN SYLLABICS SAYISI SHOO
++18EC;N # CANADIAN SYLLABICS SAYISI HOO
++18ED;N # CANADIAN SYLLABICS CARRIER GWU
++18EE;N # CANADIAN SYLLABICS CARRIER DENE GEE
++18EF;N # CANADIAN SYLLABICS CARRIER GAA
++18F0;N # CANADIAN SYLLABICS CARRIER GWA
++18F1;N # CANADIAN SYLLABICS SAYISI JUU
++18F2;N # CANADIAN SYLLABICS CARRIER JWA
++18F3;N # CANADIAN SYLLABICS BEAVER DENE L
++18F4;N # CANADIAN SYLLABICS BEAVER DENE R
++18F5;N # CANADIAN SYLLABICS CARRIER DENTAL S
++1900;N # LIMBU VOWEL-CARRIER LETTER
++1901;N # LIMBU LETTER KA
++1902;N # LIMBU LETTER KHA
++1903;N # LIMBU LETTER GA
++1904;N # LIMBU LETTER GHA
++1905;N # LIMBU LETTER NGA
++1906;N # LIMBU LETTER CA
++1907;N # LIMBU LETTER CHA
++1908;N # LIMBU LETTER JA
++1909;N # LIMBU LETTER JHA
++190A;N # LIMBU LETTER YAN
++190B;N # LIMBU LETTER TA
++190C;N # LIMBU LETTER THA
++190D;N # LIMBU LETTER DA
++190E;N # LIMBU LETTER DHA
++190F;N # LIMBU LETTER NA
++1910;N # LIMBU LETTER PA
++1911;N # LIMBU LETTER PHA
++1912;N # LIMBU LETTER BA
++1913;N # LIMBU LETTER BHA
++1914;N # LIMBU LETTER MA
++1915;N # LIMBU LETTER YA
++1916;N # LIMBU LETTER RA
++1917;N # LIMBU LETTER LA
++1918;N # LIMBU LETTER WA
++1919;N # LIMBU LETTER SHA
++191A;N # LIMBU LETTER SSA
++191B;N # LIMBU LETTER SA
++191C;N # LIMBU LETTER HA
++1920;N # LIMBU VOWEL SIGN A
++1921;N # LIMBU VOWEL SIGN I
++1922;N # LIMBU VOWEL SIGN U
++1923;N # LIMBU VOWEL SIGN EE
++1924;N # LIMBU VOWEL SIGN AI
++1925;N # LIMBU VOWEL SIGN OO
++1926;N # LIMBU VOWEL SIGN AU
++1927;N # LIMBU VOWEL SIGN E
++1928;N # LIMBU VOWEL SIGN O
++1929;N # LIMBU SUBJOINED LETTER YA
++192A;N # LIMBU SUBJOINED LETTER RA
++192B;N # LIMBU SUBJOINED LETTER WA
++1930;N # LIMBU SMALL LETTER KA
++1931;N # LIMBU SMALL LETTER NGA
++1932;N # LIMBU SMALL LETTER ANUSVARA
++1933;N # LIMBU SMALL LETTER TA
++1934;N # LIMBU SMALL LETTER NA
++1935;N # LIMBU SMALL LETTER PA
++1936;N # LIMBU SMALL LETTER MA
++1937;N # LIMBU SMALL LETTER RA
++1938;N # LIMBU SMALL LETTER LA
++1939;N # LIMBU SIGN MUKPHRENG
++193A;N # LIMBU SIGN KEMPHRENG
++193B;N # LIMBU SIGN SA-I
++1940;N # LIMBU SIGN LOO
++1944;N # LIMBU EXCLAMATION MARK
++1945;N # LIMBU QUESTION MARK
++1946;N # LIMBU DIGIT ZERO
++1947;N # LIMBU DIGIT ONE
++1948;N # LIMBU DIGIT TWO
++1949;N # LIMBU DIGIT THREE
++194A;N # LIMBU DIGIT FOUR
++194B;N # LIMBU DIGIT FIVE
++194C;N # LIMBU DIGIT SIX
++194D;N # LIMBU DIGIT SEVEN
++194E;N # LIMBU DIGIT EIGHT
++194F;N # LIMBU DIGIT NINE
++1950;N # TAI LE LETTER KA
++1951;N # TAI LE LETTER XA
++1952;N # TAI LE LETTER NGA
++1953;N # TAI LE LETTER TSA
++1954;N # TAI LE LETTER SA
++1955;N # TAI LE LETTER YA
++1956;N # TAI LE LETTER TA
++1957;N # TAI LE LETTER THA
++1958;N # TAI LE LETTER LA
++1959;N # TAI LE LETTER PA
++195A;N # TAI LE LETTER PHA
++195B;N # TAI LE LETTER MA
++195C;N # TAI LE LETTER FA
++195D;N # TAI LE LETTER VA
++195E;N # TAI LE LETTER HA
++195F;N # TAI LE LETTER QA
++1960;N # TAI LE LETTER KHA
++1961;N # TAI LE LETTER TSHA
++1962;N # TAI LE LETTER NA
++1963;N # TAI LE LETTER A
++1964;N # TAI LE LETTER I
++1965;N # TAI LE LETTER EE
++1966;N # TAI LE LETTER EH
++1967;N # TAI LE LETTER U
++1968;N # TAI LE LETTER OO
++1969;N # TAI LE LETTER O
++196A;N # TAI LE LETTER UE
++196B;N # TAI LE LETTER E
++196C;N # TAI LE LETTER AUE
++196D;N # TAI LE LETTER AI
++1970;N # TAI LE LETTER TONE-2
++1971;N # TAI LE LETTER TONE-3
++1972;N # TAI LE LETTER TONE-4
++1973;N # TAI LE LETTER TONE-5
++1974;N # TAI LE LETTER TONE-6
++1980;N # NEW TAI LUE LETTER HIGH QA
++1981;N # NEW TAI LUE LETTER LOW QA
++1982;N # NEW TAI LUE LETTER HIGH KA
++1983;N # NEW TAI LUE LETTER HIGH XA
++1984;N # NEW TAI LUE LETTER HIGH NGA
++1985;N # NEW TAI LUE LETTER LOW KA
++1986;N # NEW TAI LUE LETTER LOW XA
++1987;N # NEW TAI LUE LETTER LOW NGA
++1988;N # NEW TAI LUE LETTER HIGH TSA
++1989;N # NEW TAI LUE LETTER HIGH SA
++198A;N # NEW TAI LUE LETTER HIGH YA
++198B;N # NEW TAI LUE LETTER LOW TSA
++198C;N # NEW TAI LUE LETTER LOW SA
++198D;N # NEW TAI LUE LETTER LOW YA
++198E;N # NEW TAI LUE LETTER HIGH TA
++198F;N # NEW TAI LUE LETTER HIGH THA
++1990;N # NEW TAI LUE LETTER HIGH NA
++1991;N # NEW TAI LUE LETTER LOW TA
++1992;N # NEW TAI LUE LETTER LOW THA
++1993;N # NEW TAI LUE LETTER LOW NA
++1994;N # NEW TAI LUE LETTER HIGH PA
++1995;N # NEW TAI LUE LETTER HIGH PHA
++1996;N # NEW TAI LUE LETTER HIGH MA
++1997;N # NEW TAI LUE LETTER LOW PA
++1998;N # NEW TAI LUE LETTER LOW PHA
++1999;N # NEW TAI LUE LETTER LOW MA
++199A;N # NEW TAI LUE LETTER HIGH FA
++199B;N # NEW TAI LUE LETTER HIGH VA
++199C;N # NEW TAI LUE LETTER HIGH LA
++199D;N # NEW TAI LUE LETTER LOW FA
++199E;N # NEW TAI LUE LETTER LOW VA
++199F;N # NEW TAI LUE LETTER LOW LA
++19A0;N # NEW TAI LUE LETTER HIGH HA
++19A1;N # NEW TAI LUE LETTER HIGH DA
++19A2;N # NEW TAI LUE LETTER HIGH BA
++19A3;N # NEW TAI LUE LETTER LOW HA
++19A4;N # NEW TAI LUE LETTER LOW DA
++19A5;N # NEW TAI LUE LETTER LOW BA
++19A6;N # NEW TAI LUE LETTER HIGH KVA
++19A7;N # NEW TAI LUE LETTER HIGH XVA
++19A8;N # NEW TAI LUE LETTER LOW KVA
++19A9;N # NEW TAI LUE LETTER LOW XVA
++19AA;N # NEW TAI LUE LETTER HIGH SUA
++19AB;N # NEW TAI LUE LETTER LOW SUA
++19B0;N # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
++19B1;N # NEW TAI LUE VOWEL SIGN AA
++19B2;N # NEW TAI LUE VOWEL SIGN II
++19B3;N # NEW TAI LUE VOWEL SIGN U
++19B4;N # NEW TAI LUE VOWEL SIGN UU
++19B5;N # NEW TAI LUE VOWEL SIGN E
++19B6;N # NEW TAI LUE VOWEL SIGN AE
++19B7;N # NEW TAI LUE VOWEL SIGN O
++19B8;N # NEW TAI LUE VOWEL SIGN OA
++19B9;N # NEW TAI LUE VOWEL SIGN UE
++19BA;N # NEW TAI LUE VOWEL SIGN AY
++19BB;N # NEW TAI LUE VOWEL SIGN AAY
++19BC;N # NEW TAI LUE VOWEL SIGN UY
++19BD;N # NEW TAI LUE VOWEL SIGN OY
++19BE;N # NEW TAI LUE VOWEL SIGN OAY
++19BF;N # NEW TAI LUE VOWEL SIGN UEY
++19C0;N # NEW TAI LUE VOWEL SIGN IY
++19C1;N # NEW TAI LUE LETTER FINAL V
++19C2;N # NEW TAI LUE LETTER FINAL NG
++19C3;N # NEW TAI LUE LETTER FINAL N
++19C4;N # NEW TAI LUE LETTER FINAL M
++19C5;N # NEW TAI LUE LETTER FINAL K
++19C6;N # NEW TAI LUE LETTER FINAL D
++19C7;N # NEW TAI LUE LETTER FINAL B
++19C8;N # NEW TAI LUE TONE MARK-1
++19C9;N # NEW TAI LUE TONE MARK-2
++19D0;N # NEW TAI LUE DIGIT ZERO
++19D1;N # NEW TAI LUE DIGIT ONE
++19D2;N # NEW TAI LUE DIGIT TWO
++19D3;N # NEW TAI LUE DIGIT THREE
++19D4;N # NEW TAI LUE DIGIT FOUR
++19D5;N # NEW TAI LUE DIGIT FIVE
++19D6;N # NEW TAI LUE DIGIT SIX
++19D7;N # NEW TAI LUE DIGIT SEVEN
++19D8;N # NEW TAI LUE DIGIT EIGHT
++19D9;N # NEW TAI LUE DIGIT NINE
++19DA;N # NEW TAI LUE THAM DIGIT ONE
++19DE;N # NEW TAI LUE SIGN LAE
++19DF;N # NEW TAI LUE SIGN LAEV
++19E0;N # KHMER SYMBOL PATHAMASAT
++19E1;N # KHMER SYMBOL MUOY KOET
++19E2;N # KHMER SYMBOL PII KOET
++19E3;N # KHMER SYMBOL BEI KOET
++19E4;N # KHMER SYMBOL BUON KOET
++19E5;N # KHMER SYMBOL PRAM KOET
++19E6;N # KHMER SYMBOL PRAM-MUOY KOET
++19E7;N # KHMER SYMBOL PRAM-PII KOET
++19E8;N # KHMER SYMBOL PRAM-BEI KOET
++19E9;N # KHMER SYMBOL PRAM-BUON KOET
++19EA;N # KHMER SYMBOL DAP KOET
++19EB;N # KHMER SYMBOL DAP-MUOY KOET
++19EC;N # KHMER SYMBOL DAP-PII KOET
++19ED;N # KHMER SYMBOL DAP-BEI KOET
++19EE;N # KHMER SYMBOL DAP-BUON KOET
++19EF;N # KHMER SYMBOL DAP-PRAM KOET
++19F0;N # KHMER SYMBOL TUTEYASAT
++19F1;N # KHMER SYMBOL MUOY ROC
++19F2;N # KHMER SYMBOL PII ROC
++19F3;N # KHMER SYMBOL BEI ROC
++19F4;N # KHMER SYMBOL BUON ROC
++19F5;N # KHMER SYMBOL PRAM ROC
++19F6;N # KHMER SYMBOL PRAM-MUOY ROC
++19F7;N # KHMER SYMBOL PRAM-PII ROC
++19F8;N # KHMER SYMBOL PRAM-BEI ROC
++19F9;N # KHMER SYMBOL PRAM-BUON ROC
++19FA;N # KHMER SYMBOL DAP ROC
++19FB;N # KHMER SYMBOL DAP-MUOY ROC
++19FC;N # KHMER SYMBOL DAP-PII ROC
++19FD;N # KHMER SYMBOL DAP-BEI ROC
++19FE;N # KHMER SYMBOL DAP-BUON ROC
++19FF;N # KHMER SYMBOL DAP-PRAM ROC
++1A00;N # BUGINESE LETTER KA
++1A01;N # BUGINESE LETTER GA
++1A02;N # BUGINESE LETTER NGA
++1A03;N # BUGINESE LETTER NGKA
++1A04;N # BUGINESE LETTER PA
++1A05;N # BUGINESE LETTER BA
++1A06;N # BUGINESE LETTER MA
++1A07;N # BUGINESE LETTER MPA
++1A08;N # BUGINESE LETTER TA
++1A09;N # BUGINESE LETTER DA
++1A0A;N # BUGINESE LETTER NA
++1A0B;N # BUGINESE LETTER NRA
++1A0C;N # BUGINESE LETTER CA
++1A0D;N # BUGINESE LETTER JA
++1A0E;N # BUGINESE LETTER NYA
++1A0F;N # BUGINESE LETTER NYCA
++1A10;N # BUGINESE LETTER YA
++1A11;N # BUGINESE LETTER RA
++1A12;N # BUGINESE LETTER LA
++1A13;N # BUGINESE LETTER VA
++1A14;N # BUGINESE LETTER SA
++1A15;N # BUGINESE LETTER A
++1A16;N # BUGINESE LETTER HA
++1A17;N # BUGINESE VOWEL SIGN I
++1A18;N # BUGINESE VOWEL SIGN U
++1A19;N # BUGINESE VOWEL SIGN E
++1A1A;N # BUGINESE VOWEL SIGN O
++1A1B;N # BUGINESE VOWEL SIGN AE
++1A1E;N # BUGINESE PALLAWA
++1A1F;N # BUGINESE END OF SECTION
++1A20;N # TAI THAM LETTER HIGH KA
++1A21;N # TAI THAM LETTER HIGH KHA
++1A22;N # TAI THAM LETTER HIGH KXA
++1A23;N # TAI THAM LETTER LOW KA
++1A24;N # TAI THAM LETTER LOW KXA
++1A25;N # TAI THAM LETTER LOW KHA
++1A26;N # TAI THAM LETTER NGA
++1A27;N # TAI THAM LETTER HIGH CA
++1A28;N # TAI THAM LETTER HIGH CHA
++1A29;N # TAI THAM LETTER LOW CA
++1A2A;N # TAI THAM LETTER LOW SA
++1A2B;N # TAI THAM LETTER LOW CHA
++1A2C;N # TAI THAM LETTER NYA
++1A2D;N # TAI THAM LETTER RATA
++1A2E;N # TAI THAM LETTER HIGH RATHA
++1A2F;N # TAI THAM LETTER DA
++1A30;N # TAI THAM LETTER LOW RATHA
++1A31;N # TAI THAM LETTER RANA
++1A32;N # TAI THAM LETTER HIGH TA
++1A33;N # TAI THAM LETTER HIGH THA
++1A34;N # TAI THAM LETTER LOW TA
++1A35;N # TAI THAM LETTER LOW THA
++1A36;N # TAI THAM LETTER NA
++1A37;N # TAI THAM LETTER BA
++1A38;N # TAI THAM LETTER HIGH PA
++1A39;N # TAI THAM LETTER HIGH PHA
++1A3A;N # TAI THAM LETTER HIGH FA
++1A3B;N # TAI THAM LETTER LOW PA
++1A3C;N # TAI THAM LETTER LOW FA
++1A3D;N # TAI THAM LETTER LOW PHA
++1A3E;N # TAI THAM LETTER MA
++1A3F;N # TAI THAM LETTER LOW YA
++1A40;N # TAI THAM LETTER HIGH YA
++1A41;N # TAI THAM LETTER RA
++1A42;N # TAI THAM LETTER RUE
++1A43;N # TAI THAM LETTER LA
++1A44;N # TAI THAM LETTER LUE
++1A45;N # TAI THAM LETTER WA
++1A46;N # TAI THAM LETTER HIGH SHA
++1A47;N # TAI THAM LETTER HIGH SSA
++1A48;N # TAI THAM LETTER HIGH SA
++1A49;N # TAI THAM LETTER HIGH HA
++1A4A;N # TAI THAM LETTER LLA
++1A4B;N # TAI THAM LETTER A
++1A4C;N # TAI THAM LETTER LOW HA
++1A4D;N # TAI THAM LETTER I
++1A4E;N # TAI THAM LETTER II
++1A4F;N # TAI THAM LETTER U
++1A50;N # TAI THAM LETTER UU
++1A51;N # TAI THAM LETTER EE
++1A52;N # TAI THAM LETTER OO
++1A53;N # TAI THAM LETTER LAE
++1A54;N # TAI THAM LETTER GREAT SA
++1A55;N # TAI THAM CONSONANT SIGN MEDIAL RA
++1A56;N # TAI THAM CONSONANT SIGN MEDIAL LA
++1A57;N # TAI THAM CONSONANT SIGN LA TANG LAI
++1A58;N # TAI THAM SIGN MAI KANG LAI
++1A59;N # TAI THAM CONSONANT SIGN FINAL NGA
++1A5A;N # TAI THAM CONSONANT SIGN LOW PA
++1A5B;N # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
++1A5C;N # TAI THAM CONSONANT SIGN MA
++1A5D;N # TAI THAM CONSONANT SIGN BA
++1A5E;N # TAI THAM CONSONANT SIGN SA
++1A60;N # TAI THAM SIGN SAKOT
++1A61;N # TAI THAM VOWEL SIGN A
++1A62;N # TAI THAM VOWEL SIGN MAI SAT
++1A63;N # TAI THAM VOWEL SIGN AA
++1A64;N # TAI THAM VOWEL SIGN TALL AA
++1A65;N # TAI THAM VOWEL SIGN I
++1A66;N # TAI THAM VOWEL SIGN II
++1A67;N # TAI THAM VOWEL SIGN UE
++1A68;N # TAI THAM VOWEL SIGN UUE
++1A69;N # TAI THAM VOWEL SIGN U
++1A6A;N # TAI THAM VOWEL SIGN UU
++1A6B;N # TAI THAM VOWEL SIGN O
++1A6C;N # TAI THAM VOWEL SIGN OA BELOW
++1A6D;N # TAI THAM VOWEL SIGN OY
++1A6E;N # TAI THAM VOWEL SIGN E
++1A6F;N # TAI THAM VOWEL SIGN AE
++1A70;N # TAI THAM VOWEL SIGN OO
++1A71;N # TAI THAM VOWEL SIGN AI
++1A72;N # TAI THAM VOWEL SIGN THAM AI
++1A73;N # TAI THAM VOWEL SIGN OA ABOVE
++1A74;N # TAI THAM SIGN MAI KANG
++1A75;N # TAI THAM SIGN TONE-1
++1A76;N # TAI THAM SIGN TONE-2
++1A77;N # TAI THAM SIGN KHUEN TONE-3
++1A78;N # TAI THAM SIGN KHUEN TONE-4
++1A79;N # TAI THAM SIGN KHUEN TONE-5
++1A7A;N # TAI THAM SIGN RA HAAM
++1A7B;N # TAI THAM SIGN MAI SAM
++1A7C;N # TAI THAM SIGN KHUEN-LUE KARAN
++1A7F;N # TAI THAM COMBINING CRYPTOGRAMMIC DOT
++1A80;N # TAI THAM HORA DIGIT ZERO
++1A81;N # TAI THAM HORA DIGIT ONE
++1A82;N # TAI THAM HORA DIGIT TWO
++1A83;N # TAI THAM HORA DIGIT THREE
++1A84;N # TAI THAM HORA DIGIT FOUR
++1A85;N # TAI THAM HORA DIGIT FIVE
++1A86;N # TAI THAM HORA DIGIT SIX
++1A87;N # TAI THAM HORA DIGIT SEVEN
++1A88;N # TAI THAM HORA DIGIT EIGHT
++1A89;N # TAI THAM HORA DIGIT NINE
++1A90;N # TAI THAM THAM DIGIT ZERO
++1A91;N # TAI THAM THAM DIGIT ONE
++1A92;N # TAI THAM THAM DIGIT TWO
++1A93;N # TAI THAM THAM DIGIT THREE
++1A94;N # TAI THAM THAM DIGIT FOUR
++1A95;N # TAI THAM THAM DIGIT FIVE
++1A96;N # TAI THAM THAM DIGIT SIX
++1A97;N # TAI THAM THAM DIGIT SEVEN
++1A98;N # TAI THAM THAM DIGIT EIGHT
++1A99;N # TAI THAM THAM DIGIT NINE
++1AA0;N # TAI THAM SIGN WIANG
++1AA1;N # TAI THAM SIGN WIANGWAAK
++1AA2;N # TAI THAM SIGN SAWAN
++1AA3;N # TAI THAM SIGN KEOW
++1AA4;N # TAI THAM SIGN HOY
++1AA5;N # TAI THAM SIGN DOKMAI
++1AA6;N # TAI THAM SIGN REVERSED ROTATED RANA
++1AA7;N # TAI THAM SIGN MAI YAMOK
++1AA8;N # TAI THAM SIGN KAAN
++1AA9;N # TAI THAM SIGN KAANKUU
++1AAA;N # TAI THAM SIGN SATKAAN
++1AAB;N # TAI THAM SIGN SATKAANKUU
++1AAC;N # TAI THAM SIGN HANG
++1AAD;N # TAI THAM SIGN CAANG
++1B00;N # BALINESE SIGN ULU RICEM
++1B01;N # BALINESE SIGN ULU CANDRA
++1B02;N # BALINESE SIGN CECEK
++1B03;N # BALINESE SIGN SURANG
++1B04;N # BALINESE SIGN BISAH
++1B05;N # BALINESE LETTER AKARA
++1B06;N # BALINESE LETTER AKARA TEDUNG
++1B07;N # BALINESE LETTER IKARA
++1B08;N # BALINESE LETTER IKARA TEDUNG
++1B09;N # BALINESE LETTER UKARA
++1B0A;N # BALINESE LETTER UKARA TEDUNG
++1B0B;N # BALINESE LETTER RA REPA
++1B0C;N # BALINESE LETTER RA REPA TEDUNG
++1B0D;N # BALINESE LETTER LA LENGA
++1B0E;N # BALINESE LETTER LA LENGA TEDUNG
++1B0F;N # BALINESE LETTER EKARA
++1B10;N # BALINESE LETTER AIKARA
++1B11;N # BALINESE LETTER OKARA
++1B12;N # BALINESE LETTER OKARA TEDUNG
++1B13;N # BALINESE LETTER KA
++1B14;N # BALINESE LETTER KA MAHAPRANA
++1B15;N # BALINESE LETTER GA
++1B16;N # BALINESE LETTER GA GORA
++1B17;N # BALINESE LETTER NGA
++1B18;N # BALINESE LETTER CA
++1B19;N # BALINESE LETTER CA LACA
++1B1A;N # BALINESE LETTER JA
++1B1B;N # BALINESE LETTER JA JERA
++1B1C;N # BALINESE LETTER NYA
++1B1D;N # BALINESE LETTER TA LATIK
++1B1E;N # BALINESE LETTER TA MURDA MAHAPRANA
++1B1F;N # BALINESE LETTER DA MURDA ALPAPRANA
++1B20;N # BALINESE LETTER DA MURDA MAHAPRANA
++1B21;N # BALINESE LETTER NA RAMBAT
++1B22;N # BALINESE LETTER TA
++1B23;N # BALINESE LETTER TA TAWA
++1B24;N # BALINESE LETTER DA
++1B25;N # BALINESE LETTER DA MADU
++1B26;N # BALINESE LETTER NA
++1B27;N # BALINESE LETTER PA
++1B28;N # BALINESE LETTER PA KAPAL
++1B29;N # BALINESE LETTER BA
++1B2A;N # BALINESE LETTER BA KEMBANG
++1B2B;N # BALINESE LETTER MA
++1B2C;N # BALINESE LETTER YA
++1B2D;N # BALINESE LETTER RA
++1B2E;N # BALINESE LETTER LA
++1B2F;N # BALINESE LETTER WA
++1B30;N # BALINESE LETTER SA SAGA
++1B31;N # BALINESE LETTER SA SAPA
++1B32;N # BALINESE LETTER SA
++1B33;N # BALINESE LETTER HA
++1B34;N # BALINESE SIGN REREKAN
++1B35;N # BALINESE VOWEL SIGN TEDUNG
++1B36;N # BALINESE VOWEL SIGN ULU
++1B37;N # BALINESE VOWEL SIGN ULU SARI
++1B38;N # BALINESE VOWEL SIGN SUKU
++1B39;N # BALINESE VOWEL SIGN SUKU ILUT
++1B3A;N # BALINESE VOWEL SIGN RA REPA
++1B3B;N # BALINESE VOWEL SIGN RA REPA TEDUNG
++1B3C;N # BALINESE VOWEL SIGN LA LENGA
++1B3D;N # BALINESE VOWEL SIGN LA LENGA TEDUNG
++1B3E;N # BALINESE VOWEL SIGN TALING
++1B3F;N # BALINESE VOWEL SIGN TALING REPA
++1B40;N # BALINESE VOWEL SIGN TALING TEDUNG
++1B41;N # BALINESE VOWEL SIGN TALING REPA TEDUNG
++1B42;N # BALINESE VOWEL SIGN PEPET
++1B43;N # BALINESE VOWEL SIGN PEPET TEDUNG
++1B44;N # BALINESE ADEG ADEG
++1B45;N # BALINESE LETTER KAF SASAK
++1B46;N # BALINESE LETTER KHOT SASAK
++1B47;N # BALINESE LETTER TZIR SASAK
++1B48;N # BALINESE LETTER EF SASAK
++1B49;N # BALINESE LETTER VE SASAK
++1B4A;N # BALINESE LETTER ZAL SASAK
++1B4B;N # BALINESE LETTER ASYURA SASAK
++1B50;N # BALINESE DIGIT ZERO
++1B51;N # BALINESE DIGIT ONE
++1B52;N # BALINESE DIGIT TWO
++1B53;N # BALINESE DIGIT THREE
++1B54;N # BALINESE DIGIT FOUR
++1B55;N # BALINESE DIGIT FIVE
++1B56;N # BALINESE DIGIT SIX
++1B57;N # BALINESE DIGIT SEVEN
++1B58;N # BALINESE DIGIT EIGHT
++1B59;N # BALINESE DIGIT NINE
++1B5A;N # BALINESE PANTI
++1B5B;N # BALINESE PAMADA
++1B5C;N # BALINESE WINDU
++1B5D;N # BALINESE CARIK PAMUNGKAH
++1B5E;N # BALINESE CARIK SIKI
++1B5F;N # BALINESE CARIK PAREREN
++1B60;N # BALINESE PAMENENG
++1B61;N # BALINESE MUSICAL SYMBOL DONG
++1B62;N # BALINESE MUSICAL SYMBOL DENG
++1B63;N # BALINESE MUSICAL SYMBOL DUNG
++1B64;N # BALINESE MUSICAL SYMBOL DANG
++1B65;N # BALINESE MUSICAL SYMBOL DANG SURANG
++1B66;N # BALINESE MUSICAL SYMBOL DING
++1B67;N # BALINESE MUSICAL SYMBOL DAENG
++1B68;N # BALINESE MUSICAL SYMBOL DEUNG
++1B69;N # BALINESE MUSICAL SYMBOL DAING
++1B6A;N # BALINESE MUSICAL SYMBOL DANG GEDE
++1B6B;N # BALINESE MUSICAL SYMBOL COMBINING TEGEH
++1B6C;N # BALINESE MUSICAL SYMBOL COMBINING ENDEP
++1B6D;N # BALINESE MUSICAL SYMBOL COMBINING KEMPUL
++1B6E;N # BALINESE MUSICAL SYMBOL COMBINING KEMPLI
++1B6F;N # BALINESE MUSICAL SYMBOL COMBINING JEGOGAN
++1B70;N # BALINESE MUSICAL SYMBOL COMBINING KEMPUL WITH JEGOGAN
++1B71;N # BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN
++1B72;N # BALINESE MUSICAL SYMBOL COMBINING BENDE
++1B73;N # BALINESE MUSICAL SYMBOL COMBINING GONG
++1B74;N # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
++1B75;N # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
++1B76;N # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
++1B77;N # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
++1B78;N # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
++1B79;N # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
++1B7A;N # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
++1B7B;N # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
++1B7C;N # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
++1B80;N # SUNDANESE SIGN PANYECEK
++1B81;N # SUNDANESE SIGN PANGLAYAR
++1B82;N # SUNDANESE SIGN PANGWISAD
++1B83;N # SUNDANESE LETTER A
++1B84;N # SUNDANESE LETTER I
++1B85;N # SUNDANESE LETTER U
++1B86;N # SUNDANESE LETTER AE
++1B87;N # SUNDANESE LETTER O
++1B88;N # SUNDANESE LETTER E
++1B89;N # SUNDANESE LETTER EU
++1B8A;N # SUNDANESE LETTER KA
++1B8B;N # SUNDANESE LETTER QA
++1B8C;N # SUNDANESE LETTER GA
++1B8D;N # SUNDANESE LETTER NGA
++1B8E;N # SUNDANESE LETTER CA
++1B8F;N # SUNDANESE LETTER JA
++1B90;N # SUNDANESE LETTER ZA
++1B91;N # SUNDANESE LETTER NYA
++1B92;N # SUNDANESE LETTER TA
++1B93;N # SUNDANESE LETTER DA
++1B94;N # SUNDANESE LETTER NA
++1B95;N # SUNDANESE LETTER PA
++1B96;N # SUNDANESE LETTER FA
++1B97;N # SUNDANESE LETTER VA
++1B98;N # SUNDANESE LETTER BA
++1B99;N # SUNDANESE LETTER MA
++1B9A;N # SUNDANESE LETTER YA
++1B9B;N # SUNDANESE LETTER RA
++1B9C;N # SUNDANESE LETTER LA
++1B9D;N # SUNDANESE LETTER WA
++1B9E;N # SUNDANESE LETTER SA
++1B9F;N # SUNDANESE LETTER XA
++1BA0;N # SUNDANESE LETTER HA
++1BA1;N # SUNDANESE CONSONANT SIGN PAMINGKAL
++1BA2;N # SUNDANESE CONSONANT SIGN PANYAKRA
++1BA3;N # SUNDANESE CONSONANT SIGN PANYIKU
++1BA4;N # SUNDANESE VOWEL SIGN PANGHULU
++1BA5;N # SUNDANESE VOWEL SIGN PANYUKU
++1BA6;N # SUNDANESE VOWEL SIGN PANAELAENG
++1BA7;N # SUNDANESE VOWEL SIGN PANOLONG
++1BA8;N # SUNDANESE VOWEL SIGN PAMEPET
++1BA9;N # SUNDANESE VOWEL SIGN PANEULEUNG
++1BAA;N # SUNDANESE SIGN PAMAAEH
++1BAE;N # SUNDANESE LETTER KHA
++1BAF;N # SUNDANESE LETTER SYA
++1BB0;N # SUNDANESE DIGIT ZERO
++1BB1;N # SUNDANESE DIGIT ONE
++1BB2;N # SUNDANESE DIGIT TWO
++1BB3;N # SUNDANESE DIGIT THREE
++1BB4;N # SUNDANESE DIGIT FOUR
++1BB5;N # SUNDANESE DIGIT FIVE
++1BB6;N # SUNDANESE DIGIT SIX
++1BB7;N # SUNDANESE DIGIT SEVEN
++1BB8;N # SUNDANESE DIGIT EIGHT
++1BB9;N # SUNDANESE DIGIT NINE
++1C00;N # LEPCHA LETTER KA
++1C01;N # LEPCHA LETTER KLA
++1C02;N # LEPCHA LETTER KHA
++1C03;N # LEPCHA LETTER GA
++1C04;N # LEPCHA LETTER GLA
++1C05;N # LEPCHA LETTER NGA
++1C06;N # LEPCHA LETTER CA
++1C07;N # LEPCHA LETTER CHA
++1C08;N # LEPCHA LETTER JA
++1C09;N # LEPCHA LETTER NYA
++1C0A;N # LEPCHA LETTER TA
++1C0B;N # LEPCHA LETTER THA
++1C0C;N # LEPCHA LETTER DA
++1C0D;N # LEPCHA LETTER NA
++1C0E;N # LEPCHA LETTER PA
++1C0F;N # LEPCHA LETTER PLA
++1C10;N # LEPCHA LETTER PHA
++1C11;N # LEPCHA LETTER FA
++1C12;N # LEPCHA LETTER FLA
++1C13;N # LEPCHA LETTER BA
++1C14;N # LEPCHA LETTER BLA
++1C15;N # LEPCHA LETTER MA
++1C16;N # LEPCHA LETTER MLA
++1C17;N # LEPCHA LETTER TSA
++1C18;N # LEPCHA LETTER TSHA
++1C19;N # LEPCHA LETTER DZA
++1C1A;N # LEPCHA LETTER YA
++1C1B;N # LEPCHA LETTER RA
++1C1C;N # LEPCHA LETTER LA
++1C1D;N # LEPCHA LETTER HA
++1C1E;N # LEPCHA LETTER HLA
++1C1F;N # LEPCHA LETTER VA
++1C20;N # LEPCHA LETTER SA
++1C21;N # LEPCHA LETTER SHA
++1C22;N # LEPCHA LETTER WA
++1C23;N # LEPCHA LETTER A
++1C24;N # LEPCHA SUBJOINED LETTER YA
++1C25;N # LEPCHA SUBJOINED LETTER RA
++1C26;N # LEPCHA VOWEL SIGN AA
++1C27;N # LEPCHA VOWEL SIGN I
++1C28;N # LEPCHA VOWEL SIGN O
++1C29;N # LEPCHA VOWEL SIGN OO
++1C2A;N # LEPCHA VOWEL SIGN U
++1C2B;N # LEPCHA VOWEL SIGN UU
++1C2C;N # LEPCHA VOWEL SIGN E
++1C2D;N # LEPCHA CONSONANT SIGN K
++1C2E;N # LEPCHA CONSONANT SIGN M
++1C2F;N # LEPCHA CONSONANT SIGN L
++1C30;N # LEPCHA CONSONANT SIGN N
++1C31;N # LEPCHA CONSONANT SIGN P
++1C32;N # LEPCHA CONSONANT SIGN R
++1C33;N # LEPCHA CONSONANT SIGN T
++1C34;N # LEPCHA CONSONANT SIGN NYIN-DO
++1C35;N # LEPCHA CONSONANT SIGN KANG
++1C36;N # LEPCHA SIGN RAN
++1C37;N # LEPCHA SIGN NUKTA
++1C3B;N # LEPCHA PUNCTUATION TA-ROL
++1C3C;N # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
++1C3D;N # LEPCHA PUNCTUATION CER-WA
++1C3E;N # LEPCHA PUNCTUATION TSHOOK CER-WA
++1C3F;N # LEPCHA PUNCTUATION TSHOOK
++1C40;N # LEPCHA DIGIT ZERO
++1C41;N # LEPCHA DIGIT ONE
++1C42;N # LEPCHA DIGIT TWO
++1C43;N # LEPCHA DIGIT THREE
++1C44;N # LEPCHA DIGIT FOUR
++1C45;N # LEPCHA DIGIT FIVE
++1C46;N # LEPCHA DIGIT SIX
++1C47;N # LEPCHA DIGIT SEVEN
++1C48;N # LEPCHA DIGIT EIGHT
++1C49;N # LEPCHA DIGIT NINE
++1C4D;N # LEPCHA LETTER TTA
++1C4E;N # LEPCHA LETTER TTHA
++1C4F;N # LEPCHA LETTER DDA
++1C50;N # OL CHIKI DIGIT ZERO
++1C51;N # OL CHIKI DIGIT ONE
++1C52;N # OL CHIKI DIGIT TWO
++1C53;N # OL CHIKI DIGIT THREE
++1C54;N # OL CHIKI DIGIT FOUR
++1C55;N # OL CHIKI DIGIT FIVE
++1C56;N # OL CHIKI DIGIT SIX
++1C57;N # OL CHIKI DIGIT SEVEN
++1C58;N # OL CHIKI DIGIT EIGHT
++1C59;N # OL CHIKI DIGIT NINE
++1C5A;N # OL CHIKI LETTER LA
++1C5B;N # OL CHIKI LETTER AT
++1C5C;N # OL CHIKI LETTER AG
++1C5D;N # OL CHIKI LETTER ANG
++1C5E;N # OL CHIKI LETTER AL
++1C5F;N # OL CHIKI LETTER LAA
++1C60;N # OL CHIKI LETTER AAK
++1C61;N # OL CHIKI LETTER AAJ
++1C62;N # OL CHIKI LETTER AAM
++1C63;N # OL CHIKI LETTER AAW
++1C64;N # OL CHIKI LETTER LI
++1C65;N # OL CHIKI LETTER IS
++1C66;N # OL CHIKI LETTER IH
++1C67;N # OL CHIKI LETTER INY
++1C68;N # OL CHIKI LETTER IR
++1C69;N # OL CHIKI LETTER LU
++1C6A;N # OL CHIKI LETTER UC
++1C6B;N # OL CHIKI LETTER UD
++1C6C;N # OL CHIKI LETTER UNN
++1C6D;N # OL CHIKI LETTER UY
++1C6E;N # OL CHIKI LETTER LE
++1C6F;N # OL CHIKI LETTER EP
++1C70;N # OL CHIKI LETTER EDD
++1C71;N # OL CHIKI LETTER EN
++1C72;N # OL CHIKI LETTER ERR
++1C73;N # OL CHIKI LETTER LO
++1C74;N # OL CHIKI LETTER OTT
++1C75;N # OL CHIKI LETTER OB
++1C76;N # OL CHIKI LETTER OV
++1C77;N # OL CHIKI LETTER OH
++1C78;N # OL CHIKI MU TTUDDAG
++1C79;N # OL CHIKI GAAHLAA TTUDDAAG
++1C7A;N # OL CHIKI MU-GAAHLAA TTUDDAAG
++1C7B;N # OL CHIKI RELAA
++1C7C;N # OL CHIKI PHAARKAA
++1C7D;N # OL CHIKI AHAD
++1C7E;N # OL CHIKI PUNCTUATION MUCAAD
++1C7F;N # OL CHIKI PUNCTUATION DOUBLE MUCAAD
++1CD0;N # VEDIC TONE KARSHANA
++1CD1;N # VEDIC TONE SHARA
++1CD2;N # VEDIC TONE PRENKHA
++1CD3;N # VEDIC SIGN NIHSHVASA
++1CD4;N # VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
++1CD5;N # VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA
++1CD6;N # VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA
++1CD7;N # VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA
++1CD8;N # VEDIC TONE CANDRA BELOW
++1CD9;N # VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
++1CDA;N # VEDIC TONE DOUBLE SVARITA
++1CDB;N # VEDIC TONE TRIPLE SVARITA
++1CDC;N # VEDIC TONE KATHAKA ANUDATTA
++1CDD;N # VEDIC TONE DOT BELOW
++1CDE;N # VEDIC TONE TWO DOTS BELOW
++1CDF;N # VEDIC TONE THREE DOTS BELOW
++1CE0;N # VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
++1CE1;N # VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
++1CE2;N # VEDIC SIGN VISARGA SVARITA
++1CE3;N # VEDIC SIGN VISARGA UDATTA
++1CE4;N # VEDIC SIGN REVERSED VISARGA UDATTA
++1CE5;N # VEDIC SIGN VISARGA ANUDATTA
++1CE6;N # VEDIC SIGN REVERSED VISARGA ANUDATTA
++1CE7;N # VEDIC SIGN VISARGA UDATTA WITH TAIL
++1CE8;N # VEDIC SIGN VISARGA ANUDATTA WITH TAIL
++1CE9;N # VEDIC SIGN ANUSVARA ANTARGOMUKHA
++1CEA;N # VEDIC SIGN ANUSVARA BAHIRGOMUKHA
++1CEB;N # VEDIC SIGN ANUSVARA VAMAGOMUKHA
++1CEC;N # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
++1CED;N # VEDIC SIGN TIRYAK
++1CEE;N # VEDIC SIGN HEXIFORM LONG ANUSVARA
++1CEF;N # VEDIC SIGN LONG ANUSVARA
++1CF0;N # VEDIC SIGN RTHANG LONG ANUSVARA
++1CF1;N # VEDIC SIGN ANUSVARA UBHAYATO MUKHA
++1CF2;N # VEDIC SIGN ARDHAVISARGA
++1D00;N # LATIN LETTER SMALL CAPITAL A
++1D01;N # LATIN LETTER SMALL CAPITAL AE
++1D02;N # LATIN SMALL LETTER TURNED AE
++1D03;N # LATIN LETTER SMALL CAPITAL BARRED B
++1D04;N # LATIN LETTER SMALL CAPITAL C
++1D05;N # LATIN LETTER SMALL CAPITAL D
++1D06;N # LATIN LETTER SMALL CAPITAL ETH
++1D07;N # LATIN LETTER SMALL CAPITAL E
++1D08;N # LATIN SMALL LETTER TURNED OPEN E
++1D09;N # LATIN SMALL LETTER TURNED I
++1D0A;N # LATIN LETTER SMALL CAPITAL J
++1D0B;N # LATIN LETTER SMALL CAPITAL K
++1D0C;N # LATIN LETTER SMALL CAPITAL L WITH STROKE
++1D0D;N # LATIN LETTER SMALL CAPITAL M
++1D0E;N # LATIN LETTER SMALL CAPITAL REVERSED N
++1D0F;N # LATIN LETTER SMALL CAPITAL O
++1D10;N # LATIN LETTER SMALL CAPITAL OPEN O
++1D11;N # LATIN SMALL LETTER SIDEWAYS O
++1D12;N # LATIN SMALL LETTER SIDEWAYS OPEN O
++1D13;N # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
++1D14;N # LATIN SMALL LETTER TURNED OE
++1D15;N # LATIN LETTER SMALL CAPITAL OU
++1D16;N # LATIN SMALL LETTER TOP HALF O
++1D17;N # LATIN SMALL LETTER BOTTOM HALF O
++1D18;N # LATIN LETTER SMALL CAPITAL P
++1D19;N # LATIN LETTER SMALL CAPITAL REVERSED R
++1D1A;N # LATIN LETTER SMALL CAPITAL TURNED R
++1D1B;N # LATIN LETTER SMALL CAPITAL T
++1D1C;N # LATIN LETTER SMALL CAPITAL U
++1D1D;N # LATIN SMALL LETTER SIDEWAYS U
++1D1E;N # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
++1D1F;N # LATIN SMALL LETTER SIDEWAYS TURNED M
++1D20;N # LATIN LETTER SMALL CAPITAL V
++1D21;N # LATIN LETTER SMALL CAPITAL W
++1D22;N # LATIN LETTER SMALL CAPITAL Z
++1D23;N # LATIN LETTER SMALL CAPITAL EZH
++1D24;N # LATIN LETTER VOICED LARYNGEAL SPIRANT
++1D25;N # LATIN LETTER AIN
++1D26;N # GREEK LETTER SMALL CAPITAL GAMMA
++1D27;N # GREEK LETTER SMALL CAPITAL LAMDA
++1D28;N # GREEK LETTER SMALL CAPITAL PI
++1D29;N # GREEK LETTER SMALL CAPITAL RHO
++1D2A;N # GREEK LETTER SMALL CAPITAL PSI
++1D2B;N # CYRILLIC LETTER SMALL CAPITAL EL
++1D2C;N # MODIFIER LETTER CAPITAL A
++1D2D;N # MODIFIER LETTER CAPITAL AE
++1D2E;N # MODIFIER LETTER CAPITAL B
++1D2F;N # MODIFIER LETTER CAPITAL BARRED B
++1D30;N # MODIFIER LETTER CAPITAL D
++1D31;N # MODIFIER LETTER CAPITAL E
++1D32;N # MODIFIER LETTER CAPITAL REVERSED E
++1D33;N # MODIFIER LETTER CAPITAL G
++1D34;N # MODIFIER LETTER CAPITAL H
++1D35;N # MODIFIER LETTER CAPITAL I
++1D36;N # MODIFIER LETTER CAPITAL J
++1D37;N # MODIFIER LETTER CAPITAL K
++1D38;N # MODIFIER LETTER CAPITAL L
++1D39;N # MODIFIER LETTER CAPITAL M
++1D3A;N # MODIFIER LETTER CAPITAL N
++1D3B;N # MODIFIER LETTER CAPITAL REVERSED N
++1D3C;N # MODIFIER LETTER CAPITAL O
++1D3D;N # MODIFIER LETTER CAPITAL OU
++1D3E;N # MODIFIER LETTER CAPITAL P
++1D3F;N # MODIFIER LETTER CAPITAL R
++1D40;N # MODIFIER LETTER CAPITAL T
++1D41;N # MODIFIER LETTER CAPITAL U
++1D42;N # MODIFIER LETTER CAPITAL W
++1D43;N # MODIFIER LETTER SMALL A
++1D44;N # MODIFIER LETTER SMALL TURNED A
++1D45;N # MODIFIER LETTER SMALL ALPHA
++1D46;N # MODIFIER LETTER SMALL TURNED AE
++1D47;N # MODIFIER LETTER SMALL B
++1D48;N # MODIFIER LETTER SMALL D
++1D49;N # MODIFIER LETTER SMALL E
++1D4A;N # MODIFIER LETTER SMALL SCHWA
++1D4B;N # MODIFIER LETTER SMALL OPEN E
++1D4C;N # MODIFIER LETTER SMALL TURNED OPEN E
++1D4D;N # MODIFIER LETTER SMALL G
++1D4E;N # MODIFIER LETTER SMALL TURNED I
++1D4F;N # MODIFIER LETTER SMALL K
++1D50;N # MODIFIER LETTER SMALL M
++1D51;N # MODIFIER LETTER SMALL ENG
++1D52;N # MODIFIER LETTER SMALL O
++1D53;N # MODIFIER LETTER SMALL OPEN O
++1D54;N # MODIFIER LETTER SMALL TOP HALF O
++1D55;N # MODIFIER LETTER SMALL BOTTOM HALF O
++1D56;N # MODIFIER LETTER SMALL P
++1D57;N # MODIFIER LETTER SMALL T
++1D58;N # MODIFIER LETTER SMALL U
++1D59;N # MODIFIER LETTER SMALL SIDEWAYS U
++1D5A;N # MODIFIER LETTER SMALL TURNED M
++1D5B;N # MODIFIER LETTER SMALL V
++1D5C;N # MODIFIER LETTER SMALL AIN
++1D5D;N # MODIFIER LETTER SMALL BETA
++1D5E;N # MODIFIER LETTER SMALL GREEK GAMMA
++1D5F;N # MODIFIER LETTER SMALL DELTA
++1D60;N # MODIFIER LETTER SMALL GREEK PHI
++1D61;N # MODIFIER LETTER SMALL CHI
++1D62;N # LATIN SUBSCRIPT SMALL LETTER I
++1D63;N # LATIN SUBSCRIPT SMALL LETTER R
++1D64;N # LATIN SUBSCRIPT SMALL LETTER U
++1D65;N # LATIN SUBSCRIPT SMALL LETTER V
++1D66;N # GREEK SUBSCRIPT SMALL LETTER BETA
++1D67;N # GREEK SUBSCRIPT SMALL LETTER GAMMA
++1D68;N # GREEK SUBSCRIPT SMALL LETTER RHO
++1D69;N # GREEK SUBSCRIPT SMALL LETTER PHI
++1D6A;N # GREEK SUBSCRIPT SMALL LETTER CHI
++1D6B;N # LATIN SMALL LETTER UE
++1D6C;N # LATIN SMALL LETTER B WITH MIDDLE TILDE
++1D6D;N # LATIN SMALL LETTER D WITH MIDDLE TILDE
++1D6E;N # LATIN SMALL LETTER F WITH MIDDLE TILDE
++1D6F;N # LATIN SMALL LETTER M WITH MIDDLE TILDE
++1D70;N # LATIN SMALL LETTER N WITH MIDDLE TILDE
++1D71;N # LATIN SMALL LETTER P WITH MIDDLE TILDE
++1D72;N # LATIN SMALL LETTER R WITH MIDDLE TILDE
++1D73;N # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
++1D74;N # LATIN SMALL LETTER S WITH MIDDLE TILDE
++1D75;N # LATIN SMALL LETTER T WITH MIDDLE TILDE
++1D76;N # LATIN SMALL LETTER Z WITH MIDDLE TILDE
++1D77;N # LATIN SMALL LETTER TURNED G
++1D78;N # MODIFIER LETTER CYRILLIC EN
++1D79;N # LATIN SMALL LETTER INSULAR G
++1D7A;N # LATIN SMALL LETTER TH WITH STRIKETHROUGH
++1D7B;N # LATIN SMALL CAPITAL LETTER I WITH STROKE
++1D7C;N # LATIN SMALL LETTER IOTA WITH STROKE
++1D7D;N # LATIN SMALL LETTER P WITH STROKE
++1D7E;N # LATIN SMALL CAPITAL LETTER U WITH STROKE
++1D7F;N # LATIN SMALL LETTER UPSILON WITH STROKE
++1D80;N # LATIN SMALL LETTER B WITH PALATAL HOOK
++1D81;N # LATIN SMALL LETTER D WITH PALATAL HOOK
++1D82;N # LATIN SMALL LETTER F WITH PALATAL HOOK
++1D83;N # LATIN SMALL LETTER G WITH PALATAL HOOK
++1D84;N # LATIN SMALL LETTER K WITH PALATAL HOOK
++1D85;N # LATIN SMALL LETTER L WITH PALATAL HOOK
++1D86;N # LATIN SMALL LETTER M WITH PALATAL HOOK
++1D87;N # LATIN SMALL LETTER N WITH PALATAL HOOK
++1D88;N # LATIN SMALL LETTER P WITH PALATAL HOOK
++1D89;N # LATIN SMALL LETTER R WITH PALATAL HOOK
++1D8A;N # LATIN SMALL LETTER S WITH PALATAL HOOK
++1D8B;N # LATIN SMALL LETTER ESH WITH PALATAL HOOK
++1D8C;N # LATIN SMALL LETTER V WITH PALATAL HOOK
++1D8D;N # LATIN SMALL LETTER X WITH PALATAL HOOK
++1D8E;N # LATIN SMALL LETTER Z WITH PALATAL HOOK
++1D8F;N # LATIN SMALL LETTER A WITH RETROFLEX HOOK
++1D90;N # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
++1D91;N # LATIN SMALL LETTER D WITH HOOK AND TAIL
++1D92;N # LATIN SMALL LETTER E WITH RETROFLEX HOOK
++1D93;N # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
++1D94;N # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
++1D95;N # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
++1D96;N # LATIN SMALL LETTER I WITH RETROFLEX HOOK
++1D97;N # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
++1D98;N # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
++1D99;N # LATIN SMALL LETTER U WITH RETROFLEX HOOK
++1D9A;N # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
++1D9B;N # MODIFIER LETTER SMALL TURNED ALPHA
++1D9C;N # MODIFIER LETTER SMALL C
++1D9D;N # MODIFIER LETTER SMALL C WITH CURL
++1D9E;N # MODIFIER LETTER SMALL ETH
++1D9F;N # MODIFIER LETTER SMALL REVERSED OPEN E
++1DA0;N # MODIFIER LETTER SMALL F
++1DA1;N # MODIFIER LETTER SMALL DOTLESS J WITH STROKE
++1DA2;N # MODIFIER LETTER SMALL SCRIPT G
++1DA3;N # MODIFIER LETTER SMALL TURNED H
++1DA4;N # MODIFIER LETTER SMALL I WITH STROKE
++1DA5;N # MODIFIER LETTER SMALL IOTA
++1DA6;N # MODIFIER LETTER SMALL CAPITAL I
++1DA7;N # MODIFIER LETTER SMALL CAPITAL I WITH STROKE
++1DA8;N # MODIFIER LETTER SMALL J WITH CROSSED-TAIL
++1DA9;N # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
++1DAA;N # MODIFIER LETTER SMALL L WITH PALATAL HOOK
++1DAB;N # MODIFIER LETTER SMALL CAPITAL L
++1DAC;N # MODIFIER LETTER SMALL M WITH HOOK
++1DAD;N # MODIFIER LETTER SMALL TURNED M WITH LONG LEG
++1DAE;N # MODIFIER LETTER SMALL N WITH LEFT HOOK
++1DAF;N # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
++1DB0;N # MODIFIER LETTER SMALL CAPITAL N
++1DB1;N # MODIFIER LETTER SMALL BARRED O
++1DB2;N # MODIFIER LETTER SMALL PHI
++1DB3;N # MODIFIER LETTER SMALL S WITH HOOK
++1DB4;N # MODIFIER LETTER SMALL ESH
++1DB5;N # MODIFIER LETTER SMALL T WITH PALATAL HOOK
++1DB6;N # MODIFIER LETTER SMALL U BAR
++1DB7;N # MODIFIER LETTER SMALL UPSILON
++1DB8;N # MODIFIER LETTER SMALL CAPITAL U
++1DB9;N # MODIFIER LETTER SMALL V WITH HOOK
++1DBA;N # MODIFIER LETTER SMALL TURNED V
++1DBB;N # MODIFIER LETTER SMALL Z
++1DBC;N # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
++1DBD;N # MODIFIER LETTER SMALL Z WITH CURL
++1DBE;N # MODIFIER LETTER SMALL EZH
++1DBF;N # MODIFIER LETTER SMALL THETA
++1DC0;N # COMBINING DOTTED GRAVE ACCENT
++1DC1;N # COMBINING DOTTED ACUTE ACCENT
++1DC2;N # COMBINING SNAKE BELOW
++1DC3;N # COMBINING SUSPENSION MARK
++1DC4;N # COMBINING MACRON-ACUTE
++1DC5;N # COMBINING GRAVE-MACRON
++1DC6;N # COMBINING MACRON-GRAVE
++1DC7;N # COMBINING ACUTE-MACRON
++1DC8;N # COMBINING GRAVE-ACUTE-GRAVE
++1DC9;N # COMBINING ACUTE-GRAVE-ACUTE
++1DCA;N # COMBINING LATIN SMALL LETTER R BELOW
++1DCB;N # COMBINING BREVE-MACRON
++1DCC;N # COMBINING MACRON-BREVE
++1DCD;N # COMBINING DOUBLE CIRCUMFLEX ABOVE
++1DCE;N # COMBINING OGONEK ABOVE
++1DCF;N # COMBINING ZIGZAG BELOW
++1DD0;N # COMBINING IS BELOW
++1DD1;N # COMBINING UR ABOVE
++1DD2;N # COMBINING US ABOVE
++1DD3;N # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
++1DD4;N # COMBINING LATIN SMALL LETTER AE
++1DD5;N # COMBINING LATIN SMALL LETTER AO
++1DD6;N # COMBINING LATIN SMALL LETTER AV
++1DD7;N # COMBINING LATIN SMALL LETTER C CEDILLA
++1DD8;N # COMBINING LATIN SMALL LETTER INSULAR D
++1DD9;N # COMBINING LATIN SMALL LETTER ETH
++1DDA;N # COMBINING LATIN SMALL LETTER G
++1DDB;N # COMBINING LATIN LETTER SMALL CAPITAL G
++1DDC;N # COMBINING LATIN SMALL LETTER K
++1DDD;N # COMBINING LATIN SMALL LETTER L
++1DDE;N # COMBINING LATIN LETTER SMALL CAPITAL L
++1DDF;N # COMBINING LATIN LETTER SMALL CAPITAL M
++1DE0;N # COMBINING LATIN SMALL LETTER N
++1DE1;N # COMBINING LATIN LETTER SMALL CAPITAL N
++1DE2;N # COMBINING LATIN LETTER SMALL CAPITAL R
++1DE3;N # COMBINING LATIN SMALL LETTER R ROTUNDA
++1DE4;N # COMBINING LATIN SMALL LETTER S
++1DE5;N # COMBINING LATIN SMALL LETTER LONG S
++1DE6;N # COMBINING LATIN SMALL LETTER Z
++1DFD;N # COMBINING ALMOST EQUAL TO BELOW
++1DFE;N # COMBINING LEFT ARROWHEAD ABOVE
++1DFF;N # COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
++1E00;N # LATIN CAPITAL LETTER A WITH RING BELOW
++1E01;N # LATIN SMALL LETTER A WITH RING BELOW
++1E02;N # LATIN CAPITAL LETTER B WITH DOT ABOVE
++1E03;N # LATIN SMALL LETTER B WITH DOT ABOVE
++1E04;N # LATIN CAPITAL LETTER B WITH DOT BELOW
++1E05;N # LATIN SMALL LETTER B WITH DOT BELOW
++1E06;N # LATIN CAPITAL LETTER B WITH LINE BELOW
++1E07;N # LATIN SMALL LETTER B WITH LINE BELOW
++1E08;N # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
++1E09;N # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
++1E0A;N # LATIN CAPITAL LETTER D WITH DOT ABOVE
++1E0B;N # LATIN SMALL LETTER D WITH DOT ABOVE
++1E0C;N # LATIN CAPITAL LETTER D WITH DOT BELOW
++1E0D;N # LATIN SMALL LETTER D WITH DOT BELOW
++1E0E;N # LATIN CAPITAL LETTER D WITH LINE BELOW
++1E0F;N # LATIN SMALL LETTER D WITH LINE BELOW
++1E10;N # LATIN CAPITAL LETTER D WITH CEDILLA
++1E11;N # LATIN SMALL LETTER D WITH CEDILLA
++1E12;N # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
++1E13;N # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
++1E14;N # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
++1E15;N # LATIN SMALL LETTER E WITH MACRON AND GRAVE
++1E16;N # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
++1E17;N # LATIN SMALL LETTER E WITH MACRON AND ACUTE
++1E18;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
++1E19;N # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
++1E1A;N # LATIN CAPITAL LETTER E WITH TILDE BELOW
++1E1B;N # LATIN SMALL LETTER E WITH TILDE BELOW
++1E1C;N # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
++1E1D;N # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
++1E1E;N # LATIN CAPITAL LETTER F WITH DOT ABOVE
++1E1F;N # LATIN SMALL LETTER F WITH DOT ABOVE
++1E20;N # LATIN CAPITAL LETTER G WITH MACRON
++1E21;N # LATIN SMALL LETTER G WITH MACRON
++1E22;N # LATIN CAPITAL LETTER H WITH DOT ABOVE
++1E23;N # LATIN SMALL LETTER H WITH DOT ABOVE
++1E24;N # LATIN CAPITAL LETTER H WITH DOT BELOW
++1E25;N # LATIN SMALL LETTER H WITH DOT BELOW
++1E26;N # LATIN CAPITAL LETTER H WITH DIAERESIS
++1E27;N # LATIN SMALL LETTER H WITH DIAERESIS
++1E28;N # LATIN CAPITAL LETTER H WITH CEDILLA
++1E29;N # LATIN SMALL LETTER H WITH CEDILLA
++1E2A;N # LATIN CAPITAL LETTER H WITH BREVE BELOW
++1E2B;N # LATIN SMALL LETTER H WITH BREVE BELOW
++1E2C;N # LATIN CAPITAL LETTER I WITH TILDE BELOW
++1E2D;N # LATIN SMALL LETTER I WITH TILDE BELOW
++1E2E;N # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
++1E2F;N # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
++1E30;N # LATIN CAPITAL LETTER K WITH ACUTE
++1E31;N # LATIN SMALL LETTER K WITH ACUTE
++1E32;N # LATIN CAPITAL LETTER K WITH DOT BELOW
++1E33;N # LATIN SMALL LETTER K WITH DOT BELOW
++1E34;N # LATIN CAPITAL LETTER K WITH LINE BELOW
++1E35;N # LATIN SMALL LETTER K WITH LINE BELOW
++1E36;N # LATIN CAPITAL LETTER L WITH DOT BELOW
++1E37;N # LATIN SMALL LETTER L WITH DOT BELOW
++1E38;N # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
++1E39;N # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
++1E3A;N # LATIN CAPITAL LETTER L WITH LINE BELOW
++1E3B;N # LATIN SMALL LETTER L WITH LINE BELOW
++1E3C;N # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
++1E3D;N # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
++1E3E;N # LATIN CAPITAL LETTER M WITH ACUTE
++1E3F;N # LATIN SMALL LETTER M WITH ACUTE
++1E40;N # LATIN CAPITAL LETTER M WITH DOT ABOVE
++1E41;N # LATIN SMALL LETTER M WITH DOT ABOVE
++1E42;N # LATIN CAPITAL LETTER M WITH DOT BELOW
++1E43;N # LATIN SMALL LETTER M WITH DOT BELOW
++1E44;N # LATIN CAPITAL LETTER N WITH DOT ABOVE
++1E45;N # LATIN SMALL LETTER N WITH DOT ABOVE
++1E46;N # LATIN CAPITAL LETTER N WITH DOT BELOW
++1E47;N # LATIN SMALL LETTER N WITH DOT BELOW
++1E48;N # LATIN CAPITAL LETTER N WITH LINE BELOW
++1E49;N # LATIN SMALL LETTER N WITH LINE BELOW
++1E4A;N # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
++1E4B;N # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
++1E4C;N # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
++1E4D;N # LATIN SMALL LETTER O WITH TILDE AND ACUTE
++1E4E;N # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
++1E4F;N # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
++1E50;N # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
++1E51;N # LATIN SMALL LETTER O WITH MACRON AND GRAVE
++1E52;N # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
++1E53;N # LATIN SMALL LETTER O WITH MACRON AND ACUTE
++1E54;N # LATIN CAPITAL LETTER P WITH ACUTE
++1E55;N # LATIN SMALL LETTER P WITH ACUTE
++1E56;N # LATIN CAPITAL LETTER P WITH DOT ABOVE
++1E57;N # LATIN SMALL LETTER P WITH DOT ABOVE
++1E58;N # LATIN CAPITAL LETTER R WITH DOT ABOVE
++1E59;N # LATIN SMALL LETTER R WITH DOT ABOVE
++1E5A;N # LATIN CAPITAL LETTER R WITH DOT BELOW
++1E5B;N # LATIN SMALL LETTER R WITH DOT BELOW
++1E5C;N # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
++1E5D;N # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
++1E5E;N # LATIN CAPITAL LETTER R WITH LINE BELOW
++1E5F;N # LATIN SMALL LETTER R WITH LINE BELOW
++1E60;N # LATIN CAPITAL LETTER S WITH DOT ABOVE
++1E61;N # LATIN SMALL LETTER S WITH DOT ABOVE
++1E62;N # LATIN CAPITAL LETTER S WITH DOT BELOW
++1E63;N # LATIN SMALL LETTER S WITH DOT BELOW
++1E64;N # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
++1E65;N # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
++1E66;N # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
++1E67;N # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
++1E68;N # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
++1E69;N # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
++1E6A;N # LATIN CAPITAL LETTER T WITH DOT ABOVE
++1E6B;N # LATIN SMALL LETTER T WITH DOT ABOVE
++1E6C;N # LATIN CAPITAL LETTER T WITH DOT BELOW
++1E6D;N # LATIN SMALL LETTER T WITH DOT BELOW
++1E6E;N # LATIN CAPITAL LETTER T WITH LINE BELOW
++1E6F;N # LATIN SMALL LETTER T WITH LINE BELOW
++1E70;N # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
++1E71;N # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
++1E72;N # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
++1E73;N # LATIN SMALL LETTER U WITH DIAERESIS BELOW
++1E74;N # LATIN CAPITAL LETTER U WITH TILDE BELOW
++1E75;N # LATIN SMALL LETTER U WITH TILDE BELOW
++1E76;N # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
++1E77;N # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
++1E78;N # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
++1E79;N # LATIN SMALL LETTER U WITH TILDE AND ACUTE
++1E7A;N # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
++1E7B;N # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
++1E7C;N # LATIN CAPITAL LETTER V WITH TILDE
++1E7D;N # LATIN SMALL LETTER V WITH TILDE
++1E7E;N # LATIN CAPITAL LETTER V WITH DOT BELOW
++1E7F;N # LATIN SMALL LETTER V WITH DOT BELOW
++1E80;N # LATIN CAPITAL LETTER W WITH GRAVE
++1E81;N # LATIN SMALL LETTER W WITH GRAVE
++1E82;N # LATIN CAPITAL LETTER W WITH ACUTE
++1E83;N # LATIN SMALL LETTER W WITH ACUTE
++1E84;N # LATIN CAPITAL LETTER W WITH DIAERESIS
++1E85;N # LATIN SMALL LETTER W WITH DIAERESIS
++1E86;N # LATIN CAPITAL LETTER W WITH DOT ABOVE
++1E87;N # LATIN SMALL LETTER W WITH DOT ABOVE
++1E88;N # LATIN CAPITAL LETTER W WITH DOT BELOW
++1E89;N # LATIN SMALL LETTER W WITH DOT BELOW
++1E8A;N # LATIN CAPITAL LETTER X WITH DOT ABOVE
++1E8B;N # LATIN SMALL LETTER X WITH DOT ABOVE
++1E8C;N # LATIN CAPITAL LETTER X WITH DIAERESIS
++1E8D;N # LATIN SMALL LETTER X WITH DIAERESIS
++1E8E;N # LATIN CAPITAL LETTER Y WITH DOT ABOVE
++1E8F;N # LATIN SMALL LETTER Y WITH DOT ABOVE
++1E90;N # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
++1E91;N # LATIN SMALL LETTER Z WITH CIRCUMFLEX
++1E92;N # LATIN CAPITAL LETTER Z WITH DOT BELOW
++1E93;N # LATIN SMALL LETTER Z WITH DOT BELOW
++1E94;N # LATIN CAPITAL LETTER Z WITH LINE BELOW
++1E95;N # LATIN SMALL LETTER Z WITH LINE BELOW
++1E96;N # LATIN SMALL LETTER H WITH LINE BELOW
++1E97;N # LATIN SMALL LETTER T WITH DIAERESIS
++1E98;N # LATIN SMALL LETTER W WITH RING ABOVE
++1E99;N # LATIN SMALL LETTER Y WITH RING ABOVE
++1E9A;N # LATIN SMALL LETTER A WITH RIGHT HALF RING
++1E9B;N # LATIN SMALL LETTER LONG S WITH DOT ABOVE
++1E9C;N # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
++1E9D;N # LATIN SMALL LETTER LONG S WITH HIGH STROKE
++1E9E;N # LATIN CAPITAL LETTER SHARP S
++1E9F;N # LATIN SMALL LETTER DELTA
++1EA0;N # LATIN CAPITAL LETTER A WITH DOT BELOW
++1EA1;N # LATIN SMALL LETTER A WITH DOT BELOW
++1EA2;N # LATIN CAPITAL LETTER A WITH HOOK ABOVE
++1EA3;N # LATIN SMALL LETTER A WITH HOOK ABOVE
++1EA4;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
++1EA5;N # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
++1EA6;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
++1EA7;N # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
++1EA8;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
++1EA9;N # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
++1EAA;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
++1EAB;N # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
++1EAC;N # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
++1EAD;N # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
++1EAE;N # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
++1EAF;N # LATIN SMALL LETTER A WITH BREVE AND ACUTE
++1EB0;N # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
++1EB1;N # LATIN SMALL LETTER A WITH BREVE AND GRAVE
++1EB2;N # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
++1EB3;N # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
++1EB4;N # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
++1EB5;N # LATIN SMALL LETTER A WITH BREVE AND TILDE
++1EB6;N # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
++1EB7;N # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
++1EB8;N # LATIN CAPITAL LETTER E WITH DOT BELOW
++1EB9;N # LATIN SMALL LETTER E WITH DOT BELOW
++1EBA;N # LATIN CAPITAL LETTER E WITH HOOK ABOVE
++1EBB;N # LATIN SMALL LETTER E WITH HOOK ABOVE
++1EBC;N # LATIN CAPITAL LETTER E WITH TILDE
++1EBD;N # LATIN SMALL LETTER E WITH TILDE
++1EBE;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
++1EBF;N # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
++1EC0;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
++1EC1;N # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
++1EC2;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
++1EC3;N # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
++1EC4;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
++1EC5;N # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
++1EC6;N # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
++1EC7;N # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
++1EC8;N # LATIN CAPITAL LETTER I WITH HOOK ABOVE
++1EC9;N # LATIN SMALL LETTER I WITH HOOK ABOVE
++1ECA;N # LATIN CAPITAL LETTER I WITH DOT BELOW
++1ECB;N # LATIN SMALL LETTER I WITH DOT BELOW
++1ECC;N # LATIN CAPITAL LETTER O WITH DOT BELOW
++1ECD;N # LATIN SMALL LETTER O WITH DOT BELOW
++1ECE;N # LATIN CAPITAL LETTER O WITH HOOK ABOVE
++1ECF;N # LATIN SMALL LETTER O WITH HOOK ABOVE
++1ED0;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
++1ED1;N # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
++1ED2;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
++1ED3;N # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
++1ED4;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
++1ED5;N # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
++1ED6;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
++1ED7;N # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
++1ED8;N # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
++1ED9;N # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
++1EDA;N # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
++1EDB;N # LATIN SMALL LETTER O WITH HORN AND ACUTE
++1EDC;N # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
++1EDD;N # LATIN SMALL LETTER O WITH HORN AND GRAVE
++1EDE;N # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
++1EDF;N # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
++1EE0;N # LATIN CAPITAL LETTER O WITH HORN AND TILDE
++1EE1;N # LATIN SMALL LETTER O WITH HORN AND TILDE
++1EE2;N # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
++1EE3;N # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
++1EE4;N # LATIN CAPITAL LETTER U WITH DOT BELOW
++1EE5;N # LATIN SMALL LETTER U WITH DOT BELOW
++1EE6;N # LATIN CAPITAL LETTER U WITH HOOK ABOVE
++1EE7;N # LATIN SMALL LETTER U WITH HOOK ABOVE
++1EE8;N # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
++1EE9;N # LATIN SMALL LETTER U WITH HORN AND ACUTE
++1EEA;N # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
++1EEB;N # LATIN SMALL LETTER U WITH HORN AND GRAVE
++1EEC;N # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
++1EED;N # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
++1EEE;N # LATIN CAPITAL LETTER U WITH HORN AND TILDE
++1EEF;N # LATIN SMALL LETTER U WITH HORN AND TILDE
++1EF0;N # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
++1EF1;N # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
++1EF2;N # LATIN CAPITAL LETTER Y WITH GRAVE
++1EF3;N # LATIN SMALL LETTER Y WITH GRAVE
++1EF4;N # LATIN CAPITAL LETTER Y WITH DOT BELOW
++1EF5;N # LATIN SMALL LETTER Y WITH DOT BELOW
++1EF6;N # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
++1EF7;N # LATIN SMALL LETTER Y WITH HOOK ABOVE
++1EF8;N # LATIN CAPITAL LETTER Y WITH TILDE
++1EF9;N # LATIN SMALL LETTER Y WITH TILDE
++1EFA;N # LATIN CAPITAL LETTER MIDDLE-WELSH LL
++1EFB;N # LATIN SMALL LETTER MIDDLE-WELSH LL
++1EFC;N # LATIN CAPITAL LETTER MIDDLE-WELSH V
++1EFD;N # LATIN SMALL LETTER MIDDLE-WELSH V
++1EFE;N # LATIN CAPITAL LETTER Y WITH LOOP
++1EFF;N # LATIN SMALL LETTER Y WITH LOOP
++1F00;N # GREEK SMALL LETTER ALPHA WITH PSILI
++1F01;N # GREEK SMALL LETTER ALPHA WITH DASIA
++1F02;N # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
++1F03;N # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
++1F04;N # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
++1F05;N # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
++1F06;N # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
++1F07;N # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
++1F08;N # GREEK CAPITAL LETTER ALPHA WITH PSILI
++1F09;N # GREEK CAPITAL LETTER ALPHA WITH DASIA
++1F0A;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
++1F0B;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
++1F0C;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
++1F0D;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
++1F0E;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
++1F0F;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
++1F10;N # GREEK SMALL LETTER EPSILON WITH PSILI
++1F11;N # GREEK SMALL LETTER EPSILON WITH DASIA
++1F12;N # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
++1F13;N # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
++1F14;N # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
++1F15;N # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
++1F18;N # GREEK CAPITAL LETTER EPSILON WITH PSILI
++1F19;N # GREEK CAPITAL LETTER EPSILON WITH DASIA
++1F1A;N # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
++1F1B;N # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
++1F1C;N # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
++1F1D;N # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
++1F20;N # GREEK SMALL LETTER ETA WITH PSILI
++1F21;N # GREEK SMALL LETTER ETA WITH DASIA
++1F22;N # GREEK SMALL LETTER ETA WITH PSILI AND VARIA
++1F23;N # GREEK SMALL LETTER ETA WITH DASIA AND VARIA
++1F24;N # GREEK SMALL LETTER ETA WITH PSILI AND OXIA
++1F25;N # GREEK SMALL LETTER ETA WITH DASIA AND OXIA
++1F26;N # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
++1F27;N # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
++1F28;N # GREEK CAPITAL LETTER ETA WITH PSILI
++1F29;N # GREEK CAPITAL LETTER ETA WITH DASIA
++1F2A;N # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
++1F2B;N # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
++1F2C;N # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
++1F2D;N # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
++1F2E;N # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
++1F2F;N # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
++1F30;N # GREEK SMALL LETTER IOTA WITH PSILI
++1F31;N # GREEK SMALL LETTER IOTA WITH DASIA
++1F32;N # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
++1F33;N # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
++1F34;N # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
++1F35;N # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
++1F36;N # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
++1F37;N # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
++1F38;N # GREEK CAPITAL LETTER IOTA WITH PSILI
++1F39;N # GREEK CAPITAL LETTER IOTA WITH DASIA
++1F3A;N # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
++1F3B;N # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
++1F3C;N # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
++1F3D;N # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
++1F3E;N # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
++1F3F;N # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
++1F40;N # GREEK SMALL LETTER OMICRON WITH PSILI
++1F41;N # GREEK SMALL LETTER OMICRON WITH DASIA
++1F42;N # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
++1F43;N # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
++1F44;N # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
++1F45;N # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
++1F48;N # GREEK CAPITAL LETTER OMICRON WITH PSILI
++1F49;N # GREEK CAPITAL LETTER OMICRON WITH DASIA
++1F4A;N # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
++1F4B;N # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
++1F4C;N # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
++1F4D;N # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
++1F50;N # GREEK SMALL LETTER UPSILON WITH PSILI
++1F51;N # GREEK SMALL LETTER UPSILON WITH DASIA
++1F52;N # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
++1F53;N # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
++1F54;N # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
++1F55;N # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
++1F56;N # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
++1F57;N # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
++1F59;N # GREEK CAPITAL LETTER UPSILON WITH DASIA
++1F5B;N # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
++1F5D;N # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
++1F5F;N # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
++1F60;N # GREEK SMALL LETTER OMEGA WITH PSILI
++1F61;N # GREEK SMALL LETTER OMEGA WITH DASIA
++1F62;N # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
++1F63;N # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
++1F64;N # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
++1F65;N # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
++1F66;N # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
++1F67;N # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
++1F68;N # GREEK CAPITAL LETTER OMEGA WITH PSILI
++1F69;N # GREEK CAPITAL LETTER OMEGA WITH DASIA
++1F6A;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
++1F6B;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
++1F6C;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
++1F6D;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
++1F6E;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
++1F6F;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
++1F70;N # GREEK SMALL LETTER ALPHA WITH VARIA
++1F71;N # GREEK SMALL LETTER ALPHA WITH OXIA
++1F72;N # GREEK SMALL LETTER EPSILON WITH VARIA
++1F73;N # GREEK SMALL LETTER EPSILON WITH OXIA
++1F74;N # GREEK SMALL LETTER ETA WITH VARIA
++1F75;N # GREEK SMALL LETTER ETA WITH OXIA
++1F76;N # GREEK SMALL LETTER IOTA WITH VARIA
++1F77;N # GREEK SMALL LETTER IOTA WITH OXIA
++1F78;N # GREEK SMALL LETTER OMICRON WITH VARIA
++1F79;N # GREEK SMALL LETTER OMICRON WITH OXIA
++1F7A;N # GREEK SMALL LETTER UPSILON WITH VARIA
++1F7B;N # GREEK SMALL LETTER UPSILON WITH OXIA
++1F7C;N # GREEK SMALL LETTER OMEGA WITH VARIA
++1F7D;N # GREEK SMALL LETTER OMEGA WITH OXIA
++1F80;N # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
++1F81;N # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
++1F82;N # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
++1F83;N # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
++1F84;N # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
++1F85;N # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
++1F86;N # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
++1F87;N # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
++1F88;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
++1F89;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
++1F8A;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
++1F8B;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
++1F8C;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
++1F8D;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
++1F8E;N # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
++1F8F;N # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
++1F90;N # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
++1F91;N # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
++1F92;N # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
++1F93;N # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
++1F94;N # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
++1F95;N # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
++1F96;N # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
++1F97;N # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
++1F98;N # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
++1F99;N # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
++1F9A;N # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
++1F9B;N # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
++1F9C;N # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
++1F9D;N # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
++1F9E;N # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
++1F9F;N # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
++1FA0;N # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
++1FA1;N # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
++1FA2;N # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
++1FA3;N # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
++1FA4;N # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
++1FA5;N # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
++1FA6;N # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
++1FA7;N # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
++1FA8;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
++1FA9;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
++1FAA;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
++1FAB;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
++1FAC;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
++1FAD;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
++1FAE;N # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
++1FAF;N # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
++1FB0;N # GREEK SMALL LETTER ALPHA WITH VRACHY
++1FB1;N # GREEK SMALL LETTER ALPHA WITH MACRON
++1FB2;N # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
++1FB3;N # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
++1FB4;N # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
++1FB6;N # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
++1FB7;N # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
++1FB8;N # GREEK CAPITAL LETTER ALPHA WITH VRACHY
++1FB9;N # GREEK CAPITAL LETTER ALPHA WITH MACRON
++1FBA;N # GREEK CAPITAL LETTER ALPHA WITH VARIA
++1FBB;N # GREEK CAPITAL LETTER ALPHA WITH OXIA
++1FBC;N # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
++1FBD;N # GREEK KORONIS
++1FBE;N # GREEK PROSGEGRAMMENI
++1FBF;N # GREEK PSILI
++1FC0;N # GREEK PERISPOMENI
++1FC1;N # GREEK DIALYTIKA AND PERISPOMENI
++1FC2;N # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
++1FC3;N # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
++1FC4;N # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
++1FC6;N # GREEK SMALL LETTER ETA WITH PERISPOMENI
++1FC7;N # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
++1FC8;N # GREEK CAPITAL LETTER EPSILON WITH VARIA
++1FC9;N # GREEK CAPITAL LETTER EPSILON WITH OXIA
++1FCA;N # GREEK CAPITAL LETTER ETA WITH VARIA
++1FCB;N # GREEK CAPITAL LETTER ETA WITH OXIA
++1FCC;N # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
++1FCD;N # GREEK PSILI AND VARIA
++1FCE;N # GREEK PSILI AND OXIA
++1FCF;N # GREEK PSILI AND PERISPOMENI
++1FD0;N # GREEK SMALL LETTER IOTA WITH VRACHY
++1FD1;N # GREEK SMALL LETTER IOTA WITH MACRON
++1FD2;N # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
++1FD3;N # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
++1FD6;N # GREEK SMALL LETTER IOTA WITH PERISPOMENI
++1FD7;N # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
++1FD8;N # GREEK CAPITAL LETTER IOTA WITH VRACHY
++1FD9;N # GREEK CAPITAL LETTER IOTA WITH MACRON
++1FDA;N # GREEK CAPITAL LETTER IOTA WITH VARIA
++1FDB;N # GREEK CAPITAL LETTER IOTA WITH OXIA
++1FDD;N # GREEK DASIA AND VARIA
++1FDE;N # GREEK DASIA AND OXIA
++1FDF;N # GREEK DASIA AND PERISPOMENI
++1FE0;N # GREEK SMALL LETTER UPSILON WITH VRACHY
++1FE1;N # GREEK SMALL LETTER UPSILON WITH MACRON
++1FE2;N # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
++1FE3;N # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
++1FE4;N # GREEK SMALL LETTER RHO WITH PSILI
++1FE5;N # GREEK SMALL LETTER RHO WITH DASIA
++1FE6;N # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
++1FE7;N # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
++1FE8;N # GREEK CAPITAL LETTER UPSILON WITH VRACHY
++1FE9;N # GREEK CAPITAL LETTER UPSILON WITH MACRON
++1FEA;N # GREEK CAPITAL LETTER UPSILON WITH VARIA
++1FEB;N # GREEK CAPITAL LETTER UPSILON WITH OXIA
++1FEC;N # GREEK CAPITAL LETTER RHO WITH DASIA
++1FED;N # GREEK DIALYTIKA AND VARIA
++1FEE;N # GREEK DIALYTIKA AND OXIA
++1FEF;N # GREEK VARIA
++1FF2;N # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
++1FF3;N # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
++1FF4;N # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
++1FF6;N # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
++1FF7;N # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
++1FF8;N # GREEK CAPITAL LETTER OMICRON WITH VARIA
++1FF9;N # GREEK CAPITAL LETTER OMICRON WITH OXIA
++1FFA;N # GREEK CAPITAL LETTER OMEGA WITH VARIA
++1FFB;N # GREEK CAPITAL LETTER OMEGA WITH OXIA
++1FFC;N # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
++1FFD;N # GREEK OXIA
++1FFE;N # GREEK DASIA
++2000;N # EN QUAD
++2001;N # EM QUAD
++2002;N # EN SPACE
++2003;N # EM SPACE
++2004;N # THREE-PER-EM SPACE
++2005;N # FOUR-PER-EM SPACE
++2006;N # SIX-PER-EM SPACE
++2007;N # FIGURE SPACE
++2008;N # PUNCTUATION SPACE
++2009;N # THIN SPACE
++200A;N # HAIR SPACE
++200B;N # ZERO WIDTH SPACE
++200C;N # ZERO WIDTH NON-JOINER
++200D;N # ZERO WIDTH JOINER
++200E;N # LEFT-TO-RIGHT MARK
++200F;N # RIGHT-TO-LEFT MARK
++2010;A # HYPHEN
++2011;N # NON-BREAKING HYPHEN
++2012;N # FIGURE DASH
++2013;A # EN DASH
++2014;A # EM DASH
++2015;A # HORIZONTAL BAR
++2016;A # DOUBLE VERTICAL LINE
++2017;N # DOUBLE LOW LINE
++2018;A # LEFT SINGLE QUOTATION MARK
++2019;A # RIGHT SINGLE QUOTATION MARK
++201A;N # SINGLE LOW-9 QUOTATION MARK
++201B;N # SINGLE HIGH-REVERSED-9 QUOTATION MARK
++201C;A # LEFT DOUBLE QUOTATION MARK
++201D;A # RIGHT DOUBLE QUOTATION MARK
++201E;N # DOUBLE LOW-9 QUOTATION MARK
++201F;N # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
++2020;A # DAGGER
++2021;A # DOUBLE DAGGER
++2022;A # BULLET
++2023;N # TRIANGULAR BULLET
++2024;A # ONE DOT LEADER
++2025;A # TWO DOT LEADER
++2026;A # HORIZONTAL ELLIPSIS
++2027;A # HYPHENATION POINT
++2028;N # LINE SEPARATOR
++2029;N # PARAGRAPH SEPARATOR
++202A;N # LEFT-TO-RIGHT EMBEDDING
++202B;N # RIGHT-TO-LEFT EMBEDDING
++202C;N # POP DIRECTIONAL FORMATTING
++202D;N # LEFT-TO-RIGHT OVERRIDE
++202E;N # RIGHT-TO-LEFT OVERRIDE
++202F;N # NARROW NO-BREAK SPACE
++2030;A # PER MILLE SIGN
++2031;N # PER TEN THOUSAND SIGN
++2032;A # PRIME
++2033;A # DOUBLE PRIME
++2034;N # TRIPLE PRIME
++2035;A # REVERSED PRIME
++2036;N # REVERSED DOUBLE PRIME
++2037;N # REVERSED TRIPLE PRIME
++2038;N # CARET
++2039;N # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
++203A;N # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
++203B;A # REFERENCE MARK
++203C;N # DOUBLE EXCLAMATION MARK
++203D;N # INTERROBANG
++203E;A # OVERLINE
++203F;N # UNDERTIE
++2040;N # CHARACTER TIE
++2041;N # CARET INSERTION POINT
++2042;N # ASTERISM
++2043;N # HYPHEN BULLET
++2044;N # FRACTION SLASH
++2045;N # LEFT SQUARE BRACKET WITH QUILL
++2046;N # RIGHT SQUARE BRACKET WITH QUILL
++2047;N # DOUBLE QUESTION MARK
++2048;N # QUESTION EXCLAMATION MARK
++2049;N # EXCLAMATION QUESTION MARK
++204A;N # TIRONIAN SIGN ET
++204B;N # REVERSED PILCROW SIGN
++204C;N # BLACK LEFTWARDS BULLET
++204D;N # BLACK RIGHTWARDS BULLET
++204E;N # LOW ASTERISK
++204F;N # REVERSED SEMICOLON
++2050;N # CLOSE UP
++2051;N # TWO ASTERISKS ALIGNED VERTICALLY
++2052;N # COMMERCIAL MINUS SIGN
++2053;N # SWUNG DASH
++2054;N # INVERTED UNDERTIE
++2055;N # FLOWER PUNCTUATION MARK
++2056;N # THREE DOT PUNCTUATION
++2057;N # QUADRUPLE PRIME
++2058;N # FOUR DOT PUNCTUATION
++2059;N # FIVE DOT PUNCTUATION
++205A;N # TWO DOT PUNCTUATION
++205B;N # FOUR DOT MARK
++205C;N # DOTTED CROSS
++205D;N # TRICOLON
++205E;N # VERTICAL FOUR DOTS
++205F;N # MEDIUM MATHEMATICAL SPACE
++2060;N # WORD JOINER
++2061;N # FUNCTION APPLICATION
++2062;N # INVISIBLE TIMES
++2063;N # INVISIBLE SEPARATOR
++2064;N # INVISIBLE PLUS
++206A;N # INHIBIT SYMMETRIC SWAPPING
++206B;N # ACTIVATE SYMMETRIC SWAPPING
++206C;N # INHIBIT ARABIC FORM SHAPING
++206D;N # ACTIVATE ARABIC FORM SHAPING
++206E;N # NATIONAL DIGIT SHAPES
++206F;N # NOMINAL DIGIT SHAPES
++2070;N # SUPERSCRIPT ZERO
++2071;N # SUPERSCRIPT LATIN SMALL LETTER I
++2074;A # SUPERSCRIPT FOUR
++2075;N # SUPERSCRIPT FIVE
++2076;N # SUPERSCRIPT SIX
++2077;N # SUPERSCRIPT SEVEN
++2078;N # SUPERSCRIPT EIGHT
++2079;N # SUPERSCRIPT NINE
++207A;N # SUPERSCRIPT PLUS SIGN
++207B;N # SUPERSCRIPT MINUS
++207C;N # SUPERSCRIPT EQUALS SIGN
++207D;N # SUPERSCRIPT LEFT PARENTHESIS
++207E;N # SUPERSCRIPT RIGHT PARENTHESIS
++207F;A # SUPERSCRIPT LATIN SMALL LETTER N
++2080;N # SUBSCRIPT ZERO
++2081;A # SUBSCRIPT ONE
++2082;A # SUBSCRIPT TWO
++2083;A # SUBSCRIPT THREE
++2084;A # SUBSCRIPT FOUR
++2085;N # SUBSCRIPT FIVE
++2086;N # SUBSCRIPT SIX
++2087;N # SUBSCRIPT SEVEN
++2088;N # SUBSCRIPT EIGHT
++2089;N # SUBSCRIPT NINE
++208A;N # SUBSCRIPT PLUS SIGN
++208B;N # SUBSCRIPT MINUS
++208C;N # SUBSCRIPT EQUALS SIGN
++208D;N # SUBSCRIPT LEFT PARENTHESIS
++208E;N # SUBSCRIPT RIGHT PARENTHESIS
++2090;N # LATIN SUBSCRIPT SMALL LETTER A
++2091;N # LATIN SUBSCRIPT SMALL LETTER E
++2092;N # LATIN SUBSCRIPT SMALL LETTER O
++2093;N # LATIN SUBSCRIPT SMALL LETTER X
++2094;N # LATIN SUBSCRIPT SMALL LETTER SCHWA
++20A0;N # EURO-CURRENCY SIGN
++20A1;N # COLON SIGN
++20A2;N # CRUZEIRO SIGN
++20A3;N # FRENCH FRANC SIGN
++20A4;N # LIRA SIGN
++20A5;N # MILL SIGN
++20A6;N # NAIRA SIGN
++20A7;N # PESETA SIGN
++20A8;N # RUPEE SIGN
++20A9;H # WON SIGN
++20AA;N # NEW SHEQEL SIGN
++20AB;N # DONG SIGN
++20AC;A # EURO SIGN
++20AD;N # KIP SIGN
++20AE;N # TUGRIK SIGN
++20AF;N # DRACHMA SIGN
++20B0;N # GERMAN PENNY SIGN
++20B1;N # PESO SIGN
++20B2;N # GUARANI SIGN
++20B3;N # AUSTRAL SIGN
++20B4;N # HRYVNIA SIGN
++20B5;N # CEDI SIGN
++20B6;N # LIVRE TOURNOIS SIGN
++20B7;N # SPESMILO SIGN
++20B8;N # TENGE SIGN
++20D0;N # COMBINING LEFT HARPOON ABOVE
++20D1;N # COMBINING RIGHT HARPOON ABOVE
++20D2;N # COMBINING LONG VERTICAL LINE OVERLAY
++20D3;N # COMBINING SHORT VERTICAL LINE OVERLAY
++20D4;N # COMBINING ANTICLOCKWISE ARROW ABOVE
++20D5;N # COMBINING CLOCKWISE ARROW ABOVE
++20D6;N # COMBINING LEFT ARROW ABOVE
++20D7;N # COMBINING RIGHT ARROW ABOVE
++20D8;N # COMBINING RING OVERLAY
++20D9;N # COMBINING CLOCKWISE RING OVERLAY
++20DA;N # COMBINING ANTICLOCKWISE RING OVERLAY
++20DB;N # COMBINING THREE DOTS ABOVE
++20DC;N # COMBINING FOUR DOTS ABOVE
++20DD;N # COMBINING ENCLOSING CIRCLE
++20DE;N # COMBINING ENCLOSING SQUARE
++20DF;N # COMBINING ENCLOSING DIAMOND
++20E0;N # COMBINING ENCLOSING CIRCLE BACKSLASH
++20E1;N # COMBINING LEFT RIGHT ARROW ABOVE
++20E2;N # COMBINING ENCLOSING SCREEN
++20E3;N # COMBINING ENCLOSING KEYCAP
++20E4;N # COMBINING ENCLOSING UPWARD POINTING TRIANGLE
++20E5;N # COMBINING REVERSE SOLIDUS OVERLAY
++20E6;N # COMBINING DOUBLE VERTICAL STROKE OVERLAY
++20E7;N # COMBINING ANNUITY SYMBOL
++20E8;N # COMBINING TRIPLE UNDERDOT
++20E9;N # COMBINING WIDE BRIDGE ABOVE
++20EA;N # COMBINING LEFTWARDS ARROW OVERLAY
++20EB;N # COMBINING LONG DOUBLE SOLIDUS OVERLAY
++20EC;N # COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS
++20ED;N # COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS
++20EE;N # COMBINING LEFT ARROW BELOW
++20EF;N # COMBINING RIGHT ARROW BELOW
++20F0;N # COMBINING ASTERISK ABOVE
++2100;N # ACCOUNT OF
++2101;N # ADDRESSED TO THE SUBJECT
++2102;N # DOUBLE-STRUCK CAPITAL C
++2103;A # DEGREE CELSIUS
++2104;N # CENTRE LINE SYMBOL
++2105;A # CARE OF
++2106;N # CADA UNA
++2107;N # EULER CONSTANT
++2108;N # SCRUPLE
++2109;A # DEGREE FAHRENHEIT
++210A;N # SCRIPT SMALL G
++210B;N # SCRIPT CAPITAL H
++210C;N # BLACK-LETTER CAPITAL H
++210D;N # DOUBLE-STRUCK CAPITAL H
++210E;N # PLANCK CONSTANT
++210F;N # PLANCK CONSTANT OVER TWO PI
++2110;N # SCRIPT CAPITAL I
++2111;N # BLACK-LETTER CAPITAL I
++2112;N # SCRIPT CAPITAL L
++2113;A # SCRIPT SMALL L
++2114;N # L B BAR SYMBOL
++2115;N # DOUBLE-STRUCK CAPITAL N
++2116;A # NUMERO SIGN
++2117;N # SOUND RECORDING COPYRIGHT
++2118;N # SCRIPT CAPITAL P
++2119;N # DOUBLE-STRUCK CAPITAL P
++211A;N # DOUBLE-STRUCK CAPITAL Q
++211B;N # SCRIPT CAPITAL R
++211C;N # BLACK-LETTER CAPITAL R
++211D;N # DOUBLE-STRUCK CAPITAL R
++211E;N # PRESCRIPTION TAKE
++211F;N # RESPONSE
++2120;N # SERVICE MARK
++2121;A # TELEPHONE SIGN
++2122;A # TRADE MARK SIGN
++2123;N # VERSICLE
++2124;N # DOUBLE-STRUCK CAPITAL Z
++2125;N # OUNCE SIGN
++2126;A # OHM SIGN
++2127;N # INVERTED OHM SIGN
++2128;N # BLACK-LETTER CAPITAL Z
++2129;N # TURNED GREEK SMALL LETTER IOTA
++212A;N # KELVIN SIGN
++212B;A # ANGSTROM SIGN
++212C;N # SCRIPT CAPITAL B
++212D;N # BLACK-LETTER CAPITAL C
++212E;N # ESTIMATED SYMBOL
++212F;N # SCRIPT SMALL E
++2130;N # SCRIPT CAPITAL E
++2131;N # SCRIPT CAPITAL F
++2132;N # TURNED CAPITAL F
++2133;N # SCRIPT CAPITAL M
++2134;N # SCRIPT SMALL O
++2135;N # ALEF SYMBOL
++2136;N # BET SYMBOL
++2137;N # GIMEL SYMBOL
++2138;N # DALET SYMBOL
++2139;N # INFORMATION SOURCE
++213A;N # ROTATED CAPITAL Q
++213B;N # FACSIMILE SIGN
++213C;N # DOUBLE-STRUCK SMALL PI
++213D;N # DOUBLE-STRUCK SMALL GAMMA
++213E;N # DOUBLE-STRUCK CAPITAL GAMMA
++213F;N # DOUBLE-STRUCK CAPITAL PI
++2140;N # DOUBLE-STRUCK N-ARY SUMMATION
++2141;N # TURNED SANS-SERIF CAPITAL G
++2142;N # TURNED SANS-SERIF CAPITAL L
++2143;N # REVERSED SANS-SERIF CAPITAL L
++2144;N # TURNED SANS-SERIF CAPITAL Y
++2145;N # DOUBLE-STRUCK ITALIC CAPITAL D
++2146;N # DOUBLE-STRUCK ITALIC SMALL D
++2147;N # DOUBLE-STRUCK ITALIC SMALL E
++2148;N # DOUBLE-STRUCK ITALIC SMALL I
++2149;N # DOUBLE-STRUCK ITALIC SMALL J
++214A;N # PROPERTY LINE
++214B;N # TURNED AMPERSAND
++214C;N # PER SIGN
++214D;N # AKTIESELSKAB
++214E;N # TURNED SMALL F
++214F;N # SYMBOL FOR SAMARITAN SOURCE
++2150;N # VULGAR FRACTION ONE SEVENTH
++2151;N # VULGAR FRACTION ONE NINTH
++2152;N # VULGAR FRACTION ONE TENTH
++2153;A # VULGAR FRACTION ONE THIRD
++2154;A # VULGAR FRACTION TWO THIRDS
++2155;N # VULGAR FRACTION ONE FIFTH
++2156;N # VULGAR FRACTION TWO FIFTHS
++2157;N # VULGAR FRACTION THREE FIFTHS
++2158;N # VULGAR FRACTION FOUR FIFTHS
++2159;N # VULGAR FRACTION ONE SIXTH
++215A;N # VULGAR FRACTION FIVE SIXTHS
++215B;A # VULGAR FRACTION ONE EIGHTH
++215C;A # VULGAR FRACTION THREE EIGHTHS
++215D;A # VULGAR FRACTION FIVE EIGHTHS
++215E;A # VULGAR FRACTION SEVEN EIGHTHS
++215F;N # FRACTION NUMERATOR ONE
++2160;A # ROMAN NUMERAL ONE
++2161;A # ROMAN NUMERAL TWO
++2162;A # ROMAN NUMERAL THREE
++2163;A # ROMAN NUMERAL FOUR
++2164;A # ROMAN NUMERAL FIVE
++2165;A # ROMAN NUMERAL SIX
++2166;A # ROMAN NUMERAL SEVEN
++2167;A # ROMAN NUMERAL EIGHT
++2168;A # ROMAN NUMERAL NINE
++2169;A # ROMAN NUMERAL TEN
++216A;A # ROMAN NUMERAL ELEVEN
++216B;A # ROMAN NUMERAL TWELVE
++216C;N # ROMAN NUMERAL FIFTY
++216D;N # ROMAN NUMERAL ONE HUNDRED
++216E;N # ROMAN NUMERAL FIVE HUNDRED
++216F;N # ROMAN NUMERAL ONE THOUSAND
++2170;A # SMALL ROMAN NUMERAL ONE
++2171;A # SMALL ROMAN NUMERAL TWO
++2172;A # SMALL ROMAN NUMERAL THREE
++2173;A # SMALL ROMAN NUMERAL FOUR
++2174;A # SMALL ROMAN NUMERAL FIVE
++2175;A # SMALL ROMAN NUMERAL SIX
++2176;A # SMALL ROMAN NUMERAL SEVEN
++2177;A # SMALL ROMAN NUMERAL EIGHT
++2178;A # SMALL ROMAN NUMERAL NINE
++2179;A # SMALL ROMAN NUMERAL TEN
++217A;N # SMALL ROMAN NUMERAL ELEVEN
++217B;N # SMALL ROMAN NUMERAL TWELVE
++217C;N # SMALL ROMAN NUMERAL FIFTY
++217D;N # SMALL ROMAN NUMERAL ONE HUNDRED
++217E;N # SMALL ROMAN NUMERAL FIVE HUNDRED
++217F;N # SMALL ROMAN NUMERAL ONE THOUSAND
++2180;N # ROMAN NUMERAL ONE THOUSAND C D
++2181;N # ROMAN NUMERAL FIVE THOUSAND
++2182;N # ROMAN NUMERAL TEN THOUSAND
++2183;N # ROMAN NUMERAL REVERSED ONE HUNDRED
++2184;N # LATIN SMALL LETTER REVERSED C
++2185;N # ROMAN NUMERAL SIX LATE FORM
++2186;N # ROMAN NUMERAL FIFTY EARLY FORM
++2187;N # ROMAN NUMERAL FIFTY THOUSAND
++2188;N # ROMAN NUMERAL ONE HUNDRED THOUSAND
++2189;A # VULGAR FRACTION ZERO THIRDS
++2190;A # LEFTWARDS ARROW
++2191;A # UPWARDS ARROW
++2192;A # RIGHTWARDS ARROW
++2193;A # DOWNWARDS ARROW
++2194;A # LEFT RIGHT ARROW
++2195;A # UP DOWN ARROW
++2196;A # NORTH WEST ARROW
++2197;A # NORTH EAST ARROW
++2198;A # SOUTH EAST ARROW
++2199;A # SOUTH WEST ARROW
++219A;N # LEFTWARDS ARROW WITH STROKE
++219B;N # RIGHTWARDS ARROW WITH STROKE
++219C;N # LEFTWARDS WAVE ARROW
++219D;N # RIGHTWARDS WAVE ARROW
++219E;N # LEFTWARDS TWO HEADED ARROW
++219F;N # UPWARDS TWO HEADED ARROW
++21A0;N # RIGHTWARDS TWO HEADED ARROW
++21A1;N # DOWNWARDS TWO HEADED ARROW
++21A2;N # LEFTWARDS ARROW WITH TAIL
++21A3;N # RIGHTWARDS ARROW WITH TAIL
++21A4;N # LEFTWARDS ARROW FROM BAR
++21A5;N # UPWARDS ARROW FROM BAR
++21A6;N # RIGHTWARDS ARROW FROM BAR
++21A7;N # DOWNWARDS ARROW FROM BAR
++21A8;N # UP DOWN ARROW WITH BASE
++21A9;N # LEFTWARDS ARROW WITH HOOK
++21AA;N # RIGHTWARDS ARROW WITH HOOK
++21AB;N # LEFTWARDS ARROW WITH LOOP
++21AC;N # RIGHTWARDS ARROW WITH LOOP
++21AD;N # LEFT RIGHT WAVE ARROW
++21AE;N # LEFT RIGHT ARROW WITH STROKE
++21AF;N # DOWNWARDS ZIGZAG ARROW
++21B0;N # UPWARDS ARROW WITH TIP LEFTWARDS
++21B1;N # UPWARDS ARROW WITH TIP RIGHTWARDS
++21B2;N # DOWNWARDS ARROW WITH TIP LEFTWARDS
++21B3;N # DOWNWARDS ARROW WITH TIP RIGHTWARDS
++21B4;N # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
++21B5;N # DOWNWARDS ARROW WITH CORNER LEFTWARDS
++21B6;N # ANTICLOCKWISE TOP SEMICIRCLE ARROW
++21B7;N # CLOCKWISE TOP SEMICIRCLE ARROW
++21B8;A # NORTH WEST ARROW TO LONG BAR
++21B9;A # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
++21BA;N # ANTICLOCKWISE OPEN CIRCLE ARROW
++21BB;N # CLOCKWISE OPEN CIRCLE ARROW
++21BC;N # LEFTWARDS HARPOON WITH BARB UPWARDS
++21BD;N # LEFTWARDS HARPOON WITH BARB DOWNWARDS
++21BE;N # UPWARDS HARPOON WITH BARB RIGHTWARDS
++21BF;N # UPWARDS HARPOON WITH BARB LEFTWARDS
++21C0;N # RIGHTWARDS HARPOON WITH BARB UPWARDS
++21C1;N # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
++21C2;N # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
++21C3;N # DOWNWARDS HARPOON WITH BARB LEFTWARDS
++21C4;N # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
++21C5;N # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
++21C6;N # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
++21C7;N # LEFTWARDS PAIRED ARROWS
++21C8;N # UPWARDS PAIRED ARROWS
++21C9;N # RIGHTWARDS PAIRED ARROWS
++21CA;N # DOWNWARDS PAIRED ARROWS
++21CB;N # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
++21CC;N # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
++21CD;N # LEFTWARDS DOUBLE ARROW WITH STROKE
++21CE;N # LEFT RIGHT DOUBLE ARROW WITH STROKE
++21CF;N # RIGHTWARDS DOUBLE ARROW WITH STROKE
++21D0;N # LEFTWARDS DOUBLE ARROW
++21D1;N # UPWARDS DOUBLE ARROW
++21D2;A # RIGHTWARDS DOUBLE ARROW
++21D3;N # DOWNWARDS DOUBLE ARROW
++21D4;A # LEFT RIGHT DOUBLE ARROW
++21D5;N # UP DOWN DOUBLE ARROW
++21D6;N # NORTH WEST DOUBLE ARROW
++21D7;N # NORTH EAST DOUBLE ARROW
++21D8;N # SOUTH EAST DOUBLE ARROW
++21D9;N # SOUTH WEST DOUBLE ARROW
++21DA;N # LEFTWARDS TRIPLE ARROW
++21DB;N # RIGHTWARDS TRIPLE ARROW
++21DC;N # LEFTWARDS SQUIGGLE ARROW
++21DD;N # RIGHTWARDS SQUIGGLE ARROW
++21DE;N # UPWARDS ARROW WITH DOUBLE STROKE
++21DF;N # DOWNWARDS ARROW WITH DOUBLE STROKE
++21E0;N # LEFTWARDS DASHED ARROW
++21E1;N # UPWARDS DASHED ARROW
++21E2;N # RIGHTWARDS DASHED ARROW
++21E3;N # DOWNWARDS DASHED ARROW
++21E4;N # LEFTWARDS ARROW TO BAR
++21E5;N # RIGHTWARDS ARROW TO BAR
++21E6;N # LEFTWARDS WHITE ARROW
++21E7;A # UPWARDS WHITE ARROW
++21E8;N # RIGHTWARDS WHITE ARROW
++21E9;N # DOWNWARDS WHITE ARROW
++21EA;N # UPWARDS WHITE ARROW FROM BAR
++21EB;N # UPWARDS WHITE ARROW ON PEDESTAL
++21EC;N # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
++21ED;N # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
++21EE;N # UPWARDS WHITE DOUBLE ARROW
++21EF;N # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
++21F0;N # RIGHTWARDS WHITE ARROW FROM WALL
++21F1;N # NORTH WEST ARROW TO CORNER
++21F2;N # SOUTH EAST ARROW TO CORNER
++21F3;N # UP DOWN WHITE ARROW
++21F4;N # RIGHT ARROW WITH SMALL CIRCLE
++21F5;N # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
++21F6;N # THREE RIGHTWARDS ARROWS
++21F7;N # LEFTWARDS ARROW WITH VERTICAL STROKE
++21F8;N # RIGHTWARDS ARROW WITH VERTICAL STROKE
++21F9;N # LEFT RIGHT ARROW WITH VERTICAL STROKE
++21FA;N # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
++21FB;N # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
++21FC;N # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
++21FD;N # LEFTWARDS OPEN-HEADED ARROW
++21FE;N # RIGHTWARDS OPEN-HEADED ARROW
++21FF;N # LEFT RIGHT OPEN-HEADED ARROW
++2200;A # FOR ALL
++2201;N # COMPLEMENT
++2202;A # PARTIAL DIFFERENTIAL
++2203;A # THERE EXISTS
++2204;N # THERE DOES NOT EXIST
++2205;N # EMPTY SET
++2206;N # INCREMENT
++2207;A # NABLA
++2208;A # ELEMENT OF
++2209;N # NOT AN ELEMENT OF
++220A;N # SMALL ELEMENT OF
++220B;A # CONTAINS AS MEMBER
++220C;N # DOES NOT CONTAIN AS MEMBER
++220D;N # SMALL CONTAINS AS MEMBER
++220E;N # END OF PROOF
++220F;A # N-ARY PRODUCT
++2210;N # N-ARY COPRODUCT
++2211;A # N-ARY SUMMATION
++2212;N # MINUS SIGN
++2213;N # MINUS-OR-PLUS SIGN
++2214;N # DOT PLUS
++2215;A # DIVISION SLASH
++2216;N # SET MINUS
++2217;N # ASTERISK OPERATOR
++2218;N # RING OPERATOR
++2219;N # BULLET OPERATOR
++221A;A # SQUARE ROOT
++221B;N # CUBE ROOT
++221C;N # FOURTH ROOT
++221D;A # PROPORTIONAL TO
++221E;A # INFINITY
++221F;A # RIGHT ANGLE
++2220;A # ANGLE
++2221;N # MEASURED ANGLE
++2222;N # SPHERICAL ANGLE
++2223;A # DIVIDES
++2224;N # DOES NOT DIVIDE
++2225;A # PARALLEL TO
++2226;N # NOT PARALLEL TO
++2227;A # LOGICAL AND
++2228;A # LOGICAL OR
++2229;A # INTERSECTION
++222A;A # UNION
++222B;A # INTEGRAL
++222C;A # DOUBLE INTEGRAL
++222D;N # TRIPLE INTEGRAL
++222E;A # CONTOUR INTEGRAL
++222F;N # SURFACE INTEGRAL
++2230;N # VOLUME INTEGRAL
++2231;N # CLOCKWISE INTEGRAL
++2232;N # CLOCKWISE CONTOUR INTEGRAL
++2233;N # ANTICLOCKWISE CONTOUR INTEGRAL
++2234;A # THEREFORE
++2235;A # BECAUSE
++2236;A # RATIO
++2237;A # PROPORTION
++2238;N # DOT MINUS
++2239;N # EXCESS
++223A;N # GEOMETRIC PROPORTION
++223B;N # HOMOTHETIC
++223C;A # TILDE OPERATOR
++223D;A # REVERSED TILDE
++223E;N # INVERTED LAZY S
++223F;N # SINE WAVE
++2240;N # WREATH PRODUCT
++2241;N # NOT TILDE
++2242;N # MINUS TILDE
++2243;N # ASYMPTOTICALLY EQUAL TO
++2244;N # NOT ASYMPTOTICALLY EQUAL TO
++2245;N # APPROXIMATELY EQUAL TO
++2246;N # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
++2247;N # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
++2248;A # ALMOST EQUAL TO
++2249;N # NOT ALMOST EQUAL TO
++224A;N # ALMOST EQUAL OR EQUAL TO
++224B;N # TRIPLE TILDE
++224C;A # ALL EQUAL TO
++224D;N # EQUIVALENT TO
++224E;N # GEOMETRICALLY EQUIVALENT TO
++224F;N # DIFFERENCE BETWEEN
++2250;N # APPROACHES THE LIMIT
++2251;N # GEOMETRICALLY EQUAL TO
++2252;A # APPROXIMATELY EQUAL TO OR THE IMAGE OF
++2253;N # IMAGE OF OR APPROXIMATELY EQUAL TO
++2254;N # COLON EQUALS
++2255;N # EQUALS COLON
++2256;N # RING IN EQUAL TO
++2257;N # RING EQUAL TO
++2258;N # CORRESPONDS TO
++2259;N # ESTIMATES
++225A;N # EQUIANGULAR TO
++225B;N # STAR EQUALS
++225C;N # DELTA EQUAL TO
++225D;N # EQUAL TO BY DEFINITION
++225E;N # MEASURED BY
++225F;N # QUESTIONED EQUAL TO
++2260;A # NOT EQUAL TO
++2261;A # IDENTICAL TO
++2262;N # NOT IDENTICAL TO
++2263;N # STRICTLY EQUIVALENT TO
++2264;A # LESS-THAN OR EQUAL TO
++2265;A # GREATER-THAN OR EQUAL TO
++2266;A # LESS-THAN OVER EQUAL TO
++2267;A # GREATER-THAN OVER EQUAL TO
++2268;N # LESS-THAN BUT NOT EQUAL TO
++2269;N # GREATER-THAN BUT NOT EQUAL TO
++226A;A # MUCH LESS-THAN
++226B;A # MUCH GREATER-THAN
++226C;N # BETWEEN
++226D;N # NOT EQUIVALENT TO
++226E;A # NOT LESS-THAN
++226F;A # NOT GREATER-THAN
++2270;N # NEITHER LESS-THAN NOR EQUAL TO
++2271;N # NEITHER GREATER-THAN NOR EQUAL TO
++2272;N # LESS-THAN OR EQUIVALENT TO
++2273;N # GREATER-THAN OR EQUIVALENT TO
++2274;N # NEITHER LESS-THAN NOR EQUIVALENT TO
++2275;N # NEITHER GREATER-THAN NOR EQUIVALENT TO
++2276;N # LESS-THAN OR GREATER-THAN
++2277;N # GREATER-THAN OR LESS-THAN
++2278;N # NEITHER LESS-THAN NOR GREATER-THAN
++2279;N # NEITHER GREATER-THAN NOR LESS-THAN
++227A;N # PRECEDES
++227B;N # SUCCEEDS
++227C;N # PRECEDES OR EQUAL TO
++227D;N # SUCCEEDS OR EQUAL TO
++227E;N # PRECEDES OR EQUIVALENT TO
++227F;N # SUCCEEDS OR EQUIVALENT TO
++2280;N # DOES NOT PRECEDE
++2281;N # DOES NOT SUCCEED
++2282;A # SUBSET OF
++2283;A # SUPERSET OF
++2284;N # NOT A SUBSET OF
++2285;N # NOT A SUPERSET OF
++2286;A # SUBSET OF OR EQUAL TO
++2287;A # SUPERSET OF OR EQUAL TO
++2288;N # NEITHER A SUBSET OF NOR EQUAL TO
++2289;N # NEITHER A SUPERSET OF NOR EQUAL TO
++228A;N # SUBSET OF WITH NOT EQUAL TO
++228B;N # SUPERSET OF WITH NOT EQUAL TO
++228C;N # MULTISET
++228D;N # MULTISET MULTIPLICATION
++228E;N # MULTISET UNION
++228F;N # SQUARE IMAGE OF
++2290;N # SQUARE ORIGINAL OF
++2291;N # SQUARE IMAGE OF OR EQUAL TO
++2292;N # SQUARE ORIGINAL OF OR EQUAL TO
++2293;N # SQUARE CAP
++2294;N # SQUARE CUP
++2295;A # CIRCLED PLUS
++2296;N # CIRCLED MINUS
++2297;N # CIRCLED TIMES
++2298;N # CIRCLED DIVISION SLASH
++2299;A # CIRCLED DOT OPERATOR
++229A;N # CIRCLED RING OPERATOR
++229B;N # CIRCLED ASTERISK OPERATOR
++229C;N # CIRCLED EQUALS
++229D;N # CIRCLED DASH
++229E;N # SQUARED PLUS
++229F;N # SQUARED MINUS
++22A0;N # SQUARED TIMES
++22A1;N # SQUARED DOT OPERATOR
++22A2;N # RIGHT TACK
++22A3;N # LEFT TACK
++22A4;N # DOWN TACK
++22A5;A # UP TACK
++22A6;N # ASSERTION
++22A7;N # MODELS
++22A8;N # TRUE
++22A9;N # FORCES
++22AA;N # TRIPLE VERTICAL BAR RIGHT TURNSTILE
++22AB;N # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
++22AC;N # DOES NOT PROVE
++22AD;N # NOT TRUE
++22AE;N # DOES NOT FORCE
++22AF;N # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
++22B0;N # PRECEDES UNDER RELATION
++22B1;N # SUCCEEDS UNDER RELATION
++22B2;N # NORMAL SUBGROUP OF
++22B3;N # CONTAINS AS NORMAL SUBGROUP
++22B4;N # NORMAL SUBGROUP OF OR EQUAL TO
++22B5;N # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
++22B6;N # ORIGINAL OF
++22B7;N # IMAGE OF
++22B8;N # MULTIMAP
++22B9;N # HERMITIAN CONJUGATE MATRIX
++22BA;N # INTERCALATE
++22BB;N # XOR
++22BC;N # NAND
++22BD;N # NOR
++22BE;N # RIGHT ANGLE WITH ARC
++22BF;A # RIGHT TRIANGLE
++22C0;N # N-ARY LOGICAL AND
++22C1;N # N-ARY LOGICAL OR
++22C2;N # N-ARY INTERSECTION
++22C3;N # N-ARY UNION
++22C4;N # DIAMOND OPERATOR
++22C5;N # DOT OPERATOR
++22C6;N # STAR OPERATOR
++22C7;N # DIVISION TIMES
++22C8;N # BOWTIE
++22C9;N # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
++22CA;N # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
++22CB;N # LEFT SEMIDIRECT PRODUCT
++22CC;N # RIGHT SEMIDIRECT PRODUCT
++22CD;N # REVERSED TILDE EQUALS
++22CE;N # CURLY LOGICAL OR
++22CF;N # CURLY LOGICAL AND
++22D0;N # DOUBLE SUBSET
++22D1;N # DOUBLE SUPERSET
++22D2;N # DOUBLE INTERSECTION
++22D3;N # DOUBLE UNION
++22D4;N # PITCHFORK
++22D5;N # EQUAL AND PARALLEL TO
++22D6;N # LESS-THAN WITH DOT
++22D7;N # GREATER-THAN WITH DOT
++22D8;N # VERY MUCH LESS-THAN
++22D9;N # VERY MUCH GREATER-THAN
++22DA;N # LESS-THAN EQUAL TO OR GREATER-THAN
++22DB;N # GREATER-THAN EQUAL TO OR LESS-THAN
++22DC;N # EQUAL TO OR LESS-THAN
++22DD;N # EQUAL TO OR GREATER-THAN
++22DE;N # EQUAL TO OR PRECEDES
++22DF;N # EQUAL TO OR SUCCEEDS
++22E0;N # DOES NOT PRECEDE OR EQUAL
++22E1;N # DOES NOT SUCCEED OR EQUAL
++22E2;N # NOT SQUARE IMAGE OF OR EQUAL TO
++22E3;N # NOT SQUARE ORIGINAL OF OR EQUAL TO
++22E4;N # SQUARE IMAGE OF OR NOT EQUAL TO
++22E5;N # SQUARE ORIGINAL OF OR NOT EQUAL TO
++22E6;N # LESS-THAN BUT NOT EQUIVALENT TO
++22E7;N # GREATER-THAN BUT NOT EQUIVALENT TO
++22E8;N # PRECEDES BUT NOT EQUIVALENT TO
++22E9;N # SUCCEEDS BUT NOT EQUIVALENT TO
++22EA;N # NOT NORMAL SUBGROUP OF
++22EB;N # DOES NOT CONTAIN AS NORMAL SUBGROUP
++22EC;N # NOT NORMAL SUBGROUP OF OR EQUAL TO
++22ED;N # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
++22EE;N # VERTICAL ELLIPSIS
++22EF;N # MIDLINE HORIZONTAL ELLIPSIS
++22F0;N # UP RIGHT DIAGONAL ELLIPSIS
++22F1;N # DOWN RIGHT DIAGONAL ELLIPSIS
++22F2;N # ELEMENT OF WITH LONG HORIZONTAL STROKE
++22F3;N # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
++22F4;N # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
++22F5;N # ELEMENT OF WITH DOT ABOVE
++22F6;N # ELEMENT OF WITH OVERBAR
++22F7;N # SMALL ELEMENT OF WITH OVERBAR
++22F8;N # ELEMENT OF WITH UNDERBAR
++22F9;N # ELEMENT OF WITH TWO HORIZONTAL STROKES
++22FA;N # CONTAINS WITH LONG HORIZONTAL STROKE
++22FB;N # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
++22FC;N # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
++22FD;N # CONTAINS WITH OVERBAR
++22FE;N # SMALL CONTAINS WITH OVERBAR
++22FF;N # Z NOTATION BAG MEMBERSHIP
++2300;N # DIAMETER SIGN
++2301;N # ELECTRIC ARROW
++2302;N # HOUSE
++2303;N # UP ARROWHEAD
++2304;N # DOWN ARROWHEAD
++2305;N # PROJECTIVE
++2306;N # PERSPECTIVE
++2307;N # WAVY LINE
++2308;N # LEFT CEILING
++2309;N # RIGHT CEILING
++230A;N # LEFT FLOOR
++230B;N # RIGHT FLOOR
++230C;N # BOTTOM RIGHT CROP
++230D;N # BOTTOM LEFT CROP
++230E;N # TOP RIGHT CROP
++230F;N # TOP LEFT CROP
++2310;N # REVERSED NOT SIGN
++2311;N # SQUARE LOZENGE
++2312;A # ARC
++2313;N # SEGMENT
++2314;N # SECTOR
++2315;N # TELEPHONE RECORDER
++2316;N # POSITION INDICATOR
++2317;N # VIEWDATA SQUARE
++2318;N # PLACE OF INTEREST SIGN
++2319;N # TURNED NOT SIGN
++231A;N # WATCH
++231B;N # HOURGLASS
++231C;N # TOP LEFT CORNER
++231D;N # TOP RIGHT CORNER
++231E;N # BOTTOM LEFT CORNER
++231F;N # BOTTOM RIGHT CORNER
++2320;N # TOP HALF INTEGRAL
++2321;N # BOTTOM HALF INTEGRAL
++2322;N # FROWN
++2323;N # SMILE
++2324;N # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
++2325;N # OPTION KEY
++2326;N # ERASE TO THE RIGHT
++2327;N # X IN A RECTANGLE BOX
++2328;N # KEYBOARD
++2329;W # LEFT-POINTING ANGLE BRACKET
++232A;W # RIGHT-POINTING ANGLE BRACKET
++232B;N # ERASE TO THE LEFT
++232C;N # BENZENE RING
++232D;N # CYLINDRICITY
++232E;N # ALL AROUND-PROFILE
++232F;N # SYMMETRY
++2330;N # TOTAL RUNOUT
++2331;N # DIMENSION ORIGIN
++2332;N # CONICAL TAPER
++2333;N # SLOPE
++2334;N # COUNTERBORE
++2335;N # COUNTERSINK
++2336;N # APL FUNCTIONAL SYMBOL I-BEAM
++2337;N # APL FUNCTIONAL SYMBOL SQUISH QUAD
++2338;N # APL FUNCTIONAL SYMBOL QUAD EQUAL
++2339;N # APL FUNCTIONAL SYMBOL QUAD DIVIDE
++233A;N # APL FUNCTIONAL SYMBOL QUAD DIAMOND
++233B;N # APL FUNCTIONAL SYMBOL QUAD JOT
++233C;N # APL FUNCTIONAL SYMBOL QUAD CIRCLE
++233D;N # APL FUNCTIONAL SYMBOL CIRCLE STILE
++233E;N # APL FUNCTIONAL SYMBOL CIRCLE JOT
++233F;N # APL FUNCTIONAL SYMBOL SLASH BAR
++2340;N # APL FUNCTIONAL SYMBOL BACKSLASH BAR
++2341;N # APL FUNCTIONAL SYMBOL QUAD SLASH
++2342;N # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
++2343;N # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
++2344;N # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
++2345;N # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
++2346;N # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
++2347;N # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
++2348;N # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
++2349;N # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
++234A;N # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
++234B;N # APL FUNCTIONAL SYMBOL DELTA STILE
++234C;N # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
++234D;N # APL FUNCTIONAL SYMBOL QUAD DELTA
++234E;N # APL FUNCTIONAL SYMBOL DOWN TACK JOT
++234F;N # APL FUNCTIONAL SYMBOL UPWARDS VANE
++2350;N # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
++2351;N # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
++2352;N # APL FUNCTIONAL SYMBOL DEL STILE
++2353;N # APL FUNCTIONAL SYMBOL QUAD UP CARET
++2354;N # APL FUNCTIONAL SYMBOL QUAD DEL
++2355;N # APL FUNCTIONAL SYMBOL UP TACK JOT
++2356;N # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
++2357;N # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
++2358;N # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
++2359;N # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
++235A;N # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
++235B;N # APL FUNCTIONAL SYMBOL JOT UNDERBAR
++235C;N # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
++235D;N # APL FUNCTIONAL SYMBOL UP SHOE JOT
++235E;N # APL FUNCTIONAL SYMBOL QUOTE QUAD
++235F;N # APL FUNCTIONAL SYMBOL CIRCLE STAR
++2360;N # APL FUNCTIONAL SYMBOL QUAD COLON
++2361;N # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
++2362;N # APL FUNCTIONAL SYMBOL DEL DIAERESIS
++2363;N # APL FUNCTIONAL SYMBOL STAR DIAERESIS
++2364;N # APL FUNCTIONAL SYMBOL JOT DIAERESIS
++2365;N # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
++2366;N # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
++2367;N # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
++2368;N # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
++2369;N # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
++236A;N # APL FUNCTIONAL SYMBOL COMMA BAR
++236B;N # APL FUNCTIONAL SYMBOL DEL TILDE
++236C;N # APL FUNCTIONAL SYMBOL ZILDE
++236D;N # APL FUNCTIONAL SYMBOL STILE TILDE
++236E;N # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
++236F;N # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
++2370;N # APL FUNCTIONAL SYMBOL QUAD QUESTION
++2371;N # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
++2372;N # APL FUNCTIONAL SYMBOL UP CARET TILDE
++2373;N # APL FUNCTIONAL SYMBOL IOTA
++2374;N # APL FUNCTIONAL SYMBOL RHO
++2375;N # APL FUNCTIONAL SYMBOL OMEGA
++2376;N # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
++2377;N # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
++2378;N # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
++2379;N # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
++237A;N # APL FUNCTIONAL SYMBOL ALPHA
++237B;N # NOT CHECK MARK
++237C;N # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
++237D;N # SHOULDERED OPEN BOX
++237E;N # BELL SYMBOL
++237F;N # VERTICAL LINE WITH MIDDLE DOT
++2380;N # INSERTION SYMBOL
++2381;N # CONTINUOUS UNDERLINE SYMBOL
++2382;N # DISCONTINUOUS UNDERLINE SYMBOL
++2383;N # EMPHASIS SYMBOL
++2384;N # COMPOSITION SYMBOL
++2385;N # WHITE SQUARE WITH CENTRE VERTICAL LINE
++2386;N # ENTER SYMBOL
++2387;N # ALTERNATIVE KEY SYMBOL
++2388;N # HELM SYMBOL
++2389;N # CIRCLED HORIZONTAL BAR WITH NOTCH
++238A;N # CIRCLED TRIANGLE DOWN
++238B;N # BROKEN CIRCLE WITH NORTHWEST ARROW
++238C;N # UNDO SYMBOL
++238D;N # MONOSTABLE SYMBOL
++238E;N # HYSTERESIS SYMBOL
++238F;N # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
++2390;N # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
++2391;N # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
++2392;N # PASSIVE-PULL-UP-OUTPUT SYMBOL
++2393;N # DIRECT CURRENT SYMBOL FORM TWO
++2394;N # SOFTWARE-FUNCTION SYMBOL
++2395;N # APL FUNCTIONAL SYMBOL QUAD
++2396;N # DECIMAL SEPARATOR KEY SYMBOL
++2397;N # PREVIOUS PAGE
++2398;N # NEXT PAGE
++2399;N # PRINT SCREEN SYMBOL
++239A;N # CLEAR SCREEN SYMBOL
++239B;N # LEFT PARENTHESIS UPPER HOOK
++239C;N # LEFT PARENTHESIS EXTENSION
++239D;N # LEFT PARENTHESIS LOWER HOOK
++239E;N # RIGHT PARENTHESIS UPPER HOOK
++239F;N # RIGHT PARENTHESIS EXTENSION
++23A0;N # RIGHT PARENTHESIS LOWER HOOK
++23A1;N # LEFT SQUARE BRACKET UPPER CORNER
++23A2;N # LEFT SQUARE BRACKET EXTENSION
++23A3;N # LEFT SQUARE BRACKET LOWER CORNER
++23A4;N # RIGHT SQUARE BRACKET UPPER CORNER
++23A5;N # RIGHT SQUARE BRACKET EXTENSION
++23A6;N # RIGHT SQUARE BRACKET LOWER CORNER
++23A7;N # LEFT CURLY BRACKET UPPER HOOK
++23A8;N # LEFT CURLY BRACKET MIDDLE PIECE
++23A9;N # LEFT CURLY BRACKET LOWER HOOK
++23AA;N # CURLY BRACKET EXTENSION
++23AB;N # RIGHT CURLY BRACKET UPPER HOOK
++23AC;N # RIGHT CURLY BRACKET MIDDLE PIECE
++23AD;N # RIGHT CURLY BRACKET LOWER HOOK
++23AE;N # INTEGRAL EXTENSION
++23AF;N # HORIZONTAL LINE EXTENSION
++23B0;N # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
++23B1;N # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
++23B2;N # SUMMATION TOP
++23B3;N # SUMMATION BOTTOM
++23B4;N # TOP SQUARE BRACKET
++23B5;N # BOTTOM SQUARE BRACKET
++23B6;N # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
++23B7;N # RADICAL SYMBOL BOTTOM
++23B8;N # LEFT VERTICAL BOX LINE
++23B9;N # RIGHT VERTICAL BOX LINE
++23BA;N # HORIZONTAL SCAN LINE-1
++23BB;N # HORIZONTAL SCAN LINE-3
++23BC;N # HORIZONTAL SCAN LINE-7
++23BD;N # HORIZONTAL SCAN LINE-9
++23BE;N # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
++23BF;N # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
++23C0;N # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
++23C1;N # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
++23C2;N # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
++23C3;N # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
++23C4;N # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
++23C5;N # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
++23C6;N # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
++23C7;N # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
++23C8;N # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
++23C9;N # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
++23CA;N # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
++23CB;N # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
++23CC;N # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
++23CD;N # SQUARE FOOT
++23CE;N # RETURN SYMBOL
++23CF;N # EJECT SYMBOL
++23D0;N # VERTICAL LINE EXTENSION
++23D1;N # METRICAL BREVE
++23D2;N # METRICAL LONG OVER SHORT
++23D3;N # METRICAL SHORT OVER LONG
++23D4;N # METRICAL LONG OVER TWO SHORTS
++23D5;N # METRICAL TWO SHORTS OVER LONG
++23D6;N # METRICAL TWO SHORTS JOINED
++23D7;N # METRICAL TRISEME
++23D8;N # METRICAL TETRASEME
++23D9;N # METRICAL PENTASEME
++23DA;N # EARTH GROUND
++23DB;N # FUSE
++23DC;N # TOP PARENTHESIS
++23DD;N # BOTTOM PARENTHESIS
++23DE;N # TOP CURLY BRACKET
++23DF;N # BOTTOM CURLY BRACKET
++23E0;N # TOP TORTOISE SHELL BRACKET
++23E1;N # BOTTOM TORTOISE SHELL BRACKET
++23E2;N # WHITE TRAPEZIUM
++23E3;N # BENZENE RING WITH CIRCLE
++23E4;N # STRAIGHTNESS
++23E5;N # FLATNESS
++23E6;N # AC CURRENT
++23E7;N # ELECTRICAL INTERSECTION
++23E8;N # DECIMAL EXPONENT SYMBOL
++2400;N # SYMBOL FOR NULL
++2401;N # SYMBOL FOR START OF HEADING
++2402;N # SYMBOL FOR START OF TEXT
++2403;N # SYMBOL FOR END OF TEXT
++2404;N # SYMBOL FOR END OF TRANSMISSION
++2405;N # SYMBOL FOR ENQUIRY
++2406;N # SYMBOL FOR ACKNOWLEDGE
++2407;N # SYMBOL FOR BELL
++2408;N # SYMBOL FOR BACKSPACE
++2409;N # SYMBOL FOR HORIZONTAL TABULATION
++240A;N # SYMBOL FOR LINE FEED
++240B;N # SYMBOL FOR VERTICAL TABULATION
++240C;N # SYMBOL FOR FORM FEED
++240D;N # SYMBOL FOR CARRIAGE RETURN
++240E;N # SYMBOL FOR SHIFT OUT
++240F;N # SYMBOL FOR SHIFT IN
++2410;N # SYMBOL FOR DATA LINK ESCAPE
++2411;N # SYMBOL FOR DEVICE CONTROL ONE
++2412;N # SYMBOL FOR DEVICE CONTROL TWO
++2413;N # SYMBOL FOR DEVICE CONTROL THREE
++2414;N # SYMBOL FOR DEVICE CONTROL FOUR
++2415;N # SYMBOL FOR NEGATIVE ACKNOWLEDGE
++2416;N # SYMBOL FOR SYNCHRONOUS IDLE
++2417;N # SYMBOL FOR END OF TRANSMISSION BLOCK
++2418;N # SYMBOL FOR CANCEL
++2419;N # SYMBOL FOR END OF MEDIUM
++241A;N # SYMBOL FOR SUBSTITUTE
++241B;N # SYMBOL FOR ESCAPE
++241C;N # SYMBOL FOR FILE SEPARATOR
++241D;N # SYMBOL FOR GROUP SEPARATOR
++241E;N # SYMBOL FOR RECORD SEPARATOR
++241F;N # SYMBOL FOR UNIT SEPARATOR
++2420;N # SYMBOL FOR SPACE
++2421;N # SYMBOL FOR DELETE
++2422;N # BLANK SYMBOL
++2423;N # OPEN BOX
++2424;N # SYMBOL FOR NEWLINE
++2425;N # SYMBOL FOR DELETE FORM TWO
++2426;N # SYMBOL FOR SUBSTITUTE FORM TWO
++2440;N # OCR HOOK
++2441;N # OCR CHAIR
++2442;N # OCR FORK
++2443;N # OCR INVERTED FORK
++2444;N # OCR BELT BUCKLE
++2445;N # OCR BOW TIE
++2446;N # OCR BRANCH BANK IDENTIFICATION
++2447;N # OCR AMOUNT OF CHECK
++2448;N # OCR DASH
++2449;N # OCR CUSTOMER ACCOUNT NUMBER
++244A;N # OCR DOUBLE BACKSLASH
++2460;A # CIRCLED DIGIT ONE
++2461;A # CIRCLED DIGIT TWO
++2462;A # CIRCLED DIGIT THREE
++2463;A # CIRCLED DIGIT FOUR
++2464;A # CIRCLED DIGIT FIVE
++2465;A # CIRCLED DIGIT SIX
++2466;A # CIRCLED DIGIT SEVEN
++2467;A # CIRCLED DIGIT EIGHT
++2468;A # CIRCLED DIGIT NINE
++2469;A # CIRCLED NUMBER TEN
++246A;A # CIRCLED NUMBER ELEVEN
++246B;A # CIRCLED NUMBER TWELVE
++246C;A # CIRCLED NUMBER THIRTEEN
++246D;A # CIRCLED NUMBER FOURTEEN
++246E;A # CIRCLED NUMBER FIFTEEN
++246F;A # CIRCLED NUMBER SIXTEEN
++2470;A # CIRCLED NUMBER SEVENTEEN
++2471;A # CIRCLED NUMBER EIGHTEEN
++2472;A # CIRCLED NUMBER NINETEEN
++2473;A # CIRCLED NUMBER TWENTY
++2474;A # PARENTHESIZED DIGIT ONE
++2475;A # PARENTHESIZED DIGIT TWO
++2476;A # PARENTHESIZED DIGIT THREE
++2477;A # PARENTHESIZED DIGIT FOUR
++2478;A # PARENTHESIZED DIGIT FIVE
++2479;A # PARENTHESIZED DIGIT SIX
++247A;A # PARENTHESIZED DIGIT SEVEN
++247B;A # PARENTHESIZED DIGIT EIGHT
++247C;A # PARENTHESIZED DIGIT NINE
++247D;A # PARENTHESIZED NUMBER TEN
++247E;A # PARENTHESIZED NUMBER ELEVEN
++247F;A # PARENTHESIZED NUMBER TWELVE
++2480;A # PARENTHESIZED NUMBER THIRTEEN
++2481;A # PARENTHESIZED NUMBER FOURTEEN
++2482;A # PARENTHESIZED NUMBER FIFTEEN
++2483;A # PARENTHESIZED NUMBER SIXTEEN
++2484;A # PARENTHESIZED NUMBER SEVENTEEN
++2485;A # PARENTHESIZED NUMBER EIGHTEEN
++2486;A # PARENTHESIZED NUMBER NINETEEN
++2487;A # PARENTHESIZED NUMBER TWENTY
++2488;A # DIGIT ONE FULL STOP
++2489;A # DIGIT TWO FULL STOP
++248A;A # DIGIT THREE FULL STOP
++248B;A # DIGIT FOUR FULL STOP
++248C;A # DIGIT FIVE FULL STOP
++248D;A # DIGIT SIX FULL STOP
++248E;A # DIGIT SEVEN FULL STOP
++248F;A # DIGIT EIGHT FULL STOP
++2490;A # DIGIT NINE FULL STOP
++2491;A # NUMBER TEN FULL STOP
++2492;A # NUMBER ELEVEN FULL STOP
++2493;A # NUMBER TWELVE FULL STOP
++2494;A # NUMBER THIRTEEN FULL STOP
++2495;A # NUMBER FOURTEEN FULL STOP
++2496;A # NUMBER FIFTEEN FULL STOP
++2497;A # NUMBER SIXTEEN FULL STOP
++2498;A # NUMBER SEVENTEEN FULL STOP
++2499;A # NUMBER EIGHTEEN FULL STOP
++249A;A # NUMBER NINETEEN FULL STOP
++249B;A # NUMBER TWENTY FULL STOP
++249C;A # PARENTHESIZED LATIN SMALL LETTER A
++249D;A # PARENTHESIZED LATIN SMALL LETTER B
++249E;A # PARENTHESIZED LATIN SMALL LETTER C
++249F;A # PARENTHESIZED LATIN SMALL LETTER D
++24A0;A # PARENTHESIZED LATIN SMALL LETTER E
++24A1;A # PARENTHESIZED LATIN SMALL LETTER F
++24A2;A # PARENTHESIZED LATIN SMALL LETTER G
++24A3;A # PARENTHESIZED LATIN SMALL LETTER H
++24A4;A # PARENTHESIZED LATIN SMALL LETTER I
++24A5;A # PARENTHESIZED LATIN SMALL LETTER J
++24A6;A # PARENTHESIZED LATIN SMALL LETTER K
++24A7;A # PARENTHESIZED LATIN SMALL LETTER L
++24A8;A # PARENTHESIZED LATIN SMALL LETTER M
++24A9;A # PARENTHESIZED LATIN SMALL LETTER N
++24AA;A # PARENTHESIZED LATIN SMALL LETTER O
++24AB;A # PARENTHESIZED LATIN SMALL LETTER P
++24AC;A # PARENTHESIZED LATIN SMALL LETTER Q
++24AD;A # PARENTHESIZED LATIN SMALL LETTER R
++24AE;A # PARENTHESIZED LATIN SMALL LETTER S
++24AF;A # PARENTHESIZED LATIN SMALL LETTER T
++24B0;A # PARENTHESIZED LATIN SMALL LETTER U
++24B1;A # PARENTHESIZED LATIN SMALL LETTER V
++24B2;A # PARENTHESIZED LATIN SMALL LETTER W
++24B3;A # PARENTHESIZED LATIN SMALL LETTER X
++24B4;A # PARENTHESIZED LATIN SMALL LETTER Y
++24B5;A # PARENTHESIZED LATIN SMALL LETTER Z
++24B6;A # CIRCLED LATIN CAPITAL LETTER A
++24B7;A # CIRCLED LATIN CAPITAL LETTER B
++24B8;A # CIRCLED LATIN CAPITAL LETTER C
++24B9;A # CIRCLED LATIN CAPITAL LETTER D
++24BA;A # CIRCLED LATIN CAPITAL LETTER E
++24BB;A # CIRCLED LATIN CAPITAL LETTER F
++24BC;A # CIRCLED LATIN CAPITAL LETTER G
++24BD;A # CIRCLED LATIN CAPITAL LETTER H
++24BE;A # CIRCLED LATIN CAPITAL LETTER I
++24BF;A # CIRCLED LATIN CAPITAL LETTER J
++24C0;A # CIRCLED LATIN CAPITAL LETTER K
++24C1;A # CIRCLED LATIN CAPITAL LETTER L
++24C2;A # CIRCLED LATIN CAPITAL LETTER M
++24C3;A # CIRCLED LATIN CAPITAL LETTER N
++24C4;A # CIRCLED LATIN CAPITAL LETTER O
++24C5;A # CIRCLED LATIN CAPITAL LETTER P
++24C6;A # CIRCLED LATIN CAPITAL LETTER Q
++24C7;A # CIRCLED LATIN CAPITAL LETTER R
++24C8;A # CIRCLED LATIN CAPITAL LETTER S
++24C9;A # CIRCLED LATIN CAPITAL LETTER T
++24CA;A # CIRCLED LATIN CAPITAL LETTER U
++24CB;A # CIRCLED LATIN CAPITAL LETTER V
++24CC;A # CIRCLED LATIN CAPITAL LETTER W
++24CD;A # CIRCLED LATIN CAPITAL LETTER X
++24CE;A # CIRCLED LATIN CAPITAL LETTER Y
++24CF;A # CIRCLED LATIN CAPITAL LETTER Z
++24D0;A # CIRCLED LATIN SMALL LETTER A
++24D1;A # CIRCLED LATIN SMALL LETTER B
++24D2;A # CIRCLED LATIN SMALL LETTER C
++24D3;A # CIRCLED LATIN SMALL LETTER D
++24D4;A # CIRCLED LATIN SMALL LETTER E
++24D5;A # CIRCLED LATIN SMALL LETTER F
++24D6;A # CIRCLED LATIN SMALL LETTER G
++24D7;A # CIRCLED LATIN SMALL LETTER H
++24D8;A # CIRCLED LATIN SMALL LETTER I
++24D9;A # CIRCLED LATIN SMALL LETTER J
++24DA;A # CIRCLED LATIN SMALL LETTER K
++24DB;A # CIRCLED LATIN SMALL LETTER L
++24DC;A # CIRCLED LATIN SMALL LETTER M
++24DD;A # CIRCLED LATIN SMALL LETTER N
++24DE;A # CIRCLED LATIN SMALL LETTER O
++24DF;A # CIRCLED LATIN SMALL LETTER P
++24E0;A # CIRCLED LATIN SMALL LETTER Q
++24E1;A # CIRCLED LATIN SMALL LETTER R
++24E2;A # CIRCLED LATIN SMALL LETTER S
++24E3;A # CIRCLED LATIN SMALL LETTER T
++24E4;A # CIRCLED LATIN SMALL LETTER U
++24E5;A # CIRCLED LATIN SMALL LETTER V
++24E6;A # CIRCLED LATIN SMALL LETTER W
++24E7;A # CIRCLED LATIN SMALL LETTER X
++24E8;A # CIRCLED LATIN SMALL LETTER Y
++24E9;A # CIRCLED LATIN SMALL LETTER Z
++24EA;N # CIRCLED DIGIT ZERO
++24EB;A # NEGATIVE CIRCLED NUMBER ELEVEN
++24EC;A # NEGATIVE CIRCLED NUMBER TWELVE
++24ED;A # NEGATIVE CIRCLED NUMBER THIRTEEN
++24EE;A # NEGATIVE CIRCLED NUMBER FOURTEEN
++24EF;A # NEGATIVE CIRCLED NUMBER FIFTEEN
++24F0;A # NEGATIVE CIRCLED NUMBER SIXTEEN
++24F1;A # NEGATIVE CIRCLED NUMBER SEVENTEEN
++24F2;A # NEGATIVE CIRCLED NUMBER EIGHTEEN
++24F3;A # NEGATIVE CIRCLED NUMBER NINETEEN
++24F4;A # NEGATIVE CIRCLED NUMBER TWENTY
++24F5;A # DOUBLE CIRCLED DIGIT ONE
++24F6;A # DOUBLE CIRCLED DIGIT TWO
++24F7;A # DOUBLE CIRCLED DIGIT THREE
++24F8;A # DOUBLE CIRCLED DIGIT FOUR
++24F9;A # DOUBLE CIRCLED DIGIT FIVE
++24FA;A # DOUBLE CIRCLED DIGIT SIX
++24FB;A # DOUBLE CIRCLED DIGIT SEVEN
++24FC;A # DOUBLE CIRCLED DIGIT EIGHT
++24FD;A # DOUBLE CIRCLED DIGIT NINE
++24FE;A # DOUBLE CIRCLED NUMBER TEN
++24FF;A # NEGATIVE CIRCLED DIGIT ZERO
++2500;A # BOX DRAWINGS LIGHT HORIZONTAL
++2501;A # BOX DRAWINGS HEAVY HORIZONTAL
++2502;A # BOX DRAWINGS LIGHT VERTICAL
++2503;A # BOX DRAWINGS HEAVY VERTICAL
++2504;A # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
++2505;A # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
++2506;A # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
++2507;A # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
++2508;A # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
++2509;A # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
++250A;A # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
++250B;A # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
++250C;A # BOX DRAWINGS LIGHT DOWN AND RIGHT
++250D;A # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
++250E;A # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
++250F;A # BOX DRAWINGS HEAVY DOWN AND RIGHT
++2510;A # BOX DRAWINGS LIGHT DOWN AND LEFT
++2511;A # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
++2512;A # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
++2513;A # BOX DRAWINGS HEAVY DOWN AND LEFT
++2514;A # BOX DRAWINGS LIGHT UP AND RIGHT
++2515;A # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
++2516;A # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
++2517;A # BOX DRAWINGS HEAVY UP AND RIGHT
++2518;A # BOX DRAWINGS LIGHT UP AND LEFT
++2519;A # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
++251A;A # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
++251B;A # BOX DRAWINGS HEAVY UP AND LEFT
++251C;A # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
++251D;A # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
++251E;A # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
++251F;A # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
++2520;A # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
++2521;A # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
++2522;A # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
++2523;A # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
++2524;A # BOX DRAWINGS LIGHT VERTICAL AND LEFT
++2525;A # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
++2526;A # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
++2527;A # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
++2528;A # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
++2529;A # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
++252A;A # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
++252B;A # BOX DRAWINGS HEAVY VERTICAL AND LEFT
++252C;A # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
++252D;A # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
++252E;A # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
++252F;A # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
++2530;A # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
++2531;A # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
++2532;A # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
++2533;A # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
++2534;A # BOX DRAWINGS LIGHT UP AND HORIZONTAL
++2535;A # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
++2536;A # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
++2537;A # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
++2538;A # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
++2539;A # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
++253A;A # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
++253B;A # BOX DRAWINGS HEAVY UP AND HORIZONTAL
++253C;A # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
++253D;A # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
++253E;A # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
++253F;A # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
++2540;A # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
++2541;A # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
++2542;A # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
++2543;A # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
++2544;A # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
++2545;A # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
++2546;A # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
++2547;A # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
++2548;A # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
++2549;A # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
++254A;A # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
++254B;A # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
++254C;N # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
++254D;N # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
++254E;N # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
++254F;N # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
++2550;A # BOX DRAWINGS DOUBLE HORIZONTAL
++2551;A # BOX DRAWINGS DOUBLE VERTICAL
++2552;A # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
++2553;A # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
++2554;A # BOX DRAWINGS DOUBLE DOWN AND RIGHT
++2555;A # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
++2556;A # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
++2557;A # BOX DRAWINGS DOUBLE DOWN AND LEFT
++2558;A # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
++2559;A # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
++255A;A # BOX DRAWINGS DOUBLE UP AND RIGHT
++255B;A # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
++255C;A # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
++255D;A # BOX DRAWINGS DOUBLE UP AND LEFT
++255E;A # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
++255F;A # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
++2560;A # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
++2561;A # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
++2562;A # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
++2563;A # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
++2564;A # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
++2565;A # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
++2566;A # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
++2567;A # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
++2568;A # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
++2569;A # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
++256A;A # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
++256B;A # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
++256C;A # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
++256D;A # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
++256E;A # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
++256F;A # BOX DRAWINGS LIGHT ARC UP AND LEFT
++2570;A # BOX DRAWINGS LIGHT ARC UP AND RIGHT
++2571;A # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
++2572;A # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
++2573;A # BOX DRAWINGS LIGHT DIAGONAL CROSS
++2574;N # BOX DRAWINGS LIGHT LEFT
++2575;N # BOX DRAWINGS LIGHT UP
++2576;N # BOX DRAWINGS LIGHT RIGHT
++2577;N # BOX DRAWINGS LIGHT DOWN
++2578;N # BOX DRAWINGS HEAVY LEFT
++2579;N # BOX DRAWINGS HEAVY UP
++257A;N # BOX DRAWINGS HEAVY RIGHT
++257B;N # BOX DRAWINGS HEAVY DOWN
++257C;N # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
++257D;N # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
++257E;N # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
++257F;N # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
++2580;A # UPPER HALF BLOCK
++2581;A # LOWER ONE EIGHTH BLOCK
++2582;A # LOWER ONE QUARTER BLOCK
++2583;A # LOWER THREE EIGHTHS BLOCK
++2584;A # LOWER HALF BLOCK
++2585;A # LOWER FIVE EIGHTHS BLOCK
++2586;A # LOWER THREE QUARTERS BLOCK
++2587;A # LOWER SEVEN EIGHTHS BLOCK
++2588;A # FULL BLOCK
++2589;A # LEFT SEVEN EIGHTHS BLOCK
++258A;A # LEFT THREE QUARTERS BLOCK
++258B;A # LEFT FIVE EIGHTHS BLOCK
++258C;A # LEFT HALF BLOCK
++258D;A # LEFT THREE EIGHTHS BLOCK
++258E;A # LEFT ONE QUARTER BLOCK
++258F;A # LEFT ONE EIGHTH BLOCK
++2590;N # RIGHT HALF BLOCK
++2591;N # LIGHT SHADE
++2592;A # MEDIUM SHADE
++2593;A # DARK SHADE
++2594;A # UPPER ONE EIGHTH BLOCK
++2595;A # RIGHT ONE EIGHTH BLOCK
++2596;N # QUADRANT LOWER LEFT
++2597;N # QUADRANT LOWER RIGHT
++2598;N # QUADRANT UPPER LEFT
++2599;N # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
++259A;N # QUADRANT UPPER LEFT AND LOWER RIGHT
++259B;N # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
++259C;N # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
++259D;N # QUADRANT UPPER RIGHT
++259E;N # QUADRANT UPPER RIGHT AND LOWER LEFT
++259F;N # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
++25A0;A # BLACK SQUARE
++25A1;A # WHITE SQUARE
++25A2;N # WHITE SQUARE WITH ROUNDED CORNERS
++25A3;A # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
++25A4;A # SQUARE WITH HORIZONTAL FILL
++25A5;A # SQUARE WITH VERTICAL FILL
++25A6;A # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
++25A7;A # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
++25A8;A # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
++25A9;A # SQUARE WITH DIAGONAL CROSSHATCH FILL
++25AA;N # BLACK SMALL SQUARE
++25AB;N # WHITE SMALL SQUARE
++25AC;N # BLACK RECTANGLE
++25AD;N # WHITE RECTANGLE
++25AE;N # BLACK VERTICAL RECTANGLE
++25AF;N # WHITE VERTICAL RECTANGLE
++25B0;N # BLACK PARALLELOGRAM
++25B1;N # WHITE PARALLELOGRAM
++25B2;A # BLACK UP-POINTING TRIANGLE
++25B3;A # WHITE UP-POINTING TRIANGLE
++25B4;N # BLACK UP-POINTING SMALL TRIANGLE
++25B5;N # WHITE UP-POINTING SMALL TRIANGLE
++25B6;A # BLACK RIGHT-POINTING TRIANGLE
++25B7;A # WHITE RIGHT-POINTING TRIANGLE
++25B8;N # BLACK RIGHT-POINTING SMALL TRIANGLE
++25B9;N # WHITE RIGHT-POINTING SMALL TRIANGLE
++25BA;N # BLACK RIGHT-POINTING POINTER
++25BB;N # WHITE RIGHT-POINTING POINTER
++25BC;A # BLACK DOWN-POINTING TRIANGLE
++25BD;A # WHITE DOWN-POINTING TRIANGLE
++25BE;N # BLACK DOWN-POINTING SMALL TRIANGLE
++25BF;N # WHITE DOWN-POINTING SMALL TRIANGLE
++25C0;A # BLACK LEFT-POINTING TRIANGLE
++25C1;A # WHITE LEFT-POINTING TRIANGLE
++25C2;N # BLACK LEFT-POINTING SMALL TRIANGLE
++25C3;N # WHITE LEFT-POINTING SMALL TRIANGLE
++25C4;N # BLACK LEFT-POINTING POINTER
++25C5;N # WHITE LEFT-POINTING POINTER
++25C6;A # BLACK DIAMOND
++25C7;A # WHITE DIAMOND
++25C8;A # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
++25C9;N # FISHEYE
++25CA;N # LOZENGE
++25CB;A # WHITE CIRCLE
++25CC;N # DOTTED CIRCLE
++25CD;N # CIRCLE WITH VERTICAL FILL
++25CE;A # BULLSEYE
++25CF;A # BLACK CIRCLE
++25D0;A # CIRCLE WITH LEFT HALF BLACK
++25D1;A # CIRCLE WITH RIGHT HALF BLACK
++25D2;N # CIRCLE WITH LOWER HALF BLACK
++25D3;N # CIRCLE WITH UPPER HALF BLACK
++25D4;N # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
++25D5;N # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
++25D6;N # LEFT HALF BLACK CIRCLE
++25D7;N # RIGHT HALF BLACK CIRCLE
++25D8;N # INVERSE BULLET
++25D9;N # INVERSE WHITE CIRCLE
++25DA;N # UPPER HALF INVERSE WHITE CIRCLE
++25DB;N # LOWER HALF INVERSE WHITE CIRCLE
++25DC;N # UPPER LEFT QUADRANT CIRCULAR ARC
++25DD;N # UPPER RIGHT QUADRANT CIRCULAR ARC
++25DE;N # LOWER RIGHT QUADRANT CIRCULAR ARC
++25DF;N # LOWER LEFT QUADRANT CIRCULAR ARC
++25E0;N # UPPER HALF CIRCLE
++25E1;N # LOWER HALF CIRCLE
++25E2;A # BLACK LOWER RIGHT TRIANGLE
++25E3;A # BLACK LOWER LEFT TRIANGLE
++25E4;A # BLACK UPPER LEFT TRIANGLE
++25E5;A # BLACK UPPER RIGHT TRIANGLE
++25E6;N # WHITE BULLET
++25E7;N # SQUARE WITH LEFT HALF BLACK
++25E8;N # SQUARE WITH RIGHT HALF BLACK
++25E9;N # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
++25EA;N # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
++25EB;N # WHITE SQUARE WITH VERTICAL BISECTING LINE
++25EC;N # WHITE UP-POINTING TRIANGLE WITH DOT
++25ED;N # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
++25EE;N # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
++25EF;A # LARGE CIRCLE
++25F0;N # WHITE SQUARE WITH UPPER LEFT QUADRANT
++25F1;N # WHITE SQUARE WITH LOWER LEFT QUADRANT
++25F2;N # WHITE SQUARE WITH LOWER RIGHT QUADRANT
++25F3;N # WHITE SQUARE WITH UPPER RIGHT QUADRANT
++25F4;N # WHITE CIRCLE WITH UPPER LEFT QUADRANT
++25F5;N # WHITE CIRCLE WITH LOWER LEFT QUADRANT
++25F6;N # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
++25F7;N # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
++25F8;N # UPPER LEFT TRIANGLE
++25F9;N # UPPER RIGHT TRIANGLE
++25FA;N # LOWER LEFT TRIANGLE
++25FB;N # WHITE MEDIUM SQUARE
++25FC;N # BLACK MEDIUM SQUARE
++25FD;N # WHITE MEDIUM SMALL SQUARE
++25FE;N # BLACK MEDIUM SMALL SQUARE
++25FF;N # LOWER RIGHT TRIANGLE
++2600;N # BLACK SUN WITH RAYS
++2601;N # CLOUD
++2602;N # UMBRELLA
++2603;N # SNOWMAN
++2604;N # COMET
++2605;A # BLACK STAR
++2606;A # WHITE STAR
++2607;N # LIGHTNING
++2608;N # THUNDERSTORM
++2609;A # SUN
++260A;N # ASCENDING NODE
++260B;N # DESCENDING NODE
++260C;N # CONJUNCTION
++260D;N # OPPOSITION
++260E;A # BLACK TELEPHONE
++260F;A # WHITE TELEPHONE
++2610;N # BALLOT BOX
++2611;N # BALLOT BOX WITH CHECK
++2612;N # BALLOT BOX WITH X
++2613;N # SALTIRE
++2614;A # UMBRELLA WITH RAIN DROPS
++2615;A # HOT BEVERAGE
++2616;N # WHITE SHOGI PIECE
++2617;N # BLACK SHOGI PIECE
++2618;N # SHAMROCK
++2619;N # REVERSED ROTATED FLORAL HEART BULLET
++261A;N # BLACK LEFT POINTING INDEX
++261B;N # BLACK RIGHT POINTING INDEX
++261C;A # WHITE LEFT POINTING INDEX
++261D;N # WHITE UP POINTING INDEX
++261E;A # WHITE RIGHT POINTING INDEX
++261F;N # WHITE DOWN POINTING INDEX
++2620;N # SKULL AND CROSSBONES
++2621;N # CAUTION SIGN
++2622;N # RADIOACTIVE SIGN
++2623;N # BIOHAZARD SIGN
++2624;N # CADUCEUS
++2625;N # ANKH
++2626;N # ORTHODOX CROSS
++2627;N # CHI RHO
++2628;N # CROSS OF LORRAINE
++2629;N # CROSS OF JERUSALEM
++262A;N # STAR AND CRESCENT
++262B;N # FARSI SYMBOL
++262C;N # ADI SHAKTI
++262D;N # HAMMER AND SICKLE
++262E;N # PEACE SYMBOL
++262F;N # YIN YANG
++2630;N # TRIGRAM FOR HEAVEN
++2631;N # TRIGRAM FOR LAKE
++2632;N # TRIGRAM FOR FIRE
++2633;N # TRIGRAM FOR THUNDER
++2634;N # TRIGRAM FOR WIND
++2635;N # TRIGRAM FOR WATER
++2636;N # TRIGRAM FOR MOUNTAIN
++2637;N # TRIGRAM FOR EARTH
++2638;N # WHEEL OF DHARMA
++2639;N # WHITE FROWNING FACE
++263A;N # WHITE SMILING FACE
++263B;N # BLACK SMILING FACE
++263C;N # WHITE SUN WITH RAYS
++263D;N # FIRST QUARTER MOON
++263E;N # LAST QUARTER MOON
++263F;N # MERCURY
++2640;A # FEMALE SIGN
++2641;N # EARTH
++2642;A # MALE SIGN
++2643;N # JUPITER
++2644;N # SATURN
++2645;N # URANUS
++2646;N # NEPTUNE
++2647;N # PLUTO
++2648;N # ARIES
++2649;N # TAURUS
++264A;N # GEMINI
++264B;N # CANCER
++264C;N # LEO
++264D;N # VIRGO
++264E;N # LIBRA
++264F;N # SCORPIUS
++2650;N # SAGITTARIUS
++2651;N # CAPRICORN
++2652;N # AQUARIUS
++2653;N # PISCES
++2654;N # WHITE CHESS KING
++2655;N # WHITE CHESS QUEEN
++2656;N # WHITE CHESS ROOK
++2657;N # WHITE CHESS BISHOP
++2658;N # WHITE CHESS KNIGHT
++2659;N # WHITE CHESS PAWN
++265A;N # BLACK CHESS KING
++265B;N # BLACK CHESS QUEEN
++265C;N # BLACK CHESS ROOK
++265D;N # BLACK CHESS BISHOP
++265E;N # BLACK CHESS KNIGHT
++265F;N # BLACK CHESS PAWN
++2660;A # BLACK SPADE SUIT
++2661;A # WHITE HEART SUIT
++2662;N # WHITE DIAMOND SUIT
++2663;A # BLACK CLUB SUIT
++2664;A # WHITE SPADE SUIT
++2665;A # BLACK HEART SUIT
++2666;N # BLACK DIAMOND SUIT
++2667;A # WHITE CLUB SUIT
++2668;A # HOT SPRINGS
++2669;A # QUARTER NOTE
++266A;A # EIGHTH NOTE
++266B;N # BEAMED EIGHTH NOTES
++266C;A # BEAMED SIXTEENTH NOTES
++266D;A # MUSIC FLAT SIGN
++266E;N # MUSIC NATURAL SIGN
++266F;A # MUSIC SHARP SIGN
++2670;N # WEST SYRIAC CROSS
++2671;N # EAST SYRIAC CROSS
++2672;N # UNIVERSAL RECYCLING SYMBOL
++2673;N # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
++2674;N # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
++2675;N # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
++2676;N # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
++2677;N # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
++2678;N # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
++2679;N # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
++267A;N # RECYCLING SYMBOL FOR GENERIC MATERIALS
++267B;N # BLACK UNIVERSAL RECYCLING SYMBOL
++267C;N # RECYCLED PAPER SYMBOL
++267D;N # PARTIALLY-RECYCLED PAPER SYMBOL
++267E;N # PERMANENT PAPER SIGN
++267F;N # WHEELCHAIR SYMBOL
++2680;N # DIE FACE-1
++2681;N # DIE FACE-2
++2682;N # DIE FACE-3
++2683;N # DIE FACE-4
++2684;N # DIE FACE-5
++2685;N # DIE FACE-6
++2686;N # WHITE CIRCLE WITH DOT RIGHT
++2687;N # WHITE CIRCLE WITH TWO DOTS
++2688;N # BLACK CIRCLE WITH WHITE DOT RIGHT
++2689;N # BLACK CIRCLE WITH TWO WHITE DOTS
++268A;N # MONOGRAM FOR YANG
++268B;N # MONOGRAM FOR YIN
++268C;N # DIGRAM FOR GREATER YANG
++268D;N # DIGRAM FOR LESSER YIN
++268E;N # DIGRAM FOR LESSER YANG
++268F;N # DIGRAM FOR GREATER YIN
++2690;N # WHITE FLAG
++2691;N # BLACK FLAG
++2692;N # HAMMER AND PICK
++2693;N # ANCHOR
++2694;N # CROSSED SWORDS
++2695;N # STAFF OF AESCULAPIUS
++2696;N # SCALES
++2697;N # ALEMBIC
++2698;N # FLOWER
++2699;N # GEAR
++269A;N # STAFF OF HERMES
++269B;N # ATOM SYMBOL
++269C;N # FLEUR-DE-LIS
++269D;N # OUTLINED WHITE STAR
++269E;A # THREE LINES CONVERGING RIGHT
++269F;A # THREE LINES CONVERGING LEFT
++26A0;N # WARNING SIGN
++26A1;N # HIGH VOLTAGE SIGN
++26A2;N # DOUBLED FEMALE SIGN
++26A3;N # DOUBLED MALE SIGN
++26A4;N # INTERLOCKED FEMALE AND MALE SIGN
++26A5;N # MALE AND FEMALE SIGN
++26A6;N # MALE WITH STROKE SIGN
++26A7;N # MALE WITH STROKE AND MALE AND FEMALE SIGN
++26A8;N # VERTICAL MALE WITH STROKE SIGN
++26A9;N # HORIZONTAL MALE WITH STROKE SIGN
++26AA;N # MEDIUM WHITE CIRCLE
++26AB;N # MEDIUM BLACK CIRCLE
++26AC;N # MEDIUM SMALL WHITE CIRCLE
++26AD;N # MARRIAGE SYMBOL
++26AE;N # DIVORCE SYMBOL
++26AF;N # UNMARRIED PARTNERSHIP SYMBOL
++26B0;N # COFFIN
++26B1;N # FUNERAL URN
++26B2;N # NEUTER
++26B3;N # CERES
++26B4;N # PALLAS
++26B5;N # JUNO
++26B6;N # VESTA
++26B7;N # CHIRON
++26B8;N # BLACK MOON LILITH
++26B9;N # SEXTILE
++26BA;N # SEMISEXTILE
++26BB;N # QUINCUNX
++26BC;N # SESQUIQUADRATE
++26BD;N # SOCCER BALL
++26BE;A # BASEBALL
++26BF;A # SQUARED KEY
++26C0;N # WHITE DRAUGHTS MAN
++26C1;N # WHITE DRAUGHTS KING
++26C2;N # BLACK DRAUGHTS MAN
++26C3;N # BLACK DRAUGHTS KING
++26C4;A # SNOWMAN WITHOUT SNOW
++26C5;A # SUN BEHIND CLOUD
++26C6;A # RAIN
++26C7;A # BLACK SNOWMAN
++26C8;A # THUNDER CLOUD AND RAIN
++26C9;A # TURNED WHITE SHOGI PIECE
++26CA;A # TURNED BLACK SHOGI PIECE
++26CB;A # WHITE DIAMOND IN SQUARE
++26CC;A # CROSSING LANES
++26CD;A # DISABLED CAR
++26CF;A # PICK
++26D0;A # CAR SLIDING
++26D1;A # HELMET WITH WHITE CROSS
++26D2;A # CIRCLED CROSSING LANES
++26D3;A # CHAINS
++26D4;A # NO ENTRY
++26D5;A # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
++26D6;A # BLACK TWO-WAY LEFT WAY TRAFFIC
++26D7;A # WHITE TWO-WAY LEFT WAY TRAFFIC
++26D8;A # BLACK LEFT LANE MERGE
++26D9;A # WHITE LEFT LANE MERGE
++26DA;A # DRIVE SLOW SIGN
++26DB;A # HEAVY WHITE DOWN-POINTING TRIANGLE
++26DC;A # LEFT CLOSED ENTRY
++26DD;A # SQUARED SALTIRE
++26DE;A # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
++26DF;A # BLACK TRUCK
++26E0;A # RESTRICTED LEFT ENTRY-1
++26E1;A # RESTRICTED LEFT ENTRY-2
++26E3;A # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
++26E8;A # BLACK CROSS ON SHIELD
++26E9;A # SHINTO SHRINE
++26EA;A # CHURCH
++26EB;A # CASTLE
++26EC;A # HISTORIC SITE
++26ED;A # GEAR WITHOUT HUB
++26EE;A # GEAR WITH HANDLES
++26EF;A # MAP SYMBOL FOR LIGHTHOUSE
++26F0;A # MOUNTAIN
++26F1;A # UMBRELLA ON GROUND
++26F2;A # FOUNTAIN
++26F3;A # FLAG IN HOLE
++26F4;A # FERRY
++26F5;A # SAILBOAT
++26F6;A # SQUARE FOUR CORNERS
++26F7;A # SKIER
++26F8;A # ICE SKATE
++26F9;A # PERSON WITH BALL
++26FA;A # TENT
++26FB;A # JAPANESE BANK SYMBOL
++26FC;A # HEADSTONE GRAVEYARD SYMBOL
++26FD;A # FUEL PUMP
++26FE;A # CUP ON BLACK SQUARE
++26FF;A # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
++2701;N # UPPER BLADE SCISSORS
++2702;N # BLACK SCISSORS
++2703;N # LOWER BLADE SCISSORS
++2704;N # WHITE SCISSORS
++2706;N # TELEPHONE LOCATION SIGN
++2707;N # TAPE DRIVE
++2708;N # AIRPLANE
++2709;N # ENVELOPE
++270C;N # VICTORY HAND
++270D;N # WRITING HAND
++270E;N # LOWER RIGHT PENCIL
++270F;N # PENCIL
++2710;N # UPPER RIGHT PENCIL
++2711;N # WHITE NIB
++2712;N # BLACK NIB
++2713;N # CHECK MARK
++2714;N # HEAVY CHECK MARK
++2715;N # MULTIPLICATION X
++2716;N # HEAVY MULTIPLICATION X
++2717;N # BALLOT X
++2718;N # HEAVY BALLOT X
++2719;N # OUTLINED GREEK CROSS
++271A;N # HEAVY GREEK CROSS
++271B;N # OPEN CENTRE CROSS
++271C;N # HEAVY OPEN CENTRE CROSS
++271D;N # LATIN CROSS
++271E;N # SHADOWED WHITE LATIN CROSS
++271F;N # OUTLINED LATIN CROSS
++2720;N # MALTESE CROSS
++2721;N # STAR OF DAVID
++2722;N # FOUR TEARDROP-SPOKED ASTERISK
++2723;N # FOUR BALLOON-SPOKED ASTERISK
++2724;N # HEAVY FOUR BALLOON-SPOKED ASTERISK
++2725;N # FOUR CLUB-SPOKED ASTERISK
++2726;N # BLACK FOUR POINTED STAR
++2727;N # WHITE FOUR POINTED STAR
++2729;N # STRESS OUTLINED WHITE STAR
++272A;N # CIRCLED WHITE STAR
++272B;N # OPEN CENTRE BLACK STAR
++272C;N # BLACK CENTRE WHITE STAR
++272D;N # OUTLINED BLACK STAR
++272E;N # HEAVY OUTLINED BLACK STAR
++272F;N # PINWHEEL STAR
++2730;N # SHADOWED WHITE STAR
++2731;N # HEAVY ASTERISK
++2732;N # OPEN CENTRE ASTERISK
++2733;N # EIGHT SPOKED ASTERISK
++2734;N # EIGHT POINTED BLACK STAR
++2735;N # EIGHT POINTED PINWHEEL STAR
++2736;N # SIX POINTED BLACK STAR
++2737;N # EIGHT POINTED RECTILINEAR BLACK STAR
++2738;N # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
++2739;N # TWELVE POINTED BLACK STAR
++273A;N # SIXTEEN POINTED ASTERISK
++273B;N # TEARDROP-SPOKED ASTERISK
++273C;N # OPEN CENTRE TEARDROP-SPOKED ASTERISK
++273D;A # HEAVY TEARDROP-SPOKED ASTERISK
++273E;N # SIX PETALLED BLACK AND WHITE FLORETTE
++273F;N # BLACK FLORETTE
++2740;N # WHITE FLORETTE
++2741;N # EIGHT PETALLED OUTLINED BLACK FLORETTE
++2742;N # CIRCLED OPEN CENTRE EIGHT POINTED STAR
++2743;N # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
++2744;N # SNOWFLAKE
++2745;N # TIGHT TRIFOLIATE SNOWFLAKE
++2746;N # HEAVY CHEVRON SNOWFLAKE
++2747;N # SPARKLE
++2748;N # HEAVY SPARKLE
++2749;N # BALLOON-SPOKED ASTERISK
++274A;N # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
++274B;N # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
++274D;N # SHADOWED WHITE CIRCLE
++274F;N # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
++2750;N # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
++2751;N # LOWER RIGHT SHADOWED WHITE SQUARE
++2752;N # UPPER RIGHT SHADOWED WHITE SQUARE
++2756;N # BLACK DIAMOND MINUS WHITE X
++2757;A # HEAVY EXCLAMATION MARK SYMBOL
++2758;N # LIGHT VERTICAL BAR
++2759;N # MEDIUM VERTICAL BAR
++275A;N # HEAVY VERTICAL BAR
++275B;N # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
++275C;N # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
++275D;N # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
++275E;N # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
++2761;N # CURVED STEM PARAGRAPH SIGN ORNAMENT
++2762;N # HEAVY EXCLAMATION MARK ORNAMENT
++2763;N # HEAVY HEART EXCLAMATION MARK ORNAMENT
++2764;N # HEAVY BLACK HEART
++2765;N # ROTATED HEAVY BLACK HEART BULLET
++2766;N # FLORAL HEART
++2767;N # ROTATED FLORAL HEART BULLET
++2768;N # MEDIUM LEFT PARENTHESIS ORNAMENT
++2769;N # MEDIUM RIGHT PARENTHESIS ORNAMENT
++276A;N # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
++276B;N # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
++276C;N # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
++276D;N # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
++276E;N # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
++276F;N # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
++2770;N # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
++2771;N # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
++2772;N # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
++2773;N # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
++2774;N # MEDIUM LEFT CURLY BRACKET ORNAMENT
++2775;N # MEDIUM RIGHT CURLY BRACKET ORNAMENT
++2776;A # DINGBAT NEGATIVE CIRCLED DIGIT ONE
++2777;A # DINGBAT NEGATIVE CIRCLED DIGIT TWO
++2778;A # DINGBAT NEGATIVE CIRCLED DIGIT THREE
++2779;A # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
++277A;A # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
++277B;A # DINGBAT NEGATIVE CIRCLED DIGIT SIX
++277C;A # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
++277D;A # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
++277E;A # DINGBAT NEGATIVE CIRCLED DIGIT NINE
++277F;A # DINGBAT NEGATIVE CIRCLED NUMBER TEN
++2780;N # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
++2781;N # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
++2782;N # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
++2783;N # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
++2784;N # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
++2785;N # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
++2786;N # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
++2787;N # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
++2788;N # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
++2789;N # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
++278A;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
++278B;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
++278C;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
++278D;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
++278E;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
++278F;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
++2790;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
++2791;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
++2792;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
++2793;N # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
++2794;N # HEAVY WIDE-HEADED RIGHTWARDS ARROW
++2798;N # HEAVY SOUTH EAST ARROW
++2799;N # HEAVY RIGHTWARDS ARROW
++279A;N # HEAVY NORTH EAST ARROW
++279B;N # DRAFTING POINT RIGHTWARDS ARROW
++279C;N # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
++279D;N # TRIANGLE-HEADED RIGHTWARDS ARROW
++279E;N # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
++279F;N # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
++27A0;N # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
++27A1;N # BLACK RIGHTWARDS ARROW
++27A2;N # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
++27A3;N # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
++27A4;N # BLACK RIGHTWARDS ARROWHEAD
++27A5;N # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
++27A6;N # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
++27A7;N # SQUAT BLACK RIGHTWARDS ARROW
++27A8;N # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
++27A9;N # RIGHT-SHADED WHITE RIGHTWARDS ARROW
++27AA;N # LEFT-SHADED WHITE RIGHTWARDS ARROW
++27AB;N # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
++27AC;N # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
++27AD;N # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
++27AE;N # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
++27AF;N # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
++27B1;N # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
++27B2;N # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
++27B3;N # WHITE-FEATHERED RIGHTWARDS ARROW
++27B4;N # BLACK-FEATHERED SOUTH EAST ARROW
++27B5;N # BLACK-FEATHERED RIGHTWARDS ARROW
++27B6;N # BLACK-FEATHERED NORTH EAST ARROW
++27B7;N # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
++27B8;N # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
++27B9;N # HEAVY BLACK-FEATHERED NORTH EAST ARROW
++27BA;N # TEARDROP-BARBED RIGHTWARDS ARROW
++27BB;N # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
++27BC;N # WEDGE-TAILED RIGHTWARDS ARROW
++27BD;N # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
++27BE;N # OPEN-OUTLINED RIGHTWARDS ARROW
++27C0;N # THREE DIMENSIONAL ANGLE
++27C1;N # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
++27C2;N # PERPENDICULAR
++27C3;N # OPEN SUBSET
++27C4;N # OPEN SUPERSET
++27C5;N # LEFT S-SHAPED BAG DELIMITER
++27C6;N # RIGHT S-SHAPED BAG DELIMITER
++27C7;N # OR WITH DOT INSIDE
++27C8;N # REVERSE SOLIDUS PRECEDING SUBSET
++27C9;N # SUPERSET PRECEDING SOLIDUS
++27CA;N # VERTICAL BAR WITH HORIZONTAL STROKE
++27CC;N # LONG DIVISION
++27D0;N # WHITE DIAMOND WITH CENTRED DOT
++27D1;N # AND WITH DOT
++27D2;N # ELEMENT OF OPENING UPWARDS
++27D3;N # LOWER RIGHT CORNER WITH DOT
++27D4;N # UPPER LEFT CORNER WITH DOT
++27D5;N # LEFT OUTER JOIN
++27D6;N # RIGHT OUTER JOIN
++27D7;N # FULL OUTER JOIN
++27D8;N # LARGE UP TACK
++27D9;N # LARGE DOWN TACK
++27DA;N # LEFT AND RIGHT DOUBLE TURNSTILE
++27DB;N # LEFT AND RIGHT TACK
++27DC;N # LEFT MULTIMAP
++27DD;N # LONG RIGHT TACK
++27DE;N # LONG LEFT TACK
++27DF;N # UP TACK WITH CIRCLE ABOVE
++27E0;N # LOZENGE DIVIDED BY HORIZONTAL RULE
++27E1;N # WHITE CONCAVE-SIDED DIAMOND
++27E2;N # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
++27E3;N # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
++27E4;N # WHITE SQUARE WITH LEFTWARDS TICK
++27E5;N # WHITE SQUARE WITH RIGHTWARDS TICK
++27E6;Na # MATHEMATICAL LEFT WHITE SQUARE BRACKET
++27E7;Na # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
++27E8;Na # MATHEMATICAL LEFT ANGLE BRACKET
++27E9;Na # MATHEMATICAL RIGHT ANGLE BRACKET
++27EA;Na # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
++27EB;Na # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
++27EC;Na # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
++27ED;Na # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
++27EE;N # MATHEMATICAL LEFT FLATTENED PARENTHESIS
++27EF;N # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
++27F0;N # UPWARDS QUADRUPLE ARROW
++27F1;N # DOWNWARDS QUADRUPLE ARROW
++27F2;N # ANTICLOCKWISE GAPPED CIRCLE ARROW
++27F3;N # CLOCKWISE GAPPED CIRCLE ARROW
++27F4;N # RIGHT ARROW WITH CIRCLED PLUS
++27F5;N # LONG LEFTWARDS ARROW
++27F6;N # LONG RIGHTWARDS ARROW
++27F7;N # LONG LEFT RIGHT ARROW
++27F8;N # LONG LEFTWARDS DOUBLE ARROW
++27F9;N # LONG RIGHTWARDS DOUBLE ARROW
++27FA;N # LONG LEFT RIGHT DOUBLE ARROW
++27FB;N # LONG LEFTWARDS ARROW FROM BAR
++27FC;N # LONG RIGHTWARDS ARROW FROM BAR
++27FD;N # LONG LEFTWARDS DOUBLE ARROW FROM BAR
++27FE;N # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
++27FF;N # LONG RIGHTWARDS SQUIGGLE ARROW
++2800;N # BRAILLE PATTERN BLANK
++2801;N # BRAILLE PATTERN DOTS-1
++2802;N # BRAILLE PATTERN DOTS-2
++2803;N # BRAILLE PATTERN DOTS-12
++2804;N # BRAILLE PATTERN DOTS-3
++2805;N # BRAILLE PATTERN DOTS-13
++2806;N # BRAILLE PATTERN DOTS-23
++2807;N # BRAILLE PATTERN DOTS-123
++2808;N # BRAILLE PATTERN DOTS-4
++2809;N # BRAILLE PATTERN DOTS-14
++280A;N # BRAILLE PATTERN DOTS-24
++280B;N # BRAILLE PATTERN DOTS-124
++280C;N # BRAILLE PATTERN DOTS-34
++280D;N # BRAILLE PATTERN DOTS-134
++280E;N # BRAILLE PATTERN DOTS-234
++280F;N # BRAILLE PATTERN DOTS-1234
++2810;N # BRAILLE PATTERN DOTS-5
++2811;N # BRAILLE PATTERN DOTS-15
++2812;N # BRAILLE PATTERN DOTS-25
++2813;N # BRAILLE PATTERN DOTS-125
++2814;N # BRAILLE PATTERN DOTS-35
++2815;N # BRAILLE PATTERN DOTS-135
++2816;N # BRAILLE PATTERN DOTS-235
++2817;N # BRAILLE PATTERN DOTS-1235
++2818;N # BRAILLE PATTERN DOTS-45
++2819;N # BRAILLE PATTERN DOTS-145
++281A;N # BRAILLE PATTERN DOTS-245
++281B;N # BRAILLE PATTERN DOTS-1245
++281C;N # BRAILLE PATTERN DOTS-345
++281D;N # BRAILLE PATTERN DOTS-1345
++281E;N # BRAILLE PATTERN DOTS-2345
++281F;N # BRAILLE PATTERN DOTS-12345
++2820;N # BRAILLE PATTERN DOTS-6
++2821;N # BRAILLE PATTERN DOTS-16
++2822;N # BRAILLE PATTERN DOTS-26
++2823;N # BRAILLE PATTERN DOTS-126
++2824;N # BRAILLE PATTERN DOTS-36
++2825;N # BRAILLE PATTERN DOTS-136
++2826;N # BRAILLE PATTERN DOTS-236
++2827;N # BRAILLE PATTERN DOTS-1236
++2828;N # BRAILLE PATTERN DOTS-46
++2829;N # BRAILLE PATTERN DOTS-146
++282A;N # BRAILLE PATTERN DOTS-246
++282B;N # BRAILLE PATTERN DOTS-1246
++282C;N # BRAILLE PATTERN DOTS-346
++282D;N # BRAILLE PATTERN DOTS-1346
++282E;N # BRAILLE PATTERN DOTS-2346
++282F;N # BRAILLE PATTERN DOTS-12346
++2830;N # BRAILLE PATTERN DOTS-56
++2831;N # BRAILLE PATTERN DOTS-156
++2832;N # BRAILLE PATTERN DOTS-256
++2833;N # BRAILLE PATTERN DOTS-1256
++2834;N # BRAILLE PATTERN DOTS-356
++2835;N # BRAILLE PATTERN DOTS-1356
++2836;N # BRAILLE PATTERN DOTS-2356
++2837;N # BRAILLE PATTERN DOTS-12356
++2838;N # BRAILLE PATTERN DOTS-456
++2839;N # BRAILLE PATTERN DOTS-1456
++283A;N # BRAILLE PATTERN DOTS-2456
++283B;N # BRAILLE PATTERN DOTS-12456
++283C;N # BRAILLE PATTERN DOTS-3456
++283D;N # BRAILLE PATTERN DOTS-13456
++283E;N # BRAILLE PATTERN DOTS-23456
++283F;N # BRAILLE PATTERN DOTS-123456
++2840;N # BRAILLE PATTERN DOTS-7
++2841;N # BRAILLE PATTERN DOTS-17
++2842;N # BRAILLE PATTERN DOTS-27
++2843;N # BRAILLE PATTERN DOTS-127
++2844;N # BRAILLE PATTERN DOTS-37
++2845;N # BRAILLE PATTERN DOTS-137
++2846;N # BRAILLE PATTERN DOTS-237
++2847;N # BRAILLE PATTERN DOTS-1237
++2848;N # BRAILLE PATTERN DOTS-47
++2849;N # BRAILLE PATTERN DOTS-147
++284A;N # BRAILLE PATTERN DOTS-247
++284B;N # BRAILLE PATTERN DOTS-1247
++284C;N # BRAILLE PATTERN DOTS-347
++284D;N # BRAILLE PATTERN DOTS-1347
++284E;N # BRAILLE PATTERN DOTS-2347
++284F;N # BRAILLE PATTERN DOTS-12347
++2850;N # BRAILLE PATTERN DOTS-57
++2851;N # BRAILLE PATTERN DOTS-157
++2852;N # BRAILLE PATTERN DOTS-257
++2853;N # BRAILLE PATTERN DOTS-1257
++2854;N # BRAILLE PATTERN DOTS-357
++2855;N # BRAILLE PATTERN DOTS-1357
++2856;N # BRAILLE PATTERN DOTS-2357
++2857;N # BRAILLE PATTERN DOTS-12357
++2858;N # BRAILLE PATTERN DOTS-457
++2859;N # BRAILLE PATTERN DOTS-1457
++285A;N # BRAILLE PATTERN DOTS-2457
++285B;N # BRAILLE PATTERN DOTS-12457
++285C;N # BRAILLE PATTERN DOTS-3457
++285D;N # BRAILLE PATTERN DOTS-13457
++285E;N # BRAILLE PATTERN DOTS-23457
++285F;N # BRAILLE PATTERN DOTS-123457
++2860;N # BRAILLE PATTERN DOTS-67
++2861;N # BRAILLE PATTERN DOTS-167
++2862;N # BRAILLE PATTERN DOTS-267
++2863;N # BRAILLE PATTERN DOTS-1267
++2864;N # BRAILLE PATTERN DOTS-367
++2865;N # BRAILLE PATTERN DOTS-1367
++2866;N # BRAILLE PATTERN DOTS-2367
++2867;N # BRAILLE PATTERN DOTS-12367
++2868;N # BRAILLE PATTERN DOTS-467
++2869;N # BRAILLE PATTERN DOTS-1467
++286A;N # BRAILLE PATTERN DOTS-2467
++286B;N # BRAILLE PATTERN DOTS-12467
++286C;N # BRAILLE PATTERN DOTS-3467
++286D;N # BRAILLE PATTERN DOTS-13467
++286E;N # BRAILLE PATTERN DOTS-23467
++286F;N # BRAILLE PATTERN DOTS-123467
++2870;N # BRAILLE PATTERN DOTS-567
++2871;N # BRAILLE PATTERN DOTS-1567
++2872;N # BRAILLE PATTERN DOTS-2567
++2873;N # BRAILLE PATTERN DOTS-12567
++2874;N # BRAILLE PATTERN DOTS-3567
++2875;N # BRAILLE PATTERN DOTS-13567
++2876;N # BRAILLE PATTERN DOTS-23567
++2877;N # BRAILLE PATTERN DOTS-123567
++2878;N # BRAILLE PATTERN DOTS-4567
++2879;N # BRAILLE PATTERN DOTS-14567
++287A;N # BRAILLE PATTERN DOTS-24567
++287B;N # BRAILLE PATTERN DOTS-124567
++287C;N # BRAILLE PATTERN DOTS-34567
++287D;N # BRAILLE PATTERN DOTS-134567
++287E;N # BRAILLE PATTERN DOTS-234567
++287F;N # BRAILLE PATTERN DOTS-1234567
++2880;N # BRAILLE PATTERN DOTS-8
++2881;N # BRAILLE PATTERN DOTS-18
++2882;N # BRAILLE PATTERN DOTS-28
++2883;N # BRAILLE PATTERN DOTS-128
++2884;N # BRAILLE PATTERN DOTS-38
++2885;N # BRAILLE PATTERN DOTS-138
++2886;N # BRAILLE PATTERN DOTS-238
++2887;N # BRAILLE PATTERN DOTS-1238
++2888;N # BRAILLE PATTERN DOTS-48
++2889;N # BRAILLE PATTERN DOTS-148
++288A;N # BRAILLE PATTERN DOTS-248
++288B;N # BRAILLE PATTERN DOTS-1248
++288C;N # BRAILLE PATTERN DOTS-348
++288D;N # BRAILLE PATTERN DOTS-1348
++288E;N # BRAILLE PATTERN DOTS-2348
++288F;N # BRAILLE PATTERN DOTS-12348
++2890;N # BRAILLE PATTERN DOTS-58
++2891;N # BRAILLE PATTERN DOTS-158
++2892;N # BRAILLE PATTERN DOTS-258
++2893;N # BRAILLE PATTERN DOTS-1258
++2894;N # BRAILLE PATTERN DOTS-358
++2895;N # BRAILLE PATTERN DOTS-1358
++2896;N # BRAILLE PATTERN DOTS-2358
++2897;N # BRAILLE PATTERN DOTS-12358
++2898;N # BRAILLE PATTERN DOTS-458
++2899;N # BRAILLE PATTERN DOTS-1458
++289A;N # BRAILLE PATTERN DOTS-2458
++289B;N # BRAILLE PATTERN DOTS-12458
++289C;N # BRAILLE PATTERN DOTS-3458
++289D;N # BRAILLE PATTERN DOTS-13458
++289E;N # BRAILLE PATTERN DOTS-23458
++289F;N # BRAILLE PATTERN DOTS-123458
++28A0;N # BRAILLE PATTERN DOTS-68
++28A1;N # BRAILLE PATTERN DOTS-168
++28A2;N # BRAILLE PATTERN DOTS-268
++28A3;N # BRAILLE PATTERN DOTS-1268
++28A4;N # BRAILLE PATTERN DOTS-368
++28A5;N # BRAILLE PATTERN DOTS-1368
++28A6;N # BRAILLE PATTERN DOTS-2368
++28A7;N # BRAILLE PATTERN DOTS-12368
++28A8;N # BRAILLE PATTERN DOTS-468
++28A9;N # BRAILLE PATTERN DOTS-1468
++28AA;N # BRAILLE PATTERN DOTS-2468
++28AB;N # BRAILLE PATTERN DOTS-12468
++28AC;N # BRAILLE PATTERN DOTS-3468
++28AD;N # BRAILLE PATTERN DOTS-13468
++28AE;N # BRAILLE PATTERN DOTS-23468
++28AF;N # BRAILLE PATTERN DOTS-123468
++28B0;N # BRAILLE PATTERN DOTS-568
++28B1;N # BRAILLE PATTERN DOTS-1568
++28B2;N # BRAILLE PATTERN DOTS-2568
++28B3;N # BRAILLE PATTERN DOTS-12568
++28B4;N # BRAILLE PATTERN DOTS-3568
++28B5;N # BRAILLE PATTERN DOTS-13568
++28B6;N # BRAILLE PATTERN DOTS-23568
++28B7;N # BRAILLE PATTERN DOTS-123568
++28B8;N # BRAILLE PATTERN DOTS-4568
++28B9;N # BRAILLE PATTERN DOTS-14568
++28BA;N # BRAILLE PATTERN DOTS-24568
++28BB;N # BRAILLE PATTERN DOTS-124568
++28BC;N # BRAILLE PATTERN DOTS-34568
++28BD;N # BRAILLE PATTERN DOTS-134568
++28BE;N # BRAILLE PATTERN DOTS-234568
++28BF;N # BRAILLE PATTERN DOTS-1234568
++28C0;N # BRAILLE PATTERN DOTS-78
++28C1;N # BRAILLE PATTERN DOTS-178
++28C2;N # BRAILLE PATTERN DOTS-278
++28C3;N # BRAILLE PATTERN DOTS-1278
++28C4;N # BRAILLE PATTERN DOTS-378
++28C5;N # BRAILLE PATTERN DOTS-1378
++28C6;N # BRAILLE PATTERN DOTS-2378
++28C7;N # BRAILLE PATTERN DOTS-12378
++28C8;N # BRAILLE PATTERN DOTS-478
++28C9;N # BRAILLE PATTERN DOTS-1478
++28CA;N # BRAILLE PATTERN DOTS-2478
++28CB;N # BRAILLE PATTERN DOTS-12478
++28CC;N # BRAILLE PATTERN DOTS-3478
++28CD;N # BRAILLE PATTERN DOTS-13478
++28CE;N # BRAILLE PATTERN DOTS-23478
++28CF;N # BRAILLE PATTERN DOTS-123478
++28D0;N # BRAILLE PATTERN DOTS-578
++28D1;N # BRAILLE PATTERN DOTS-1578
++28D2;N # BRAILLE PATTERN DOTS-2578
++28D3;N # BRAILLE PATTERN DOTS-12578
++28D4;N # BRAILLE PATTERN DOTS-3578
++28D5;N # BRAILLE PATTERN DOTS-13578
++28D6;N # BRAILLE PATTERN DOTS-23578
++28D7;N # BRAILLE PATTERN DOTS-123578
++28D8;N # BRAILLE PATTERN DOTS-4578
++28D9;N # BRAILLE PATTERN DOTS-14578
++28DA;N # BRAILLE PATTERN DOTS-24578
++28DB;N # BRAILLE PATTERN DOTS-124578
++28DC;N # BRAILLE PATTERN DOTS-34578
++28DD;N # BRAILLE PATTERN DOTS-134578
++28DE;N # BRAILLE PATTERN DOTS-234578
++28DF;N # BRAILLE PATTERN DOTS-1234578
++28E0;N # BRAILLE PATTERN DOTS-678
++28E1;N # BRAILLE PATTERN DOTS-1678
++28E2;N # BRAILLE PATTERN DOTS-2678
++28E3;N # BRAILLE PATTERN DOTS-12678
++28E4;N # BRAILLE PATTERN DOTS-3678
++28E5;N # BRAILLE PATTERN DOTS-13678
++28E6;N # BRAILLE PATTERN DOTS-23678
++28E7;N # BRAILLE PATTERN DOTS-123678
++28E8;N # BRAILLE PATTERN DOTS-4678
++28E9;N # BRAILLE PATTERN DOTS-14678
++28EA;N # BRAILLE PATTERN DOTS-24678
++28EB;N # BRAILLE PATTERN DOTS-124678
++28EC;N # BRAILLE PATTERN DOTS-34678
++28ED;N # BRAILLE PATTERN DOTS-134678
++28EE;N # BRAILLE PATTERN DOTS-234678
++28EF;N # BRAILLE PATTERN DOTS-1234678
++28F0;N # BRAILLE PATTERN DOTS-5678
++28F1;N # BRAILLE PATTERN DOTS-15678
++28F2;N # BRAILLE PATTERN DOTS-25678
++28F3;N # BRAILLE PATTERN DOTS-125678
++28F4;N # BRAILLE PATTERN DOTS-35678
++28F5;N # BRAILLE PATTERN DOTS-135678
++28F6;N # BRAILLE PATTERN DOTS-235678
++28F7;N # BRAILLE PATTERN DOTS-1235678
++28F8;N # BRAILLE PATTERN DOTS-45678
++28F9;N # BRAILLE PATTERN DOTS-145678
++28FA;N # BRAILLE PATTERN DOTS-245678
++28FB;N # BRAILLE PATTERN DOTS-1245678
++28FC;N # BRAILLE PATTERN DOTS-345678
++28FD;N # BRAILLE PATTERN DOTS-1345678
++28FE;N # BRAILLE PATTERN DOTS-2345678
++28FF;N # BRAILLE PATTERN DOTS-12345678
++2900;N # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
++2901;N # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
++2902;N # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
++2903;N # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
++2904;N # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
++2905;N # RIGHTWARDS TWO-HEADED ARROW FROM BAR
++2906;N # LEFTWARDS DOUBLE ARROW FROM BAR
++2907;N # RIGHTWARDS DOUBLE ARROW FROM BAR
++2908;N # DOWNWARDS ARROW WITH HORIZONTAL STROKE
++2909;N # UPWARDS ARROW WITH HORIZONTAL STROKE
++290A;N # UPWARDS TRIPLE ARROW
++290B;N # DOWNWARDS TRIPLE ARROW
++290C;N # LEFTWARDS DOUBLE DASH ARROW
++290D;N # RIGHTWARDS DOUBLE DASH ARROW
++290E;N # LEFTWARDS TRIPLE DASH ARROW
++290F;N # RIGHTWARDS TRIPLE DASH ARROW
++2910;N # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
++2911;N # RIGHTWARDS ARROW WITH DOTTED STEM
++2912;N # UPWARDS ARROW TO BAR
++2913;N # DOWNWARDS ARROW TO BAR
++2914;N # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
++2915;N # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
++2916;N # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
++2917;N # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
++2918;N # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
++2919;N # LEFTWARDS ARROW-TAIL
++291A;N # RIGHTWARDS ARROW-TAIL
++291B;N # LEFTWARDS DOUBLE ARROW-TAIL
++291C;N # RIGHTWARDS DOUBLE ARROW-TAIL
++291D;N # LEFTWARDS ARROW TO BLACK DIAMOND
++291E;N # RIGHTWARDS ARROW TO BLACK DIAMOND
++291F;N # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
++2920;N # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
++2921;N # NORTH WEST AND SOUTH EAST ARROW
++2922;N # NORTH EAST AND SOUTH WEST ARROW
++2923;N # NORTH WEST ARROW WITH HOOK
++2924;N # NORTH EAST ARROW WITH HOOK
++2925;N # SOUTH EAST ARROW WITH HOOK
++2926;N # SOUTH WEST ARROW WITH HOOK
++2927;N # NORTH WEST ARROW AND NORTH EAST ARROW
++2928;N # NORTH EAST ARROW AND SOUTH EAST ARROW
++2929;N # SOUTH EAST ARROW AND SOUTH WEST ARROW
++292A;N # SOUTH WEST ARROW AND NORTH WEST ARROW
++292B;N # RISING DIAGONAL CROSSING FALLING DIAGONAL
++292C;N # FALLING DIAGONAL CROSSING RISING DIAGONAL
++292D;N # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
++292E;N # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
++292F;N # FALLING DIAGONAL CROSSING NORTH EAST ARROW
++2930;N # RISING DIAGONAL CROSSING SOUTH EAST ARROW
++2931;N # NORTH EAST ARROW CROSSING NORTH WEST ARROW
++2932;N # NORTH WEST ARROW CROSSING NORTH EAST ARROW
++2933;N # WAVE ARROW POINTING DIRECTLY RIGHT
++2934;N # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
++2935;N # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
++2936;N # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
++2937;N # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
++2938;N # RIGHT-SIDE ARC CLOCKWISE ARROW
++2939;N # LEFT-SIDE ARC ANTICLOCKWISE ARROW
++293A;N # TOP ARC ANTICLOCKWISE ARROW
++293B;N # BOTTOM ARC ANTICLOCKWISE ARROW
++293C;N # TOP ARC CLOCKWISE ARROW WITH MINUS
++293D;N # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
++293E;N # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
++293F;N # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
++2940;N # ANTICLOCKWISE CLOSED CIRCLE ARROW
++2941;N # CLOCKWISE CLOSED CIRCLE ARROW
++2942;N # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
++2943;N # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
++2944;N # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
++2945;N # RIGHTWARDS ARROW WITH PLUS BELOW
++2946;N # LEFTWARDS ARROW WITH PLUS BELOW
++2947;N # RIGHTWARDS ARROW THROUGH X
++2948;N # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
++2949;N # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
++294A;N # LEFT BARB UP RIGHT BARB DOWN HARPOON
++294B;N # LEFT BARB DOWN RIGHT BARB UP HARPOON
++294C;N # UP BARB RIGHT DOWN BARB LEFT HARPOON
++294D;N # UP BARB LEFT DOWN BARB RIGHT HARPOON
++294E;N # LEFT BARB UP RIGHT BARB UP HARPOON
++294F;N # UP BARB RIGHT DOWN BARB RIGHT HARPOON
++2950;N # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
++2951;N # UP BARB LEFT DOWN BARB LEFT HARPOON
++2952;N # LEFTWARDS HARPOON WITH BARB UP TO BAR
++2953;N # RIGHTWARDS HARPOON WITH BARB UP TO BAR
++2954;N # UPWARDS HARPOON WITH BARB RIGHT TO BAR
++2955;N # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
++2956;N # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
++2957;N # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
++2958;N # UPWARDS HARPOON WITH BARB LEFT TO BAR
++2959;N # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
++295A;N # LEFTWARDS HARPOON WITH BARB UP FROM BAR
++295B;N # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
++295C;N # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
++295D;N # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
++295E;N # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
++295F;N # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
++2960;N # UPWARDS HARPOON WITH BARB LEFT FROM BAR
++2961;N # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
++2962;N # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
++2963;N # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
++2964;N # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
++2965;N # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
++2966;N # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
++2967;N # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
++2968;N # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
++2969;N # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
++296A;N # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
++296B;N # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
++296C;N # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
++296D;N # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
++296E;N # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
++296F;N # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
++2970;N # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
++2971;N # EQUALS SIGN ABOVE RIGHTWARDS ARROW
++2972;N # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
++2973;N # LEFTWARDS ARROW ABOVE TILDE OPERATOR
++2974;N # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
++2975;N # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
++2976;N # LESS-THAN ABOVE LEFTWARDS ARROW
++2977;N # LEFTWARDS ARROW THROUGH LESS-THAN
++2978;N # GREATER-THAN ABOVE RIGHTWARDS ARROW
++2979;N # SUBSET ABOVE RIGHTWARDS ARROW
++297A;N # LEFTWARDS ARROW THROUGH SUBSET
++297B;N # SUPERSET ABOVE LEFTWARDS ARROW
++297C;N # LEFT FISH TAIL
++297D;N # RIGHT FISH TAIL
++297E;N # UP FISH TAIL
++297F;N # DOWN FISH TAIL
++2980;N # TRIPLE VERTICAL BAR DELIMITER
++2981;N # Z NOTATION SPOT
++2982;N # Z NOTATION TYPE COLON
++2983;N # LEFT WHITE CURLY BRACKET
++2984;N # RIGHT WHITE CURLY BRACKET
++2985;Na # LEFT WHITE PARENTHESIS
++2986;Na # RIGHT WHITE PARENTHESIS
++2987;N # Z NOTATION LEFT IMAGE BRACKET
++2988;N # Z NOTATION RIGHT IMAGE BRACKET
++2989;N # Z NOTATION LEFT BINDING BRACKET
++298A;N # Z NOTATION RIGHT BINDING BRACKET
++298B;N # LEFT SQUARE BRACKET WITH UNDERBAR
++298C;N # RIGHT SQUARE BRACKET WITH UNDERBAR
++298D;N # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
++298E;N # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
++298F;N # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
++2990;N # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
++2991;N # LEFT ANGLE BRACKET WITH DOT
++2992;N # RIGHT ANGLE BRACKET WITH DOT
++2993;N # LEFT ARC LESS-THAN BRACKET
++2994;N # RIGHT ARC GREATER-THAN BRACKET
++2995;N # DOUBLE LEFT ARC GREATER-THAN BRACKET
++2996;N # DOUBLE RIGHT ARC LESS-THAN BRACKET
++2997;N # LEFT BLACK TORTOISE SHELL BRACKET
++2998;N # RIGHT BLACK TORTOISE SHELL BRACKET
++2999;N # DOTTED FENCE
++299A;N # VERTICAL ZIGZAG LINE
++299B;N # MEASURED ANGLE OPENING LEFT
++299C;N # RIGHT ANGLE VARIANT WITH SQUARE
++299D;N # MEASURED RIGHT ANGLE WITH DOT
++299E;N # ANGLE WITH S INSIDE
++299F;N # ACUTE ANGLE
++29A0;N # SPHERICAL ANGLE OPENING LEFT
++29A1;N # SPHERICAL ANGLE OPENING UP
++29A2;N # TURNED ANGLE
++29A3;N # REVERSED ANGLE
++29A4;N # ANGLE WITH UNDERBAR
++29A5;N # REVERSED ANGLE WITH UNDERBAR
++29A6;N # OBLIQUE ANGLE OPENING UP
++29A7;N # OBLIQUE ANGLE OPENING DOWN
++29A8;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
++29A9;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
++29AA;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
++29AB;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
++29AC;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
++29AD;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
++29AE;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
++29AF;N # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
++29B0;N # REVERSED EMPTY SET
++29B1;N # EMPTY SET WITH OVERBAR
++29B2;N # EMPTY SET WITH SMALL CIRCLE ABOVE
++29B3;N # EMPTY SET WITH RIGHT ARROW ABOVE
++29B4;N # EMPTY SET WITH LEFT ARROW ABOVE
++29B5;N # CIRCLE WITH HORIZONTAL BAR
++29B6;N # CIRCLED VERTICAL BAR
++29B7;N # CIRCLED PARALLEL
++29B8;N # CIRCLED REVERSE SOLIDUS
++29B9;N # CIRCLED PERPENDICULAR
++29BA;N # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
++29BB;N # CIRCLE WITH SUPERIMPOSED X
++29BC;N # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
++29BD;N # UP ARROW THROUGH CIRCLE
++29BE;N # CIRCLED WHITE BULLET
++29BF;N # CIRCLED BULLET
++29C0;N # CIRCLED LESS-THAN
++29C1;N # CIRCLED GREATER-THAN
++29C2;N # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
++29C3;N # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
++29C4;N # SQUARED RISING DIAGONAL SLASH
++29C5;N # SQUARED FALLING DIAGONAL SLASH
++29C6;N # SQUARED ASTERISK
++29C7;N # SQUARED SMALL CIRCLE
++29C8;N # SQUARED SQUARE
++29C9;N # TWO JOINED SQUARES
++29CA;N # TRIANGLE WITH DOT ABOVE
++29CB;N # TRIANGLE WITH UNDERBAR
++29CC;N # S IN TRIANGLE
++29CD;N # TRIANGLE WITH SERIFS AT BOTTOM
++29CE;N # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
++29CF;N # LEFT TRIANGLE BESIDE VERTICAL BAR
++29D0;N # VERTICAL BAR BESIDE RIGHT TRIANGLE
++29D1;N # BOWTIE WITH LEFT HALF BLACK
++29D2;N # BOWTIE WITH RIGHT HALF BLACK
++29D3;N # BLACK BOWTIE
++29D4;N # TIMES WITH LEFT HALF BLACK
++29D5;N # TIMES WITH RIGHT HALF BLACK
++29D6;N # WHITE HOURGLASS
++29D7;N # BLACK HOURGLASS
++29D8;N # LEFT WIGGLY FENCE
++29D9;N # RIGHT WIGGLY FENCE
++29DA;N # LEFT DOUBLE WIGGLY FENCE
++29DB;N # RIGHT DOUBLE WIGGLY FENCE
++29DC;N # INCOMPLETE INFINITY
++29DD;N # TIE OVER INFINITY
++29DE;N # INFINITY NEGATED WITH VERTICAL BAR
++29DF;N # DOUBLE-ENDED MULTIMAP
++29E0;N # SQUARE WITH CONTOURED OUTLINE
++29E1;N # INCREASES AS
++29E2;N # SHUFFLE PRODUCT
++29E3;N # EQUALS SIGN AND SLANTED PARALLEL
++29E4;N # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
++29E5;N # IDENTICAL TO AND SLANTED PARALLEL
++29E6;N # GLEICH STARK
++29E7;N # THERMODYNAMIC
++29E8;N # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
++29E9;N # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
++29EA;N # BLACK DIAMOND WITH DOWN ARROW
++29EB;N # BLACK LOZENGE
++29EC;N # WHITE CIRCLE WITH DOWN ARROW
++29ED;N # BLACK CIRCLE WITH DOWN ARROW
++29EE;N # ERROR-BARRED WHITE SQUARE
++29EF;N # ERROR-BARRED BLACK SQUARE
++29F0;N # ERROR-BARRED WHITE DIAMOND
++29F1;N # ERROR-BARRED BLACK DIAMOND
++29F2;N # ERROR-BARRED WHITE CIRCLE
++29F3;N # ERROR-BARRED BLACK CIRCLE
++29F4;N # RULE-DELAYED
++29F5;N # REVERSE SOLIDUS OPERATOR
++29F6;N # SOLIDUS WITH OVERBAR
++29F7;N # REVERSE SOLIDUS WITH HORIZONTAL STROKE
++29F8;N # BIG SOLIDUS
++29F9;N # BIG REVERSE SOLIDUS
++29FA;N # DOUBLE PLUS
++29FB;N # TRIPLE PLUS
++29FC;N # LEFT-POINTING CURVED ANGLE BRACKET
++29FD;N # RIGHT-POINTING CURVED ANGLE BRACKET
++29FE;N # TINY
++29FF;N # MINY
++2A00;N # N-ARY CIRCLED DOT OPERATOR
++2A01;N # N-ARY CIRCLED PLUS OPERATOR
++2A02;N # N-ARY CIRCLED TIMES OPERATOR
++2A03;N # N-ARY UNION OPERATOR WITH DOT
++2A04;N # N-ARY UNION OPERATOR WITH PLUS
++2A05;N # N-ARY SQUARE INTERSECTION OPERATOR
++2A06;N # N-ARY SQUARE UNION OPERATOR
++2A07;N # TWO LOGICAL AND OPERATOR
++2A08;N # TWO LOGICAL OR OPERATOR
++2A09;N # N-ARY TIMES OPERATOR
++2A0A;N # MODULO TWO SUM
++2A0B;N # SUMMATION WITH INTEGRAL
++2A0C;N # QUADRUPLE INTEGRAL OPERATOR
++2A0D;N # FINITE PART INTEGRAL
++2A0E;N # INTEGRAL WITH DOUBLE STROKE
++2A0F;N # INTEGRAL AVERAGE WITH SLASH
++2A10;N # CIRCULATION FUNCTION
++2A11;N # ANTICLOCKWISE INTEGRATION
++2A12;N # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
++2A13;N # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
++2A14;N # LINE INTEGRATION NOT INCLUDING THE POLE
++2A15;N # INTEGRAL AROUND A POINT OPERATOR
++2A16;N # QUATERNION INTEGRAL OPERATOR
++2A17;N # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
++2A18;N # INTEGRAL WITH TIMES SIGN
++2A19;N # INTEGRAL WITH INTERSECTION
++2A1A;N # INTEGRAL WITH UNION
++2A1B;N # INTEGRAL WITH OVERBAR
++2A1C;N # INTEGRAL WITH UNDERBAR
++2A1D;N # JOIN
++2A1E;N # LARGE LEFT TRIANGLE OPERATOR
++2A1F;N # Z NOTATION SCHEMA COMPOSITION
++2A20;N # Z NOTATION SCHEMA PIPING
++2A21;N # Z NOTATION SCHEMA PROJECTION
++2A22;N # PLUS SIGN WITH SMALL CIRCLE ABOVE
++2A23;N # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
++2A24;N # PLUS SIGN WITH TILDE ABOVE
++2A25;N # PLUS SIGN WITH DOT BELOW
++2A26;N # PLUS SIGN WITH TILDE BELOW
++2A27;N # PLUS SIGN WITH SUBSCRIPT TWO
++2A28;N # PLUS SIGN WITH BLACK TRIANGLE
++2A29;N # MINUS SIGN WITH COMMA ABOVE
++2A2A;N # MINUS SIGN WITH DOT BELOW
++2A2B;N # MINUS SIGN WITH FALLING DOTS
++2A2C;N # MINUS SIGN WITH RISING DOTS
++2A2D;N # PLUS SIGN IN LEFT HALF CIRCLE
++2A2E;N # PLUS SIGN IN RIGHT HALF CIRCLE
++2A2F;N # VECTOR OR CROSS PRODUCT
++2A30;N # MULTIPLICATION SIGN WITH DOT ABOVE
++2A31;N # MULTIPLICATION SIGN WITH UNDERBAR
++2A32;N # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
++2A33;N # SMASH PRODUCT
++2A34;N # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
++2A35;N # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
++2A36;N # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
++2A37;N # MULTIPLICATION SIGN IN DOUBLE CIRCLE
++2A38;N # CIRCLED DIVISION SIGN
++2A39;N # PLUS SIGN IN TRIANGLE
++2A3A;N # MINUS SIGN IN TRIANGLE
++2A3B;N # MULTIPLICATION SIGN IN TRIANGLE
++2A3C;N # INTERIOR PRODUCT
++2A3D;N # RIGHTHAND INTERIOR PRODUCT
++2A3E;N # Z NOTATION RELATIONAL COMPOSITION
++2A3F;N # AMALGAMATION OR COPRODUCT
++2A40;N # INTERSECTION WITH DOT
++2A41;N # UNION WITH MINUS SIGN
++2A42;N # UNION WITH OVERBAR
++2A43;N # INTERSECTION WITH OVERBAR
++2A44;N # INTERSECTION WITH LOGICAL AND
++2A45;N # UNION WITH LOGICAL OR
++2A46;N # UNION ABOVE INTERSECTION
++2A47;N # INTERSECTION ABOVE UNION
++2A48;N # UNION ABOVE BAR ABOVE INTERSECTION
++2A49;N # INTERSECTION ABOVE BAR ABOVE UNION
++2A4A;N # UNION BESIDE AND JOINED WITH UNION
++2A4B;N # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
++2A4C;N # CLOSED UNION WITH SERIFS
++2A4D;N # CLOSED INTERSECTION WITH SERIFS
++2A4E;N # DOUBLE SQUARE INTERSECTION
++2A4F;N # DOUBLE SQUARE UNION
++2A50;N # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
++2A51;N # LOGICAL AND WITH DOT ABOVE
++2A52;N # LOGICAL OR WITH DOT ABOVE
++2A53;N # DOUBLE LOGICAL AND
++2A54;N # DOUBLE LOGICAL OR
++2A55;N # TWO INTERSECTING LOGICAL AND
++2A56;N # TWO INTERSECTING LOGICAL OR
++2A57;N # SLOPING LARGE OR
++2A58;N # SLOPING LARGE AND
++2A59;N # LOGICAL OR OVERLAPPING LOGICAL AND
++2A5A;N # LOGICAL AND WITH MIDDLE STEM
++2A5B;N # LOGICAL OR WITH MIDDLE STEM
++2A5C;N # LOGICAL AND WITH HORIZONTAL DASH
++2A5D;N # LOGICAL OR WITH HORIZONTAL DASH
++2A5E;N # LOGICAL AND WITH DOUBLE OVERBAR
++2A5F;N # LOGICAL AND WITH UNDERBAR
++2A60;N # LOGICAL AND WITH DOUBLE UNDERBAR
++2A61;N # SMALL VEE WITH UNDERBAR
++2A62;N # LOGICAL OR WITH DOUBLE OVERBAR
++2A63;N # LOGICAL OR WITH DOUBLE UNDERBAR
++2A64;N # Z NOTATION DOMAIN ANTIRESTRICTION
++2A65;N # Z NOTATION RANGE ANTIRESTRICTION
++2A66;N # EQUALS SIGN WITH DOT BELOW
++2A67;N # IDENTICAL WITH DOT ABOVE
++2A68;N # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
++2A69;N # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
++2A6A;N # TILDE OPERATOR WITH DOT ABOVE
++2A6B;N # TILDE OPERATOR WITH RISING DOTS
++2A6C;N # SIMILAR MINUS SIMILAR
++2A6D;N # CONGRUENT WITH DOT ABOVE
++2A6E;N # EQUALS WITH ASTERISK
++2A6F;N # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
++2A70;N # APPROXIMATELY EQUAL OR EQUAL TO
++2A71;N # EQUALS SIGN ABOVE PLUS SIGN
++2A72;N # PLUS SIGN ABOVE EQUALS SIGN
++2A73;N # EQUALS SIGN ABOVE TILDE OPERATOR
++2A74;N # DOUBLE COLON EQUAL
++2A75;N # TWO CONSECUTIVE EQUALS SIGNS
++2A76;N # THREE CONSECUTIVE EQUALS SIGNS
++2A77;N # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
++2A78;N # EQUIVALENT WITH FOUR DOTS ABOVE
++2A79;N # LESS-THAN WITH CIRCLE INSIDE
++2A7A;N # GREATER-THAN WITH CIRCLE INSIDE
++2A7B;N # LESS-THAN WITH QUESTION MARK ABOVE
++2A7C;N # GREATER-THAN WITH QUESTION MARK ABOVE
++2A7D;N # LESS-THAN OR SLANTED EQUAL TO
++2A7E;N # GREATER-THAN OR SLANTED EQUAL TO
++2A7F;N # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
++2A80;N # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
++2A81;N # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
++2A82;N # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
++2A83;N # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
++2A84;N # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
++2A85;N # LESS-THAN OR APPROXIMATE
++2A86;N # GREATER-THAN OR APPROXIMATE
++2A87;N # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
++2A88;N # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
++2A89;N # LESS-THAN AND NOT APPROXIMATE
++2A8A;N # GREATER-THAN AND NOT APPROXIMATE
++2A8B;N # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
++2A8C;N # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
++2A8D;N # LESS-THAN ABOVE SIMILAR OR EQUAL
++2A8E;N # GREATER-THAN ABOVE SIMILAR OR EQUAL
++2A8F;N # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
++2A90;N # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
++2A91;N # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
++2A92;N # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
++2A93;N # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
++2A94;N # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
++2A95;N # SLANTED EQUAL TO OR LESS-THAN
++2A96;N # SLANTED EQUAL TO OR GREATER-THAN
++2A97;N # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
++2A98;N # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
++2A99;N # DOUBLE-LINE EQUAL TO OR LESS-THAN
++2A9A;N # DOUBLE-LINE EQUAL TO OR GREATER-THAN
++2A9B;N # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
++2A9C;N # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
++2A9D;N # SIMILAR OR LESS-THAN
++2A9E;N # SIMILAR OR GREATER-THAN
++2A9F;N # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
++2AA0;N # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
++2AA1;N # DOUBLE NESTED LESS-THAN
++2AA2;N # DOUBLE NESTED GREATER-THAN
++2AA3;N # DOUBLE NESTED LESS-THAN WITH UNDERBAR
++2AA4;N # GREATER-THAN OVERLAPPING LESS-THAN
++2AA5;N # GREATER-THAN BESIDE LESS-THAN
++2AA6;N # LESS-THAN CLOSED BY CURVE
++2AA7;N # GREATER-THAN CLOSED BY CURVE
++2AA8;N # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
++2AA9;N # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
++2AAA;N # SMALLER THAN
++2AAB;N # LARGER THAN
++2AAC;N # SMALLER THAN OR EQUAL TO
++2AAD;N # LARGER THAN OR EQUAL TO
++2AAE;N # EQUALS SIGN WITH BUMPY ABOVE
++2AAF;N # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
++2AB0;N # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
++2AB1;N # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
++2AB2;N # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
++2AB3;N # PRECEDES ABOVE EQUALS SIGN
++2AB4;N # SUCCEEDS ABOVE EQUALS SIGN
++2AB5;N # PRECEDES ABOVE NOT EQUAL TO
++2AB6;N # SUCCEEDS ABOVE NOT EQUAL TO
++2AB7;N # PRECEDES ABOVE ALMOST EQUAL TO
++2AB8;N # SUCCEEDS ABOVE ALMOST EQUAL TO
++2AB9;N # PRECEDES ABOVE NOT ALMOST EQUAL TO
++2ABA;N # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
++2ABB;N # DOUBLE PRECEDES
++2ABC;N # DOUBLE SUCCEEDS
++2ABD;N # SUBSET WITH DOT
++2ABE;N # SUPERSET WITH DOT
++2ABF;N # SUBSET WITH PLUS SIGN BELOW
++2AC0;N # SUPERSET WITH PLUS SIGN BELOW
++2AC1;N # SUBSET WITH MULTIPLICATION SIGN BELOW
++2AC2;N # SUPERSET WITH MULTIPLICATION SIGN BELOW
++2AC3;N # SUBSET OF OR EQUAL TO WITH DOT ABOVE
++2AC4;N # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
++2AC5;N # SUBSET OF ABOVE EQUALS SIGN
++2AC6;N # SUPERSET OF ABOVE EQUALS SIGN
++2AC7;N # SUBSET OF ABOVE TILDE OPERATOR
++2AC8;N # SUPERSET OF ABOVE TILDE OPERATOR
++2AC9;N # SUBSET OF ABOVE ALMOST EQUAL TO
++2ACA;N # SUPERSET OF ABOVE ALMOST EQUAL TO
++2ACB;N # SUBSET OF ABOVE NOT EQUAL TO
++2ACC;N # SUPERSET OF ABOVE NOT EQUAL TO
++2ACD;N # SQUARE LEFT OPEN BOX OPERATOR
++2ACE;N # SQUARE RIGHT OPEN BOX OPERATOR
++2ACF;N # CLOSED SUBSET
++2AD0;N # CLOSED SUPERSET
++2AD1;N # CLOSED SUBSET OR EQUAL TO
++2AD2;N # CLOSED SUPERSET OR EQUAL TO
++2AD3;N # SUBSET ABOVE SUPERSET
++2AD4;N # SUPERSET ABOVE SUBSET
++2AD5;N # SUBSET ABOVE SUBSET
++2AD6;N # SUPERSET ABOVE SUPERSET
++2AD7;N # SUPERSET BESIDE SUBSET
++2AD8;N # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
++2AD9;N # ELEMENT OF OPENING DOWNWARDS
++2ADA;N # PITCHFORK WITH TEE TOP
++2ADB;N # TRANSVERSAL INTERSECTION
++2ADC;N # FORKING
++2ADD;N # NONFORKING
++2ADE;N # SHORT LEFT TACK
++2ADF;N # SHORT DOWN TACK
++2AE0;N # SHORT UP TACK
++2AE1;N # PERPENDICULAR WITH S
++2AE2;N # VERTICAL BAR TRIPLE RIGHT TURNSTILE
++2AE3;N # DOUBLE VERTICAL BAR LEFT TURNSTILE
++2AE4;N # VERTICAL BAR DOUBLE LEFT TURNSTILE
++2AE5;N # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
++2AE6;N # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
++2AE7;N # SHORT DOWN TACK WITH OVERBAR
++2AE8;N # SHORT UP TACK WITH UNDERBAR
++2AE9;N # SHORT UP TACK ABOVE SHORT DOWN TACK
++2AEA;N # DOUBLE DOWN TACK
++2AEB;N # DOUBLE UP TACK
++2AEC;N # DOUBLE STROKE NOT SIGN
++2AED;N # REVERSED DOUBLE STROKE NOT SIGN
++2AEE;N # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
++2AEF;N # VERTICAL LINE WITH CIRCLE ABOVE
++2AF0;N # VERTICAL LINE WITH CIRCLE BELOW
++2AF1;N # DOWN TACK WITH CIRCLE BELOW
++2AF2;N # PARALLEL WITH HORIZONTAL STROKE
++2AF3;N # PARALLEL WITH TILDE OPERATOR
++2AF4;N # TRIPLE VERTICAL BAR BINARY RELATION
++2AF5;N # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
++2AF6;N # TRIPLE COLON OPERATOR
++2AF7;N # TRIPLE NESTED LESS-THAN
++2AF8;N # TRIPLE NESTED GREATER-THAN
++2AF9;N # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
++2AFA;N # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
++2AFB;N # TRIPLE SOLIDUS BINARY RELATION
++2AFC;N # LARGE TRIPLE VERTICAL BAR OPERATOR
++2AFD;N # DOUBLE SOLIDUS OPERATOR
++2AFE;N # WHITE VERTICAL BAR
++2AFF;N # N-ARY WHITE VERTICAL BAR
++2B00;N # NORTH EAST WHITE ARROW
++2B01;N # NORTH WEST WHITE ARROW
++2B02;N # SOUTH EAST WHITE ARROW
++2B03;N # SOUTH WEST WHITE ARROW
++2B04;N # LEFT RIGHT WHITE ARROW
++2B05;N # LEFTWARDS BLACK ARROW
++2B06;N # UPWARDS BLACK ARROW
++2B07;N # DOWNWARDS BLACK ARROW
++2B08;N # NORTH EAST BLACK ARROW
++2B09;N # NORTH WEST BLACK ARROW
++2B0A;N # SOUTH EAST BLACK ARROW
++2B0B;N # SOUTH WEST BLACK ARROW
++2B0C;N # LEFT RIGHT BLACK ARROW
++2B0D;N # UP DOWN BLACK ARROW
++2B0E;N # RIGHTWARDS ARROW WITH TIP DOWNWARDS
++2B0F;N # RIGHTWARDS ARROW WITH TIP UPWARDS
++2B10;N # LEFTWARDS ARROW WITH TIP DOWNWARDS
++2B11;N # LEFTWARDS ARROW WITH TIP UPWARDS
++2B12;N # SQUARE WITH TOP HALF BLACK
++2B13;N # SQUARE WITH BOTTOM HALF BLACK
++2B14;N # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
++2B15;N # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
++2B16;N # DIAMOND WITH LEFT HALF BLACK
++2B17;N # DIAMOND WITH RIGHT HALF BLACK
++2B18;N # DIAMOND WITH TOP HALF BLACK
++2B19;N # DIAMOND WITH BOTTOM HALF BLACK
++2B1A;N # DOTTED SQUARE
++2B1B;N # BLACK LARGE SQUARE
++2B1C;N # WHITE LARGE SQUARE
++2B1D;N # BLACK VERY SMALL SQUARE
++2B1E;N # WHITE VERY SMALL SQUARE
++2B1F;N # BLACK PENTAGON
++2B20;N # WHITE PENTAGON
++2B21;N # WHITE HEXAGON
++2B22;N # BLACK HEXAGON
++2B23;N # HORIZONTAL BLACK HEXAGON
++2B24;N # BLACK LARGE CIRCLE
++2B25;N # BLACK MEDIUM DIAMOND
++2B26;N # WHITE MEDIUM DIAMOND
++2B27;N # BLACK MEDIUM LOZENGE
++2B28;N # WHITE MEDIUM LOZENGE
++2B29;N # BLACK SMALL DIAMOND
++2B2A;N # BLACK SMALL LOZENGE
++2B2B;N # WHITE SMALL LOZENGE
++2B2C;N # BLACK HORIZONTAL ELLIPSE
++2B2D;N # WHITE HORIZONTAL ELLIPSE
++2B2E;N # BLACK VERTICAL ELLIPSE
++2B2F;N # WHITE VERTICAL ELLIPSE
++2B30;N # LEFT ARROW WITH SMALL CIRCLE
++2B31;N # THREE LEFTWARDS ARROWS
++2B32;N # LEFT ARROW WITH CIRCLED PLUS
++2B33;N # LONG LEFTWARDS SQUIGGLE ARROW
++2B34;N # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
++2B35;N # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
++2B36;N # LEFTWARDS TWO-HEADED ARROW FROM BAR
++2B37;N # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
++2B38;N # LEFTWARDS ARROW WITH DOTTED STEM
++2B39;N # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
++2B3A;N # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
++2B3B;N # LEFTWARDS TWO-HEADED ARROW WITH TAIL
++2B3C;N # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
++2B3D;N # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
++2B3E;N # LEFTWARDS ARROW THROUGH X
++2B3F;N # WAVE ARROW POINTING DIRECTLY LEFT
++2B40;N # EQUALS SIGN ABOVE LEFTWARDS ARROW
++2B41;N # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
++2B42;N # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
++2B43;N # RIGHTWARDS ARROW THROUGH GREATER-THAN
++2B44;N # RIGHTWARDS ARROW THROUGH SUPERSET
++2B45;N # LEFTWARDS QUADRUPLE ARROW
++2B46;N # RIGHTWARDS QUADRUPLE ARROW
++2B47;N # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
++2B48;N # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
++2B49;N # TILDE OPERATOR ABOVE LEFTWARDS ARROW
++2B4A;N # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
++2B4B;N # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
++2B4C;N # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
++2B50;N # WHITE MEDIUM STAR
++2B51;N # BLACK SMALL STAR
++2B52;N # WHITE SMALL STAR
++2B53;N # BLACK RIGHT-POINTING PENTAGON
++2B54;N # WHITE RIGHT-POINTING PENTAGON
++2B55;A # HEAVY LARGE CIRCLE
++2B56;A # HEAVY OVAL WITH OVAL INSIDE
++2B57;A # HEAVY CIRCLE WITH CIRCLE INSIDE
++2B58;A # HEAVY CIRCLE
++2B59;A # HEAVY CIRCLED SALTIRE
++2C00;N # GLAGOLITIC CAPITAL LETTER AZU
++2C01;N # GLAGOLITIC CAPITAL LETTER BUKY
++2C02;N # GLAGOLITIC CAPITAL LETTER VEDE
++2C03;N # GLAGOLITIC CAPITAL LETTER GLAGOLI
++2C04;N # GLAGOLITIC CAPITAL LETTER DOBRO
++2C05;N # GLAGOLITIC CAPITAL LETTER YESTU
++2C06;N # GLAGOLITIC CAPITAL LETTER ZHIVETE
++2C07;N # GLAGOLITIC CAPITAL LETTER DZELO
++2C08;N # GLAGOLITIC CAPITAL LETTER ZEMLJA
++2C09;N # GLAGOLITIC CAPITAL LETTER IZHE
++2C0A;N # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
++2C0B;N # GLAGOLITIC CAPITAL LETTER I
++2C0C;N # GLAGOLITIC CAPITAL LETTER DJERVI
++2C0D;N # GLAGOLITIC CAPITAL LETTER KAKO
++2C0E;N # GLAGOLITIC CAPITAL LETTER LJUDIJE
++2C0F;N # GLAGOLITIC CAPITAL LETTER MYSLITE
++2C10;N # GLAGOLITIC CAPITAL LETTER NASHI
++2C11;N # GLAGOLITIC CAPITAL LETTER ONU
++2C12;N # GLAGOLITIC CAPITAL LETTER POKOJI
++2C13;N # GLAGOLITIC CAPITAL LETTER RITSI
++2C14;N # GLAGOLITIC CAPITAL LETTER SLOVO
++2C15;N # GLAGOLITIC CAPITAL LETTER TVRIDO
++2C16;N # GLAGOLITIC CAPITAL LETTER UKU
++2C17;N # GLAGOLITIC CAPITAL LETTER FRITU
++2C18;N # GLAGOLITIC CAPITAL LETTER HERU
++2C19;N # GLAGOLITIC CAPITAL LETTER OTU
++2C1A;N # GLAGOLITIC CAPITAL LETTER PE
++2C1B;N # GLAGOLITIC CAPITAL LETTER SHTA
++2C1C;N # GLAGOLITIC CAPITAL LETTER TSI
++2C1D;N # GLAGOLITIC CAPITAL LETTER CHRIVI
++2C1E;N # GLAGOLITIC CAPITAL LETTER SHA
++2C1F;N # GLAGOLITIC CAPITAL LETTER YERU
++2C20;N # GLAGOLITIC CAPITAL LETTER YERI
++2C21;N # GLAGOLITIC CAPITAL LETTER YATI
++2C22;N # GLAGOLITIC CAPITAL LETTER SPIDERY HA
++2C23;N # GLAGOLITIC CAPITAL LETTER YU
++2C24;N # GLAGOLITIC CAPITAL LETTER SMALL YUS
++2C25;N # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
++2C26;N # GLAGOLITIC CAPITAL LETTER YO
++2C27;N # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
++2C28;N # GLAGOLITIC CAPITAL LETTER BIG YUS
++2C29;N # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
++2C2A;N # GLAGOLITIC CAPITAL LETTER FITA
++2C2B;N # GLAGOLITIC CAPITAL LETTER IZHITSA
++2C2C;N # GLAGOLITIC CAPITAL LETTER SHTAPIC
++2C2D;N # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
++2C2E;N # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
++2C30;N # GLAGOLITIC SMALL LETTER AZU
++2C31;N # GLAGOLITIC SMALL LETTER BUKY
++2C32;N # GLAGOLITIC SMALL LETTER VEDE
++2C33;N # GLAGOLITIC SMALL LETTER GLAGOLI
++2C34;N # GLAGOLITIC SMALL LETTER DOBRO
++2C35;N # GLAGOLITIC SMALL LETTER YESTU
++2C36;N # GLAGOLITIC SMALL LETTER ZHIVETE
++2C37;N # GLAGOLITIC SMALL LETTER DZELO
++2C38;N # GLAGOLITIC SMALL LETTER ZEMLJA
++2C39;N # GLAGOLITIC SMALL LETTER IZHE
++2C3A;N # GLAGOLITIC SMALL LETTER INITIAL IZHE
++2C3B;N # GLAGOLITIC SMALL LETTER I
++2C3C;N # GLAGOLITIC SMALL LETTER DJERVI
++2C3D;N # GLAGOLITIC SMALL LETTER KAKO
++2C3E;N # GLAGOLITIC SMALL LETTER LJUDIJE
++2C3F;N # GLAGOLITIC SMALL LETTER MYSLITE
++2C40;N # GLAGOLITIC SMALL LETTER NASHI
++2C41;N # GLAGOLITIC SMALL LETTER ONU
++2C42;N # GLAGOLITIC SMALL LETTER POKOJI
++2C43;N # GLAGOLITIC SMALL LETTER RITSI
++2C44;N # GLAGOLITIC SMALL LETTER SLOVO
++2C45;N # GLAGOLITIC SMALL LETTER TVRIDO
++2C46;N # GLAGOLITIC SMALL LETTER UKU
++2C47;N # GLAGOLITIC SMALL LETTER FRITU
++2C48;N # GLAGOLITIC SMALL LETTER HERU
++2C49;N # GLAGOLITIC SMALL LETTER OTU
++2C4A;N # GLAGOLITIC SMALL LETTER PE
++2C4B;N # GLAGOLITIC SMALL LETTER SHTA
++2C4C;N # GLAGOLITIC SMALL LETTER TSI
++2C4D;N # GLAGOLITIC SMALL LETTER CHRIVI
++2C4E;N # GLAGOLITIC SMALL LETTER SHA
++2C4F;N # GLAGOLITIC SMALL LETTER YERU
++2C50;N # GLAGOLITIC SMALL LETTER YERI
++2C51;N # GLAGOLITIC SMALL LETTER YATI
++2C52;N # GLAGOLITIC SMALL LETTER SPIDERY HA
++2C53;N # GLAGOLITIC SMALL LETTER YU
++2C54;N # GLAGOLITIC SMALL LETTER SMALL YUS
++2C55;N # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
++2C56;N # GLAGOLITIC SMALL LETTER YO
++2C57;N # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
++2C58;N # GLAGOLITIC SMALL LETTER BIG YUS
++2C59;N # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
++2C5A;N # GLAGOLITIC SMALL LETTER FITA
++2C5B;N # GLAGOLITIC SMALL LETTER IZHITSA
++2C5C;N # GLAGOLITIC SMALL LETTER SHTAPIC
++2C5D;N # GLAGOLITIC SMALL LETTER TROKUTASTI A
++2C5E;N # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
++2C60;N # LATIN CAPITAL LETTER L WITH DOUBLE BAR
++2C61;N # LATIN SMALL LETTER L WITH DOUBLE BAR
++2C62;N # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
++2C63;N # LATIN CAPITAL LETTER P WITH STROKE
++2C64;N # LATIN CAPITAL LETTER R WITH TAIL
++2C65;N # LATIN SMALL LETTER A WITH STROKE
++2C66;N # LATIN SMALL LETTER T WITH DIAGONAL STROKE
++2C67;N # LATIN CAPITAL LETTER H WITH DESCENDER
++2C68;N # LATIN SMALL LETTER H WITH DESCENDER
++2C69;N # LATIN CAPITAL LETTER K WITH DESCENDER
++2C6A;N # LATIN SMALL LETTER K WITH DESCENDER
++2C6B;N # LATIN CAPITAL LETTER Z WITH DESCENDER
++2C6C;N # LATIN SMALL LETTER Z WITH DESCENDER
++2C6D;N # LATIN CAPITAL LETTER ALPHA
++2C6E;N # LATIN CAPITAL LETTER M WITH HOOK
++2C6F;N # LATIN CAPITAL LETTER TURNED A
++2C70;N # LATIN CAPITAL LETTER TURNED ALPHA
++2C71;N # LATIN SMALL LETTER V WITH RIGHT HOOK
++2C72;N # LATIN CAPITAL LETTER W WITH HOOK
++2C73;N # LATIN SMALL LETTER W WITH HOOK
++2C74;N # LATIN SMALL LETTER V WITH CURL
++2C75;N # LATIN CAPITAL LETTER HALF H
++2C76;N # LATIN SMALL LETTER HALF H
++2C77;N # LATIN SMALL LETTER TAILLESS PHI
++2C78;N # LATIN SMALL LETTER E WITH NOTCH
++2C79;N # LATIN SMALL LETTER TURNED R WITH TAIL
++2C7A;N # LATIN SMALL LETTER O WITH LOW RING INSIDE
++2C7B;N # LATIN LETTER SMALL CAPITAL TURNED E
++2C7C;N # LATIN SUBSCRIPT SMALL LETTER J
++2C7D;N # MODIFIER LETTER CAPITAL V
++2C7E;N # LATIN CAPITAL LETTER S WITH SWASH TAIL
++2C7F;N # LATIN CAPITAL LETTER Z WITH SWASH TAIL
++2C80;N # COPTIC CAPITAL LETTER ALFA
++2C81;N # COPTIC SMALL LETTER ALFA
++2C82;N # COPTIC CAPITAL LETTER VIDA
++2C83;N # COPTIC SMALL LETTER VIDA
++2C84;N # COPTIC CAPITAL LETTER GAMMA
++2C85;N # COPTIC SMALL LETTER GAMMA
++2C86;N # COPTIC CAPITAL LETTER DALDA
++2C87;N # COPTIC SMALL LETTER DALDA
++2C88;N # COPTIC CAPITAL LETTER EIE
++2C89;N # COPTIC SMALL LETTER EIE
++2C8A;N # COPTIC CAPITAL LETTER SOU
++2C8B;N # COPTIC SMALL LETTER SOU
++2C8C;N # COPTIC CAPITAL LETTER ZATA
++2C8D;N # COPTIC SMALL LETTER ZATA
++2C8E;N # COPTIC CAPITAL LETTER HATE
++2C8F;N # COPTIC SMALL LETTER HATE
++2C90;N # COPTIC CAPITAL LETTER THETHE
++2C91;N # COPTIC SMALL LETTER THETHE
++2C92;N # COPTIC CAPITAL LETTER IAUDA
++2C93;N # COPTIC SMALL LETTER IAUDA
++2C94;N # COPTIC CAPITAL LETTER KAPA
++2C95;N # COPTIC SMALL LETTER KAPA
++2C96;N # COPTIC CAPITAL LETTER LAULA
++2C97;N # COPTIC SMALL LETTER LAULA
++2C98;N # COPTIC CAPITAL LETTER MI
++2C99;N # COPTIC SMALL LETTER MI
++2C9A;N # COPTIC CAPITAL LETTER NI
++2C9B;N # COPTIC SMALL LETTER NI
++2C9C;N # COPTIC CAPITAL LETTER KSI
++2C9D;N # COPTIC SMALL LETTER KSI
++2C9E;N # COPTIC CAPITAL LETTER O
++2C9F;N # COPTIC SMALL LETTER O
++2CA0;N # COPTIC CAPITAL LETTER PI
++2CA1;N # COPTIC SMALL LETTER PI
++2CA2;N # COPTIC CAPITAL LETTER RO
++2CA3;N # COPTIC SMALL LETTER RO
++2CA4;N # COPTIC CAPITAL LETTER SIMA
++2CA5;N # COPTIC SMALL LETTER SIMA
++2CA6;N # COPTIC CAPITAL LETTER TAU
++2CA7;N # COPTIC SMALL LETTER TAU
++2CA8;N # COPTIC CAPITAL LETTER UA
++2CA9;N # COPTIC SMALL LETTER UA
++2CAA;N # COPTIC CAPITAL LETTER FI
++2CAB;N # COPTIC SMALL LETTER FI
++2CAC;N # COPTIC CAPITAL LETTER KHI
++2CAD;N # COPTIC SMALL LETTER KHI
++2CAE;N # COPTIC CAPITAL LETTER PSI
++2CAF;N # COPTIC SMALL LETTER PSI
++2CB0;N # COPTIC CAPITAL LETTER OOU
++2CB1;N # COPTIC SMALL LETTER OOU
++2CB2;N # COPTIC CAPITAL LETTER DIALECT-P ALEF
++2CB3;N # COPTIC SMALL LETTER DIALECT-P ALEF
++2CB4;N # COPTIC CAPITAL LETTER OLD COPTIC AIN
++2CB5;N # COPTIC SMALL LETTER OLD COPTIC AIN
++2CB6;N # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
++2CB7;N # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
++2CB8;N # COPTIC CAPITAL LETTER DIALECT-P KAPA
++2CB9;N # COPTIC SMALL LETTER DIALECT-P KAPA
++2CBA;N # COPTIC CAPITAL LETTER DIALECT-P NI
++2CBB;N # COPTIC SMALL LETTER DIALECT-P NI
++2CBC;N # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
++2CBD;N # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
++2CBE;N # COPTIC CAPITAL LETTER OLD COPTIC OOU
++2CBF;N # COPTIC SMALL LETTER OLD COPTIC OOU
++2CC0;N # COPTIC CAPITAL LETTER SAMPI
++2CC1;N # COPTIC SMALL LETTER SAMPI
++2CC2;N # COPTIC CAPITAL LETTER CROSSED SHEI
++2CC3;N # COPTIC SMALL LETTER CROSSED SHEI
++2CC4;N # COPTIC CAPITAL LETTER OLD COPTIC SHEI
++2CC5;N # COPTIC SMALL LETTER OLD COPTIC SHEI
++2CC6;N # COPTIC CAPITAL LETTER OLD COPTIC ESH
++2CC7;N # COPTIC SMALL LETTER OLD COPTIC ESH
++2CC8;N # COPTIC CAPITAL LETTER AKHMIMIC KHEI
++2CC9;N # COPTIC SMALL LETTER AKHMIMIC KHEI
++2CCA;N # COPTIC CAPITAL LETTER DIALECT-P HORI
++2CCB;N # COPTIC SMALL LETTER DIALECT-P HORI
++2CCC;N # COPTIC CAPITAL LETTER OLD COPTIC HORI
++2CCD;N # COPTIC SMALL LETTER OLD COPTIC HORI
++2CCE;N # COPTIC CAPITAL LETTER OLD COPTIC HA
++2CCF;N # COPTIC SMALL LETTER OLD COPTIC HA
++2CD0;N # COPTIC CAPITAL LETTER L-SHAPED HA
++2CD1;N # COPTIC SMALL LETTER L-SHAPED HA
++2CD2;N # COPTIC CAPITAL LETTER OLD COPTIC HEI
++2CD3;N # COPTIC SMALL LETTER OLD COPTIC HEI
++2CD4;N # COPTIC CAPITAL LETTER OLD COPTIC HAT
++2CD5;N # COPTIC SMALL LETTER OLD COPTIC HAT
++2CD6;N # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
++2CD7;N # COPTIC SMALL LETTER OLD COPTIC GANGIA
++2CD8;N # COPTIC CAPITAL LETTER OLD COPTIC DJA
++2CD9;N # COPTIC SMALL LETTER OLD COPTIC DJA
++2CDA;N # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
++2CDB;N # COPTIC SMALL LETTER OLD COPTIC SHIMA
++2CDC;N # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
++2CDD;N # COPTIC SMALL LETTER OLD NUBIAN SHIMA
++2CDE;N # COPTIC CAPITAL LETTER OLD NUBIAN NGI
++2CDF;N # COPTIC SMALL LETTER OLD NUBIAN NGI
++2CE0;N # COPTIC CAPITAL LETTER OLD NUBIAN NYI
++2CE1;N # COPTIC SMALL LETTER OLD NUBIAN NYI
++2CE2;N # COPTIC CAPITAL LETTER OLD NUBIAN WAU
++2CE3;N # COPTIC SMALL LETTER OLD NUBIAN WAU
++2CE4;N # COPTIC SYMBOL KAI
++2CE5;N # COPTIC SYMBOL MI RO
++2CE6;N # COPTIC SYMBOL PI RO
++2CE7;N # COPTIC SYMBOL STAUROS
++2CE8;N # COPTIC SYMBOL TAU RO
++2CE9;N # COPTIC SYMBOL KHI RO
++2CEA;N # COPTIC SYMBOL SHIMA SIMA
++2CEB;N # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
++2CEC;N # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
++2CED;N # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
++2CEE;N # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
++2CEF;N # COPTIC COMBINING NI ABOVE
++2CF0;N # COPTIC COMBINING SPIRITUS ASPER
++2CF1;N # COPTIC COMBINING SPIRITUS LENIS
++2CF9;N # COPTIC OLD NUBIAN FULL STOP
++2CFA;N # COPTIC OLD NUBIAN DIRECT QUESTION MARK
++2CFB;N # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
++2CFC;N # COPTIC OLD NUBIAN VERSE DIVIDER
++2CFD;N # COPTIC FRACTION ONE HALF
++2CFE;N # COPTIC FULL STOP
++2CFF;N # COPTIC MORPHOLOGICAL DIVIDER
++2D00;N # GEORGIAN SMALL LETTER AN
++2D01;N # GEORGIAN SMALL LETTER BAN
++2D02;N # GEORGIAN SMALL LETTER GAN
++2D03;N # GEORGIAN SMALL LETTER DON
++2D04;N # GEORGIAN SMALL LETTER EN
++2D05;N # GEORGIAN SMALL LETTER VIN
++2D06;N # GEORGIAN SMALL LETTER ZEN
++2D07;N # GEORGIAN SMALL LETTER TAN
++2D08;N # GEORGIAN SMALL LETTER IN
++2D09;N # GEORGIAN SMALL LETTER KAN
++2D0A;N # GEORGIAN SMALL LETTER LAS
++2D0B;N # GEORGIAN SMALL LETTER MAN
++2D0C;N # GEORGIAN SMALL LETTER NAR
++2D0D;N # GEORGIAN SMALL LETTER ON
++2D0E;N # GEORGIAN SMALL LETTER PAR
++2D0F;N # GEORGIAN SMALL LETTER ZHAR
++2D10;N # GEORGIAN SMALL LETTER RAE
++2D11;N # GEORGIAN SMALL LETTER SAN
++2D12;N # GEORGIAN SMALL LETTER TAR
++2D13;N # GEORGIAN SMALL LETTER UN
++2D14;N # GEORGIAN SMALL LETTER PHAR
++2D15;N # GEORGIAN SMALL LETTER KHAR
++2D16;N # GEORGIAN SMALL LETTER GHAN
++2D17;N # GEORGIAN SMALL LETTER QAR
++2D18;N # GEORGIAN SMALL LETTER SHIN
++2D19;N # GEORGIAN SMALL LETTER CHIN
++2D1A;N # GEORGIAN SMALL LETTER CAN
++2D1B;N # GEORGIAN SMALL LETTER JIL
++2D1C;N # GEORGIAN SMALL LETTER CIL
++2D1D;N # GEORGIAN SMALL LETTER CHAR
++2D1E;N # GEORGIAN SMALL LETTER XAN
++2D1F;N # GEORGIAN SMALL LETTER JHAN
++2D20;N # GEORGIAN SMALL LETTER HAE
++2D21;N # GEORGIAN SMALL LETTER HE
++2D22;N # GEORGIAN SMALL LETTER HIE
++2D23;N # GEORGIAN SMALL LETTER WE
++2D24;N # GEORGIAN SMALL LETTER HAR
++2D25;N # GEORGIAN SMALL LETTER HOE
++2D30;N # TIFINAGH LETTER YA
++2D31;N # TIFINAGH LETTER YAB
++2D32;N # TIFINAGH LETTER YABH
++2D33;N # TIFINAGH LETTER YAG
++2D34;N # TIFINAGH LETTER YAGHH
++2D35;N # TIFINAGH LETTER BERBER ACADEMY YAJ
++2D36;N # TIFINAGH LETTER YAJ
++2D37;N # TIFINAGH LETTER YAD
++2D38;N # TIFINAGH LETTER YADH
++2D39;N # TIFINAGH LETTER YADD
++2D3A;N # TIFINAGH LETTER YADDH
++2D3B;N # TIFINAGH LETTER YEY
++2D3C;N # TIFINAGH LETTER YAF
++2D3D;N # TIFINAGH LETTER YAK
++2D3E;N # TIFINAGH LETTER TUAREG YAK
++2D3F;N # TIFINAGH LETTER YAKHH
++2D40;N # TIFINAGH LETTER YAH
++2D41;N # TIFINAGH LETTER BERBER ACADEMY YAH
++2D42;N # TIFINAGH LETTER TUAREG YAH
++2D43;N # TIFINAGH LETTER YAHH
++2D44;N # TIFINAGH LETTER YAA
++2D45;N # TIFINAGH LETTER YAKH
++2D46;N # TIFINAGH LETTER TUAREG YAKH
++2D47;N # TIFINAGH LETTER YAQ
++2D48;N # TIFINAGH LETTER TUAREG YAQ
++2D49;N # TIFINAGH LETTER YI
++2D4A;N # TIFINAGH LETTER YAZH
++2D4B;N # TIFINAGH LETTER AHAGGAR YAZH
++2D4C;N # TIFINAGH LETTER TUAREG YAZH
++2D4D;N # TIFINAGH LETTER YAL
++2D4E;N # TIFINAGH LETTER YAM
++2D4F;N # TIFINAGH LETTER YAN
++2D50;N # TIFINAGH LETTER TUAREG YAGN
++2D51;N # TIFINAGH LETTER TUAREG YANG
++2D52;N # TIFINAGH LETTER YAP
++2D53;N # TIFINAGH LETTER YU
++2D54;N # TIFINAGH LETTER YAR
++2D55;N # TIFINAGH LETTER YARR
++2D56;N # TIFINAGH LETTER YAGH
++2D57;N # TIFINAGH LETTER TUAREG YAGH
++2D58;N # TIFINAGH LETTER AYER YAGH
++2D59;N # TIFINAGH LETTER YAS
++2D5A;N # TIFINAGH LETTER YASS
++2D5B;N # TIFINAGH LETTER YASH
++2D5C;N # TIFINAGH LETTER YAT
++2D5D;N # TIFINAGH LETTER YATH
++2D5E;N # TIFINAGH LETTER YACH
++2D5F;N # TIFINAGH LETTER YATT
++2D60;N # TIFINAGH LETTER YAV
++2D61;N # TIFINAGH LETTER YAW
++2D62;N # TIFINAGH LETTER YAY
++2D63;N # TIFINAGH LETTER YAZ
++2D64;N # TIFINAGH LETTER TAWELLEMET YAZ
++2D65;N # TIFINAGH LETTER YAZZ
++2D6F;N # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
++2D80;N # ETHIOPIC SYLLABLE LOA
++2D81;N # ETHIOPIC SYLLABLE MOA
++2D82;N # ETHIOPIC SYLLABLE ROA
++2D83;N # ETHIOPIC SYLLABLE SOA
++2D84;N # ETHIOPIC SYLLABLE SHOA
++2D85;N # ETHIOPIC SYLLABLE BOA
++2D86;N # ETHIOPIC SYLLABLE TOA
++2D87;N # ETHIOPIC SYLLABLE COA
++2D88;N # ETHIOPIC SYLLABLE NOA
++2D89;N # ETHIOPIC SYLLABLE NYOA
++2D8A;N # ETHIOPIC SYLLABLE GLOTTAL OA
++2D8B;N # ETHIOPIC SYLLABLE ZOA
++2D8C;N # ETHIOPIC SYLLABLE DOA
++2D8D;N # ETHIOPIC SYLLABLE DDOA
++2D8E;N # ETHIOPIC SYLLABLE JOA
++2D8F;N # ETHIOPIC SYLLABLE THOA
++2D90;N # ETHIOPIC SYLLABLE CHOA
++2D91;N # ETHIOPIC SYLLABLE PHOA
++2D92;N # ETHIOPIC SYLLABLE POA
++2D93;N # ETHIOPIC SYLLABLE GGWA
++2D94;N # ETHIOPIC SYLLABLE GGWI
++2D95;N # ETHIOPIC SYLLABLE GGWEE
++2D96;N # ETHIOPIC SYLLABLE GGWE
++2DA0;N # ETHIOPIC SYLLABLE SSA
++2DA1;N # ETHIOPIC SYLLABLE SSU
++2DA2;N # ETHIOPIC SYLLABLE SSI
++2DA3;N # ETHIOPIC SYLLABLE SSAA
++2DA4;N # ETHIOPIC SYLLABLE SSEE
++2DA5;N # ETHIOPIC SYLLABLE SSE
++2DA6;N # ETHIOPIC SYLLABLE SSO
++2DA8;N # ETHIOPIC SYLLABLE CCA
++2DA9;N # ETHIOPIC SYLLABLE CCU
++2DAA;N # ETHIOPIC SYLLABLE CCI
++2DAB;N # ETHIOPIC SYLLABLE CCAA
++2DAC;N # ETHIOPIC SYLLABLE CCEE
++2DAD;N # ETHIOPIC SYLLABLE CCE
++2DAE;N # ETHIOPIC SYLLABLE CCO
++2DB0;N # ETHIOPIC SYLLABLE ZZA
++2DB1;N # ETHIOPIC SYLLABLE ZZU
++2DB2;N # ETHIOPIC SYLLABLE ZZI
++2DB3;N # ETHIOPIC SYLLABLE ZZAA
++2DB4;N # ETHIOPIC SYLLABLE ZZEE
++2DB5;N # ETHIOPIC SYLLABLE ZZE
++2DB6;N # ETHIOPIC SYLLABLE ZZO
++2DB8;N # ETHIOPIC SYLLABLE CCHA
++2DB9;N # ETHIOPIC SYLLABLE CCHU
++2DBA;N # ETHIOPIC SYLLABLE CCHI
++2DBB;N # ETHIOPIC SYLLABLE CCHAA
++2DBC;N # ETHIOPIC SYLLABLE CCHEE
++2DBD;N # ETHIOPIC SYLLABLE CCHE
++2DBE;N # ETHIOPIC SYLLABLE CCHO
++2DC0;N # ETHIOPIC SYLLABLE QYA
++2DC1;N # ETHIOPIC SYLLABLE QYU
++2DC2;N # ETHIOPIC SYLLABLE QYI
++2DC3;N # ETHIOPIC SYLLABLE QYAA
++2DC4;N # ETHIOPIC SYLLABLE QYEE
++2DC5;N # ETHIOPIC SYLLABLE QYE
++2DC6;N # ETHIOPIC SYLLABLE QYO
++2DC8;N # ETHIOPIC SYLLABLE KYA
++2DC9;N # ETHIOPIC SYLLABLE KYU
++2DCA;N # ETHIOPIC SYLLABLE KYI
++2DCB;N # ETHIOPIC SYLLABLE KYAA
++2DCC;N # ETHIOPIC SYLLABLE KYEE
++2DCD;N # ETHIOPIC SYLLABLE KYE
++2DCE;N # ETHIOPIC SYLLABLE KYO
++2DD0;N # ETHIOPIC SYLLABLE XYA
++2DD1;N # ETHIOPIC SYLLABLE XYU
++2DD2;N # ETHIOPIC SYLLABLE XYI
++2DD3;N # ETHIOPIC SYLLABLE XYAA
++2DD4;N # ETHIOPIC SYLLABLE XYEE
++2DD5;N # ETHIOPIC SYLLABLE XYE
++2DD6;N # ETHIOPIC SYLLABLE XYO
++2DD8;N # ETHIOPIC SYLLABLE GYA
++2DD9;N # ETHIOPIC SYLLABLE GYU
++2DDA;N # ETHIOPIC SYLLABLE GYI
++2DDB;N # ETHIOPIC SYLLABLE GYAA
++2DDC;N # ETHIOPIC SYLLABLE GYEE
++2DDD;N # ETHIOPIC SYLLABLE GYE
++2DDE;N # ETHIOPIC SYLLABLE GYO
++2DE0;N # COMBINING CYRILLIC LETTER BE
++2DE1;N # COMBINING CYRILLIC LETTER VE
++2DE2;N # COMBINING CYRILLIC LETTER GHE
++2DE3;N # COMBINING CYRILLIC LETTER DE
++2DE4;N # COMBINING CYRILLIC LETTER ZHE
++2DE5;N # COMBINING CYRILLIC LETTER ZE
++2DE6;N # COMBINING CYRILLIC LETTER KA
++2DE7;N # COMBINING CYRILLIC LETTER EL
++2DE8;N # COMBINING CYRILLIC LETTER EM
++2DE9;N # COMBINING CYRILLIC LETTER EN
++2DEA;N # COMBINING CYRILLIC LETTER O
++2DEB;N # COMBINING CYRILLIC LETTER PE
++2DEC;N # COMBINING CYRILLIC LETTER ER
++2DED;N # COMBINING CYRILLIC LETTER ES
++2DEE;N # COMBINING CYRILLIC LETTER TE
++2DEF;N # COMBINING CYRILLIC LETTER HA
++2DF0;N # COMBINING CYRILLIC LETTER TSE
++2DF1;N # COMBINING CYRILLIC LETTER CHE
++2DF2;N # COMBINING CYRILLIC LETTER SHA
++2DF3;N # COMBINING CYRILLIC LETTER SHCHA
++2DF4;N # COMBINING CYRILLIC LETTER FITA
++2DF5;N # COMBINING CYRILLIC LETTER ES-TE
++2DF6;N # COMBINING CYRILLIC LETTER A
++2DF7;N # COMBINING CYRILLIC LETTER IE
++2DF8;N # COMBINING CYRILLIC LETTER DJERV
++2DF9;N # COMBINING CYRILLIC LETTER MONOGRAPH UK
++2DFA;N # COMBINING CYRILLIC LETTER YAT
++2DFB;N # COMBINING CYRILLIC LETTER YU
++2DFC;N # COMBINING CYRILLIC LETTER IOTIFIED A
++2DFD;N # COMBINING CYRILLIC LETTER LITTLE YUS
++2DFE;N # COMBINING CYRILLIC LETTER BIG YUS
++2DFF;N # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
++2E00;N # RIGHT ANGLE SUBSTITUTION MARKER
++2E01;N # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
++2E02;N # LEFT SUBSTITUTION BRACKET
++2E03;N # RIGHT SUBSTITUTION BRACKET
++2E04;N # LEFT DOTTED SUBSTITUTION BRACKET
++2E05;N # RIGHT DOTTED SUBSTITUTION BRACKET
++2E06;N # RAISED INTERPOLATION MARKER
++2E07;N # RAISED DOTTED INTERPOLATION MARKER
++2E08;N # DOTTED TRANSPOSITION MARKER
++2E09;N # LEFT TRANSPOSITION BRACKET
++2E0A;N # RIGHT TRANSPOSITION BRACKET
++2E0B;N # RAISED SQUARE
++2E0C;N # LEFT RAISED OMISSION BRACKET
++2E0D;N # RIGHT RAISED OMISSION BRACKET
++2E0E;N # EDITORIAL CORONIS
++2E0F;N # PARAGRAPHOS
++2E10;N # FORKED PARAGRAPHOS
++2E11;N # REVERSED FORKED PARAGRAPHOS
++2E12;N # HYPODIASTOLE
++2E13;N # DOTTED OBELOS
++2E14;N # DOWNWARDS ANCORA
++2E15;N # UPWARDS ANCORA
++2E16;N # DOTTED RIGHT-POINTING ANGLE
++2E17;N # DOUBLE OBLIQUE HYPHEN
++2E18;N # INVERTED INTERROBANG
++2E19;N # PALM BRANCH
++2E1A;N # HYPHEN WITH DIAERESIS
++2E1B;N # TILDE WITH RING ABOVE
++2E1C;N # LEFT LOW PARAPHRASE BRACKET
++2E1D;N # RIGHT LOW PARAPHRASE BRACKET
++2E1E;N # TILDE WITH DOT ABOVE
++2E1F;N # TILDE WITH DOT BELOW
++2E20;N # LEFT VERTICAL BAR WITH QUILL
++2E21;N # RIGHT VERTICAL BAR WITH QUILL
++2E22;N # TOP LEFT HALF BRACKET
++2E23;N # TOP RIGHT HALF BRACKET
++2E24;N # BOTTOM LEFT HALF BRACKET
++2E25;N # BOTTOM RIGHT HALF BRACKET
++2E26;N # LEFT SIDEWAYS U BRACKET
++2E27;N # RIGHT SIDEWAYS U BRACKET
++2E28;N # LEFT DOUBLE PARENTHESIS
++2E29;N # RIGHT DOUBLE PARENTHESIS
++2E2A;N # TWO DOTS OVER ONE DOT PUNCTUATION
++2E2B;N # ONE DOT OVER TWO DOTS PUNCTUATION
++2E2C;N # SQUARED FOUR DOT PUNCTUATION
++2E2D;N # FIVE DOT MARK
++2E2E;N # REVERSED QUESTION MARK
++2E2F;N # VERTICAL TILDE
++2E30;N # RING POINT
++2E31;N # WORD SEPARATOR MIDDLE DOT
++2E80;W # CJK RADICAL REPEAT
++2E81;W # CJK RADICAL CLIFF
++2E82;W # CJK RADICAL SECOND ONE
++2E83;W # CJK RADICAL SECOND TWO
++2E84;W # CJK RADICAL SECOND THREE
++2E85;W # CJK RADICAL PERSON
++2E86;W # CJK RADICAL BOX
++2E87;W # CJK RADICAL TABLE
++2E88;W # CJK RADICAL KNIFE ONE
++2E89;W # CJK RADICAL KNIFE TWO
++2E8A;W # CJK RADICAL DIVINATION
++2E8B;W # CJK RADICAL SEAL
++2E8C;W # CJK RADICAL SMALL ONE
++2E8D;W # CJK RADICAL SMALL TWO
++2E8E;W # CJK RADICAL LAME ONE
++2E8F;W # CJK RADICAL LAME TWO
++2E90;W # CJK RADICAL LAME THREE
++2E91;W # CJK RADICAL LAME FOUR
++2E92;W # CJK RADICAL SNAKE
++2E93;W # CJK RADICAL THREAD
++2E94;W # CJK RADICAL SNOUT ONE
++2E95;W # CJK RADICAL SNOUT TWO
++2E96;W # CJK RADICAL HEART ONE
++2E97;W # CJK RADICAL HEART TWO
++2E98;W # CJK RADICAL HAND
++2E99;W # CJK RADICAL RAP
++2E9B;W # CJK RADICAL CHOKE
++2E9C;W # CJK RADICAL SUN
++2E9D;W # CJK RADICAL MOON
++2E9E;W # CJK RADICAL DEATH
++2E9F;W # CJK RADICAL MOTHER
++2EA0;W # CJK RADICAL CIVILIAN
++2EA1;W # CJK RADICAL WATER ONE
++2EA2;W # CJK RADICAL WATER TWO
++2EA3;W # CJK RADICAL FIRE
++2EA4;W # CJK RADICAL PAW ONE
++2EA5;W # CJK RADICAL PAW TWO
++2EA6;W # CJK RADICAL SIMPLIFIED HALF TREE TRUNK
++2EA7;W # CJK RADICAL COW
++2EA8;W # CJK RADICAL DOG
++2EA9;W # CJK RADICAL JADE
++2EAA;W # CJK RADICAL BOLT OF CLOTH
++2EAB;W # CJK RADICAL EYE
++2EAC;W # CJK RADICAL SPIRIT ONE
++2EAD;W # CJK RADICAL SPIRIT TWO
++2EAE;W # CJK RADICAL BAMBOO
++2EAF;W # CJK RADICAL SILK
++2EB0;W # CJK RADICAL C-SIMPLIFIED SILK
++2EB1;W # CJK RADICAL NET ONE
++2EB2;W # CJK RADICAL NET TWO
++2EB3;W # CJK RADICAL NET THREE
++2EB4;W # CJK RADICAL NET FOUR
++2EB5;W # CJK RADICAL MESH
++2EB6;W # CJK RADICAL SHEEP
++2EB7;W # CJK RADICAL RAM
++2EB8;W # CJK RADICAL EWE
++2EB9;W # CJK RADICAL OLD
++2EBA;W # CJK RADICAL BRUSH ONE
++2EBB;W # CJK RADICAL BRUSH TWO
++2EBC;W # CJK RADICAL MEAT
++2EBD;W # CJK RADICAL MORTAR
++2EBE;W # CJK RADICAL GRASS ONE
++2EBF;W # CJK RADICAL GRASS TWO
++2EC0;W # CJK RADICAL GRASS THREE
++2EC1;W # CJK RADICAL TIGER
++2EC2;W # CJK RADICAL CLOTHES
++2EC3;W # CJK RADICAL WEST ONE
++2EC4;W # CJK RADICAL WEST TWO
++2EC5;W # CJK RADICAL C-SIMPLIFIED SEE
++2EC6;W # CJK RADICAL SIMPLIFIED HORN
++2EC7;W # CJK RADICAL HORN
++2EC8;W # CJK RADICAL C-SIMPLIFIED SPEECH
++2EC9;W # CJK RADICAL C-SIMPLIFIED SHELL
++2ECA;W # CJK RADICAL FOOT
++2ECB;W # CJK RADICAL C-SIMPLIFIED CART
++2ECC;W # CJK RADICAL SIMPLIFIED WALK
++2ECD;W # CJK RADICAL WALK ONE
++2ECE;W # CJK RADICAL WALK TWO
++2ECF;W # CJK RADICAL CITY
++2ED0;W # CJK RADICAL C-SIMPLIFIED GOLD
++2ED1;W # CJK RADICAL LONG ONE
++2ED2;W # CJK RADICAL LONG TWO
++2ED3;W # CJK RADICAL C-SIMPLIFIED LONG
++2ED4;W # CJK RADICAL C-SIMPLIFIED GATE
++2ED5;W # CJK RADICAL MOUND ONE
++2ED6;W # CJK RADICAL MOUND TWO
++2ED7;W # CJK RADICAL RAIN
++2ED8;W # CJK RADICAL BLUE
++2ED9;W # CJK RADICAL C-SIMPLIFIED TANNED LEATHER
++2EDA;W # CJK RADICAL C-SIMPLIFIED LEAF
++2EDB;W # CJK RADICAL C-SIMPLIFIED WIND
++2EDC;W # CJK RADICAL C-SIMPLIFIED FLY
++2EDD;W # CJK RADICAL EAT ONE
++2EDE;W # CJK RADICAL EAT TWO
++2EDF;W # CJK RADICAL EAT THREE
++2EE0;W # CJK RADICAL C-SIMPLIFIED EAT
++2EE1;W # CJK RADICAL HEAD
++2EE2;W # CJK RADICAL C-SIMPLIFIED HORSE
++2EE3;W # CJK RADICAL BONE
++2EE4;W # CJK RADICAL GHOST
++2EE5;W # CJK RADICAL C-SIMPLIFIED FISH
++2EE6;W # CJK RADICAL C-SIMPLIFIED BIRD
++2EE7;W # CJK RADICAL C-SIMPLIFIED SALT
++2EE8;W # CJK RADICAL SIMPLIFIED WHEAT
++2EE9;W # CJK RADICAL SIMPLIFIED YELLOW
++2EEA;W # CJK RADICAL C-SIMPLIFIED FROG
++2EEB;W # CJK RADICAL J-SIMPLIFIED EVEN
++2EEC;W # CJK RADICAL C-SIMPLIFIED EVEN
++2EED;W # CJK RADICAL J-SIMPLIFIED TOOTH
++2EEE;W # CJK RADICAL C-SIMPLIFIED TOOTH
++2EEF;W # CJK RADICAL J-SIMPLIFIED DRAGON
++2EF0;W # CJK RADICAL C-SIMPLIFIED DRAGON
++2EF1;W # CJK RADICAL TURTLE
++2EF2;W # CJK RADICAL J-SIMPLIFIED TURTLE
++2EF3;W # CJK RADICAL C-SIMPLIFIED TURTLE
++2F00;W # KANGXI RADICAL ONE
++2F01;W # KANGXI RADICAL LINE
++2F02;W # KANGXI RADICAL DOT
++2F03;W # KANGXI RADICAL SLASH
++2F04;W # KANGXI RADICAL SECOND
++2F05;W # KANGXI RADICAL HOOK
++2F06;W # KANGXI RADICAL TWO
++2F07;W # KANGXI RADICAL LID
++2F08;W # KANGXI RADICAL MAN
++2F09;W # KANGXI RADICAL LEGS
++2F0A;W # KANGXI RADICAL ENTER
++2F0B;W # KANGXI RADICAL EIGHT
++2F0C;W # KANGXI RADICAL DOWN BOX
++2F0D;W # KANGXI RADICAL COVER
++2F0E;W # KANGXI RADICAL ICE
++2F0F;W # KANGXI RADICAL TABLE
++2F10;W # KANGXI RADICAL OPEN BOX
++2F11;W # KANGXI RADICAL KNIFE
++2F12;W # KANGXI RADICAL POWER
++2F13;W # KANGXI RADICAL WRAP
++2F14;W # KANGXI RADICAL SPOON
++2F15;W # KANGXI RADICAL RIGHT OPEN BOX
++2F16;W # KANGXI RADICAL HIDING ENCLOSURE
++2F17;W # KANGXI RADICAL TEN
++2F18;W # KANGXI RADICAL DIVINATION
++2F19;W # KANGXI RADICAL SEAL
++2F1A;W # KANGXI RADICAL CLIFF
++2F1B;W # KANGXI RADICAL PRIVATE
++2F1C;W # KANGXI RADICAL AGAIN
++2F1D;W # KANGXI RADICAL MOUTH
++2F1E;W # KANGXI RADICAL ENCLOSURE
++2F1F;W # KANGXI RADICAL EARTH
++2F20;W # KANGXI RADICAL SCHOLAR
++2F21;W # KANGXI RADICAL GO
++2F22;W # KANGXI RADICAL GO SLOWLY
++2F23;W # KANGXI RADICAL EVENING
++2F24;W # KANGXI RADICAL BIG
++2F25;W # KANGXI RADICAL WOMAN
++2F26;W # KANGXI RADICAL CHILD
++2F27;W # KANGXI RADICAL ROOF
++2F28;W # KANGXI RADICAL INCH
++2F29;W # KANGXI RADICAL SMALL
++2F2A;W # KANGXI RADICAL LAME
++2F2B;W # KANGXI RADICAL CORPSE
++2F2C;W # KANGXI RADICAL SPROUT
++2F2D;W # KANGXI RADICAL MOUNTAIN
++2F2E;W # KANGXI RADICAL RIVER
++2F2F;W # KANGXI RADICAL WORK
++2F30;W # KANGXI RADICAL ONESELF
++2F31;W # KANGXI RADICAL TURBAN
++2F32;W # KANGXI RADICAL DRY
++2F33;W # KANGXI RADICAL SHORT THREAD
++2F34;W # KANGXI RADICAL DOTTED CLIFF
++2F35;W # KANGXI RADICAL LONG STRIDE
++2F36;W # KANGXI RADICAL TWO HANDS
++2F37;W # KANGXI RADICAL SHOOT
++2F38;W # KANGXI RADICAL BOW
++2F39;W # KANGXI RADICAL SNOUT
++2F3A;W # KANGXI RADICAL BRISTLE
++2F3B;W # KANGXI RADICAL STEP
++2F3C;W # KANGXI RADICAL HEART
++2F3D;W # KANGXI RADICAL HALBERD
++2F3E;W # KANGXI RADICAL DOOR
++2F3F;W # KANGXI RADICAL HAND
++2F40;W # KANGXI RADICAL BRANCH
++2F41;W # KANGXI RADICAL RAP
++2F42;W # KANGXI RADICAL SCRIPT
++2F43;W # KANGXI RADICAL DIPPER
++2F44;W # KANGXI RADICAL AXE
++2F45;W # KANGXI RADICAL SQUARE
++2F46;W # KANGXI RADICAL NOT
++2F47;W # KANGXI RADICAL SUN
++2F48;W # KANGXI RADICAL SAY
++2F49;W # KANGXI RADICAL MOON
++2F4A;W # KANGXI RADICAL TREE
++2F4B;W # KANGXI RADICAL LACK
++2F4C;W # KANGXI RADICAL STOP
++2F4D;W # KANGXI RADICAL DEATH
++2F4E;W # KANGXI RADICAL WEAPON
++2F4F;W # KANGXI RADICAL DO NOT
++2F50;W # KANGXI RADICAL COMPARE
++2F51;W # KANGXI RADICAL FUR
++2F52;W # KANGXI RADICAL CLAN
++2F53;W # KANGXI RADICAL STEAM
++2F54;W # KANGXI RADICAL WATER
++2F55;W # KANGXI RADICAL FIRE
++2F56;W # KANGXI RADICAL CLAW
++2F57;W # KANGXI RADICAL FATHER
++2F58;W # KANGXI RADICAL DOUBLE X
++2F59;W # KANGXI RADICAL HALF TREE TRUNK
++2F5A;W # KANGXI RADICAL SLICE
++2F5B;W # KANGXI RADICAL FANG
++2F5C;W # KANGXI RADICAL COW
++2F5D;W # KANGXI RADICAL DOG
++2F5E;W # KANGXI RADICAL PROFOUND
++2F5F;W # KANGXI RADICAL JADE
++2F60;W # KANGXI RADICAL MELON
++2F61;W # KANGXI RADICAL TILE
++2F62;W # KANGXI RADICAL SWEET
++2F63;W # KANGXI RADICAL LIFE
++2F64;W # KANGXI RADICAL USE
++2F65;W # KANGXI RADICAL FIELD
++2F66;W # KANGXI RADICAL BOLT OF CLOTH
++2F67;W # KANGXI RADICAL SICKNESS
++2F68;W # KANGXI RADICAL DOTTED TENT
++2F69;W # KANGXI RADICAL WHITE
++2F6A;W # KANGXI RADICAL SKIN
++2F6B;W # KANGXI RADICAL DISH
++2F6C;W # KANGXI RADICAL EYE
++2F6D;W # KANGXI RADICAL SPEAR
++2F6E;W # KANGXI RADICAL ARROW
++2F6F;W # KANGXI RADICAL STONE
++2F70;W # KANGXI RADICAL SPIRIT
++2F71;W # KANGXI RADICAL TRACK
++2F72;W # KANGXI RADICAL GRAIN
++2F73;W # KANGXI RADICAL CAVE
++2F74;W # KANGXI RADICAL STAND
++2F75;W # KANGXI RADICAL BAMBOO
++2F76;W # KANGXI RADICAL RICE
++2F77;W # KANGXI RADICAL SILK
++2F78;W # KANGXI RADICAL JAR
++2F79;W # KANGXI RADICAL NET
++2F7A;W # KANGXI RADICAL SHEEP
++2F7B;W # KANGXI RADICAL FEATHER
++2F7C;W # KANGXI RADICAL OLD
++2F7D;W # KANGXI RADICAL AND
++2F7E;W # KANGXI RADICAL PLOW
++2F7F;W # KANGXI RADICAL EAR
++2F80;W # KANGXI RADICAL BRUSH
++2F81;W # KANGXI RADICAL MEAT
++2F82;W # KANGXI RADICAL MINISTER
++2F83;W # KANGXI RADICAL SELF
++2F84;W # KANGXI RADICAL ARRIVE
++2F85;W # KANGXI RADICAL MORTAR
++2F86;W # KANGXI RADICAL TONGUE
++2F87;W # KANGXI RADICAL OPPOSE
++2F88;W # KANGXI RADICAL BOAT
++2F89;W # KANGXI RADICAL STOPPING
++2F8A;W # KANGXI RADICAL COLOR
++2F8B;W # KANGXI RADICAL GRASS
++2F8C;W # KANGXI RADICAL TIGER
++2F8D;W # KANGXI RADICAL INSECT
++2F8E;W # KANGXI RADICAL BLOOD
++2F8F;W # KANGXI RADICAL WALK ENCLOSURE
++2F90;W # KANGXI RADICAL CLOTHES
++2F91;W # KANGXI RADICAL WEST
++2F92;W # KANGXI RADICAL SEE
++2F93;W # KANGXI RADICAL HORN
++2F94;W # KANGXI RADICAL SPEECH
++2F95;W # KANGXI RADICAL VALLEY
++2F96;W # KANGXI RADICAL BEAN
++2F97;W # KANGXI RADICAL PIG
++2F98;W # KANGXI RADICAL BADGER
++2F99;W # KANGXI RADICAL SHELL
++2F9A;W # KANGXI RADICAL RED
++2F9B;W # KANGXI RADICAL RUN
++2F9C;W # KANGXI RADICAL FOOT
++2F9D;W # KANGXI RADICAL BODY
++2F9E;W # KANGXI RADICAL CART
++2F9F;W # KANGXI RADICAL BITTER
++2FA0;W # KANGXI RADICAL MORNING
++2FA1;W # KANGXI RADICAL WALK
++2FA2;W # KANGXI RADICAL CITY
++2FA3;W # KANGXI RADICAL WINE
++2FA4;W # KANGXI RADICAL DISTINGUISH
++2FA5;W # KANGXI RADICAL VILLAGE
++2FA6;W # KANGXI RADICAL GOLD
++2FA7;W # KANGXI RADICAL LONG
++2FA8;W # KANGXI RADICAL GATE
++2FA9;W # KANGXI RADICAL MOUND
++2FAA;W # KANGXI RADICAL SLAVE
++2FAB;W # KANGXI RADICAL SHORT TAILED BIRD
++2FAC;W # KANGXI RADICAL RAIN
++2FAD;W # KANGXI RADICAL BLUE
++2FAE;W # KANGXI RADICAL WRONG
++2FAF;W # KANGXI RADICAL FACE
++2FB0;W # KANGXI RADICAL LEATHER
++2FB1;W # KANGXI RADICAL TANNED LEATHER
++2FB2;W # KANGXI RADICAL LEEK
++2FB3;W # KANGXI RADICAL SOUND
++2FB4;W # KANGXI RADICAL LEAF
++2FB5;W # KANGXI RADICAL WIND
++2FB6;W # KANGXI RADICAL FLY
++2FB7;W # KANGXI RADICAL EAT
++2FB8;W # KANGXI RADICAL HEAD
++2FB9;W # KANGXI RADICAL FRAGRANT
++2FBA;W # KANGXI RADICAL HORSE
++2FBB;W # KANGXI RADICAL BONE
++2FBC;W # KANGXI RADICAL TALL
++2FBD;W # KANGXI RADICAL HAIR
++2FBE;W # KANGXI RADICAL FIGHT
++2FBF;W # KANGXI RADICAL SACRIFICIAL WINE
++2FC0;W # KANGXI RADICAL CAULDRON
++2FC1;W # KANGXI RADICAL GHOST
++2FC2;W # KANGXI RADICAL FISH
++2FC3;W # KANGXI RADICAL BIRD
++2FC4;W # KANGXI RADICAL SALT
++2FC5;W # KANGXI RADICAL DEER
++2FC6;W # KANGXI RADICAL WHEAT
++2FC7;W # KANGXI RADICAL HEMP
++2FC8;W # KANGXI RADICAL YELLOW
++2FC9;W # KANGXI RADICAL MILLET
++2FCA;W # KANGXI RADICAL BLACK
++2FCB;W # KANGXI RADICAL EMBROIDERY
++2FCC;W # KANGXI RADICAL FROG
++2FCD;W # KANGXI RADICAL TRIPOD
++2FCE;W # KANGXI RADICAL DRUM
++2FCF;W # KANGXI RADICAL RAT
++2FD0;W # KANGXI RADICAL NOSE
++2FD1;W # KANGXI RADICAL EVEN
++2FD2;W # KANGXI RADICAL TOOTH
++2FD3;W # KANGXI RADICAL DRAGON
++2FD4;W # KANGXI RADICAL TURTLE
++2FD5;W # KANGXI RADICAL FLUTE
++2FF0;W # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
++2FF1;W # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
++2FF2;W # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
++2FF3;W # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
++2FF4;W # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
++2FF5;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
++2FF6;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
++2FF7;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
++2FF8;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
++2FF9;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
++2FFA;W # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
++2FFB;W # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
++3000;F # IDEOGRAPHIC SPACE
++3001;W # IDEOGRAPHIC COMMA
++3002;W # IDEOGRAPHIC FULL STOP
++3003;W # DITTO MARK
++3004;W # JAPANESE INDUSTRIAL STANDARD SYMBOL
++3005;W # IDEOGRAPHIC ITERATION MARK
++3006;W # IDEOGRAPHIC CLOSING MARK
++3007;W # IDEOGRAPHIC NUMBER ZERO
++3008;W # LEFT ANGLE BRACKET
++3009;W # RIGHT ANGLE BRACKET
++300A;W # LEFT DOUBLE ANGLE BRACKET
++300B;W # RIGHT DOUBLE ANGLE BRACKET
++300C;W # LEFT CORNER BRACKET
++300D;W # RIGHT CORNER BRACKET
++300E;W # LEFT WHITE CORNER BRACKET
++300F;W # RIGHT WHITE CORNER BRACKET
++3010;W # LEFT BLACK LENTICULAR BRACKET
++3011;W # RIGHT BLACK LENTICULAR BRACKET
++3012;W # POSTAL MARK
++3013;W # GETA MARK
++3014;W # LEFT TORTOISE SHELL BRACKET
++3015;W # RIGHT TORTOISE SHELL BRACKET
++3016;W # LEFT WHITE LENTICULAR BRACKET
++3017;W # RIGHT WHITE LENTICULAR BRACKET
++3018;W # LEFT WHITE TORTOISE SHELL BRACKET
++3019;W # RIGHT WHITE TORTOISE SHELL BRACKET
++301A;W # LEFT WHITE SQUARE BRACKET
++301B;W # RIGHT WHITE SQUARE BRACKET
++301C;W # WAVE DASH
++301D;W # REVERSED DOUBLE PRIME QUOTATION MARK
++301E;W # DOUBLE PRIME QUOTATION MARK
++301F;W # LOW DOUBLE PRIME QUOTATION MARK
++3020;W # POSTAL MARK FACE
++3021;W # HANGZHOU NUMERAL ONE
++3022;W # HANGZHOU NUMERAL TWO
++3023;W # HANGZHOU NUMERAL THREE
++3024;W # HANGZHOU NUMERAL FOUR
++3025;W # HANGZHOU NUMERAL FIVE
++3026;W # HANGZHOU NUMERAL SIX
++3027;W # HANGZHOU NUMERAL SEVEN
++3028;W # HANGZHOU NUMERAL EIGHT
++3029;W # HANGZHOU NUMERAL NINE
++302A;W # IDEOGRAPHIC LEVEL TONE MARK
++302B;W # IDEOGRAPHIC RISING TONE MARK
++302C;W # IDEOGRAPHIC DEPARTING TONE MARK
++302D;W # IDEOGRAPHIC ENTERING TONE MARK
++302E;W # HANGUL SINGLE DOT TONE MARK
++302F;W # HANGUL DOUBLE DOT TONE MARK
++3030;W # WAVY DASH
++3031;W # VERTICAL KANA REPEAT MARK
++3032;W # VERTICAL KANA REPEAT WITH VOICED SOUND MARK
++3033;W # VERTICAL KANA REPEAT MARK UPPER HALF
++3034;W # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
++3035;W # VERTICAL KANA REPEAT MARK LOWER HALF
++3036;W # CIRCLED POSTAL MARK
++3037;W # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
++3038;W # HANGZHOU NUMERAL TEN
++3039;W # HANGZHOU NUMERAL TWENTY
++303A;W # HANGZHOU NUMERAL THIRTY
++303B;W # VERTICAL IDEOGRAPHIC ITERATION MARK
++303C;W # MASU MARK
++303D;W # PART ALTERNATION MARK
++303E;W # IDEOGRAPHIC VARIATION INDICATOR
++303F;N # IDEOGRAPHIC HALF FILL SPACE
++3041;W # HIRAGANA LETTER SMALL A
++3042;W # HIRAGANA LETTER A
++3043;W # HIRAGANA LETTER SMALL I
++3044;W # HIRAGANA LETTER I
++3045;W # HIRAGANA LETTER SMALL U
++3046;W # HIRAGANA LETTER U
++3047;W # HIRAGANA LETTER SMALL E
++3048;W # HIRAGANA LETTER E
++3049;W # HIRAGANA LETTER SMALL O
++304A;W # HIRAGANA LETTER O
++304B;W # HIRAGANA LETTER KA
++304C;W # HIRAGANA LETTER GA
++304D;W # HIRAGANA LETTER KI
++304E;W # HIRAGANA LETTER GI
++304F;W # HIRAGANA LETTER KU
++3050;W # HIRAGANA LETTER GU
++3051;W # HIRAGANA LETTER KE
++3052;W # HIRAGANA LETTER GE
++3053;W # HIRAGANA LETTER KO
++3054;W # HIRAGANA LETTER GO
++3055;W # HIRAGANA LETTER SA
++3056;W # HIRAGANA LETTER ZA
++3057;W # HIRAGANA LETTER SI
++3058;W # HIRAGANA LETTER ZI
++3059;W # HIRAGANA LETTER SU
++305A;W # HIRAGANA LETTER ZU
++305B;W # HIRAGANA LETTER SE
++305C;W # HIRAGANA LETTER ZE
++305D;W # HIRAGANA LETTER SO
++305E;W # HIRAGANA LETTER ZO
++305F;W # HIRAGANA LETTER TA
++3060;W # HIRAGANA LETTER DA
++3061;W # HIRAGANA LETTER TI
++3062;W # HIRAGANA LETTER DI
++3063;W # HIRAGANA LETTER SMALL TU
++3064;W # HIRAGANA LETTER TU
++3065;W # HIRAGANA LETTER DU
++3066;W # HIRAGANA LETTER TE
++3067;W # HIRAGANA LETTER DE
++3068;W # HIRAGANA LETTER TO
++3069;W # HIRAGANA LETTER DO
++306A;W # HIRAGANA LETTER NA
++306B;W # HIRAGANA LETTER NI
++306C;W # HIRAGANA LETTER NU
++306D;W # HIRAGANA LETTER NE
++306E;W # HIRAGANA LETTER NO
++306F;W # HIRAGANA LETTER HA
++3070;W # HIRAGANA LETTER BA
++3071;W # HIRAGANA LETTER PA
++3072;W # HIRAGANA LETTER HI
++3073;W # HIRAGANA LETTER BI
++3074;W # HIRAGANA LETTER PI
++3075;W # HIRAGANA LETTER HU
++3076;W # HIRAGANA LETTER BU
++3077;W # HIRAGANA LETTER PU
++3078;W # HIRAGANA LETTER HE
++3079;W # HIRAGANA LETTER BE
++307A;W # HIRAGANA LETTER PE
++307B;W # HIRAGANA LETTER HO
++307C;W # HIRAGANA LETTER BO
++307D;W # HIRAGANA LETTER PO
++307E;W # HIRAGANA LETTER MA
++307F;W # HIRAGANA LETTER MI
++3080;W # HIRAGANA LETTER MU
++3081;W # HIRAGANA LETTER ME
++3082;W # HIRAGANA LETTER MO
++3083;W # HIRAGANA LETTER SMALL YA
++3084;W # HIRAGANA LETTER YA
++3085;W # HIRAGANA LETTER SMALL YU
++3086;W # HIRAGANA LETTER YU
++3087;W # HIRAGANA LETTER SMALL YO
++3088;W # HIRAGANA LETTER YO
++3089;W # HIRAGANA LETTER RA
++308A;W # HIRAGANA LETTER RI
++308B;W # HIRAGANA LETTER RU
++308C;W # HIRAGANA LETTER RE
++308D;W # HIRAGANA LETTER RO
++308E;W # HIRAGANA LETTER SMALL WA
++308F;W # HIRAGANA LETTER WA
++3090;W # HIRAGANA LETTER WI
++3091;W # HIRAGANA LETTER WE
++3092;W # HIRAGANA LETTER WO
++3093;W # HIRAGANA LETTER N
++3094;W # HIRAGANA LETTER VU
++3095;W # HIRAGANA LETTER SMALL KA
++3096;W # HIRAGANA LETTER SMALL KE
++3099;W # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
++309A;W # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
++309B;W # KATAKANA-HIRAGANA VOICED SOUND MARK
++309C;W # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
++309D;W # HIRAGANA ITERATION MARK
++309E;W # HIRAGANA VOICED ITERATION MARK
++309F;W # HIRAGANA DIGRAPH YORI
++30A0;W # KATAKANA-HIRAGANA DOUBLE HYPHEN
++30A1;W # KATAKANA LETTER SMALL A
++30A2;W # KATAKANA LETTER A
++30A3;W # KATAKANA LETTER SMALL I
++30A4;W # KATAKANA LETTER I
++30A5;W # KATAKANA LETTER SMALL U
++30A6;W # KATAKANA LETTER U
++30A7;W # KATAKANA LETTER SMALL E
++30A8;W # KATAKANA LETTER E
++30A9;W # KATAKANA LETTER SMALL O
++30AA;W # KATAKANA LETTER O
++30AB;W # KATAKANA LETTER KA
++30AC;W # KATAKANA LETTER GA
++30AD;W # KATAKANA LETTER KI
++30AE;W # KATAKANA LETTER GI
++30AF;W # KATAKANA LETTER KU
++30B0;W # KATAKANA LETTER GU
++30B1;W # KATAKANA LETTER KE
++30B2;W # KATAKANA LETTER GE
++30B3;W # KATAKANA LETTER KO
++30B4;W # KATAKANA LETTER GO
++30B5;W # KATAKANA LETTER SA
++30B6;W # KATAKANA LETTER ZA
++30B7;W # KATAKANA LETTER SI
++30B8;W # KATAKANA LETTER ZI
++30B9;W # KATAKANA LETTER SU
++30BA;W # KATAKANA LETTER ZU
++30BB;W # KATAKANA LETTER SE
++30BC;W # KATAKANA LETTER ZE
++30BD;W # KATAKANA LETTER SO
++30BE;W # KATAKANA LETTER ZO
++30BF;W # KATAKANA LETTER TA
++30C0;W # KATAKANA LETTER DA
++30C1;W # KATAKANA LETTER TI
++30C2;W # KATAKANA LETTER DI
++30C3;W # KATAKANA LETTER SMALL TU
++30C4;W # KATAKANA LETTER TU
++30C5;W # KATAKANA LETTER DU
++30C6;W # KATAKANA LETTER TE
++30C7;W # KATAKANA LETTER DE
++30C8;W # KATAKANA LETTER TO
++30C9;W # KATAKANA LETTER DO
++30CA;W # KATAKANA LETTER NA
++30CB;W # KATAKANA LETTER NI
++30CC;W # KATAKANA LETTER NU
++30CD;W # KATAKANA LETTER NE
++30CE;W # KATAKANA LETTER NO
++30CF;W # KATAKANA LETTER HA
++30D0;W # KATAKANA LETTER BA
++30D1;W # KATAKANA LETTER PA
++30D2;W # KATAKANA LETTER HI
++30D3;W # KATAKANA LETTER BI
++30D4;W # KATAKANA LETTER PI
++30D5;W # KATAKANA LETTER HU
++30D6;W # KATAKANA LETTER BU
++30D7;W # KATAKANA LETTER PU
++30D8;W # KATAKANA LETTER HE
++30D9;W # KATAKANA LETTER BE
++30DA;W # KATAKANA LETTER PE
++30DB;W # KATAKANA LETTER HO
++30DC;W # KATAKANA LETTER BO
++30DD;W # KATAKANA LETTER PO
++30DE;W # KATAKANA LETTER MA
++30DF;W # KATAKANA LETTER MI
++30E0;W # KATAKANA LETTER MU
++30E1;W # KATAKANA LETTER ME
++30E2;W # KATAKANA LETTER MO
++30E3;W # KATAKANA LETTER SMALL YA
++30E4;W # KATAKANA LETTER YA
++30E5;W # KATAKANA LETTER SMALL YU
++30E6;W # KATAKANA LETTER YU
++30E7;W # KATAKANA LETTER SMALL YO
++30E8;W # KATAKANA LETTER YO
++30E9;W # KATAKANA LETTER RA
++30EA;W # KATAKANA LETTER RI
++30EB;W # KATAKANA LETTER RU
++30EC;W # KATAKANA LETTER RE
++30ED;W # KATAKANA LETTER RO
++30EE;W # KATAKANA LETTER SMALL WA
++30EF;W # KATAKANA LETTER WA
++30F0;W # KATAKANA LETTER WI
++30F1;W # KATAKANA LETTER WE
++30F2;W # KATAKANA LETTER WO
++30F3;W # KATAKANA LETTER N
++30F4;W # KATAKANA LETTER VU
++30F5;W # KATAKANA LETTER SMALL KA
++30F6;W # KATAKANA LETTER SMALL KE
++30F7;W # KATAKANA LETTER VA
++30F8;W # KATAKANA LETTER VI
++30F9;W # KATAKANA LETTER VE
++30FA;W # KATAKANA LETTER VO
++30FB;W # KATAKANA MIDDLE DOT
++30FC;W # KATAKANA-HIRAGANA PROLONGED SOUND MARK
++30FD;W # KATAKANA ITERATION MARK
++30FE;W # KATAKANA VOICED ITERATION MARK
++30FF;W # KATAKANA DIGRAPH KOTO
++3105;W # BOPOMOFO LETTER B
++3106;W # BOPOMOFO LETTER P
++3107;W # BOPOMOFO LETTER M
++3108;W # BOPOMOFO LETTER F
++3109;W # BOPOMOFO LETTER D
++310A;W # BOPOMOFO LETTER T
++310B;W # BOPOMOFO LETTER N
++310C;W # BOPOMOFO LETTER L
++310D;W # BOPOMOFO LETTER G
++310E;W # BOPOMOFO LETTER K
++310F;W # BOPOMOFO LETTER H
++3110;W # BOPOMOFO LETTER J
++3111;W # BOPOMOFO LETTER Q
++3112;W # BOPOMOFO LETTER X
++3113;W # BOPOMOFO LETTER ZH
++3114;W # BOPOMOFO LETTER CH
++3115;W # BOPOMOFO LETTER SH
++3116;W # BOPOMOFO LETTER R
++3117;W # BOPOMOFO LETTER Z
++3118;W # BOPOMOFO LETTER C
++3119;W # BOPOMOFO LETTER S
++311A;W # BOPOMOFO LETTER A
++311B;W # BOPOMOFO LETTER O
++311C;W # BOPOMOFO LETTER E
++311D;W # BOPOMOFO LETTER EH
++311E;W # BOPOMOFO LETTER AI
++311F;W # BOPOMOFO LETTER EI
++3120;W # BOPOMOFO LETTER AU
++3121;W # BOPOMOFO LETTER OU
++3122;W # BOPOMOFO LETTER AN
++3123;W # BOPOMOFO LETTER EN
++3124;W # BOPOMOFO LETTER ANG
++3125;W # BOPOMOFO LETTER ENG
++3126;W # BOPOMOFO LETTER ER
++3127;W # BOPOMOFO LETTER I
++3128;W # BOPOMOFO LETTER U
++3129;W # BOPOMOFO LETTER IU
++312A;W # BOPOMOFO LETTER V
++312B;W # BOPOMOFO LETTER NG
++312C;W # BOPOMOFO LETTER GN
++312D;W # BOPOMOFO LETTER IH
++3131;W # HANGUL LETTER KIYEOK
++3132;W # HANGUL LETTER SSANGKIYEOK
++3133;W # HANGUL LETTER KIYEOK-SIOS
++3134;W # HANGUL LETTER NIEUN
++3135;W # HANGUL LETTER NIEUN-CIEUC
++3136;W # HANGUL LETTER NIEUN-HIEUH
++3137;W # HANGUL LETTER TIKEUT
++3138;W # HANGUL LETTER SSANGTIKEUT
++3139;W # HANGUL LETTER RIEUL
++313A;W # HANGUL LETTER RIEUL-KIYEOK
++313B;W # HANGUL LETTER RIEUL-MIEUM
++313C;W # HANGUL LETTER RIEUL-PIEUP
++313D;W # HANGUL LETTER RIEUL-SIOS
++313E;W # HANGUL LETTER RIEUL-THIEUTH
++313F;W # HANGUL LETTER RIEUL-PHIEUPH
++3140;W # HANGUL LETTER RIEUL-HIEUH
++3141;W # HANGUL LETTER MIEUM
++3142;W # HANGUL LETTER PIEUP
++3143;W # HANGUL LETTER SSANGPIEUP
++3144;W # HANGUL LETTER PIEUP-SIOS
++3145;W # HANGUL LETTER SIOS
++3146;W # HANGUL LETTER SSANGSIOS
++3147;W # HANGUL LETTER IEUNG
++3148;W # HANGUL LETTER CIEUC
++3149;W # HANGUL LETTER SSANGCIEUC
++314A;W # HANGUL LETTER CHIEUCH
++314B;W # HANGUL LETTER KHIEUKH
++314C;W # HANGUL LETTER THIEUTH
++314D;W # HANGUL LETTER PHIEUPH
++314E;W # HANGUL LETTER HIEUH
++314F;W # HANGUL LETTER A
++3150;W # HANGUL LETTER AE
++3151;W # HANGUL LETTER YA
++3152;W # HANGUL LETTER YAE
++3153;W # HANGUL LETTER EO
++3154;W # HANGUL LETTER E
++3155;W # HANGUL LETTER YEO
++3156;W # HANGUL LETTER YE
++3157;W # HANGUL LETTER O
++3158;W # HANGUL LETTER WA
++3159;W # HANGUL LETTER WAE
++315A;W # HANGUL LETTER OE
++315B;W # HANGUL LETTER YO
++315C;W # HANGUL LETTER U
++315D;W # HANGUL LETTER WEO
++315E;W # HANGUL LETTER WE
++315F;W # HANGUL LETTER WI
++3160;W # HANGUL LETTER YU
++3161;W # HANGUL LETTER EU
++3162;W # HANGUL LETTER YI
++3163;W # HANGUL LETTER I
++3164;W # HANGUL FILLER
++3165;W # HANGUL LETTER SSANGNIEUN
++3166;W # HANGUL LETTER NIEUN-TIKEUT
++3167;W # HANGUL LETTER NIEUN-SIOS
++3168;W # HANGUL LETTER NIEUN-PANSIOS
++3169;W # HANGUL LETTER RIEUL-KIYEOK-SIOS
++316A;W # HANGUL LETTER RIEUL-TIKEUT
++316B;W # HANGUL LETTER RIEUL-PIEUP-SIOS
++316C;W # HANGUL LETTER RIEUL-PANSIOS
++316D;W # HANGUL LETTER RIEUL-YEORINHIEUH
++316E;W # HANGUL LETTER MIEUM-PIEUP
++316F;W # HANGUL LETTER MIEUM-SIOS
++3170;W # HANGUL LETTER MIEUM-PANSIOS
++3171;W # HANGUL LETTER KAPYEOUNMIEUM
++3172;W # HANGUL LETTER PIEUP-KIYEOK
++3173;W # HANGUL LETTER PIEUP-TIKEUT
++3174;W # HANGUL LETTER PIEUP-SIOS-KIYEOK
++3175;W # HANGUL LETTER PIEUP-SIOS-TIKEUT
++3176;W # HANGUL LETTER PIEUP-CIEUC
++3177;W # HANGUL LETTER PIEUP-THIEUTH
++3178;W # HANGUL LETTER KAPYEOUNPIEUP
++3179;W # HANGUL LETTER KAPYEOUNSSANGPIEUP
++317A;W # HANGUL LETTER SIOS-KIYEOK
++317B;W # HANGUL LETTER SIOS-NIEUN
++317C;W # HANGUL LETTER SIOS-TIKEUT
++317D;W # HANGUL LETTER SIOS-PIEUP
++317E;W # HANGUL LETTER SIOS-CIEUC
++317F;W # HANGUL LETTER PANSIOS
++3180;W # HANGUL LETTER SSANGIEUNG
++3181;W # HANGUL LETTER YESIEUNG
++3182;W # HANGUL LETTER YESIEUNG-SIOS
++3183;W # HANGUL LETTER YESIEUNG-PANSIOS
++3184;W # HANGUL LETTER KAPYEOUNPHIEUPH
++3185;W # HANGUL LETTER SSANGHIEUH
++3186;W # HANGUL LETTER YEORINHIEUH
++3187;W # HANGUL LETTER YO-YA
++3188;W # HANGUL LETTER YO-YAE
++3189;W # HANGUL LETTER YO-I
++318A;W # HANGUL LETTER YU-YEO
++318B;W # HANGUL LETTER YU-YE
++318C;W # HANGUL LETTER YU-I
++318D;W # HANGUL LETTER ARAEA
++318E;W # HANGUL LETTER ARAEAE
++3190;W # IDEOGRAPHIC ANNOTATION LINKING MARK
++3191;W # IDEOGRAPHIC ANNOTATION REVERSE MARK
++3192;W # IDEOGRAPHIC ANNOTATION ONE MARK
++3193;W # IDEOGRAPHIC ANNOTATION TWO MARK
++3194;W # IDEOGRAPHIC ANNOTATION THREE MARK
++3195;W # IDEOGRAPHIC ANNOTATION FOUR MARK
++3196;W # IDEOGRAPHIC ANNOTATION TOP MARK
++3197;W # IDEOGRAPHIC ANNOTATION MIDDLE MARK
++3198;W # IDEOGRAPHIC ANNOTATION BOTTOM MARK
++3199;W # IDEOGRAPHIC ANNOTATION FIRST MARK
++319A;W # IDEOGRAPHIC ANNOTATION SECOND MARK
++319B;W # IDEOGRAPHIC ANNOTATION THIRD MARK
++319C;W # IDEOGRAPHIC ANNOTATION FOURTH MARK
++319D;W # IDEOGRAPHIC ANNOTATION HEAVEN MARK
++319E;W # IDEOGRAPHIC ANNOTATION EARTH MARK
++319F;W # IDEOGRAPHIC ANNOTATION MAN MARK
++31A0;W # BOPOMOFO LETTER BU
++31A1;W # BOPOMOFO LETTER ZI
++31A2;W # BOPOMOFO LETTER JI
++31A3;W # BOPOMOFO LETTER GU
++31A4;W # BOPOMOFO LETTER EE
++31A5;W # BOPOMOFO LETTER ENN
++31A6;W # BOPOMOFO LETTER OO
++31A7;W # BOPOMOFO LETTER ONN
++31A8;W # BOPOMOFO LETTER IR
++31A9;W # BOPOMOFO LETTER ANN
++31AA;W # BOPOMOFO LETTER INN
++31AB;W # BOPOMOFO LETTER UNN
++31AC;W # BOPOMOFO LETTER IM
++31AD;W # BOPOMOFO LETTER NGG
++31AE;W # BOPOMOFO LETTER AINN
++31AF;W # BOPOMOFO LETTER AUNN
++31B0;W # BOPOMOFO LETTER AM
++31B1;W # BOPOMOFO LETTER OM
++31B2;W # BOPOMOFO LETTER ONG
++31B3;W # BOPOMOFO LETTER INNN
++31B4;W # BOPOMOFO FINAL LETTER P
++31B5;W # BOPOMOFO FINAL LETTER T
++31B6;W # BOPOMOFO FINAL LETTER K
++31B7;W # BOPOMOFO FINAL LETTER H
++31C0;W # CJK STROKE T
++31C1;W # CJK STROKE WG
++31C2;W # CJK STROKE XG
++31C3;W # CJK STROKE BXG
++31C4;W # CJK STROKE SW
++31C5;W # CJK STROKE HZZ
++31C6;W # CJK STROKE HZG
++31C7;W # CJK STROKE HP
++31C8;W # CJK STROKE HZWG
++31C9;W # CJK STROKE SZWG
++31CA;W # CJK STROKE HZT
++31CB;W # CJK STROKE HZZP
++31CC;W # CJK STROKE HPWG
++31CD;W # CJK STROKE HZW
++31CE;W # CJK STROKE HZZZ
++31CF;W # CJK STROKE N
++31D0;W # CJK STROKE H
++31D1;W # CJK STROKE S
++31D2;W # CJK STROKE P
++31D3;W # CJK STROKE SP
++31D4;W # CJK STROKE D
++31D5;W # CJK STROKE HZ
++31D6;W # CJK STROKE HG
++31D7;W # CJK STROKE SZ
++31D8;W # CJK STROKE SWZ
++31D9;W # CJK STROKE ST
++31DA;W # CJK STROKE SG
++31DB;W # CJK STROKE PD
++31DC;W # CJK STROKE PZ
++31DD;W # CJK STROKE TN
++31DE;W # CJK STROKE SZZ
++31DF;W # CJK STROKE SWG
++31E0;W # CJK STROKE HXWG
++31E1;W # CJK STROKE HZZZG
++31E2;W # CJK STROKE PG
++31E3;W # CJK STROKE Q
++31F0;W # KATAKANA LETTER SMALL KU
++31F1;W # KATAKANA LETTER SMALL SI
++31F2;W # KATAKANA LETTER SMALL SU
++31F3;W # KATAKANA LETTER SMALL TO
++31F4;W # KATAKANA LETTER SMALL NU
++31F5;W # KATAKANA LETTER SMALL HA
++31F6;W # KATAKANA LETTER SMALL HI
++31F7;W # KATAKANA LETTER SMALL HU
++31F8;W # KATAKANA LETTER SMALL HE
++31F9;W # KATAKANA LETTER SMALL HO
++31FA;W # KATAKANA LETTER SMALL MU
++31FB;W # KATAKANA LETTER SMALL RA
++31FC;W # KATAKANA LETTER SMALL RI
++31FD;W # KATAKANA LETTER SMALL RU
++31FE;W # KATAKANA LETTER SMALL RE
++31FF;W # KATAKANA LETTER SMALL RO
++3200;W # PARENTHESIZED HANGUL KIYEOK
++3201;W # PARENTHESIZED HANGUL NIEUN
++3202;W # PARENTHESIZED HANGUL TIKEUT
++3203;W # PARENTHESIZED HANGUL RIEUL
++3204;W # PARENTHESIZED HANGUL MIEUM
++3205;W # PARENTHESIZED HANGUL PIEUP
++3206;W # PARENTHESIZED HANGUL SIOS
++3207;W # PARENTHESIZED HANGUL IEUNG
++3208;W # PARENTHESIZED HANGUL CIEUC
++3209;W # PARENTHESIZED HANGUL CHIEUCH
++320A;W # PARENTHESIZED HANGUL KHIEUKH
++320B;W # PARENTHESIZED HANGUL THIEUTH
++320C;W # PARENTHESIZED HANGUL PHIEUPH
++320D;W # PARENTHESIZED HANGUL HIEUH
++320E;W # PARENTHESIZED HANGUL KIYEOK A
++320F;W # PARENTHESIZED HANGUL NIEUN A
++3210;W # PARENTHESIZED HANGUL TIKEUT A
++3211;W # PARENTHESIZED HANGUL RIEUL A
++3212;W # PARENTHESIZED HANGUL MIEUM A
++3213;W # PARENTHESIZED HANGUL PIEUP A
++3214;W # PARENTHESIZED HANGUL SIOS A
++3215;W # PARENTHESIZED HANGUL IEUNG A
++3216;W # PARENTHESIZED HANGUL CIEUC A
++3217;W # PARENTHESIZED HANGUL CHIEUCH A
++3218;W # PARENTHESIZED HANGUL KHIEUKH A
++3219;W # PARENTHESIZED HANGUL THIEUTH A
++321A;W # PARENTHESIZED HANGUL PHIEUPH A
++321B;W # PARENTHESIZED HANGUL HIEUH A
++321C;W # PARENTHESIZED HANGUL CIEUC U
++321D;W # PARENTHESIZED KOREAN CHARACTER OJEON
++321E;W # PARENTHESIZED KOREAN CHARACTER O HU
++3220;W # PARENTHESIZED IDEOGRAPH ONE
++3221;W # PARENTHESIZED IDEOGRAPH TWO
++3222;W # PARENTHESIZED IDEOGRAPH THREE
++3223;W # PARENTHESIZED IDEOGRAPH FOUR
++3224;W # PARENTHESIZED IDEOGRAPH FIVE
++3225;W # PARENTHESIZED IDEOGRAPH SIX
++3226;W # PARENTHESIZED IDEOGRAPH SEVEN
++3227;W # PARENTHESIZED IDEOGRAPH EIGHT
++3228;W # PARENTHESIZED IDEOGRAPH NINE
++3229;W # PARENTHESIZED IDEOGRAPH TEN
++322A;W # PARENTHESIZED IDEOGRAPH MOON
++322B;W # PARENTHESIZED IDEOGRAPH FIRE
++322C;W # PARENTHESIZED IDEOGRAPH WATER
++322D;W # PARENTHESIZED IDEOGRAPH WOOD
++322E;W # PARENTHESIZED IDEOGRAPH METAL
++322F;W # PARENTHESIZED IDEOGRAPH EARTH
++3230;W # PARENTHESIZED IDEOGRAPH SUN
++3231;W # PARENTHESIZED IDEOGRAPH STOCK
++3232;W # PARENTHESIZED IDEOGRAPH HAVE
++3233;W # PARENTHESIZED IDEOGRAPH SOCIETY
++3234;W # PARENTHESIZED IDEOGRAPH NAME
++3235;W # PARENTHESIZED IDEOGRAPH SPECIAL
++3236;W # PARENTHESIZED IDEOGRAPH FINANCIAL
++3237;W # PARENTHESIZED IDEOGRAPH CONGRATULATION
++3238;W # PARENTHESIZED IDEOGRAPH LABOR
++3239;W # PARENTHESIZED IDEOGRAPH REPRESENT
++323A;W # PARENTHESIZED IDEOGRAPH CALL
++323B;W # PARENTHESIZED IDEOGRAPH STUDY
++323C;W # PARENTHESIZED IDEOGRAPH SUPERVISE
++323D;W # PARENTHESIZED IDEOGRAPH ENTERPRISE
++323E;W # PARENTHESIZED IDEOGRAPH RESOURCE
++323F;W # PARENTHESIZED IDEOGRAPH ALLIANCE
++3240;W # PARENTHESIZED IDEOGRAPH FESTIVAL
++3241;W # PARENTHESIZED IDEOGRAPH REST
++3242;W # PARENTHESIZED IDEOGRAPH SELF
++3243;W # PARENTHESIZED IDEOGRAPH REACH
++3244;W # CIRCLED IDEOGRAPH QUESTION
++3245;W # CIRCLED IDEOGRAPH KINDERGARTEN
++3246;W # CIRCLED IDEOGRAPH SCHOOL
++3247;W # CIRCLED IDEOGRAPH KOTO
++3248;A # CIRCLED NUMBER TEN ON BLACK SQUARE
++3249;A # CIRCLED NUMBER TWENTY ON BLACK SQUARE
++324A;A # CIRCLED NUMBER THIRTY ON BLACK SQUARE
++324B;A # CIRCLED NUMBER FORTY ON BLACK SQUARE
++324C;A # CIRCLED NUMBER FIFTY ON BLACK SQUARE
++324D;A # CIRCLED NUMBER SIXTY ON BLACK SQUARE
++324E;A # CIRCLED NUMBER SEVENTY ON BLACK SQUARE
++324F;A # CIRCLED NUMBER EIGHTY ON BLACK SQUARE
++3250;W # PARTNERSHIP SIGN
++3251;W # CIRCLED NUMBER TWENTY ONE
++3252;W # CIRCLED NUMBER TWENTY TWO
++3253;W # CIRCLED NUMBER TWENTY THREE
++3254;W # CIRCLED NUMBER TWENTY FOUR
++3255;W # CIRCLED NUMBER TWENTY FIVE
++3256;W # CIRCLED NUMBER TWENTY SIX
++3257;W # CIRCLED NUMBER TWENTY SEVEN
++3258;W # CIRCLED NUMBER TWENTY EIGHT
++3259;W # CIRCLED NUMBER TWENTY NINE
++325A;W # CIRCLED NUMBER THIRTY
++325B;W # CIRCLED NUMBER THIRTY ONE
++325C;W # CIRCLED NUMBER THIRTY TWO
++325D;W # CIRCLED NUMBER THIRTY THREE
++325E;W # CIRCLED NUMBER THIRTY FOUR
++325F;W # CIRCLED NUMBER THIRTY FIVE
++3260;W # CIRCLED HANGUL KIYEOK
++3261;W # CIRCLED HANGUL NIEUN
++3262;W # CIRCLED HANGUL TIKEUT
++3263;W # CIRCLED HANGUL RIEUL
++3264;W # CIRCLED HANGUL MIEUM
++3265;W # CIRCLED HANGUL PIEUP
++3266;W # CIRCLED HANGUL SIOS
++3267;W # CIRCLED HANGUL IEUNG
++3268;W # CIRCLED HANGUL CIEUC
++3269;W # CIRCLED HANGUL CHIEUCH
++326A;W # CIRCLED HANGUL KHIEUKH
++326B;W # CIRCLED HANGUL THIEUTH
++326C;W # CIRCLED HANGUL PHIEUPH
++326D;W # CIRCLED HANGUL HIEUH
++326E;W # CIRCLED HANGUL KIYEOK A
++326F;W # CIRCLED HANGUL NIEUN A
++3270;W # CIRCLED HANGUL TIKEUT A
++3271;W # CIRCLED HANGUL RIEUL A
++3272;W # CIRCLED HANGUL MIEUM A
++3273;W # CIRCLED HANGUL PIEUP A
++3274;W # CIRCLED HANGUL SIOS A
++3275;W # CIRCLED HANGUL IEUNG A
++3276;W # CIRCLED HANGUL CIEUC A
++3277;W # CIRCLED HANGUL CHIEUCH A
++3278;W # CIRCLED HANGUL KHIEUKH A
++3279;W # CIRCLED HANGUL THIEUTH A
++327A;W # CIRCLED HANGUL PHIEUPH A
++327B;W # CIRCLED HANGUL HIEUH A
++327C;W # CIRCLED KOREAN CHARACTER CHAMKO
++327D;W # CIRCLED KOREAN CHARACTER JUEUI
++327E;W # CIRCLED HANGUL IEUNG U
++327F;W # KOREAN STANDARD SYMBOL
++3280;W # CIRCLED IDEOGRAPH ONE
++3281;W # CIRCLED IDEOGRAPH TWO
++3282;W # CIRCLED IDEOGRAPH THREE
++3283;W # CIRCLED IDEOGRAPH FOUR
++3284;W # CIRCLED IDEOGRAPH FIVE
++3285;W # CIRCLED IDEOGRAPH SIX
++3286;W # CIRCLED IDEOGRAPH SEVEN
++3287;W # CIRCLED IDEOGRAPH EIGHT
++3288;W # CIRCLED IDEOGRAPH NINE
++3289;W # CIRCLED IDEOGRAPH TEN
++328A;W # CIRCLED IDEOGRAPH MOON
++328B;W # CIRCLED IDEOGRAPH FIRE
++328C;W # CIRCLED IDEOGRAPH WATER
++328D;W # CIRCLED IDEOGRAPH WOOD
++328E;W # CIRCLED IDEOGRAPH METAL
++328F;W # CIRCLED IDEOGRAPH EARTH
++3290;W # CIRCLED IDEOGRAPH SUN
++3291;W # CIRCLED IDEOGRAPH STOCK
++3292;W # CIRCLED IDEOGRAPH HAVE
++3293;W # CIRCLED IDEOGRAPH SOCIETY
++3294;W # CIRCLED IDEOGRAPH NAME
++3295;W # CIRCLED IDEOGRAPH SPECIAL
++3296;W # CIRCLED IDEOGRAPH FINANCIAL
++3297;W # CIRCLED IDEOGRAPH CONGRATULATION
++3298;W # CIRCLED IDEOGRAPH LABOR
++3299;W # CIRCLED IDEOGRAPH SECRET
++329A;W # CIRCLED IDEOGRAPH MALE
++329B;W # CIRCLED IDEOGRAPH FEMALE
++329C;W # CIRCLED IDEOGRAPH SUITABLE
++329D;W # CIRCLED IDEOGRAPH EXCELLENT
++329E;W # CIRCLED IDEOGRAPH PRINT
++329F;W # CIRCLED IDEOGRAPH ATTENTION
++32A0;W # CIRCLED IDEOGRAPH ITEM
++32A1;W # CIRCLED IDEOGRAPH REST
++32A2;W # CIRCLED IDEOGRAPH COPY
++32A3;W # CIRCLED IDEOGRAPH CORRECT
++32A4;W # CIRCLED IDEOGRAPH HIGH
++32A5;W # CIRCLED IDEOGRAPH CENTRE
++32A6;W # CIRCLED IDEOGRAPH LOW
++32A7;W # CIRCLED IDEOGRAPH LEFT
++32A8;W # CIRCLED IDEOGRAPH RIGHT
++32A9;W # CIRCLED IDEOGRAPH MEDICINE
++32AA;W # CIRCLED IDEOGRAPH RELIGION
++32AB;W # CIRCLED IDEOGRAPH STUDY
++32AC;W # CIRCLED IDEOGRAPH SUPERVISE
++32AD;W # CIRCLED IDEOGRAPH ENTERPRISE
++32AE;W # CIRCLED IDEOGRAPH RESOURCE
++32AF;W # CIRCLED IDEOGRAPH ALLIANCE
++32B0;W # CIRCLED IDEOGRAPH NIGHT
++32B1;W # CIRCLED NUMBER THIRTY SIX
++32B2;W # CIRCLED NUMBER THIRTY SEVEN
++32B3;W # CIRCLED NUMBER THIRTY EIGHT
++32B4;W # CIRCLED NUMBER THIRTY NINE
++32B5;W # CIRCLED NUMBER FORTY
++32B6;W # CIRCLED NUMBER FORTY ONE
++32B7;W # CIRCLED NUMBER FORTY TWO
++32B8;W # CIRCLED NUMBER FORTY THREE
++32B9;W # CIRCLED NUMBER FORTY FOUR
++32BA;W # CIRCLED NUMBER FORTY FIVE
++32BB;W # CIRCLED NUMBER FORTY SIX
++32BC;W # CIRCLED NUMBER FORTY SEVEN
++32BD;W # CIRCLED NUMBER FORTY EIGHT
++32BE;W # CIRCLED NUMBER FORTY NINE
++32BF;W # CIRCLED NUMBER FIFTY
++32C0;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
++32C1;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
++32C2;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
++32C3;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
++32C4;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
++32C5;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
++32C6;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
++32C7;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
++32C8;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
++32C9;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
++32CA;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
++32CB;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
++32CC;W # SQUARE HG
++32CD;W # SQUARE ERG
++32CE;W # SQUARE EV
++32CF;W # LIMITED LIABILITY SIGN
++32D0;W # CIRCLED KATAKANA A
++32D1;W # CIRCLED KATAKANA I
++32D2;W # CIRCLED KATAKANA U
++32D3;W # CIRCLED KATAKANA E
++32D4;W # CIRCLED KATAKANA O
++32D5;W # CIRCLED KATAKANA KA
++32D6;W # CIRCLED KATAKANA KI
++32D7;W # CIRCLED KATAKANA KU
++32D8;W # CIRCLED KATAKANA KE
++32D9;W # CIRCLED KATAKANA KO
++32DA;W # CIRCLED KATAKANA SA
++32DB;W # CIRCLED KATAKANA SI
++32DC;W # CIRCLED KATAKANA SU
++32DD;W # CIRCLED KATAKANA SE
++32DE;W # CIRCLED KATAKANA SO
++32DF;W # CIRCLED KATAKANA TA
++32E0;W # CIRCLED KATAKANA TI
++32E1;W # CIRCLED KATAKANA TU
++32E2;W # CIRCLED KATAKANA TE
++32E3;W # CIRCLED KATAKANA TO
++32E4;W # CIRCLED KATAKANA NA
++32E5;W # CIRCLED KATAKANA NI
++32E6;W # CIRCLED KATAKANA NU
++32E7;W # CIRCLED KATAKANA NE
++32E8;W # CIRCLED KATAKANA NO
++32E9;W # CIRCLED KATAKANA HA
++32EA;W # CIRCLED KATAKANA HI
++32EB;W # CIRCLED KATAKANA HU
++32EC;W # CIRCLED KATAKANA HE
++32ED;W # CIRCLED KATAKANA HO
++32EE;W # CIRCLED KATAKANA MA
++32EF;W # CIRCLED KATAKANA MI
++32F0;W # CIRCLED KATAKANA MU
++32F1;W # CIRCLED KATAKANA ME
++32F2;W # CIRCLED KATAKANA MO
++32F3;W # CIRCLED KATAKANA YA
++32F4;W # CIRCLED KATAKANA YU
++32F5;W # CIRCLED KATAKANA YO
++32F6;W # CIRCLED KATAKANA RA
++32F7;W # CIRCLED KATAKANA RI
++32F8;W # CIRCLED KATAKANA RU
++32F9;W # CIRCLED KATAKANA RE
++32FA;W # CIRCLED KATAKANA RO
++32FB;W # CIRCLED KATAKANA WA
++32FC;W # CIRCLED KATAKANA WI
++32FD;W # CIRCLED KATAKANA WE
++32FE;W # CIRCLED KATAKANA WO
++3300;W # SQUARE APAATO
++3301;W # SQUARE ARUHUA
++3302;W # SQUARE ANPEA
++3303;W # SQUARE AARU
++3304;W # SQUARE ININGU
++3305;W # SQUARE INTI
++3306;W # SQUARE UON
++3307;W # SQUARE ESUKUUDO
++3308;W # SQUARE EEKAA
++3309;W # SQUARE ONSU
++330A;W # SQUARE OOMU
++330B;W # SQUARE KAIRI
++330C;W # SQUARE KARATTO
++330D;W # SQUARE KARORII
++330E;W # SQUARE GARON
++330F;W # SQUARE GANMA
++3310;W # SQUARE GIGA
++3311;W # SQUARE GINII
++3312;W # SQUARE KYURII
++3313;W # SQUARE GIRUDAA
++3314;W # SQUARE KIRO
++3315;W # SQUARE KIROGURAMU
++3316;W # SQUARE KIROMEETORU
++3317;W # SQUARE KIROWATTO
++3318;W # SQUARE GURAMU
++3319;W # SQUARE GURAMUTON
++331A;W # SQUARE KURUZEIRO
++331B;W # SQUARE KUROONE
++331C;W # SQUARE KEESU
++331D;W # SQUARE KORUNA
++331E;W # SQUARE KOOPO
++331F;W # SQUARE SAIKURU
++3320;W # SQUARE SANTIIMU
++3321;W # SQUARE SIRINGU
++3322;W # SQUARE SENTI
++3323;W # SQUARE SENTO
++3324;W # SQUARE DAASU
++3325;W # SQUARE DESI
++3326;W # SQUARE DORU
++3327;W # SQUARE TON
++3328;W # SQUARE NANO
++3329;W # SQUARE NOTTO
++332A;W # SQUARE HAITU
++332B;W # SQUARE PAASENTO
++332C;W # SQUARE PAATU
++332D;W # SQUARE BAARERU
++332E;W # SQUARE PIASUTORU
++332F;W # SQUARE PIKURU
++3330;W # SQUARE PIKO
++3331;W # SQUARE BIRU
++3332;W # SQUARE HUARADDO
++3333;W # SQUARE HUIITO
++3334;W # SQUARE BUSSYERU
++3335;W # SQUARE HURAN
++3336;W # SQUARE HEKUTAARU
++3337;W # SQUARE PESO
++3338;W # SQUARE PENIHI
++3339;W # SQUARE HERUTU
++333A;W # SQUARE PENSU
++333B;W # SQUARE PEEZI
++333C;W # SQUARE BEETA
++333D;W # SQUARE POINTO
++333E;W # SQUARE BORUTO
++333F;W # SQUARE HON
++3340;W # SQUARE PONDO
++3341;W # SQUARE HOORU
++3342;W # SQUARE HOON
++3343;W # SQUARE MAIKURO
++3344;W # SQUARE MAIRU
++3345;W # SQUARE MAHHA
++3346;W # SQUARE MARUKU
++3347;W # SQUARE MANSYON
++3348;W # SQUARE MIKURON
++3349;W # SQUARE MIRI
++334A;W # SQUARE MIRIBAARU
++334B;W # SQUARE MEGA
++334C;W # SQUARE MEGATON
++334D;W # SQUARE MEETORU
++334E;W # SQUARE YAADO
++334F;W # SQUARE YAARU
++3350;W # SQUARE YUAN
++3351;W # SQUARE RITTORU
++3352;W # SQUARE RIRA
++3353;W # SQUARE RUPII
++3354;W # SQUARE RUUBURU
++3355;W # SQUARE REMU
++3356;W # SQUARE RENTOGEN
++3357;W # SQUARE WATTO
++3358;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
++3359;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
++335A;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
++335B;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
++335C;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
++335D;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
++335E;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
++335F;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
++3360;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
++3361;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
++3362;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
++3363;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
++3364;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
++3365;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
++3366;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
++3367;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
++3368;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
++3369;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
++336A;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
++336B;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
++336C;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
++336D;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
++336E;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
++336F;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
++3370;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
++3371;W # SQUARE HPA
++3372;W # SQUARE DA
++3373;W # SQUARE AU
++3374;W # SQUARE BAR
++3375;W # SQUARE OV
++3376;W # SQUARE PC
++3377;W # SQUARE DM
++3378;W # SQUARE DM SQUARED
++3379;W # SQUARE DM CUBED
++337A;W # SQUARE IU
++337B;W # SQUARE ERA NAME HEISEI
++337C;W # SQUARE ERA NAME SYOUWA
++337D;W # SQUARE ERA NAME TAISYOU
++337E;W # SQUARE ERA NAME MEIZI
++337F;W # SQUARE CORPORATION
++3380;W # SQUARE PA AMPS
++3381;W # SQUARE NA
++3382;W # SQUARE MU A
++3383;W # SQUARE MA
++3384;W # SQUARE KA
++3385;W # SQUARE KB
++3386;W # SQUARE MB
++3387;W # SQUARE GB
++3388;W # SQUARE CAL
++3389;W # SQUARE KCAL
++338A;W # SQUARE PF
++338B;W # SQUARE NF
++338C;W # SQUARE MU F
++338D;W # SQUARE MU G
++338E;W # SQUARE MG
++338F;W # SQUARE KG
++3390;W # SQUARE HZ
++3391;W # SQUARE KHZ
++3392;W # SQUARE MHZ
++3393;W # SQUARE GHZ
++3394;W # SQUARE THZ
++3395;W # SQUARE MU L
++3396;W # SQUARE ML
++3397;W # SQUARE DL
++3398;W # SQUARE KL
++3399;W # SQUARE FM
++339A;W # SQUARE NM
++339B;W # SQUARE MU M
++339C;W # SQUARE MM
++339D;W # SQUARE CM
++339E;W # SQUARE KM
++339F;W # SQUARE MM SQUARED
++33A0;W # SQUARE CM SQUARED
++33A1;W # SQUARE M SQUARED
++33A2;W # SQUARE KM SQUARED
++33A3;W # SQUARE MM CUBED
++33A4;W # SQUARE CM CUBED
++33A5;W # SQUARE M CUBED
++33A6;W # SQUARE KM CUBED
++33A7;W # SQUARE M OVER S
++33A8;W # SQUARE M OVER S SQUARED
++33A9;W # SQUARE PA
++33AA;W # SQUARE KPA
++33AB;W # SQUARE MPA
++33AC;W # SQUARE GPA
++33AD;W # SQUARE RAD
++33AE;W # SQUARE RAD OVER S
++33AF;W # SQUARE RAD OVER S SQUARED
++33B0;W # SQUARE PS
++33B1;W # SQUARE NS
++33B2;W # SQUARE MU S
++33B3;W # SQUARE MS
++33B4;W # SQUARE PV
++33B5;W # SQUARE NV
++33B6;W # SQUARE MU V
++33B7;W # SQUARE MV
++33B8;W # SQUARE KV
++33B9;W # SQUARE MV MEGA
++33BA;W # SQUARE PW
++33BB;W # SQUARE NW
++33BC;W # SQUARE MU W
++33BD;W # SQUARE MW
++33BE;W # SQUARE KW
++33BF;W # SQUARE MW MEGA
++33C0;W # SQUARE K OHM
++33C1;W # SQUARE M OHM
++33C2;W # SQUARE AM
++33C3;W # SQUARE BQ
++33C4;W # SQUARE CC
++33C5;W # SQUARE CD
++33C6;W # SQUARE C OVER KG
++33C7;W # SQUARE CO
++33C8;W # SQUARE DB
++33C9;W # SQUARE GY
++33CA;W # SQUARE HA
++33CB;W # SQUARE HP
++33CC;W # SQUARE IN
++33CD;W # SQUARE KK
++33CE;W # SQUARE KM CAPITAL
++33CF;W # SQUARE KT
++33D0;W # SQUARE LM
++33D1;W # SQUARE LN
++33D2;W # SQUARE LOG
++33D3;W # SQUARE LX
++33D4;W # SQUARE MB SMALL
++33D5;W # SQUARE MIL
++33D6;W # SQUARE MOL
++33D7;W # SQUARE PH
++33D8;W # SQUARE PM
++33D9;W # SQUARE PPM
++33DA;W # SQUARE PR
++33DB;W # SQUARE SR
++33DC;W # SQUARE SV
++33DD;W # SQUARE WB
++33DE;W # SQUARE V OVER M
++33DF;W # SQUARE A OVER M
++33E0;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
++33E1;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
++33E2;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
++33E3;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
++33E4;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
++33E5;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
++33E6;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
++33E7;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
++33E8;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
++33E9;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
++33EA;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
++33EB;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
++33EC;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
++33ED;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
++33EE;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
++33EF;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
++33F0;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
++33F1;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
++33F2;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
++33F3;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
++33F4;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
++33F5;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
++33F6;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
++33F7;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
++33F8;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
++33F9;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
++33FA;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
++33FB;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
++33FC;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
++33FD;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
++33FE;W # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
++33FF;W # SQUARE GAL
++3400..4DB5;W # <CJK Ideograph Extension A, First>..<CJK Ideograph Extension A, Last>
++4DB6..4DBF;W # <reserved-4DB6>..<reserved-4DBF>
++4DC0;N # HEXAGRAM FOR THE CREATIVE HEAVEN
++4DC1;N # HEXAGRAM FOR THE RECEPTIVE EARTH
++4DC2;N # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
++4DC3;N # HEXAGRAM FOR YOUTHFUL FOLLY
++4DC4;N # HEXAGRAM FOR WAITING
++4DC5;N # HEXAGRAM FOR CONFLICT
++4DC6;N # HEXAGRAM FOR THE ARMY
++4DC7;N # HEXAGRAM FOR HOLDING TOGETHER
++4DC8;N # HEXAGRAM FOR SMALL TAMING
++4DC9;N # HEXAGRAM FOR TREADING
++4DCA;N # HEXAGRAM FOR PEACE
++4DCB;N # HEXAGRAM FOR STANDSTILL
++4DCC;N # HEXAGRAM FOR FELLOWSHIP
++4DCD;N # HEXAGRAM FOR GREAT POSSESSION
++4DCE;N # HEXAGRAM FOR MODESTY
++4DCF;N # HEXAGRAM FOR ENTHUSIASM
++4DD0;N # HEXAGRAM FOR FOLLOWING
++4DD1;N # HEXAGRAM FOR WORK ON THE DECAYED
++4DD2;N # HEXAGRAM FOR APPROACH
++4DD3;N # HEXAGRAM FOR CONTEMPLATION
++4DD4;N # HEXAGRAM FOR BITING THROUGH
++4DD5;N # HEXAGRAM FOR GRACE
++4DD6;N # HEXAGRAM FOR SPLITTING APART
++4DD7;N # HEXAGRAM FOR RETURN
++4DD8;N # HEXAGRAM FOR INNOCENCE
++4DD9;N # HEXAGRAM FOR GREAT TAMING
++4DDA;N # HEXAGRAM FOR MOUTH CORNERS
++4DDB;N # HEXAGRAM FOR GREAT PREPONDERANCE
++4DDC;N # HEXAGRAM FOR THE ABYSMAL WATER
++4DDD;N # HEXAGRAM FOR THE CLINGING FIRE
++4DDE;N # HEXAGRAM FOR INFLUENCE
++4DDF;N # HEXAGRAM FOR DURATION
++4DE0;N # HEXAGRAM FOR RETREAT
++4DE1;N # HEXAGRAM FOR GREAT POWER
++4DE2;N # HEXAGRAM FOR PROGRESS
++4DE3;N # HEXAGRAM FOR DARKENING OF THE LIGHT
++4DE4;N # HEXAGRAM FOR THE FAMILY
++4DE5;N # HEXAGRAM FOR OPPOSITION
++4DE6;N # HEXAGRAM FOR OBSTRUCTION
++4DE7;N # HEXAGRAM FOR DELIVERANCE
++4DE8;N # HEXAGRAM FOR DECREASE
++4DE9;N # HEXAGRAM FOR INCREASE
++4DEA;N # HEXAGRAM FOR BREAKTHROUGH
++4DEB;N # HEXAGRAM FOR COMING TO MEET
++4DEC;N # HEXAGRAM FOR GATHERING TOGETHER
++4DED;N # HEXAGRAM FOR PUSHING UPWARD
++4DEE;N # HEXAGRAM FOR OPPRESSION
++4DEF;N # HEXAGRAM FOR THE WELL
++4DF0;N # HEXAGRAM FOR REVOLUTION
++4DF1;N # HEXAGRAM FOR THE CAULDRON
++4DF2;N # HEXAGRAM FOR THE AROUSING THUNDER
++4DF3;N # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
++4DF4;N # HEXAGRAM FOR DEVELOPMENT
++4DF5;N # HEXAGRAM FOR THE MARRYING MAIDEN
++4DF6;N # HEXAGRAM FOR ABUNDANCE
++4DF7;N # HEXAGRAM FOR THE WANDERER
++4DF8;N # HEXAGRAM FOR THE GENTLE WIND
++4DF9;N # HEXAGRAM FOR THE JOYOUS LAKE
++4DFA;N # HEXAGRAM FOR DISPERSION
++4DFB;N # HEXAGRAM FOR LIMITATION
++4DFC;N # HEXAGRAM FOR INNER TRUTH
++4DFD;N # HEXAGRAM FOR SMALL PREPONDERANCE
++4DFE;N # HEXAGRAM FOR AFTER COMPLETION
++4DFF;N # HEXAGRAM FOR BEFORE COMPLETION
++4E00..9FCB;W # <CJK Ideograph, First>..<CJK Ideograph, Last>
++9FCC..9FFF;W # <reserved-9FCC>..<reserved-9FFF>
++A000;W # YI SYLLABLE IT
++A001;W # YI SYLLABLE IX
++A002;W # YI SYLLABLE I
++A003;W # YI SYLLABLE IP
++A004;W # YI SYLLABLE IET
++A005;W # YI SYLLABLE IEX
++A006;W # YI SYLLABLE IE
++A007;W # YI SYLLABLE IEP
++A008;W # YI SYLLABLE AT
++A009;W # YI SYLLABLE AX
++A00A;W # YI SYLLABLE A
++A00B;W # YI SYLLABLE AP
++A00C;W # YI SYLLABLE UOX
++A00D;W # YI SYLLABLE UO
++A00E;W # YI SYLLABLE UOP
++A00F;W # YI SYLLABLE OT
++A010;W # YI SYLLABLE OX
++A011;W # YI SYLLABLE O
++A012;W # YI SYLLABLE OP
++A013;W # YI SYLLABLE EX
++A014;W # YI SYLLABLE E
++A015;W # YI SYLLABLE WU
++A016;W # YI SYLLABLE BIT
++A017;W # YI SYLLABLE BIX
++A018;W # YI SYLLABLE BI
++A019;W # YI SYLLABLE BIP
++A01A;W # YI SYLLABLE BIET
++A01B;W # YI SYLLABLE BIEX
++A01C;W # YI SYLLABLE BIE
++A01D;W # YI SYLLABLE BIEP
++A01E;W # YI SYLLABLE BAT
++A01F;W # YI SYLLABLE BAX
++A020;W # YI SYLLABLE BA
++A021;W # YI SYLLABLE BAP
++A022;W # YI SYLLABLE BUOX
++A023;W # YI SYLLABLE BUO
++A024;W # YI SYLLABLE BUOP
++A025;W # YI SYLLABLE BOT
++A026;W # YI SYLLABLE BOX
++A027;W # YI SYLLABLE BO
++A028;W # YI SYLLABLE BOP
++A029;W # YI SYLLABLE BEX
++A02A;W # YI SYLLABLE BE
++A02B;W # YI SYLLABLE BEP
++A02C;W # YI SYLLABLE BUT
++A02D;W # YI SYLLABLE BUX
++A02E;W # YI SYLLABLE BU
++A02F;W # YI SYLLABLE BUP
++A030;W # YI SYLLABLE BURX
++A031;W # YI SYLLABLE BUR
++A032;W # YI SYLLABLE BYT
++A033;W # YI SYLLABLE BYX
++A034;W # YI SYLLABLE BY
++A035;W # YI SYLLABLE BYP
++A036;W # YI SYLLABLE BYRX
++A037;W # YI SYLLABLE BYR
++A038;W # YI SYLLABLE PIT
++A039;W # YI SYLLABLE PIX
++A03A;W # YI SYLLABLE PI
++A03B;W # YI SYLLABLE PIP
++A03C;W # YI SYLLABLE PIEX
++A03D;W # YI SYLLABLE PIE
++A03E;W # YI SYLLABLE PIEP
++A03F;W # YI SYLLABLE PAT
++A040;W # YI SYLLABLE PAX
++A041;W # YI SYLLABLE PA
++A042;W # YI SYLLABLE PAP
++A043;W # YI SYLLABLE PUOX
++A044;W # YI SYLLABLE PUO
++A045;W # YI SYLLABLE PUOP
++A046;W # YI SYLLABLE POT
++A047;W # YI SYLLABLE POX
++A048;W # YI SYLLABLE PO
++A049;W # YI SYLLABLE POP
++A04A;W # YI SYLLABLE PUT
++A04B;W # YI SYLLABLE PUX
++A04C;W # YI SYLLABLE PU
++A04D;W # YI SYLLABLE PUP
++A04E;W # YI SYLLABLE PURX
++A04F;W # YI SYLLABLE PUR
++A050;W # YI SYLLABLE PYT
++A051;W # YI SYLLABLE PYX
++A052;W # YI SYLLABLE PY
++A053;W # YI SYLLABLE PYP
++A054;W # YI SYLLABLE PYRX
++A055;W # YI SYLLABLE PYR
++A056;W # YI SYLLABLE BBIT
++A057;W # YI SYLLABLE BBIX
++A058;W # YI SYLLABLE BBI
++A059;W # YI SYLLABLE BBIP
++A05A;W # YI SYLLABLE BBIET
++A05B;W # YI SYLLABLE BBIEX
++A05C;W # YI SYLLABLE BBIE
++A05D;W # YI SYLLABLE BBIEP
++A05E;W # YI SYLLABLE BBAT
++A05F;W # YI SYLLABLE BBAX
++A060;W # YI SYLLABLE BBA
++A061;W # YI SYLLABLE BBAP
++A062;W # YI SYLLABLE BBUOX
++A063;W # YI SYLLABLE BBUO
++A064;W # YI SYLLABLE BBUOP
++A065;W # YI SYLLABLE BBOT
++A066;W # YI SYLLABLE BBOX
++A067;W # YI SYLLABLE BBO
++A068;W # YI SYLLABLE BBOP
++A069;W # YI SYLLABLE BBEX
++A06A;W # YI SYLLABLE BBE
++A06B;W # YI SYLLABLE BBEP
++A06C;W # YI SYLLABLE BBUT
++A06D;W # YI SYLLABLE BBUX
++A06E;W # YI SYLLABLE BBU
++A06F;W # YI SYLLABLE BBUP
++A070;W # YI SYLLABLE BBURX
++A071;W # YI SYLLABLE BBUR
++A072;W # YI SYLLABLE BBYT
++A073;W # YI SYLLABLE BBYX
++A074;W # YI SYLLABLE BBY
++A075;W # YI SYLLABLE BBYP
++A076;W # YI SYLLABLE NBIT
++A077;W # YI SYLLABLE NBIX
++A078;W # YI SYLLABLE NBI
++A079;W # YI SYLLABLE NBIP
++A07A;W # YI SYLLABLE NBIEX
++A07B;W # YI SYLLABLE NBIE
++A07C;W # YI SYLLABLE NBIEP
++A07D;W # YI SYLLABLE NBAT
++A07E;W # YI SYLLABLE NBAX
++A07F;W # YI SYLLABLE NBA
++A080;W # YI SYLLABLE NBAP
++A081;W # YI SYLLABLE NBOT
++A082;W # YI SYLLABLE NBOX
++A083;W # YI SYLLABLE NBO
++A084;W # YI SYLLABLE NBOP
++A085;W # YI SYLLABLE NBUT
++A086;W # YI SYLLABLE NBUX
++A087;W # YI SYLLABLE NBU
++A088;W # YI SYLLABLE NBUP
++A089;W # YI SYLLABLE NBURX
++A08A;W # YI SYLLABLE NBUR
++A08B;W # YI SYLLABLE NBYT
++A08C;W # YI SYLLABLE NBYX
++A08D;W # YI SYLLABLE NBY
++A08E;W # YI SYLLABLE NBYP
++A08F;W # YI SYLLABLE NBYRX
++A090;W # YI SYLLABLE NBYR
++A091;W # YI SYLLABLE HMIT
++A092;W # YI SYLLABLE HMIX
++A093;W # YI SYLLABLE HMI
++A094;W # YI SYLLABLE HMIP
++A095;W # YI SYLLABLE HMIEX
++A096;W # YI SYLLABLE HMIE
++A097;W # YI SYLLABLE HMIEP
++A098;W # YI SYLLABLE HMAT
++A099;W # YI SYLLABLE HMAX
++A09A;W # YI SYLLABLE HMA
++A09B;W # YI SYLLABLE HMAP
++A09C;W # YI SYLLABLE HMUOX
++A09D;W # YI SYLLABLE HMUO
++A09E;W # YI SYLLABLE HMUOP
++A09F;W # YI SYLLABLE HMOT
++A0A0;W # YI SYLLABLE HMOX
++A0A1;W # YI SYLLABLE HMO
++A0A2;W # YI SYLLABLE HMOP
++A0A3;W # YI SYLLABLE HMUT
++A0A4;W # YI SYLLABLE HMUX
++A0A5;W # YI SYLLABLE HMU
++A0A6;W # YI SYLLABLE HMUP
++A0A7;W # YI SYLLABLE HMURX
++A0A8;W # YI SYLLABLE HMUR
++A0A9;W # YI SYLLABLE HMYX
++A0AA;W # YI SYLLABLE HMY
++A0AB;W # YI SYLLABLE HMYP
++A0AC;W # YI SYLLABLE HMYRX
++A0AD;W # YI SYLLABLE HMYR
++A0AE;W # YI SYLLABLE MIT
++A0AF;W # YI SYLLABLE MIX
++A0B0;W # YI SYLLABLE MI
++A0B1;W # YI SYLLABLE MIP
++A0B2;W # YI SYLLABLE MIEX
++A0B3;W # YI SYLLABLE MIE
++A0B4;W # YI SYLLABLE MIEP
++A0B5;W # YI SYLLABLE MAT
++A0B6;W # YI SYLLABLE MAX
++A0B7;W # YI SYLLABLE MA
++A0B8;W # YI SYLLABLE MAP
++A0B9;W # YI SYLLABLE MUOT
++A0BA;W # YI SYLLABLE MUOX
++A0BB;W # YI SYLLABLE MUO
++A0BC;W # YI SYLLABLE MUOP
++A0BD;W # YI SYLLABLE MOT
++A0BE;W # YI SYLLABLE MOX
++A0BF;W # YI SYLLABLE MO
++A0C0;W # YI SYLLABLE MOP
++A0C1;W # YI SYLLABLE MEX
++A0C2;W # YI SYLLABLE ME
++A0C3;W # YI SYLLABLE MUT
++A0C4;W # YI SYLLABLE MUX
++A0C5;W # YI SYLLABLE MU
++A0C6;W # YI SYLLABLE MUP
++A0C7;W # YI SYLLABLE MURX
++A0C8;W # YI SYLLABLE MUR
++A0C9;W # YI SYLLABLE MYT
++A0CA;W # YI SYLLABLE MYX
++A0CB;W # YI SYLLABLE MY
++A0CC;W # YI SYLLABLE MYP
++A0CD;W # YI SYLLABLE FIT
++A0CE;W # YI SYLLABLE FIX
++A0CF;W # YI SYLLABLE FI
++A0D0;W # YI SYLLABLE FIP
++A0D1;W # YI SYLLABLE FAT
++A0D2;W # YI SYLLABLE FAX
++A0D3;W # YI SYLLABLE FA
++A0D4;W # YI SYLLABLE FAP
++A0D5;W # YI SYLLABLE FOX
++A0D6;W # YI SYLLABLE FO
++A0D7;W # YI SYLLABLE FOP
++A0D8;W # YI SYLLABLE FUT
++A0D9;W # YI SYLLABLE FUX
++A0DA;W # YI SYLLABLE FU
++A0DB;W # YI SYLLABLE FUP
++A0DC;W # YI SYLLABLE FURX
++A0DD;W # YI SYLLABLE FUR
++A0DE;W # YI SYLLABLE FYT
++A0DF;W # YI SYLLABLE FYX
++A0E0;W # YI SYLLABLE FY
++A0E1;W # YI SYLLABLE FYP
++A0E2;W # YI SYLLABLE VIT
++A0E3;W # YI SYLLABLE VIX
++A0E4;W # YI SYLLABLE VI
++A0E5;W # YI SYLLABLE VIP
++A0E6;W # YI SYLLABLE VIET
++A0E7;W # YI SYLLABLE VIEX
++A0E8;W # YI SYLLABLE VIE
++A0E9;W # YI SYLLABLE VIEP
++A0EA;W # YI SYLLABLE VAT
++A0EB;W # YI SYLLABLE VAX
++A0EC;W # YI SYLLABLE VA
++A0ED;W # YI SYLLABLE VAP
++A0EE;W # YI SYLLABLE VOT
++A0EF;W # YI SYLLABLE VOX
++A0F0;W # YI SYLLABLE VO
++A0F1;W # YI SYLLABLE VOP
++A0F2;W # YI SYLLABLE VEX
++A0F3;W # YI SYLLABLE VEP
++A0F4;W # YI SYLLABLE VUT
++A0F5;W # YI SYLLABLE VUX
++A0F6;W # YI SYLLABLE VU
++A0F7;W # YI SYLLABLE VUP
++A0F8;W # YI SYLLABLE VURX
++A0F9;W # YI SYLLABLE VUR
++A0FA;W # YI SYLLABLE VYT
++A0FB;W # YI SYLLABLE VYX
++A0FC;W # YI SYLLABLE VY
++A0FD;W # YI SYLLABLE VYP
++A0FE;W # YI SYLLABLE VYRX
++A0FF;W # YI SYLLABLE VYR
++A100;W # YI SYLLABLE DIT
++A101;W # YI SYLLABLE DIX
++A102;W # YI SYLLABLE DI
++A103;W # YI SYLLABLE DIP
++A104;W # YI SYLLABLE DIEX
++A105;W # YI SYLLABLE DIE
++A106;W # YI SYLLABLE DIEP
++A107;W # YI SYLLABLE DAT
++A108;W # YI SYLLABLE DAX
++A109;W # YI SYLLABLE DA
++A10A;W # YI SYLLABLE DAP
++A10B;W # YI SYLLABLE DUOX
++A10C;W # YI SYLLABLE DUO
++A10D;W # YI SYLLABLE DOT
++A10E;W # YI SYLLABLE DOX
++A10F;W # YI SYLLABLE DO
++A110;W # YI SYLLABLE DOP
++A111;W # YI SYLLABLE DEX
++A112;W # YI SYLLABLE DE
++A113;W # YI SYLLABLE DEP
++A114;W # YI SYLLABLE DUT
++A115;W # YI SYLLABLE DUX
++A116;W # YI SYLLABLE DU
++A117;W # YI SYLLABLE DUP
++A118;W # YI SYLLABLE DURX
++A119;W # YI SYLLABLE DUR
++A11A;W # YI SYLLABLE TIT
++A11B;W # YI SYLLABLE TIX
++A11C;W # YI SYLLABLE TI
++A11D;W # YI SYLLABLE TIP
++A11E;W # YI SYLLABLE TIEX
++A11F;W # YI SYLLABLE TIE
++A120;W # YI SYLLABLE TIEP
++A121;W # YI SYLLABLE TAT
++A122;W # YI SYLLABLE TAX
++A123;W # YI SYLLABLE TA
++A124;W # YI SYLLABLE TAP
++A125;W # YI SYLLABLE TUOT
++A126;W # YI SYLLABLE TUOX
++A127;W # YI SYLLABLE TUO
++A128;W # YI SYLLABLE TUOP
++A129;W # YI SYLLABLE TOT
++A12A;W # YI SYLLABLE TOX
++A12B;W # YI SYLLABLE TO
++A12C;W # YI SYLLABLE TOP
++A12D;W # YI SYLLABLE TEX
++A12E;W # YI SYLLABLE TE
++A12F;W # YI SYLLABLE TEP
++A130;W # YI SYLLABLE TUT
++A131;W # YI SYLLABLE TUX
++A132;W # YI SYLLABLE TU
++A133;W # YI SYLLABLE TUP
++A134;W # YI SYLLABLE TURX
++A135;W # YI SYLLABLE TUR
++A136;W # YI SYLLABLE DDIT
++A137;W # YI SYLLABLE DDIX
++A138;W # YI SYLLABLE DDI
++A139;W # YI SYLLABLE DDIP
++A13A;W # YI SYLLABLE DDIEX
++A13B;W # YI SYLLABLE DDIE
++A13C;W # YI SYLLABLE DDIEP
++A13D;W # YI SYLLABLE DDAT
++A13E;W # YI SYLLABLE DDAX
++A13F;W # YI SYLLABLE DDA
++A140;W # YI SYLLABLE DDAP
++A141;W # YI SYLLABLE DDUOX
++A142;W # YI SYLLABLE DDUO
++A143;W # YI SYLLABLE DDUOP
++A144;W # YI SYLLABLE DDOT
++A145;W # YI SYLLABLE DDOX
++A146;W # YI SYLLABLE DDO
++A147;W # YI SYLLABLE DDOP
++A148;W # YI SYLLABLE DDEX
++A149;W # YI SYLLABLE DDE
++A14A;W # YI SYLLABLE DDEP
++A14B;W # YI SYLLABLE DDUT
++A14C;W # YI SYLLABLE DDUX
++A14D;W # YI SYLLABLE DDU
++A14E;W # YI SYLLABLE DDUP
++A14F;W # YI SYLLABLE DDURX
++A150;W # YI SYLLABLE DDUR
++A151;W # YI SYLLABLE NDIT
++A152;W # YI SYLLABLE NDIX
++A153;W # YI SYLLABLE NDI
++A154;W # YI SYLLABLE NDIP
++A155;W # YI SYLLABLE NDIEX
++A156;W # YI SYLLABLE NDIE
++A157;W # YI SYLLABLE NDAT
++A158;W # YI SYLLABLE NDAX
++A159;W # YI SYLLABLE NDA
++A15A;W # YI SYLLABLE NDAP
++A15B;W # YI SYLLABLE NDOT
++A15C;W # YI SYLLABLE NDOX
++A15D;W # YI SYLLABLE NDO
++A15E;W # YI SYLLABLE NDOP
++A15F;W # YI SYLLABLE NDEX
++A160;W # YI SYLLABLE NDE
++A161;W # YI SYLLABLE NDEP
++A162;W # YI SYLLABLE NDUT
++A163;W # YI SYLLABLE NDUX
++A164;W # YI SYLLABLE NDU
++A165;W # YI SYLLABLE NDUP
++A166;W # YI SYLLABLE NDURX
++A167;W # YI SYLLABLE NDUR
++A168;W # YI SYLLABLE HNIT
++A169;W # YI SYLLABLE HNIX
++A16A;W # YI SYLLABLE HNI
++A16B;W # YI SYLLABLE HNIP
++A16C;W # YI SYLLABLE HNIET
++A16D;W # YI SYLLABLE HNIEX
++A16E;W # YI SYLLABLE HNIE
++A16F;W # YI SYLLABLE HNIEP
++A170;W # YI SYLLABLE HNAT
++A171;W # YI SYLLABLE HNAX
++A172;W # YI SYLLABLE HNA
++A173;W # YI SYLLABLE HNAP
++A174;W # YI SYLLABLE HNUOX
++A175;W # YI SYLLABLE HNUO
++A176;W # YI SYLLABLE HNOT
++A177;W # YI SYLLABLE HNOX
++A178;W # YI SYLLABLE HNOP
++A179;W # YI SYLLABLE HNEX
++A17A;W # YI SYLLABLE HNE
++A17B;W # YI SYLLABLE HNEP
++A17C;W # YI SYLLABLE HNUT
++A17D;W # YI SYLLABLE NIT
++A17E;W # YI SYLLABLE NIX
++A17F;W # YI SYLLABLE NI
++A180;W # YI SYLLABLE NIP
++A181;W # YI SYLLABLE NIEX
++A182;W # YI SYLLABLE NIE
++A183;W # YI SYLLABLE NIEP
++A184;W # YI SYLLABLE NAX
++A185;W # YI SYLLABLE NA
++A186;W # YI SYLLABLE NAP
++A187;W # YI SYLLABLE NUOX
++A188;W # YI SYLLABLE NUO
++A189;W # YI SYLLABLE NUOP
++A18A;W # YI SYLLABLE NOT
++A18B;W # YI SYLLABLE NOX
++A18C;W # YI SYLLABLE NO
++A18D;W # YI SYLLABLE NOP
++A18E;W # YI SYLLABLE NEX
++A18F;W # YI SYLLABLE NE
++A190;W # YI SYLLABLE NEP
++A191;W # YI SYLLABLE NUT
++A192;W # YI SYLLABLE NUX
++A193;W # YI SYLLABLE NU
++A194;W # YI SYLLABLE NUP
++A195;W # YI SYLLABLE NURX
++A196;W # YI SYLLABLE NUR
++A197;W # YI SYLLABLE HLIT
++A198;W # YI SYLLABLE HLIX
++A199;W # YI SYLLABLE HLI
++A19A;W # YI SYLLABLE HLIP
++A19B;W # YI SYLLABLE HLIEX
++A19C;W # YI SYLLABLE HLIE
++A19D;W # YI SYLLABLE HLIEP
++A19E;W # YI SYLLABLE HLAT
++A19F;W # YI SYLLABLE HLAX
++A1A0;W # YI SYLLABLE HLA
++A1A1;W # YI SYLLABLE HLAP
++A1A2;W # YI SYLLABLE HLUOX
++A1A3;W # YI SYLLABLE HLUO
++A1A4;W # YI SYLLABLE HLUOP
++A1A5;W # YI SYLLABLE HLOX
++A1A6;W # YI SYLLABLE HLO
++A1A7;W # YI SYLLABLE HLOP
++A1A8;W # YI SYLLABLE HLEX
++A1A9;W # YI SYLLABLE HLE
++A1AA;W # YI SYLLABLE HLEP
++A1AB;W # YI SYLLABLE HLUT
++A1AC;W # YI SYLLABLE HLUX
++A1AD;W # YI SYLLABLE HLU
++A1AE;W # YI SYLLABLE HLUP
++A1AF;W # YI SYLLABLE HLURX
++A1B0;W # YI SYLLABLE HLUR
++A1B1;W # YI SYLLABLE HLYT
++A1B2;W # YI SYLLABLE HLYX
++A1B3;W # YI SYLLABLE HLY
++A1B4;W # YI SYLLABLE HLYP
++A1B5;W # YI SYLLABLE HLYRX
++A1B6;W # YI SYLLABLE HLYR
++A1B7;W # YI SYLLABLE LIT
++A1B8;W # YI SYLLABLE LIX
++A1B9;W # YI SYLLABLE LI
++A1BA;W # YI SYLLABLE LIP
++A1BB;W # YI SYLLABLE LIET
++A1BC;W # YI SYLLABLE LIEX
++A1BD;W # YI SYLLABLE LIE
++A1BE;W # YI SYLLABLE LIEP
++A1BF;W # YI SYLLABLE LAT
++A1C0;W # YI SYLLABLE LAX
++A1C1;W # YI SYLLABLE LA
++A1C2;W # YI SYLLABLE LAP
++A1C3;W # YI SYLLABLE LUOT
++A1C4;W # YI SYLLABLE LUOX
++A1C5;W # YI SYLLABLE LUO
++A1C6;W # YI SYLLABLE LUOP
++A1C7;W # YI SYLLABLE LOT
++A1C8;W # YI SYLLABLE LOX
++A1C9;W # YI SYLLABLE LO
++A1CA;W # YI SYLLABLE LOP
++A1CB;W # YI SYLLABLE LEX
++A1CC;W # YI SYLLABLE LE
++A1CD;W # YI SYLLABLE LEP
++A1CE;W # YI SYLLABLE LUT
++A1CF;W # YI SYLLABLE LUX
++A1D0;W # YI SYLLABLE LU
++A1D1;W # YI SYLLABLE LUP
++A1D2;W # YI SYLLABLE LURX
++A1D3;W # YI SYLLABLE LUR
++A1D4;W # YI SYLLABLE LYT
++A1D5;W # YI SYLLABLE LYX
++A1D6;W # YI SYLLABLE LY
++A1D7;W # YI SYLLABLE LYP
++A1D8;W # YI SYLLABLE LYRX
++A1D9;W # YI SYLLABLE LYR
++A1DA;W # YI SYLLABLE GIT
++A1DB;W # YI SYLLABLE GIX
++A1DC;W # YI SYLLABLE GI
++A1DD;W # YI SYLLABLE GIP
++A1DE;W # YI SYLLABLE GIET
++A1DF;W # YI SYLLABLE GIEX
++A1E0;W # YI SYLLABLE GIE
++A1E1;W # YI SYLLABLE GIEP
++A1E2;W # YI SYLLABLE GAT
++A1E3;W # YI SYLLABLE GAX
++A1E4;W # YI SYLLABLE GA
++A1E5;W # YI SYLLABLE GAP
++A1E6;W # YI SYLLABLE GUOT
++A1E7;W # YI SYLLABLE GUOX
++A1E8;W # YI SYLLABLE GUO
++A1E9;W # YI SYLLABLE GUOP
++A1EA;W # YI SYLLABLE GOT
++A1EB;W # YI SYLLABLE GOX
++A1EC;W # YI SYLLABLE GO
++A1ED;W # YI SYLLABLE GOP
++A1EE;W # YI SYLLABLE GET
++A1EF;W # YI SYLLABLE GEX
++A1F0;W # YI SYLLABLE GE
++A1F1;W # YI SYLLABLE GEP
++A1F2;W # YI SYLLABLE GUT
++A1F3;W # YI SYLLABLE GUX
++A1F4;W # YI SYLLABLE GU
++A1F5;W # YI SYLLABLE GUP
++A1F6;W # YI SYLLABLE GURX
++A1F7;W # YI SYLLABLE GUR
++A1F8;W # YI SYLLABLE KIT
++A1F9;W # YI SYLLABLE KIX
++A1FA;W # YI SYLLABLE KI
++A1FB;W # YI SYLLABLE KIP
++A1FC;W # YI SYLLABLE KIEX
++A1FD;W # YI SYLLABLE KIE
++A1FE;W # YI SYLLABLE KIEP
++A1FF;W # YI SYLLABLE KAT
++A200;W # YI SYLLABLE KAX
++A201;W # YI SYLLABLE KA
++A202;W # YI SYLLABLE KAP
++A203;W # YI SYLLABLE KUOX
++A204;W # YI SYLLABLE KUO
++A205;W # YI SYLLABLE KUOP
++A206;W # YI SYLLABLE KOT
++A207;W # YI SYLLABLE KOX
++A208;W # YI SYLLABLE KO
++A209;W # YI SYLLABLE KOP
++A20A;W # YI SYLLABLE KET
++A20B;W # YI SYLLABLE KEX
++A20C;W # YI SYLLABLE KE
++A20D;W # YI SYLLABLE KEP
++A20E;W # YI SYLLABLE KUT
++A20F;W # YI SYLLABLE KUX
++A210;W # YI SYLLABLE KU
++A211;W # YI SYLLABLE KUP
++A212;W # YI SYLLABLE KURX
++A213;W # YI SYLLABLE KUR
++A214;W # YI SYLLABLE GGIT
++A215;W # YI SYLLABLE GGIX
++A216;W # YI SYLLABLE GGI
++A217;W # YI SYLLABLE GGIEX
++A218;W # YI SYLLABLE GGIE
++A219;W # YI SYLLABLE GGIEP
++A21A;W # YI SYLLABLE GGAT
++A21B;W # YI SYLLABLE GGAX
++A21C;W # YI SYLLABLE GGA
++A21D;W # YI SYLLABLE GGAP
++A21E;W # YI SYLLABLE GGUOT
++A21F;W # YI SYLLABLE GGUOX
++A220;W # YI SYLLABLE GGUO
++A221;W # YI SYLLABLE GGUOP
++A222;W # YI SYLLABLE GGOT
++A223;W # YI SYLLABLE GGOX
++A224;W # YI SYLLABLE GGO
++A225;W # YI SYLLABLE GGOP
++A226;W # YI SYLLABLE GGET
++A227;W # YI SYLLABLE GGEX
++A228;W # YI SYLLABLE GGE
++A229;W # YI SYLLABLE GGEP
++A22A;W # YI SYLLABLE GGUT
++A22B;W # YI SYLLABLE GGUX
++A22C;W # YI SYLLABLE GGU
++A22D;W # YI SYLLABLE GGUP
++A22E;W # YI SYLLABLE GGURX
++A22F;W # YI SYLLABLE GGUR
++A230;W # YI SYLLABLE MGIEX
++A231;W # YI SYLLABLE MGIE
++A232;W # YI SYLLABLE MGAT
++A233;W # YI SYLLABLE MGAX
++A234;W # YI SYLLABLE MGA
++A235;W # YI SYLLABLE MGAP
++A236;W # YI SYLLABLE MGUOX
++A237;W # YI SYLLABLE MGUO
++A238;W # YI SYLLABLE MGUOP
++A239;W # YI SYLLABLE MGOT
++A23A;W # YI SYLLABLE MGOX
++A23B;W # YI SYLLABLE MGO
++A23C;W # YI SYLLABLE MGOP
++A23D;W # YI SYLLABLE MGEX
++A23E;W # YI SYLLABLE MGE
++A23F;W # YI SYLLABLE MGEP
++A240;W # YI SYLLABLE MGUT
++A241;W # YI SYLLABLE MGUX
++A242;W # YI SYLLABLE MGU
++A243;W # YI SYLLABLE MGUP
++A244;W # YI SYLLABLE MGURX
++A245;W # YI SYLLABLE MGUR
++A246;W # YI SYLLABLE HXIT
++A247;W # YI SYLLABLE HXIX
++A248;W # YI SYLLABLE HXI
++A249;W # YI SYLLABLE HXIP
++A24A;W # YI SYLLABLE HXIET
++A24B;W # YI SYLLABLE HXIEX
++A24C;W # YI SYLLABLE HXIE
++A24D;W # YI SYLLABLE HXIEP
++A24E;W # YI SYLLABLE HXAT
++A24F;W # YI SYLLABLE HXAX
++A250;W # YI SYLLABLE HXA
++A251;W # YI SYLLABLE HXAP
++A252;W # YI SYLLABLE HXUOT
++A253;W # YI SYLLABLE HXUOX
++A254;W # YI SYLLABLE HXUO
++A255;W # YI SYLLABLE HXUOP
++A256;W # YI SYLLABLE HXOT
++A257;W # YI SYLLABLE HXOX
++A258;W # YI SYLLABLE HXO
++A259;W # YI SYLLABLE HXOP
++A25A;W # YI SYLLABLE HXEX
++A25B;W # YI SYLLABLE HXE
++A25C;W # YI SYLLABLE HXEP
++A25D;W # YI SYLLABLE NGIEX
++A25E;W # YI SYLLABLE NGIE
++A25F;W # YI SYLLABLE NGIEP
++A260;W # YI SYLLABLE NGAT
++A261;W # YI SYLLABLE NGAX
++A262;W # YI SYLLABLE NGA
++A263;W # YI SYLLABLE NGAP
++A264;W # YI SYLLABLE NGUOT
++A265;W # YI SYLLABLE NGUOX
++A266;W # YI SYLLABLE NGUO
++A267;W # YI SYLLABLE NGOT
++A268;W # YI SYLLABLE NGOX
++A269;W # YI SYLLABLE NGO
++A26A;W # YI SYLLABLE NGOP
++A26B;W # YI SYLLABLE NGEX
++A26C;W # YI SYLLABLE NGE
++A26D;W # YI SYLLABLE NGEP
++A26E;W # YI SYLLABLE HIT
++A26F;W # YI SYLLABLE HIEX
++A270;W # YI SYLLABLE HIE
++A271;W # YI SYLLABLE HAT
++A272;W # YI SYLLABLE HAX
++A273;W # YI SYLLABLE HA
++A274;W # YI SYLLABLE HAP
++A275;W # YI SYLLABLE HUOT
++A276;W # YI SYLLABLE HUOX
++A277;W # YI SYLLABLE HUO
++A278;W # YI SYLLABLE HUOP
++A279;W # YI SYLLABLE HOT
++A27A;W # YI SYLLABLE HOX
++A27B;W # YI SYLLABLE HO
++A27C;W # YI SYLLABLE HOP
++A27D;W # YI SYLLABLE HEX
++A27E;W # YI SYLLABLE HE
++A27F;W # YI SYLLABLE HEP
++A280;W # YI SYLLABLE WAT
++A281;W # YI SYLLABLE WAX
++A282;W # YI SYLLABLE WA
++A283;W # YI SYLLABLE WAP
++A284;W # YI SYLLABLE WUOX
++A285;W # YI SYLLABLE WUO
++A286;W # YI SYLLABLE WUOP
++A287;W # YI SYLLABLE WOX
++A288;W # YI SYLLABLE WO
++A289;W # YI SYLLABLE WOP
++A28A;W # YI SYLLABLE WEX
++A28B;W # YI SYLLABLE WE
++A28C;W # YI SYLLABLE WEP
++A28D;W # YI SYLLABLE ZIT
++A28E;W # YI SYLLABLE ZIX
++A28F;W # YI SYLLABLE ZI
++A290;W # YI SYLLABLE ZIP
++A291;W # YI SYLLABLE ZIEX
++A292;W # YI SYLLABLE ZIE
++A293;W # YI SYLLABLE ZIEP
++A294;W # YI SYLLABLE ZAT
++A295;W # YI SYLLABLE ZAX
++A296;W # YI SYLLABLE ZA
++A297;W # YI SYLLABLE ZAP
++A298;W # YI SYLLABLE ZUOX
++A299;W # YI SYLLABLE ZUO
++A29A;W # YI SYLLABLE ZUOP
++A29B;W # YI SYLLABLE ZOT
++A29C;W # YI SYLLABLE ZOX
++A29D;W # YI SYLLABLE ZO
++A29E;W # YI SYLLABLE ZOP
++A29F;W # YI SYLLABLE ZEX
++A2A0;W # YI SYLLABLE ZE
++A2A1;W # YI SYLLABLE ZEP
++A2A2;W # YI SYLLABLE ZUT
++A2A3;W # YI SYLLABLE ZUX
++A2A4;W # YI SYLLABLE ZU
++A2A5;W # YI SYLLABLE ZUP
++A2A6;W # YI SYLLABLE ZURX
++A2A7;W # YI SYLLABLE ZUR
++A2A8;W # YI SYLLABLE ZYT
++A2A9;W # YI SYLLABLE ZYX
++A2AA;W # YI SYLLABLE ZY
++A2AB;W # YI SYLLABLE ZYP
++A2AC;W # YI SYLLABLE ZYRX
++A2AD;W # YI SYLLABLE ZYR
++A2AE;W # YI SYLLABLE CIT
++A2AF;W # YI SYLLABLE CIX
++A2B0;W # YI SYLLABLE CI
++A2B1;W # YI SYLLABLE CIP
++A2B2;W # YI SYLLABLE CIET
++A2B3;W # YI SYLLABLE CIEX
++A2B4;W # YI SYLLABLE CIE
++A2B5;W # YI SYLLABLE CIEP
++A2B6;W # YI SYLLABLE CAT
++A2B7;W # YI SYLLABLE CAX
++A2B8;W # YI SYLLABLE CA
++A2B9;W # YI SYLLABLE CAP
++A2BA;W # YI SYLLABLE CUOX
++A2BB;W # YI SYLLABLE CUO
++A2BC;W # YI SYLLABLE CUOP
++A2BD;W # YI SYLLABLE COT
++A2BE;W # YI SYLLABLE COX
++A2BF;W # YI SYLLABLE CO
++A2C0;W # YI SYLLABLE COP
++A2C1;W # YI SYLLABLE CEX
++A2C2;W # YI SYLLABLE CE
++A2C3;W # YI SYLLABLE CEP
++A2C4;W # YI SYLLABLE CUT
++A2C5;W # YI SYLLABLE CUX
++A2C6;W # YI SYLLABLE CU
++A2C7;W # YI SYLLABLE CUP
++A2C8;W # YI SYLLABLE CURX
++A2C9;W # YI SYLLABLE CUR
++A2CA;W # YI SYLLABLE CYT
++A2CB;W # YI SYLLABLE CYX
++A2CC;W # YI SYLLABLE CY
++A2CD;W # YI SYLLABLE CYP
++A2CE;W # YI SYLLABLE CYRX
++A2CF;W # YI SYLLABLE CYR
++A2D0;W # YI SYLLABLE ZZIT
++A2D1;W # YI SYLLABLE ZZIX
++A2D2;W # YI SYLLABLE ZZI
++A2D3;W # YI SYLLABLE ZZIP
++A2D4;W # YI SYLLABLE ZZIET
++A2D5;W # YI SYLLABLE ZZIEX
++A2D6;W # YI SYLLABLE ZZIE
++A2D7;W # YI SYLLABLE ZZIEP
++A2D8;W # YI SYLLABLE ZZAT
++A2D9;W # YI SYLLABLE ZZAX
++A2DA;W # YI SYLLABLE ZZA
++A2DB;W # YI SYLLABLE ZZAP
++A2DC;W # YI SYLLABLE ZZOX
++A2DD;W # YI SYLLABLE ZZO
++A2DE;W # YI SYLLABLE ZZOP
++A2DF;W # YI SYLLABLE ZZEX
++A2E0;W # YI SYLLABLE ZZE
++A2E1;W # YI SYLLABLE ZZEP
++A2E2;W # YI SYLLABLE ZZUX
++A2E3;W # YI SYLLABLE ZZU
++A2E4;W # YI SYLLABLE ZZUP
++A2E5;W # YI SYLLABLE ZZURX
++A2E6;W # YI SYLLABLE ZZUR
++A2E7;W # YI SYLLABLE ZZYT
++A2E8;W # YI SYLLABLE ZZYX
++A2E9;W # YI SYLLABLE ZZY
++A2EA;W # YI SYLLABLE ZZYP
++A2EB;W # YI SYLLABLE ZZYRX
++A2EC;W # YI SYLLABLE ZZYR
++A2ED;W # YI SYLLABLE NZIT
++A2EE;W # YI SYLLABLE NZIX
++A2EF;W # YI SYLLABLE NZI
++A2F0;W # YI SYLLABLE NZIP
++A2F1;W # YI SYLLABLE NZIEX
++A2F2;W # YI SYLLABLE NZIE
++A2F3;W # YI SYLLABLE NZIEP
++A2F4;W # YI SYLLABLE NZAT
++A2F5;W # YI SYLLABLE NZAX
++A2F6;W # YI SYLLABLE NZA
++A2F7;W # YI SYLLABLE NZAP
++A2F8;W # YI SYLLABLE NZUOX
++A2F9;W # YI SYLLABLE NZUO
++A2FA;W # YI SYLLABLE NZOX
++A2FB;W # YI SYLLABLE NZOP
++A2FC;W # YI SYLLABLE NZEX
++A2FD;W # YI SYLLABLE NZE
++A2FE;W # YI SYLLABLE NZUX
++A2FF;W # YI SYLLABLE NZU
++A300;W # YI SYLLABLE NZUP
++A301;W # YI SYLLABLE NZURX
++A302;W # YI SYLLABLE NZUR
++A303;W # YI SYLLABLE NZYT
++A304;W # YI SYLLABLE NZYX
++A305;W # YI SYLLABLE NZY
++A306;W # YI SYLLABLE NZYP
++A307;W # YI SYLLABLE NZYRX
++A308;W # YI SYLLABLE NZYR
++A309;W # YI SYLLABLE SIT
++A30A;W # YI SYLLABLE SIX
++A30B;W # YI SYLLABLE SI
++A30C;W # YI SYLLABLE SIP
++A30D;W # YI SYLLABLE SIEX
++A30E;W # YI SYLLABLE SIE
++A30F;W # YI SYLLABLE SIEP
++A310;W # YI SYLLABLE SAT
++A311;W # YI SYLLABLE SAX
++A312;W # YI SYLLABLE SA
++A313;W # YI SYLLABLE SAP
++A314;W # YI SYLLABLE SUOX
++A315;W # YI SYLLABLE SUO
++A316;W # YI SYLLABLE SUOP
++A317;W # YI SYLLABLE SOT
++A318;W # YI SYLLABLE SOX
++A319;W # YI SYLLABLE SO
++A31A;W # YI SYLLABLE SOP
++A31B;W # YI SYLLABLE SEX
++A31C;W # YI SYLLABLE SE
++A31D;W # YI SYLLABLE SEP
++A31E;W # YI SYLLABLE SUT
++A31F;W # YI SYLLABLE SUX
++A320;W # YI SYLLABLE SU
++A321;W # YI SYLLABLE SUP
++A322;W # YI SYLLABLE SURX
++A323;W # YI SYLLABLE SUR
++A324;W # YI SYLLABLE SYT
++A325;W # YI SYLLABLE SYX
++A326;W # YI SYLLABLE SY
++A327;W # YI SYLLABLE SYP
++A328;W # YI SYLLABLE SYRX
++A329;W # YI SYLLABLE SYR
++A32A;W # YI SYLLABLE SSIT
++A32B;W # YI SYLLABLE SSIX
++A32C;W # YI SYLLABLE SSI
++A32D;W # YI SYLLABLE SSIP
++A32E;W # YI SYLLABLE SSIEX
++A32F;W # YI SYLLABLE SSIE
++A330;W # YI SYLLABLE SSIEP
++A331;W # YI SYLLABLE SSAT
++A332;W # YI SYLLABLE SSAX
++A333;W # YI SYLLABLE SSA
++A334;W # YI SYLLABLE SSAP
++A335;W # YI SYLLABLE SSOT
++A336;W # YI SYLLABLE SSOX
++A337;W # YI SYLLABLE SSO
++A338;W # YI SYLLABLE SSOP
++A339;W # YI SYLLABLE SSEX
++A33A;W # YI SYLLABLE SSE
++A33B;W # YI SYLLABLE SSEP
++A33C;W # YI SYLLABLE SSUT
++A33D;W # YI SYLLABLE SSUX
++A33E;W # YI SYLLABLE SSU
++A33F;W # YI SYLLABLE SSUP
++A340;W # YI SYLLABLE SSYT
++A341;W # YI SYLLABLE SSYX
++A342;W # YI SYLLABLE SSY
++A343;W # YI SYLLABLE SSYP
++A344;W # YI SYLLABLE SSYRX
++A345;W # YI SYLLABLE SSYR
++A346;W # YI SYLLABLE ZHAT
++A347;W # YI SYLLABLE ZHAX
++A348;W # YI SYLLABLE ZHA
++A349;W # YI SYLLABLE ZHAP
++A34A;W # YI SYLLABLE ZHUOX
++A34B;W # YI SYLLABLE ZHUO
++A34C;W # YI SYLLABLE ZHUOP
++A34D;W # YI SYLLABLE ZHOT
++A34E;W # YI SYLLABLE ZHOX
++A34F;W # YI SYLLABLE ZHO
++A350;W # YI SYLLABLE ZHOP
++A351;W # YI SYLLABLE ZHET
++A352;W # YI SYLLABLE ZHEX
++A353;W # YI SYLLABLE ZHE
++A354;W # YI SYLLABLE ZHEP
++A355;W # YI SYLLABLE ZHUT
++A356;W # YI SYLLABLE ZHUX
++A357;W # YI SYLLABLE ZHU
++A358;W # YI SYLLABLE ZHUP
++A359;W # YI SYLLABLE ZHURX
++A35A;W # YI SYLLABLE ZHUR
++A35B;W # YI SYLLABLE ZHYT
++A35C;W # YI SYLLABLE ZHYX
++A35D;W # YI SYLLABLE ZHY
++A35E;W # YI SYLLABLE ZHYP
++A35F;W # YI SYLLABLE ZHYRX
++A360;W # YI SYLLABLE ZHYR
++A361;W # YI SYLLABLE CHAT
++A362;W # YI SYLLABLE CHAX
++A363;W # YI SYLLABLE CHA
++A364;W # YI SYLLABLE CHAP
++A365;W # YI SYLLABLE CHUOT
++A366;W # YI SYLLABLE CHUOX
++A367;W # YI SYLLABLE CHUO
++A368;W # YI SYLLABLE CHUOP
++A369;W # YI SYLLABLE CHOT
++A36A;W # YI SYLLABLE CHOX
++A36B;W # YI SYLLABLE CHO
++A36C;W # YI SYLLABLE CHOP
++A36D;W # YI SYLLABLE CHET
++A36E;W # YI SYLLABLE CHEX
++A36F;W # YI SYLLABLE CHE
++A370;W # YI SYLLABLE CHEP
++A371;W # YI SYLLABLE CHUX
++A372;W # YI SYLLABLE CHU
++A373;W # YI SYLLABLE CHUP
++A374;W # YI SYLLABLE CHURX
++A375;W # YI SYLLABLE CHUR
++A376;W # YI SYLLABLE CHYT
++A377;W # YI SYLLABLE CHYX
++A378;W # YI SYLLABLE CHY
++A379;W # YI SYLLABLE CHYP
++A37A;W # YI SYLLABLE CHYRX
++A37B;W # YI SYLLABLE CHYR
++A37C;W # YI SYLLABLE RRAX
++A37D;W # YI SYLLABLE RRA
++A37E;W # YI SYLLABLE RRUOX
++A37F;W # YI SYLLABLE RRUO
++A380;W # YI SYLLABLE RROT
++A381;W # YI SYLLABLE RROX
++A382;W # YI SYLLABLE RRO
++A383;W # YI SYLLABLE RROP
++A384;W # YI SYLLABLE RRET
++A385;W # YI SYLLABLE RREX
++A386;W # YI SYLLABLE RRE
++A387;W # YI SYLLABLE RREP
++A388;W # YI SYLLABLE RRUT
++A389;W # YI SYLLABLE RRUX
++A38A;W # YI SYLLABLE RRU
++A38B;W # YI SYLLABLE RRUP
++A38C;W # YI SYLLABLE RRURX
++A38D;W # YI SYLLABLE RRUR
++A38E;W # YI SYLLABLE RRYT
++A38F;W # YI SYLLABLE RRYX
++A390;W # YI SYLLABLE RRY
++A391;W # YI SYLLABLE RRYP
++A392;W # YI SYLLABLE RRYRX
++A393;W # YI SYLLABLE RRYR
++A394;W # YI SYLLABLE NRAT
++A395;W # YI SYLLABLE NRAX
++A396;W # YI SYLLABLE NRA
++A397;W # YI SYLLABLE NRAP
++A398;W # YI SYLLABLE NROX
++A399;W # YI SYLLABLE NRO
++A39A;W # YI SYLLABLE NROP
++A39B;W # YI SYLLABLE NRET
++A39C;W # YI SYLLABLE NREX
++A39D;W # YI SYLLABLE NRE
++A39E;W # YI SYLLABLE NREP
++A39F;W # YI SYLLABLE NRUT
++A3A0;W # YI SYLLABLE NRUX
++A3A1;W # YI SYLLABLE NRU
++A3A2;W # YI SYLLABLE NRUP
++A3A3;W # YI SYLLABLE NRURX
++A3A4;W # YI SYLLABLE NRUR
++A3A5;W # YI SYLLABLE NRYT
++A3A6;W # YI SYLLABLE NRYX
++A3A7;W # YI SYLLABLE NRY
++A3A8;W # YI SYLLABLE NRYP
++A3A9;W # YI SYLLABLE NRYRX
++A3AA;W # YI SYLLABLE NRYR
++A3AB;W # YI SYLLABLE SHAT
++A3AC;W # YI SYLLABLE SHAX
++A3AD;W # YI SYLLABLE SHA
++A3AE;W # YI SYLLABLE SHAP
++A3AF;W # YI SYLLABLE SHUOX
++A3B0;W # YI SYLLABLE SHUO
++A3B1;W # YI SYLLABLE SHUOP
++A3B2;W # YI SYLLABLE SHOT
++A3B3;W # YI SYLLABLE SHOX
++A3B4;W # YI SYLLABLE SHO
++A3B5;W # YI SYLLABLE SHOP
++A3B6;W # YI SYLLABLE SHET
++A3B7;W # YI SYLLABLE SHEX
++A3B8;W # YI SYLLABLE SHE
++A3B9;W # YI SYLLABLE SHEP
++A3BA;W # YI SYLLABLE SHUT
++A3BB;W # YI SYLLABLE SHUX
++A3BC;W # YI SYLLABLE SHU
++A3BD;W # YI SYLLABLE SHUP
++A3BE;W # YI SYLLABLE SHURX
++A3BF;W # YI SYLLABLE SHUR
++A3C0;W # YI SYLLABLE SHYT
++A3C1;W # YI SYLLABLE SHYX
++A3C2;W # YI SYLLABLE SHY
++A3C3;W # YI SYLLABLE SHYP
++A3C4;W # YI SYLLABLE SHYRX
++A3C5;W # YI SYLLABLE SHYR
++A3C6;W # YI SYLLABLE RAT
++A3C7;W # YI SYLLABLE RAX
++A3C8;W # YI SYLLABLE RA
++A3C9;W # YI SYLLABLE RAP
++A3CA;W # YI SYLLABLE RUOX
++A3CB;W # YI SYLLABLE RUO
++A3CC;W # YI SYLLABLE RUOP
++A3CD;W # YI SYLLABLE ROT
++A3CE;W # YI SYLLABLE ROX
++A3CF;W # YI SYLLABLE RO
++A3D0;W # YI SYLLABLE ROP
++A3D1;W # YI SYLLABLE REX
++A3D2;W # YI SYLLABLE RE
++A3D3;W # YI SYLLABLE REP
++A3D4;W # YI SYLLABLE RUT
++A3D5;W # YI SYLLABLE RUX
++A3D6;W # YI SYLLABLE RU
++A3D7;W # YI SYLLABLE RUP
++A3D8;W # YI SYLLABLE RURX
++A3D9;W # YI SYLLABLE RUR
++A3DA;W # YI SYLLABLE RYT
++A3DB;W # YI SYLLABLE RYX
++A3DC;W # YI SYLLABLE RY
++A3DD;W # YI SYLLABLE RYP
++A3DE;W # YI SYLLABLE RYRX
++A3DF;W # YI SYLLABLE RYR
++A3E0;W # YI SYLLABLE JIT
++A3E1;W # YI SYLLABLE JIX
++A3E2;W # YI SYLLABLE JI
++A3E3;W # YI SYLLABLE JIP
++A3E4;W # YI SYLLABLE JIET
++A3E5;W # YI SYLLABLE JIEX
++A3E6;W # YI SYLLABLE JIE
++A3E7;W # YI SYLLABLE JIEP
++A3E8;W # YI SYLLABLE JUOT
++A3E9;W # YI SYLLABLE JUOX
++A3EA;W # YI SYLLABLE JUO
++A3EB;W # YI SYLLABLE JUOP
++A3EC;W # YI SYLLABLE JOT
++A3ED;W # YI SYLLABLE JOX
++A3EE;W # YI SYLLABLE JO
++A3EF;W # YI SYLLABLE JOP
++A3F0;W # YI SYLLABLE JUT
++A3F1;W # YI SYLLABLE JUX
++A3F2;W # YI SYLLABLE JU
++A3F3;W # YI SYLLABLE JUP
++A3F4;W # YI SYLLABLE JURX
++A3F5;W # YI SYLLABLE JUR
++A3F6;W # YI SYLLABLE JYT
++A3F7;W # YI SYLLABLE JYX
++A3F8;W # YI SYLLABLE JY
++A3F9;W # YI SYLLABLE JYP
++A3FA;W # YI SYLLABLE JYRX
++A3FB;W # YI SYLLABLE JYR
++A3FC;W # YI SYLLABLE QIT
++A3FD;W # YI SYLLABLE QIX
++A3FE;W # YI SYLLABLE QI
++A3FF;W # YI SYLLABLE QIP
++A400;W # YI SYLLABLE QIET
++A401;W # YI SYLLABLE QIEX
++A402;W # YI SYLLABLE QIE
++A403;W # YI SYLLABLE QIEP
++A404;W # YI SYLLABLE QUOT
++A405;W # YI SYLLABLE QUOX
++A406;W # YI SYLLABLE QUO
++A407;W # YI SYLLABLE QUOP
++A408;W # YI SYLLABLE QOT
++A409;W # YI SYLLABLE QOX
++A40A;W # YI SYLLABLE QO
++A40B;W # YI SYLLABLE QOP
++A40C;W # YI SYLLABLE QUT
++A40D;W # YI SYLLABLE QUX
++A40E;W # YI SYLLABLE QU
++A40F;W # YI SYLLABLE QUP
++A410;W # YI SYLLABLE QURX
++A411;W # YI SYLLABLE QUR
++A412;W # YI SYLLABLE QYT
++A413;W # YI SYLLABLE QYX
++A414;W # YI SYLLABLE QY
++A415;W # YI SYLLABLE QYP
++A416;W # YI SYLLABLE QYRX
++A417;W # YI SYLLABLE QYR
++A418;W # YI SYLLABLE JJIT
++A419;W # YI SYLLABLE JJIX
++A41A;W # YI SYLLABLE JJI
++A41B;W # YI SYLLABLE JJIP
++A41C;W # YI SYLLABLE JJIET
++A41D;W # YI SYLLABLE JJIEX
++A41E;W # YI SYLLABLE JJIE
++A41F;W # YI SYLLABLE JJIEP
++A420;W # YI SYLLABLE JJUOX
++A421;W # YI SYLLABLE JJUO
++A422;W # YI SYLLABLE JJUOP
++A423;W # YI SYLLABLE JJOT
++A424;W # YI SYLLABLE JJOX
++A425;W # YI SYLLABLE JJO
++A426;W # YI SYLLABLE JJOP
++A427;W # YI SYLLABLE JJUT
++A428;W # YI SYLLABLE JJUX
++A429;W # YI SYLLABLE JJU
++A42A;W # YI SYLLABLE JJUP
++A42B;W # YI SYLLABLE JJURX
++A42C;W # YI SYLLABLE JJUR
++A42D;W # YI SYLLABLE JJYT
++A42E;W # YI SYLLABLE JJYX
++A42F;W # YI SYLLABLE JJY
++A430;W # YI SYLLABLE JJYP
++A431;W # YI SYLLABLE NJIT
++A432;W # YI SYLLABLE NJIX
++A433;W # YI SYLLABLE NJI
++A434;W # YI SYLLABLE NJIP
++A435;W # YI SYLLABLE NJIET
++A436;W # YI SYLLABLE NJIEX
++A437;W # YI SYLLABLE NJIE
++A438;W # YI SYLLABLE NJIEP
++A439;W # YI SYLLABLE NJUOX
++A43A;W # YI SYLLABLE NJUO
++A43B;W # YI SYLLABLE NJOT
++A43C;W # YI SYLLABLE NJOX
++A43D;W # YI SYLLABLE NJO
++A43E;W # YI SYLLABLE NJOP
++A43F;W # YI SYLLABLE NJUX
++A440;W # YI SYLLABLE NJU
++A441;W # YI SYLLABLE NJUP
++A442;W # YI SYLLABLE NJURX
++A443;W # YI SYLLABLE NJUR
++A444;W # YI SYLLABLE NJYT
++A445;W # YI SYLLABLE NJYX
++A446;W # YI SYLLABLE NJY
++A447;W # YI SYLLABLE NJYP
++A448;W # YI SYLLABLE NJYRX
++A449;W # YI SYLLABLE NJYR
++A44A;W # YI SYLLABLE NYIT
++A44B;W # YI SYLLABLE NYIX
++A44C;W # YI SYLLABLE NYI
++A44D;W # YI SYLLABLE NYIP
++A44E;W # YI SYLLABLE NYIET
++A44F;W # YI SYLLABLE NYIEX
++A450;W # YI SYLLABLE NYIE
++A451;W # YI SYLLABLE NYIEP
++A452;W # YI SYLLABLE NYUOX
++A453;W # YI SYLLABLE NYUO
++A454;W # YI SYLLABLE NYUOP
++A455;W # YI SYLLABLE NYOT
++A456;W # YI SYLLABLE NYOX
++A457;W # YI SYLLABLE NYO
++A458;W # YI SYLLABLE NYOP
++A459;W # YI SYLLABLE NYUT
++A45A;W # YI SYLLABLE NYUX
++A45B;W # YI SYLLABLE NYU
++A45C;W # YI SYLLABLE NYUP
++A45D;W # YI SYLLABLE XIT
++A45E;W # YI SYLLABLE XIX
++A45F;W # YI SYLLABLE XI
++A460;W # YI SYLLABLE XIP
++A461;W # YI SYLLABLE XIET
++A462;W # YI SYLLABLE XIEX
++A463;W # YI SYLLABLE XIE
++A464;W # YI SYLLABLE XIEP
++A465;W # YI SYLLABLE XUOX
++A466;W # YI SYLLABLE XUO
++A467;W # YI SYLLABLE XOT
++A468;W # YI SYLLABLE XOX
++A469;W # YI SYLLABLE XO
++A46A;W # YI SYLLABLE XOP
++A46B;W # YI SYLLABLE XYT
++A46C;W # YI SYLLABLE XYX
++A46D;W # YI SYLLABLE XY
++A46E;W # YI SYLLABLE XYP
++A46F;W # YI SYLLABLE XYRX
++A470;W # YI SYLLABLE XYR
++A471;W # YI SYLLABLE YIT
++A472;W # YI SYLLABLE YIX
++A473;W # YI SYLLABLE YI
++A474;W # YI SYLLABLE YIP
++A475;W # YI SYLLABLE YIET
++A476;W # YI SYLLABLE YIEX
++A477;W # YI SYLLABLE YIE
++A478;W # YI SYLLABLE YIEP
++A479;W # YI SYLLABLE YUOT
++A47A;W # YI SYLLABLE YUOX
++A47B;W # YI SYLLABLE YUO
++A47C;W # YI SYLLABLE YUOP
++A47D;W # YI SYLLABLE YOT
++A47E;W # YI SYLLABLE YOX
++A47F;W # YI SYLLABLE YO
++A480;W # YI SYLLABLE YOP
++A481;W # YI SYLLABLE YUT
++A482;W # YI SYLLABLE YUX
++A483;W # YI SYLLABLE YU
++A484;W # YI SYLLABLE YUP
++A485;W # YI SYLLABLE YURX
++A486;W # YI SYLLABLE YUR
++A487;W # YI SYLLABLE YYT
++A488;W # YI SYLLABLE YYX
++A489;W # YI SYLLABLE YY
++A48A;W # YI SYLLABLE YYP
++A48B;W # YI SYLLABLE YYRX
++A48C;W # YI SYLLABLE YYR
++A490;W # YI RADICAL QOT
++A491;W # YI RADICAL LI
++A492;W # YI RADICAL KIT
++A493;W # YI RADICAL NYIP
++A494;W # YI RADICAL CYP
++A495;W # YI RADICAL SSI
++A496;W # YI RADICAL GGOP
++A497;W # YI RADICAL GEP
++A498;W # YI RADICAL MI
++A499;W # YI RADICAL HXIT
++A49A;W # YI RADICAL LYR
++A49B;W # YI RADICAL BBUT
++A49C;W # YI RADICAL MOP
++A49D;W # YI RADICAL YO
++A49E;W # YI RADICAL PUT
++A49F;W # YI RADICAL HXUO
++A4A0;W # YI RADICAL TAT
++A4A1;W # YI RADICAL GA
++A4A2;W # YI RADICAL ZUP
++A4A3;W # YI RADICAL CYT
++A4A4;W # YI RADICAL DDUR
++A4A5;W # YI RADICAL BUR
++A4A6;W # YI RADICAL GGUO
++A4A7;W # YI RADICAL NYOP
++A4A8;W # YI RADICAL TU
++A4A9;W # YI RADICAL OP
++A4AA;W # YI RADICAL JJUT
++A4AB;W # YI RADICAL ZOT
++A4AC;W # YI RADICAL PYT
++A4AD;W # YI RADICAL HMO
++A4AE;W # YI RADICAL YIT
++A4AF;W # YI RADICAL VUR
++A4B0;W # YI RADICAL SHY
++A4B1;W # YI RADICAL VEP
++A4B2;W # YI RADICAL ZA
++A4B3;W # YI RADICAL JO
++A4B4;W # YI RADICAL NZUP
++A4B5;W # YI RADICAL JJY
++A4B6;W # YI RADICAL GOT
++A4B7;W # YI RADICAL JJIE
++A4B8;W # YI RADICAL WO
++A4B9;W # YI RADICAL DU
++A4BA;W # YI RADICAL SHUR
++A4BB;W # YI RADICAL LIE
++A4BC;W # YI RADICAL CY
++A4BD;W # YI RADICAL CUOP
++A4BE;W # YI RADICAL CIP
++A4BF;W # YI RADICAL HXOP
++A4C0;W # YI RADICAL SHAT
++A4C1;W # YI RADICAL ZUR
++A4C2;W # YI RADICAL SHOP
++A4C3;W # YI RADICAL CHE
++A4C4;W # YI RADICAL ZZIET
++A4C5;W # YI RADICAL NBIE
++A4C6;W # YI RADICAL KE
++A4D0;N # LISU LETTER BA
++A4D1;N # LISU LETTER PA
++A4D2;N # LISU LETTER PHA
++A4D3;N # LISU LETTER DA
++A4D4;N # LISU LETTER TA
++A4D5;N # LISU LETTER THA
++A4D6;N # LISU LETTER GA
++A4D7;N # LISU LETTER KA
++A4D8;N # LISU LETTER KHA
++A4D9;N # LISU LETTER JA
++A4DA;N # LISU LETTER CA
++A4DB;N # LISU LETTER CHA
++A4DC;N # LISU LETTER DZA
++A4DD;N # LISU LETTER TSA
++A4DE;N # LISU LETTER TSHA
++A4DF;N # LISU LETTER MA
++A4E0;N # LISU LETTER NA
++A4E1;N # LISU LETTER LA
++A4E2;N # LISU LETTER SA
++A4E3;N # LISU LETTER ZHA
++A4E4;N # LISU LETTER ZA
++A4E5;N # LISU LETTER NGA
++A4E6;N # LISU LETTER HA
++A4E7;N # LISU LETTER XA
++A4E8;N # LISU LETTER HHA
++A4E9;N # LISU LETTER FA
++A4EA;N # LISU LETTER WA
++A4EB;N # LISU LETTER SHA
++A4EC;N # LISU LETTER YA
++A4ED;N # LISU LETTER GHA
++A4EE;N # LISU LETTER A
++A4EF;N # LISU LETTER AE
++A4F0;N # LISU LETTER E
++A4F1;N # LISU LETTER EU
++A4F2;N # LISU LETTER I
++A4F3;N # LISU LETTER O
++A4F4;N # LISU LETTER U
++A4F5;N # LISU LETTER UE
++A4F6;N # LISU LETTER UH
++A4F7;N # LISU LETTER OE
++A4F8;N # LISU LETTER TONE MYA TI
++A4F9;N # LISU LETTER TONE NA PO
++A4FA;N # LISU LETTER TONE MYA CYA
++A4FB;N # LISU LETTER TONE MYA BO
++A4FC;N # LISU LETTER TONE MYA NA
++A4FD;N # LISU LETTER TONE MYA JEU
++A4FE;N # LISU PUNCTUATION COMMA
++A4FF;N # LISU PUNCTUATION FULL STOP
++A500;N # VAI SYLLABLE EE
++A501;N # VAI SYLLABLE EEN
++A502;N # VAI SYLLABLE HEE
++A503;N # VAI SYLLABLE WEE
++A504;N # VAI SYLLABLE WEEN
++A505;N # VAI SYLLABLE PEE
++A506;N # VAI SYLLABLE BHEE
++A507;N # VAI SYLLABLE BEE
++A508;N # VAI SYLLABLE MBEE
++A509;N # VAI SYLLABLE KPEE
++A50A;N # VAI SYLLABLE MGBEE
++A50B;N # VAI SYLLABLE GBEE
++A50C;N # VAI SYLLABLE FEE
++A50D;N # VAI SYLLABLE VEE
++A50E;N # VAI SYLLABLE TEE
++A50F;N # VAI SYLLABLE THEE
++A510;N # VAI SYLLABLE DHEE
++A511;N # VAI SYLLABLE DHHEE
++A512;N # VAI SYLLABLE LEE
++A513;N # VAI SYLLABLE REE
++A514;N # VAI SYLLABLE DEE
++A515;N # VAI SYLLABLE NDEE
++A516;N # VAI SYLLABLE SEE
++A517;N # VAI SYLLABLE SHEE
++A518;N # VAI SYLLABLE ZEE
++A519;N # VAI SYLLABLE ZHEE
++A51A;N # VAI SYLLABLE CEE
++A51B;N # VAI SYLLABLE JEE
++A51C;N # VAI SYLLABLE NJEE
++A51D;N # VAI SYLLABLE YEE
++A51E;N # VAI SYLLABLE KEE
++A51F;N # VAI SYLLABLE NGGEE
++A520;N # VAI SYLLABLE GEE
++A521;N # VAI SYLLABLE MEE
++A522;N # VAI SYLLABLE NEE
++A523;N # VAI SYLLABLE NYEE
++A524;N # VAI SYLLABLE I
++A525;N # VAI SYLLABLE IN
++A526;N # VAI SYLLABLE HI
++A527;N # VAI SYLLABLE HIN
++A528;N # VAI SYLLABLE WI
++A529;N # VAI SYLLABLE WIN
++A52A;N # VAI SYLLABLE PI
++A52B;N # VAI SYLLABLE BHI
++A52C;N # VAI SYLLABLE BI
++A52D;N # VAI SYLLABLE MBI
++A52E;N # VAI SYLLABLE KPI
++A52F;N # VAI SYLLABLE MGBI
++A530;N # VAI SYLLABLE GBI
++A531;N # VAI SYLLABLE FI
++A532;N # VAI SYLLABLE VI
++A533;N # VAI SYLLABLE TI
++A534;N # VAI SYLLABLE THI
++A535;N # VAI SYLLABLE DHI
++A536;N # VAI SYLLABLE DHHI
++A537;N # VAI SYLLABLE LI
++A538;N # VAI SYLLABLE RI
++A539;N # VAI SYLLABLE DI
++A53A;N # VAI SYLLABLE NDI
++A53B;N # VAI SYLLABLE SI
++A53C;N # VAI SYLLABLE SHI
++A53D;N # VAI SYLLABLE ZI
++A53E;N # VAI SYLLABLE ZHI
++A53F;N # VAI SYLLABLE CI
++A540;N # VAI SYLLABLE JI
++A541;N # VAI SYLLABLE NJI
++A542;N # VAI SYLLABLE YI
++A543;N # VAI SYLLABLE KI
++A544;N # VAI SYLLABLE NGGI
++A545;N # VAI SYLLABLE GI
++A546;N # VAI SYLLABLE MI
++A547;N # VAI SYLLABLE NI
++A548;N # VAI SYLLABLE NYI
++A549;N # VAI SYLLABLE A
++A54A;N # VAI SYLLABLE AN
++A54B;N # VAI SYLLABLE NGAN
++A54C;N # VAI SYLLABLE HA
++A54D;N # VAI SYLLABLE HAN
++A54E;N # VAI SYLLABLE WA
++A54F;N # VAI SYLLABLE WAN
++A550;N # VAI SYLLABLE PA
++A551;N # VAI SYLLABLE BHA
++A552;N # VAI SYLLABLE BA
++A553;N # VAI SYLLABLE MBA
++A554;N # VAI SYLLABLE KPA
++A555;N # VAI SYLLABLE KPAN
++A556;N # VAI SYLLABLE MGBA
++A557;N # VAI SYLLABLE GBA
++A558;N # VAI SYLLABLE FA
++A559;N # VAI SYLLABLE VA
++A55A;N # VAI SYLLABLE TA
++A55B;N # VAI SYLLABLE THA
++A55C;N # VAI SYLLABLE DHA
++A55D;N # VAI SYLLABLE DHHA
++A55E;N # VAI SYLLABLE LA
++A55F;N # VAI SYLLABLE RA
++A560;N # VAI SYLLABLE DA
++A561;N # VAI SYLLABLE NDA
++A562;N # VAI SYLLABLE SA
++A563;N # VAI SYLLABLE SHA
++A564;N # VAI SYLLABLE ZA
++A565;N # VAI SYLLABLE ZHA
++A566;N # VAI SYLLABLE CA
++A567;N # VAI SYLLABLE JA
++A568;N # VAI SYLLABLE NJA
++A569;N # VAI SYLLABLE YA
++A56A;N # VAI SYLLABLE KA
++A56B;N # VAI SYLLABLE KAN
++A56C;N # VAI SYLLABLE NGGA
++A56D;N # VAI SYLLABLE GA
++A56E;N # VAI SYLLABLE MA
++A56F;N # VAI SYLLABLE NA
++A570;N # VAI SYLLABLE NYA
++A571;N # VAI SYLLABLE OO
++A572;N # VAI SYLLABLE OON
++A573;N # VAI SYLLABLE HOO
++A574;N # VAI SYLLABLE WOO
++A575;N # VAI SYLLABLE WOON
++A576;N # VAI SYLLABLE POO
++A577;N # VAI SYLLABLE BHOO
++A578;N # VAI SYLLABLE BOO
++A579;N # VAI SYLLABLE MBOO
++A57A;N # VAI SYLLABLE KPOO
++A57B;N # VAI SYLLABLE MGBOO
++A57C;N # VAI SYLLABLE GBOO
++A57D;N # VAI SYLLABLE FOO
++A57E;N # VAI SYLLABLE VOO
++A57F;N # VAI SYLLABLE TOO
++A580;N # VAI SYLLABLE THOO
++A581;N # VAI SYLLABLE DHOO
++A582;N # VAI SYLLABLE DHHOO
++A583;N # VAI SYLLABLE LOO
++A584;N # VAI SYLLABLE ROO
++A585;N # VAI SYLLABLE DOO
++A586;N # VAI SYLLABLE NDOO
++A587;N # VAI SYLLABLE SOO
++A588;N # VAI SYLLABLE SHOO
++A589;N # VAI SYLLABLE ZOO
++A58A;N # VAI SYLLABLE ZHOO
++A58B;N # VAI SYLLABLE COO
++A58C;N # VAI SYLLABLE JOO
++A58D;N # VAI SYLLABLE NJOO
++A58E;N # VAI SYLLABLE YOO
++A58F;N # VAI SYLLABLE KOO
++A590;N # VAI SYLLABLE NGGOO
++A591;N # VAI SYLLABLE GOO
++A592;N # VAI SYLLABLE MOO
++A593;N # VAI SYLLABLE NOO
++A594;N # VAI SYLLABLE NYOO
++A595;N # VAI SYLLABLE U
++A596;N # VAI SYLLABLE UN
++A597;N # VAI SYLLABLE HU
++A598;N # VAI SYLLABLE HUN
++A599;N # VAI SYLLABLE WU
++A59A;N # VAI SYLLABLE WUN
++A59B;N # VAI SYLLABLE PU
++A59C;N # VAI SYLLABLE BHU
++A59D;N # VAI SYLLABLE BU
++A59E;N # VAI SYLLABLE MBU
++A59F;N # VAI SYLLABLE KPU
++A5A0;N # VAI SYLLABLE MGBU
++A5A1;N # VAI SYLLABLE GBU
++A5A2;N # VAI SYLLABLE FU
++A5A3;N # VAI SYLLABLE VU
++A5A4;N # VAI SYLLABLE TU
++A5A5;N # VAI SYLLABLE THU
++A5A6;N # VAI SYLLABLE DHU
++A5A7;N # VAI SYLLABLE DHHU
++A5A8;N # VAI SYLLABLE LU
++A5A9;N # VAI SYLLABLE RU
++A5AA;N # VAI SYLLABLE DU
++A5AB;N # VAI SYLLABLE NDU
++A5AC;N # VAI SYLLABLE SU
++A5AD;N # VAI SYLLABLE SHU
++A5AE;N # VAI SYLLABLE ZU
++A5AF;N # VAI SYLLABLE ZHU
++A5B0;N # VAI SYLLABLE CU
++A5B1;N # VAI SYLLABLE JU
++A5B2;N # VAI SYLLABLE NJU
++A5B3;N # VAI SYLLABLE YU
++A5B4;N # VAI SYLLABLE KU
++A5B5;N # VAI SYLLABLE NGGU
++A5B6;N # VAI SYLLABLE GU
++A5B7;N # VAI SYLLABLE MU
++A5B8;N # VAI SYLLABLE NU
++A5B9;N # VAI SYLLABLE NYU
++A5BA;N # VAI SYLLABLE O
++A5BB;N # VAI SYLLABLE ON
++A5BC;N # VAI SYLLABLE NGON
++A5BD;N # VAI SYLLABLE HO
++A5BE;N # VAI SYLLABLE HON
++A5BF;N # VAI SYLLABLE WO
++A5C0;N # VAI SYLLABLE WON
++A5C1;N # VAI SYLLABLE PO
++A5C2;N # VAI SYLLABLE BHO
++A5C3;N # VAI SYLLABLE BO
++A5C4;N # VAI SYLLABLE MBO
++A5C5;N # VAI SYLLABLE KPO
++A5C6;N # VAI SYLLABLE MGBO
++A5C7;N # VAI SYLLABLE GBO
++A5C8;N # VAI SYLLABLE GBON
++A5C9;N # VAI SYLLABLE FO
++A5CA;N # VAI SYLLABLE VO
++A5CB;N # VAI SYLLABLE TO
++A5CC;N # VAI SYLLABLE THO
++A5CD;N # VAI SYLLABLE DHO
++A5CE;N # VAI SYLLABLE DHHO
++A5CF;N # VAI SYLLABLE LO
++A5D0;N # VAI SYLLABLE RO
++A5D1;N # VAI SYLLABLE DO
++A5D2;N # VAI SYLLABLE NDO
++A5D3;N # VAI SYLLABLE SO
++A5D4;N # VAI SYLLABLE SHO
++A5D5;N # VAI SYLLABLE ZO
++A5D6;N # VAI SYLLABLE ZHO
++A5D7;N # VAI SYLLABLE CO
++A5D8;N # VAI SYLLABLE JO
++A5D9;N # VAI SYLLABLE NJO
++A5DA;N # VAI SYLLABLE YO
++A5DB;N # VAI SYLLABLE KO
++A5DC;N # VAI SYLLABLE NGGO
++A5DD;N # VAI SYLLABLE GO
++A5DE;N # VAI SYLLABLE MO
++A5DF;N # VAI SYLLABLE NO
++A5E0;N # VAI SYLLABLE NYO
++A5E1;N # VAI SYLLABLE E
++A5E2;N # VAI SYLLABLE EN
++A5E3;N # VAI SYLLABLE NGEN
++A5E4;N # VAI SYLLABLE HE
++A5E5;N # VAI SYLLABLE HEN
++A5E6;N # VAI SYLLABLE WE
++A5E7;N # VAI SYLLABLE WEN
++A5E8;N # VAI SYLLABLE PE
++A5E9;N # VAI SYLLABLE BHE
++A5EA;N # VAI SYLLABLE BE
++A5EB;N # VAI SYLLABLE MBE
++A5EC;N # VAI SYLLABLE KPE
++A5ED;N # VAI SYLLABLE KPEN
++A5EE;N # VAI SYLLABLE MGBE
++A5EF;N # VAI SYLLABLE GBE
++A5F0;N # VAI SYLLABLE GBEN
++A5F1;N # VAI SYLLABLE FE
++A5F2;N # VAI SYLLABLE VE
++A5F3;N # VAI SYLLABLE TE
++A5F4;N # VAI SYLLABLE THE
++A5F5;N # VAI SYLLABLE DHE
++A5F6;N # VAI SYLLABLE DHHE
++A5F7;N # VAI SYLLABLE LE
++A5F8;N # VAI SYLLABLE RE
++A5F9;N # VAI SYLLABLE DE
++A5FA;N # VAI SYLLABLE NDE
++A5FB;N # VAI SYLLABLE SE
++A5FC;N # VAI SYLLABLE SHE
++A5FD;N # VAI SYLLABLE ZE
++A5FE;N # VAI SYLLABLE ZHE
++A5FF;N # VAI SYLLABLE CE
++A600;N # VAI SYLLABLE JE
++A601;N # VAI SYLLABLE NJE
++A602;N # VAI SYLLABLE YE
++A603;N # VAI SYLLABLE KE
++A604;N # VAI SYLLABLE NGGE
++A605;N # VAI SYLLABLE NGGEN
++A606;N # VAI SYLLABLE GE
++A607;N # VAI SYLLABLE GEN
++A608;N # VAI SYLLABLE ME
++A609;N # VAI SYLLABLE NE
++A60A;N # VAI SYLLABLE NYE
++A60B;N # VAI SYLLABLE NG
++A60C;N # VAI SYLLABLE LENGTHENER
++A60D;N # VAI COMMA
++A60E;N # VAI FULL STOP
++A60F;N # VAI QUESTION MARK
++A610;N # VAI SYLLABLE NDOLE FA
++A611;N # VAI SYLLABLE NDOLE KA
++A612;N # VAI SYLLABLE NDOLE SOO
++A613;N # VAI SYMBOL FEENG
++A614;N # VAI SYMBOL KEENG
++A615;N # VAI SYMBOL TING
++A616;N # VAI SYMBOL NII
++A617;N # VAI SYMBOL BANG
++A618;N # VAI SYMBOL FAA
++A619;N # VAI SYMBOL TAA
++A61A;N # VAI SYMBOL DANG
++A61B;N # VAI SYMBOL DOONG
++A61C;N # VAI SYMBOL KUNG
++A61D;N # VAI SYMBOL TONG
++A61E;N # VAI SYMBOL DO-O
++A61F;N # VAI SYMBOL JONG
++A620;N # VAI DIGIT ZERO
++A621;N # VAI DIGIT ONE
++A622;N # VAI DIGIT TWO
++A623;N # VAI DIGIT THREE
++A624;N # VAI DIGIT FOUR
++A625;N # VAI DIGIT FIVE
++A626;N # VAI DIGIT SIX
++A627;N # VAI DIGIT SEVEN
++A628;N # VAI DIGIT EIGHT
++A629;N # VAI DIGIT NINE
++A62A;N # VAI SYLLABLE NDOLE MA
++A62B;N # VAI SYLLABLE NDOLE DO
++A640;N # CYRILLIC CAPITAL LETTER ZEMLYA
++A641;N # CYRILLIC SMALL LETTER ZEMLYA
++A642;N # CYRILLIC CAPITAL LETTER DZELO
++A643;N # CYRILLIC SMALL LETTER DZELO
++A644;N # CYRILLIC CAPITAL LETTER REVERSED DZE
++A645;N # CYRILLIC SMALL LETTER REVERSED DZE
++A646;N # CYRILLIC CAPITAL LETTER IOTA
++A647;N # CYRILLIC SMALL LETTER IOTA
++A648;N # CYRILLIC CAPITAL LETTER DJERV
++A649;N # CYRILLIC SMALL LETTER DJERV
++A64A;N # CYRILLIC CAPITAL LETTER MONOGRAPH UK
++A64B;N # CYRILLIC SMALL LETTER MONOGRAPH UK
++A64C;N # CYRILLIC CAPITAL LETTER BROAD OMEGA
++A64D;N # CYRILLIC SMALL LETTER BROAD OMEGA
++A64E;N # CYRILLIC CAPITAL LETTER NEUTRAL YER
++A64F;N # CYRILLIC SMALL LETTER NEUTRAL YER
++A650;N # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
++A651;N # CYRILLIC SMALL LETTER YERU WITH BACK YER
++A652;N # CYRILLIC CAPITAL LETTER IOTIFIED YAT
++A653;N # CYRILLIC SMALL LETTER IOTIFIED YAT
++A654;N # CYRILLIC CAPITAL LETTER REVERSED YU
++A655;N # CYRILLIC SMALL LETTER REVERSED YU
++A656;N # CYRILLIC CAPITAL LETTER IOTIFIED A
++A657;N # CYRILLIC SMALL LETTER IOTIFIED A
++A658;N # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
++A659;N # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
++A65A;N # CYRILLIC CAPITAL LETTER BLENDED YUS
++A65B;N # CYRILLIC SMALL LETTER BLENDED YUS
++A65C;N # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
++A65D;N # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
++A65E;N # CYRILLIC CAPITAL LETTER YN
++A65F;N # CYRILLIC SMALL LETTER YN
++A662;N # CYRILLIC CAPITAL LETTER SOFT DE
++A663;N # CYRILLIC SMALL LETTER SOFT DE
++A664;N # CYRILLIC CAPITAL LETTER SOFT EL
++A665;N # CYRILLIC SMALL LETTER SOFT EL
++A666;N # CYRILLIC CAPITAL LETTER SOFT EM
++A667;N # CYRILLIC SMALL LETTER SOFT EM
++A668;N # CYRILLIC CAPITAL LETTER MONOCULAR O
++A669;N # CYRILLIC SMALL LETTER MONOCULAR O
++A66A;N # CYRILLIC CAPITAL LETTER BINOCULAR O
++A66B;N # CYRILLIC SMALL LETTER BINOCULAR O
++A66C;N # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
++A66D;N # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
++A66E;N # CYRILLIC LETTER MULTIOCULAR O
++A66F;N # COMBINING CYRILLIC VZMET
++A670;N # COMBINING CYRILLIC TEN MILLIONS SIGN
++A671;N # COMBINING CYRILLIC HUNDRED MILLIONS SIGN
++A672;N # COMBINING CYRILLIC THOUSAND MILLIONS SIGN
++A673;N # SLAVONIC ASTERISK
++A67C;N # COMBINING CYRILLIC KAVYKA
++A67D;N # COMBINING CYRILLIC PAYEROK
++A67E;N # CYRILLIC KAVYKA
++A67F;N # CYRILLIC PAYEROK
++A680;N # CYRILLIC CAPITAL LETTER DWE
++A681;N # CYRILLIC SMALL LETTER DWE
++A682;N # CYRILLIC CAPITAL LETTER DZWE
++A683;N # CYRILLIC SMALL LETTER DZWE
++A684;N # CYRILLIC CAPITAL LETTER ZHWE
++A685;N # CYRILLIC SMALL LETTER ZHWE
++A686;N # CYRILLIC CAPITAL LETTER CCHE
++A687;N # CYRILLIC SMALL LETTER CCHE
++A688;N # CYRILLIC CAPITAL LETTER DZZE
++A689;N # CYRILLIC SMALL LETTER DZZE
++A68A;N # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
++A68B;N # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
++A68C;N # CYRILLIC CAPITAL LETTER TWE
++A68D;N # CYRILLIC SMALL LETTER TWE
++A68E;N # CYRILLIC CAPITAL LETTER TSWE
++A68F;N # CYRILLIC SMALL LETTER TSWE
++A690;N # CYRILLIC CAPITAL LETTER TSSE
++A691;N # CYRILLIC SMALL LETTER TSSE
++A692;N # CYRILLIC CAPITAL LETTER TCHE
++A693;N # CYRILLIC SMALL LETTER TCHE
++A694;N # CYRILLIC CAPITAL LETTER HWE
++A695;N # CYRILLIC SMALL LETTER HWE
++A696;N # CYRILLIC CAPITAL LETTER SHWE
++A697;N # CYRILLIC SMALL LETTER SHWE
++A6A0;N # BAMUM LETTER A
++A6A1;N # BAMUM LETTER KA
++A6A2;N # BAMUM LETTER U
++A6A3;N # BAMUM LETTER KU
++A6A4;N # BAMUM LETTER EE
++A6A5;N # BAMUM LETTER REE
++A6A6;N # BAMUM LETTER TAE
++A6A7;N # BAMUM LETTER O
++A6A8;N # BAMUM LETTER NYI
++A6A9;N # BAMUM LETTER I
++A6AA;N # BAMUM LETTER LA
++A6AB;N # BAMUM LETTER PA
++A6AC;N # BAMUM LETTER RII
++A6AD;N # BAMUM LETTER RIEE
++A6AE;N # BAMUM LETTER LEEEE
++A6AF;N # BAMUM LETTER MEEEE
++A6B0;N # BAMUM LETTER TAA
++A6B1;N # BAMUM LETTER NDAA
++A6B2;N # BAMUM LETTER NJAEM
++A6B3;N # BAMUM LETTER M
++A6B4;N # BAMUM LETTER SUU
++A6B5;N # BAMUM LETTER MU
++A6B6;N # BAMUM LETTER SHII
++A6B7;N # BAMUM LETTER SI
++A6B8;N # BAMUM LETTER SHEUX
++A6B9;N # BAMUM LETTER SEUX
++A6BA;N # BAMUM LETTER KYEE
++A6BB;N # BAMUM LETTER KET
++A6BC;N # BAMUM LETTER NUAE
++A6BD;N # BAMUM LETTER NU
++A6BE;N # BAMUM LETTER NJUAE
++A6BF;N # BAMUM LETTER YOQ
++A6C0;N # BAMUM LETTER SHU
++A6C1;N # BAMUM LETTER YUQ
++A6C2;N # BAMUM LETTER YA
++A6C3;N # BAMUM LETTER NSHA
++A6C4;N # BAMUM LETTER KEUX
++A6C5;N # BAMUM LETTER PEUX
++A6C6;N # BAMUM LETTER NJEE
++A6C7;N # BAMUM LETTER NTEE
++A6C8;N # BAMUM LETTER PUE
++A6C9;N # BAMUM LETTER WUE
++A6CA;N # BAMUM LETTER PEE
++A6CB;N # BAMUM LETTER FEE
++A6CC;N # BAMUM LETTER RU
++A6CD;N # BAMUM LETTER LU
++A6CE;N # BAMUM LETTER MI
++A6CF;N # BAMUM LETTER NI
++A6D0;N # BAMUM LETTER REUX
++A6D1;N # BAMUM LETTER RAE
++A6D2;N # BAMUM LETTER KEN
++A6D3;N # BAMUM LETTER NGKWAEN
++A6D4;N # BAMUM LETTER NGGA
++A6D5;N # BAMUM LETTER NGA
++A6D6;N # BAMUM LETTER SHO
++A6D7;N # BAMUM LETTER PUAE
++A6D8;N # BAMUM LETTER FU
++A6D9;N # BAMUM LETTER FOM
++A6DA;N # BAMUM LETTER WA
++A6DB;N # BAMUM LETTER NA
++A6DC;N # BAMUM LETTER LI
++A6DD;N # BAMUM LETTER PI
++A6DE;N # BAMUM LETTER LOQ
++A6DF;N # BAMUM LETTER KO
++A6E0;N # BAMUM LETTER MBEN
++A6E1;N # BAMUM LETTER REN
++A6E2;N # BAMUM LETTER MEN
++A6E3;N # BAMUM LETTER MA
++A6E4;N # BAMUM LETTER TI
++A6E5;N # BAMUM LETTER KI
++A6E6;N # BAMUM LETTER MO
++A6E7;N # BAMUM LETTER MBAA
++A6E8;N # BAMUM LETTER TET
++A6E9;N # BAMUM LETTER KPA
++A6EA;N # BAMUM LETTER TEN
++A6EB;N # BAMUM LETTER NTUU
++A6EC;N # BAMUM LETTER SAMBA
++A6ED;N # BAMUM LETTER FAAMAE
++A6EE;N # BAMUM LETTER KOVUU
++A6EF;N # BAMUM LETTER KOGHOM
++A6F0;N # BAMUM COMBINING MARK KOQNDON
++A6F1;N # BAMUM COMBINING MARK TUKWENTIS
++A6F2;N # BAMUM NJAEMLI
++A6F3;N # BAMUM FULL STOP
++A6F4;N # BAMUM COLON
++A6F5;N # BAMUM COMMA
++A6F6;N # BAMUM SEMICOLON
++A6F7;N # BAMUM QUESTION MARK
++A700;N # MODIFIER LETTER CHINESE TONE YIN PING
++A701;N # MODIFIER LETTER CHINESE TONE YANG PING
++A702;N # MODIFIER LETTER CHINESE TONE YIN SHANG
++A703;N # MODIFIER LETTER CHINESE TONE YANG SHANG
++A704;N # MODIFIER LETTER CHINESE TONE YIN QU
++A705;N # MODIFIER LETTER CHINESE TONE YANG QU
++A706;N # MODIFIER LETTER CHINESE TONE YIN RU
++A707;N # MODIFIER LETTER CHINESE TONE YANG RU
++A708;N # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
++A709;N # MODIFIER LETTER HIGH DOTTED TONE BAR
++A70A;N # MODIFIER LETTER MID DOTTED TONE BAR
++A70B;N # MODIFIER LETTER LOW DOTTED TONE BAR
++A70C;N # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
++A70D;N # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
++A70E;N # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
++A70F;N # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
++A710;N # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
++A711;N # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
++A712;N # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
++A713;N # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
++A714;N # MODIFIER LETTER MID LEFT-STEM TONE BAR
++A715;N # MODIFIER LETTER LOW LEFT-STEM TONE BAR
++A716;N # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
++A717;N # MODIFIER LETTER DOT VERTICAL BAR
++A718;N # MODIFIER LETTER DOT SLASH
++A719;N # MODIFIER LETTER DOT HORIZONTAL BAR
++A71A;N # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
++A71B;N # MODIFIER LETTER RAISED UP ARROW
++A71C;N # MODIFIER LETTER RAISED DOWN ARROW
++A71D;N # MODIFIER LETTER RAISED EXCLAMATION MARK
++A71E;N # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
++A71F;N # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
++A720;N # MODIFIER LETTER STRESS AND HIGH TONE
++A721;N # MODIFIER LETTER STRESS AND LOW TONE
++A722;N # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
++A723;N # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
++A724;N # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
++A725;N # LATIN SMALL LETTER EGYPTOLOGICAL AIN
++A726;N # LATIN CAPITAL LETTER HENG
++A727;N # LATIN SMALL LETTER HENG
++A728;N # LATIN CAPITAL LETTER TZ
++A729;N # LATIN SMALL LETTER TZ
++A72A;N # LATIN CAPITAL LETTER TRESILLO
++A72B;N # LATIN SMALL LETTER TRESILLO
++A72C;N # LATIN CAPITAL LETTER CUATRILLO
++A72D;N # LATIN SMALL LETTER CUATRILLO
++A72E;N # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
++A72F;N # LATIN SMALL LETTER CUATRILLO WITH COMMA
++A730;N # LATIN LETTER SMALL CAPITAL F
++A731;N # LATIN LETTER SMALL CAPITAL S
++A732;N # LATIN CAPITAL LETTER AA
++A733;N # LATIN SMALL LETTER AA
++A734;N # LATIN CAPITAL LETTER AO
++A735;N # LATIN SMALL LETTER AO
++A736;N # LATIN CAPITAL LETTER AU
++A737;N # LATIN SMALL LETTER AU
++A738;N # LATIN CAPITAL LETTER AV
++A739;N # LATIN SMALL LETTER AV
++A73A;N # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
++A73B;N # LATIN SMALL LETTER AV WITH HORIZONTAL BAR
++A73C;N # LATIN CAPITAL LETTER AY
++A73D;N # LATIN SMALL LETTER AY
++A73E;N # LATIN CAPITAL LETTER REVERSED C WITH DOT
++A73F;N # LATIN SMALL LETTER REVERSED C WITH DOT
++A740;N # LATIN CAPITAL LETTER K WITH STROKE
++A741;N # LATIN SMALL LETTER K WITH STROKE
++A742;N # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
++A743;N # LATIN SMALL LETTER K WITH DIAGONAL STROKE
++A744;N # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
++A745;N # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
++A746;N # LATIN CAPITAL LETTER BROKEN L
++A747;N # LATIN SMALL LETTER BROKEN L
++A748;N # LATIN CAPITAL LETTER L WITH HIGH STROKE
++A749;N # LATIN SMALL LETTER L WITH HIGH STROKE
++A74A;N # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
++A74B;N # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
++A74C;N # LATIN CAPITAL LETTER O WITH LOOP
++A74D;N # LATIN SMALL LETTER O WITH LOOP
++A74E;N # LATIN CAPITAL LETTER OO
++A74F;N # LATIN SMALL LETTER OO
++A750;N # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
++A751;N # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
++A752;N # LATIN CAPITAL LETTER P WITH FLOURISH
++A753;N # LATIN SMALL LETTER P WITH FLOURISH
++A754;N # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
++A755;N # LATIN SMALL LETTER P WITH SQUIRREL TAIL
++A756;N # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
++A757;N # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
++A758;N # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
++A759;N # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
++A75A;N # LATIN CAPITAL LETTER R ROTUNDA
++A75B;N # LATIN SMALL LETTER R ROTUNDA
++A75C;N # LATIN CAPITAL LETTER RUM ROTUNDA
++A75D;N # LATIN SMALL LETTER RUM ROTUNDA
++A75E;N # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
++A75F;N # LATIN SMALL LETTER V WITH DIAGONAL STROKE
++A760;N # LATIN CAPITAL LETTER VY
++A761;N # LATIN SMALL LETTER VY
++A762;N # LATIN CAPITAL LETTER VISIGOTHIC Z
++A763;N # LATIN SMALL LETTER VISIGOTHIC Z
++A764;N # LATIN CAPITAL LETTER THORN WITH STROKE
++A765;N # LATIN SMALL LETTER THORN WITH STROKE
++A766;N # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
++A767;N # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
++A768;N # LATIN CAPITAL LETTER VEND
++A769;N # LATIN SMALL LETTER VEND
++A76A;N # LATIN CAPITAL LETTER ET
++A76B;N # LATIN SMALL LETTER ET
++A76C;N # LATIN CAPITAL LETTER IS
++A76D;N # LATIN SMALL LETTER IS
++A76E;N # LATIN CAPITAL LETTER CON
++A76F;N # LATIN SMALL LETTER CON
++A770;N # MODIFIER LETTER US
++A771;N # LATIN SMALL LETTER DUM
++A772;N # LATIN SMALL LETTER LUM
++A773;N # LATIN SMALL LETTER MUM
++A774;N # LATIN SMALL LETTER NUM
++A775;N # LATIN SMALL LETTER RUM
++A776;N # LATIN LETTER SMALL CAPITAL RUM
++A777;N # LATIN SMALL LETTER TUM
++A778;N # LATIN SMALL LETTER UM
++A779;N # LATIN CAPITAL LETTER INSULAR D
++A77A;N # LATIN SMALL LETTER INSULAR D
++A77B;N # LATIN CAPITAL LETTER INSULAR F
++A77C;N # LATIN SMALL LETTER INSULAR F
++A77D;N # LATIN CAPITAL LETTER INSULAR G
++A77E;N # LATIN CAPITAL LETTER TURNED INSULAR G
++A77F;N # LATIN SMALL LETTER TURNED INSULAR G
++A780;N # LATIN CAPITAL LETTER TURNED L
++A781;N # LATIN SMALL LETTER TURNED L
++A782;N # LATIN CAPITAL LETTER INSULAR R
++A783;N # LATIN SMALL LETTER INSULAR R
++A784;N # LATIN CAPITAL LETTER INSULAR S
++A785;N # LATIN SMALL LETTER INSULAR S
++A786;N # LATIN CAPITAL LETTER INSULAR T
++A787;N # LATIN SMALL LETTER INSULAR T
++A788;N # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
++A789;N # MODIFIER LETTER COLON
++A78A;N # MODIFIER LETTER SHORT EQUALS SIGN
++A78B;N # LATIN CAPITAL LETTER SALTILLO
++A78C;N # LATIN SMALL LETTER SALTILLO
++A7FB;N # LATIN EPIGRAPHIC LETTER REVERSED F
++A7FC;N # LATIN EPIGRAPHIC LETTER REVERSED P
++A7FD;N # LATIN EPIGRAPHIC LETTER INVERTED M
++A7FE;N # LATIN EPIGRAPHIC LETTER I LONGA
++A7FF;N # LATIN EPIGRAPHIC LETTER ARCHAIC M
++A800;N # SYLOTI NAGRI LETTER A
++A801;N # SYLOTI NAGRI LETTER I
++A802;N # SYLOTI NAGRI SIGN DVISVARA
++A803;N # SYLOTI NAGRI LETTER U
++A804;N # SYLOTI NAGRI LETTER E
++A805;N # SYLOTI NAGRI LETTER O
++A806;N # SYLOTI NAGRI SIGN HASANTA
++A807;N # SYLOTI NAGRI LETTER KO
++A808;N # SYLOTI NAGRI LETTER KHO
++A809;N # SYLOTI NAGRI LETTER GO
++A80A;N # SYLOTI NAGRI LETTER GHO
++A80B;N # SYLOTI NAGRI SIGN ANUSVARA
++A80C;N # SYLOTI NAGRI LETTER CO
++A80D;N # SYLOTI NAGRI LETTER CHO
++A80E;N # SYLOTI NAGRI LETTER JO
++A80F;N # SYLOTI NAGRI LETTER JHO
++A810;N # SYLOTI NAGRI LETTER TTO
++A811;N # SYLOTI NAGRI LETTER TTHO
++A812;N # SYLOTI NAGRI LETTER DDO
++A813;N # SYLOTI NAGRI LETTER DDHO
++A814;N # SYLOTI NAGRI LETTER TO
++A815;N # SYLOTI NAGRI LETTER THO
++A816;N # SYLOTI NAGRI LETTER DO
++A817;N # SYLOTI NAGRI LETTER DHO
++A818;N # SYLOTI NAGRI LETTER NO
++A819;N # SYLOTI NAGRI LETTER PO
++A81A;N # SYLOTI NAGRI LETTER PHO
++A81B;N # SYLOTI NAGRI LETTER BO
++A81C;N # SYLOTI NAGRI LETTER BHO
++A81D;N # SYLOTI NAGRI LETTER MO
++A81E;N # SYLOTI NAGRI LETTER RO
++A81F;N # SYLOTI NAGRI LETTER LO
++A820;N # SYLOTI NAGRI LETTER RRO
++A821;N # SYLOTI NAGRI LETTER SO
++A822;N # SYLOTI NAGRI LETTER HO
++A823;N # SYLOTI NAGRI VOWEL SIGN A
++A824;N # SYLOTI NAGRI VOWEL SIGN I
++A825;N # SYLOTI NAGRI VOWEL SIGN U
++A826;N # SYLOTI NAGRI VOWEL SIGN E
++A827;N # SYLOTI NAGRI VOWEL SIGN OO
++A828;N # SYLOTI NAGRI POETRY MARK-1
++A829;N # SYLOTI NAGRI POETRY MARK-2
++A82A;N # SYLOTI NAGRI POETRY MARK-3
++A82B;N # SYLOTI NAGRI POETRY MARK-4
++A830;N # NORTH INDIC FRACTION ONE QUARTER
++A831;N # NORTH INDIC FRACTION ONE HALF
++A832;N # NORTH INDIC FRACTION THREE QUARTERS
++A833;N # NORTH INDIC FRACTION ONE SIXTEENTH
++A834;N # NORTH INDIC FRACTION ONE EIGHTH
++A835;N # NORTH INDIC FRACTION THREE SIXTEENTHS
++A836;N # NORTH INDIC QUARTER MARK
++A837;N # NORTH INDIC PLACEHOLDER MARK
++A838;N # NORTH INDIC RUPEE MARK
++A839;N # NORTH INDIC QUANTITY MARK
++A840;N # PHAGS-PA LETTER KA
++A841;N # PHAGS-PA LETTER KHA
++A842;N # PHAGS-PA LETTER GA
++A843;N # PHAGS-PA LETTER NGA
++A844;N # PHAGS-PA LETTER CA
++A845;N # PHAGS-PA LETTER CHA
++A846;N # PHAGS-PA LETTER JA
++A847;N # PHAGS-PA LETTER NYA
++A848;N # PHAGS-PA LETTER TA
++A849;N # PHAGS-PA LETTER THA
++A84A;N # PHAGS-PA LETTER DA
++A84B;N # PHAGS-PA LETTER NA
++A84C;N # PHAGS-PA LETTER PA
++A84D;N # PHAGS-PA LETTER PHA
++A84E;N # PHAGS-PA LETTER BA
++A84F;N # PHAGS-PA LETTER MA
++A850;N # PHAGS-PA LETTER TSA
++A851;N # PHAGS-PA LETTER TSHA
++A852;N # PHAGS-PA LETTER DZA
++A853;N # PHAGS-PA LETTER WA
++A854;N # PHAGS-PA LETTER ZHA
++A855;N # PHAGS-PA LETTER ZA
++A856;N # PHAGS-PA LETTER SMALL A
++A857;N # PHAGS-PA LETTER YA
++A858;N # PHAGS-PA LETTER RA
++A859;N # PHAGS-PA LETTER LA
++A85A;N # PHAGS-PA LETTER SHA
++A85B;N # PHAGS-PA LETTER SA
++A85C;N # PHAGS-PA LETTER HA
++A85D;N # PHAGS-PA LETTER A
++A85E;N # PHAGS-PA LETTER I
++A85F;N # PHAGS-PA LETTER U
++A860;N # PHAGS-PA LETTER E
++A861;N # PHAGS-PA LETTER O
++A862;N # PHAGS-PA LETTER QA
++A863;N # PHAGS-PA LETTER XA
++A864;N # PHAGS-PA LETTER FA
++A865;N # PHAGS-PA LETTER GGA
++A866;N # PHAGS-PA LETTER EE
++A867;N # PHAGS-PA SUBJOINED LETTER WA
++A868;N # PHAGS-PA SUBJOINED LETTER YA
++A869;N # PHAGS-PA LETTER TTA
++A86A;N # PHAGS-PA LETTER TTHA
++A86B;N # PHAGS-PA LETTER DDA
++A86C;N # PHAGS-PA LETTER NNA
++A86D;N # PHAGS-PA LETTER ALTERNATE YA
++A86E;N # PHAGS-PA LETTER VOICELESS SHA
++A86F;N # PHAGS-PA LETTER VOICED HA
++A870;N # PHAGS-PA LETTER ASPIRATED FA
++A871;N # PHAGS-PA SUBJOINED LETTER RA
++A872;N # PHAGS-PA SUPERFIXED LETTER RA
++A873;N # PHAGS-PA LETTER CANDRABINDU
++A874;N # PHAGS-PA SINGLE HEAD MARK
++A875;N # PHAGS-PA DOUBLE HEAD MARK
++A876;N # PHAGS-PA MARK SHAD
++A877;N # PHAGS-PA MARK DOUBLE SHAD
++A880;N # SAURASHTRA SIGN ANUSVARA
++A881;N # SAURASHTRA SIGN VISARGA
++A882;N # SAURASHTRA LETTER A
++A883;N # SAURASHTRA LETTER AA
++A884;N # SAURASHTRA LETTER I
++A885;N # SAURASHTRA LETTER II
++A886;N # SAURASHTRA LETTER U
++A887;N # SAURASHTRA LETTER UU
++A888;N # SAURASHTRA LETTER VOCALIC R
++A889;N # SAURASHTRA LETTER VOCALIC RR
++A88A;N # SAURASHTRA LETTER VOCALIC L
++A88B;N # SAURASHTRA LETTER VOCALIC LL
++A88C;N # SAURASHTRA LETTER E
++A88D;N # SAURASHTRA LETTER EE
++A88E;N # SAURASHTRA LETTER AI
++A88F;N # SAURASHTRA LETTER O
++A890;N # SAURASHTRA LETTER OO
++A891;N # SAURASHTRA LETTER AU
++A892;N # SAURASHTRA LETTER KA
++A893;N # SAURASHTRA LETTER KHA
++A894;N # SAURASHTRA LETTER GA
++A895;N # SAURASHTRA LETTER GHA
++A896;N # SAURASHTRA LETTER NGA
++A897;N # SAURASHTRA LETTER CA
++A898;N # SAURASHTRA LETTER CHA
++A899;N # SAURASHTRA LETTER JA
++A89A;N # SAURASHTRA LETTER JHA
++A89B;N # SAURASHTRA LETTER NYA
++A89C;N # SAURASHTRA LETTER TTA
++A89D;N # SAURASHTRA LETTER TTHA
++A89E;N # SAURASHTRA LETTER DDA
++A89F;N # SAURASHTRA LETTER DDHA
++A8A0;N # SAURASHTRA LETTER NNA
++A8A1;N # SAURASHTRA LETTER TA
++A8A2;N # SAURASHTRA LETTER THA
++A8A3;N # SAURASHTRA LETTER DA
++A8A4;N # SAURASHTRA LETTER DHA
++A8A5;N # SAURASHTRA LETTER NA
++A8A6;N # SAURASHTRA LETTER PA
++A8A7;N # SAURASHTRA LETTER PHA
++A8A8;N # SAURASHTRA LETTER BA
++A8A9;N # SAURASHTRA LETTER BHA
++A8AA;N # SAURASHTRA LETTER MA
++A8AB;N # SAURASHTRA LETTER YA
++A8AC;N # SAURASHTRA LETTER RA
++A8AD;N # SAURASHTRA LETTER LA
++A8AE;N # SAURASHTRA LETTER VA
++A8AF;N # SAURASHTRA LETTER SHA
++A8B0;N # SAURASHTRA LETTER SSA
++A8B1;N # SAURASHTRA LETTER SA
++A8B2;N # SAURASHTRA LETTER HA
++A8B3;N # SAURASHTRA LETTER LLA
++A8B4;N # SAURASHTRA CONSONANT SIGN HAARU
++A8B5;N # SAURASHTRA VOWEL SIGN AA
++A8B6;N # SAURASHTRA VOWEL SIGN I
++A8B7;N # SAURASHTRA VOWEL SIGN II
++A8B8;N # SAURASHTRA VOWEL SIGN U
++A8B9;N # SAURASHTRA VOWEL SIGN UU
++A8BA;N # SAURASHTRA VOWEL SIGN VOCALIC R
++A8BB;N # SAURASHTRA VOWEL SIGN VOCALIC RR
++A8BC;N # SAURASHTRA VOWEL SIGN VOCALIC L
++A8BD;N # SAURASHTRA VOWEL SIGN VOCALIC LL
++A8BE;N # SAURASHTRA VOWEL SIGN E
++A8BF;N # SAURASHTRA VOWEL SIGN EE
++A8C0;N # SAURASHTRA VOWEL SIGN AI
++A8C1;N # SAURASHTRA VOWEL SIGN O
++A8C2;N # SAURASHTRA VOWEL SIGN OO
++A8C3;N # SAURASHTRA VOWEL SIGN AU
++A8C4;N # SAURASHTRA SIGN VIRAMA
++A8CE;N # SAURASHTRA DANDA
++A8CF;N # SAURASHTRA DOUBLE DANDA
++A8D0;N # SAURASHTRA DIGIT ZERO
++A8D1;N # SAURASHTRA DIGIT ONE
++A8D2;N # SAURASHTRA DIGIT TWO
++A8D3;N # SAURASHTRA DIGIT THREE
++A8D4;N # SAURASHTRA DIGIT FOUR
++A8D5;N # SAURASHTRA DIGIT FIVE
++A8D6;N # SAURASHTRA DIGIT SIX
++A8D7;N # SAURASHTRA DIGIT SEVEN
++A8D8;N # SAURASHTRA DIGIT EIGHT
++A8D9;N # SAURASHTRA DIGIT NINE
++A8E0;N # COMBINING DEVANAGARI DIGIT ZERO
++A8E1;N # COMBINING DEVANAGARI DIGIT ONE
++A8E2;N # COMBINING DEVANAGARI DIGIT TWO
++A8E3;N # COMBINING DEVANAGARI DIGIT THREE
++A8E4;N # COMBINING DEVANAGARI DIGIT FOUR
++A8E5;N # COMBINING DEVANAGARI DIGIT FIVE
++A8E6;N # COMBINING DEVANAGARI DIGIT SIX
++A8E7;N # COMBINING DEVANAGARI DIGIT SEVEN
++A8E8;N # COMBINING DEVANAGARI DIGIT EIGHT
++A8E9;N # COMBINING DEVANAGARI DIGIT NINE
++A8EA;N # COMBINING DEVANAGARI LETTER A
++A8EB;N # COMBINING DEVANAGARI LETTER U
++A8EC;N # COMBINING DEVANAGARI LETTER KA
++A8ED;N # COMBINING DEVANAGARI LETTER NA
++A8EE;N # COMBINING DEVANAGARI LETTER PA
++A8EF;N # COMBINING DEVANAGARI LETTER RA
++A8F0;N # COMBINING DEVANAGARI LETTER VI
++A8F1;N # COMBINING DEVANAGARI SIGN AVAGRAHA
++A8F2;N # DEVANAGARI SIGN SPACING CANDRABINDU
++A8F3;N # DEVANAGARI SIGN CANDRABINDU VIRAMA
++A8F4;N # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
++A8F5;N # DEVANAGARI SIGN CANDRABINDU TWO
++A8F6;N # DEVANAGARI SIGN CANDRABINDU THREE
++A8F7;N # DEVANAGARI SIGN CANDRABINDU AVAGRAHA
++A8F8;N # DEVANAGARI SIGN PUSHPIKA
++A8F9;N # DEVANAGARI GAP FILLER
++A8FA;N # DEVANAGARI CARET
++A8FB;N # DEVANAGARI HEADSTROKE
++A900;N # KAYAH LI DIGIT ZERO
++A901;N # KAYAH LI DIGIT ONE
++A902;N # KAYAH LI DIGIT TWO
++A903;N # KAYAH LI DIGIT THREE
++A904;N # KAYAH LI DIGIT FOUR
++A905;N # KAYAH LI DIGIT FIVE
++A906;N # KAYAH LI DIGIT SIX
++A907;N # KAYAH LI DIGIT SEVEN
++A908;N # KAYAH LI DIGIT EIGHT
++A909;N # KAYAH LI DIGIT NINE
++A90A;N # KAYAH LI LETTER KA
++A90B;N # KAYAH LI LETTER KHA
++A90C;N # KAYAH LI LETTER GA
++A90D;N # KAYAH LI LETTER NGA
++A90E;N # KAYAH LI LETTER SA
++A90F;N # KAYAH LI LETTER SHA
++A910;N # KAYAH LI LETTER ZA
++A911;N # KAYAH LI LETTER NYA
++A912;N # KAYAH LI LETTER TA
++A913;N # KAYAH LI LETTER HTA
++A914;N # KAYAH LI LETTER NA
++A915;N # KAYAH LI LETTER PA
++A916;N # KAYAH LI LETTER PHA
++A917;N # KAYAH LI LETTER MA
++A918;N # KAYAH LI LETTER DA
++A919;N # KAYAH LI LETTER BA
++A91A;N # KAYAH LI LETTER RA
++A91B;N # KAYAH LI LETTER YA
++A91C;N # KAYAH LI LETTER LA
++A91D;N # KAYAH LI LETTER WA
++A91E;N # KAYAH LI LETTER THA
++A91F;N # KAYAH LI LETTER HA
++A920;N # KAYAH LI LETTER VA
++A921;N # KAYAH LI LETTER CA
++A922;N # KAYAH LI LETTER A
++A923;N # KAYAH LI LETTER OE
++A924;N # KAYAH LI LETTER I
++A925;N # KAYAH LI LETTER OO
++A926;N # KAYAH LI VOWEL UE
++A927;N # KAYAH LI VOWEL E
++A928;N # KAYAH LI VOWEL U
++A929;N # KAYAH LI VOWEL EE
++A92A;N # KAYAH LI VOWEL O
++A92B;N # KAYAH LI TONE PLOPHU
++A92C;N # KAYAH LI TONE CALYA
++A92D;N # KAYAH LI TONE CALYA PLOPHU
++A92E;N # KAYAH LI SIGN CWI
++A92F;N # KAYAH LI SIGN SHYA
++A930;N # REJANG LETTER KA
++A931;N # REJANG LETTER GA
++A932;N # REJANG LETTER NGA
++A933;N # REJANG LETTER TA
++A934;N # REJANG LETTER DA
++A935;N # REJANG LETTER NA
++A936;N # REJANG LETTER PA
++A937;N # REJANG LETTER BA
++A938;N # REJANG LETTER MA
++A939;N # REJANG LETTER CA
++A93A;N # REJANG LETTER JA
++A93B;N # REJANG LETTER NYA
++A93C;N # REJANG LETTER SA
++A93D;N # REJANG LETTER RA
++A93E;N # REJANG LETTER LA
++A93F;N # REJANG LETTER YA
++A940;N # REJANG LETTER WA
++A941;N # REJANG LETTER HA
++A942;N # REJANG LETTER MBA
++A943;N # REJANG LETTER NGGA
++A944;N # REJANG LETTER NDA
++A945;N # REJANG LETTER NYJA
++A946;N # REJANG LETTER A
++A947;N # REJANG VOWEL SIGN I
++A948;N # REJANG VOWEL SIGN U
++A949;N # REJANG VOWEL SIGN E
++A94A;N # REJANG VOWEL SIGN AI
++A94B;N # REJANG VOWEL SIGN O
++A94C;N # REJANG VOWEL SIGN AU
++A94D;N # REJANG VOWEL SIGN EU
++A94E;N # REJANG VOWEL SIGN EA
++A94F;N # REJANG CONSONANT SIGN NG
++A950;N # REJANG CONSONANT SIGN N
++A951;N # REJANG CONSONANT SIGN R
++A952;N # REJANG CONSONANT SIGN H
++A953;N # REJANG VIRAMA
++A95F;N # REJANG SECTION MARK
++A960;W # HANGUL CHOSEONG TIKEUT-MIEUM
++A961;W # HANGUL CHOSEONG TIKEUT-PIEUP
++A962;W # HANGUL CHOSEONG TIKEUT-SIOS
++A963;W # HANGUL CHOSEONG TIKEUT-CIEUC
++A964;W # HANGUL CHOSEONG RIEUL-KIYEOK
++A965;W # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
++A966;W # HANGUL CHOSEONG RIEUL-TIKEUT
++A967;W # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
++A968;W # HANGUL CHOSEONG RIEUL-MIEUM
++A969;W # HANGUL CHOSEONG RIEUL-PIEUP
++A96A;W # HANGUL CHOSEONG RIEUL-SSANGPIEUP
++A96B;W # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
++A96C;W # HANGUL CHOSEONG RIEUL-SIOS
++A96D;W # HANGUL CHOSEONG RIEUL-CIEUC
++A96E;W # HANGUL CHOSEONG RIEUL-KHIEUKH
++A96F;W # HANGUL CHOSEONG MIEUM-KIYEOK
++A970;W # HANGUL CHOSEONG MIEUM-TIKEUT
++A971;W # HANGUL CHOSEONG MIEUM-SIOS
++A972;W # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
++A973;W # HANGUL CHOSEONG PIEUP-KHIEUKH
++A974;W # HANGUL CHOSEONG PIEUP-HIEUH
++A975;W # HANGUL CHOSEONG SSANGSIOS-PIEUP
++A976;W # HANGUL CHOSEONG IEUNG-RIEUL
++A977;W # HANGUL CHOSEONG IEUNG-HIEUH
++A978;W # HANGUL CHOSEONG SSANGCIEUC-HIEUH
++A979;W # HANGUL CHOSEONG SSANGTHIEUTH
++A97A;W # HANGUL CHOSEONG PHIEUPH-HIEUH
++A97B;W # HANGUL CHOSEONG HIEUH-SIOS
++A97C;W # HANGUL CHOSEONG SSANGYEORINHIEUH
++A980;N # JAVANESE SIGN PANYANGGA
++A981;N # JAVANESE SIGN CECAK
++A982;N # JAVANESE SIGN LAYAR
++A983;N # JAVANESE SIGN WIGNYAN
++A984;N # JAVANESE LETTER A
++A985;N # JAVANESE LETTER I KAWI
++A986;N # JAVANESE LETTER I
++A987;N # JAVANESE LETTER II
++A988;N # JAVANESE LETTER U
++A989;N # JAVANESE LETTER PA CEREK
++A98A;N # JAVANESE LETTER NGA LELET
++A98B;N # JAVANESE LETTER NGA LELET RASWADI
++A98C;N # JAVANESE LETTER E
++A98D;N # JAVANESE LETTER AI
++A98E;N # JAVANESE LETTER O
++A98F;N # JAVANESE LETTER KA
++A990;N # JAVANESE LETTER KA SASAK
++A991;N # JAVANESE LETTER KA MURDA
++A992;N # JAVANESE LETTER GA
++A993;N # JAVANESE LETTER GA MURDA
++A994;N # JAVANESE LETTER NGA
++A995;N # JAVANESE LETTER CA
++A996;N # JAVANESE LETTER CA MURDA
++A997;N # JAVANESE LETTER JA
++A998;N # JAVANESE LETTER NYA MURDA
++A999;N # JAVANESE LETTER JA MAHAPRANA
++A99A;N # JAVANESE LETTER NYA
++A99B;N # JAVANESE LETTER TTA
++A99C;N # JAVANESE LETTER TTA MAHAPRANA
++A99D;N # JAVANESE LETTER DDA
++A99E;N # JAVANESE LETTER DDA MAHAPRANA
++A99F;N # JAVANESE LETTER NA MURDA
++A9A0;N # JAVANESE LETTER TA
++A9A1;N # JAVANESE LETTER TA MURDA
++A9A2;N # JAVANESE LETTER DA
++A9A3;N # JAVANESE LETTER DA MAHAPRANA
++A9A4;N # JAVANESE LETTER NA
++A9A5;N # JAVANESE LETTER PA
++A9A6;N # JAVANESE LETTER PA MURDA
++A9A7;N # JAVANESE LETTER BA
++A9A8;N # JAVANESE LETTER BA MURDA
++A9A9;N # JAVANESE LETTER MA
++A9AA;N # JAVANESE LETTER YA
++A9AB;N # JAVANESE LETTER RA
++A9AC;N # JAVANESE LETTER RA AGUNG
++A9AD;N # JAVANESE LETTER LA
++A9AE;N # JAVANESE LETTER WA
++A9AF;N # JAVANESE LETTER SA MURDA
++A9B0;N # JAVANESE LETTER SA MAHAPRANA
++A9B1;N # JAVANESE LETTER SA
++A9B2;N # JAVANESE LETTER HA
++A9B3;N # JAVANESE SIGN CECAK TELU
++A9B4;N # JAVANESE VOWEL SIGN TARUNG
++A9B5;N # JAVANESE VOWEL SIGN TOLONG
++A9B6;N # JAVANESE VOWEL SIGN WULU
++A9B7;N # JAVANESE VOWEL SIGN WULU MELIK
++A9B8;N # JAVANESE VOWEL SIGN SUKU
++A9B9;N # JAVANESE VOWEL SIGN SUKU MENDUT
++A9BA;N # JAVANESE VOWEL SIGN TALING
++A9BB;N # JAVANESE VOWEL SIGN DIRGA MURE
++A9BC;N # JAVANESE VOWEL SIGN PEPET
++A9BD;N # JAVANESE CONSONANT SIGN KERET
++A9BE;N # JAVANESE CONSONANT SIGN PENGKAL
++A9BF;N # JAVANESE CONSONANT SIGN CAKRA
++A9C0;N # JAVANESE PANGKON
++A9C1;N # JAVANESE LEFT RERENGGAN
++A9C2;N # JAVANESE RIGHT RERENGGAN
++A9C3;N # JAVANESE PADA ANDAP
++A9C4;N # JAVANESE PADA MADYA
++A9C5;N # JAVANESE PADA LUHUR
++A9C6;N # JAVANESE PADA WINDU
++A9C7;N # JAVANESE PADA PANGKAT
++A9C8;N # JAVANESE PADA LINGSA
++A9C9;N # JAVANESE PADA LUNGSI
++A9CA;N # JAVANESE PADA ADEG
++A9CB;N # JAVANESE PADA ADEG ADEG
++A9CC;N # JAVANESE PADA PISELEH
++A9CD;N # JAVANESE TURNED PADA PISELEH
++A9CF;N # JAVANESE PANGRANGKEP
++A9D0;N # JAVANESE DIGIT ZERO
++A9D1;N # JAVANESE DIGIT ONE
++A9D2;N # JAVANESE DIGIT TWO
++A9D3;N # JAVANESE DIGIT THREE
++A9D4;N # JAVANESE DIGIT FOUR
++A9D5;N # JAVANESE DIGIT FIVE
++A9D6;N # JAVANESE DIGIT SIX
++A9D7;N # JAVANESE DIGIT SEVEN
++A9D8;N # JAVANESE DIGIT EIGHT
++A9D9;N # JAVANESE DIGIT NINE
++A9DE;N # JAVANESE PADA TIRTA TUMETES
++A9DF;N # JAVANESE PADA ISEN-ISEN
++AA00;N # CHAM LETTER A
++AA01;N # CHAM LETTER I
++AA02;N # CHAM LETTER U
++AA03;N # CHAM LETTER E
++AA04;N # CHAM LETTER AI
++AA05;N # CHAM LETTER O
++AA06;N # CHAM LETTER KA
++AA07;N # CHAM LETTER KHA
++AA08;N # CHAM LETTER GA
++AA09;N # CHAM LETTER GHA
++AA0A;N # CHAM LETTER NGUE
++AA0B;N # CHAM LETTER NGA
++AA0C;N # CHAM LETTER CHA
++AA0D;N # CHAM LETTER CHHA
++AA0E;N # CHAM LETTER JA
++AA0F;N # CHAM LETTER JHA
++AA10;N # CHAM LETTER NHUE
++AA11;N # CHAM LETTER NHA
++AA12;N # CHAM LETTER NHJA
++AA13;N # CHAM LETTER TA
++AA14;N # CHAM LETTER THA
++AA15;N # CHAM LETTER DA
++AA16;N # CHAM LETTER DHA
++AA17;N # CHAM LETTER NUE
++AA18;N # CHAM LETTER NA
++AA19;N # CHAM LETTER DDA
++AA1A;N # CHAM LETTER PA
++AA1B;N # CHAM LETTER PPA
++AA1C;N # CHAM LETTER PHA
++AA1D;N # CHAM LETTER BA
++AA1E;N # CHAM LETTER BHA
++AA1F;N # CHAM LETTER MUE
++AA20;N # CHAM LETTER MA
++AA21;N # CHAM LETTER BBA
++AA22;N # CHAM LETTER YA
++AA23;N # CHAM LETTER RA
++AA24;N # CHAM LETTER LA
++AA25;N # CHAM LETTER VA
++AA26;N # CHAM LETTER SSA
++AA27;N # CHAM LETTER SA
++AA28;N # CHAM LETTER HA
++AA29;N # CHAM VOWEL SIGN AA
++AA2A;N # CHAM VOWEL SIGN I
++AA2B;N # CHAM VOWEL SIGN II
++AA2C;N # CHAM VOWEL SIGN EI
++AA2D;N # CHAM VOWEL SIGN U
++AA2E;N # CHAM VOWEL SIGN OE
++AA2F;N # CHAM VOWEL SIGN O
++AA30;N # CHAM VOWEL SIGN AI
++AA31;N # CHAM VOWEL SIGN AU
++AA32;N # CHAM VOWEL SIGN UE
++AA33;N # CHAM CONSONANT SIGN YA
++AA34;N # CHAM CONSONANT SIGN RA
++AA35;N # CHAM CONSONANT SIGN LA
++AA36;N # CHAM CONSONANT SIGN WA
++AA40;N # CHAM LETTER FINAL K
++AA41;N # CHAM LETTER FINAL G
++AA42;N # CHAM LETTER FINAL NG
++AA43;N # CHAM CONSONANT SIGN FINAL NG
++AA44;N # CHAM LETTER FINAL CH
++AA45;N # CHAM LETTER FINAL T
++AA46;N # CHAM LETTER FINAL N
++AA47;N # CHAM LETTER FINAL P
++AA48;N # CHAM LETTER FINAL Y
++AA49;N # CHAM LETTER FINAL R
++AA4A;N # CHAM LETTER FINAL L
++AA4B;N # CHAM LETTER FINAL SS
++AA4C;N # CHAM CONSONANT SIGN FINAL M
++AA4D;N # CHAM CONSONANT SIGN FINAL H
++AA50;N # CHAM DIGIT ZERO
++AA51;N # CHAM DIGIT ONE
++AA52;N # CHAM DIGIT TWO
++AA53;N # CHAM DIGIT THREE
++AA54;N # CHAM DIGIT FOUR
++AA55;N # CHAM DIGIT FIVE
++AA56;N # CHAM DIGIT SIX
++AA57;N # CHAM DIGIT SEVEN
++AA58;N # CHAM DIGIT EIGHT
++AA59;N # CHAM DIGIT NINE
++AA5C;N # CHAM PUNCTUATION SPIRAL
++AA5D;N # CHAM PUNCTUATION DANDA
++AA5E;N # CHAM PUNCTUATION DOUBLE DANDA
++AA5F;N # CHAM PUNCTUATION TRIPLE DANDA
++AA60;N # MYANMAR LETTER KHAMTI GA
++AA61;N # MYANMAR LETTER KHAMTI CA
++AA62;N # MYANMAR LETTER KHAMTI CHA
++AA63;N # MYANMAR LETTER KHAMTI JA
++AA64;N # MYANMAR LETTER KHAMTI JHA
++AA65;N # MYANMAR LETTER KHAMTI NYA
++AA66;N # MYANMAR LETTER KHAMTI TTA
++AA67;N # MYANMAR LETTER KHAMTI TTHA
++AA68;N # MYANMAR LETTER KHAMTI DDA
++AA69;N # MYANMAR LETTER KHAMTI DDHA
++AA6A;N # MYANMAR LETTER KHAMTI DHA
++AA6B;N # MYANMAR LETTER KHAMTI NA
++AA6C;N # MYANMAR LETTER KHAMTI SA
++AA6D;N # MYANMAR LETTER KHAMTI HA
++AA6E;N # MYANMAR LETTER KHAMTI HHA
++AA6F;N # MYANMAR LETTER KHAMTI FA
++AA70;N # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
++AA71;N # MYANMAR LETTER KHAMTI XA
++AA72;N # MYANMAR LETTER KHAMTI ZA
++AA73;N # MYANMAR LETTER KHAMTI RA
++AA74;N # MYANMAR LOGOGRAM KHAMTI OAY
++AA75;N # MYANMAR LOGOGRAM KHAMTI QN
++AA76;N # MYANMAR LOGOGRAM KHAMTI HM
++AA77;N # MYANMAR SYMBOL AITON EXCLAMATION
++AA78;N # MYANMAR SYMBOL AITON ONE
++AA79;N # MYANMAR SYMBOL AITON TWO
++AA7A;N # MYANMAR LETTER AITON RA
++AA7B;N # MYANMAR SIGN PAO KAREN TONE
++AA80;N # TAI VIET LETTER LOW KO
++AA81;N # TAI VIET LETTER HIGH KO
++AA82;N # TAI VIET LETTER LOW KHO
++AA83;N # TAI VIET LETTER HIGH KHO
++AA84;N # TAI VIET LETTER LOW KHHO
++AA85;N # TAI VIET LETTER HIGH KHHO
++AA86;N # TAI VIET LETTER LOW GO
++AA87;N # TAI VIET LETTER HIGH GO
++AA88;N # TAI VIET LETTER LOW NGO
++AA89;N # TAI VIET LETTER HIGH NGO
++AA8A;N # TAI VIET LETTER LOW CO
++AA8B;N # TAI VIET LETTER HIGH CO
++AA8C;N # TAI VIET LETTER LOW CHO
++AA8D;N # TAI VIET LETTER HIGH CHO
++AA8E;N # TAI VIET LETTER LOW SO
++AA8F;N # TAI VIET LETTER HIGH SO
++AA90;N # TAI VIET LETTER LOW NYO
++AA91;N # TAI VIET LETTER HIGH NYO
++AA92;N # TAI VIET LETTER LOW DO
++AA93;N # TAI VIET LETTER HIGH DO
++AA94;N # TAI VIET LETTER LOW TO
++AA95;N # TAI VIET LETTER HIGH TO
++AA96;N # TAI VIET LETTER LOW THO
++AA97;N # TAI VIET LETTER HIGH THO
++AA98;N # TAI VIET LETTER LOW NO
++AA99;N # TAI VIET LETTER HIGH NO
++AA9A;N # TAI VIET LETTER LOW BO
++AA9B;N # TAI VIET LETTER HIGH BO
++AA9C;N # TAI VIET LETTER LOW PO
++AA9D;N # TAI VIET LETTER HIGH PO
++AA9E;N # TAI VIET LETTER LOW PHO
++AA9F;N # TAI VIET LETTER HIGH PHO
++AAA0;N # TAI VIET LETTER LOW FO
++AAA1;N # TAI VIET LETTER HIGH FO
++AAA2;N # TAI VIET LETTER LOW MO
++AAA3;N # TAI VIET LETTER HIGH MO
++AAA4;N # TAI VIET LETTER LOW YO
++AAA5;N # TAI VIET LETTER HIGH YO
++AAA6;N # TAI VIET LETTER LOW RO
++AAA7;N # TAI VIET LETTER HIGH RO
++AAA8;N # TAI VIET LETTER LOW LO
++AAA9;N # TAI VIET LETTER HIGH LO
++AAAA;N # TAI VIET LETTER LOW VO
++AAAB;N # TAI VIET LETTER HIGH VO
++AAAC;N # TAI VIET LETTER LOW HO
++AAAD;N # TAI VIET LETTER HIGH HO
++AAAE;N # TAI VIET LETTER LOW O
++AAAF;N # TAI VIET LETTER HIGH O
++AAB0;N # TAI VIET MAI KANG
++AAB1;N # TAI VIET VOWEL AA
++AAB2;N # TAI VIET VOWEL I
++AAB3;N # TAI VIET VOWEL UE
++AAB4;N # TAI VIET VOWEL U
++AAB5;N # TAI VIET VOWEL E
++AAB6;N # TAI VIET VOWEL O
++AAB7;N # TAI VIET MAI KHIT
++AAB8;N # TAI VIET VOWEL IA
++AAB9;N # TAI VIET VOWEL UEA
++AABA;N # TAI VIET VOWEL UA
++AABB;N # TAI VIET VOWEL AUE
++AABC;N # TAI VIET VOWEL AY
++AABD;N # TAI VIET VOWEL AN
++AABE;N # TAI VIET VOWEL AM
++AABF;N # TAI VIET TONE MAI EK
++AAC0;N # TAI VIET TONE MAI NUENG
++AAC1;N # TAI VIET TONE MAI THO
++AAC2;N # TAI VIET TONE MAI SONG
++AADB;N # TAI VIET SYMBOL KON
++AADC;N # TAI VIET SYMBOL NUENG
++AADD;N # TAI VIET SYMBOL SAM
++AADE;N # TAI VIET SYMBOL HO HOI
++AADF;N # TAI VIET SYMBOL KOI KOI
++ABC0;N # MEETEI MAYEK LETTER KOK
++ABC1;N # MEETEI MAYEK LETTER SAM
++ABC2;N # MEETEI MAYEK LETTER LAI
++ABC3;N # MEETEI MAYEK LETTER MIT
++ABC4;N # MEETEI MAYEK LETTER PA
++ABC5;N # MEETEI MAYEK LETTER NA
++ABC6;N # MEETEI MAYEK LETTER CHIL
++ABC7;N # MEETEI MAYEK LETTER TIL
++ABC8;N # MEETEI MAYEK LETTER KHOU
++ABC9;N # MEETEI MAYEK LETTER NGOU
++ABCA;N # MEETEI MAYEK LETTER THOU
++ABCB;N # MEETEI MAYEK LETTER WAI
++ABCC;N # MEETEI MAYEK LETTER YANG
++ABCD;N # MEETEI MAYEK LETTER HUK
++ABCE;N # MEETEI MAYEK LETTER UN
++ABCF;N # MEETEI MAYEK LETTER I
++ABD0;N # MEETEI MAYEK LETTER PHAM
++ABD1;N # MEETEI MAYEK LETTER ATIYA
++ABD2;N # MEETEI MAYEK LETTER GOK
++ABD3;N # MEETEI MAYEK LETTER JHAM
++ABD4;N # MEETEI MAYEK LETTER RAI
++ABD5;N # MEETEI MAYEK LETTER BA
++ABD6;N # MEETEI MAYEK LETTER JIL
++ABD7;N # MEETEI MAYEK LETTER DIL
++ABD8;N # MEETEI MAYEK LETTER GHOU
++ABD9;N # MEETEI MAYEK LETTER DHOU
++ABDA;N # MEETEI MAYEK LETTER BHAM
++ABDB;N # MEETEI MAYEK LETTER KOK LONSUM
++ABDC;N # MEETEI MAYEK LETTER LAI LONSUM
++ABDD;N # MEETEI MAYEK LETTER MIT LONSUM
++ABDE;N # MEETEI MAYEK LETTER PA LONSUM
++ABDF;N # MEETEI MAYEK LETTER NA LONSUM
++ABE0;N # MEETEI MAYEK LETTER TIL LONSUM
++ABE1;N # MEETEI MAYEK LETTER NGOU LONSUM
++ABE2;N # MEETEI MAYEK LETTER I LONSUM
++ABE3;N # MEETEI MAYEK VOWEL SIGN ONAP
++ABE4;N # MEETEI MAYEK VOWEL SIGN INAP
++ABE5;N # MEETEI MAYEK VOWEL SIGN ANAP
++ABE6;N # MEETEI MAYEK VOWEL SIGN YENAP
++ABE7;N # MEETEI MAYEK VOWEL SIGN SOUNAP
++ABE8;N # MEETEI MAYEK VOWEL SIGN UNAP
++ABE9;N # MEETEI MAYEK VOWEL SIGN CHEINAP
++ABEA;N # MEETEI MAYEK VOWEL SIGN NUNG
++ABEB;N # MEETEI MAYEK CHEIKHEI
++ABEC;N # MEETEI MAYEK LUM IYEK
++ABED;N # MEETEI MAYEK APUN IYEK
++ABF0;N # MEETEI MAYEK DIGIT ZERO
++ABF1;N # MEETEI MAYEK DIGIT ONE
++ABF2;N # MEETEI MAYEK DIGIT TWO
++ABF3;N # MEETEI MAYEK DIGIT THREE
++ABF4;N # MEETEI MAYEK DIGIT FOUR
++ABF5;N # MEETEI MAYEK DIGIT FIVE
++ABF6;N # MEETEI MAYEK DIGIT SIX
++ABF7;N # MEETEI MAYEK DIGIT SEVEN
++ABF8;N # MEETEI MAYEK DIGIT EIGHT
++ABF9;N # MEETEI MAYEK DIGIT NINE
++AC00..D7A3;W # <Hangul Syllable, First>..<Hangul Syllable, Last>
++D7B0;W # HANGUL JUNGSEONG O-YEO
++D7B1;W # HANGUL JUNGSEONG O-O-I
++D7B2;W # HANGUL JUNGSEONG YO-A
++D7B3;W # HANGUL JUNGSEONG YO-AE
++D7B4;W # HANGUL JUNGSEONG YO-EO
++D7B5;W # HANGUL JUNGSEONG U-YEO
++D7B6;W # HANGUL JUNGSEONG U-I-I
++D7B7;W # HANGUL JUNGSEONG YU-AE
++D7B8;W # HANGUL JUNGSEONG YU-O
++D7B9;W # HANGUL JUNGSEONG EU-A
++D7BA;W # HANGUL JUNGSEONG EU-EO
++D7BB;W # HANGUL JUNGSEONG EU-E
++D7BC;W # HANGUL JUNGSEONG EU-O
++D7BD;W # HANGUL JUNGSEONG I-YA-O
++D7BE;W # HANGUL JUNGSEONG I-YAE
++D7BF;W # HANGUL JUNGSEONG I-YEO
++D7C0;W # HANGUL JUNGSEONG I-YE
++D7C1;W # HANGUL JUNGSEONG I-O-I
++D7C2;W # HANGUL JUNGSEONG I-YO
++D7C3;W # HANGUL JUNGSEONG I-YU
++D7C4;W # HANGUL JUNGSEONG I-I
++D7C5;W # HANGUL JUNGSEONG ARAEA-A
++D7C6;W # HANGUL JUNGSEONG ARAEA-E
++D7CB;W # HANGUL JONGSEONG NIEUN-RIEUL
++D7CC;W # HANGUL JONGSEONG NIEUN-CHIEUCH
++D7CD;W # HANGUL JONGSEONG SSANGTIKEUT
++D7CE;W # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
++D7CF;W # HANGUL JONGSEONG TIKEUT-PIEUP
++D7D0;W # HANGUL JONGSEONG TIKEUT-SIOS
++D7D1;W # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
++D7D2;W # HANGUL JONGSEONG TIKEUT-CIEUC
++D7D3;W # HANGUL JONGSEONG TIKEUT-CHIEUCH
++D7D4;W # HANGUL JONGSEONG TIKEUT-THIEUTH
++D7D5;W # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
++D7D6;W # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
++D7D7;W # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
++D7D8;W # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
++D7D9;W # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
++D7DA;W # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
++D7DB;W # HANGUL JONGSEONG RIEUL-YESIEUNG
++D7DC;W # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
++D7DD;W # HANGUL JONGSEONG KAPYEOUNRIEUL
++D7DE;W # HANGUL JONGSEONG MIEUM-NIEUN
++D7DF;W # HANGUL JONGSEONG MIEUM-SSANGNIEUN
++D7E0;W # HANGUL JONGSEONG SSANGMIEUM
++D7E1;W # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
++D7E2;W # HANGUL JONGSEONG MIEUM-CIEUC
++D7E3;W # HANGUL JONGSEONG PIEUP-TIKEUT
++D7E4;W # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
++D7E5;W # HANGUL JONGSEONG PIEUP-MIEUM
++D7E6;W # HANGUL JONGSEONG SSANGPIEUP
++D7E7;W # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
++D7E8;W # HANGUL JONGSEONG PIEUP-CIEUC
++D7E9;W # HANGUL JONGSEONG PIEUP-CHIEUCH
++D7EA;W # HANGUL JONGSEONG SIOS-MIEUM
++D7EB;W # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
++D7EC;W # HANGUL JONGSEONG SSANGSIOS-KIYEOK
++D7ED;W # HANGUL JONGSEONG SSANGSIOS-TIKEUT
++D7EE;W # HANGUL JONGSEONG SIOS-PANSIOS
++D7EF;W # HANGUL JONGSEONG SIOS-CIEUC
++D7F0;W # HANGUL JONGSEONG SIOS-CHIEUCH
++D7F1;W # HANGUL JONGSEONG SIOS-THIEUTH
++D7F2;W # HANGUL JONGSEONG SIOS-HIEUH
++D7F3;W # HANGUL JONGSEONG PANSIOS-PIEUP
++D7F4;W # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
++D7F5;W # HANGUL JONGSEONG YESIEUNG-MIEUM
++D7F6;W # HANGUL JONGSEONG YESIEUNG-HIEUH
++D7F7;W # HANGUL JONGSEONG CIEUC-PIEUP
++D7F8;W # HANGUL JONGSEONG CIEUC-SSANGPIEUP
++D7F9;W # HANGUL JONGSEONG SSANGCIEUC
++D7FA;W # HANGUL JONGSEONG PHIEUPH-SIOS
++D7FB;W # HANGUL JONGSEONG PHIEUPH-THIEUTH
++D800..DB7F;N # <Non Private Use High Surrogate, First>..<Non Private Use High Surrogate, Last>
++DB80..DBFF;N # <Private Use High Surrogate, First>..<Private Use High Surrogate, Last>
++DC00..DFFF;N # <Low Surrogate, First>..<Low Surrogate, Last>
++E000..F8FF;A # <Private Use, First>..<Private Use, Last>
++F900;W # CJK COMPATIBILITY IDEOGRAPH-F900
++F901;W # CJK COMPATIBILITY IDEOGRAPH-F901
++F902;W # CJK COMPATIBILITY IDEOGRAPH-F902
++F903;W # CJK COMPATIBILITY IDEOGRAPH-F903
++F904;W # CJK COMPATIBILITY IDEOGRAPH-F904
++F905;W # CJK COMPATIBILITY IDEOGRAPH-F905
++F906;W # CJK COMPATIBILITY IDEOGRAPH-F906
++F907;W # CJK COMPATIBILITY IDEOGRAPH-F907
++F908;W # CJK COMPATIBILITY IDEOGRAPH-F908
++F909;W # CJK COMPATIBILITY IDEOGRAPH-F909
++F90A;W # CJK COMPATIBILITY IDEOGRAPH-F90A
++F90B;W # CJK COMPATIBILITY IDEOGRAPH-F90B
++F90C;W # CJK COMPATIBILITY IDEOGRAPH-F90C
++F90D;W # CJK COMPATIBILITY IDEOGRAPH-F90D
++F90E;W # CJK COMPATIBILITY IDEOGRAPH-F90E
++F90F;W # CJK COMPATIBILITY IDEOGRAPH-F90F
++F910;W # CJK COMPATIBILITY IDEOGRAPH-F910
++F911;W # CJK COMPATIBILITY IDEOGRAPH-F911
++F912;W # CJK COMPATIBILITY IDEOGRAPH-F912
++F913;W # CJK COMPATIBILITY IDEOGRAPH-F913
++F914;W # CJK COMPATIBILITY IDEOGRAPH-F914
++F915;W # CJK COMPATIBILITY IDEOGRAPH-F915
++F916;W # CJK COMPATIBILITY IDEOGRAPH-F916
++F917;W # CJK COMPATIBILITY IDEOGRAPH-F917
++F918;W # CJK COMPATIBILITY IDEOGRAPH-F918
++F919;W # CJK COMPATIBILITY IDEOGRAPH-F919
++F91A;W # CJK COMPATIBILITY IDEOGRAPH-F91A
++F91B;W # CJK COMPATIBILITY IDEOGRAPH-F91B
++F91C;W # CJK COMPATIBILITY IDEOGRAPH-F91C
++F91D;W # CJK COMPATIBILITY IDEOGRAPH-F91D
++F91E;W # CJK COMPATIBILITY IDEOGRAPH-F91E
++F91F;W # CJK COMPATIBILITY IDEOGRAPH-F91F
++F920;W # CJK COMPATIBILITY IDEOGRAPH-F920
++F921;W # CJK COMPATIBILITY IDEOGRAPH-F921
++F922;W # CJK COMPATIBILITY IDEOGRAPH-F922
++F923;W # CJK COMPATIBILITY IDEOGRAPH-F923
++F924;W # CJK COMPATIBILITY IDEOGRAPH-F924
++F925;W # CJK COMPATIBILITY IDEOGRAPH-F925
++F926;W # CJK COMPATIBILITY IDEOGRAPH-F926
++F927;W # CJK COMPATIBILITY IDEOGRAPH-F927
++F928;W # CJK COMPATIBILITY IDEOGRAPH-F928
++F929;W # CJK COMPATIBILITY IDEOGRAPH-F929
++F92A;W # CJK COMPATIBILITY IDEOGRAPH-F92A
++F92B;W # CJK COMPATIBILITY IDEOGRAPH-F92B
++F92C;W # CJK COMPATIBILITY IDEOGRAPH-F92C
++F92D;W # CJK COMPATIBILITY IDEOGRAPH-F92D
++F92E;W # CJK COMPATIBILITY IDEOGRAPH-F92E
++F92F;W # CJK COMPATIBILITY IDEOGRAPH-F92F
++F930;W # CJK COMPATIBILITY IDEOGRAPH-F930
++F931;W # CJK COMPATIBILITY IDEOGRAPH-F931
++F932;W # CJK COMPATIBILITY IDEOGRAPH-F932
++F933;W # CJK COMPATIBILITY IDEOGRAPH-F933
++F934;W # CJK COMPATIBILITY IDEOGRAPH-F934
++F935;W # CJK COMPATIBILITY IDEOGRAPH-F935
++F936;W # CJK COMPATIBILITY IDEOGRAPH-F936
++F937;W # CJK COMPATIBILITY IDEOGRAPH-F937
++F938;W # CJK COMPATIBILITY IDEOGRAPH-F938
++F939;W # CJK COMPATIBILITY IDEOGRAPH-F939
++F93A;W # CJK COMPATIBILITY IDEOGRAPH-F93A
++F93B;W # CJK COMPATIBILITY IDEOGRAPH-F93B
++F93C;W # CJK COMPATIBILITY IDEOGRAPH-F93C
++F93D;W # CJK COMPATIBILITY IDEOGRAPH-F93D
++F93E;W # CJK COMPATIBILITY IDEOGRAPH-F93E
++F93F;W # CJK COMPATIBILITY IDEOGRAPH-F93F
++F940;W # CJK COMPATIBILITY IDEOGRAPH-F940
++F941;W # CJK COMPATIBILITY IDEOGRAPH-F941
++F942;W # CJK COMPATIBILITY IDEOGRAPH-F942
++F943;W # CJK COMPATIBILITY IDEOGRAPH-F943
++F944;W # CJK COMPATIBILITY IDEOGRAPH-F944
++F945;W # CJK COMPATIBILITY IDEOGRAPH-F945
++F946;W # CJK COMPATIBILITY IDEOGRAPH-F946
++F947;W # CJK COMPATIBILITY IDEOGRAPH-F947
++F948;W # CJK COMPATIBILITY IDEOGRAPH-F948
++F949;W # CJK COMPATIBILITY IDEOGRAPH-F949
++F94A;W # CJK COMPATIBILITY IDEOGRAPH-F94A
++F94B;W # CJK COMPATIBILITY IDEOGRAPH-F94B
++F94C;W # CJK COMPATIBILITY IDEOGRAPH-F94C
++F94D;W # CJK COMPATIBILITY IDEOGRAPH-F94D
++F94E;W # CJK COMPATIBILITY IDEOGRAPH-F94E
++F94F;W # CJK COMPATIBILITY IDEOGRAPH-F94F
++F950;W # CJK COMPATIBILITY IDEOGRAPH-F950
++F951;W # CJK COMPATIBILITY IDEOGRAPH-F951
++F952;W # CJK COMPATIBILITY IDEOGRAPH-F952
++F953;W # CJK COMPATIBILITY IDEOGRAPH-F953
++F954;W # CJK COMPATIBILITY IDEOGRAPH-F954
++F955;W # CJK COMPATIBILITY IDEOGRAPH-F955
++F956;W # CJK COMPATIBILITY IDEOGRAPH-F956
++F957;W # CJK COMPATIBILITY IDEOGRAPH-F957
++F958;W # CJK COMPATIBILITY IDEOGRAPH-F958
++F959;W # CJK COMPATIBILITY IDEOGRAPH-F959
++F95A;W # CJK COMPATIBILITY IDEOGRAPH-F95A
++F95B;W # CJK COMPATIBILITY IDEOGRAPH-F95B
++F95C;W # CJK COMPATIBILITY IDEOGRAPH-F95C
++F95D;W # CJK COMPATIBILITY IDEOGRAPH-F95D
++F95E;W # CJK COMPATIBILITY IDEOGRAPH-F95E
++F95F;W # CJK COMPATIBILITY IDEOGRAPH-F95F
++F960;W # CJK COMPATIBILITY IDEOGRAPH-F960
++F961;W # CJK COMPATIBILITY IDEOGRAPH-F961
++F962;W # CJK COMPATIBILITY IDEOGRAPH-F962
++F963;W # CJK COMPATIBILITY IDEOGRAPH-F963
++F964;W # CJK COMPATIBILITY IDEOGRAPH-F964
++F965;W # CJK COMPATIBILITY IDEOGRAPH-F965
++F966;W # CJK COMPATIBILITY IDEOGRAPH-F966
++F967;W # CJK COMPATIBILITY IDEOGRAPH-F967
++F968;W # CJK COMPATIBILITY IDEOGRAPH-F968
++F969;W # CJK COMPATIBILITY IDEOGRAPH-F969
++F96A;W # CJK COMPATIBILITY IDEOGRAPH-F96A
++F96B;W # CJK COMPATIBILITY IDEOGRAPH-F96B
++F96C;W # CJK COMPATIBILITY IDEOGRAPH-F96C
++F96D;W # CJK COMPATIBILITY IDEOGRAPH-F96D
++F96E;W # CJK COMPATIBILITY IDEOGRAPH-F96E
++F96F;W # CJK COMPATIBILITY IDEOGRAPH-F96F
++F970;W # CJK COMPATIBILITY IDEOGRAPH-F970
++F971;W # CJK COMPATIBILITY IDEOGRAPH-F971
++F972;W # CJK COMPATIBILITY IDEOGRAPH-F972
++F973;W # CJK COMPATIBILITY IDEOGRAPH-F973
++F974;W # CJK COMPATIBILITY IDEOGRAPH-F974
++F975;W # CJK COMPATIBILITY IDEOGRAPH-F975
++F976;W # CJK COMPATIBILITY IDEOGRAPH-F976
++F977;W # CJK COMPATIBILITY IDEOGRAPH-F977
++F978;W # CJK COMPATIBILITY IDEOGRAPH-F978
++F979;W # CJK COMPATIBILITY IDEOGRAPH-F979
++F97A;W # CJK COMPATIBILITY IDEOGRAPH-F97A
++F97B;W # CJK COMPATIBILITY IDEOGRAPH-F97B
++F97C;W # CJK COMPATIBILITY IDEOGRAPH-F97C
++F97D;W # CJK COMPATIBILITY IDEOGRAPH-F97D
++F97E;W # CJK COMPATIBILITY IDEOGRAPH-F97E
++F97F;W # CJK COMPATIBILITY IDEOGRAPH-F97F
++F980;W # CJK COMPATIBILITY IDEOGRAPH-F980
++F981;W # CJK COMPATIBILITY IDEOGRAPH-F981
++F982;W # CJK COMPATIBILITY IDEOGRAPH-F982
++F983;W # CJK COMPATIBILITY IDEOGRAPH-F983
++F984;W # CJK COMPATIBILITY IDEOGRAPH-F984
++F985;W # CJK COMPATIBILITY IDEOGRAPH-F985
++F986;W # CJK COMPATIBILITY IDEOGRAPH-F986
++F987;W # CJK COMPATIBILITY IDEOGRAPH-F987
++F988;W # CJK COMPATIBILITY IDEOGRAPH-F988
++F989;W # CJK COMPATIBILITY IDEOGRAPH-F989
++F98A;W # CJK COMPATIBILITY IDEOGRAPH-F98A
++F98B;W # CJK COMPATIBILITY IDEOGRAPH-F98B
++F98C;W # CJK COMPATIBILITY IDEOGRAPH-F98C
++F98D;W # CJK COMPATIBILITY IDEOGRAPH-F98D
++F98E;W # CJK COMPATIBILITY IDEOGRAPH-F98E
++F98F;W # CJK COMPATIBILITY IDEOGRAPH-F98F
++F990;W # CJK COMPATIBILITY IDEOGRAPH-F990
++F991;W # CJK COMPATIBILITY IDEOGRAPH-F991
++F992;W # CJK COMPATIBILITY IDEOGRAPH-F992
++F993;W # CJK COMPATIBILITY IDEOGRAPH-F993
++F994;W # CJK COMPATIBILITY IDEOGRAPH-F994
++F995;W # CJK COMPATIBILITY IDEOGRAPH-F995
++F996;W # CJK COMPATIBILITY IDEOGRAPH-F996
++F997;W # CJK COMPATIBILITY IDEOGRAPH-F997
++F998;W # CJK COMPATIBILITY IDEOGRAPH-F998
++F999;W # CJK COMPATIBILITY IDEOGRAPH-F999
++F99A;W # CJK COMPATIBILITY IDEOGRAPH-F99A
++F99B;W # CJK COMPATIBILITY IDEOGRAPH-F99B
++F99C;W # CJK COMPATIBILITY IDEOGRAPH-F99C
++F99D;W # CJK COMPATIBILITY IDEOGRAPH-F99D
++F99E;W # CJK COMPATIBILITY IDEOGRAPH-F99E
++F99F;W # CJK COMPATIBILITY IDEOGRAPH-F99F
++F9A0;W # CJK COMPATIBILITY IDEOGRAPH-F9A0
++F9A1;W # CJK COMPATIBILITY IDEOGRAPH-F9A1
++F9A2;W # CJK COMPATIBILITY IDEOGRAPH-F9A2
++F9A3;W # CJK COMPATIBILITY IDEOGRAPH-F9A3
++F9A4;W # CJK COMPATIBILITY IDEOGRAPH-F9A4
++F9A5;W # CJK COMPATIBILITY IDEOGRAPH-F9A5
++F9A6;W # CJK COMPATIBILITY IDEOGRAPH-F9A6
++F9A7;W # CJK COMPATIBILITY IDEOGRAPH-F9A7
++F9A8;W # CJK COMPATIBILITY IDEOGRAPH-F9A8
++F9A9;W # CJK COMPATIBILITY IDEOGRAPH-F9A9
++F9AA;W # CJK COMPATIBILITY IDEOGRAPH-F9AA
++F9AB;W # CJK COMPATIBILITY IDEOGRAPH-F9AB
++F9AC;W # CJK COMPATIBILITY IDEOGRAPH-F9AC
++F9AD;W # CJK COMPATIBILITY IDEOGRAPH-F9AD
++F9AE;W # CJK COMPATIBILITY IDEOGRAPH-F9AE
++F9AF;W # CJK COMPATIBILITY IDEOGRAPH-F9AF
++F9B0;W # CJK COMPATIBILITY IDEOGRAPH-F9B0
++F9B1;W # CJK COMPATIBILITY IDEOGRAPH-F9B1
++F9B2;W # CJK COMPATIBILITY IDEOGRAPH-F9B2
++F9B3;W # CJK COMPATIBILITY IDEOGRAPH-F9B3
++F9B4;W # CJK COMPATIBILITY IDEOGRAPH-F9B4
++F9B5;W # CJK COMPATIBILITY IDEOGRAPH-F9B5
++F9B6;W # CJK COMPATIBILITY IDEOGRAPH-F9B6
++F9B7;W # CJK COMPATIBILITY IDEOGRAPH-F9B7
++F9B8;W # CJK COMPATIBILITY IDEOGRAPH-F9B8
++F9B9;W # CJK COMPATIBILITY IDEOGRAPH-F9B9
++F9BA;W # CJK COMPATIBILITY IDEOGRAPH-F9BA
++F9BB;W # CJK COMPATIBILITY IDEOGRAPH-F9BB
++F9BC;W # CJK COMPATIBILITY IDEOGRAPH-F9BC
++F9BD;W # CJK COMPATIBILITY IDEOGRAPH-F9BD
++F9BE;W # CJK COMPATIBILITY IDEOGRAPH-F9BE
++F9BF;W # CJK COMPATIBILITY IDEOGRAPH-F9BF
++F9C0;W # CJK COMPATIBILITY IDEOGRAPH-F9C0
++F9C1;W # CJK COMPATIBILITY IDEOGRAPH-F9C1
++F9C2;W # CJK COMPATIBILITY IDEOGRAPH-F9C2
++F9C3;W # CJK COMPATIBILITY IDEOGRAPH-F9C3
++F9C4;W # CJK COMPATIBILITY IDEOGRAPH-F9C4
++F9C5;W # CJK COMPATIBILITY IDEOGRAPH-F9C5
++F9C6;W # CJK COMPATIBILITY IDEOGRAPH-F9C6
++F9C7;W # CJK COMPATIBILITY IDEOGRAPH-F9C7
++F9C8;W # CJK COMPATIBILITY IDEOGRAPH-F9C8
++F9C9;W # CJK COMPATIBILITY IDEOGRAPH-F9C9
++F9CA;W # CJK COMPATIBILITY IDEOGRAPH-F9CA
++F9CB;W # CJK COMPATIBILITY IDEOGRAPH-F9CB
++F9CC;W # CJK COMPATIBILITY IDEOGRAPH-F9CC
++F9CD;W # CJK COMPATIBILITY IDEOGRAPH-F9CD
++F9CE;W # CJK COMPATIBILITY IDEOGRAPH-F9CE
++F9CF;W # CJK COMPATIBILITY IDEOGRAPH-F9CF
++F9D0;W # CJK COMPATIBILITY IDEOGRAPH-F9D0
++F9D1;W # CJK COMPATIBILITY IDEOGRAPH-F9D1
++F9D2;W # CJK COMPATIBILITY IDEOGRAPH-F9D2
++F9D3;W # CJK COMPATIBILITY IDEOGRAPH-F9D3
++F9D4;W # CJK COMPATIBILITY IDEOGRAPH-F9D4
++F9D5;W # CJK COMPATIBILITY IDEOGRAPH-F9D5
++F9D6;W # CJK COMPATIBILITY IDEOGRAPH-F9D6
++F9D7;W # CJK COMPATIBILITY IDEOGRAPH-F9D7
++F9D8;W # CJK COMPATIBILITY IDEOGRAPH-F9D8
++F9D9;W # CJK COMPATIBILITY IDEOGRAPH-F9D9
++F9DA;W # CJK COMPATIBILITY IDEOGRAPH-F9DA
++F9DB;W # CJK COMPATIBILITY IDEOGRAPH-F9DB
++F9DC;W # CJK COMPATIBILITY IDEOGRAPH-F9DC
++F9DD;W # CJK COMPATIBILITY IDEOGRAPH-F9DD
++F9DE;W # CJK COMPATIBILITY IDEOGRAPH-F9DE
++F9DF;W # CJK COMPATIBILITY IDEOGRAPH-F9DF
++F9E0;W # CJK COMPATIBILITY IDEOGRAPH-F9E0
++F9E1;W # CJK COMPATIBILITY IDEOGRAPH-F9E1
++F9E2;W # CJK COMPATIBILITY IDEOGRAPH-F9E2
++F9E3;W # CJK COMPATIBILITY IDEOGRAPH-F9E3
++F9E4;W # CJK COMPATIBILITY IDEOGRAPH-F9E4
++F9E5;W # CJK COMPATIBILITY IDEOGRAPH-F9E5
++F9E6;W # CJK COMPATIBILITY IDEOGRAPH-F9E6
++F9E7;W # CJK COMPATIBILITY IDEOGRAPH-F9E7
++F9E8;W # CJK COMPATIBILITY IDEOGRAPH-F9E8
++F9E9;W # CJK COMPATIBILITY IDEOGRAPH-F9E9
++F9EA;W # CJK COMPATIBILITY IDEOGRAPH-F9EA
++F9EB;W # CJK COMPATIBILITY IDEOGRAPH-F9EB
++F9EC;W # CJK COMPATIBILITY IDEOGRAPH-F9EC
++F9ED;W # CJK COMPATIBILITY IDEOGRAPH-F9ED
++F9EE;W # CJK COMPATIBILITY IDEOGRAPH-F9EE
++F9EF;W # CJK COMPATIBILITY IDEOGRAPH-F9EF
++F9F0;W # CJK COMPATIBILITY IDEOGRAPH-F9F0
++F9F1;W # CJK COMPATIBILITY IDEOGRAPH-F9F1
++F9F2;W # CJK COMPATIBILITY IDEOGRAPH-F9F2
++F9F3;W # CJK COMPATIBILITY IDEOGRAPH-F9F3
++F9F4;W # CJK COMPATIBILITY IDEOGRAPH-F9F4
++F9F5;W # CJK COMPATIBILITY IDEOGRAPH-F9F5
++F9F6;W # CJK COMPATIBILITY IDEOGRAPH-F9F6
++F9F7;W # CJK COMPATIBILITY IDEOGRAPH-F9F7
++F9F8;W # CJK COMPATIBILITY IDEOGRAPH-F9F8
++F9F9;W # CJK COMPATIBILITY IDEOGRAPH-F9F9
++F9FA;W # CJK COMPATIBILITY IDEOGRAPH-F9FA
++F9FB;W # CJK COMPATIBILITY IDEOGRAPH-F9FB
++F9FC;W # CJK COMPATIBILITY IDEOGRAPH-F9FC
++F9FD;W # CJK COMPATIBILITY IDEOGRAPH-F9FD
++F9FE;W # CJK COMPATIBILITY IDEOGRAPH-F9FE
++F9FF;W # CJK COMPATIBILITY IDEOGRAPH-F9FF
++FA00;W # CJK COMPATIBILITY IDEOGRAPH-FA00
++FA01;W # CJK COMPATIBILITY IDEOGRAPH-FA01
++FA02;W # CJK COMPATIBILITY IDEOGRAPH-FA02
++FA03;W # CJK COMPATIBILITY IDEOGRAPH-FA03
++FA04;W # CJK COMPATIBILITY IDEOGRAPH-FA04
++FA05;W # CJK COMPATIBILITY IDEOGRAPH-FA05
++FA06;W # CJK COMPATIBILITY IDEOGRAPH-FA06
++FA07;W # CJK COMPATIBILITY IDEOGRAPH-FA07
++FA08;W # CJK COMPATIBILITY IDEOGRAPH-FA08
++FA09;W # CJK COMPATIBILITY IDEOGRAPH-FA09
++FA0A;W # CJK COMPATIBILITY IDEOGRAPH-FA0A
++FA0B;W # CJK COMPATIBILITY IDEOGRAPH-FA0B
++FA0C;W # CJK COMPATIBILITY IDEOGRAPH-FA0C
++FA0D;W # CJK COMPATIBILITY IDEOGRAPH-FA0D
++FA0E;W # CJK COMPATIBILITY IDEOGRAPH-FA0E
++FA0F;W # CJK COMPATIBILITY IDEOGRAPH-FA0F
++FA10;W # CJK COMPATIBILITY IDEOGRAPH-FA10
++FA11;W # CJK COMPATIBILITY IDEOGRAPH-FA11
++FA12;W # CJK COMPATIBILITY IDEOGRAPH-FA12
++FA13;W # CJK COMPATIBILITY IDEOGRAPH-FA13
++FA14;W # CJK COMPATIBILITY IDEOGRAPH-FA14
++FA15;W # CJK COMPATIBILITY IDEOGRAPH-FA15
++FA16;W # CJK COMPATIBILITY IDEOGRAPH-FA16
++FA17;W # CJK COMPATIBILITY IDEOGRAPH-FA17
++FA18;W # CJK COMPATIBILITY IDEOGRAPH-FA18
++FA19;W # CJK COMPATIBILITY IDEOGRAPH-FA19
++FA1A;W # CJK COMPATIBILITY IDEOGRAPH-FA1A
++FA1B;W # CJK COMPATIBILITY IDEOGRAPH-FA1B
++FA1C;W # CJK COMPATIBILITY IDEOGRAPH-FA1C
++FA1D;W # CJK COMPATIBILITY IDEOGRAPH-FA1D
++FA1E;W # CJK COMPATIBILITY IDEOGRAPH-FA1E
++FA1F;W # CJK COMPATIBILITY IDEOGRAPH-FA1F
++FA20;W # CJK COMPATIBILITY IDEOGRAPH-FA20
++FA21;W # CJK COMPATIBILITY IDEOGRAPH-FA21
++FA22;W # CJK COMPATIBILITY IDEOGRAPH-FA22
++FA23;W # CJK COMPATIBILITY IDEOGRAPH-FA23
++FA24;W # CJK COMPATIBILITY IDEOGRAPH-FA24
++FA25;W # CJK COMPATIBILITY IDEOGRAPH-FA25
++FA26;W # CJK COMPATIBILITY IDEOGRAPH-FA26
++FA27;W # CJK COMPATIBILITY IDEOGRAPH-FA27
++FA28;W # CJK COMPATIBILITY IDEOGRAPH-FA28
++FA29;W # CJK COMPATIBILITY IDEOGRAPH-FA29
++FA2A;W # CJK COMPATIBILITY IDEOGRAPH-FA2A
++FA2B;W # CJK COMPATIBILITY IDEOGRAPH-FA2B
++FA2C;W # CJK COMPATIBILITY IDEOGRAPH-FA2C
++FA2D;W # CJK COMPATIBILITY IDEOGRAPH-FA2D
++FA2E..FA2F;W # <reserved-FA2E>..<reserved-FA2F>
++FA30;W # CJK COMPATIBILITY IDEOGRAPH-FA30
++FA31;W # CJK COMPATIBILITY IDEOGRAPH-FA31
++FA32;W # CJK COMPATIBILITY IDEOGRAPH-FA32
++FA33;W # CJK COMPATIBILITY IDEOGRAPH-FA33
++FA34;W # CJK COMPATIBILITY IDEOGRAPH-FA34
++FA35;W # CJK COMPATIBILITY IDEOGRAPH-FA35
++FA36;W # CJK COMPATIBILITY IDEOGRAPH-FA36
++FA37;W # CJK COMPATIBILITY IDEOGRAPH-FA37
++FA38;W # CJK COMPATIBILITY IDEOGRAPH-FA38
++FA39;W # CJK COMPATIBILITY IDEOGRAPH-FA39
++FA3A;W # CJK COMPATIBILITY IDEOGRAPH-FA3A
++FA3B;W # CJK COMPATIBILITY IDEOGRAPH-FA3B
++FA3C;W # CJK COMPATIBILITY IDEOGRAPH-FA3C
++FA3D;W # CJK COMPATIBILITY IDEOGRAPH-FA3D
++FA3E;W # CJK COMPATIBILITY IDEOGRAPH-FA3E
++FA3F;W # CJK COMPATIBILITY IDEOGRAPH-FA3F
++FA40;W # CJK COMPATIBILITY IDEOGRAPH-FA40
++FA41;W # CJK COMPATIBILITY IDEOGRAPH-FA41
++FA42;W # CJK COMPATIBILITY IDEOGRAPH-FA42
++FA43;W # CJK COMPATIBILITY IDEOGRAPH-FA43
++FA44;W # CJK COMPATIBILITY IDEOGRAPH-FA44
++FA45;W # CJK COMPATIBILITY IDEOGRAPH-FA45
++FA46;W # CJK COMPATIBILITY IDEOGRAPH-FA46
++FA47;W # CJK COMPATIBILITY IDEOGRAPH-FA47
++FA48;W # CJK COMPATIBILITY IDEOGRAPH-FA48
++FA49;W # CJK COMPATIBILITY IDEOGRAPH-FA49
++FA4A;W # CJK COMPATIBILITY IDEOGRAPH-FA4A
++FA4B;W # CJK COMPATIBILITY IDEOGRAPH-FA4B
++FA4C;W # CJK COMPATIBILITY IDEOGRAPH-FA4C
++FA4D;W # CJK COMPATIBILITY IDEOGRAPH-FA4D
++FA4E;W # CJK COMPATIBILITY IDEOGRAPH-FA4E
++FA4F;W # CJK COMPATIBILITY IDEOGRAPH-FA4F
++FA50;W # CJK COMPATIBILITY IDEOGRAPH-FA50
++FA51;W # CJK COMPATIBILITY IDEOGRAPH-FA51
++FA52;W # CJK COMPATIBILITY IDEOGRAPH-FA52
++FA53;W # CJK COMPATIBILITY IDEOGRAPH-FA53
++FA54;W # CJK COMPATIBILITY IDEOGRAPH-FA54
++FA55;W # CJK COMPATIBILITY IDEOGRAPH-FA55
++FA56;W # CJK COMPATIBILITY IDEOGRAPH-FA56
++FA57;W # CJK COMPATIBILITY IDEOGRAPH-FA57
++FA58;W # CJK COMPATIBILITY IDEOGRAPH-FA58
++FA59;W # CJK COMPATIBILITY IDEOGRAPH-FA59
++FA5A;W # CJK COMPATIBILITY IDEOGRAPH-FA5A
++FA5B;W # CJK COMPATIBILITY IDEOGRAPH-FA5B
++FA5C;W # CJK COMPATIBILITY IDEOGRAPH-FA5C
++FA5D;W # CJK COMPATIBILITY IDEOGRAPH-FA5D
++FA5E;W # CJK COMPATIBILITY IDEOGRAPH-FA5E
++FA5F;W # CJK COMPATIBILITY IDEOGRAPH-FA5F
++FA60;W # CJK COMPATIBILITY IDEOGRAPH-FA60
++FA61;W # CJK COMPATIBILITY IDEOGRAPH-FA61
++FA62;W # CJK COMPATIBILITY IDEOGRAPH-FA62
++FA63;W # CJK COMPATIBILITY IDEOGRAPH-FA63
++FA64;W # CJK COMPATIBILITY IDEOGRAPH-FA64
++FA65;W # CJK COMPATIBILITY IDEOGRAPH-FA65
++FA66;W # CJK COMPATIBILITY IDEOGRAPH-FA66
++FA67;W # CJK COMPATIBILITY IDEOGRAPH-FA67
++FA68;W # CJK COMPATIBILITY IDEOGRAPH-FA68
++FA69;W # CJK COMPATIBILITY IDEOGRAPH-FA69
++FA6A;W # CJK COMPATIBILITY IDEOGRAPH-FA6A
++FA6B;W # CJK COMPATIBILITY IDEOGRAPH-FA6B
++FA6C;W # CJK COMPATIBILITY IDEOGRAPH-FA6C
++FA6D;W # CJK COMPATIBILITY IDEOGRAPH-FA6D
++FA6E..FA6F;W # <reserved-FA6E>..<reserved-FA6F>
++FA70;W # CJK COMPATIBILITY IDEOGRAPH-FA70
++FA71;W # CJK COMPATIBILITY IDEOGRAPH-FA71
++FA72;W # CJK COMPATIBILITY IDEOGRAPH-FA72
++FA73;W # CJK COMPATIBILITY IDEOGRAPH-FA73
++FA74;W # CJK COMPATIBILITY IDEOGRAPH-FA74
++FA75;W # CJK COMPATIBILITY IDEOGRAPH-FA75
++FA76;W # CJK COMPATIBILITY IDEOGRAPH-FA76
++FA77;W # CJK COMPATIBILITY IDEOGRAPH-FA77
++FA78;W # CJK COMPATIBILITY IDEOGRAPH-FA78
++FA79;W # CJK COMPATIBILITY IDEOGRAPH-FA79
++FA7A;W # CJK COMPATIBILITY IDEOGRAPH-FA7A
++FA7B;W # CJK COMPATIBILITY IDEOGRAPH-FA7B
++FA7C;W # CJK COMPATIBILITY IDEOGRAPH-FA7C
++FA7D;W # CJK COMPATIBILITY IDEOGRAPH-FA7D
++FA7E;W # CJK COMPATIBILITY IDEOGRAPH-FA7E
++FA7F;W # CJK COMPATIBILITY IDEOGRAPH-FA7F
++FA80;W # CJK COMPATIBILITY IDEOGRAPH-FA80
++FA81;W # CJK COMPATIBILITY IDEOGRAPH-FA81
++FA82;W # CJK COMPATIBILITY IDEOGRAPH-FA82
++FA83;W # CJK COMPATIBILITY IDEOGRAPH-FA83
++FA84;W # CJK COMPATIBILITY IDEOGRAPH-FA84
++FA85;W # CJK COMPATIBILITY IDEOGRAPH-FA85
++FA86;W # CJK COMPATIBILITY IDEOGRAPH-FA86
++FA87;W # CJK COMPATIBILITY IDEOGRAPH-FA87
++FA88;W # CJK COMPATIBILITY IDEOGRAPH-FA88
++FA89;W # CJK COMPATIBILITY IDEOGRAPH-FA89
++FA8A;W # CJK COMPATIBILITY IDEOGRAPH-FA8A
++FA8B;W # CJK COMPATIBILITY IDEOGRAPH-FA8B
++FA8C;W # CJK COMPATIBILITY IDEOGRAPH-FA8C
++FA8D;W # CJK COMPATIBILITY IDEOGRAPH-FA8D
++FA8E;W # CJK COMPATIBILITY IDEOGRAPH-FA8E
++FA8F;W # CJK COMPATIBILITY IDEOGRAPH-FA8F
++FA90;W # CJK COMPATIBILITY IDEOGRAPH-FA90
++FA91;W # CJK COMPATIBILITY IDEOGRAPH-FA91
++FA92;W # CJK COMPATIBILITY IDEOGRAPH-FA92
++FA93;W # CJK COMPATIBILITY IDEOGRAPH-FA93
++FA94;W # CJK COMPATIBILITY IDEOGRAPH-FA94
++FA95;W # CJK COMPATIBILITY IDEOGRAPH-FA95
++FA96;W # CJK COMPATIBILITY IDEOGRAPH-FA96
++FA97;W # CJK COMPATIBILITY IDEOGRAPH-FA97
++FA98;W # CJK COMPATIBILITY IDEOGRAPH-FA98
++FA99;W # CJK COMPATIBILITY IDEOGRAPH-FA99
++FA9A;W # CJK COMPATIBILITY IDEOGRAPH-FA9A
++FA9B;W # CJK COMPATIBILITY IDEOGRAPH-FA9B
++FA9C;W # CJK COMPATIBILITY IDEOGRAPH-FA9C
++FA9D;W # CJK COMPATIBILITY IDEOGRAPH-FA9D
++FA9E;W # CJK COMPATIBILITY IDEOGRAPH-FA9E
++FA9F;W # CJK COMPATIBILITY IDEOGRAPH-FA9F
++FAA0;W # CJK COMPATIBILITY IDEOGRAPH-FAA0
++FAA1;W # CJK COMPATIBILITY IDEOGRAPH-FAA1
++FAA2;W # CJK COMPATIBILITY IDEOGRAPH-FAA2
++FAA3;W # CJK COMPATIBILITY IDEOGRAPH-FAA3
++FAA4;W # CJK COMPATIBILITY IDEOGRAPH-FAA4
++FAA5;W # CJK COMPATIBILITY IDEOGRAPH-FAA5
++FAA6;W # CJK COMPATIBILITY IDEOGRAPH-FAA6
++FAA7;W # CJK COMPATIBILITY IDEOGRAPH-FAA7
++FAA8;W # CJK COMPATIBILITY IDEOGRAPH-FAA8
++FAA9;W # CJK COMPATIBILITY IDEOGRAPH-FAA9
++FAAA;W # CJK COMPATIBILITY IDEOGRAPH-FAAA
++FAAB;W # CJK COMPATIBILITY IDEOGRAPH-FAAB
++FAAC;W # CJK COMPATIBILITY IDEOGRAPH-FAAC
++FAAD;W # CJK COMPATIBILITY IDEOGRAPH-FAAD
++FAAE;W # CJK COMPATIBILITY IDEOGRAPH-FAAE
++FAAF;W # CJK COMPATIBILITY IDEOGRAPH-FAAF
++FAB0;W # CJK COMPATIBILITY IDEOGRAPH-FAB0
++FAB1;W # CJK COMPATIBILITY IDEOGRAPH-FAB1
++FAB2;W # CJK COMPATIBILITY IDEOGRAPH-FAB2
++FAB3;W # CJK COMPATIBILITY IDEOGRAPH-FAB3
++FAB4;W # CJK COMPATIBILITY IDEOGRAPH-FAB4
++FAB5;W # CJK COMPATIBILITY IDEOGRAPH-FAB5
++FAB6;W # CJK COMPATIBILITY IDEOGRAPH-FAB6
++FAB7;W # CJK COMPATIBILITY IDEOGRAPH-FAB7
++FAB8;W # CJK COMPATIBILITY IDEOGRAPH-FAB8
++FAB9;W # CJK COMPATIBILITY IDEOGRAPH-FAB9
++FABA;W # CJK COMPATIBILITY IDEOGRAPH-FABA
++FABB;W # CJK COMPATIBILITY IDEOGRAPH-FABB
++FABC;W # CJK COMPATIBILITY IDEOGRAPH-FABC
++FABD;W # CJK COMPATIBILITY IDEOGRAPH-FABD
++FABE;W # CJK COMPATIBILITY IDEOGRAPH-FABE
++FABF;W # CJK COMPATIBILITY IDEOGRAPH-FABF
++FAC0;W # CJK COMPATIBILITY IDEOGRAPH-FAC0
++FAC1;W # CJK COMPATIBILITY IDEOGRAPH-FAC1
++FAC2;W # CJK COMPATIBILITY IDEOGRAPH-FAC2
++FAC3;W # CJK COMPATIBILITY IDEOGRAPH-FAC3
++FAC4;W # CJK COMPATIBILITY IDEOGRAPH-FAC4
++FAC5;W # CJK COMPATIBILITY IDEOGRAPH-FAC5
++FAC6;W # CJK COMPATIBILITY IDEOGRAPH-FAC6
++FAC7;W # CJK COMPATIBILITY IDEOGRAPH-FAC7
++FAC8;W # CJK COMPATIBILITY IDEOGRAPH-FAC8
++FAC9;W # CJK COMPATIBILITY IDEOGRAPH-FAC9
++FACA;W # CJK COMPATIBILITY IDEOGRAPH-FACA
++FACB;W # CJK COMPATIBILITY IDEOGRAPH-FACB
++FACC;W # CJK COMPATIBILITY IDEOGRAPH-FACC
++FACD;W # CJK COMPATIBILITY IDEOGRAPH-FACD
++FACE;W # CJK COMPATIBILITY IDEOGRAPH-FACE
++FACF;W # CJK COMPATIBILITY IDEOGRAPH-FACF
++FAD0;W # CJK COMPATIBILITY IDEOGRAPH-FAD0
++FAD1;W # CJK COMPATIBILITY IDEOGRAPH-FAD1
++FAD2;W # CJK COMPATIBILITY IDEOGRAPH-FAD2
++FAD3;W # CJK COMPATIBILITY IDEOGRAPH-FAD3
++FAD4;W # CJK COMPATIBILITY IDEOGRAPH-FAD4
++FAD5;W # CJK COMPATIBILITY IDEOGRAPH-FAD5
++FAD6;W # CJK COMPATIBILITY IDEOGRAPH-FAD6
++FAD7;W # CJK COMPATIBILITY IDEOGRAPH-FAD7
++FAD8;W # CJK COMPATIBILITY IDEOGRAPH-FAD8
++FAD9;W # CJK COMPATIBILITY IDEOGRAPH-FAD9
++FADA..FAFF;W # <reserved-FADA>..<reserved-FAFF>
++FB00;N # LATIN SMALL LIGATURE FF
++FB01;N # LATIN SMALL LIGATURE FI
++FB02;N # LATIN SMALL LIGATURE FL
++FB03;N # LATIN SMALL LIGATURE FFI
++FB04;N # LATIN SMALL LIGATURE FFL
++FB05;N # LATIN SMALL LIGATURE LONG S T
++FB06;N # LATIN SMALL LIGATURE ST
++FB13;N # ARMENIAN SMALL LIGATURE MEN NOW
++FB14;N # ARMENIAN SMALL LIGATURE MEN ECH
++FB15;N # ARMENIAN SMALL LIGATURE MEN INI
++FB16;N # ARMENIAN SMALL LIGATURE VEW NOW
++FB17;N # ARMENIAN SMALL LIGATURE MEN XEH
++FB1D;N # HEBREW LETTER YOD WITH HIRIQ
++FB1E;N # HEBREW POINT JUDEO-SPANISH VARIKA
++FB1F;N # HEBREW LIGATURE YIDDISH YOD YOD PATAH
++FB20;N # HEBREW LETTER ALTERNATIVE AYIN
++FB21;N # HEBREW LETTER WIDE ALEF
++FB22;N # HEBREW LETTER WIDE DALET
++FB23;N # HEBREW LETTER WIDE HE
++FB24;N # HEBREW LETTER WIDE KAF
++FB25;N # HEBREW LETTER WIDE LAMED
++FB26;N # HEBREW LETTER WIDE FINAL MEM
++FB27;N # HEBREW LETTER WIDE RESH
++FB28;N # HEBREW LETTER WIDE TAV
++FB29;N # HEBREW LETTER ALTERNATIVE PLUS SIGN
++FB2A;N # HEBREW LETTER SHIN WITH SHIN DOT
++FB2B;N # HEBREW LETTER SHIN WITH SIN DOT
++FB2C;N # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
++FB2D;N # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
++FB2E;N # HEBREW LETTER ALEF WITH PATAH
++FB2F;N # HEBREW LETTER ALEF WITH QAMATS
++FB30;N # HEBREW LETTER ALEF WITH MAPIQ
++FB31;N # HEBREW LETTER BET WITH DAGESH
++FB32;N # HEBREW LETTER GIMEL WITH DAGESH
++FB33;N # HEBREW LETTER DALET WITH DAGESH
++FB34;N # HEBREW LETTER HE WITH MAPIQ
++FB35;N # HEBREW LETTER VAV WITH DAGESH
++FB36;N # HEBREW LETTER ZAYIN WITH DAGESH
++FB38;N # HEBREW LETTER TET WITH DAGESH
++FB39;N # HEBREW LETTER YOD WITH DAGESH
++FB3A;N # HEBREW LETTER FINAL KAF WITH DAGESH
++FB3B;N # HEBREW LETTER KAF WITH DAGESH
++FB3C;N # HEBREW LETTER LAMED WITH DAGESH
++FB3E;N # HEBREW LETTER MEM WITH DAGESH
++FB40;N # HEBREW LETTER NUN WITH DAGESH
++FB41;N # HEBREW LETTER SAMEKH WITH DAGESH
++FB43;N # HEBREW LETTER FINAL PE WITH DAGESH
++FB44;N # HEBREW LETTER PE WITH DAGESH
++FB46;N # HEBREW LETTER TSADI WITH DAGESH
++FB47;N # HEBREW LETTER QOF WITH DAGESH
++FB48;N # HEBREW LETTER RESH WITH DAGESH
++FB49;N # HEBREW LETTER SHIN WITH DAGESH
++FB4A;N # HEBREW LETTER TAV WITH DAGESH
++FB4B;N # HEBREW LETTER VAV WITH HOLAM
++FB4C;N # HEBREW LETTER BET WITH RAFE
++FB4D;N # HEBREW LETTER KAF WITH RAFE
++FB4E;N # HEBREW LETTER PE WITH RAFE
++FB4F;N # HEBREW LIGATURE ALEF LAMED
++FB50;N # ARABIC LETTER ALEF WASLA ISOLATED FORM
++FB51;N # ARABIC LETTER ALEF WASLA FINAL FORM
++FB52;N # ARABIC LETTER BEEH ISOLATED FORM
++FB53;N # ARABIC LETTER BEEH FINAL FORM
++FB54;N # ARABIC LETTER BEEH INITIAL FORM
++FB55;N # ARABIC LETTER BEEH MEDIAL FORM
++FB56;N # ARABIC LETTER PEH ISOLATED FORM
++FB57;N # ARABIC LETTER PEH FINAL FORM
++FB58;N # ARABIC LETTER PEH INITIAL FORM
++FB59;N # ARABIC LETTER PEH MEDIAL FORM
++FB5A;N # ARABIC LETTER BEHEH ISOLATED FORM
++FB5B;N # ARABIC LETTER BEHEH FINAL FORM
++FB5C;N # ARABIC LETTER BEHEH INITIAL FORM
++FB5D;N # ARABIC LETTER BEHEH MEDIAL FORM
++FB5E;N # ARABIC LETTER TTEHEH ISOLATED FORM
++FB5F;N # ARABIC LETTER TTEHEH FINAL FORM
++FB60;N # ARABIC LETTER TTEHEH INITIAL FORM
++FB61;N # ARABIC LETTER TTEHEH MEDIAL FORM
++FB62;N # ARABIC LETTER TEHEH ISOLATED FORM
++FB63;N # ARABIC LETTER TEHEH FINAL FORM
++FB64;N # ARABIC LETTER TEHEH INITIAL FORM
++FB65;N # ARABIC LETTER TEHEH MEDIAL FORM
++FB66;N # ARABIC LETTER TTEH ISOLATED FORM
++FB67;N # ARABIC LETTER TTEH FINAL FORM
++FB68;N # ARABIC LETTER TTEH INITIAL FORM
++FB69;N # ARABIC LETTER TTEH MEDIAL FORM
++FB6A;N # ARABIC LETTER VEH ISOLATED FORM
++FB6B;N # ARABIC LETTER VEH FINAL FORM
++FB6C;N # ARABIC LETTER VEH INITIAL FORM
++FB6D;N # ARABIC LETTER VEH MEDIAL FORM
++FB6E;N # ARABIC LETTER PEHEH ISOLATED FORM
++FB6F;N # ARABIC LETTER PEHEH FINAL FORM
++FB70;N # ARABIC LETTER PEHEH INITIAL FORM
++FB71;N # ARABIC LETTER PEHEH MEDIAL FORM
++FB72;N # ARABIC LETTER DYEH ISOLATED FORM
++FB73;N # ARABIC LETTER DYEH FINAL FORM
++FB74;N # ARABIC LETTER DYEH INITIAL FORM
++FB75;N # ARABIC LETTER DYEH MEDIAL FORM
++FB76;N # ARABIC LETTER NYEH ISOLATED FORM
++FB77;N # ARABIC LETTER NYEH FINAL FORM
++FB78;N # ARABIC LETTER NYEH INITIAL FORM
++FB79;N # ARABIC LETTER NYEH MEDIAL FORM
++FB7A;N # ARABIC LETTER TCHEH ISOLATED FORM
++FB7B;N # ARABIC LETTER TCHEH FINAL FORM
++FB7C;N # ARABIC LETTER TCHEH INITIAL FORM
++FB7D;N # ARABIC LETTER TCHEH MEDIAL FORM
++FB7E;N # ARABIC LETTER TCHEHEH ISOLATED FORM
++FB7F;N # ARABIC LETTER TCHEHEH FINAL FORM
++FB80;N # ARABIC LETTER TCHEHEH INITIAL FORM
++FB81;N # ARABIC LETTER TCHEHEH MEDIAL FORM
++FB82;N # ARABIC LETTER DDAHAL ISOLATED FORM
++FB83;N # ARABIC LETTER DDAHAL FINAL FORM
++FB84;N # ARABIC LETTER DAHAL ISOLATED FORM
++FB85;N # ARABIC LETTER DAHAL FINAL FORM
++FB86;N # ARABIC LETTER DUL ISOLATED FORM
++FB87;N # ARABIC LETTER DUL FINAL FORM
++FB88;N # ARABIC LETTER DDAL ISOLATED FORM
++FB89;N # ARABIC LETTER DDAL FINAL FORM
++FB8A;N # ARABIC LETTER JEH ISOLATED FORM
++FB8B;N # ARABIC LETTER JEH FINAL FORM
++FB8C;N # ARABIC LETTER RREH ISOLATED FORM
++FB8D;N # ARABIC LETTER RREH FINAL FORM
++FB8E;N # ARABIC LETTER KEHEH ISOLATED FORM
++FB8F;N # ARABIC LETTER KEHEH FINAL FORM
++FB90;N # ARABIC LETTER KEHEH INITIAL FORM
++FB91;N # ARABIC LETTER KEHEH MEDIAL FORM
++FB92;N # ARABIC LETTER GAF ISOLATED FORM
++FB93;N # ARABIC LETTER GAF FINAL FORM
++FB94;N # ARABIC LETTER GAF INITIAL FORM
++FB95;N # ARABIC LETTER GAF MEDIAL FORM
++FB96;N # ARABIC LETTER GUEH ISOLATED FORM
++FB97;N # ARABIC LETTER GUEH FINAL FORM
++FB98;N # ARABIC LETTER GUEH INITIAL FORM
++FB99;N # ARABIC LETTER GUEH MEDIAL FORM
++FB9A;N # ARABIC LETTER NGOEH ISOLATED FORM
++FB9B;N # ARABIC LETTER NGOEH FINAL FORM
++FB9C;N # ARABIC LETTER NGOEH INITIAL FORM
++FB9D;N # ARABIC LETTER NGOEH MEDIAL FORM
++FB9E;N # ARABIC LETTER NOON GHUNNA ISOLATED FORM
++FB9F;N # ARABIC LETTER NOON GHUNNA FINAL FORM
++FBA0;N # ARABIC LETTER RNOON ISOLATED FORM
++FBA1;N # ARABIC LETTER RNOON FINAL FORM
++FBA2;N # ARABIC LETTER RNOON INITIAL FORM
++FBA3;N # ARABIC LETTER RNOON MEDIAL FORM
++FBA4;N # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
++FBA5;N # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
++FBA6;N # ARABIC LETTER HEH GOAL ISOLATED FORM
++FBA7;N # ARABIC LETTER HEH GOAL FINAL FORM
++FBA8;N # ARABIC LETTER HEH GOAL INITIAL FORM
++FBA9;N # ARABIC LETTER HEH GOAL MEDIAL FORM
++FBAA;N # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
++FBAB;N # ARABIC LETTER HEH DOACHASHMEE FINAL FORM
++FBAC;N # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
++FBAD;N # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
++FBAE;N # ARABIC LETTER YEH BARREE ISOLATED FORM
++FBAF;N # ARABIC LETTER YEH BARREE FINAL FORM
++FBB0;N # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
++FBB1;N # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
++FBD3;N # ARABIC LETTER NG ISOLATED FORM
++FBD4;N # ARABIC LETTER NG FINAL FORM
++FBD5;N # ARABIC LETTER NG INITIAL FORM
++FBD6;N # ARABIC LETTER NG MEDIAL FORM
++FBD7;N # ARABIC LETTER U ISOLATED FORM
++FBD8;N # ARABIC LETTER U FINAL FORM
++FBD9;N # ARABIC LETTER OE ISOLATED FORM
++FBDA;N # ARABIC LETTER OE FINAL FORM
++FBDB;N # ARABIC LETTER YU ISOLATED FORM
++FBDC;N # ARABIC LETTER YU FINAL FORM
++FBDD;N # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
++FBDE;N # ARABIC LETTER VE ISOLATED FORM
++FBDF;N # ARABIC LETTER VE FINAL FORM
++FBE0;N # ARABIC LETTER KIRGHIZ OE ISOLATED FORM
++FBE1;N # ARABIC LETTER KIRGHIZ OE FINAL FORM
++FBE2;N # ARABIC LETTER KIRGHIZ YU ISOLATED FORM
++FBE3;N # ARABIC LETTER KIRGHIZ YU FINAL FORM
++FBE4;N # ARABIC LETTER E ISOLATED FORM
++FBE5;N # ARABIC LETTER E FINAL FORM
++FBE6;N # ARABIC LETTER E INITIAL FORM
++FBE7;N # ARABIC LETTER E MEDIAL FORM
++FBE8;N # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
++FBE9;N # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
++FBEA;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
++FBEB;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
++FBEC;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
++FBED;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
++FBEE;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
++FBEF;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
++FBF0;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
++FBF1;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
++FBF2;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
++FBF3;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
++FBF4;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
++FBF5;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
++FBF6;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
++FBF7;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
++FBF8;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
++FBF9;N # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
++FBFA;N # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
++FBFB;N # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
++FBFC;N # ARABIC LETTER FARSI YEH ISOLATED FORM
++FBFD;N # ARABIC LETTER FARSI YEH FINAL FORM
++FBFE;N # ARABIC LETTER FARSI YEH INITIAL FORM
++FBFF;N # ARABIC LETTER FARSI YEH MEDIAL FORM
++FC00;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
++FC01;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
++FC02;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
++FC03;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
++FC04;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
++FC05;N # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
++FC06;N # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
++FC07;N # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
++FC08;N # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
++FC09;N # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
++FC0A;N # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
++FC0B;N # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
++FC0C;N # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
++FC0D;N # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
++FC0E;N # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
++FC0F;N # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
++FC10;N # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
++FC11;N # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
++FC12;N # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
++FC13;N # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
++FC14;N # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
++FC15;N # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
++FC16;N # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
++FC17;N # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
++FC18;N # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
++FC19;N # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
++FC1A;N # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
++FC1B;N # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
++FC1C;N # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
++FC1D;N # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
++FC1E;N # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
++FC1F;N # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
++FC20;N # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
++FC21;N # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
++FC22;N # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
++FC23;N # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
++FC24;N # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
++FC25;N # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
++FC26;N # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
++FC27;N # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
++FC28;N # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
++FC29;N # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
++FC2A;N # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
++FC2B;N # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
++FC2C;N # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
++FC2D;N # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
++FC2E;N # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
++FC2F;N # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
++FC30;N # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
++FC31;N # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
++FC32;N # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
++FC33;N # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
++FC34;N # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
++FC35;N # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
++FC36;N # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
++FC37;N # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
++FC38;N # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
++FC39;N # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
++FC3A;N # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
++FC3B;N # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
++FC3C;N # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
++FC3D;N # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
++FC3E;N # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
++FC3F;N # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
++FC40;N # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
++FC41;N # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
++FC42;N # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
++FC43;N # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
++FC44;N # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
++FC45;N # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
++FC46;N # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
++FC47;N # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
++FC48;N # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
++FC49;N # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
++FC4A;N # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
++FC4B;N # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
++FC4C;N # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
++FC4D;N # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
++FC4E;N # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
++FC4F;N # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
++FC50;N # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
++FC51;N # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
++FC52;N # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
++FC53;N # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
++FC54;N # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
++FC55;N # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
++FC56;N # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
++FC57;N # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
++FC58;N # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
++FC59;N # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
++FC5A;N # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
++FC5B;N # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
++FC5C;N # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
++FC5D;N # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
++FC5E;N # ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
++FC5F;N # ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
++FC60;N # ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
++FC61;N # ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
++FC62;N # ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
++FC63;N # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
++FC64;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
++FC65;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
++FC66;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
++FC67;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
++FC68;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
++FC69;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
++FC6A;N # ARABIC LIGATURE BEH WITH REH FINAL FORM
++FC6B;N # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
++FC6C;N # ARABIC LIGATURE BEH WITH MEEM FINAL FORM
++FC6D;N # ARABIC LIGATURE BEH WITH NOON FINAL FORM
++FC6E;N # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
++FC6F;N # ARABIC LIGATURE BEH WITH YEH FINAL FORM
++FC70;N # ARABIC LIGATURE TEH WITH REH FINAL FORM
++FC71;N # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
++FC72;N # ARABIC LIGATURE TEH WITH MEEM FINAL FORM
++FC73;N # ARABIC LIGATURE TEH WITH NOON FINAL FORM
++FC74;N # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
++FC75;N # ARABIC LIGATURE TEH WITH YEH FINAL FORM
++FC76;N # ARABIC LIGATURE THEH WITH REH FINAL FORM
++FC77;N # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
++FC78;N # ARABIC LIGATURE THEH WITH MEEM FINAL FORM
++FC79;N # ARABIC LIGATURE THEH WITH NOON FINAL FORM
++FC7A;N # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
++FC7B;N # ARABIC LIGATURE THEH WITH YEH FINAL FORM
++FC7C;N # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
++FC7D;N # ARABIC LIGATURE FEH WITH YEH FINAL FORM
++FC7E;N # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
++FC7F;N # ARABIC LIGATURE QAF WITH YEH FINAL FORM
++FC80;N # ARABIC LIGATURE KAF WITH ALEF FINAL FORM
++FC81;N # ARABIC LIGATURE KAF WITH LAM FINAL FORM
++FC82;N # ARABIC LIGATURE KAF WITH MEEM FINAL FORM
++FC83;N # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
++FC84;N # ARABIC LIGATURE KAF WITH YEH FINAL FORM
++FC85;N # ARABIC LIGATURE LAM WITH MEEM FINAL FORM
++FC86;N # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
++FC87;N # ARABIC LIGATURE LAM WITH YEH FINAL FORM
++FC88;N # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
++FC89;N # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
++FC8A;N # ARABIC LIGATURE NOON WITH REH FINAL FORM
++FC8B;N # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
++FC8C;N # ARABIC LIGATURE NOON WITH MEEM FINAL FORM
++FC8D;N # ARABIC LIGATURE NOON WITH NOON FINAL FORM
++FC8E;N # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
++FC8F;N # ARABIC LIGATURE NOON WITH YEH FINAL FORM
++FC90;N # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
++FC91;N # ARABIC LIGATURE YEH WITH REH FINAL FORM
++FC92;N # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
++FC93;N # ARABIC LIGATURE YEH WITH MEEM FINAL FORM
++FC94;N # ARABIC LIGATURE YEH WITH NOON FINAL FORM
++FC95;N # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
++FC96;N # ARABIC LIGATURE YEH WITH YEH FINAL FORM
++FC97;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
++FC98;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
++FC99;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
++FC9A;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
++FC9B;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
++FC9C;N # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
++FC9D;N # ARABIC LIGATURE BEH WITH HAH INITIAL FORM
++FC9E;N # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
++FC9F;N # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
++FCA0;N # ARABIC LIGATURE BEH WITH HEH INITIAL FORM
++FCA1;N # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
++FCA2;N # ARABIC LIGATURE TEH WITH HAH INITIAL FORM
++FCA3;N # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
++FCA4;N # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
++FCA5;N # ARABIC LIGATURE TEH WITH HEH INITIAL FORM
++FCA6;N # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
++FCA7;N # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
++FCA8;N # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
++FCA9;N # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
++FCAA;N # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
++FCAB;N # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
++FCAC;N # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
++FCAD;N # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
++FCAE;N # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
++FCAF;N # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
++FCB0;N # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
++FCB1;N # ARABIC LIGATURE SAD WITH HAH INITIAL FORM
++FCB2;N # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
++FCB3;N # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
++FCB4;N # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
++FCB5;N # ARABIC LIGATURE DAD WITH HAH INITIAL FORM
++FCB6;N # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
++FCB7;N # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
++FCB8;N # ARABIC LIGATURE TAH WITH HAH INITIAL FORM
++FCB9;N # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
++FCBA;N # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
++FCBB;N # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
++FCBC;N # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
++FCBD;N # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
++FCBE;N # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
++FCBF;N # ARABIC LIGATURE FEH WITH HAH INITIAL FORM
++FCC0;N # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
++FCC1;N # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
++FCC2;N # ARABIC LIGATURE QAF WITH HAH INITIAL FORM
++FCC3;N # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
++FCC4;N # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
++FCC5;N # ARABIC LIGATURE KAF WITH HAH INITIAL FORM
++FCC6;N # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
++FCC7;N # ARABIC LIGATURE KAF WITH LAM INITIAL FORM
++FCC8;N # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
++FCC9;N # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
++FCCA;N # ARABIC LIGATURE LAM WITH HAH INITIAL FORM
++FCCB;N # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
++FCCC;N # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
++FCCD;N # ARABIC LIGATURE LAM WITH HEH INITIAL FORM
++FCCE;N # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
++FCCF;N # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
++FCD0;N # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
++FCD1;N # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
++FCD2;N # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
++FCD3;N # ARABIC LIGATURE NOON WITH HAH INITIAL FORM
++FCD4;N # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
++FCD5;N # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
++FCD6;N # ARABIC LIGATURE NOON WITH HEH INITIAL FORM
++FCD7;N # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
++FCD8;N # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
++FCD9;N # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
++FCDA;N # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
++FCDB;N # ARABIC LIGATURE YEH WITH HAH INITIAL FORM
++FCDC;N # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
++FCDD;N # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
++FCDE;N # ARABIC LIGATURE YEH WITH HEH INITIAL FORM
++FCDF;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
++FCE0;N # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
++FCE1;N # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
++FCE2;N # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
++FCE3;N # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
++FCE4;N # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
++FCE5;N # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
++FCE6;N # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
++FCE7;N # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
++FCE8;N # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
++FCE9;N # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
++FCEA;N # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
++FCEB;N # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
++FCEC;N # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
++FCED;N # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
++FCEE;N # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
++FCEF;N # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
++FCF0;N # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
++FCF1;N # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
++FCF2;N # ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
++FCF3;N # ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
++FCF4;N # ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
++FCF5;N # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
++FCF6;N # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
++FCF7;N # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
++FCF8;N # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
++FCF9;N # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
++FCFA;N # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
++FCFB;N # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
++FCFC;N # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
++FCFD;N # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
++FCFE;N # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
++FCFF;N # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
++FD00;N # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
++FD01;N # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
++FD02;N # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
++FD03;N # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
++FD04;N # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
++FD05;N # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
++FD06;N # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
++FD07;N # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
++FD08;N # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
++FD09;N # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
++FD0A;N # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
++FD0B;N # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
++FD0C;N # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
++FD0D;N # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
++FD0E;N # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
++FD0F;N # ARABIC LIGATURE SAD WITH REH ISOLATED FORM
++FD10;N # ARABIC LIGATURE DAD WITH REH ISOLATED FORM
++FD11;N # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
++FD12;N # ARABIC LIGATURE TAH WITH YEH FINAL FORM
++FD13;N # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
++FD14;N # ARABIC LIGATURE AIN WITH YEH FINAL FORM
++FD15;N # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
++FD16;N # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
++FD17;N # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
++FD18;N # ARABIC LIGATURE SEEN WITH YEH FINAL FORM
++FD19;N # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
++FD1A;N # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
++FD1B;N # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
++FD1C;N # ARABIC LIGATURE HAH WITH YEH FINAL FORM
++FD1D;N # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
++FD1E;N # ARABIC LIGATURE JEEM WITH YEH FINAL FORM
++FD1F;N # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
++FD20;N # ARABIC LIGATURE KHAH WITH YEH FINAL FORM
++FD21;N # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
++FD22;N # ARABIC LIGATURE SAD WITH YEH FINAL FORM
++FD23;N # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
++FD24;N # ARABIC LIGATURE DAD WITH YEH FINAL FORM
++FD25;N # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
++FD26;N # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
++FD27;N # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
++FD28;N # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
++FD29;N # ARABIC LIGATURE SHEEN WITH REH FINAL FORM
++FD2A;N # ARABIC LIGATURE SEEN WITH REH FINAL FORM
++FD2B;N # ARABIC LIGATURE SAD WITH REH FINAL FORM
++FD2C;N # ARABIC LIGATURE DAD WITH REH FINAL FORM
++FD2D;N # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
++FD2E;N # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
++FD2F;N # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
++FD30;N # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
++FD31;N # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
++FD32;N # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
++FD33;N # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
++FD34;N # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
++FD35;N # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
++FD36;N # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
++FD37;N # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
++FD38;N # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
++FD39;N # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
++FD3A;N # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
++FD3B;N # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
++FD3C;N # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
++FD3D;N # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
++FD3E;N # ORNATE LEFT PARENTHESIS
++FD3F;N # ORNATE RIGHT PARENTHESIS
++FD50;N # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
++FD51;N # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
++FD52;N # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
++FD53;N # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
++FD54;N # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
++FD55;N # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
++FD56;N # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
++FD57;N # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
++FD58;N # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
++FD59;N # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
++FD5A;N # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
++FD5B;N # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
++FD5C;N # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
++FD5D;N # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
++FD5E;N # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
++FD5F;N # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
++FD60;N # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
++FD61;N # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
++FD62;N # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
++FD63;N # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
++FD64;N # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
++FD65;N # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
++FD66;N # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
++FD67;N # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
++FD68;N # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
++FD69;N # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
++FD6A;N # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
++FD6B;N # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
++FD6C;N # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
++FD6D;N # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
++FD6E;N # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
++FD6F;N # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
++FD70;N # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
++FD71;N # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
++FD72;N # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
++FD73;N # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
++FD74;N # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
++FD75;N # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
++FD76;N # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
++FD77;N # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
++FD78;N # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
++FD79;N # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
++FD7A;N # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
++FD7B;N # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
++FD7C;N # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
++FD7D;N # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
++FD7E;N # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
++FD7F;N # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
++FD80;N # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
++FD81;N # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
++FD82;N # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
++FD83;N # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
++FD84;N # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
++FD85;N # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
++FD86;N # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
++FD87;N # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
++FD88;N # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
++FD89;N # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
++FD8A;N # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
++FD8B;N # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
++FD8C;N # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
++FD8D;N # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
++FD8E;N # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
++FD8F;N # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
++FD92;N # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
++FD93;N # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
++FD94;N # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
++FD95;N # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
++FD96;N # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
++FD97;N # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
++FD98;N # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
++FD99;N # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
++FD9A;N # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
++FD9B;N # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
++FD9C;N # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
++FD9D;N # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
++FD9E;N # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
++FD9F;N # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
++FDA0;N # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
++FDA1;N # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
++FDA2;N # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
++FDA3;N # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
++FDA4;N # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
++FDA5;N # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
++FDA6;N # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
++FDA7;N # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
++FDA8;N # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
++FDA9;N # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
++FDAA;N # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
++FDAB;N # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
++FDAC;N # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
++FDAD;N # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
++FDAE;N # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
++FDAF;N # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
++FDB0;N # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
++FDB1;N # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
++FDB2;N # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
++FDB3;N # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
++FDB4;N # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
++FDB5;N # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
++FDB6;N # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
++FDB7;N # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
++FDB8;N # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
++FDB9;N # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
++FDBA;N # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
++FDBB;N # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
++FDBC;N # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
++FDBD;N # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
++FDBE;N # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
++FDBF;N # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
++FDC0;N # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
++FDC1;N # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
++FDC2;N # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
++FDC3;N # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
++FDC4;N # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
++FDC5;N # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
++FDC6;N # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
++FDC7;N # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
++FDF0;N # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
++FDF1;N # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
++FDF2;N # ARABIC LIGATURE ALLAH ISOLATED FORM
++FDF3;N # ARABIC LIGATURE AKBAR ISOLATED FORM
++FDF4;N # ARABIC LIGATURE MOHAMMAD ISOLATED FORM
++FDF5;N # ARABIC LIGATURE SALAM ISOLATED FORM
++FDF6;N # ARABIC LIGATURE RASOUL ISOLATED FORM
++FDF7;N # ARABIC LIGATURE ALAYHE ISOLATED FORM
++FDF8;N # ARABIC LIGATURE WASALLAM ISOLATED FORM
++FDF9;N # ARABIC LIGATURE SALLA ISOLATED FORM
++FDFA;N # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
++FDFB;N # ARABIC LIGATURE JALLAJALALOUHOU
++FDFC;N # RIAL SIGN
++FDFD;N # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
++FE00;A # VARIATION SELECTOR-1
++FE01;A # VARIATION SELECTOR-2
++FE02;A # VARIATION SELECTOR-3
++FE03;A # VARIATION SELECTOR-4
++FE04;A # VARIATION SELECTOR-5
++FE05;A # VARIATION SELECTOR-6
++FE06;A # VARIATION SELECTOR-7
++FE07;A # VARIATION SELECTOR-8
++FE08;A # VARIATION SELECTOR-9
++FE09;A # VARIATION SELECTOR-10
++FE0A;A # VARIATION SELECTOR-11
++FE0B;A # VARIATION SELECTOR-12
++FE0C;A # VARIATION SELECTOR-13
++FE0D;A # VARIATION SELECTOR-14
++FE0E;A # VARIATION SELECTOR-15
++FE0F;A # VARIATION SELECTOR-16
++FE10;W # PRESENTATION FORM FOR VERTICAL COMMA
++FE11;W # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
++FE12;W # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
++FE13;W # PRESENTATION FORM FOR VERTICAL COLON
++FE14;W # PRESENTATION FORM FOR VERTICAL SEMICOLON
++FE15;W # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
++FE16;W # PRESENTATION FORM FOR VERTICAL QUESTION MARK
++FE17;W # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
++FE18;W # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
++FE19;W # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
++FE20;N # COMBINING LIGATURE LEFT HALF
++FE21;N # COMBINING LIGATURE RIGHT HALF
++FE22;N # COMBINING DOUBLE TILDE LEFT HALF
++FE23;N # COMBINING DOUBLE TILDE RIGHT HALF
++FE24;N # COMBINING MACRON LEFT HALF
++FE25;N # COMBINING MACRON RIGHT HALF
++FE26;N # COMBINING CONJOINING MACRON
++FE30;W # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
++FE31;W # PRESENTATION FORM FOR VERTICAL EM DASH
++FE32;W # PRESENTATION FORM FOR VERTICAL EN DASH
++FE33;W # PRESENTATION FORM FOR VERTICAL LOW LINE
++FE34;W # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
++FE35;W # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
++FE36;W # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
++FE37;W # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
++FE38;W # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
++FE39;W # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
++FE3A;W # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
++FE3B;W # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
++FE3C;W # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
++FE3D;W # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
++FE3E;W # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
++FE3F;W # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
++FE40;W # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
++FE41;W # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
++FE42;W # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
++FE43;W # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
++FE44;W # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
++FE45;W # SESAME DOT
++FE46;W # WHITE SESAME DOT
++FE47;W # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
++FE48;W # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
++FE49;W # DASHED OVERLINE
++FE4A;W # CENTRELINE OVERLINE
++FE4B;W # WAVY OVERLINE
++FE4C;W # DOUBLE WAVY OVERLINE
++FE4D;W # DASHED LOW LINE
++FE4E;W # CENTRELINE LOW LINE
++FE4F;W # WAVY LOW LINE
++FE50;W # SMALL COMMA
++FE51;W # SMALL IDEOGRAPHIC COMMA
++FE52;W # SMALL FULL STOP
++FE54;W # SMALL SEMICOLON
++FE55;W # SMALL COLON
++FE56;W # SMALL QUESTION MARK
++FE57;W # SMALL EXCLAMATION MARK
++FE58;W # SMALL EM DASH
++FE59;W # SMALL LEFT PARENTHESIS
++FE5A;W # SMALL RIGHT PARENTHESIS
++FE5B;W # SMALL LEFT CURLY BRACKET
++FE5C;W # SMALL RIGHT CURLY BRACKET
++FE5D;W # SMALL LEFT TORTOISE SHELL BRACKET
++FE5E;W # SMALL RIGHT TORTOISE SHELL BRACKET
++FE5F;W # SMALL NUMBER SIGN
++FE60;W # SMALL AMPERSAND
++FE61;W # SMALL ASTERISK
++FE62;W # SMALL PLUS SIGN
++FE63;W # SMALL HYPHEN-MINUS
++FE64;W # SMALL LESS-THAN SIGN
++FE65;W # SMALL GREATER-THAN SIGN
++FE66;W # SMALL EQUALS SIGN
++FE68;W # SMALL REVERSE SOLIDUS
++FE69;W # SMALL DOLLAR SIGN
++FE6A;W # SMALL PERCENT SIGN
++FE6B;W # SMALL COMMERCIAL AT
++FE70;N # ARABIC FATHATAN ISOLATED FORM
++FE71;N # ARABIC TATWEEL WITH FATHATAN ABOVE
++FE72;N # ARABIC DAMMATAN ISOLATED FORM
++FE73;N # ARABIC TAIL FRAGMENT
++FE74;N # ARABIC KASRATAN ISOLATED FORM
++FE76;N # ARABIC FATHA ISOLATED FORM
++FE77;N # ARABIC FATHA MEDIAL FORM
++FE78;N # ARABIC DAMMA ISOLATED FORM
++FE79;N # ARABIC DAMMA MEDIAL FORM
++FE7A;N # ARABIC KASRA ISOLATED FORM
++FE7B;N # ARABIC KASRA MEDIAL FORM
++FE7C;N # ARABIC SHADDA ISOLATED FORM
++FE7D;N # ARABIC SHADDA MEDIAL FORM
++FE7E;N # ARABIC SUKUN ISOLATED FORM
++FE7F;N # ARABIC SUKUN MEDIAL FORM
++FE80;N # ARABIC LETTER HAMZA ISOLATED FORM
++FE81;N # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
++FE82;N # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
++FE83;N # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
++FE84;N # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
++FE85;N # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
++FE86;N # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
++FE87;N # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
++FE88;N # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
++FE89;N # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
++FE8A;N # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
++FE8B;N # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
++FE8C;N # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
++FE8D;N # ARABIC LETTER ALEF ISOLATED FORM
++FE8E;N # ARABIC LETTER ALEF FINAL FORM
++FE8F;N # ARABIC LETTER BEH ISOLATED FORM
++FE90;N # ARABIC LETTER BEH FINAL FORM
++FE91;N # ARABIC LETTER BEH INITIAL FORM
++FE92;N # ARABIC LETTER BEH MEDIAL FORM
++FE93;N # ARABIC LETTER TEH MARBUTA ISOLATED FORM
++FE94;N # ARABIC LETTER TEH MARBUTA FINAL FORM
++FE95;N # ARABIC LETTER TEH ISOLATED FORM
++FE96;N # ARABIC LETTER TEH FINAL FORM
++FE97;N # ARABIC LETTER TEH INITIAL FORM
++FE98;N # ARABIC LETTER TEH MEDIAL FORM
++FE99;N # ARABIC LETTER THEH ISOLATED FORM
++FE9A;N # ARABIC LETTER THEH FINAL FORM
++FE9B;N # ARABIC LETTER THEH INITIAL FORM
++FE9C;N # ARABIC LETTER THEH MEDIAL FORM
++FE9D;N # ARABIC LETTER JEEM ISOLATED FORM
++FE9E;N # ARABIC LETTER JEEM FINAL FORM
++FE9F;N # ARABIC LETTER JEEM INITIAL FORM
++FEA0;N # ARABIC LETTER JEEM MEDIAL FORM
++FEA1;N # ARABIC LETTER HAH ISOLATED FORM
++FEA2;N # ARABIC LETTER HAH FINAL FORM
++FEA3;N # ARABIC LETTER HAH INITIAL FORM
++FEA4;N # ARABIC LETTER HAH MEDIAL FORM
++FEA5;N # ARABIC LETTER KHAH ISOLATED FORM
++FEA6;N # ARABIC LETTER KHAH FINAL FORM
++FEA7;N # ARABIC LETTER KHAH INITIAL FORM
++FEA8;N # ARABIC LETTER KHAH MEDIAL FORM
++FEA9;N # ARABIC LETTER DAL ISOLATED FORM
++FEAA;N # ARABIC LETTER DAL FINAL FORM
++FEAB;N # ARABIC LETTER THAL ISOLATED FORM
++FEAC;N # ARABIC LETTER THAL FINAL FORM
++FEAD;N # ARABIC LETTER REH ISOLATED FORM
++FEAE;N # ARABIC LETTER REH FINAL FORM
++FEAF;N # ARABIC LETTER ZAIN ISOLATED FORM
++FEB0;N # ARABIC LETTER ZAIN FINAL FORM
++FEB1;N # ARABIC LETTER SEEN ISOLATED FORM
++FEB2;N # ARABIC LETTER SEEN FINAL FORM
++FEB3;N # ARABIC LETTER SEEN INITIAL FORM
++FEB4;N # ARABIC LETTER SEEN MEDIAL FORM
++FEB5;N # ARABIC LETTER SHEEN ISOLATED FORM
++FEB6;N # ARABIC LETTER SHEEN FINAL FORM
++FEB7;N # ARABIC LETTER SHEEN INITIAL FORM
++FEB8;N # ARABIC LETTER SHEEN MEDIAL FORM
++FEB9;N # ARABIC LETTER SAD ISOLATED FORM
++FEBA;N # ARABIC LETTER SAD FINAL FORM
++FEBB;N # ARABIC LETTER SAD INITIAL FORM
++FEBC;N # ARABIC LETTER SAD MEDIAL FORM
++FEBD;N # ARABIC LETTER DAD ISOLATED FORM
++FEBE;N # ARABIC LETTER DAD FINAL FORM
++FEBF;N # ARABIC LETTER DAD INITIAL FORM
++FEC0;N # ARABIC LETTER DAD MEDIAL FORM
++FEC1;N # ARABIC LETTER TAH ISOLATED FORM
++FEC2;N # ARABIC LETTER TAH FINAL FORM
++FEC3;N # ARABIC LETTER TAH INITIAL FORM
++FEC4;N # ARABIC LETTER TAH MEDIAL FORM
++FEC5;N # ARABIC LETTER ZAH ISOLATED FORM
++FEC6;N # ARABIC LETTER ZAH FINAL FORM
++FEC7;N # ARABIC LETTER ZAH INITIAL FORM
++FEC8;N # ARABIC LETTER ZAH MEDIAL FORM
++FEC9;N # ARABIC LETTER AIN ISOLATED FORM
++FECA;N # ARABIC LETTER AIN FINAL FORM
++FECB;N # ARABIC LETTER AIN INITIAL FORM
++FECC;N # ARABIC LETTER AIN MEDIAL FORM
++FECD;N # ARABIC LETTER GHAIN ISOLATED FORM
++FECE;N # ARABIC LETTER GHAIN FINAL FORM
++FECF;N # ARABIC LETTER GHAIN INITIAL FORM
++FED0;N # ARABIC LETTER GHAIN MEDIAL FORM
++FED1;N # ARABIC LETTER FEH ISOLATED FORM
++FED2;N # ARABIC LETTER FEH FINAL FORM
++FED3;N # ARABIC LETTER FEH INITIAL FORM
++FED4;N # ARABIC LETTER FEH MEDIAL FORM
++FED5;N # ARABIC LETTER QAF ISOLATED FORM
++FED6;N # ARABIC LETTER QAF FINAL FORM
++FED7;N # ARABIC LETTER QAF INITIAL FORM
++FED8;N # ARABIC LETTER QAF MEDIAL FORM
++FED9;N # ARABIC LETTER KAF ISOLATED FORM
++FEDA;N # ARABIC LETTER KAF FINAL FORM
++FEDB;N # ARABIC LETTER KAF INITIAL FORM
++FEDC;N # ARABIC LETTER KAF MEDIAL FORM
++FEDD;N # ARABIC LETTER LAM ISOLATED FORM
++FEDE;N # ARABIC LETTER LAM FINAL FORM
++FEDF;N # ARABIC LETTER LAM INITIAL FORM
++FEE0;N # ARABIC LETTER LAM MEDIAL FORM
++FEE1;N # ARABIC LETTER MEEM ISOLATED FORM
++FEE2;N # ARABIC LETTER MEEM FINAL FORM
++FEE3;N # ARABIC LETTER MEEM INITIAL FORM
++FEE4;N # ARABIC LETTER MEEM MEDIAL FORM
++FEE5;N # ARABIC LETTER NOON ISOLATED FORM
++FEE6;N # ARABIC LETTER NOON FINAL FORM
++FEE7;N # ARABIC LETTER NOON INITIAL FORM
++FEE8;N # ARABIC LETTER NOON MEDIAL FORM
++FEE9;N # ARABIC LETTER HEH ISOLATED FORM
++FEEA;N # ARABIC LETTER HEH FINAL FORM
++FEEB;N # ARABIC LETTER HEH INITIAL FORM
++FEEC;N # ARABIC LETTER HEH MEDIAL FORM
++FEED;N # ARABIC LETTER WAW ISOLATED FORM
++FEEE;N # ARABIC LETTER WAW FINAL FORM
++FEEF;N # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
++FEF0;N # ARABIC LETTER ALEF MAKSURA FINAL FORM
++FEF1;N # ARABIC LETTER YEH ISOLATED FORM
++FEF2;N # ARABIC LETTER YEH FINAL FORM
++FEF3;N # ARABIC LETTER YEH INITIAL FORM
++FEF4;N # ARABIC LETTER YEH MEDIAL FORM
++FEF5;N # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
++FEF6;N # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
++FEF7;N # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
++FEF8;N # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
++FEF9;N # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
++FEFA;N # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
++FEFB;N # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
++FEFC;N # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
++FEFF;N # ZERO WIDTH NO-BREAK SPACE
++FF01;F # FULLWIDTH EXCLAMATION MARK
++FF02;F # FULLWIDTH QUOTATION MARK
++FF03;F # FULLWIDTH NUMBER SIGN
++FF04;F # FULLWIDTH DOLLAR SIGN
++FF05;F # FULLWIDTH PERCENT SIGN
++FF06;F # FULLWIDTH AMPERSAND
++FF07;F # FULLWIDTH APOSTROPHE
++FF08;F # FULLWIDTH LEFT PARENTHESIS
++FF09;F # FULLWIDTH RIGHT PARENTHESIS
++FF0A;F # FULLWIDTH ASTERISK
++FF0B;F # FULLWIDTH PLUS SIGN
++FF0C;F # FULLWIDTH COMMA
++FF0D;F # FULLWIDTH HYPHEN-MINUS
++FF0E;F # FULLWIDTH FULL STOP
++FF0F;F # FULLWIDTH SOLIDUS
++FF10;F # FULLWIDTH DIGIT ZERO
++FF11;F # FULLWIDTH DIGIT ONE
++FF12;F # FULLWIDTH DIGIT TWO
++FF13;F # FULLWIDTH DIGIT THREE
++FF14;F # FULLWIDTH DIGIT FOUR
++FF15;F # FULLWIDTH DIGIT FIVE
++FF16;F # FULLWIDTH DIGIT SIX
++FF17;F # FULLWIDTH DIGIT SEVEN
++FF18;F # FULLWIDTH DIGIT EIGHT
++FF19;F # FULLWIDTH DIGIT NINE
++FF1A;F # FULLWIDTH COLON
++FF1B;F # FULLWIDTH SEMICOLON
++FF1C;F # FULLWIDTH LESS-THAN SIGN
++FF1D;F # FULLWIDTH EQUALS SIGN
++FF1E;F # FULLWIDTH GREATER-THAN SIGN
++FF1F;F # FULLWIDTH QUESTION MARK
++FF20;F # FULLWIDTH COMMERCIAL AT
++FF21;F # FULLWIDTH LATIN CAPITAL LETTER A
++FF22;F # FULLWIDTH LATIN CAPITAL LETTER B
++FF23;F # FULLWIDTH LATIN CAPITAL LETTER C
++FF24;F # FULLWIDTH LATIN CAPITAL LETTER D
++FF25;F # FULLWIDTH LATIN CAPITAL LETTER E
++FF26;F # FULLWIDTH LATIN CAPITAL LETTER F
++FF27;F # FULLWIDTH LATIN CAPITAL LETTER G
++FF28;F # FULLWIDTH LATIN CAPITAL LETTER H
++FF29;F # FULLWIDTH LATIN CAPITAL LETTER I
++FF2A;F # FULLWIDTH LATIN CAPITAL LETTER J
++FF2B;F # FULLWIDTH LATIN CAPITAL LETTER K
++FF2C;F # FULLWIDTH LATIN CAPITAL LETTER L
++FF2D;F # FULLWIDTH LATIN CAPITAL LETTER M
++FF2E;F # FULLWIDTH LATIN CAPITAL LETTER N
++FF2F;F # FULLWIDTH LATIN CAPITAL LETTER O
++FF30;F # FULLWIDTH LATIN CAPITAL LETTER P
++FF31;F # FULLWIDTH LATIN CAPITAL LETTER Q
++FF32;F # FULLWIDTH LATIN CAPITAL LETTER R
++FF33;F # FULLWIDTH LATIN CAPITAL LETTER S
++FF34;F # FULLWIDTH LATIN CAPITAL LETTER T
++FF35;F # FULLWIDTH LATIN CAPITAL LETTER U
++FF36;F # FULLWIDTH LATIN CAPITAL LETTER V
++FF37;F # FULLWIDTH LATIN CAPITAL LETTER W
++FF38;F # FULLWIDTH LATIN CAPITAL LETTER X
++FF39;F # FULLWIDTH LATIN CAPITAL LETTER Y
++FF3A;F # FULLWIDTH LATIN CAPITAL LETTER Z
++FF3B;F # FULLWIDTH LEFT SQUARE BRACKET
++FF3C;F # FULLWIDTH REVERSE SOLIDUS
++FF3D;F # FULLWIDTH RIGHT SQUARE BRACKET
++FF3E;F # FULLWIDTH CIRCUMFLEX ACCENT
++FF3F;F # FULLWIDTH LOW LINE
++FF40;F # FULLWIDTH GRAVE ACCENT
++FF41;F # FULLWIDTH LATIN SMALL LETTER A
++FF42;F # FULLWIDTH LATIN SMALL LETTER B
++FF43;F # FULLWIDTH LATIN SMALL LETTER C
++FF44;F # FULLWIDTH LATIN SMALL LETTER D
++FF45;F # FULLWIDTH LATIN SMALL LETTER E
++FF46;F # FULLWIDTH LATIN SMALL LETTER F
++FF47;F # FULLWIDTH LATIN SMALL LETTER G
++FF48;F # FULLWIDTH LATIN SMALL LETTER H
++FF49;F # FULLWIDTH LATIN SMALL LETTER I
++FF4A;F # FULLWIDTH LATIN SMALL LETTER J
++FF4B;F # FULLWIDTH LATIN SMALL LETTER K
++FF4C;F # FULLWIDTH LATIN SMALL LETTER L
++FF4D;F # FULLWIDTH LATIN SMALL LETTER M
++FF4E;F # FULLWIDTH LATIN SMALL LETTER N
++FF4F;F # FULLWIDTH LATIN SMALL LETTER O
++FF50;F # FULLWIDTH LATIN SMALL LETTER P
++FF51;F # FULLWIDTH LATIN SMALL LETTER Q
++FF52;F # FULLWIDTH LATIN SMALL LETTER R
++FF53;F # FULLWIDTH LATIN SMALL LETTER S
++FF54;F # FULLWIDTH LATIN SMALL LETTER T
++FF55;F # FULLWIDTH LATIN SMALL LETTER U
++FF56;F # FULLWIDTH LATIN SMALL LETTER V
++FF57;F # FULLWIDTH LATIN SMALL LETTER W
++FF58;F # FULLWIDTH LATIN SMALL LETTER X
++FF59;F # FULLWIDTH LATIN SMALL LETTER Y
++FF5A;F # FULLWIDTH LATIN SMALL LETTER Z
++FF5B;F # FULLWIDTH LEFT CURLY BRACKET
++FF5C;F # FULLWIDTH VERTICAL LINE
++FF5D;F # FULLWIDTH RIGHT CURLY BRACKET
++FF5E;F # FULLWIDTH TILDE
++FF5F;F # FULLWIDTH LEFT WHITE PARENTHESIS
++FF60;F # FULLWIDTH RIGHT WHITE PARENTHESIS
++FF61;H # HALFWIDTH IDEOGRAPHIC FULL STOP
++FF62;H # HALFWIDTH LEFT CORNER BRACKET
++FF63;H # HALFWIDTH RIGHT CORNER BRACKET
++FF64;H # HALFWIDTH IDEOGRAPHIC COMMA
++FF65;H # HALFWIDTH KATAKANA MIDDLE DOT
++FF66;H # HALFWIDTH KATAKANA LETTER WO
++FF67;H # HALFWIDTH KATAKANA LETTER SMALL A
++FF68;H # HALFWIDTH KATAKANA LETTER SMALL I
++FF69;H # HALFWIDTH KATAKANA LETTER SMALL U
++FF6A;H # HALFWIDTH KATAKANA LETTER SMALL E
++FF6B;H # HALFWIDTH KATAKANA LETTER SMALL O
++FF6C;H # HALFWIDTH KATAKANA LETTER SMALL YA
++FF6D;H # HALFWIDTH KATAKANA LETTER SMALL YU
++FF6E;H # HALFWIDTH KATAKANA LETTER SMALL YO
++FF6F;H # HALFWIDTH KATAKANA LETTER SMALL TU
++FF70;H # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
++FF71;H # HALFWIDTH KATAKANA LETTER A
++FF72;H # HALFWIDTH KATAKANA LETTER I
++FF73;H # HALFWIDTH KATAKANA LETTER U
++FF74;H # HALFWIDTH KATAKANA LETTER E
++FF75;H # HALFWIDTH KATAKANA LETTER O
++FF76;H # HALFWIDTH KATAKANA LETTER KA
++FF77;H # HALFWIDTH KATAKANA LETTER KI
++FF78;H # HALFWIDTH KATAKANA LETTER KU
++FF79;H # HALFWIDTH KATAKANA LETTER KE
++FF7A;H # HALFWIDTH KATAKANA LETTER KO
++FF7B;H # HALFWIDTH KATAKANA LETTER SA
++FF7C;H # HALFWIDTH KATAKANA LETTER SI
++FF7D;H # HALFWIDTH KATAKANA LETTER SU
++FF7E;H # HALFWIDTH KATAKANA LETTER SE
++FF7F;H # HALFWIDTH KATAKANA LETTER SO
++FF80;H # HALFWIDTH KATAKANA LETTER TA
++FF81;H # HALFWIDTH KATAKANA LETTER TI
++FF82;H # HALFWIDTH KATAKANA LETTER TU
++FF83;H # HALFWIDTH KATAKANA LETTER TE
++FF84;H # HALFWIDTH KATAKANA LETTER TO
++FF85;H # HALFWIDTH KATAKANA LETTER NA
++FF86;H # HALFWIDTH KATAKANA LETTER NI
++FF87;H # HALFWIDTH KATAKANA LETTER NU
++FF88;H # HALFWIDTH KATAKANA LETTER NE
++FF89;H # HALFWIDTH KATAKANA LETTER NO
++FF8A;H # HALFWIDTH KATAKANA LETTER HA
++FF8B;H # HALFWIDTH KATAKANA LETTER HI
++FF8C;H # HALFWIDTH KATAKANA LETTER HU
++FF8D;H # HALFWIDTH KATAKANA LETTER HE
++FF8E;H # HALFWIDTH KATAKANA LETTER HO
++FF8F;H # HALFWIDTH KATAKANA LETTER MA
++FF90;H # HALFWIDTH KATAKANA LETTER MI
++FF91;H # HALFWIDTH KATAKANA LETTER MU
++FF92;H # HALFWIDTH KATAKANA LETTER ME
++FF93;H # HALFWIDTH KATAKANA LETTER MO
++FF94;H # HALFWIDTH KATAKANA LETTER YA
++FF95;H # HALFWIDTH KATAKANA LETTER YU
++FF96;H # HALFWIDTH KATAKANA LETTER YO
++FF97;H # HALFWIDTH KATAKANA LETTER RA
++FF98;H # HALFWIDTH KATAKANA LETTER RI
++FF99;H # HALFWIDTH KATAKANA LETTER RU
++FF9A;H # HALFWIDTH KATAKANA LETTER RE
++FF9B;H # HALFWIDTH KATAKANA LETTER RO
++FF9C;H # HALFWIDTH KATAKANA LETTER WA
++FF9D;H # HALFWIDTH KATAKANA LETTER N
++FF9E;H # HALFWIDTH KATAKANA VOICED SOUND MARK
++FF9F;H # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
++FFA0;H # HALFWIDTH HANGUL FILLER
++FFA1;H # HALFWIDTH HANGUL LETTER KIYEOK
++FFA2;H # HALFWIDTH HANGUL LETTER SSANGKIYEOK
++FFA3;H # HALFWIDTH HANGUL LETTER KIYEOK-SIOS
++FFA4;H # HALFWIDTH HANGUL LETTER NIEUN
++FFA5;H # HALFWIDTH HANGUL LETTER NIEUN-CIEUC
++FFA6;H # HALFWIDTH HANGUL LETTER NIEUN-HIEUH
++FFA7;H # HALFWIDTH HANGUL LETTER TIKEUT
++FFA8;H # HALFWIDTH HANGUL LETTER SSANGTIKEUT
++FFA9;H # HALFWIDTH HANGUL LETTER RIEUL
++FFAA;H # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
++FFAB;H # HALFWIDTH HANGUL LETTER RIEUL-MIEUM
++FFAC;H # HALFWIDTH HANGUL LETTER RIEUL-PIEUP
++FFAD;H # HALFWIDTH HANGUL LETTER RIEUL-SIOS
++FFAE;H # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
++FFAF;H # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
++FFB0;H # HALFWIDTH HANGUL LETTER RIEUL-HIEUH
++FFB1;H # HALFWIDTH HANGUL LETTER MIEUM
++FFB2;H # HALFWIDTH HANGUL LETTER PIEUP
++FFB3;H # HALFWIDTH HANGUL LETTER SSANGPIEUP
++FFB4;H # HALFWIDTH HANGUL LETTER PIEUP-SIOS
++FFB5;H # HALFWIDTH HANGUL LETTER SIOS
++FFB6;H # HALFWIDTH HANGUL LETTER SSANGSIOS
++FFB7;H # HALFWIDTH HANGUL LETTER IEUNG
++FFB8;H # HALFWIDTH HANGUL LETTER CIEUC
++FFB9;H # HALFWIDTH HANGUL LETTER SSANGCIEUC
++FFBA;H # HALFWIDTH HANGUL LETTER CHIEUCH
++FFBB;H # HALFWIDTH HANGUL LETTER KHIEUKH
++FFBC;H # HALFWIDTH HANGUL LETTER THIEUTH
++FFBD;H # HALFWIDTH HANGUL LETTER PHIEUPH
++FFBE;H # HALFWIDTH HANGUL LETTER HIEUH
++FFC2;H # HALFWIDTH HANGUL LETTER A
++FFC3;H # HALFWIDTH HANGUL LETTER AE
++FFC4;H # HALFWIDTH HANGUL LETTER YA
++FFC5;H # HALFWIDTH HANGUL LETTER YAE
++FFC6;H # HALFWIDTH HANGUL LETTER EO
++FFC7;H # HALFWIDTH HANGUL LETTER E
++FFCA;H # HALFWIDTH HANGUL LETTER YEO
++FFCB;H # HALFWIDTH HANGUL LETTER YE
++FFCC;H # HALFWIDTH HANGUL LETTER O
++FFCD;H # HALFWIDTH HANGUL LETTER WA
++FFCE;H # HALFWIDTH HANGUL LETTER WAE
++FFCF;H # HALFWIDTH HANGUL LETTER OE
++FFD2;H # HALFWIDTH HANGUL LETTER YO
++FFD3;H # HALFWIDTH HANGUL LETTER U
++FFD4;H # HALFWIDTH HANGUL LETTER WEO
++FFD5;H # HALFWIDTH HANGUL LETTER WE
++FFD6;H # HALFWIDTH HANGUL LETTER WI
++FFD7;H # HALFWIDTH HANGUL LETTER YU
++FFDA;H # HALFWIDTH HANGUL LETTER EU
++FFDB;H # HALFWIDTH HANGUL LETTER YI
++FFDC;H # HALFWIDTH HANGUL LETTER I
++FFE0;F # FULLWIDTH CENT SIGN
++FFE1;F # FULLWIDTH POUND SIGN
++FFE2;F # FULLWIDTH NOT SIGN
++FFE3;F # FULLWIDTH MACRON
++FFE4;F # FULLWIDTH BROKEN BAR
++FFE5;F # FULLWIDTH YEN SIGN
++FFE6;F # FULLWIDTH WON SIGN
++FFE8;H # HALFWIDTH FORMS LIGHT VERTICAL
++FFE9;H # HALFWIDTH LEFTWARDS ARROW
++FFEA;H # HALFWIDTH UPWARDS ARROW
++FFEB;H # HALFWIDTH RIGHTWARDS ARROW
++FFEC;H # HALFWIDTH DOWNWARDS ARROW
++FFED;H # HALFWIDTH BLACK SQUARE
++FFEE;H # HALFWIDTH WHITE CIRCLE
++FFF9;N # INTERLINEAR ANNOTATION ANCHOR
++FFFA;N # INTERLINEAR ANNOTATION SEPARATOR
++FFFB;N # INTERLINEAR ANNOTATION TERMINATOR
++FFFC;N # OBJECT REPLACEMENT CHARACTER
++FFFD;A # REPLACEMENT CHARACTER
++10000;N # LINEAR B SYLLABLE B008 A
++10001;N # LINEAR B SYLLABLE B038 E
++10002;N # LINEAR B SYLLABLE B028 I
++10003;N # LINEAR B SYLLABLE B061 O
++10004;N # LINEAR B SYLLABLE B010 U
++10005;N # LINEAR B SYLLABLE B001 DA
++10006;N # LINEAR B SYLLABLE B045 DE
++10007;N # LINEAR B SYLLABLE B007 DI
++10008;N # LINEAR B SYLLABLE B014 DO
++10009;N # LINEAR B SYLLABLE B051 DU
++1000A;N # LINEAR B SYLLABLE B057 JA
++1000B;N # LINEAR B SYLLABLE B046 JE
++1000D;N # LINEAR B SYLLABLE B036 JO
++1000E;N # LINEAR B SYLLABLE B065 JU
++1000F;N # LINEAR B SYLLABLE B077 KA
++10010;N # LINEAR B SYLLABLE B044 KE
++10011;N # LINEAR B SYLLABLE B067 KI
++10012;N # LINEAR B SYLLABLE B070 KO
++10013;N # LINEAR B SYLLABLE B081 KU
++10014;N # LINEAR B SYLLABLE B080 MA
++10015;N # LINEAR B SYLLABLE B013 ME
++10016;N # LINEAR B SYLLABLE B073 MI
++10017;N # LINEAR B SYLLABLE B015 MO
++10018;N # LINEAR B SYLLABLE B023 MU
++10019;N # LINEAR B SYLLABLE B006 NA
++1001A;N # LINEAR B SYLLABLE B024 NE
++1001B;N # LINEAR B SYLLABLE B030 NI
++1001C;N # LINEAR B SYLLABLE B052 NO
++1001D;N # LINEAR B SYLLABLE B055 NU
++1001E;N # LINEAR B SYLLABLE B003 PA
++1001F;N # LINEAR B SYLLABLE B072 PE
++10020;N # LINEAR B SYLLABLE B039 PI
++10021;N # LINEAR B SYLLABLE B011 PO
++10022;N # LINEAR B SYLLABLE B050 PU
++10023;N # LINEAR B SYLLABLE B016 QA
++10024;N # LINEAR B SYLLABLE B078 QE
++10025;N # LINEAR B SYLLABLE B021 QI
++10026;N # LINEAR B SYLLABLE B032 QO
++10028;N # LINEAR B SYLLABLE B060 RA
++10029;N # LINEAR B SYLLABLE B027 RE
++1002A;N # LINEAR B SYLLABLE B053 RI
++1002B;N # LINEAR B SYLLABLE B002 RO
++1002C;N # LINEAR B SYLLABLE B026 RU
++1002D;N # LINEAR B SYLLABLE B031 SA
++1002E;N # LINEAR B SYLLABLE B009 SE
++1002F;N # LINEAR B SYLLABLE B041 SI
++10030;N # LINEAR B SYLLABLE B012 SO
++10031;N # LINEAR B SYLLABLE B058 SU
++10032;N # LINEAR B SYLLABLE B059 TA
++10033;N # LINEAR B SYLLABLE B004 TE
++10034;N # LINEAR B SYLLABLE B037 TI
++10035;N # LINEAR B SYLLABLE B005 TO
++10036;N # LINEAR B SYLLABLE B069 TU
++10037;N # LINEAR B SYLLABLE B054 WA
++10038;N # LINEAR B SYLLABLE B075 WE
++10039;N # LINEAR B SYLLABLE B040 WI
++1003A;N # LINEAR B SYLLABLE B042 WO
++1003C;N # LINEAR B SYLLABLE B017 ZA
++1003D;N # LINEAR B SYLLABLE B074 ZE
++1003F;N # LINEAR B SYLLABLE B020 ZO
++10040;N # LINEAR B SYLLABLE B025 A2
++10041;N # LINEAR B SYLLABLE B043 A3
++10042;N # LINEAR B SYLLABLE B085 AU
++10043;N # LINEAR B SYLLABLE B071 DWE
++10044;N # LINEAR B SYLLABLE B090 DWO
++10045;N # LINEAR B SYLLABLE B048 NWA
++10046;N # LINEAR B SYLLABLE B029 PU2
++10047;N # LINEAR B SYLLABLE B062 PTE
++10048;N # LINEAR B SYLLABLE B076 RA2
++10049;N # LINEAR B SYLLABLE B033 RA3
++1004A;N # LINEAR B SYLLABLE B068 RO2
++1004B;N # LINEAR B SYLLABLE B066 TA2
++1004C;N # LINEAR B SYLLABLE B087 TWE
++1004D;N # LINEAR B SYLLABLE B091 TWO
++10050;N # LINEAR B SYMBOL B018
++10051;N # LINEAR B SYMBOL B019
++10052;N # LINEAR B SYMBOL B022
++10053;N # LINEAR B SYMBOL B034
++10054;N # LINEAR B SYMBOL B047
++10055;N # LINEAR B SYMBOL B049
++10056;N # LINEAR B SYMBOL B056
++10057;N # LINEAR B SYMBOL B063
++10058;N # LINEAR B SYMBOL B064
++10059;N # LINEAR B SYMBOL B079
++1005A;N # LINEAR B SYMBOL B082
++1005B;N # LINEAR B SYMBOL B083
++1005C;N # LINEAR B SYMBOL B086
++1005D;N # LINEAR B SYMBOL B089
++10080;N # LINEAR B IDEOGRAM B100 MAN
++10081;N # LINEAR B IDEOGRAM B102 WOMAN
++10082;N # LINEAR B IDEOGRAM B104 DEER
++10083;N # LINEAR B IDEOGRAM B105 EQUID
++10084;N # LINEAR B IDEOGRAM B105F MARE
++10085;N # LINEAR B IDEOGRAM B105M STALLION
++10086;N # LINEAR B IDEOGRAM B106F EWE
++10087;N # LINEAR B IDEOGRAM B106M RAM
++10088;N # LINEAR B IDEOGRAM B107F SHE-GOAT
++10089;N # LINEAR B IDEOGRAM B107M HE-GOAT
++1008A;N # LINEAR B IDEOGRAM B108F SOW
++1008B;N # LINEAR B IDEOGRAM B108M BOAR
++1008C;N # LINEAR B IDEOGRAM B109F COW
++1008D;N # LINEAR B IDEOGRAM B109M BULL
++1008E;N # LINEAR B IDEOGRAM B120 WHEAT
++1008F;N # LINEAR B IDEOGRAM B121 BARLEY
++10090;N # LINEAR B IDEOGRAM B122 OLIVE
++10091;N # LINEAR B IDEOGRAM B123 SPICE
++10092;N # LINEAR B IDEOGRAM B125 CYPERUS
++10093;N # LINEAR B MONOGRAM B127 KAPO
++10094;N # LINEAR B MONOGRAM B128 KANAKO
++10095;N # LINEAR B IDEOGRAM B130 OIL
++10096;N # LINEAR B IDEOGRAM B131 WINE
++10097;N # LINEAR B IDEOGRAM B132
++10098;N # LINEAR B MONOGRAM B133 AREPA
++10099;N # LINEAR B MONOGRAM B135 MERI
++1009A;N # LINEAR B IDEOGRAM B140 BRONZE
++1009B;N # LINEAR B IDEOGRAM B141 GOLD
++1009C;N # LINEAR B IDEOGRAM B142
++1009D;N # LINEAR B IDEOGRAM B145 WOOL
++1009E;N # LINEAR B IDEOGRAM B146
++1009F;N # LINEAR B IDEOGRAM B150
++100A0;N # LINEAR B IDEOGRAM B151 HORN
++100A1;N # LINEAR B IDEOGRAM B152
++100A2;N # LINEAR B IDEOGRAM B153
++100A3;N # LINEAR B IDEOGRAM B154
++100A4;N # LINEAR B MONOGRAM B156 TURO2
++100A5;N # LINEAR B IDEOGRAM B157
++100A6;N # LINEAR B IDEOGRAM B158
++100A7;N # LINEAR B IDEOGRAM B159 CLOTH
++100A8;N # LINEAR B IDEOGRAM B160
++100A9;N # LINEAR B IDEOGRAM B161
++100AA;N # LINEAR B IDEOGRAM B162 GARMENT
++100AB;N # LINEAR B IDEOGRAM B163 ARMOUR
++100AC;N # LINEAR B IDEOGRAM B164
++100AD;N # LINEAR B IDEOGRAM B165
++100AE;N # LINEAR B IDEOGRAM B166
++100AF;N # LINEAR B IDEOGRAM B167
++100B0;N # LINEAR B IDEOGRAM B168
++100B1;N # LINEAR B IDEOGRAM B169
++100B2;N # LINEAR B IDEOGRAM B170
++100B3;N # LINEAR B IDEOGRAM B171
++100B4;N # LINEAR B IDEOGRAM B172
++100B5;N # LINEAR B IDEOGRAM B173 MONTH
++100B6;N # LINEAR B IDEOGRAM B174
++100B7;N # LINEAR B IDEOGRAM B176 TREE
++100B8;N # LINEAR B IDEOGRAM B177
++100B9;N # LINEAR B IDEOGRAM B178
++100BA;N # LINEAR B IDEOGRAM B179
++100BB;N # LINEAR B IDEOGRAM B180
++100BC;N # LINEAR B IDEOGRAM B181
++100BD;N # LINEAR B IDEOGRAM B182
++100BE;N # LINEAR B IDEOGRAM B183
++100BF;N # LINEAR B IDEOGRAM B184
++100C0;N # LINEAR B IDEOGRAM B185
++100C1;N # LINEAR B IDEOGRAM B189
++100C2;N # LINEAR B IDEOGRAM B190
++100C3;N # LINEAR B IDEOGRAM B191 HELMET
++100C4;N # LINEAR B IDEOGRAM B220 FOOTSTOOL
++100C5;N # LINEAR B IDEOGRAM B225 BATHTUB
++100C6;N # LINEAR B IDEOGRAM B230 SPEAR
++100C7;N # LINEAR B IDEOGRAM B231 ARROW
++100C8;N # LINEAR B IDEOGRAM B232
++100C9;N # LINEAR B IDEOGRAM B233 SWORD
++100CA;N # LINEAR B IDEOGRAM B234
++100CB;N # LINEAR B IDEOGRAM B236
++100CC;N # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
++100CD;N # LINEAR B IDEOGRAM B241 CHARIOT
++100CE;N # LINEAR B IDEOGRAM B242 CHARIOT FRAME
++100CF;N # LINEAR B IDEOGRAM B243 WHEEL
++100D0;N # LINEAR B IDEOGRAM B245
++100D1;N # LINEAR B IDEOGRAM B246
++100D2;N # LINEAR B MONOGRAM B247 DIPTE
++100D3;N # LINEAR B IDEOGRAM B248
++100D4;N # LINEAR B IDEOGRAM B249
++100D5;N # LINEAR B IDEOGRAM B251
++100D6;N # LINEAR B IDEOGRAM B252
++100D7;N # LINEAR B IDEOGRAM B253
++100D8;N # LINEAR B IDEOGRAM B254 DART
++100D9;N # LINEAR B IDEOGRAM B255
++100DA;N # LINEAR B IDEOGRAM B256
++100DB;N # LINEAR B IDEOGRAM B257
++100DC;N # LINEAR B IDEOGRAM B258
++100DD;N # LINEAR B IDEOGRAM B259
++100DE;N # LINEAR B IDEOGRAM VESSEL B155
++100DF;N # LINEAR B IDEOGRAM VESSEL B200
++100E0;N # LINEAR B IDEOGRAM VESSEL B201
++100E1;N # LINEAR B IDEOGRAM VESSEL B202
++100E2;N # LINEAR B IDEOGRAM VESSEL B203
++100E3;N # LINEAR B IDEOGRAM VESSEL B204
++100E4;N # LINEAR B IDEOGRAM VESSEL B205
++100E5;N # LINEAR B IDEOGRAM VESSEL B206
++100E6;N # LINEAR B IDEOGRAM VESSEL B207
++100E7;N # LINEAR B IDEOGRAM VESSEL B208
++100E8;N # LINEAR B IDEOGRAM VESSEL B209
++100E9;N # LINEAR B IDEOGRAM VESSEL B210
++100EA;N # LINEAR B IDEOGRAM VESSEL B211
++100EB;N # LINEAR B IDEOGRAM VESSEL B212
++100EC;N # LINEAR B IDEOGRAM VESSEL B213
++100ED;N # LINEAR B IDEOGRAM VESSEL B214
++100EE;N # LINEAR B IDEOGRAM VESSEL B215
++100EF;N # LINEAR B IDEOGRAM VESSEL B216
++100F0;N # LINEAR B IDEOGRAM VESSEL B217
++100F1;N # LINEAR B IDEOGRAM VESSEL B218
++100F2;N # LINEAR B IDEOGRAM VESSEL B219
++100F3;N # LINEAR B IDEOGRAM VESSEL B221
++100F4;N # LINEAR B IDEOGRAM VESSEL B222
++100F5;N # LINEAR B IDEOGRAM VESSEL B226
++100F6;N # LINEAR B IDEOGRAM VESSEL B227
++100F7;N # LINEAR B IDEOGRAM VESSEL B228
++100F8;N # LINEAR B IDEOGRAM VESSEL B229
++100F9;N # LINEAR B IDEOGRAM VESSEL B250
++100FA;N # LINEAR B IDEOGRAM VESSEL B305
++10100;N # AEGEAN WORD SEPARATOR LINE
++10101;N # AEGEAN WORD SEPARATOR DOT
++10102;N # AEGEAN CHECK MARK
++10107;N # AEGEAN NUMBER ONE
++10108;N # AEGEAN NUMBER TWO
++10109;N # AEGEAN NUMBER THREE
++1010A;N # AEGEAN NUMBER FOUR
++1010B;N # AEGEAN NUMBER FIVE
++1010C;N # AEGEAN NUMBER SIX
++1010D;N # AEGEAN NUMBER SEVEN
++1010E;N # AEGEAN NUMBER EIGHT
++1010F;N # AEGEAN NUMBER NINE
++10110;N # AEGEAN NUMBER TEN
++10111;N # AEGEAN NUMBER TWENTY
++10112;N # AEGEAN NUMBER THIRTY
++10113;N # AEGEAN NUMBER FORTY
++10114;N # AEGEAN NUMBER FIFTY
++10115;N # AEGEAN NUMBER SIXTY
++10116;N # AEGEAN NUMBER SEVENTY
++10117;N # AEGEAN NUMBER EIGHTY
++10118;N # AEGEAN NUMBER NINETY
++10119;N # AEGEAN NUMBER ONE HUNDRED
++1011A;N # AEGEAN NUMBER TWO HUNDRED
++1011B;N # AEGEAN NUMBER THREE HUNDRED
++1011C;N # AEGEAN NUMBER FOUR HUNDRED
++1011D;N # AEGEAN NUMBER FIVE HUNDRED
++1011E;N # AEGEAN NUMBER SIX HUNDRED
++1011F;N # AEGEAN NUMBER SEVEN HUNDRED
++10120;N # AEGEAN NUMBER EIGHT HUNDRED
++10121;N # AEGEAN NUMBER NINE HUNDRED
++10122;N # AEGEAN NUMBER ONE THOUSAND
++10123;N # AEGEAN NUMBER TWO THOUSAND
++10124;N # AEGEAN NUMBER THREE THOUSAND
++10125;N # AEGEAN NUMBER FOUR THOUSAND
++10126;N # AEGEAN NUMBER FIVE THOUSAND
++10127;N # AEGEAN NUMBER SIX THOUSAND
++10128;N # AEGEAN NUMBER SEVEN THOUSAND
++10129;N # AEGEAN NUMBER EIGHT THOUSAND
++1012A;N # AEGEAN NUMBER NINE THOUSAND
++1012B;N # AEGEAN NUMBER TEN THOUSAND
++1012C;N # AEGEAN NUMBER TWENTY THOUSAND
++1012D;N # AEGEAN NUMBER THIRTY THOUSAND
++1012E;N # AEGEAN NUMBER FORTY THOUSAND
++1012F;N # AEGEAN NUMBER FIFTY THOUSAND
++10130;N # AEGEAN NUMBER SIXTY THOUSAND
++10131;N # AEGEAN NUMBER SEVENTY THOUSAND
++10132;N # AEGEAN NUMBER EIGHTY THOUSAND
++10133;N # AEGEAN NUMBER NINETY THOUSAND
++10137;N # AEGEAN WEIGHT BASE UNIT
++10138;N # AEGEAN WEIGHT FIRST SUBUNIT
++10139;N # AEGEAN WEIGHT SECOND SUBUNIT
++1013A;N # AEGEAN WEIGHT THIRD SUBUNIT
++1013B;N # AEGEAN WEIGHT FOURTH SUBUNIT
++1013C;N # AEGEAN DRY MEASURE FIRST SUBUNIT
++1013D;N # AEGEAN LIQUID MEASURE FIRST SUBUNIT
++1013E;N # AEGEAN MEASURE SECOND SUBUNIT
++1013F;N # AEGEAN MEASURE THIRD SUBUNIT
++10140;N # GREEK ACROPHONIC ATTIC ONE QUARTER
++10141;N # GREEK ACROPHONIC ATTIC ONE HALF
++10142;N # GREEK ACROPHONIC ATTIC ONE DRACHMA
++10143;N # GREEK ACROPHONIC ATTIC FIVE
++10144;N # GREEK ACROPHONIC ATTIC FIFTY
++10145;N # GREEK ACROPHONIC ATTIC FIVE HUNDRED
++10146;N # GREEK ACROPHONIC ATTIC FIVE THOUSAND
++10147;N # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
++10148;N # GREEK ACROPHONIC ATTIC FIVE TALENTS
++10149;N # GREEK ACROPHONIC ATTIC TEN TALENTS
++1014A;N # GREEK ACROPHONIC ATTIC FIFTY TALENTS
++1014B;N # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
++1014C;N # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
++1014D;N # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
++1014E;N # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
++1014F;N # GREEK ACROPHONIC ATTIC FIVE STATERS
++10150;N # GREEK ACROPHONIC ATTIC TEN STATERS
++10151;N # GREEK ACROPHONIC ATTIC FIFTY STATERS
++10152;N # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
++10153;N # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
++10154;N # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
++10155;N # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
++10156;N # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
++10157;N # GREEK ACROPHONIC ATTIC TEN MNAS
++10158;N # GREEK ACROPHONIC HERAEUM ONE PLETHRON
++10159;N # GREEK ACROPHONIC THESPIAN ONE
++1015A;N # GREEK ACROPHONIC HERMIONIAN ONE
++1015B;N # GREEK ACROPHONIC EPIDAUREAN TWO
++1015C;N # GREEK ACROPHONIC THESPIAN TWO
++1015D;N # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
++1015E;N # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
++1015F;N # GREEK ACROPHONIC TROEZENIAN FIVE
++10160;N # GREEK ACROPHONIC TROEZENIAN TEN
++10161;N # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
++10162;N # GREEK ACROPHONIC HERMIONIAN TEN
++10163;N # GREEK ACROPHONIC MESSENIAN TEN
++10164;N # GREEK ACROPHONIC THESPIAN TEN
++10165;N # GREEK ACROPHONIC THESPIAN THIRTY
++10166;N # GREEK ACROPHONIC TROEZENIAN FIFTY
++10167;N # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
++10168;N # GREEK ACROPHONIC HERMIONIAN FIFTY
++10169;N # GREEK ACROPHONIC THESPIAN FIFTY
++1016A;N # GREEK ACROPHONIC THESPIAN ONE HUNDRED
++1016B;N # GREEK ACROPHONIC THESPIAN THREE HUNDRED
++1016C;N # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
++1016D;N # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
++1016E;N # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
++1016F;N # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
++10170;N # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
++10171;N # GREEK ACROPHONIC THESPIAN ONE THOUSAND
++10172;N # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
++10173;N # GREEK ACROPHONIC DELPHIC FIVE MNAS
++10174;N # GREEK ACROPHONIC STRATIAN FIFTY MNAS
++10175;N # GREEK ONE HALF SIGN
++10176;N # GREEK ONE HALF SIGN ALTERNATE FORM
++10177;N # GREEK TWO THIRDS SIGN
++10178;N # GREEK THREE QUARTERS SIGN
++10179;N # GREEK YEAR SIGN
++1017A;N # GREEK TALENT SIGN
++1017B;N # GREEK DRACHMA SIGN
++1017C;N # GREEK OBOL SIGN
++1017D;N # GREEK TWO OBOLS SIGN
++1017E;N # GREEK THREE OBOLS SIGN
++1017F;N # GREEK FOUR OBOLS SIGN
++10180;N # GREEK FIVE OBOLS SIGN
++10181;N # GREEK METRETES SIGN
++10182;N # GREEK KYATHOS BASE SIGN
++10183;N # GREEK LITRA SIGN
++10184;N # GREEK OUNKIA SIGN
++10185;N # GREEK XESTES SIGN
++10186;N # GREEK ARTABE SIGN
++10187;N # GREEK AROURA SIGN
++10188;N # GREEK GRAMMA SIGN
++10189;N # GREEK TRYBLION BASE SIGN
++1018A;N # GREEK ZERO SIGN
++10190;N # ROMAN SEXTANS SIGN
++10191;N # ROMAN UNCIA SIGN
++10192;N # ROMAN SEMUNCIA SIGN
++10193;N # ROMAN SEXTULA SIGN
++10194;N # ROMAN DIMIDIA SEXTULA SIGN
++10195;N # ROMAN SILIQUA SIGN
++10196;N # ROMAN DENARIUS SIGN
++10197;N # ROMAN QUINARIUS SIGN
++10198;N # ROMAN SESTERTIUS SIGN
++10199;N # ROMAN DUPONDIUS SIGN
++1019A;N # ROMAN AS SIGN
++1019B;N # ROMAN CENTURIAL SIGN
++101D0;N # PHAISTOS DISC SIGN PEDESTRIAN
++101D1;N # PHAISTOS DISC SIGN PLUMED HEAD
++101D2;N # PHAISTOS DISC SIGN TATTOOED HEAD
++101D3;N # PHAISTOS DISC SIGN CAPTIVE
++101D4;N # PHAISTOS DISC SIGN CHILD
++101D5;N # PHAISTOS DISC SIGN WOMAN
++101D6;N # PHAISTOS DISC SIGN HELMET
++101D7;N # PHAISTOS DISC SIGN GAUNTLET
++101D8;N # PHAISTOS DISC SIGN TIARA
++101D9;N # PHAISTOS DISC SIGN ARROW
++101DA;N # PHAISTOS DISC SIGN BOW
++101DB;N # PHAISTOS DISC SIGN SHIELD
++101DC;N # PHAISTOS DISC SIGN CLUB
++101DD;N # PHAISTOS DISC SIGN MANACLES
++101DE;N # PHAISTOS DISC SIGN MATTOCK
++101DF;N # PHAISTOS DISC SIGN SAW
++101E0;N # PHAISTOS DISC SIGN LID
++101E1;N # PHAISTOS DISC SIGN BOOMERANG
++101E2;N # PHAISTOS DISC SIGN CARPENTRY PLANE
++101E3;N # PHAISTOS DISC SIGN DOLIUM
++101E4;N # PHAISTOS DISC SIGN COMB
++101E5;N # PHAISTOS DISC SIGN SLING
++101E6;N # PHAISTOS DISC SIGN COLUMN
++101E7;N # PHAISTOS DISC SIGN BEEHIVE
++101E8;N # PHAISTOS DISC SIGN SHIP
++101E9;N # PHAISTOS DISC SIGN HORN
++101EA;N # PHAISTOS DISC SIGN HIDE
++101EB;N # PHAISTOS DISC SIGN BULLS LEG
++101EC;N # PHAISTOS DISC SIGN CAT
++101ED;N # PHAISTOS DISC SIGN RAM
++101EE;N # PHAISTOS DISC SIGN EAGLE
++101EF;N # PHAISTOS DISC SIGN DOVE
++101F0;N # PHAISTOS DISC SIGN TUNNY
++101F1;N # PHAISTOS DISC SIGN BEE
++101F2;N # PHAISTOS DISC SIGN PLANE TREE
++101F3;N # PHAISTOS DISC SIGN VINE
++101F4;N # PHAISTOS DISC SIGN PAPYRUS
++101F5;N # PHAISTOS DISC SIGN ROSETTE
++101F6;N # PHAISTOS DISC SIGN LILY
++101F7;N # PHAISTOS DISC SIGN OX BACK
++101F8;N # PHAISTOS DISC SIGN FLUTE
++101F9;N # PHAISTOS DISC SIGN GRATER
++101FA;N # PHAISTOS DISC SIGN STRAINER
++101FB;N # PHAISTOS DISC SIGN SMALL AXE
++101FC;N # PHAISTOS DISC SIGN WAVY BAND
++101FD;N # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
++10280;N # LYCIAN LETTER A
++10281;N # LYCIAN LETTER E
++10282;N # LYCIAN LETTER B
++10283;N # LYCIAN LETTER BH
++10284;N # LYCIAN LETTER G
++10285;N # LYCIAN LETTER D
++10286;N # LYCIAN LETTER I
++10287;N # LYCIAN LETTER W
++10288;N # LYCIAN LETTER Z
++10289;N # LYCIAN LETTER TH
++1028A;N # LYCIAN LETTER J
++1028B;N # LYCIAN LETTER K
++1028C;N # LYCIAN LETTER Q
++1028D;N # LYCIAN LETTER L
++1028E;N # LYCIAN LETTER M
++1028F;N # LYCIAN LETTER N
++10290;N # LYCIAN LETTER MM
++10291;N # LYCIAN LETTER NN
++10292;N # LYCIAN LETTER U
++10293;N # LYCIAN LETTER P
++10294;N # LYCIAN LETTER KK
++10295;N # LYCIAN LETTER R
++10296;N # LYCIAN LETTER S
++10297;N # LYCIAN LETTER T
++10298;N # LYCIAN LETTER TT
++10299;N # LYCIAN LETTER AN
++1029A;N # LYCIAN LETTER EN
++1029B;N # LYCIAN LETTER H
++1029C;N # LYCIAN LETTER X
++102A0;N # CARIAN LETTER A
++102A1;N # CARIAN LETTER P2
++102A2;N # CARIAN LETTER D
++102A3;N # CARIAN LETTER L
++102A4;N # CARIAN LETTER UUU
++102A5;N # CARIAN LETTER R
++102A6;N # CARIAN LETTER LD
++102A7;N # CARIAN LETTER A2
++102A8;N # CARIAN LETTER Q
++102A9;N # CARIAN LETTER B
++102AA;N # CARIAN LETTER M
++102AB;N # CARIAN LETTER O
++102AC;N # CARIAN LETTER D2
++102AD;N # CARIAN LETTER T
++102AE;N # CARIAN LETTER SH
++102AF;N # CARIAN LETTER SH2
++102B0;N # CARIAN LETTER S
++102B1;N # CARIAN LETTER C-18
++102B2;N # CARIAN LETTER U
++102B3;N # CARIAN LETTER NN
++102B4;N # CARIAN LETTER X
++102B5;N # CARIAN LETTER N
++102B6;N # CARIAN LETTER TT2
++102B7;N # CARIAN LETTER P
++102B8;N # CARIAN LETTER SS
++102B9;N # CARIAN LETTER I
++102BA;N # CARIAN LETTER E
++102BB;N # CARIAN LETTER UUUU
++102BC;N # CARIAN LETTER K
++102BD;N # CARIAN LETTER K2
++102BE;N # CARIAN LETTER ND
++102BF;N # CARIAN LETTER UU
++102C0;N # CARIAN LETTER G
++102C1;N # CARIAN LETTER G2
++102C2;N # CARIAN LETTER ST
++102C3;N # CARIAN LETTER ST2
++102C4;N # CARIAN LETTER NG
++102C5;N # CARIAN LETTER II
++102C6;N # CARIAN LETTER C-39
++102C7;N # CARIAN LETTER TT
++102C8;N # CARIAN LETTER UUU2
++102C9;N # CARIAN LETTER RR
++102CA;N # CARIAN LETTER MB
++102CB;N # CARIAN LETTER MB2
++102CC;N # CARIAN LETTER MB3
++102CD;N # CARIAN LETTER MB4
++102CE;N # CARIAN LETTER LD2
++102CF;N # CARIAN LETTER E2
++102D0;N # CARIAN LETTER UUU3
++10300;N # OLD ITALIC LETTER A
++10301;N # OLD ITALIC LETTER BE
++10302;N # OLD ITALIC LETTER KE
++10303;N # OLD ITALIC LETTER DE
++10304;N # OLD ITALIC LETTER E
++10305;N # OLD ITALIC LETTER VE
++10306;N # OLD ITALIC LETTER ZE
++10307;N # OLD ITALIC LETTER HE
++10308;N # OLD ITALIC LETTER THE
++10309;N # OLD ITALIC LETTER I
++1030A;N # OLD ITALIC LETTER KA
++1030B;N # OLD ITALIC LETTER EL
++1030C;N # OLD ITALIC LETTER EM
++1030D;N # OLD ITALIC LETTER EN
++1030E;N # OLD ITALIC LETTER ESH
++1030F;N # OLD ITALIC LETTER O
++10310;N # OLD ITALIC LETTER PE
++10311;N # OLD ITALIC LETTER SHE
++10312;N # OLD ITALIC LETTER KU
++10313;N # OLD ITALIC LETTER ER
++10314;N # OLD ITALIC LETTER ES
++10315;N # OLD ITALIC LETTER TE
++10316;N # OLD ITALIC LETTER U
++10317;N # OLD ITALIC LETTER EKS
++10318;N # OLD ITALIC LETTER PHE
++10319;N # OLD ITALIC LETTER KHE
++1031A;N # OLD ITALIC LETTER EF
++1031B;N # OLD ITALIC LETTER ERS
++1031C;N # OLD ITALIC LETTER CHE
++1031D;N # OLD ITALIC LETTER II
++1031E;N # OLD ITALIC LETTER UU
++10320;N # OLD ITALIC NUMERAL ONE
++10321;N # OLD ITALIC NUMERAL FIVE
++10322;N # OLD ITALIC NUMERAL TEN
++10323;N # OLD ITALIC NUMERAL FIFTY
++10330;N # GOTHIC LETTER AHSA
++10331;N # GOTHIC LETTER BAIRKAN
++10332;N # GOTHIC LETTER GIBA
++10333;N # GOTHIC LETTER DAGS
++10334;N # GOTHIC LETTER AIHVUS
++10335;N # GOTHIC LETTER QAIRTHRA
++10336;N # GOTHIC LETTER IUJA
++10337;N # GOTHIC LETTER HAGL
++10338;N # GOTHIC LETTER THIUTH
++10339;N # GOTHIC LETTER EIS
++1033A;N # GOTHIC LETTER KUSMA
++1033B;N # GOTHIC LETTER LAGUS
++1033C;N # GOTHIC LETTER MANNA
++1033D;N # GOTHIC LETTER NAUTHS
++1033E;N # GOTHIC LETTER JER
++1033F;N # GOTHIC LETTER URUS
++10340;N # GOTHIC LETTER PAIRTHRA
++10341;N # GOTHIC LETTER NINETY
++10342;N # GOTHIC LETTER RAIDA
++10343;N # GOTHIC LETTER SAUIL
++10344;N # GOTHIC LETTER TEIWS
++10345;N # GOTHIC LETTER WINJA
++10346;N # GOTHIC LETTER FAIHU
++10347;N # GOTHIC LETTER IGGWS
++10348;N # GOTHIC LETTER HWAIR
++10349;N # GOTHIC LETTER OTHAL
++1034A;N # GOTHIC LETTER NINE HUNDRED
++10380;N # UGARITIC LETTER ALPA
++10381;N # UGARITIC LETTER BETA
++10382;N # UGARITIC LETTER GAMLA
++10383;N # UGARITIC LETTER KHA
++10384;N # UGARITIC LETTER DELTA
++10385;N # UGARITIC LETTER HO
++10386;N # UGARITIC LETTER WO
++10387;N # UGARITIC LETTER ZETA
++10388;N # UGARITIC LETTER HOTA
++10389;N # UGARITIC LETTER TET
++1038A;N # UGARITIC LETTER YOD
++1038B;N # UGARITIC LETTER KAF
++1038C;N # UGARITIC LETTER SHIN
++1038D;N # UGARITIC LETTER LAMDA
++1038E;N # UGARITIC LETTER MEM
++1038F;N # UGARITIC LETTER DHAL
++10390;N # UGARITIC LETTER NUN
++10391;N # UGARITIC LETTER ZU
++10392;N # UGARITIC LETTER SAMKA
++10393;N # UGARITIC LETTER AIN
++10394;N # UGARITIC LETTER PU
++10395;N # UGARITIC LETTER SADE
++10396;N # UGARITIC LETTER QOPA
++10397;N # UGARITIC LETTER RASHA
++10398;N # UGARITIC LETTER THANNA
++10399;N # UGARITIC LETTER GHAIN
++1039A;N # UGARITIC LETTER TO
++1039B;N # UGARITIC LETTER I
++1039C;N # UGARITIC LETTER U
++1039D;N # UGARITIC LETTER SSU
++1039F;N # UGARITIC WORD DIVIDER
++103A0;N # OLD PERSIAN SIGN A
++103A1;N # OLD PERSIAN SIGN I
++103A2;N # OLD PERSIAN SIGN U
++103A3;N # OLD PERSIAN SIGN KA
++103A4;N # OLD PERSIAN SIGN KU
++103A5;N # OLD PERSIAN SIGN GA
++103A6;N # OLD PERSIAN SIGN GU
++103A7;N # OLD PERSIAN SIGN XA
++103A8;N # OLD PERSIAN SIGN CA
++103A9;N # OLD PERSIAN SIGN JA
++103AA;N # OLD PERSIAN SIGN JI
++103AB;N # OLD PERSIAN SIGN TA
++103AC;N # OLD PERSIAN SIGN TU
++103AD;N # OLD PERSIAN SIGN DA
++103AE;N # OLD PERSIAN SIGN DI
++103AF;N # OLD PERSIAN SIGN DU
++103B0;N # OLD PERSIAN SIGN THA
++103B1;N # OLD PERSIAN SIGN PA
++103B2;N # OLD PERSIAN SIGN BA
++103B3;N # OLD PERSIAN SIGN FA
++103B4;N # OLD PERSIAN SIGN NA
++103B5;N # OLD PERSIAN SIGN NU
++103B6;N # OLD PERSIAN SIGN MA
++103B7;N # OLD PERSIAN SIGN MI
++103B8;N # OLD PERSIAN SIGN MU
++103B9;N # OLD PERSIAN SIGN YA
++103BA;N # OLD PERSIAN SIGN VA
++103BB;N # OLD PERSIAN SIGN VI
++103BC;N # OLD PERSIAN SIGN RA
++103BD;N # OLD PERSIAN SIGN RU
++103BE;N # OLD PERSIAN SIGN LA
++103BF;N # OLD PERSIAN SIGN SA
++103C0;N # OLD PERSIAN SIGN ZA
++103C1;N # OLD PERSIAN SIGN SHA
++103C2;N # OLD PERSIAN SIGN SSA
++103C3;N # OLD PERSIAN SIGN HA
++103C8;N # OLD PERSIAN SIGN AURAMAZDAA
++103C9;N # OLD PERSIAN SIGN AURAMAZDAA-2
++103CA;N # OLD PERSIAN SIGN AURAMAZDAAHA
++103CB;N # OLD PERSIAN SIGN XSHAAYATHIYA
++103CC;N # OLD PERSIAN SIGN DAHYAAUSH
++103CD;N # OLD PERSIAN SIGN DAHYAAUSH-2
++103CE;N # OLD PERSIAN SIGN BAGA
++103CF;N # OLD PERSIAN SIGN BUUMISH
++103D0;N # OLD PERSIAN WORD DIVIDER
++103D1;N # OLD PERSIAN NUMBER ONE
++103D2;N # OLD PERSIAN NUMBER TWO
++103D3;N # OLD PERSIAN NUMBER TEN
++103D4;N # OLD PERSIAN NUMBER TWENTY
++103D5;N # OLD PERSIAN NUMBER HUNDRED
++10400;N # DESERET CAPITAL LETTER LONG I
++10401;N # DESERET CAPITAL LETTER LONG E
++10402;N # DESERET CAPITAL LETTER LONG A
++10403;N # DESERET CAPITAL LETTER LONG AH
++10404;N # DESERET CAPITAL LETTER LONG O
++10405;N # DESERET CAPITAL LETTER LONG OO
++10406;N # DESERET CAPITAL LETTER SHORT I
++10407;N # DESERET CAPITAL LETTER SHORT E
++10408;N # DESERET CAPITAL LETTER SHORT A
++10409;N # DESERET CAPITAL LETTER SHORT AH
++1040A;N # DESERET CAPITAL LETTER SHORT O
++1040B;N # DESERET CAPITAL LETTER SHORT OO
++1040C;N # DESERET CAPITAL LETTER AY
++1040D;N # DESERET CAPITAL LETTER OW
++1040E;N # DESERET CAPITAL LETTER WU
++1040F;N # DESERET CAPITAL LETTER YEE
++10410;N # DESERET CAPITAL LETTER H
++10411;N # DESERET CAPITAL LETTER PEE
++10412;N # DESERET CAPITAL LETTER BEE
++10413;N # DESERET CAPITAL LETTER TEE
++10414;N # DESERET CAPITAL LETTER DEE
++10415;N # DESERET CAPITAL LETTER CHEE
++10416;N # DESERET CAPITAL LETTER JEE
++10417;N # DESERET CAPITAL LETTER KAY
++10418;N # DESERET CAPITAL LETTER GAY
++10419;N # DESERET CAPITAL LETTER EF
++1041A;N # DESERET CAPITAL LETTER VEE
++1041B;N # DESERET CAPITAL LETTER ETH
++1041C;N # DESERET CAPITAL LETTER THEE
++1041D;N # DESERET CAPITAL LETTER ES
++1041E;N # DESERET CAPITAL LETTER ZEE
++1041F;N # DESERET CAPITAL LETTER ESH
++10420;N # DESERET CAPITAL LETTER ZHEE
++10421;N # DESERET CAPITAL LETTER ER
++10422;N # DESERET CAPITAL LETTER EL
++10423;N # DESERET CAPITAL LETTER EM
++10424;N # DESERET CAPITAL LETTER EN
++10425;N # DESERET CAPITAL LETTER ENG
++10426;N # DESERET CAPITAL LETTER OI
++10427;N # DESERET CAPITAL LETTER EW
++10428;N # DESERET SMALL LETTER LONG I
++10429;N # DESERET SMALL LETTER LONG E
++1042A;N # DESERET SMALL LETTER LONG A
++1042B;N # DESERET SMALL LETTER LONG AH
++1042C;N # DESERET SMALL LETTER LONG O
++1042D;N # DESERET SMALL LETTER LONG OO
++1042E;N # DESERET SMALL LETTER SHORT I
++1042F;N # DESERET SMALL LETTER SHORT E
++10430;N # DESERET SMALL LETTER SHORT A
++10431;N # DESERET SMALL LETTER SHORT AH
++10432;N # DESERET SMALL LETTER SHORT O
++10433;N # DESERET SMALL LETTER SHORT OO
++10434;N # DESERET SMALL LETTER AY
++10435;N # DESERET SMALL LETTER OW
++10436;N # DESERET SMALL LETTER WU
++10437;N # DESERET SMALL LETTER YEE
++10438;N # DESERET SMALL LETTER H
++10439;N # DESERET SMALL LETTER PEE
++1043A;N # DESERET SMALL LETTER BEE
++1043B;N # DESERET SMALL LETTER TEE
++1043C;N # DESERET SMALL LETTER DEE
++1043D;N # DESERET SMALL LETTER CHEE
++1043E;N # DESERET SMALL LETTER JEE
++1043F;N # DESERET SMALL LETTER KAY
++10440;N # DESERET SMALL LETTER GAY
++10441;N # DESERET SMALL LETTER EF
++10442;N # DESERET SMALL LETTER VEE
++10443;N # DESERET SMALL LETTER ETH
++10444;N # DESERET SMALL LETTER THEE
++10445;N # DESERET SMALL LETTER ES
++10446;N # DESERET SMALL LETTER ZEE
++10447;N # DESERET SMALL LETTER ESH
++10448;N # DESERET SMALL LETTER ZHEE
++10449;N # DESERET SMALL LETTER ER
++1044A;N # DESERET SMALL LETTER EL
++1044B;N # DESERET SMALL LETTER EM
++1044C;N # DESERET SMALL LETTER EN
++1044D;N # DESERET SMALL LETTER ENG
++1044E;N # DESERET SMALL LETTER OI
++1044F;N # DESERET SMALL LETTER EW
++10450;N # SHAVIAN LETTER PEEP
++10451;N # SHAVIAN LETTER TOT
++10452;N # SHAVIAN LETTER KICK
++10453;N # SHAVIAN LETTER FEE
++10454;N # SHAVIAN LETTER THIGH
++10455;N # SHAVIAN LETTER SO
++10456;N # SHAVIAN LETTER SURE
++10457;N # SHAVIAN LETTER CHURCH
++10458;N # SHAVIAN LETTER YEA
++10459;N # SHAVIAN LETTER HUNG
++1045A;N # SHAVIAN LETTER BIB
++1045B;N # SHAVIAN LETTER DEAD
++1045C;N # SHAVIAN LETTER GAG
++1045D;N # SHAVIAN LETTER VOW
++1045E;N # SHAVIAN LETTER THEY
++1045F;N # SHAVIAN LETTER ZOO
++10460;N # SHAVIAN LETTER MEASURE
++10461;N # SHAVIAN LETTER JUDGE
++10462;N # SHAVIAN LETTER WOE
++10463;N # SHAVIAN LETTER HA-HA
++10464;N # SHAVIAN LETTER LOLL
++10465;N # SHAVIAN LETTER MIME
++10466;N # SHAVIAN LETTER IF
++10467;N # SHAVIAN LETTER EGG
++10468;N # SHAVIAN LETTER ASH
++10469;N # SHAVIAN LETTER ADO
++1046A;N # SHAVIAN LETTER ON
++1046B;N # SHAVIAN LETTER WOOL
++1046C;N # SHAVIAN LETTER OUT
++1046D;N # SHAVIAN LETTER AH
++1046E;N # SHAVIAN LETTER ROAR
++1046F;N # SHAVIAN LETTER NUN
++10470;N # SHAVIAN LETTER EAT
++10471;N # SHAVIAN LETTER AGE
++10472;N # SHAVIAN LETTER ICE
++10473;N # SHAVIAN LETTER UP
++10474;N # SHAVIAN LETTER OAK
++10475;N # SHAVIAN LETTER OOZE
++10476;N # SHAVIAN LETTER OIL
++10477;N # SHAVIAN LETTER AWE
++10478;N # SHAVIAN LETTER ARE
++10479;N # SHAVIAN LETTER OR
++1047A;N # SHAVIAN LETTER AIR
++1047B;N # SHAVIAN LETTER ERR
++1047C;N # SHAVIAN LETTER ARRAY
++1047D;N # SHAVIAN LETTER EAR
++1047E;N # SHAVIAN LETTER IAN
++1047F;N # SHAVIAN LETTER YEW
++10480;N # OSMANYA LETTER ALEF
++10481;N # OSMANYA LETTER BA
++10482;N # OSMANYA LETTER TA
++10483;N # OSMANYA LETTER JA
++10484;N # OSMANYA LETTER XA
++10485;N # OSMANYA LETTER KHA
++10486;N # OSMANYA LETTER DEEL
++10487;N # OSMANYA LETTER RA
++10488;N # OSMANYA LETTER SA
++10489;N # OSMANYA LETTER SHIIN
++1048A;N # OSMANYA LETTER DHA
++1048B;N # OSMANYA LETTER CAYN
++1048C;N # OSMANYA LETTER GA
++1048D;N # OSMANYA LETTER FA
++1048E;N # OSMANYA LETTER QAAF
++1048F;N # OSMANYA LETTER KAAF
++10490;N # OSMANYA LETTER LAAN
++10491;N # OSMANYA LETTER MIIN
++10492;N # OSMANYA LETTER NUUN
++10493;N # OSMANYA LETTER WAW
++10494;N # OSMANYA LETTER HA
++10495;N # OSMANYA LETTER YA
++10496;N # OSMANYA LETTER A
++10497;N # OSMANYA LETTER E
++10498;N # OSMANYA LETTER I
++10499;N # OSMANYA LETTER O
++1049A;N # OSMANYA LETTER U
++1049B;N # OSMANYA LETTER AA
++1049C;N # OSMANYA LETTER EE
++1049D;N # OSMANYA LETTER OO
++104A0;N # OSMANYA DIGIT ZERO
++104A1;N # OSMANYA DIGIT ONE
++104A2;N # OSMANYA DIGIT TWO
++104A3;N # OSMANYA DIGIT THREE
++104A4;N # OSMANYA DIGIT FOUR
++104A5;N # OSMANYA DIGIT FIVE
++104A6;N # OSMANYA DIGIT SIX
++104A7;N # OSMANYA DIGIT SEVEN
++104A8;N # OSMANYA DIGIT EIGHT
++104A9;N # OSMANYA DIGIT NINE
++10800;N # CYPRIOT SYLLABLE A
++10801;N # CYPRIOT SYLLABLE E
++10802;N # CYPRIOT SYLLABLE I
++10803;N # CYPRIOT SYLLABLE O
++10804;N # CYPRIOT SYLLABLE U
++10805;N # CYPRIOT SYLLABLE JA
++10808;N # CYPRIOT SYLLABLE JO
++1080A;N # CYPRIOT SYLLABLE KA
++1080B;N # CYPRIOT SYLLABLE KE
++1080C;N # CYPRIOT SYLLABLE KI
++1080D;N # CYPRIOT SYLLABLE KO
++1080E;N # CYPRIOT SYLLABLE KU
++1080F;N # CYPRIOT SYLLABLE LA
++10810;N # CYPRIOT SYLLABLE LE
++10811;N # CYPRIOT SYLLABLE LI
++10812;N # CYPRIOT SYLLABLE LO
++10813;N # CYPRIOT SYLLABLE LU
++10814;N # CYPRIOT SYLLABLE MA
++10815;N # CYPRIOT SYLLABLE ME
++10816;N # CYPRIOT SYLLABLE MI
++10817;N # CYPRIOT SYLLABLE MO
++10818;N # CYPRIOT SYLLABLE MU
++10819;N # CYPRIOT SYLLABLE NA
++1081A;N # CYPRIOT SYLLABLE NE
++1081B;N # CYPRIOT SYLLABLE NI
++1081C;N # CYPRIOT SYLLABLE NO
++1081D;N # CYPRIOT SYLLABLE NU
++1081E;N # CYPRIOT SYLLABLE PA
++1081F;N # CYPRIOT SYLLABLE PE
++10820;N # CYPRIOT SYLLABLE PI
++10821;N # CYPRIOT SYLLABLE PO
++10822;N # CYPRIOT SYLLABLE PU
++10823;N # CYPRIOT SYLLABLE RA
++10824;N # CYPRIOT SYLLABLE RE
++10825;N # CYPRIOT SYLLABLE RI
++10826;N # CYPRIOT SYLLABLE RO
++10827;N # CYPRIOT SYLLABLE RU
++10828;N # CYPRIOT SYLLABLE SA
++10829;N # CYPRIOT SYLLABLE SE
++1082A;N # CYPRIOT SYLLABLE SI
++1082B;N # CYPRIOT SYLLABLE SO
++1082C;N # CYPRIOT SYLLABLE SU
++1082D;N # CYPRIOT SYLLABLE TA
++1082E;N # CYPRIOT SYLLABLE TE
++1082F;N # CYPRIOT SYLLABLE TI
++10830;N # CYPRIOT SYLLABLE TO
++10831;N # CYPRIOT SYLLABLE TU
++10832;N # CYPRIOT SYLLABLE WA
++10833;N # CYPRIOT SYLLABLE WE
++10834;N # CYPRIOT SYLLABLE WI
++10835;N # CYPRIOT SYLLABLE WO
++10837;N # CYPRIOT SYLLABLE XA
++10838;N # CYPRIOT SYLLABLE XE
++1083C;N # CYPRIOT SYLLABLE ZA
++1083F;N # CYPRIOT SYLLABLE ZO
++10840;N # IMPERIAL ARAMAIC LETTER ALEPH
++10841;N # IMPERIAL ARAMAIC LETTER BETH
++10842;N # IMPERIAL ARAMAIC LETTER GIMEL
++10843;N # IMPERIAL ARAMAIC LETTER DALETH
++10844;N # IMPERIAL ARAMAIC LETTER HE
++10845;N # IMPERIAL ARAMAIC LETTER WAW
++10846;N # IMPERIAL ARAMAIC LETTER ZAYIN
++10847;N # IMPERIAL ARAMAIC LETTER HETH
++10848;N # IMPERIAL ARAMAIC LETTER TETH
++10849;N # IMPERIAL ARAMAIC LETTER YODH
++1084A;N # IMPERIAL ARAMAIC LETTER KAPH
++1084B;N # IMPERIAL ARAMAIC LETTER LAMEDH
++1084C;N # IMPERIAL ARAMAIC LETTER MEM
++1084D;N # IMPERIAL ARAMAIC LETTER NUN
++1084E;N # IMPERIAL ARAMAIC LETTER SAMEKH
++1084F;N # IMPERIAL ARAMAIC LETTER AYIN
++10850;N # IMPERIAL ARAMAIC LETTER PE
++10851;N # IMPERIAL ARAMAIC LETTER SADHE
++10852;N # IMPERIAL ARAMAIC LETTER QOPH
++10853;N # IMPERIAL ARAMAIC LETTER RESH
++10854;N # IMPERIAL ARAMAIC LETTER SHIN
++10855;N # IMPERIAL ARAMAIC LETTER TAW
++10857;N # IMPERIAL ARAMAIC SECTION SIGN
++10858;N # IMPERIAL ARAMAIC NUMBER ONE
++10859;N # IMPERIAL ARAMAIC NUMBER TWO
++1085A;N # IMPERIAL ARAMAIC NUMBER THREE
++1085B;N # IMPERIAL ARAMAIC NUMBER TEN
++1085C;N # IMPERIAL ARAMAIC NUMBER TWENTY
++1085D;N # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
++1085E;N # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
++1085F;N # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
++10900;N # PHOENICIAN LETTER ALF
++10901;N # PHOENICIAN LETTER BET
++10902;N # PHOENICIAN LETTER GAML
++10903;N # PHOENICIAN LETTER DELT
++10904;N # PHOENICIAN LETTER HE
++10905;N # PHOENICIAN LETTER WAU
++10906;N # PHOENICIAN LETTER ZAI
++10907;N # PHOENICIAN LETTER HET
++10908;N # PHOENICIAN LETTER TET
++10909;N # PHOENICIAN LETTER YOD
++1090A;N # PHOENICIAN LETTER KAF
++1090B;N # PHOENICIAN LETTER LAMD
++1090C;N # PHOENICIAN LETTER MEM
++1090D;N # PHOENICIAN LETTER NUN
++1090E;N # PHOENICIAN LETTER SEMK
++1090F;N # PHOENICIAN LETTER AIN
++10910;N # PHOENICIAN LETTER PE
++10911;N # PHOENICIAN LETTER SADE
++10912;N # PHOENICIAN LETTER QOF
++10913;N # PHOENICIAN LETTER ROSH
++10914;N # PHOENICIAN LETTER SHIN
++10915;N # PHOENICIAN LETTER TAU
++10916;N # PHOENICIAN NUMBER ONE
++10917;N # PHOENICIAN NUMBER TEN
++10918;N # PHOENICIAN NUMBER TWENTY
++10919;N # PHOENICIAN NUMBER ONE HUNDRED
++1091A;N # PHOENICIAN NUMBER TWO
++1091B;N # PHOENICIAN NUMBER THREE
++1091F;N # PHOENICIAN WORD SEPARATOR
++10920;N # LYDIAN LETTER A
++10921;N # LYDIAN LETTER B
++10922;N # LYDIAN LETTER G
++10923;N # LYDIAN LETTER D
++10924;N # LYDIAN LETTER E
++10925;N # LYDIAN LETTER V
++10926;N # LYDIAN LETTER I
++10927;N # LYDIAN LETTER Y
++10928;N # LYDIAN LETTER K
++10929;N # LYDIAN LETTER L
++1092A;N # LYDIAN LETTER M
++1092B;N # LYDIAN LETTER N
++1092C;N # LYDIAN LETTER O
++1092D;N # LYDIAN LETTER R
++1092E;N # LYDIAN LETTER SS
++1092F;N # LYDIAN LETTER T
++10930;N # LYDIAN LETTER U
++10931;N # LYDIAN LETTER F
++10932;N # LYDIAN LETTER Q
++10933;N # LYDIAN LETTER S
++10934;N # LYDIAN LETTER TT
++10935;N # LYDIAN LETTER AN
++10936;N # LYDIAN LETTER EN
++10937;N # LYDIAN LETTER LY
++10938;N # LYDIAN LETTER NN
++10939;N # LYDIAN LETTER C
++1093F;N # LYDIAN TRIANGULAR MARK
++10A00;N # KHAROSHTHI LETTER A
++10A01;N # KHAROSHTHI VOWEL SIGN I
++10A02;N # KHAROSHTHI VOWEL SIGN U
++10A03;N # KHAROSHTHI VOWEL SIGN VOCALIC R
++10A05;N # KHAROSHTHI VOWEL SIGN E
++10A06;N # KHAROSHTHI VOWEL SIGN O
++10A0C;N # KHAROSHTHI VOWEL LENGTH MARK
++10A0D;N # KHAROSHTHI SIGN DOUBLE RING BELOW
++10A0E;N # KHAROSHTHI SIGN ANUSVARA
++10A0F;N # KHAROSHTHI SIGN VISARGA
++10A10;N # KHAROSHTHI LETTER KA
++10A11;N # KHAROSHTHI LETTER KHA
++10A12;N # KHAROSHTHI LETTER GA
++10A13;N # KHAROSHTHI LETTER GHA
++10A15;N # KHAROSHTHI LETTER CA
++10A16;N # KHAROSHTHI LETTER CHA
++10A17;N # KHAROSHTHI LETTER JA
++10A19;N # KHAROSHTHI LETTER NYA
++10A1A;N # KHAROSHTHI LETTER TTA
++10A1B;N # KHAROSHTHI LETTER TTHA
++10A1C;N # KHAROSHTHI LETTER DDA
++10A1D;N # KHAROSHTHI LETTER DDHA
++10A1E;N # KHAROSHTHI LETTER NNA
++10A1F;N # KHAROSHTHI LETTER TA
++10A20;N # KHAROSHTHI LETTER THA
++10A21;N # KHAROSHTHI LETTER DA
++10A22;N # KHAROSHTHI LETTER DHA
++10A23;N # KHAROSHTHI LETTER NA
++10A24;N # KHAROSHTHI LETTER PA
++10A25;N # KHAROSHTHI LETTER PHA
++10A26;N # KHAROSHTHI LETTER BA
++10A27;N # KHAROSHTHI LETTER BHA
++10A28;N # KHAROSHTHI LETTER MA
++10A29;N # KHAROSHTHI LETTER YA
++10A2A;N # KHAROSHTHI LETTER RA
++10A2B;N # KHAROSHTHI LETTER LA
++10A2C;N # KHAROSHTHI LETTER VA
++10A2D;N # KHAROSHTHI LETTER SHA
++10A2E;N # KHAROSHTHI LETTER SSA
++10A2F;N # KHAROSHTHI LETTER SA
++10A30;N # KHAROSHTHI LETTER ZA
++10A31;N # KHAROSHTHI LETTER HA
++10A32;N # KHAROSHTHI LETTER KKA
++10A33;N # KHAROSHTHI LETTER TTTHA
++10A38;N # KHAROSHTHI SIGN BAR ABOVE
++10A39;N # KHAROSHTHI SIGN CAUDA
++10A3A;N # KHAROSHTHI SIGN DOT BELOW
++10A3F;N # KHAROSHTHI VIRAMA
++10A40;N # KHAROSHTHI DIGIT ONE
++10A41;N # KHAROSHTHI DIGIT TWO
++10A42;N # KHAROSHTHI DIGIT THREE
++10A43;N # KHAROSHTHI DIGIT FOUR
++10A44;N # KHAROSHTHI NUMBER TEN
++10A45;N # KHAROSHTHI NUMBER TWENTY
++10A46;N # KHAROSHTHI NUMBER ONE HUNDRED
++10A47;N # KHAROSHTHI NUMBER ONE THOUSAND
++10A50;N # KHAROSHTHI PUNCTUATION DOT
++10A51;N # KHAROSHTHI PUNCTUATION SMALL CIRCLE
++10A52;N # KHAROSHTHI PUNCTUATION CIRCLE
++10A53;N # KHAROSHTHI PUNCTUATION CRESCENT BAR
++10A54;N # KHAROSHTHI PUNCTUATION MANGALAM
++10A55;N # KHAROSHTHI PUNCTUATION LOTUS
++10A56;N # KHAROSHTHI PUNCTUATION DANDA
++10A57;N # KHAROSHTHI PUNCTUATION DOUBLE DANDA
++10A58;N # KHAROSHTHI PUNCTUATION LINES
++10A60;N # OLD SOUTH ARABIAN LETTER HE
++10A61;N # OLD SOUTH ARABIAN LETTER LAMEDH
++10A62;N # OLD SOUTH ARABIAN LETTER HETH
++10A63;N # OLD SOUTH ARABIAN LETTER MEM
++10A64;N # OLD SOUTH ARABIAN LETTER QOPH
++10A65;N # OLD SOUTH ARABIAN LETTER WAW
++10A66;N # OLD SOUTH ARABIAN LETTER SHIN
++10A67;N # OLD SOUTH ARABIAN LETTER RESH
++10A68;N # OLD SOUTH ARABIAN LETTER BETH
++10A69;N # OLD SOUTH ARABIAN LETTER TAW
++10A6A;N # OLD SOUTH ARABIAN LETTER SAT
++10A6B;N # OLD SOUTH ARABIAN LETTER KAPH
++10A6C;N # OLD SOUTH ARABIAN LETTER NUN
++10A6D;N # OLD SOUTH ARABIAN LETTER KHETH
++10A6E;N # OLD SOUTH ARABIAN LETTER SADHE
++10A6F;N # OLD SOUTH ARABIAN LETTER SAMEKH
++10A70;N # OLD SOUTH ARABIAN LETTER FE
++10A71;N # OLD SOUTH ARABIAN LETTER ALEF
++10A72;N # OLD SOUTH ARABIAN LETTER AYN
++10A73;N # OLD SOUTH ARABIAN LETTER DHADHE
++10A74;N # OLD SOUTH ARABIAN LETTER GIMEL
++10A75;N # OLD SOUTH ARABIAN LETTER DALETH
++10A76;N # OLD SOUTH ARABIAN LETTER GHAYN
++10A77;N # OLD SOUTH ARABIAN LETTER TETH
++10A78;N # OLD SOUTH ARABIAN LETTER ZAYN
++10A79;N # OLD SOUTH ARABIAN LETTER DHALETH
++10A7A;N # OLD SOUTH ARABIAN LETTER YODH
++10A7B;N # OLD SOUTH ARABIAN LETTER THAW
++10A7C;N # OLD SOUTH ARABIAN LETTER THETH
++10A7D;N # OLD SOUTH ARABIAN NUMBER ONE
++10A7E;N # OLD SOUTH ARABIAN NUMBER FIFTY
++10A7F;N # OLD SOUTH ARABIAN NUMERIC INDICATOR
++10B00;N # AVESTAN LETTER A
++10B01;N # AVESTAN LETTER AA
++10B02;N # AVESTAN LETTER AO
++10B03;N # AVESTAN LETTER AAO
++10B04;N # AVESTAN LETTER AN
++10B05;N # AVESTAN LETTER AAN
++10B06;N # AVESTAN LETTER AE
++10B07;N # AVESTAN LETTER AEE
++10B08;N # AVESTAN LETTER E
++10B09;N # AVESTAN LETTER EE
++10B0A;N # AVESTAN LETTER O
++10B0B;N # AVESTAN LETTER OO
++10B0C;N # AVESTAN LETTER I
++10B0D;N # AVESTAN LETTER II
++10B0E;N # AVESTAN LETTER U
++10B0F;N # AVESTAN LETTER UU
++10B10;N # AVESTAN LETTER KE
++10B11;N # AVESTAN LETTER XE
++10B12;N # AVESTAN LETTER XYE
++10B13;N # AVESTAN LETTER XVE
++10B14;N # AVESTAN LETTER GE
++10B15;N # AVESTAN LETTER GGE
++10B16;N # AVESTAN LETTER GHE
++10B17;N # AVESTAN LETTER CE
++10B18;N # AVESTAN LETTER JE
++10B19;N # AVESTAN LETTER TE
++10B1A;N # AVESTAN LETTER THE
++10B1B;N # AVESTAN LETTER DE
++10B1C;N # AVESTAN LETTER DHE
++10B1D;N # AVESTAN LETTER TTE
++10B1E;N # AVESTAN LETTER PE
++10B1F;N # AVESTAN LETTER FE
++10B20;N # AVESTAN LETTER BE
++10B21;N # AVESTAN LETTER BHE
++10B22;N # AVESTAN LETTER NGE
++10B23;N # AVESTAN LETTER NGYE
++10B24;N # AVESTAN LETTER NGVE
++10B25;N # AVESTAN LETTER NE
++10B26;N # AVESTAN LETTER NYE
++10B27;N # AVESTAN LETTER NNE
++10B28;N # AVESTAN LETTER ME
++10B29;N # AVESTAN LETTER HME
++10B2A;N # AVESTAN LETTER YYE
++10B2B;N # AVESTAN LETTER YE
++10B2C;N # AVESTAN LETTER VE
++10B2D;N # AVESTAN LETTER RE
++10B2E;N # AVESTAN LETTER LE
++10B2F;N # AVESTAN LETTER SE
++10B30;N # AVESTAN LETTER ZE
++10B31;N # AVESTAN LETTER SHE
++10B32;N # AVESTAN LETTER ZHE
++10B33;N # AVESTAN LETTER SHYE
++10B34;N # AVESTAN LETTER SSHE
++10B35;N # AVESTAN LETTER HE
++10B39;N # AVESTAN ABBREVIATION MARK
++10B3A;N # TINY TWO DOTS OVER ONE DOT PUNCTUATION
++10B3B;N # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
++10B3C;N # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
++10B3D;N # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
++10B3E;N # LARGE TWO RINGS OVER ONE RING PUNCTUATION
++10B3F;N # LARGE ONE RING OVER TWO RINGS PUNCTUATION
++10B40;N # INSCRIPTIONAL PARTHIAN LETTER ALEPH
++10B41;N # INSCRIPTIONAL PARTHIAN LETTER BETH
++10B42;N # INSCRIPTIONAL PARTHIAN LETTER GIMEL
++10B43;N # INSCRIPTIONAL PARTHIAN LETTER DALETH
++10B44;N # INSCRIPTIONAL PARTHIAN LETTER HE
++10B45;N # INSCRIPTIONAL PARTHIAN LETTER WAW
++10B46;N # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
++10B47;N # INSCRIPTIONAL PARTHIAN LETTER HETH
++10B48;N # INSCRIPTIONAL PARTHIAN LETTER TETH
++10B49;N # INSCRIPTIONAL PARTHIAN LETTER YODH
++10B4A;N # INSCRIPTIONAL PARTHIAN LETTER KAPH
++10B4B;N # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
++10B4C;N # INSCRIPTIONAL PARTHIAN LETTER MEM
++10B4D;N # INSCRIPTIONAL PARTHIAN LETTER NUN
++10B4E;N # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
++10B4F;N # INSCRIPTIONAL PARTHIAN LETTER AYIN
++10B50;N # INSCRIPTIONAL PARTHIAN LETTER PE
++10B51;N # INSCRIPTIONAL PARTHIAN LETTER SADHE
++10B52;N # INSCRIPTIONAL PARTHIAN LETTER QOPH
++10B53;N # INSCRIPTIONAL PARTHIAN LETTER RESH
++10B54;N # INSCRIPTIONAL PARTHIAN LETTER SHIN
++10B55;N # INSCRIPTIONAL PARTHIAN LETTER TAW
++10B58;N # INSCRIPTIONAL PARTHIAN NUMBER ONE
++10B59;N # INSCRIPTIONAL PARTHIAN NUMBER TWO
++10B5A;N # INSCRIPTIONAL PARTHIAN NUMBER THREE
++10B5B;N # INSCRIPTIONAL PARTHIAN NUMBER FOUR
++10B5C;N # INSCRIPTIONAL PARTHIAN NUMBER TEN
++10B5D;N # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
++10B5E;N # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
++10B5F;N # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
++10B60;N # INSCRIPTIONAL PAHLAVI LETTER ALEPH
++10B61;N # INSCRIPTIONAL PAHLAVI LETTER BETH
++10B62;N # INSCRIPTIONAL PAHLAVI LETTER GIMEL
++10B63;N # INSCRIPTIONAL PAHLAVI LETTER DALETH
++10B64;N # INSCRIPTIONAL PAHLAVI LETTER HE
++10B65;N # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
++10B66;N # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
++10B67;N # INSCRIPTIONAL PAHLAVI LETTER HETH
++10B68;N # INSCRIPTIONAL PAHLAVI LETTER TETH
++10B69;N # INSCRIPTIONAL PAHLAVI LETTER YODH
++10B6A;N # INSCRIPTIONAL PAHLAVI LETTER KAPH
++10B6B;N # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
++10B6C;N # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
++10B6D;N # INSCRIPTIONAL PAHLAVI LETTER NUN
++10B6E;N # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
++10B6F;N # INSCRIPTIONAL PAHLAVI LETTER PE
++10B70;N # INSCRIPTIONAL PAHLAVI LETTER SADHE
++10B71;N # INSCRIPTIONAL PAHLAVI LETTER SHIN
++10B72;N # INSCRIPTIONAL PAHLAVI LETTER TAW
++10B78;N # INSCRIPTIONAL PAHLAVI NUMBER ONE
++10B79;N # INSCRIPTIONAL PAHLAVI NUMBER TWO
++10B7A;N # INSCRIPTIONAL PAHLAVI NUMBER THREE
++10B7B;N # INSCRIPTIONAL PAHLAVI NUMBER FOUR
++10B7C;N # INSCRIPTIONAL PAHLAVI NUMBER TEN
++10B7D;N # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
++10B7E;N # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
++10B7F;N # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
++10C00;N # OLD TURKIC LETTER ORKHON A
++10C01;N # OLD TURKIC LETTER YENISEI A
++10C02;N # OLD TURKIC LETTER YENISEI AE
++10C03;N # OLD TURKIC LETTER ORKHON I
++10C04;N # OLD TURKIC LETTER YENISEI I
++10C05;N # OLD TURKIC LETTER YENISEI E
++10C06;N # OLD TURKIC LETTER ORKHON O
++10C07;N # OLD TURKIC LETTER ORKHON OE
++10C08;N # OLD TURKIC LETTER YENISEI OE
++10C09;N # OLD TURKIC LETTER ORKHON AB
++10C0A;N # OLD TURKIC LETTER YENISEI AB
++10C0B;N # OLD TURKIC LETTER ORKHON AEB
++10C0C;N # OLD TURKIC LETTER YENISEI AEB
++10C0D;N # OLD TURKIC LETTER ORKHON AG
++10C0E;N # OLD TURKIC LETTER YENISEI AG
++10C0F;N # OLD TURKIC LETTER ORKHON AEG
++10C10;N # OLD TURKIC LETTER YENISEI AEG
++10C11;N # OLD TURKIC LETTER ORKHON AD
++10C12;N # OLD TURKIC LETTER YENISEI AD
++10C13;N # OLD TURKIC LETTER ORKHON AED
++10C14;N # OLD TURKIC LETTER ORKHON EZ
++10C15;N # OLD TURKIC LETTER YENISEI EZ
++10C16;N # OLD TURKIC LETTER ORKHON AY
++10C17;N # OLD TURKIC LETTER YENISEI AY
++10C18;N # OLD TURKIC LETTER ORKHON AEY
++10C19;N # OLD TURKIC LETTER YENISEI AEY
++10C1A;N # OLD TURKIC LETTER ORKHON AEK
++10C1B;N # OLD TURKIC LETTER YENISEI AEK
++10C1C;N # OLD TURKIC LETTER ORKHON OEK
++10C1D;N # OLD TURKIC LETTER YENISEI OEK
++10C1E;N # OLD TURKIC LETTER ORKHON AL
++10C1F;N # OLD TURKIC LETTER YENISEI AL
++10C20;N # OLD TURKIC LETTER ORKHON AEL
++10C21;N # OLD TURKIC LETTER ORKHON ELT
++10C22;N # OLD TURKIC LETTER ORKHON EM
++10C23;N # OLD TURKIC LETTER ORKHON AN
++10C24;N # OLD TURKIC LETTER ORKHON AEN
++10C25;N # OLD TURKIC LETTER YENISEI AEN
++10C26;N # OLD TURKIC LETTER ORKHON ENT
++10C27;N # OLD TURKIC LETTER YENISEI ENT
++10C28;N # OLD TURKIC LETTER ORKHON ENC
++10C29;N # OLD TURKIC LETTER YENISEI ENC
++10C2A;N # OLD TURKIC LETTER ORKHON ENY
++10C2B;N # OLD TURKIC LETTER YENISEI ENY
++10C2C;N # OLD TURKIC LETTER YENISEI ANG
++10C2D;N # OLD TURKIC LETTER ORKHON ENG
++10C2E;N # OLD TURKIC LETTER YENISEI AENG
++10C2F;N # OLD TURKIC LETTER ORKHON EP
++10C30;N # OLD TURKIC LETTER ORKHON OP
++10C31;N # OLD TURKIC LETTER ORKHON IC
++10C32;N # OLD TURKIC LETTER ORKHON EC
++10C33;N # OLD TURKIC LETTER YENISEI EC
++10C34;N # OLD TURKIC LETTER ORKHON AQ
++10C35;N # OLD TURKIC LETTER YENISEI AQ
++10C36;N # OLD TURKIC LETTER ORKHON IQ
++10C37;N # OLD TURKIC LETTER YENISEI IQ
++10C38;N # OLD TURKIC LETTER ORKHON OQ
++10C39;N # OLD TURKIC LETTER YENISEI OQ
++10C3A;N # OLD TURKIC LETTER ORKHON AR
++10C3B;N # OLD TURKIC LETTER YENISEI AR
++10C3C;N # OLD TURKIC LETTER ORKHON AER
++10C3D;N # OLD TURKIC LETTER ORKHON AS
++10C3E;N # OLD TURKIC LETTER ORKHON AES
++10C3F;N # OLD TURKIC LETTER ORKHON ASH
++10C40;N # OLD TURKIC LETTER YENISEI ASH
++10C41;N # OLD TURKIC LETTER ORKHON ESH
++10C42;N # OLD TURKIC LETTER YENISEI ESH
++10C43;N # OLD TURKIC LETTER ORKHON AT
++10C44;N # OLD TURKIC LETTER YENISEI AT
++10C45;N # OLD TURKIC LETTER ORKHON AET
++10C46;N # OLD TURKIC LETTER YENISEI AET
++10C47;N # OLD TURKIC LETTER ORKHON OT
++10C48;N # OLD TURKIC LETTER ORKHON BASH
++10E60;N # RUMI DIGIT ONE
++10E61;N # RUMI DIGIT TWO
++10E62;N # RUMI DIGIT THREE
++10E63;N # RUMI DIGIT FOUR
++10E64;N # RUMI DIGIT FIVE
++10E65;N # RUMI DIGIT SIX
++10E66;N # RUMI DIGIT SEVEN
++10E67;N # RUMI DIGIT EIGHT
++10E68;N # RUMI DIGIT NINE
++10E69;N # RUMI NUMBER TEN
++10E6A;N # RUMI NUMBER TWENTY
++10E6B;N # RUMI NUMBER THIRTY
++10E6C;N # RUMI NUMBER FORTY
++10E6D;N # RUMI NUMBER FIFTY
++10E6E;N # RUMI NUMBER SIXTY
++10E6F;N # RUMI NUMBER SEVENTY
++10E70;N # RUMI NUMBER EIGHTY
++10E71;N # RUMI NUMBER NINETY
++10E72;N # RUMI NUMBER ONE HUNDRED
++10E73;N # RUMI NUMBER TWO HUNDRED
++10E74;N # RUMI NUMBER THREE HUNDRED
++10E75;N # RUMI NUMBER FOUR HUNDRED
++10E76;N # RUMI NUMBER FIVE HUNDRED
++10E77;N # RUMI NUMBER SIX HUNDRED
++10E78;N # RUMI NUMBER SEVEN HUNDRED
++10E79;N # RUMI NUMBER EIGHT HUNDRED
++10E7A;N # RUMI NUMBER NINE HUNDRED
++10E7B;N # RUMI FRACTION ONE HALF
++10E7C;N # RUMI FRACTION ONE QUARTER
++10E7D;N # RUMI FRACTION ONE THIRD
++10E7E;N # RUMI FRACTION TWO THIRDS
++11080;N # KAITHI SIGN CANDRABINDU
++11081;N # KAITHI SIGN ANUSVARA
++11082;N # KAITHI SIGN VISARGA
++11083;N # KAITHI LETTER A
++11084;N # KAITHI LETTER AA
++11085;N # KAITHI LETTER I
++11086;N # KAITHI LETTER II
++11087;N # KAITHI LETTER U
++11088;N # KAITHI LETTER UU
++11089;N # KAITHI LETTER E
++1108A;N # KAITHI LETTER AI
++1108B;N # KAITHI LETTER O
++1108C;N # KAITHI LETTER AU
++1108D;N # KAITHI LETTER KA
++1108E;N # KAITHI LETTER KHA
++1108F;N # KAITHI LETTER GA
++11090;N # KAITHI LETTER GHA
++11091;N # KAITHI LETTER NGA
++11092;N # KAITHI LETTER CA
++11093;N # KAITHI LETTER CHA
++11094;N # KAITHI LETTER JA
++11095;N # KAITHI LETTER JHA
++11096;N # KAITHI LETTER NYA
++11097;N # KAITHI LETTER TTA
++11098;N # KAITHI LETTER TTHA
++11099;N # KAITHI LETTER DDA
++1109A;N # KAITHI LETTER DDDHA
++1109B;N # KAITHI LETTER DDHA
++1109C;N # KAITHI LETTER RHA
++1109D;N # KAITHI LETTER NNA
++1109E;N # KAITHI LETTER TA
++1109F;N # KAITHI LETTER THA
++110A0;N # KAITHI LETTER DA
++110A1;N # KAITHI LETTER DHA
++110A2;N # KAITHI LETTER NA
++110A3;N # KAITHI LETTER PA
++110A4;N # KAITHI LETTER PHA
++110A5;N # KAITHI LETTER BA
++110A6;N # KAITHI LETTER BHA
++110A7;N # KAITHI LETTER MA
++110A8;N # KAITHI LETTER YA
++110A9;N # KAITHI LETTER RA
++110AA;N # KAITHI LETTER LA
++110AB;N # KAITHI LETTER VA
++110AC;N # KAITHI LETTER SHA
++110AD;N # KAITHI LETTER SSA
++110AE;N # KAITHI LETTER SA
++110AF;N # KAITHI LETTER HA
++110B0;N # KAITHI VOWEL SIGN AA
++110B1;N # KAITHI VOWEL SIGN I
++110B2;N # KAITHI VOWEL SIGN II
++110B3;N # KAITHI VOWEL SIGN U
++110B4;N # KAITHI VOWEL SIGN UU
++110B5;N # KAITHI VOWEL SIGN E
++110B6;N # KAITHI VOWEL SIGN AI
++110B7;N # KAITHI VOWEL SIGN O
++110B8;N # KAITHI VOWEL SIGN AU
++110B9;N # KAITHI SIGN VIRAMA
++110BA;N # KAITHI SIGN NUKTA
++110BB;N # KAITHI ABBREVIATION SIGN
++110BC;N # KAITHI ENUMERATION SIGN
++110BD;N # KAITHI NUMBER SIGN
++110BE;N # KAITHI SECTION MARK
++110BF;N # KAITHI DOUBLE SECTION MARK
++110C0;N # KAITHI DANDA
++110C1;N # KAITHI DOUBLE DANDA
++12000;N # CUNEIFORM SIGN A
++12001;N # CUNEIFORM SIGN A TIMES A
++12002;N # CUNEIFORM SIGN A TIMES BAD
++12003;N # CUNEIFORM SIGN A TIMES GAN2 TENU
++12004;N # CUNEIFORM SIGN A TIMES HA
++12005;N # CUNEIFORM SIGN A TIMES IGI
++12006;N # CUNEIFORM SIGN A TIMES LAGAR GUNU
++12007;N # CUNEIFORM SIGN A TIMES MUSH
++12008;N # CUNEIFORM SIGN A TIMES SAG
++12009;N # CUNEIFORM SIGN A2
++1200A;N # CUNEIFORM SIGN AB
++1200B;N # CUNEIFORM SIGN AB TIMES ASH2
++1200C;N # CUNEIFORM SIGN AB TIMES DUN3 GUNU
++1200D;N # CUNEIFORM SIGN AB TIMES GAL
++1200E;N # CUNEIFORM SIGN AB TIMES GAN2 TENU
++1200F;N # CUNEIFORM SIGN AB TIMES HA
++12010;N # CUNEIFORM SIGN AB TIMES IGI GUNU
++12011;N # CUNEIFORM SIGN AB TIMES IMIN
++12012;N # CUNEIFORM SIGN AB TIMES LAGAB
++12013;N # CUNEIFORM SIGN AB TIMES SHESH
++12014;N # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
++12015;N # CUNEIFORM SIGN AB GUNU
++12016;N # CUNEIFORM SIGN AB2
++12017;N # CUNEIFORM SIGN AB2 TIMES BALAG
++12018;N # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
++12019;N # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
++1201A;N # CUNEIFORM SIGN AB2 TIMES SHA3
++1201B;N # CUNEIFORM SIGN AB2 TIMES TAK4
++1201C;N # CUNEIFORM SIGN AD
++1201D;N # CUNEIFORM SIGN AK
++1201E;N # CUNEIFORM SIGN AK TIMES ERIN2
++1201F;N # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
++12020;N # CUNEIFORM SIGN AL
++12021;N # CUNEIFORM SIGN AL TIMES AL
++12022;N # CUNEIFORM SIGN AL TIMES DIM2
++12023;N # CUNEIFORM SIGN AL TIMES GISH
++12024;N # CUNEIFORM SIGN AL TIMES HA
++12025;N # CUNEIFORM SIGN AL TIMES KAD3
++12026;N # CUNEIFORM SIGN AL TIMES KI
++12027;N # CUNEIFORM SIGN AL TIMES SHE
++12028;N # CUNEIFORM SIGN AL TIMES USH
++12029;N # CUNEIFORM SIGN ALAN
++1202A;N # CUNEIFORM SIGN ALEPH
++1202B;N # CUNEIFORM SIGN AMAR
++1202C;N # CUNEIFORM SIGN AMAR TIMES SHE
++1202D;N # CUNEIFORM SIGN AN
++1202E;N # CUNEIFORM SIGN AN OVER AN
++1202F;N # CUNEIFORM SIGN AN THREE TIMES
++12030;N # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
++12031;N # CUNEIFORM SIGN AN PLUS NAGA SQUARED
++12032;N # CUNEIFORM SIGN ANSHE
++12033;N # CUNEIFORM SIGN APIN
++12034;N # CUNEIFORM SIGN ARAD
++12035;N # CUNEIFORM SIGN ARAD TIMES KUR
++12036;N # CUNEIFORM SIGN ARKAB
++12037;N # CUNEIFORM SIGN ASAL2
++12038;N # CUNEIFORM SIGN ASH
++12039;N # CUNEIFORM SIGN ASH ZIDA TENU
++1203A;N # CUNEIFORM SIGN ASH KABA TENU
++1203B;N # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
++1203C;N # CUNEIFORM SIGN ASH OVER ASH OVER ASH
++1203D;N # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
++1203E;N # CUNEIFORM SIGN ASH2
++1203F;N # CUNEIFORM SIGN ASHGAB
++12040;N # CUNEIFORM SIGN BA
++12041;N # CUNEIFORM SIGN BAD
++12042;N # CUNEIFORM SIGN BAG3
++12043;N # CUNEIFORM SIGN BAHAR2
++12044;N # CUNEIFORM SIGN BAL
++12045;N # CUNEIFORM SIGN BAL OVER BAL
++12046;N # CUNEIFORM SIGN BALAG
++12047;N # CUNEIFORM SIGN BAR
++12048;N # CUNEIFORM SIGN BARA2
++12049;N # CUNEIFORM SIGN BI
++1204A;N # CUNEIFORM SIGN BI TIMES A
++1204B;N # CUNEIFORM SIGN BI TIMES GAR
++1204C;N # CUNEIFORM SIGN BI TIMES IGI GUNU
++1204D;N # CUNEIFORM SIGN BU
++1204E;N # CUNEIFORM SIGN BU OVER BU AB
++1204F;N # CUNEIFORM SIGN BU OVER BU UN
++12050;N # CUNEIFORM SIGN BU CROSSING BU
++12051;N # CUNEIFORM SIGN BULUG
++12052;N # CUNEIFORM SIGN BULUG OVER BULUG
++12053;N # CUNEIFORM SIGN BUR
++12054;N # CUNEIFORM SIGN BUR2
++12055;N # CUNEIFORM SIGN DA
++12056;N # CUNEIFORM SIGN DAG
++12057;N # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
++12058;N # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
++12059;N # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
++1205A;N # CUNEIFORM SIGN DAG KISIM5 TIMES BI
++1205B;N # CUNEIFORM SIGN DAG KISIM5 TIMES GA
++1205C;N # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
++1205D;N # CUNEIFORM SIGN DAG KISIM5 TIMES GI
++1205E;N # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
++1205F;N # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
++12060;N # CUNEIFORM SIGN DAG KISIM5 TIMES HA
++12061;N # CUNEIFORM SIGN DAG KISIM5 TIMES IR
++12062;N # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
++12063;N # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
++12064;N # CUNEIFORM SIGN DAG KISIM5 TIMES LA
++12065;N # CUNEIFORM SIGN DAG KISIM5 TIMES LU
++12066;N # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
++12067;N # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
++12068;N # CUNEIFORM SIGN DAG KISIM5 TIMES NE
++12069;N # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
++1206A;N # CUNEIFORM SIGN DAG KISIM5 TIMES SI
++1206B;N # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
++1206C;N # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
++1206D;N # CUNEIFORM SIGN DAG KISIM5 TIMES USH
++1206E;N # CUNEIFORM SIGN DAM
++1206F;N # CUNEIFORM SIGN DAR
++12070;N # CUNEIFORM SIGN DARA3
++12071;N # CUNEIFORM SIGN DARA4
++12072;N # CUNEIFORM SIGN DI
++12073;N # CUNEIFORM SIGN DIB
++12074;N # CUNEIFORM SIGN DIM
++12075;N # CUNEIFORM SIGN DIM TIMES SHE
++12076;N # CUNEIFORM SIGN DIM2
++12077;N # CUNEIFORM SIGN DIN
++12078;N # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
++12079;N # CUNEIFORM SIGN DISH
++1207A;N # CUNEIFORM SIGN DU
++1207B;N # CUNEIFORM SIGN DU OVER DU
++1207C;N # CUNEIFORM SIGN DU GUNU
++1207D;N # CUNEIFORM SIGN DU SHESHIG
++1207E;N # CUNEIFORM SIGN DUB
++1207F;N # CUNEIFORM SIGN DUB TIMES ESH2
++12080;N # CUNEIFORM SIGN DUB2
++12081;N # CUNEIFORM SIGN DUG
++12082;N # CUNEIFORM SIGN DUGUD
++12083;N # CUNEIFORM SIGN DUH
++12084;N # CUNEIFORM SIGN DUN
++12085;N # CUNEIFORM SIGN DUN3
++12086;N # CUNEIFORM SIGN DUN3 GUNU
++12087;N # CUNEIFORM SIGN DUN3 GUNU GUNU
++12088;N # CUNEIFORM SIGN DUN4
++12089;N # CUNEIFORM SIGN DUR2
++1208A;N # CUNEIFORM SIGN E
++1208B;N # CUNEIFORM SIGN E TIMES PAP
++1208C;N # CUNEIFORM SIGN E OVER E NUN OVER NUN
++1208D;N # CUNEIFORM SIGN E2
++1208E;N # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
++1208F;N # CUNEIFORM SIGN E2 TIMES GAR
++12090;N # CUNEIFORM SIGN E2 TIMES MI
++12091;N # CUNEIFORM SIGN E2 TIMES SAL
++12092;N # CUNEIFORM SIGN E2 TIMES SHE
++12093;N # CUNEIFORM SIGN E2 TIMES U
++12094;N # CUNEIFORM SIGN EDIN
++12095;N # CUNEIFORM SIGN EGIR
++12096;N # CUNEIFORM SIGN EL
++12097;N # CUNEIFORM SIGN EN
++12098;N # CUNEIFORM SIGN EN TIMES GAN2
++12099;N # CUNEIFORM SIGN EN TIMES GAN2 TENU
++1209A;N # CUNEIFORM SIGN EN TIMES ME
++1209B;N # CUNEIFORM SIGN EN CROSSING EN
++1209C;N # CUNEIFORM SIGN EN OPPOSING EN
++1209D;N # CUNEIFORM SIGN EN SQUARED
++1209E;N # CUNEIFORM SIGN EREN
++1209F;N # CUNEIFORM SIGN ERIN2
++120A0;N # CUNEIFORM SIGN ESH2
++120A1;N # CUNEIFORM SIGN EZEN
++120A2;N # CUNEIFORM SIGN EZEN TIMES A
++120A3;N # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
++120A4;N # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
++120A5;N # CUNEIFORM SIGN EZEN TIMES AN
++120A6;N # CUNEIFORM SIGN EZEN TIMES BAD
++120A7;N # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
++120A8;N # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
++120A9;N # CUNEIFORM SIGN EZEN TIMES HA
++120AA;N # CUNEIFORM SIGN EZEN TIMES HA GUNU
++120AB;N # CUNEIFORM SIGN EZEN TIMES IGI GUNU
++120AC;N # CUNEIFORM SIGN EZEN TIMES KASKAL
++120AD;N # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
++120AE;N # CUNEIFORM SIGN EZEN TIMES KU3
++120AF;N # CUNEIFORM SIGN EZEN TIMES LA
++120B0;N # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
++120B1;N # CUNEIFORM SIGN EZEN TIMES LI
++120B2;N # CUNEIFORM SIGN EZEN TIMES LU
++120B3;N # CUNEIFORM SIGN EZEN TIMES U2
++120B4;N # CUNEIFORM SIGN EZEN TIMES UD
++120B5;N # CUNEIFORM SIGN GA
++120B6;N # CUNEIFORM SIGN GA GUNU
++120B7;N # CUNEIFORM SIGN GA2
++120B8;N # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
++120B9;N # CUNEIFORM SIGN GA2 TIMES A PLUS HA
++120BA;N # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
++120BB;N # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
++120BC;N # CUNEIFORM SIGN GA2 TIMES AN
++120BD;N # CUNEIFORM SIGN GA2 TIMES ASH
++120BE;N # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
++120BF;N # CUNEIFORM SIGN GA2 TIMES BAD
++120C0;N # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
++120C1;N # CUNEIFORM SIGN GA2 TIMES BUR
++120C2;N # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
++120C3;N # CUNEIFORM SIGN GA2 TIMES DA
++120C4;N # CUNEIFORM SIGN GA2 TIMES DI
++120C5;N # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
++120C6;N # CUNEIFORM SIGN GA2 TIMES DUB
++120C7;N # CUNEIFORM SIGN GA2 TIMES EL
++120C8;N # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
++120C9;N # CUNEIFORM SIGN GA2 TIMES EN
++120CA;N # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
++120CB;N # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
++120CC;N # CUNEIFORM SIGN GA2 TIMES GAR
++120CD;N # CUNEIFORM SIGN GA2 TIMES GI
++120CE;N # CUNEIFORM SIGN GA2 TIMES GI4
++120CF;N # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
++120D0;N # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
++120D1;N # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
++120D2;N # CUNEIFORM SIGN GA2 TIMES HAL
++120D3;N # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
++120D4;N # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
++120D5;N # CUNEIFORM SIGN GA2 TIMES HUB2
++120D6;N # CUNEIFORM SIGN GA2 TIMES IGI GUNU
++120D7;N # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
++120D8;N # CUNEIFORM SIGN GA2 TIMES KAK
++120D9;N # CUNEIFORM SIGN GA2 TIMES KASKAL
++120DA;N # CUNEIFORM SIGN GA2 TIMES KID
++120DB;N # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
++120DC;N # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
++120DD;N # CUNEIFORM SIGN GA2 TIMES LA
++120DE;N # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
++120DF;N # CUNEIFORM SIGN GA2 TIMES MI
++120E0;N # CUNEIFORM SIGN GA2 TIMES NUN
++120E1;N # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
++120E2;N # CUNEIFORM SIGN GA2 TIMES PA
++120E3;N # CUNEIFORM SIGN GA2 TIMES SAL
++120E4;N # CUNEIFORM SIGN GA2 TIMES SAR
++120E5;N # CUNEIFORM SIGN GA2 TIMES SHE
++120E6;N # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
++120E7;N # CUNEIFORM SIGN GA2 TIMES SHID
++120E8;N # CUNEIFORM SIGN GA2 TIMES SUM
++120E9;N # CUNEIFORM SIGN GA2 TIMES TAK4
++120EA;N # CUNEIFORM SIGN GA2 TIMES U
++120EB;N # CUNEIFORM SIGN GA2 TIMES UD
++120EC;N # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
++120ED;N # CUNEIFORM SIGN GA2 OVER GA2
++120EE;N # CUNEIFORM SIGN GABA
++120EF;N # CUNEIFORM SIGN GABA CROSSING GABA
++120F0;N # CUNEIFORM SIGN GAD
++120F1;N # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
++120F2;N # CUNEIFORM SIGN GAL
++120F3;N # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
++120F4;N # CUNEIFORM SIGN GALAM
++120F5;N # CUNEIFORM SIGN GAM
++120F6;N # CUNEIFORM SIGN GAN
++120F7;N # CUNEIFORM SIGN GAN2
++120F8;N # CUNEIFORM SIGN GAN2 TENU
++120F9;N # CUNEIFORM SIGN GAN2 OVER GAN2
++120FA;N # CUNEIFORM SIGN GAN2 CROSSING GAN2
++120FB;N # CUNEIFORM SIGN GAR
++120FC;N # CUNEIFORM SIGN GAR3
++120FD;N # CUNEIFORM SIGN GASHAN
++120FE;N # CUNEIFORM SIGN GESHTIN
++120FF;N # CUNEIFORM SIGN GESHTIN TIMES KUR
++12100;N # CUNEIFORM SIGN GI
++12101;N # CUNEIFORM SIGN GI TIMES E
++12102;N # CUNEIFORM SIGN GI TIMES U
++12103;N # CUNEIFORM SIGN GI CROSSING GI
++12104;N # CUNEIFORM SIGN GI4
++12105;N # CUNEIFORM SIGN GI4 OVER GI4
++12106;N # CUNEIFORM SIGN GI4 CROSSING GI4
++12107;N # CUNEIFORM SIGN GIDIM
++12108;N # CUNEIFORM SIGN GIR2
++12109;N # CUNEIFORM SIGN GIR2 GUNU
++1210A;N # CUNEIFORM SIGN GIR3
++1210B;N # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
++1210C;N # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
++1210D;N # CUNEIFORM SIGN GIR3 TIMES IGI
++1210E;N # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
++1210F;N # CUNEIFORM SIGN GIR3 TIMES PA
++12110;N # CUNEIFORM SIGN GISAL
++12111;N # CUNEIFORM SIGN GISH
++12112;N # CUNEIFORM SIGN GISH CROSSING GISH
++12113;N # CUNEIFORM SIGN GISH TIMES BAD
++12114;N # CUNEIFORM SIGN GISH TIMES TAK4
++12115;N # CUNEIFORM SIGN GISH TENU
++12116;N # CUNEIFORM SIGN GU
++12117;N # CUNEIFORM SIGN GU CROSSING GU
++12118;N # CUNEIFORM SIGN GU2
++12119;N # CUNEIFORM SIGN GU2 TIMES KAK
++1211A;N # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
++1211B;N # CUNEIFORM SIGN GU2 TIMES NUN
++1211C;N # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
++1211D;N # CUNEIFORM SIGN GU2 GUNU
++1211E;N # CUNEIFORM SIGN GUD
++1211F;N # CUNEIFORM SIGN GUD TIMES A PLUS KUR
++12120;N # CUNEIFORM SIGN GUD TIMES KUR
++12121;N # CUNEIFORM SIGN GUD OVER GUD LUGAL
++12122;N # CUNEIFORM SIGN GUL
++12123;N # CUNEIFORM SIGN GUM
++12124;N # CUNEIFORM SIGN GUM TIMES SHE
++12125;N # CUNEIFORM SIGN GUR
++12126;N # CUNEIFORM SIGN GUR7
++12127;N # CUNEIFORM SIGN GURUN
++12128;N # CUNEIFORM SIGN GURUSH
++12129;N # CUNEIFORM SIGN HA
++1212A;N # CUNEIFORM SIGN HA TENU
++1212B;N # CUNEIFORM SIGN HA GUNU
++1212C;N # CUNEIFORM SIGN HAL
++1212D;N # CUNEIFORM SIGN HI
++1212E;N # CUNEIFORM SIGN HI TIMES ASH
++1212F;N # CUNEIFORM SIGN HI TIMES ASH2
++12130;N # CUNEIFORM SIGN HI TIMES BAD
++12131;N # CUNEIFORM SIGN HI TIMES DISH
++12132;N # CUNEIFORM SIGN HI TIMES GAD
++12133;N # CUNEIFORM SIGN HI TIMES KIN
++12134;N # CUNEIFORM SIGN HI TIMES NUN
++12135;N # CUNEIFORM SIGN HI TIMES SHE
++12136;N # CUNEIFORM SIGN HI TIMES U
++12137;N # CUNEIFORM SIGN HU
++12138;N # CUNEIFORM SIGN HUB2
++12139;N # CUNEIFORM SIGN HUB2 TIMES AN
++1213A;N # CUNEIFORM SIGN HUB2 TIMES HAL
++1213B;N # CUNEIFORM SIGN HUB2 TIMES KASKAL
++1213C;N # CUNEIFORM SIGN HUB2 TIMES LISH
++1213D;N # CUNEIFORM SIGN HUB2 TIMES UD
++1213E;N # CUNEIFORM SIGN HUL2
++1213F;N # CUNEIFORM SIGN I
++12140;N # CUNEIFORM SIGN I A
++12141;N # CUNEIFORM SIGN IB
++12142;N # CUNEIFORM SIGN IDIM
++12143;N # CUNEIFORM SIGN IDIM OVER IDIM BUR
++12144;N # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
++12145;N # CUNEIFORM SIGN IG
++12146;N # CUNEIFORM SIGN IGI
++12147;N # CUNEIFORM SIGN IGI DIB
++12148;N # CUNEIFORM SIGN IGI RI
++12149;N # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
++1214A;N # CUNEIFORM SIGN IGI GUNU
++1214B;N # CUNEIFORM SIGN IL
++1214C;N # CUNEIFORM SIGN IL TIMES GAN2 TENU
++1214D;N # CUNEIFORM SIGN IL2
++1214E;N # CUNEIFORM SIGN IM
++1214F;N # CUNEIFORM SIGN IM TIMES TAK4
++12150;N # CUNEIFORM SIGN IM CROSSING IM
++12151;N # CUNEIFORM SIGN IM OPPOSING IM
++12152;N # CUNEIFORM SIGN IM SQUARED
++12153;N # CUNEIFORM SIGN IMIN
++12154;N # CUNEIFORM SIGN IN
++12155;N # CUNEIFORM SIGN IR
++12156;N # CUNEIFORM SIGN ISH
++12157;N # CUNEIFORM SIGN KA
++12158;N # CUNEIFORM SIGN KA TIMES A
++12159;N # CUNEIFORM SIGN KA TIMES AD
++1215A;N # CUNEIFORM SIGN KA TIMES AD PLUS KU3
++1215B;N # CUNEIFORM SIGN KA TIMES ASH2
++1215C;N # CUNEIFORM SIGN KA TIMES BAD
++1215D;N # CUNEIFORM SIGN KA TIMES BALAG
++1215E;N # CUNEIFORM SIGN KA TIMES BAR
++1215F;N # CUNEIFORM SIGN KA TIMES BI
++12160;N # CUNEIFORM SIGN KA TIMES ERIN2
++12161;N # CUNEIFORM SIGN KA TIMES ESH2
++12162;N # CUNEIFORM SIGN KA TIMES GA
++12163;N # CUNEIFORM SIGN KA TIMES GAL
++12164;N # CUNEIFORM SIGN KA TIMES GAN2 TENU
++12165;N # CUNEIFORM SIGN KA TIMES GAR
++12166;N # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
++12167;N # CUNEIFORM SIGN KA TIMES GI
++12168;N # CUNEIFORM SIGN KA TIMES GIR2
++12169;N # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
++1216A;N # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
++1216B;N # CUNEIFORM SIGN KA TIMES GU
++1216C;N # CUNEIFORM SIGN KA TIMES GUR7
++1216D;N # CUNEIFORM SIGN KA TIMES IGI
++1216E;N # CUNEIFORM SIGN KA TIMES IM
++1216F;N # CUNEIFORM SIGN KA TIMES KAK
++12170;N # CUNEIFORM SIGN KA TIMES KI
++12171;N # CUNEIFORM SIGN KA TIMES KID
++12172;N # CUNEIFORM SIGN KA TIMES LI
++12173;N # CUNEIFORM SIGN KA TIMES LU
++12174;N # CUNEIFORM SIGN KA TIMES ME
++12175;N # CUNEIFORM SIGN KA TIMES ME PLUS DU
++12176;N # CUNEIFORM SIGN KA TIMES ME PLUS GI
++12177;N # CUNEIFORM SIGN KA TIMES ME PLUS TE
++12178;N # CUNEIFORM SIGN KA TIMES MI
++12179;N # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
++1217A;N # CUNEIFORM SIGN KA TIMES NE
++1217B;N # CUNEIFORM SIGN KA TIMES NUN
++1217C;N # CUNEIFORM SIGN KA TIMES PI
++1217D;N # CUNEIFORM SIGN KA TIMES RU
++1217E;N # CUNEIFORM SIGN KA TIMES SA
++1217F;N # CUNEIFORM SIGN KA TIMES SAR
++12180;N # CUNEIFORM SIGN KA TIMES SHA
++12181;N # CUNEIFORM SIGN KA TIMES SHE
++12182;N # CUNEIFORM SIGN KA TIMES SHID
++12183;N # CUNEIFORM SIGN KA TIMES SHU
++12184;N # CUNEIFORM SIGN KA TIMES SIG
++12185;N # CUNEIFORM SIGN KA TIMES SUHUR
++12186;N # CUNEIFORM SIGN KA TIMES TAR
++12187;N # CUNEIFORM SIGN KA TIMES U
++12188;N # CUNEIFORM SIGN KA TIMES U2
++12189;N # CUNEIFORM SIGN KA TIMES UD
++1218A;N # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
++1218B;N # CUNEIFORM SIGN KA TIMES USH
++1218C;N # CUNEIFORM SIGN KA TIMES ZI
++1218D;N # CUNEIFORM SIGN KA2
++1218E;N # CUNEIFORM SIGN KA2 CROSSING KA2
++1218F;N # CUNEIFORM SIGN KAB
++12190;N # CUNEIFORM SIGN KAD2
++12191;N # CUNEIFORM SIGN KAD3
++12192;N # CUNEIFORM SIGN KAD4
++12193;N # CUNEIFORM SIGN KAD5
++12194;N # CUNEIFORM SIGN KAD5 OVER KAD5
++12195;N # CUNEIFORM SIGN KAK
++12196;N # CUNEIFORM SIGN KAK TIMES IGI GUNU
++12197;N # CUNEIFORM SIGN KAL
++12198;N # CUNEIFORM SIGN KAL TIMES BAD
++12199;N # CUNEIFORM SIGN KAL CROSSING KAL
++1219A;N # CUNEIFORM SIGN KAM2
++1219B;N # CUNEIFORM SIGN KAM4
++1219C;N # CUNEIFORM SIGN KASKAL
++1219D;N # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
++1219E;N # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
++1219F;N # CUNEIFORM SIGN KESH2
++121A0;N # CUNEIFORM SIGN KI
++121A1;N # CUNEIFORM SIGN KI TIMES BAD
++121A2;N # CUNEIFORM SIGN KI TIMES U
++121A3;N # CUNEIFORM SIGN KI TIMES UD
++121A4;N # CUNEIFORM SIGN KID
++121A5;N # CUNEIFORM SIGN KIN
++121A6;N # CUNEIFORM SIGN KISAL
++121A7;N # CUNEIFORM SIGN KISH
++121A8;N # CUNEIFORM SIGN KISIM5
++121A9;N # CUNEIFORM SIGN KISIM5 OVER KISIM5
++121AA;N # CUNEIFORM SIGN KU
++121AB;N # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
++121AC;N # CUNEIFORM SIGN KU3
++121AD;N # CUNEIFORM SIGN KU4
++121AE;N # CUNEIFORM SIGN KU4 VARIANT FORM
++121AF;N # CUNEIFORM SIGN KU7
++121B0;N # CUNEIFORM SIGN KUL
++121B1;N # CUNEIFORM SIGN KUL GUNU
++121B2;N # CUNEIFORM SIGN KUN
++121B3;N # CUNEIFORM SIGN KUR
++121B4;N # CUNEIFORM SIGN KUR OPPOSING KUR
++121B5;N # CUNEIFORM SIGN KUSHU2
++121B6;N # CUNEIFORM SIGN KWU318
++121B7;N # CUNEIFORM SIGN LA
++121B8;N # CUNEIFORM SIGN LAGAB
++121B9;N # CUNEIFORM SIGN LAGAB TIMES A
++121BA;N # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
++121BB;N # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
++121BC;N # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
++121BD;N # CUNEIFORM SIGN LAGAB TIMES AL
++121BE;N # CUNEIFORM SIGN LAGAB TIMES AN
++121BF;N # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
++121C0;N # CUNEIFORM SIGN LAGAB TIMES BAD
++121C1;N # CUNEIFORM SIGN LAGAB TIMES BI
++121C2;N # CUNEIFORM SIGN LAGAB TIMES DAR
++121C3;N # CUNEIFORM SIGN LAGAB TIMES EN
++121C4;N # CUNEIFORM SIGN LAGAB TIMES GA
++121C5;N # CUNEIFORM SIGN LAGAB TIMES GAR
++121C6;N # CUNEIFORM SIGN LAGAB TIMES GUD
++121C7;N # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
++121C8;N # CUNEIFORM SIGN LAGAB TIMES HA
++121C9;N # CUNEIFORM SIGN LAGAB TIMES HAL
++121CA;N # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
++121CB;N # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
++121CC;N # CUNEIFORM SIGN LAGAB TIMES IM
++121CD;N # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
++121CE;N # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
++121CF;N # CUNEIFORM SIGN LAGAB TIMES KI
++121D0;N # CUNEIFORM SIGN LAGAB TIMES KIN
++121D1;N # CUNEIFORM SIGN LAGAB TIMES KU3
++121D2;N # CUNEIFORM SIGN LAGAB TIMES KUL
++121D3;N # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
++121D4;N # CUNEIFORM SIGN LAGAB TIMES LAGAB
++121D5;N # CUNEIFORM SIGN LAGAB TIMES LISH
++121D6;N # CUNEIFORM SIGN LAGAB TIMES LU
++121D7;N # CUNEIFORM SIGN LAGAB TIMES LUL
++121D8;N # CUNEIFORM SIGN LAGAB TIMES ME
++121D9;N # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
++121DA;N # CUNEIFORM SIGN LAGAB TIMES MUSH
++121DB;N # CUNEIFORM SIGN LAGAB TIMES NE
++121DC;N # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
++121DD;N # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
++121DE;N # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
++121DF;N # CUNEIFORM SIGN LAGAB TIMES SHU2
++121E0;N # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
++121E1;N # CUNEIFORM SIGN LAGAB TIMES SUM
++121E2;N # CUNEIFORM SIGN LAGAB TIMES TAG
++121E3;N # CUNEIFORM SIGN LAGAB TIMES TAK4
++121E4;N # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
++121E5;N # CUNEIFORM SIGN LAGAB TIMES U
++121E6;N # CUNEIFORM SIGN LAGAB TIMES U PLUS A
++121E7;N # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
++121E8;N # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
++121E9;N # CUNEIFORM SIGN LAGAB TIMES UD
++121EA;N # CUNEIFORM SIGN LAGAB TIMES USH
++121EB;N # CUNEIFORM SIGN LAGAB SQUARED
++121EC;N # CUNEIFORM SIGN LAGAR
++121ED;N # CUNEIFORM SIGN LAGAR TIMES SHE
++121EE;N # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
++121EF;N # CUNEIFORM SIGN LAGAR GUNU
++121F0;N # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
++121F1;N # CUNEIFORM SIGN LAHSHU
++121F2;N # CUNEIFORM SIGN LAL
++121F3;N # CUNEIFORM SIGN LAL TIMES LAL
++121F4;N # CUNEIFORM SIGN LAM
++121F5;N # CUNEIFORM SIGN LAM TIMES KUR
++121F6;N # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
++121F7;N # CUNEIFORM SIGN LI
++121F8;N # CUNEIFORM SIGN LIL
++121F9;N # CUNEIFORM SIGN LIMMU2
++121FA;N # CUNEIFORM SIGN LISH
++121FB;N # CUNEIFORM SIGN LU
++121FC;N # CUNEIFORM SIGN LU TIMES BAD
++121FD;N # CUNEIFORM SIGN LU2
++121FE;N # CUNEIFORM SIGN LU2 TIMES AL
++121FF;N # CUNEIFORM SIGN LU2 TIMES BAD
++12200;N # CUNEIFORM SIGN LU2 TIMES ESH2
++12201;N # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
++12202;N # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
++12203;N # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
++12204;N # CUNEIFORM SIGN LU2 TIMES IM
++12205;N # CUNEIFORM SIGN LU2 TIMES KAD2
++12206;N # CUNEIFORM SIGN LU2 TIMES KAD3
++12207;N # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
++12208;N # CUNEIFORM SIGN LU2 TIMES KI
++12209;N # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
++1220A;N # CUNEIFORM SIGN LU2 TIMES LAGAB
++1220B;N # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
++1220C;N # CUNEIFORM SIGN LU2 TIMES NE
++1220D;N # CUNEIFORM SIGN LU2 TIMES NU
++1220E;N # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
++1220F;N # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
++12210;N # CUNEIFORM SIGN LU2 TIMES TUG2
++12211;N # CUNEIFORM SIGN LU2 TENU
++12212;N # CUNEIFORM SIGN LU2 CROSSING LU2
++12213;N # CUNEIFORM SIGN LU2 OPPOSING LU2
++12214;N # CUNEIFORM SIGN LU2 SQUARED
++12215;N # CUNEIFORM SIGN LU2 SHESHIG
++12216;N # CUNEIFORM SIGN LU3
++12217;N # CUNEIFORM SIGN LUGAL
++12218;N # CUNEIFORM SIGN LUGAL OVER LUGAL
++12219;N # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
++1221A;N # CUNEIFORM SIGN LUGAL SHESHIG
++1221B;N # CUNEIFORM SIGN LUH
++1221C;N # CUNEIFORM SIGN LUL
++1221D;N # CUNEIFORM SIGN LUM
++1221E;N # CUNEIFORM SIGN LUM OVER LUM
++1221F;N # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
++12220;N # CUNEIFORM SIGN MA
++12221;N # CUNEIFORM SIGN MA TIMES TAK4
++12222;N # CUNEIFORM SIGN MA GUNU
++12223;N # CUNEIFORM SIGN MA2
++12224;N # CUNEIFORM SIGN MAH
++12225;N # CUNEIFORM SIGN MAR
++12226;N # CUNEIFORM SIGN MASH
++12227;N # CUNEIFORM SIGN MASH2
++12228;N # CUNEIFORM SIGN ME
++12229;N # CUNEIFORM SIGN MES
++1222A;N # CUNEIFORM SIGN MI
++1222B;N # CUNEIFORM SIGN MIN
++1222C;N # CUNEIFORM SIGN MU
++1222D;N # CUNEIFORM SIGN MU OVER MU
++1222E;N # CUNEIFORM SIGN MUG
++1222F;N # CUNEIFORM SIGN MUG GUNU
++12230;N # CUNEIFORM SIGN MUNSUB
++12231;N # CUNEIFORM SIGN MURGU2
++12232;N # CUNEIFORM SIGN MUSH
++12233;N # CUNEIFORM SIGN MUSH TIMES A
++12234;N # CUNEIFORM SIGN MUSH TIMES KUR
++12235;N # CUNEIFORM SIGN MUSH TIMES ZA
++12236;N # CUNEIFORM SIGN MUSH OVER MUSH
++12237;N # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
++12238;N # CUNEIFORM SIGN MUSH CROSSING MUSH
++12239;N # CUNEIFORM SIGN MUSH3
++1223A;N # CUNEIFORM SIGN MUSH3 TIMES A
++1223B;N # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
++1223C;N # CUNEIFORM SIGN MUSH3 TIMES DI
++1223D;N # CUNEIFORM SIGN MUSH3 GUNU
++1223E;N # CUNEIFORM SIGN NA
++1223F;N # CUNEIFORM SIGN NA2
++12240;N # CUNEIFORM SIGN NAGA
++12241;N # CUNEIFORM SIGN NAGA INVERTED
++12242;N # CUNEIFORM SIGN NAGA TIMES SHU TENU
++12243;N # CUNEIFORM SIGN NAGA OPPOSING NAGA
++12244;N # CUNEIFORM SIGN NAGAR
++12245;N # CUNEIFORM SIGN NAM NUTILLU
++12246;N # CUNEIFORM SIGN NAM
++12247;N # CUNEIFORM SIGN NAM2
++12248;N # CUNEIFORM SIGN NE
++12249;N # CUNEIFORM SIGN NE TIMES A
++1224A;N # CUNEIFORM SIGN NE TIMES UD
++1224B;N # CUNEIFORM SIGN NE SHESHIG
++1224C;N # CUNEIFORM SIGN NI
++1224D;N # CUNEIFORM SIGN NI TIMES E
++1224E;N # CUNEIFORM SIGN NI2
++1224F;N # CUNEIFORM SIGN NIM
++12250;N # CUNEIFORM SIGN NIM TIMES GAN2 TENU
++12251;N # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
++12252;N # CUNEIFORM SIGN NINDA2
++12253;N # CUNEIFORM SIGN NINDA2 TIMES AN
++12254;N # CUNEIFORM SIGN NINDA2 TIMES ASH
++12255;N # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
++12256;N # CUNEIFORM SIGN NINDA2 TIMES GUD
++12257;N # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
++12258;N # CUNEIFORM SIGN NINDA2 TIMES NE
++12259;N # CUNEIFORM SIGN NINDA2 TIMES NUN
++1225A;N # CUNEIFORM SIGN NINDA2 TIMES SHE
++1225B;N # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
++1225C;N # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
++1225D;N # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
++1225E;N # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
++1225F;N # CUNEIFORM SIGN NINDA2 TIMES USH
++12260;N # CUNEIFORM SIGN NISAG
++12261;N # CUNEIFORM SIGN NU
++12262;N # CUNEIFORM SIGN NU11
++12263;N # CUNEIFORM SIGN NUN
++12264;N # CUNEIFORM SIGN NUN LAGAR TIMES GAR
++12265;N # CUNEIFORM SIGN NUN LAGAR TIMES MASH
++12266;N # CUNEIFORM SIGN NUN LAGAR TIMES SAL
++12267;N # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
++12268;N # CUNEIFORM SIGN NUN LAGAR TIMES USH
++12269;N # CUNEIFORM SIGN NUN TENU
++1226A;N # CUNEIFORM SIGN NUN OVER NUN
++1226B;N # CUNEIFORM SIGN NUN CROSSING NUN
++1226C;N # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
++1226D;N # CUNEIFORM SIGN NUNUZ
++1226E;N # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
++1226F;N # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
++12270;N # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
++12271;N # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
++12272;N # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
++12273;N # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
++12274;N # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
++12275;N # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
++12276;N # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
++12277;N # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
++12278;N # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
++12279;N # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
++1227A;N # CUNEIFORM SIGN PA
++1227B;N # CUNEIFORM SIGN PAD
++1227C;N # CUNEIFORM SIGN PAN
++1227D;N # CUNEIFORM SIGN PAP
++1227E;N # CUNEIFORM SIGN PESH2
++1227F;N # CUNEIFORM SIGN PI
++12280;N # CUNEIFORM SIGN PI TIMES A
++12281;N # CUNEIFORM SIGN PI TIMES AB
++12282;N # CUNEIFORM SIGN PI TIMES BI
++12283;N # CUNEIFORM SIGN PI TIMES BU
++12284;N # CUNEIFORM SIGN PI TIMES E
++12285;N # CUNEIFORM SIGN PI TIMES I
++12286;N # CUNEIFORM SIGN PI TIMES IB
++12287;N # CUNEIFORM SIGN PI TIMES U
++12288;N # CUNEIFORM SIGN PI TIMES U2
++12289;N # CUNEIFORM SIGN PI CROSSING PI
++1228A;N # CUNEIFORM SIGN PIRIG
++1228B;N # CUNEIFORM SIGN PIRIG TIMES KAL
++1228C;N # CUNEIFORM SIGN PIRIG TIMES UD
++1228D;N # CUNEIFORM SIGN PIRIG TIMES ZA
++1228E;N # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
++1228F;N # CUNEIFORM SIGN RA
++12290;N # CUNEIFORM SIGN RAB
++12291;N # CUNEIFORM SIGN RI
++12292;N # CUNEIFORM SIGN RU
++12293;N # CUNEIFORM SIGN SA
++12294;N # CUNEIFORM SIGN SAG NUTILLU
++12295;N # CUNEIFORM SIGN SAG
++12296;N # CUNEIFORM SIGN SAG TIMES A
++12297;N # CUNEIFORM SIGN SAG TIMES DU
++12298;N # CUNEIFORM SIGN SAG TIMES DUB
++12299;N # CUNEIFORM SIGN SAG TIMES HA
++1229A;N # CUNEIFORM SIGN SAG TIMES KAK
++1229B;N # CUNEIFORM SIGN SAG TIMES KUR
++1229C;N # CUNEIFORM SIGN SAG TIMES LUM
++1229D;N # CUNEIFORM SIGN SAG TIMES MI
++1229E;N # CUNEIFORM SIGN SAG TIMES NUN
++1229F;N # CUNEIFORM SIGN SAG TIMES SAL
++122A0;N # CUNEIFORM SIGN SAG TIMES SHID
++122A1;N # CUNEIFORM SIGN SAG TIMES TAB
++122A2;N # CUNEIFORM SIGN SAG TIMES U2
++122A3;N # CUNEIFORM SIGN SAG TIMES UB
++122A4;N # CUNEIFORM SIGN SAG TIMES UM
++122A5;N # CUNEIFORM SIGN SAG TIMES UR
++122A6;N # CUNEIFORM SIGN SAG TIMES USH
++122A7;N # CUNEIFORM SIGN SAG OVER SAG
++122A8;N # CUNEIFORM SIGN SAG GUNU
++122A9;N # CUNEIFORM SIGN SAL
++122AA;N # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
++122AB;N # CUNEIFORM SIGN SANGA2
++122AC;N # CUNEIFORM SIGN SAR
++122AD;N # CUNEIFORM SIGN SHA
++122AE;N # CUNEIFORM SIGN SHA3
++122AF;N # CUNEIFORM SIGN SHA3 TIMES A
++122B0;N # CUNEIFORM SIGN SHA3 TIMES BAD
++122B1;N # CUNEIFORM SIGN SHA3 TIMES GISH
++122B2;N # CUNEIFORM SIGN SHA3 TIMES NE
++122B3;N # CUNEIFORM SIGN SHA3 TIMES SHU2
++122B4;N # CUNEIFORM SIGN SHA3 TIMES TUR
++122B5;N # CUNEIFORM SIGN SHA3 TIMES U
++122B6;N # CUNEIFORM SIGN SHA3 TIMES U PLUS A
++122B7;N # CUNEIFORM SIGN SHA6
++122B8;N # CUNEIFORM SIGN SHAB6
++122B9;N # CUNEIFORM SIGN SHAR2
++122BA;N # CUNEIFORM SIGN SHE
++122BB;N # CUNEIFORM SIGN SHE HU
++122BC;N # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
++122BD;N # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
++122BE;N # CUNEIFORM SIGN SHEG9
++122BF;N # CUNEIFORM SIGN SHEN
++122C0;N # CUNEIFORM SIGN SHESH
++122C1;N # CUNEIFORM SIGN SHESH2
++122C2;N # CUNEIFORM SIGN SHESHLAM
++122C3;N # CUNEIFORM SIGN SHID
++122C4;N # CUNEIFORM SIGN SHID TIMES A
++122C5;N # CUNEIFORM SIGN SHID TIMES IM
++122C6;N # CUNEIFORM SIGN SHIM
++122C7;N # CUNEIFORM SIGN SHIM TIMES A
++122C8;N # CUNEIFORM SIGN SHIM TIMES BAL
++122C9;N # CUNEIFORM SIGN SHIM TIMES BULUG
++122CA;N # CUNEIFORM SIGN SHIM TIMES DIN
++122CB;N # CUNEIFORM SIGN SHIM TIMES GAR
++122CC;N # CUNEIFORM SIGN SHIM TIMES IGI
++122CD;N # CUNEIFORM SIGN SHIM TIMES IGI GUNU
++122CE;N # CUNEIFORM SIGN SHIM TIMES KUSHU2
++122CF;N # CUNEIFORM SIGN SHIM TIMES LUL
++122D0;N # CUNEIFORM SIGN SHIM TIMES MUG
++122D1;N # CUNEIFORM SIGN SHIM TIMES SAL
++122D2;N # CUNEIFORM SIGN SHINIG
++122D3;N # CUNEIFORM SIGN SHIR
++122D4;N # CUNEIFORM SIGN SHIR TENU
++122D5;N # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
++122D6;N # CUNEIFORM SIGN SHITA
++122D7;N # CUNEIFORM SIGN SHU
++122D8;N # CUNEIFORM SIGN SHU OVER INVERTED SHU
++122D9;N # CUNEIFORM SIGN SHU2
++122DA;N # CUNEIFORM SIGN SHUBUR
++122DB;N # CUNEIFORM SIGN SI
++122DC;N # CUNEIFORM SIGN SI GUNU
++122DD;N # CUNEIFORM SIGN SIG
++122DE;N # CUNEIFORM SIGN SIG4
++122DF;N # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
++122E0;N # CUNEIFORM SIGN SIK2
++122E1;N # CUNEIFORM SIGN SILA3
++122E2;N # CUNEIFORM SIGN SU
++122E3;N # CUNEIFORM SIGN SU OVER SU
++122E4;N # CUNEIFORM SIGN SUD
++122E5;N # CUNEIFORM SIGN SUD2
++122E6;N # CUNEIFORM SIGN SUHUR
++122E7;N # CUNEIFORM SIGN SUM
++122E8;N # CUNEIFORM SIGN SUMASH
++122E9;N # CUNEIFORM SIGN SUR
++122EA;N # CUNEIFORM SIGN SUR9
++122EB;N # CUNEIFORM SIGN TA
++122EC;N # CUNEIFORM SIGN TA ASTERISK
++122ED;N # CUNEIFORM SIGN TA TIMES HI
++122EE;N # CUNEIFORM SIGN TA TIMES MI
++122EF;N # CUNEIFORM SIGN TA GUNU
++122F0;N # CUNEIFORM SIGN TAB
++122F1;N # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
++122F2;N # CUNEIFORM SIGN TAB SQUARED
++122F3;N # CUNEIFORM SIGN TAG
++122F4;N # CUNEIFORM SIGN TAG TIMES BI
++122F5;N # CUNEIFORM SIGN TAG TIMES GUD
++122F6;N # CUNEIFORM SIGN TAG TIMES SHE
++122F7;N # CUNEIFORM SIGN TAG TIMES SHU
++122F8;N # CUNEIFORM SIGN TAG TIMES TUG2
++122F9;N # CUNEIFORM SIGN TAG TIMES UD
++122FA;N # CUNEIFORM SIGN TAK4
++122FB;N # CUNEIFORM SIGN TAR
++122FC;N # CUNEIFORM SIGN TE
++122FD;N # CUNEIFORM SIGN TE GUNU
++122FE;N # CUNEIFORM SIGN TI
++122FF;N # CUNEIFORM SIGN TI TENU
++12300;N # CUNEIFORM SIGN TIL
++12301;N # CUNEIFORM SIGN TIR
++12302;N # CUNEIFORM SIGN TIR TIMES TAK4
++12303;N # CUNEIFORM SIGN TIR OVER TIR
++12304;N # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
++12305;N # CUNEIFORM SIGN TU
++12306;N # CUNEIFORM SIGN TUG2
++12307;N # CUNEIFORM SIGN TUK
++12308;N # CUNEIFORM SIGN TUM
++12309;N # CUNEIFORM SIGN TUR
++1230A;N # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
++1230B;N # CUNEIFORM SIGN U
++1230C;N # CUNEIFORM SIGN U GUD
++1230D;N # CUNEIFORM SIGN U U U
++1230E;N # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
++1230F;N # CUNEIFORM SIGN U OVER U SUR OVER SUR
++12310;N # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
++12311;N # CUNEIFORM SIGN U2
++12312;N # CUNEIFORM SIGN UB
++12313;N # CUNEIFORM SIGN UD
++12314;N # CUNEIFORM SIGN UD KUSHU2
++12315;N # CUNEIFORM SIGN UD TIMES BAD
++12316;N # CUNEIFORM SIGN UD TIMES MI
++12317;N # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
++12318;N # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
++12319;N # CUNEIFORM SIGN UD GUNU
++1231A;N # CUNEIFORM SIGN UD SHESHIG
++1231B;N # CUNEIFORM SIGN UD SHESHIG TIMES BAD
++1231C;N # CUNEIFORM SIGN UDUG
++1231D;N # CUNEIFORM SIGN UM
++1231E;N # CUNEIFORM SIGN UM TIMES LAGAB
++1231F;N # CUNEIFORM SIGN UM TIMES ME PLUS DA
++12320;N # CUNEIFORM SIGN UM TIMES SHA3
++12321;N # CUNEIFORM SIGN UM TIMES U
++12322;N # CUNEIFORM SIGN UMBIN
++12323;N # CUNEIFORM SIGN UMUM
++12324;N # CUNEIFORM SIGN UMUM TIMES KASKAL
++12325;N # CUNEIFORM SIGN UMUM TIMES PA
++12326;N # CUNEIFORM SIGN UN
++12327;N # CUNEIFORM SIGN UN GUNU
++12328;N # CUNEIFORM SIGN UR
++12329;N # CUNEIFORM SIGN UR CROSSING UR
++1232A;N # CUNEIFORM SIGN UR SHESHIG
++1232B;N # CUNEIFORM SIGN UR2
++1232C;N # CUNEIFORM SIGN UR2 TIMES A PLUS HA
++1232D;N # CUNEIFORM SIGN UR2 TIMES A PLUS NA
++1232E;N # CUNEIFORM SIGN UR2 TIMES AL
++1232F;N # CUNEIFORM SIGN UR2 TIMES HA
++12330;N # CUNEIFORM SIGN UR2 TIMES NUN
++12331;N # CUNEIFORM SIGN UR2 TIMES U2
++12332;N # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
++12333;N # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
++12334;N # CUNEIFORM SIGN UR4
++12335;N # CUNEIFORM SIGN URI
++12336;N # CUNEIFORM SIGN URI3
++12337;N # CUNEIFORM SIGN URU
++12338;N # CUNEIFORM SIGN URU TIMES A
++12339;N # CUNEIFORM SIGN URU TIMES ASHGAB
++1233A;N # CUNEIFORM SIGN URU TIMES BAR
++1233B;N # CUNEIFORM SIGN URU TIMES DUN
++1233C;N # CUNEIFORM SIGN URU TIMES GA
++1233D;N # CUNEIFORM SIGN URU TIMES GAL
++1233E;N # CUNEIFORM SIGN URU TIMES GAN2 TENU
++1233F;N # CUNEIFORM SIGN URU TIMES GAR
++12340;N # CUNEIFORM SIGN URU TIMES GU
++12341;N # CUNEIFORM SIGN URU TIMES HA
++12342;N # CUNEIFORM SIGN URU TIMES IGI
++12343;N # CUNEIFORM SIGN URU TIMES IM
++12344;N # CUNEIFORM SIGN URU TIMES ISH
++12345;N # CUNEIFORM SIGN URU TIMES KI
++12346;N # CUNEIFORM SIGN URU TIMES LUM
++12347;N # CUNEIFORM SIGN URU TIMES MIN
++12348;N # CUNEIFORM SIGN URU TIMES PA
++12349;N # CUNEIFORM SIGN URU TIMES SHE
++1234A;N # CUNEIFORM SIGN URU TIMES SIG4
++1234B;N # CUNEIFORM SIGN URU TIMES TU
++1234C;N # CUNEIFORM SIGN URU TIMES U PLUS GUD
++1234D;N # CUNEIFORM SIGN URU TIMES UD
++1234E;N # CUNEIFORM SIGN URU TIMES URUDA
++1234F;N # CUNEIFORM SIGN URUDA
++12350;N # CUNEIFORM SIGN URUDA TIMES U
++12351;N # CUNEIFORM SIGN USH
++12352;N # CUNEIFORM SIGN USH TIMES A
++12353;N # CUNEIFORM SIGN USH TIMES KU
++12354;N # CUNEIFORM SIGN USH TIMES KUR
++12355;N # CUNEIFORM SIGN USH TIMES TAK4
++12356;N # CUNEIFORM SIGN USHX
++12357;N # CUNEIFORM SIGN USH2
++12358;N # CUNEIFORM SIGN USHUMX
++12359;N # CUNEIFORM SIGN UTUKI
++1235A;N # CUNEIFORM SIGN UZ3
++1235B;N # CUNEIFORM SIGN UZ3 TIMES KASKAL
++1235C;N # CUNEIFORM SIGN UZU
++1235D;N # CUNEIFORM SIGN ZA
++1235E;N # CUNEIFORM SIGN ZA TENU
++1235F;N # CUNEIFORM SIGN ZA SQUARED TIMES KUR
++12360;N # CUNEIFORM SIGN ZAG
++12361;N # CUNEIFORM SIGN ZAMX
++12362;N # CUNEIFORM SIGN ZE2
++12363;N # CUNEIFORM SIGN ZI
++12364;N # CUNEIFORM SIGN ZI OVER ZI
++12365;N # CUNEIFORM SIGN ZI3
++12366;N # CUNEIFORM SIGN ZIB
++12367;N # CUNEIFORM SIGN ZIB KABA TENU
++12368;N # CUNEIFORM SIGN ZIG
++12369;N # CUNEIFORM SIGN ZIZ2
++1236A;N # CUNEIFORM SIGN ZU
++1236B;N # CUNEIFORM SIGN ZU5
++1236C;N # CUNEIFORM SIGN ZU5 TIMES A
++1236D;N # CUNEIFORM SIGN ZUBUR
++1236E;N # CUNEIFORM SIGN ZUM
++12400;N # CUNEIFORM NUMERIC SIGN TWO ASH
++12401;N # CUNEIFORM NUMERIC SIGN THREE ASH
++12402;N # CUNEIFORM NUMERIC SIGN FOUR ASH
++12403;N # CUNEIFORM NUMERIC SIGN FIVE ASH
++12404;N # CUNEIFORM NUMERIC SIGN SIX ASH
++12405;N # CUNEIFORM NUMERIC SIGN SEVEN ASH
++12406;N # CUNEIFORM NUMERIC SIGN EIGHT ASH
++12407;N # CUNEIFORM NUMERIC SIGN NINE ASH
++12408;N # CUNEIFORM NUMERIC SIGN THREE DISH
++12409;N # CUNEIFORM NUMERIC SIGN FOUR DISH
++1240A;N # CUNEIFORM NUMERIC SIGN FIVE DISH
++1240B;N # CUNEIFORM NUMERIC SIGN SIX DISH
++1240C;N # CUNEIFORM NUMERIC SIGN SEVEN DISH
++1240D;N # CUNEIFORM NUMERIC SIGN EIGHT DISH
++1240E;N # CUNEIFORM NUMERIC SIGN NINE DISH
++1240F;N # CUNEIFORM NUMERIC SIGN FOUR U
++12410;N # CUNEIFORM NUMERIC SIGN FIVE U
++12411;N # CUNEIFORM NUMERIC SIGN SIX U
++12412;N # CUNEIFORM NUMERIC SIGN SEVEN U
++12413;N # CUNEIFORM NUMERIC SIGN EIGHT U
++12414;N # CUNEIFORM NUMERIC SIGN NINE U
++12415;N # CUNEIFORM NUMERIC SIGN ONE GESH2
++12416;N # CUNEIFORM NUMERIC SIGN TWO GESH2
++12417;N # CUNEIFORM NUMERIC SIGN THREE GESH2
++12418;N # CUNEIFORM NUMERIC SIGN FOUR GESH2
++12419;N # CUNEIFORM NUMERIC SIGN FIVE GESH2
++1241A;N # CUNEIFORM NUMERIC SIGN SIX GESH2
++1241B;N # CUNEIFORM NUMERIC SIGN SEVEN GESH2
++1241C;N # CUNEIFORM NUMERIC SIGN EIGHT GESH2
++1241D;N # CUNEIFORM NUMERIC SIGN NINE GESH2
++1241E;N # CUNEIFORM NUMERIC SIGN ONE GESHU
++1241F;N # CUNEIFORM NUMERIC SIGN TWO GESHU
++12420;N # CUNEIFORM NUMERIC SIGN THREE GESHU
++12421;N # CUNEIFORM NUMERIC SIGN FOUR GESHU
++12422;N # CUNEIFORM NUMERIC SIGN FIVE GESHU
++12423;N # CUNEIFORM NUMERIC SIGN TWO SHAR2
++12424;N # CUNEIFORM NUMERIC SIGN THREE SHAR2
++12425;N # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
++12426;N # CUNEIFORM NUMERIC SIGN FOUR SHAR2
++12427;N # CUNEIFORM NUMERIC SIGN FIVE SHAR2
++12428;N # CUNEIFORM NUMERIC SIGN SIX SHAR2
++12429;N # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
++1242A;N # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
++1242B;N # CUNEIFORM NUMERIC SIGN NINE SHAR2
++1242C;N # CUNEIFORM NUMERIC SIGN ONE SHARU
++1242D;N # CUNEIFORM NUMERIC SIGN TWO SHARU
++1242E;N # CUNEIFORM NUMERIC SIGN THREE SHARU
++1242F;N # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
++12430;N # CUNEIFORM NUMERIC SIGN FOUR SHARU
++12431;N # CUNEIFORM NUMERIC SIGN FIVE SHARU
++12432;N # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
++12433;N # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
++12434;N # CUNEIFORM NUMERIC SIGN ONE BURU
++12435;N # CUNEIFORM NUMERIC SIGN TWO BURU
++12436;N # CUNEIFORM NUMERIC SIGN THREE BURU
++12437;N # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
++12438;N # CUNEIFORM NUMERIC SIGN FOUR BURU
++12439;N # CUNEIFORM NUMERIC SIGN FIVE BURU
++1243A;N # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
++1243B;N # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
++1243C;N # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
++1243D;N # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
++1243E;N # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
++1243F;N # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
++12440;N # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
++12441;N # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
++12442;N # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
++12443;N # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
++12444;N # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
++12445;N # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
++12446;N # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
++12447;N # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
++12448;N # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
++12449;N # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
++1244A;N # CUNEIFORM NUMERIC SIGN TWO ASH TENU
++1244B;N # CUNEIFORM NUMERIC SIGN THREE ASH TENU
++1244C;N # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
++1244D;N # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
++1244E;N # CUNEIFORM NUMERIC SIGN SIX ASH TENU
++1244F;N # CUNEIFORM NUMERIC SIGN ONE BAN2
++12450;N # CUNEIFORM NUMERIC SIGN TWO BAN2
++12451;N # CUNEIFORM NUMERIC SIGN THREE BAN2
++12452;N # CUNEIFORM NUMERIC SIGN FOUR BAN2
++12453;N # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
++12454;N # CUNEIFORM NUMERIC SIGN FIVE BAN2
++12455;N # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
++12456;N # CUNEIFORM NUMERIC SIGN NIGIDAMIN
++12457;N # CUNEIFORM NUMERIC SIGN NIGIDAESH
++12458;N # CUNEIFORM NUMERIC SIGN ONE ESHE3
++12459;N # CUNEIFORM NUMERIC SIGN TWO ESHE3
++1245A;N # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
++1245B;N # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
++1245C;N # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
++1245D;N # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
++1245E;N # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
++1245F;N # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
++12460;N # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
++12461;N # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
++12462;N # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
++12470;N # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
++12471;N # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
++12472;N # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
++12473;N # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
++13000;N # EGYPTIAN HIEROGLYPH A001
++13001;N # EGYPTIAN HIEROGLYPH A002
++13002;N # EGYPTIAN HIEROGLYPH A003
++13003;N # EGYPTIAN HIEROGLYPH A004
++13004;N # EGYPTIAN HIEROGLYPH A005
++13005;N # EGYPTIAN HIEROGLYPH A005A
++13006;N # EGYPTIAN HIEROGLYPH A006
++13007;N # EGYPTIAN HIEROGLYPH A006A
++13008;N # EGYPTIAN HIEROGLYPH A006B
++13009;N # EGYPTIAN HIEROGLYPH A007
++1300A;N # EGYPTIAN HIEROGLYPH A008
++1300B;N # EGYPTIAN HIEROGLYPH A009
++1300C;N # EGYPTIAN HIEROGLYPH A010
++1300D;N # EGYPTIAN HIEROGLYPH A011
++1300E;N # EGYPTIAN HIEROGLYPH A012
++1300F;N # EGYPTIAN HIEROGLYPH A013
++13010;N # EGYPTIAN HIEROGLYPH A014
++13011;N # EGYPTIAN HIEROGLYPH A014A
++13012;N # EGYPTIAN HIEROGLYPH A015
++13013;N # EGYPTIAN HIEROGLYPH A016
++13014;N # EGYPTIAN HIEROGLYPH A017
++13015;N # EGYPTIAN HIEROGLYPH A017A
++13016;N # EGYPTIAN HIEROGLYPH A018
++13017;N # EGYPTIAN HIEROGLYPH A019
++13018;N # EGYPTIAN HIEROGLYPH A020
++13019;N # EGYPTIAN HIEROGLYPH A021
++1301A;N # EGYPTIAN HIEROGLYPH A022
++1301B;N # EGYPTIAN HIEROGLYPH A023
++1301C;N # EGYPTIAN HIEROGLYPH A024
++1301D;N # EGYPTIAN HIEROGLYPH A025
++1301E;N # EGYPTIAN HIEROGLYPH A026
++1301F;N # EGYPTIAN HIEROGLYPH A027
++13020;N # EGYPTIAN HIEROGLYPH A028
++13021;N # EGYPTIAN HIEROGLYPH A029
++13022;N # EGYPTIAN HIEROGLYPH A030
++13023;N # EGYPTIAN HIEROGLYPH A031
++13024;N # EGYPTIAN HIEROGLYPH A032
++13025;N # EGYPTIAN HIEROGLYPH A032A
++13026;N # EGYPTIAN HIEROGLYPH A033
++13027;N # EGYPTIAN HIEROGLYPH A034
++13028;N # EGYPTIAN HIEROGLYPH A035
++13029;N # EGYPTIAN HIEROGLYPH A036
++1302A;N # EGYPTIAN HIEROGLYPH A037
++1302B;N # EGYPTIAN HIEROGLYPH A038
++1302C;N # EGYPTIAN HIEROGLYPH A039
++1302D;N # EGYPTIAN HIEROGLYPH A040
++1302E;N # EGYPTIAN HIEROGLYPH A040A
++1302F;N # EGYPTIAN HIEROGLYPH A041
++13030;N # EGYPTIAN HIEROGLYPH A042
++13031;N # EGYPTIAN HIEROGLYPH A042A
++13032;N # EGYPTIAN HIEROGLYPH A043
++13033;N # EGYPTIAN HIEROGLYPH A043A
++13034;N # EGYPTIAN HIEROGLYPH A044
++13035;N # EGYPTIAN HIEROGLYPH A045
++13036;N # EGYPTIAN HIEROGLYPH A045A
++13037;N # EGYPTIAN HIEROGLYPH A046
++13038;N # EGYPTIAN HIEROGLYPH A047
++13039;N # EGYPTIAN HIEROGLYPH A048
++1303A;N # EGYPTIAN HIEROGLYPH A049
++1303B;N # EGYPTIAN HIEROGLYPH A050
++1303C;N # EGYPTIAN HIEROGLYPH A051
++1303D;N # EGYPTIAN HIEROGLYPH A052
++1303E;N # EGYPTIAN HIEROGLYPH A053
++1303F;N # EGYPTIAN HIEROGLYPH A054
++13040;N # EGYPTIAN HIEROGLYPH A055
++13041;N # EGYPTIAN HIEROGLYPH A056
++13042;N # EGYPTIAN HIEROGLYPH A057
++13043;N # EGYPTIAN HIEROGLYPH A058
++13044;N # EGYPTIAN HIEROGLYPH A059
++13045;N # EGYPTIAN HIEROGLYPH A060
++13046;N # EGYPTIAN HIEROGLYPH A061
++13047;N # EGYPTIAN HIEROGLYPH A062
++13048;N # EGYPTIAN HIEROGLYPH A063
++13049;N # EGYPTIAN HIEROGLYPH A064
++1304A;N # EGYPTIAN HIEROGLYPH A065
++1304B;N # EGYPTIAN HIEROGLYPH A066
++1304C;N # EGYPTIAN HIEROGLYPH A067
++1304D;N # EGYPTIAN HIEROGLYPH A068
++1304E;N # EGYPTIAN HIEROGLYPH A069
++1304F;N # EGYPTIAN HIEROGLYPH A070
++13050;N # EGYPTIAN HIEROGLYPH B001
++13051;N # EGYPTIAN HIEROGLYPH B002
++13052;N # EGYPTIAN HIEROGLYPH B003
++13053;N # EGYPTIAN HIEROGLYPH B004
++13054;N # EGYPTIAN HIEROGLYPH B005
++13055;N # EGYPTIAN HIEROGLYPH B005A
++13056;N # EGYPTIAN HIEROGLYPH B006
++13057;N # EGYPTIAN HIEROGLYPH B007
++13058;N # EGYPTIAN HIEROGLYPH B008
++13059;N # EGYPTIAN HIEROGLYPH B009
++1305A;N # EGYPTIAN HIEROGLYPH C001
++1305B;N # EGYPTIAN HIEROGLYPH C002
++1305C;N # EGYPTIAN HIEROGLYPH C002A
++1305D;N # EGYPTIAN HIEROGLYPH C002B
++1305E;N # EGYPTIAN HIEROGLYPH C002C
++1305F;N # EGYPTIAN HIEROGLYPH C003
++13060;N # EGYPTIAN HIEROGLYPH C004
++13061;N # EGYPTIAN HIEROGLYPH C005
++13062;N # EGYPTIAN HIEROGLYPH C006
++13063;N # EGYPTIAN HIEROGLYPH C007
++13064;N # EGYPTIAN HIEROGLYPH C008
++13065;N # EGYPTIAN HIEROGLYPH C009
++13066;N # EGYPTIAN HIEROGLYPH C010
++13067;N # EGYPTIAN HIEROGLYPH C010A
++13068;N # EGYPTIAN HIEROGLYPH C011
++13069;N # EGYPTIAN HIEROGLYPH C012
++1306A;N # EGYPTIAN HIEROGLYPH C013
++1306B;N # EGYPTIAN HIEROGLYPH C014
++1306C;N # EGYPTIAN HIEROGLYPH C015
++1306D;N # EGYPTIAN HIEROGLYPH C016
++1306E;N # EGYPTIAN HIEROGLYPH C017
++1306F;N # EGYPTIAN HIEROGLYPH C018
++13070;N # EGYPTIAN HIEROGLYPH C019
++13071;N # EGYPTIAN HIEROGLYPH C020
++13072;N # EGYPTIAN HIEROGLYPH C021
++13073;N # EGYPTIAN HIEROGLYPH C022
++13074;N # EGYPTIAN HIEROGLYPH C023
++13075;N # EGYPTIAN HIEROGLYPH C024
++13076;N # EGYPTIAN HIEROGLYPH D001
++13077;N # EGYPTIAN HIEROGLYPH D002
++13078;N # EGYPTIAN HIEROGLYPH D003
++13079;N # EGYPTIAN HIEROGLYPH D004
++1307A;N # EGYPTIAN HIEROGLYPH D005
++1307B;N # EGYPTIAN HIEROGLYPH D006
++1307C;N # EGYPTIAN HIEROGLYPH D007
++1307D;N # EGYPTIAN HIEROGLYPH D008
++1307E;N # EGYPTIAN HIEROGLYPH D008A
++1307F;N # EGYPTIAN HIEROGLYPH D009
++13080;N # EGYPTIAN HIEROGLYPH D010
++13081;N # EGYPTIAN HIEROGLYPH D011
++13082;N # EGYPTIAN HIEROGLYPH D012
++13083;N # EGYPTIAN HIEROGLYPH D013
++13084;N # EGYPTIAN HIEROGLYPH D014
++13085;N # EGYPTIAN HIEROGLYPH D015
++13086;N # EGYPTIAN HIEROGLYPH D016
++13087;N # EGYPTIAN HIEROGLYPH D017
++13088;N # EGYPTIAN HIEROGLYPH D018
++13089;N # EGYPTIAN HIEROGLYPH D019
++1308A;N # EGYPTIAN HIEROGLYPH D020
++1308B;N # EGYPTIAN HIEROGLYPH D021
++1308C;N # EGYPTIAN HIEROGLYPH D022
++1308D;N # EGYPTIAN HIEROGLYPH D023
++1308E;N # EGYPTIAN HIEROGLYPH D024
++1308F;N # EGYPTIAN HIEROGLYPH D025
++13090;N # EGYPTIAN HIEROGLYPH D026
++13091;N # EGYPTIAN HIEROGLYPH D027
++13092;N # EGYPTIAN HIEROGLYPH D027A
++13093;N # EGYPTIAN HIEROGLYPH D028
++13094;N # EGYPTIAN HIEROGLYPH D029
++13095;N # EGYPTIAN HIEROGLYPH D030
++13096;N # EGYPTIAN HIEROGLYPH D031
++13097;N # EGYPTIAN HIEROGLYPH D031A
++13098;N # EGYPTIAN HIEROGLYPH D032
++13099;N # EGYPTIAN HIEROGLYPH D033
++1309A;N # EGYPTIAN HIEROGLYPH D034
++1309B;N # EGYPTIAN HIEROGLYPH D034A
++1309C;N # EGYPTIAN HIEROGLYPH D035
++1309D;N # EGYPTIAN HIEROGLYPH D036
++1309E;N # EGYPTIAN HIEROGLYPH D037
++1309F;N # EGYPTIAN HIEROGLYPH D038
++130A0;N # EGYPTIAN HIEROGLYPH D039
++130A1;N # EGYPTIAN HIEROGLYPH D040
++130A2;N # EGYPTIAN HIEROGLYPH D041
++130A3;N # EGYPTIAN HIEROGLYPH D042
++130A4;N # EGYPTIAN HIEROGLYPH D043
++130A5;N # EGYPTIAN HIEROGLYPH D044
++130A6;N # EGYPTIAN HIEROGLYPH D045
++130A7;N # EGYPTIAN HIEROGLYPH D046
++130A8;N # EGYPTIAN HIEROGLYPH D046A
++130A9;N # EGYPTIAN HIEROGLYPH D047
++130AA;N # EGYPTIAN HIEROGLYPH D048
++130AB;N # EGYPTIAN HIEROGLYPH D048A
++130AC;N # EGYPTIAN HIEROGLYPH D049
++130AD;N # EGYPTIAN HIEROGLYPH D050
++130AE;N # EGYPTIAN HIEROGLYPH D050A
++130AF;N # EGYPTIAN HIEROGLYPH D050B
++130B0;N # EGYPTIAN HIEROGLYPH D050C
++130B1;N # EGYPTIAN HIEROGLYPH D050D
++130B2;N # EGYPTIAN HIEROGLYPH D050E
++130B3;N # EGYPTIAN HIEROGLYPH D050F
++130B4;N # EGYPTIAN HIEROGLYPH D050G
++130B5;N # EGYPTIAN HIEROGLYPH D050H
++130B6;N # EGYPTIAN HIEROGLYPH D050I
++130B7;N # EGYPTIAN HIEROGLYPH D051
++130B8;N # EGYPTIAN HIEROGLYPH D052
++130B9;N # EGYPTIAN HIEROGLYPH D052A
++130BA;N # EGYPTIAN HIEROGLYPH D053
++130BB;N # EGYPTIAN HIEROGLYPH D054
++130BC;N # EGYPTIAN HIEROGLYPH D054A
++130BD;N # EGYPTIAN HIEROGLYPH D055
++130BE;N # EGYPTIAN HIEROGLYPH D056
++130BF;N # EGYPTIAN HIEROGLYPH D057
++130C0;N # EGYPTIAN HIEROGLYPH D058
++130C1;N # EGYPTIAN HIEROGLYPH D059
++130C2;N # EGYPTIAN HIEROGLYPH D060
++130C3;N # EGYPTIAN HIEROGLYPH D061
++130C4;N # EGYPTIAN HIEROGLYPH D062
++130C5;N # EGYPTIAN HIEROGLYPH D063
++130C6;N # EGYPTIAN HIEROGLYPH D064
++130C7;N # EGYPTIAN HIEROGLYPH D065
++130C8;N # EGYPTIAN HIEROGLYPH D066
++130C9;N # EGYPTIAN HIEROGLYPH D067
++130CA;N # EGYPTIAN HIEROGLYPH D067A
++130CB;N # EGYPTIAN HIEROGLYPH D067B
++130CC;N # EGYPTIAN HIEROGLYPH D067C
++130CD;N # EGYPTIAN HIEROGLYPH D067D
++130CE;N # EGYPTIAN HIEROGLYPH D067E
++130CF;N # EGYPTIAN HIEROGLYPH D067F
++130D0;N # EGYPTIAN HIEROGLYPH D067G
++130D1;N # EGYPTIAN HIEROGLYPH D067H
++130D2;N # EGYPTIAN HIEROGLYPH E001
++130D3;N # EGYPTIAN HIEROGLYPH E002
++130D4;N # EGYPTIAN HIEROGLYPH E003
++130D5;N # EGYPTIAN HIEROGLYPH E004
++130D6;N # EGYPTIAN HIEROGLYPH E005
++130D7;N # EGYPTIAN HIEROGLYPH E006
++130D8;N # EGYPTIAN HIEROGLYPH E007
++130D9;N # EGYPTIAN HIEROGLYPH E008
++130DA;N # EGYPTIAN HIEROGLYPH E008A
++130DB;N # EGYPTIAN HIEROGLYPH E009
++130DC;N # EGYPTIAN HIEROGLYPH E009A
++130DD;N # EGYPTIAN HIEROGLYPH E010
++130DE;N # EGYPTIAN HIEROGLYPH E011
++130DF;N # EGYPTIAN HIEROGLYPH E012
++130E0;N # EGYPTIAN HIEROGLYPH E013
++130E1;N # EGYPTIAN HIEROGLYPH E014
++130E2;N # EGYPTIAN HIEROGLYPH E015
++130E3;N # EGYPTIAN HIEROGLYPH E016
++130E4;N # EGYPTIAN HIEROGLYPH E016A
++130E5;N # EGYPTIAN HIEROGLYPH E017
++130E6;N # EGYPTIAN HIEROGLYPH E017A
++130E7;N # EGYPTIAN HIEROGLYPH E018
++130E8;N # EGYPTIAN HIEROGLYPH E019
++130E9;N # EGYPTIAN HIEROGLYPH E020
++130EA;N # EGYPTIAN HIEROGLYPH E020A
++130EB;N # EGYPTIAN HIEROGLYPH E021
++130EC;N # EGYPTIAN HIEROGLYPH E022
++130ED;N # EGYPTIAN HIEROGLYPH E023
++130EE;N # EGYPTIAN HIEROGLYPH E024
++130EF;N # EGYPTIAN HIEROGLYPH E025
++130F0;N # EGYPTIAN HIEROGLYPH E026
++130F1;N # EGYPTIAN HIEROGLYPH E027
++130F2;N # EGYPTIAN HIEROGLYPH E028
++130F3;N # EGYPTIAN HIEROGLYPH E028A
++130F4;N # EGYPTIAN HIEROGLYPH E029
++130F5;N # EGYPTIAN HIEROGLYPH E030
++130F6;N # EGYPTIAN HIEROGLYPH E031
++130F7;N # EGYPTIAN HIEROGLYPH E032
++130F8;N # EGYPTIAN HIEROGLYPH E033
++130F9;N # EGYPTIAN HIEROGLYPH E034
++130FA;N # EGYPTIAN HIEROGLYPH E034A
++130FB;N # EGYPTIAN HIEROGLYPH E036
++130FC;N # EGYPTIAN HIEROGLYPH E037
++130FD;N # EGYPTIAN HIEROGLYPH E038
++130FE;N # EGYPTIAN HIEROGLYPH F001
++130FF;N # EGYPTIAN HIEROGLYPH F001A
++13100;N # EGYPTIAN HIEROGLYPH F002
++13101;N # EGYPTIAN HIEROGLYPH F003
++13102;N # EGYPTIAN HIEROGLYPH F004
++13103;N # EGYPTIAN HIEROGLYPH F005
++13104;N # EGYPTIAN HIEROGLYPH F006
++13105;N # EGYPTIAN HIEROGLYPH F007
++13106;N # EGYPTIAN HIEROGLYPH F008
++13107;N # EGYPTIAN HIEROGLYPH F009
++13108;N # EGYPTIAN HIEROGLYPH F010
++13109;N # EGYPTIAN HIEROGLYPH F011
++1310A;N # EGYPTIAN HIEROGLYPH F012
++1310B;N # EGYPTIAN HIEROGLYPH F013
++1310C;N # EGYPTIAN HIEROGLYPH F013A
++1310D;N # EGYPTIAN HIEROGLYPH F014
++1310E;N # EGYPTIAN HIEROGLYPH F015
++1310F;N # EGYPTIAN HIEROGLYPH F016
++13110;N # EGYPTIAN HIEROGLYPH F017
++13111;N # EGYPTIAN HIEROGLYPH F018
++13112;N # EGYPTIAN HIEROGLYPH F019
++13113;N # EGYPTIAN HIEROGLYPH F020
++13114;N # EGYPTIAN HIEROGLYPH F021
++13115;N # EGYPTIAN HIEROGLYPH F021A
++13116;N # EGYPTIAN HIEROGLYPH F022
++13117;N # EGYPTIAN HIEROGLYPH F023
++13118;N # EGYPTIAN HIEROGLYPH F024
++13119;N # EGYPTIAN HIEROGLYPH F025
++1311A;N # EGYPTIAN HIEROGLYPH F026
++1311B;N # EGYPTIAN HIEROGLYPH F027
++1311C;N # EGYPTIAN HIEROGLYPH F028
++1311D;N # EGYPTIAN HIEROGLYPH F029
++1311E;N # EGYPTIAN HIEROGLYPH F030
++1311F;N # EGYPTIAN HIEROGLYPH F031
++13120;N # EGYPTIAN HIEROGLYPH F031A
++13121;N # EGYPTIAN HIEROGLYPH F032
++13122;N # EGYPTIAN HIEROGLYPH F033
++13123;N # EGYPTIAN HIEROGLYPH F034
++13124;N # EGYPTIAN HIEROGLYPH F035
++13125;N # EGYPTIAN HIEROGLYPH F036
++13126;N # EGYPTIAN HIEROGLYPH F037
++13127;N # EGYPTIAN HIEROGLYPH F037A
++13128;N # EGYPTIAN HIEROGLYPH F038
++13129;N # EGYPTIAN HIEROGLYPH F038A
++1312A;N # EGYPTIAN HIEROGLYPH F039
++1312B;N # EGYPTIAN HIEROGLYPH F040
++1312C;N # EGYPTIAN HIEROGLYPH F041
++1312D;N # EGYPTIAN HIEROGLYPH F042
++1312E;N # EGYPTIAN HIEROGLYPH F043
++1312F;N # EGYPTIAN HIEROGLYPH F044
++13130;N # EGYPTIAN HIEROGLYPH F045
++13131;N # EGYPTIAN HIEROGLYPH F045A
++13132;N # EGYPTIAN HIEROGLYPH F046
++13133;N # EGYPTIAN HIEROGLYPH F046A
++13134;N # EGYPTIAN HIEROGLYPH F047
++13135;N # EGYPTIAN HIEROGLYPH F047A
++13136;N # EGYPTIAN HIEROGLYPH F048
++13137;N # EGYPTIAN HIEROGLYPH F049
++13138;N # EGYPTIAN HIEROGLYPH F050
++13139;N # EGYPTIAN HIEROGLYPH F051
++1313A;N # EGYPTIAN HIEROGLYPH F051A
++1313B;N # EGYPTIAN HIEROGLYPH F051B
++1313C;N # EGYPTIAN HIEROGLYPH F051C
++1313D;N # EGYPTIAN HIEROGLYPH F052
++1313E;N # EGYPTIAN HIEROGLYPH F053
++1313F;N # EGYPTIAN HIEROGLYPH G001
++13140;N # EGYPTIAN HIEROGLYPH G002
++13141;N # EGYPTIAN HIEROGLYPH G003
++13142;N # EGYPTIAN HIEROGLYPH G004
++13143;N # EGYPTIAN HIEROGLYPH G005
++13144;N # EGYPTIAN HIEROGLYPH G006
++13145;N # EGYPTIAN HIEROGLYPH G006A
++13146;N # EGYPTIAN HIEROGLYPH G007
++13147;N # EGYPTIAN HIEROGLYPH G007A
++13148;N # EGYPTIAN HIEROGLYPH G007B
++13149;N # EGYPTIAN HIEROGLYPH G008
++1314A;N # EGYPTIAN HIEROGLYPH G009
++1314B;N # EGYPTIAN HIEROGLYPH G010
++1314C;N # EGYPTIAN HIEROGLYPH G011
++1314D;N # EGYPTIAN HIEROGLYPH G011A
++1314E;N # EGYPTIAN HIEROGLYPH G012
++1314F;N # EGYPTIAN HIEROGLYPH G013
++13150;N # EGYPTIAN HIEROGLYPH G014
++13151;N # EGYPTIAN HIEROGLYPH G015
++13152;N # EGYPTIAN HIEROGLYPH G016
++13153;N # EGYPTIAN HIEROGLYPH G017
++13154;N # EGYPTIAN HIEROGLYPH G018
++13155;N # EGYPTIAN HIEROGLYPH G019
++13156;N # EGYPTIAN HIEROGLYPH G020
++13157;N # EGYPTIAN HIEROGLYPH G020A
++13158;N # EGYPTIAN HIEROGLYPH G021
++13159;N # EGYPTIAN HIEROGLYPH G022
++1315A;N # EGYPTIAN HIEROGLYPH G023
++1315B;N # EGYPTIAN HIEROGLYPH G024
++1315C;N # EGYPTIAN HIEROGLYPH G025
++1315D;N # EGYPTIAN HIEROGLYPH G026
++1315E;N # EGYPTIAN HIEROGLYPH G026A
++1315F;N # EGYPTIAN HIEROGLYPH G027
++13160;N # EGYPTIAN HIEROGLYPH G028
++13161;N # EGYPTIAN HIEROGLYPH G029
++13162;N # EGYPTIAN HIEROGLYPH G030
++13163;N # EGYPTIAN HIEROGLYPH G031
++13164;N # EGYPTIAN HIEROGLYPH G032
++13165;N # EGYPTIAN HIEROGLYPH G033
++13166;N # EGYPTIAN HIEROGLYPH G034
++13167;N # EGYPTIAN HIEROGLYPH G035
++13168;N # EGYPTIAN HIEROGLYPH G036
++13169;N # EGYPTIAN HIEROGLYPH G036A
++1316A;N # EGYPTIAN HIEROGLYPH G037
++1316B;N # EGYPTIAN HIEROGLYPH G037A
++1316C;N # EGYPTIAN HIEROGLYPH G038
++1316D;N # EGYPTIAN HIEROGLYPH G039
++1316E;N # EGYPTIAN HIEROGLYPH G040
++1316F;N # EGYPTIAN HIEROGLYPH G041
++13170;N # EGYPTIAN HIEROGLYPH G042
++13171;N # EGYPTIAN HIEROGLYPH G043
++13172;N # EGYPTIAN HIEROGLYPH G043A
++13173;N # EGYPTIAN HIEROGLYPH G044
++13174;N # EGYPTIAN HIEROGLYPH G045
++13175;N # EGYPTIAN HIEROGLYPH G045A
++13176;N # EGYPTIAN HIEROGLYPH G046
++13177;N # EGYPTIAN HIEROGLYPH G047
++13178;N # EGYPTIAN HIEROGLYPH G048
++13179;N # EGYPTIAN HIEROGLYPH G049
++1317A;N # EGYPTIAN HIEROGLYPH G050
++1317B;N # EGYPTIAN HIEROGLYPH G051
++1317C;N # EGYPTIAN HIEROGLYPH G052
++1317D;N # EGYPTIAN HIEROGLYPH G053
++1317E;N # EGYPTIAN HIEROGLYPH G054
++1317F;N # EGYPTIAN HIEROGLYPH H001
++13180;N # EGYPTIAN HIEROGLYPH H002
++13181;N # EGYPTIAN HIEROGLYPH H003
++13182;N # EGYPTIAN HIEROGLYPH H004
++13183;N # EGYPTIAN HIEROGLYPH H005
++13184;N # EGYPTIAN HIEROGLYPH H006
++13185;N # EGYPTIAN HIEROGLYPH H006A
++13186;N # EGYPTIAN HIEROGLYPH H007
++13187;N # EGYPTIAN HIEROGLYPH H008
++13188;N # EGYPTIAN HIEROGLYPH I001
++13189;N # EGYPTIAN HIEROGLYPH I002
++1318A;N # EGYPTIAN HIEROGLYPH I003
++1318B;N # EGYPTIAN HIEROGLYPH I004
++1318C;N # EGYPTIAN HIEROGLYPH I005
++1318D;N # EGYPTIAN HIEROGLYPH I005A
++1318E;N # EGYPTIAN HIEROGLYPH I006
++1318F;N # EGYPTIAN HIEROGLYPH I007
++13190;N # EGYPTIAN HIEROGLYPH I008
++13191;N # EGYPTIAN HIEROGLYPH I009
++13192;N # EGYPTIAN HIEROGLYPH I009A
++13193;N # EGYPTIAN HIEROGLYPH I010
++13194;N # EGYPTIAN HIEROGLYPH I010A
++13195;N # EGYPTIAN HIEROGLYPH I011
++13196;N # EGYPTIAN HIEROGLYPH I011A
++13197;N # EGYPTIAN HIEROGLYPH I012
++13198;N # EGYPTIAN HIEROGLYPH I013
++13199;N # EGYPTIAN HIEROGLYPH I014
++1319A;N # EGYPTIAN HIEROGLYPH I015
++1319B;N # EGYPTIAN HIEROGLYPH K001
++1319C;N # EGYPTIAN HIEROGLYPH K002
++1319D;N # EGYPTIAN HIEROGLYPH K003
++1319E;N # EGYPTIAN HIEROGLYPH K004
++1319F;N # EGYPTIAN HIEROGLYPH K005
++131A0;N # EGYPTIAN HIEROGLYPH K006
++131A1;N # EGYPTIAN HIEROGLYPH K007
++131A2;N # EGYPTIAN HIEROGLYPH K008
++131A3;N # EGYPTIAN HIEROGLYPH L001
++131A4;N # EGYPTIAN HIEROGLYPH L002
++131A5;N # EGYPTIAN HIEROGLYPH L002A
++131A6;N # EGYPTIAN HIEROGLYPH L003
++131A7;N # EGYPTIAN HIEROGLYPH L004
++131A8;N # EGYPTIAN HIEROGLYPH L005
++131A9;N # EGYPTIAN HIEROGLYPH L006
++131AA;N # EGYPTIAN HIEROGLYPH L006A
++131AB;N # EGYPTIAN HIEROGLYPH L007
++131AC;N # EGYPTIAN HIEROGLYPH L008
++131AD;N # EGYPTIAN HIEROGLYPH M001
++131AE;N # EGYPTIAN HIEROGLYPH M001A
++131AF;N # EGYPTIAN HIEROGLYPH M001B
++131B0;N # EGYPTIAN HIEROGLYPH M002
++131B1;N # EGYPTIAN HIEROGLYPH M003
++131B2;N # EGYPTIAN HIEROGLYPH M003A
++131B3;N # EGYPTIAN HIEROGLYPH M004
++131B4;N # EGYPTIAN HIEROGLYPH M005
++131B5;N # EGYPTIAN HIEROGLYPH M006
++131B6;N # EGYPTIAN HIEROGLYPH M007
++131B7;N # EGYPTIAN HIEROGLYPH M008
++131B8;N # EGYPTIAN HIEROGLYPH M009
++131B9;N # EGYPTIAN HIEROGLYPH M010
++131BA;N # EGYPTIAN HIEROGLYPH M010A
++131BB;N # EGYPTIAN HIEROGLYPH M011
++131BC;N # EGYPTIAN HIEROGLYPH M012
++131BD;N # EGYPTIAN HIEROGLYPH M012A
++131BE;N # EGYPTIAN HIEROGLYPH M012B
++131BF;N # EGYPTIAN HIEROGLYPH M012C
++131C0;N # EGYPTIAN HIEROGLYPH M012D
++131C1;N # EGYPTIAN HIEROGLYPH M012E
++131C2;N # EGYPTIAN HIEROGLYPH M012F
++131C3;N # EGYPTIAN HIEROGLYPH M012G
++131C4;N # EGYPTIAN HIEROGLYPH M012H
++131C5;N # EGYPTIAN HIEROGLYPH M013
++131C6;N # EGYPTIAN HIEROGLYPH M014
++131C7;N # EGYPTIAN HIEROGLYPH M015
++131C8;N # EGYPTIAN HIEROGLYPH M015A
++131C9;N # EGYPTIAN HIEROGLYPH M016
++131CA;N # EGYPTIAN HIEROGLYPH M016A
++131CB;N # EGYPTIAN HIEROGLYPH M017
++131CC;N # EGYPTIAN HIEROGLYPH M017A
++131CD;N # EGYPTIAN HIEROGLYPH M018
++131CE;N # EGYPTIAN HIEROGLYPH M019
++131CF;N # EGYPTIAN HIEROGLYPH M020
++131D0;N # EGYPTIAN HIEROGLYPH M021
++131D1;N # EGYPTIAN HIEROGLYPH M022
++131D2;N # EGYPTIAN HIEROGLYPH M022A
++131D3;N # EGYPTIAN HIEROGLYPH M023
++131D4;N # EGYPTIAN HIEROGLYPH M024
++131D5;N # EGYPTIAN HIEROGLYPH M024A
++131D6;N # EGYPTIAN HIEROGLYPH M025
++131D7;N # EGYPTIAN HIEROGLYPH M026
++131D8;N # EGYPTIAN HIEROGLYPH M027
++131D9;N # EGYPTIAN HIEROGLYPH M028
++131DA;N # EGYPTIAN HIEROGLYPH M028A
++131DB;N # EGYPTIAN HIEROGLYPH M029
++131DC;N # EGYPTIAN HIEROGLYPH M030
++131DD;N # EGYPTIAN HIEROGLYPH M031
++131DE;N # EGYPTIAN HIEROGLYPH M031A
++131DF;N # EGYPTIAN HIEROGLYPH M032
++131E0;N # EGYPTIAN HIEROGLYPH M033
++131E1;N # EGYPTIAN HIEROGLYPH M033A
++131E2;N # EGYPTIAN HIEROGLYPH M033B
++131E3;N # EGYPTIAN HIEROGLYPH M034
++131E4;N # EGYPTIAN HIEROGLYPH M035
++131E5;N # EGYPTIAN HIEROGLYPH M036
++131E6;N # EGYPTIAN HIEROGLYPH M037
++131E7;N # EGYPTIAN HIEROGLYPH M038
++131E8;N # EGYPTIAN HIEROGLYPH M039
++131E9;N # EGYPTIAN HIEROGLYPH M040
++131EA;N # EGYPTIAN HIEROGLYPH M040A
++131EB;N # EGYPTIAN HIEROGLYPH M041
++131EC;N # EGYPTIAN HIEROGLYPH M042
++131ED;N # EGYPTIAN HIEROGLYPH M043
++131EE;N # EGYPTIAN HIEROGLYPH M044
++131EF;N # EGYPTIAN HIEROGLYPH N001
++131F0;N # EGYPTIAN HIEROGLYPH N002
++131F1;N # EGYPTIAN HIEROGLYPH N003
++131F2;N # EGYPTIAN HIEROGLYPH N004
++131F3;N # EGYPTIAN HIEROGLYPH N005
++131F4;N # EGYPTIAN HIEROGLYPH N006
++131F5;N # EGYPTIAN HIEROGLYPH N007
++131F6;N # EGYPTIAN HIEROGLYPH N008
++131F7;N # EGYPTIAN HIEROGLYPH N009
++131F8;N # EGYPTIAN HIEROGLYPH N010
++131F9;N # EGYPTIAN HIEROGLYPH N011
++131FA;N # EGYPTIAN HIEROGLYPH N012
++131FB;N # EGYPTIAN HIEROGLYPH N013
++131FC;N # EGYPTIAN HIEROGLYPH N014
++131FD;N # EGYPTIAN HIEROGLYPH N015
++131FE;N # EGYPTIAN HIEROGLYPH N016
++131FF;N # EGYPTIAN HIEROGLYPH N017
++13200;N # EGYPTIAN HIEROGLYPH N018
++13201;N # EGYPTIAN HIEROGLYPH N018A
++13202;N # EGYPTIAN HIEROGLYPH N018B
++13203;N # EGYPTIAN HIEROGLYPH N019
++13204;N # EGYPTIAN HIEROGLYPH N020
++13205;N # EGYPTIAN HIEROGLYPH N021
++13206;N # EGYPTIAN HIEROGLYPH N022
++13207;N # EGYPTIAN HIEROGLYPH N023
++13208;N # EGYPTIAN HIEROGLYPH N024
++13209;N # EGYPTIAN HIEROGLYPH N025
++1320A;N # EGYPTIAN HIEROGLYPH N025A
++1320B;N # EGYPTIAN HIEROGLYPH N026
++1320C;N # EGYPTIAN HIEROGLYPH N027
++1320D;N # EGYPTIAN HIEROGLYPH N028
++1320E;N # EGYPTIAN HIEROGLYPH N029
++1320F;N # EGYPTIAN HIEROGLYPH N030
++13210;N # EGYPTIAN HIEROGLYPH N031
++13211;N # EGYPTIAN HIEROGLYPH N032
++13212;N # EGYPTIAN HIEROGLYPH N033
++13213;N # EGYPTIAN HIEROGLYPH N033A
++13214;N # EGYPTIAN HIEROGLYPH N034
++13215;N # EGYPTIAN HIEROGLYPH N034A
++13216;N # EGYPTIAN HIEROGLYPH N035
++13217;N # EGYPTIAN HIEROGLYPH N035A
++13218;N # EGYPTIAN HIEROGLYPH N036
++13219;N # EGYPTIAN HIEROGLYPH N037
++1321A;N # EGYPTIAN HIEROGLYPH N037A
++1321B;N # EGYPTIAN HIEROGLYPH N038
++1321C;N # EGYPTIAN HIEROGLYPH N039
++1321D;N # EGYPTIAN HIEROGLYPH N040
++1321E;N # EGYPTIAN HIEROGLYPH N041
++1321F;N # EGYPTIAN HIEROGLYPH N042
++13220;N # EGYPTIAN HIEROGLYPH NL001
++13221;N # EGYPTIAN HIEROGLYPH NL002
++13222;N # EGYPTIAN HIEROGLYPH NL003
++13223;N # EGYPTIAN HIEROGLYPH NL004
++13224;N # EGYPTIAN HIEROGLYPH NL005
++13225;N # EGYPTIAN HIEROGLYPH NL005A
++13226;N # EGYPTIAN HIEROGLYPH NL006
++13227;N # EGYPTIAN HIEROGLYPH NL007
++13228;N # EGYPTIAN HIEROGLYPH NL008
++13229;N # EGYPTIAN HIEROGLYPH NL009
++1322A;N # EGYPTIAN HIEROGLYPH NL010
++1322B;N # EGYPTIAN HIEROGLYPH NL011
++1322C;N # EGYPTIAN HIEROGLYPH NL012
++1322D;N # EGYPTIAN HIEROGLYPH NL013
++1322E;N # EGYPTIAN HIEROGLYPH NL014
++1322F;N # EGYPTIAN HIEROGLYPH NL015
++13230;N # EGYPTIAN HIEROGLYPH NL016
++13231;N # EGYPTIAN HIEROGLYPH NL017
++13232;N # EGYPTIAN HIEROGLYPH NL017A
++13233;N # EGYPTIAN HIEROGLYPH NL018
++13234;N # EGYPTIAN HIEROGLYPH NL019
++13235;N # EGYPTIAN HIEROGLYPH NL020
++13236;N # EGYPTIAN HIEROGLYPH NU001
++13237;N # EGYPTIAN HIEROGLYPH NU002
++13238;N # EGYPTIAN HIEROGLYPH NU003
++13239;N # EGYPTIAN HIEROGLYPH NU004
++1323A;N # EGYPTIAN HIEROGLYPH NU005
++1323B;N # EGYPTIAN HIEROGLYPH NU006
++1323C;N # EGYPTIAN HIEROGLYPH NU007
++1323D;N # EGYPTIAN HIEROGLYPH NU008
++1323E;N # EGYPTIAN HIEROGLYPH NU009
++1323F;N # EGYPTIAN HIEROGLYPH NU010
++13240;N # EGYPTIAN HIEROGLYPH NU010A
++13241;N # EGYPTIAN HIEROGLYPH NU011
++13242;N # EGYPTIAN HIEROGLYPH NU011A
++13243;N # EGYPTIAN HIEROGLYPH NU012
++13244;N # EGYPTIAN HIEROGLYPH NU013
++13245;N # EGYPTIAN HIEROGLYPH NU014
++13246;N # EGYPTIAN HIEROGLYPH NU015
++13247;N # EGYPTIAN HIEROGLYPH NU016
++13248;N # EGYPTIAN HIEROGLYPH NU017
++13249;N # EGYPTIAN HIEROGLYPH NU018
++1324A;N # EGYPTIAN HIEROGLYPH NU018A
++1324B;N # EGYPTIAN HIEROGLYPH NU019
++1324C;N # EGYPTIAN HIEROGLYPH NU020
++1324D;N # EGYPTIAN HIEROGLYPH NU021
++1324E;N # EGYPTIAN HIEROGLYPH NU022
++1324F;N # EGYPTIAN HIEROGLYPH NU022A
++13250;N # EGYPTIAN HIEROGLYPH O001
++13251;N # EGYPTIAN HIEROGLYPH O001A
++13252;N # EGYPTIAN HIEROGLYPH O002
++13253;N # EGYPTIAN HIEROGLYPH O003
++13254;N # EGYPTIAN HIEROGLYPH O004
++13255;N # EGYPTIAN HIEROGLYPH O005
++13256;N # EGYPTIAN HIEROGLYPH O005A
++13257;N # EGYPTIAN HIEROGLYPH O006
++13258;N # EGYPTIAN HIEROGLYPH O006A
++13259;N # EGYPTIAN HIEROGLYPH O006B
++1325A;N # EGYPTIAN HIEROGLYPH O006C
++1325B;N # EGYPTIAN HIEROGLYPH O006D
++1325C;N # EGYPTIAN HIEROGLYPH O006E
++1325D;N # EGYPTIAN HIEROGLYPH O006F
++1325E;N # EGYPTIAN HIEROGLYPH O007
++1325F;N # EGYPTIAN HIEROGLYPH O008
++13260;N # EGYPTIAN HIEROGLYPH O009
++13261;N # EGYPTIAN HIEROGLYPH O010
++13262;N # EGYPTIAN HIEROGLYPH O010A
++13263;N # EGYPTIAN HIEROGLYPH O010B
++13264;N # EGYPTIAN HIEROGLYPH O010C
++13265;N # EGYPTIAN HIEROGLYPH O011
++13266;N # EGYPTIAN HIEROGLYPH O012
++13267;N # EGYPTIAN HIEROGLYPH O013
++13268;N # EGYPTIAN HIEROGLYPH O014
++13269;N # EGYPTIAN HIEROGLYPH O015
++1326A;N # EGYPTIAN HIEROGLYPH O016
++1326B;N # EGYPTIAN HIEROGLYPH O017
++1326C;N # EGYPTIAN HIEROGLYPH O018
++1326D;N # EGYPTIAN HIEROGLYPH O019
++1326E;N # EGYPTIAN HIEROGLYPH O019A
++1326F;N # EGYPTIAN HIEROGLYPH O020
++13270;N # EGYPTIAN HIEROGLYPH O020A
++13271;N # EGYPTIAN HIEROGLYPH O021
++13272;N # EGYPTIAN HIEROGLYPH O022
++13273;N # EGYPTIAN HIEROGLYPH O023
++13274;N # EGYPTIAN HIEROGLYPH O024
++13275;N # EGYPTIAN HIEROGLYPH O024A
++13276;N # EGYPTIAN HIEROGLYPH O025
++13277;N # EGYPTIAN HIEROGLYPH O025A
++13278;N # EGYPTIAN HIEROGLYPH O026
++13279;N # EGYPTIAN HIEROGLYPH O027
++1327A;N # EGYPTIAN HIEROGLYPH O028
++1327B;N # EGYPTIAN HIEROGLYPH O029
++1327C;N # EGYPTIAN HIEROGLYPH O029A
++1327D;N # EGYPTIAN HIEROGLYPH O030
++1327E;N # EGYPTIAN HIEROGLYPH O030A
++1327F;N # EGYPTIAN HIEROGLYPH O031
++13280;N # EGYPTIAN HIEROGLYPH O032
++13281;N # EGYPTIAN HIEROGLYPH O033
++13282;N # EGYPTIAN HIEROGLYPH O033A
++13283;N # EGYPTIAN HIEROGLYPH O034
++13284;N # EGYPTIAN HIEROGLYPH O035
++13285;N # EGYPTIAN HIEROGLYPH O036
++13286;N # EGYPTIAN HIEROGLYPH O036A
++13287;N # EGYPTIAN HIEROGLYPH O036B
++13288;N # EGYPTIAN HIEROGLYPH O036C
++13289;N # EGYPTIAN HIEROGLYPH O036D
++1328A;N # EGYPTIAN HIEROGLYPH O037
++1328B;N # EGYPTIAN HIEROGLYPH O038
++1328C;N # EGYPTIAN HIEROGLYPH O039
++1328D;N # EGYPTIAN HIEROGLYPH O040
++1328E;N # EGYPTIAN HIEROGLYPH O041
++1328F;N # EGYPTIAN HIEROGLYPH O042
++13290;N # EGYPTIAN HIEROGLYPH O043
++13291;N # EGYPTIAN HIEROGLYPH O044
++13292;N # EGYPTIAN HIEROGLYPH O045
++13293;N # EGYPTIAN HIEROGLYPH O046
++13294;N # EGYPTIAN HIEROGLYPH O047
++13295;N # EGYPTIAN HIEROGLYPH O048
++13296;N # EGYPTIAN HIEROGLYPH O049
++13297;N # EGYPTIAN HIEROGLYPH O050
++13298;N # EGYPTIAN HIEROGLYPH O050A
++13299;N # EGYPTIAN HIEROGLYPH O050B
++1329A;N # EGYPTIAN HIEROGLYPH O051
++1329B;N # EGYPTIAN HIEROGLYPH P001
++1329C;N # EGYPTIAN HIEROGLYPH P001A
++1329D;N # EGYPTIAN HIEROGLYPH P002
++1329E;N # EGYPTIAN HIEROGLYPH P003
++1329F;N # EGYPTIAN HIEROGLYPH P003A
++132A0;N # EGYPTIAN HIEROGLYPH P004
++132A1;N # EGYPTIAN HIEROGLYPH P005
++132A2;N # EGYPTIAN HIEROGLYPH P006
++132A3;N # EGYPTIAN HIEROGLYPH P007
++132A4;N # EGYPTIAN HIEROGLYPH P008
++132A5;N # EGYPTIAN HIEROGLYPH P009
++132A6;N # EGYPTIAN HIEROGLYPH P010
++132A7;N # EGYPTIAN HIEROGLYPH P011
++132A8;N # EGYPTIAN HIEROGLYPH Q001
++132A9;N # EGYPTIAN HIEROGLYPH Q002
++132AA;N # EGYPTIAN HIEROGLYPH Q003
++132AB;N # EGYPTIAN HIEROGLYPH Q004
++132AC;N # EGYPTIAN HIEROGLYPH Q005
++132AD;N # EGYPTIAN HIEROGLYPH Q006
++132AE;N # EGYPTIAN HIEROGLYPH Q007
++132AF;N # EGYPTIAN HIEROGLYPH R001
++132B0;N # EGYPTIAN HIEROGLYPH R002
++132B1;N # EGYPTIAN HIEROGLYPH R002A
++132B2;N # EGYPTIAN HIEROGLYPH R003
++132B3;N # EGYPTIAN HIEROGLYPH R003A
++132B4;N # EGYPTIAN HIEROGLYPH R003B
++132B5;N # EGYPTIAN HIEROGLYPH R004
++132B6;N # EGYPTIAN HIEROGLYPH R005
++132B7;N # EGYPTIAN HIEROGLYPH R006
++132B8;N # EGYPTIAN HIEROGLYPH R007
++132B9;N # EGYPTIAN HIEROGLYPH R008
++132BA;N # EGYPTIAN HIEROGLYPH R009
++132BB;N # EGYPTIAN HIEROGLYPH R010
++132BC;N # EGYPTIAN HIEROGLYPH R010A
++132BD;N # EGYPTIAN HIEROGLYPH R011
++132BE;N # EGYPTIAN HIEROGLYPH R012
++132BF;N # EGYPTIAN HIEROGLYPH R013
++132C0;N # EGYPTIAN HIEROGLYPH R014
++132C1;N # EGYPTIAN HIEROGLYPH R015
++132C2;N # EGYPTIAN HIEROGLYPH R016
++132C3;N # EGYPTIAN HIEROGLYPH R016A
++132C4;N # EGYPTIAN HIEROGLYPH R017
++132C5;N # EGYPTIAN HIEROGLYPH R018
++132C6;N # EGYPTIAN HIEROGLYPH R019
++132C7;N # EGYPTIAN HIEROGLYPH R020
++132C8;N # EGYPTIAN HIEROGLYPH R021
++132C9;N # EGYPTIAN HIEROGLYPH R022
++132CA;N # EGYPTIAN HIEROGLYPH R023
++132CB;N # EGYPTIAN HIEROGLYPH R024
++132CC;N # EGYPTIAN HIEROGLYPH R025
++132CD;N # EGYPTIAN HIEROGLYPH R026
++132CE;N # EGYPTIAN HIEROGLYPH R027
++132CF;N # EGYPTIAN HIEROGLYPH R028
++132D0;N # EGYPTIAN HIEROGLYPH R029
++132D1;N # EGYPTIAN HIEROGLYPH S001
++132D2;N # EGYPTIAN HIEROGLYPH S002
++132D3;N # EGYPTIAN HIEROGLYPH S002A
++132D4;N # EGYPTIAN HIEROGLYPH S003
++132D5;N # EGYPTIAN HIEROGLYPH S004
++132D6;N # EGYPTIAN HIEROGLYPH S005
++132D7;N # EGYPTIAN HIEROGLYPH S006
++132D8;N # EGYPTIAN HIEROGLYPH S006A
++132D9;N # EGYPTIAN HIEROGLYPH S007
++132DA;N # EGYPTIAN HIEROGLYPH S008
++132DB;N # EGYPTIAN HIEROGLYPH S009
++132DC;N # EGYPTIAN HIEROGLYPH S010
++132DD;N # EGYPTIAN HIEROGLYPH S011
++132DE;N # EGYPTIAN HIEROGLYPH S012
++132DF;N # EGYPTIAN HIEROGLYPH S013
++132E0;N # EGYPTIAN HIEROGLYPH S014
++132E1;N # EGYPTIAN HIEROGLYPH S014A
++132E2;N # EGYPTIAN HIEROGLYPH S014B
++132E3;N # EGYPTIAN HIEROGLYPH S015
++132E4;N # EGYPTIAN HIEROGLYPH S016
++132E5;N # EGYPTIAN HIEROGLYPH S017
++132E6;N # EGYPTIAN HIEROGLYPH S017A
++132E7;N # EGYPTIAN HIEROGLYPH S018
++132E8;N # EGYPTIAN HIEROGLYPH S019
++132E9;N # EGYPTIAN HIEROGLYPH S020
++132EA;N # EGYPTIAN HIEROGLYPH S021
++132EB;N # EGYPTIAN HIEROGLYPH S022
++132EC;N # EGYPTIAN HIEROGLYPH S023
++132ED;N # EGYPTIAN HIEROGLYPH S024
++132EE;N # EGYPTIAN HIEROGLYPH S025
++132EF;N # EGYPTIAN HIEROGLYPH S026
++132F0;N # EGYPTIAN HIEROGLYPH S026A
++132F1;N # EGYPTIAN HIEROGLYPH S026B
++132F2;N # EGYPTIAN HIEROGLYPH S027
++132F3;N # EGYPTIAN HIEROGLYPH S028
++132F4;N # EGYPTIAN HIEROGLYPH S029
++132F5;N # EGYPTIAN HIEROGLYPH S030
++132F6;N # EGYPTIAN HIEROGLYPH S031
++132F7;N # EGYPTIAN HIEROGLYPH S032
++132F8;N # EGYPTIAN HIEROGLYPH S033
++132F9;N # EGYPTIAN HIEROGLYPH S034
++132FA;N # EGYPTIAN HIEROGLYPH S035
++132FB;N # EGYPTIAN HIEROGLYPH S035A
++132FC;N # EGYPTIAN HIEROGLYPH S036
++132FD;N # EGYPTIAN HIEROGLYPH S037
++132FE;N # EGYPTIAN HIEROGLYPH S038
++132FF;N # EGYPTIAN HIEROGLYPH S039
++13300;N # EGYPTIAN HIEROGLYPH S040
++13301;N # EGYPTIAN HIEROGLYPH S041
++13302;N # EGYPTIAN HIEROGLYPH S042
++13303;N # EGYPTIAN HIEROGLYPH S043
++13304;N # EGYPTIAN HIEROGLYPH S044
++13305;N # EGYPTIAN HIEROGLYPH S045
++13306;N # EGYPTIAN HIEROGLYPH S046
++13307;N # EGYPTIAN HIEROGLYPH T001
++13308;N # EGYPTIAN HIEROGLYPH T002
++13309;N # EGYPTIAN HIEROGLYPH T003
++1330A;N # EGYPTIAN HIEROGLYPH T003A
++1330B;N # EGYPTIAN HIEROGLYPH T004
++1330C;N # EGYPTIAN HIEROGLYPH T005
++1330D;N # EGYPTIAN HIEROGLYPH T006
++1330E;N # EGYPTIAN HIEROGLYPH T007
++1330F;N # EGYPTIAN HIEROGLYPH T007A
++13310;N # EGYPTIAN HIEROGLYPH T008
++13311;N # EGYPTIAN HIEROGLYPH T008A
++13312;N # EGYPTIAN HIEROGLYPH T009
++13313;N # EGYPTIAN HIEROGLYPH T009A
++13314;N # EGYPTIAN HIEROGLYPH T010
++13315;N # EGYPTIAN HIEROGLYPH T011
++13316;N # EGYPTIAN HIEROGLYPH T011A
++13317;N # EGYPTIAN HIEROGLYPH T012
++13318;N # EGYPTIAN HIEROGLYPH T013
++13319;N # EGYPTIAN HIEROGLYPH T014
++1331A;N # EGYPTIAN HIEROGLYPH T015
++1331B;N # EGYPTIAN HIEROGLYPH T016
++1331C;N # EGYPTIAN HIEROGLYPH T016A
++1331D;N # EGYPTIAN HIEROGLYPH T017
++1331E;N # EGYPTIAN HIEROGLYPH T018
++1331F;N # EGYPTIAN HIEROGLYPH T019
++13320;N # EGYPTIAN HIEROGLYPH T020
++13321;N # EGYPTIAN HIEROGLYPH T021
++13322;N # EGYPTIAN HIEROGLYPH T022
++13323;N # EGYPTIAN HIEROGLYPH T023
++13324;N # EGYPTIAN HIEROGLYPH T024
++13325;N # EGYPTIAN HIEROGLYPH T025
++13326;N # EGYPTIAN HIEROGLYPH T026
++13327;N # EGYPTIAN HIEROGLYPH T027
++13328;N # EGYPTIAN HIEROGLYPH T028
++13329;N # EGYPTIAN HIEROGLYPH T029
++1332A;N # EGYPTIAN HIEROGLYPH T030
++1332B;N # EGYPTIAN HIEROGLYPH T031
++1332C;N # EGYPTIAN HIEROGLYPH T032
++1332D;N # EGYPTIAN HIEROGLYPH T032A
++1332E;N # EGYPTIAN HIEROGLYPH T033
++1332F;N # EGYPTIAN HIEROGLYPH T033A
++13330;N # EGYPTIAN HIEROGLYPH T034
++13331;N # EGYPTIAN HIEROGLYPH T035
++13332;N # EGYPTIAN HIEROGLYPH T036
++13333;N # EGYPTIAN HIEROGLYPH U001
++13334;N # EGYPTIAN HIEROGLYPH U002
++13335;N # EGYPTIAN HIEROGLYPH U003
++13336;N # EGYPTIAN HIEROGLYPH U004
++13337;N # EGYPTIAN HIEROGLYPH U005
++13338;N # EGYPTIAN HIEROGLYPH U006
++13339;N # EGYPTIAN HIEROGLYPH U006A
++1333A;N # EGYPTIAN HIEROGLYPH U006B
++1333B;N # EGYPTIAN HIEROGLYPH U007
++1333C;N # EGYPTIAN HIEROGLYPH U008
++1333D;N # EGYPTIAN HIEROGLYPH U009
++1333E;N # EGYPTIAN HIEROGLYPH U010
++1333F;N # EGYPTIAN HIEROGLYPH U011
++13340;N # EGYPTIAN HIEROGLYPH U012
++13341;N # EGYPTIAN HIEROGLYPH U013
++13342;N # EGYPTIAN HIEROGLYPH U014
++13343;N # EGYPTIAN HIEROGLYPH U015
++13344;N # EGYPTIAN HIEROGLYPH U016
++13345;N # EGYPTIAN HIEROGLYPH U017
++13346;N # EGYPTIAN HIEROGLYPH U018
++13347;N # EGYPTIAN HIEROGLYPH U019
++13348;N # EGYPTIAN HIEROGLYPH U020
++13349;N # EGYPTIAN HIEROGLYPH U021
++1334A;N # EGYPTIAN HIEROGLYPH U022
++1334B;N # EGYPTIAN HIEROGLYPH U023
++1334C;N # EGYPTIAN HIEROGLYPH U023A
++1334D;N # EGYPTIAN HIEROGLYPH U024
++1334E;N # EGYPTIAN HIEROGLYPH U025
++1334F;N # EGYPTIAN HIEROGLYPH U026
++13350;N # EGYPTIAN HIEROGLYPH U027
++13351;N # EGYPTIAN HIEROGLYPH U028
++13352;N # EGYPTIAN HIEROGLYPH U029
++13353;N # EGYPTIAN HIEROGLYPH U029A
++13354;N # EGYPTIAN HIEROGLYPH U030
++13355;N # EGYPTIAN HIEROGLYPH U031
++13356;N # EGYPTIAN HIEROGLYPH U032
++13357;N # EGYPTIAN HIEROGLYPH U032A
++13358;N # EGYPTIAN HIEROGLYPH U033
++13359;N # EGYPTIAN HIEROGLYPH U034
++1335A;N # EGYPTIAN HIEROGLYPH U035
++1335B;N # EGYPTIAN HIEROGLYPH U036
++1335C;N # EGYPTIAN HIEROGLYPH U037
++1335D;N # EGYPTIAN HIEROGLYPH U038
++1335E;N # EGYPTIAN HIEROGLYPH U039
++1335F;N # EGYPTIAN HIEROGLYPH U040
++13360;N # EGYPTIAN HIEROGLYPH U041
++13361;N # EGYPTIAN HIEROGLYPH U042
++13362;N # EGYPTIAN HIEROGLYPH V001
++13363;N # EGYPTIAN HIEROGLYPH V001A
++13364;N # EGYPTIAN HIEROGLYPH V001B
++13365;N # EGYPTIAN HIEROGLYPH V001C
++13366;N # EGYPTIAN HIEROGLYPH V001D
++13367;N # EGYPTIAN HIEROGLYPH V001E
++13368;N # EGYPTIAN HIEROGLYPH V001F
++13369;N # EGYPTIAN HIEROGLYPH V001G
++1336A;N # EGYPTIAN HIEROGLYPH V001H
++1336B;N # EGYPTIAN HIEROGLYPH V001I
++1336C;N # EGYPTIAN HIEROGLYPH V002
++1336D;N # EGYPTIAN HIEROGLYPH V002A
++1336E;N # EGYPTIAN HIEROGLYPH V003
++1336F;N # EGYPTIAN HIEROGLYPH V004
++13370;N # EGYPTIAN HIEROGLYPH V005
++13371;N # EGYPTIAN HIEROGLYPH V006
++13372;N # EGYPTIAN HIEROGLYPH V007
++13373;N # EGYPTIAN HIEROGLYPH V007A
++13374;N # EGYPTIAN HIEROGLYPH V007B
++13375;N # EGYPTIAN HIEROGLYPH V008
++13376;N # EGYPTIAN HIEROGLYPH V009
++13377;N # EGYPTIAN HIEROGLYPH V010
++13378;N # EGYPTIAN HIEROGLYPH V011
++13379;N # EGYPTIAN HIEROGLYPH V011A
++1337A;N # EGYPTIAN HIEROGLYPH V011B
++1337B;N # EGYPTIAN HIEROGLYPH V011C
++1337C;N # EGYPTIAN HIEROGLYPH V012
++1337D;N # EGYPTIAN HIEROGLYPH V012A
++1337E;N # EGYPTIAN HIEROGLYPH V012B
++1337F;N # EGYPTIAN HIEROGLYPH V013
++13380;N # EGYPTIAN HIEROGLYPH V014
++13381;N # EGYPTIAN HIEROGLYPH V015
++13382;N # EGYPTIAN HIEROGLYPH V016
++13383;N # EGYPTIAN HIEROGLYPH V017
++13384;N # EGYPTIAN HIEROGLYPH V018
++13385;N # EGYPTIAN HIEROGLYPH V019
++13386;N # EGYPTIAN HIEROGLYPH V020
++13387;N # EGYPTIAN HIEROGLYPH V020A
++13388;N # EGYPTIAN HIEROGLYPH V020B
++13389;N # EGYPTIAN HIEROGLYPH V020C
++1338A;N # EGYPTIAN HIEROGLYPH V020D
++1338B;N # EGYPTIAN HIEROGLYPH V020E
++1338C;N # EGYPTIAN HIEROGLYPH V020F
++1338D;N # EGYPTIAN HIEROGLYPH V020G
++1338E;N # EGYPTIAN HIEROGLYPH V020H
++1338F;N # EGYPTIAN HIEROGLYPH V020I
++13390;N # EGYPTIAN HIEROGLYPH V020J
++13391;N # EGYPTIAN HIEROGLYPH V020K
++13392;N # EGYPTIAN HIEROGLYPH V020L
++13393;N # EGYPTIAN HIEROGLYPH V021
++13394;N # EGYPTIAN HIEROGLYPH V022
++13395;N # EGYPTIAN HIEROGLYPH V023
++13396;N # EGYPTIAN HIEROGLYPH V023A
++13397;N # EGYPTIAN HIEROGLYPH V024
++13398;N # EGYPTIAN HIEROGLYPH V025
++13399;N # EGYPTIAN HIEROGLYPH V026
++1339A;N # EGYPTIAN HIEROGLYPH V027
++1339B;N # EGYPTIAN HIEROGLYPH V028
++1339C;N # EGYPTIAN HIEROGLYPH V028A
++1339D;N # EGYPTIAN HIEROGLYPH V029
++1339E;N # EGYPTIAN HIEROGLYPH V029A
++1339F;N # EGYPTIAN HIEROGLYPH V030
++133A0;N # EGYPTIAN HIEROGLYPH V030A
++133A1;N # EGYPTIAN HIEROGLYPH V031
++133A2;N # EGYPTIAN HIEROGLYPH V031A
++133A3;N # EGYPTIAN HIEROGLYPH V032
++133A4;N # EGYPTIAN HIEROGLYPH V033
++133A5;N # EGYPTIAN HIEROGLYPH V033A
++133A6;N # EGYPTIAN HIEROGLYPH V034
++133A7;N # EGYPTIAN HIEROGLYPH V035
++133A8;N # EGYPTIAN HIEROGLYPH V036
++133A9;N # EGYPTIAN HIEROGLYPH V037
++133AA;N # EGYPTIAN HIEROGLYPH V037A
++133AB;N # EGYPTIAN HIEROGLYPH V038
++133AC;N # EGYPTIAN HIEROGLYPH V039
++133AD;N # EGYPTIAN HIEROGLYPH V040
++133AE;N # EGYPTIAN HIEROGLYPH V040A
++133AF;N # EGYPTIAN HIEROGLYPH W001
++133B0;N # EGYPTIAN HIEROGLYPH W002
++133B1;N # EGYPTIAN HIEROGLYPH W003
++133B2;N # EGYPTIAN HIEROGLYPH W003A
++133B3;N # EGYPTIAN HIEROGLYPH W004
++133B4;N # EGYPTIAN HIEROGLYPH W005
++133B5;N # EGYPTIAN HIEROGLYPH W006
++133B6;N # EGYPTIAN HIEROGLYPH W007
++133B7;N # EGYPTIAN HIEROGLYPH W008
++133B8;N # EGYPTIAN HIEROGLYPH W009
++133B9;N # EGYPTIAN HIEROGLYPH W009A
++133BA;N # EGYPTIAN HIEROGLYPH W010
++133BB;N # EGYPTIAN HIEROGLYPH W010A
++133BC;N # EGYPTIAN HIEROGLYPH W011
++133BD;N # EGYPTIAN HIEROGLYPH W012
++133BE;N # EGYPTIAN HIEROGLYPH W013
++133BF;N # EGYPTIAN HIEROGLYPH W014
++133C0;N # EGYPTIAN HIEROGLYPH W014A
++133C1;N # EGYPTIAN HIEROGLYPH W015
++133C2;N # EGYPTIAN HIEROGLYPH W016
++133C3;N # EGYPTIAN HIEROGLYPH W017
++133C4;N # EGYPTIAN HIEROGLYPH W017A
++133C5;N # EGYPTIAN HIEROGLYPH W018
++133C6;N # EGYPTIAN HIEROGLYPH W018A
++133C7;N # EGYPTIAN HIEROGLYPH W019
++133C8;N # EGYPTIAN HIEROGLYPH W020
++133C9;N # EGYPTIAN HIEROGLYPH W021
++133CA;N # EGYPTIAN HIEROGLYPH W022
++133CB;N # EGYPTIAN HIEROGLYPH W023
++133CC;N # EGYPTIAN HIEROGLYPH W024
++133CD;N # EGYPTIAN HIEROGLYPH W024A
++133CE;N # EGYPTIAN HIEROGLYPH W025
++133CF;N # EGYPTIAN HIEROGLYPH X001
++133D0;N # EGYPTIAN HIEROGLYPH X002
++133D1;N # EGYPTIAN HIEROGLYPH X003
++133D2;N # EGYPTIAN HIEROGLYPH X004
++133D3;N # EGYPTIAN HIEROGLYPH X004A
++133D4;N # EGYPTIAN HIEROGLYPH X004B
++133D5;N # EGYPTIAN HIEROGLYPH X005
++133D6;N # EGYPTIAN HIEROGLYPH X006
++133D7;N # EGYPTIAN HIEROGLYPH X006A
++133D8;N # EGYPTIAN HIEROGLYPH X007
++133D9;N # EGYPTIAN HIEROGLYPH X008
++133DA;N # EGYPTIAN HIEROGLYPH X008A
++133DB;N # EGYPTIAN HIEROGLYPH Y001
++133DC;N # EGYPTIAN HIEROGLYPH Y001A
++133DD;N # EGYPTIAN HIEROGLYPH Y002
++133DE;N # EGYPTIAN HIEROGLYPH Y003
++133DF;N # EGYPTIAN HIEROGLYPH Y004
++133E0;N # EGYPTIAN HIEROGLYPH Y005
++133E1;N # EGYPTIAN HIEROGLYPH Y006
++133E2;N # EGYPTIAN HIEROGLYPH Y007
++133E3;N # EGYPTIAN HIEROGLYPH Y008
++133E4;N # EGYPTIAN HIEROGLYPH Z001
++133E5;N # EGYPTIAN HIEROGLYPH Z002
++133E6;N # EGYPTIAN HIEROGLYPH Z002A
++133E7;N # EGYPTIAN HIEROGLYPH Z002B
++133E8;N # EGYPTIAN HIEROGLYPH Z002C
++133E9;N # EGYPTIAN HIEROGLYPH Z002D
++133EA;N # EGYPTIAN HIEROGLYPH Z003
++133EB;N # EGYPTIAN HIEROGLYPH Z003A
++133EC;N # EGYPTIAN HIEROGLYPH Z003B
++133ED;N # EGYPTIAN HIEROGLYPH Z004
++133EE;N # EGYPTIAN HIEROGLYPH Z004A
++133EF;N # EGYPTIAN HIEROGLYPH Z005
++133F0;N # EGYPTIAN HIEROGLYPH Z005A
++133F1;N # EGYPTIAN HIEROGLYPH Z006
++133F2;N # EGYPTIAN HIEROGLYPH Z007
++133F3;N # EGYPTIAN HIEROGLYPH Z008
++133F4;N # EGYPTIAN HIEROGLYPH Z009
++133F5;N # EGYPTIAN HIEROGLYPH Z010
++133F6;N # EGYPTIAN HIEROGLYPH Z011
++133F7;N # EGYPTIAN HIEROGLYPH Z012
++133F8;N # EGYPTIAN HIEROGLYPH Z013
++133F9;N # EGYPTIAN HIEROGLYPH Z014
++133FA;N # EGYPTIAN HIEROGLYPH Z015
++133FB;N # EGYPTIAN HIEROGLYPH Z015A
++133FC;N # EGYPTIAN HIEROGLYPH Z015B
++133FD;N # EGYPTIAN HIEROGLYPH Z015C
++133FE;N # EGYPTIAN HIEROGLYPH Z015D
++133FF;N # EGYPTIAN HIEROGLYPH Z015E
++13400;N # EGYPTIAN HIEROGLYPH Z015F
++13401;N # EGYPTIAN HIEROGLYPH Z015G
++13402;N # EGYPTIAN HIEROGLYPH Z015H
++13403;N # EGYPTIAN HIEROGLYPH Z015I
++13404;N # EGYPTIAN HIEROGLYPH Z016
++13405;N # EGYPTIAN HIEROGLYPH Z016A
++13406;N # EGYPTIAN HIEROGLYPH Z016B
++13407;N # EGYPTIAN HIEROGLYPH Z016C
++13408;N # EGYPTIAN HIEROGLYPH Z016D
++13409;N # EGYPTIAN HIEROGLYPH Z016E
++1340A;N # EGYPTIAN HIEROGLYPH Z016F
++1340B;N # EGYPTIAN HIEROGLYPH Z016G
++1340C;N # EGYPTIAN HIEROGLYPH Z016H
++1340D;N # EGYPTIAN HIEROGLYPH AA001
++1340E;N # EGYPTIAN HIEROGLYPH AA002
++1340F;N # EGYPTIAN HIEROGLYPH AA003
++13410;N # EGYPTIAN HIEROGLYPH AA004
++13411;N # EGYPTIAN HIEROGLYPH AA005
++13412;N # EGYPTIAN HIEROGLYPH AA006
++13413;N # EGYPTIAN HIEROGLYPH AA007
++13414;N # EGYPTIAN HIEROGLYPH AA007A
++13415;N # EGYPTIAN HIEROGLYPH AA007B
++13416;N # EGYPTIAN HIEROGLYPH AA008
++13417;N # EGYPTIAN HIEROGLYPH AA009
++13418;N # EGYPTIAN HIEROGLYPH AA010
++13419;N # EGYPTIAN HIEROGLYPH AA011
++1341A;N # EGYPTIAN HIEROGLYPH AA012
++1341B;N # EGYPTIAN HIEROGLYPH AA013
++1341C;N # EGYPTIAN HIEROGLYPH AA014
++1341D;N # EGYPTIAN HIEROGLYPH AA015
++1341E;N # EGYPTIAN HIEROGLYPH AA016
++1341F;N # EGYPTIAN HIEROGLYPH AA017
++13420;N # EGYPTIAN HIEROGLYPH AA018
++13421;N # EGYPTIAN HIEROGLYPH AA019
++13422;N # EGYPTIAN HIEROGLYPH AA020
++13423;N # EGYPTIAN HIEROGLYPH AA021
++13424;N # EGYPTIAN HIEROGLYPH AA022
++13425;N # EGYPTIAN HIEROGLYPH AA023
++13426;N # EGYPTIAN HIEROGLYPH AA024
++13427;N # EGYPTIAN HIEROGLYPH AA025
++13428;N # EGYPTIAN HIEROGLYPH AA026
++13429;N # EGYPTIAN HIEROGLYPH AA027
++1342A;N # EGYPTIAN HIEROGLYPH AA028
++1342B;N # EGYPTIAN HIEROGLYPH AA029
++1342C;N # EGYPTIAN HIEROGLYPH AA030
++1342D;N # EGYPTIAN HIEROGLYPH AA031
++1342E;N # EGYPTIAN HIEROGLYPH AA032
++1D000;N # BYZANTINE MUSICAL SYMBOL PSILI
++1D001;N # BYZANTINE MUSICAL SYMBOL DASEIA
++1D002;N # BYZANTINE MUSICAL SYMBOL PERISPOMENI
++1D003;N # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
++1D004;N # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
++1D005;N # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
++1D006;N # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
++1D007;N # BYZANTINE MUSICAL SYMBOL KATHISTI
++1D008;N # BYZANTINE MUSICAL SYMBOL SYRMATIKI
++1D009;N # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
++1D00A;N # BYZANTINE MUSICAL SYMBOL YPOKRISIS
++1D00B;N # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
++1D00C;N # BYZANTINE MUSICAL SYMBOL KREMASTI
++1D00D;N # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
++1D00E;N # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
++1D00F;N # BYZANTINE MUSICAL SYMBOL TELEIA
++1D010;N # BYZANTINE MUSICAL SYMBOL KENTIMATA
++1D011;N # BYZANTINE MUSICAL SYMBOL APOSTROFOS
++1D012;N # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
++1D013;N # BYZANTINE MUSICAL SYMBOL SYNEVMA
++1D014;N # BYZANTINE MUSICAL SYMBOL THITA
++1D015;N # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
++1D016;N # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
++1D017;N # BYZANTINE MUSICAL SYMBOL PSILON
++1D018;N # BYZANTINE MUSICAL SYMBOL CHAMILON
++1D019;N # BYZANTINE MUSICAL SYMBOL VATHY
++1D01A;N # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
++1D01B;N # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
++1D01C;N # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
++1D01D;N # BYZANTINE MUSICAL SYMBOL SAXIMATA
++1D01E;N # BYZANTINE MUSICAL SYMBOL PARICHON
++1D01F;N # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
++1D020;N # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
++1D021;N # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
++1D022;N # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
++1D023;N # BYZANTINE MUSICAL SYMBOL APOTHEMA
++1D024;N # BYZANTINE MUSICAL SYMBOL KLASMA
++1D025;N # BYZANTINE MUSICAL SYMBOL REVMA
++1D026;N # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
++1D027;N # BYZANTINE MUSICAL SYMBOL TINAGMA
++1D028;N # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
++1D029;N # BYZANTINE MUSICAL SYMBOL SEISMA
++1D02A;N # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
++1D02B;N # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
++1D02C;N # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
++1D02D;N # BYZANTINE MUSICAL SYMBOL THEMA
++1D02E;N # BYZANTINE MUSICAL SYMBOL LEMOI
++1D02F;N # BYZANTINE MUSICAL SYMBOL DYO
++1D030;N # BYZANTINE MUSICAL SYMBOL TRIA
++1D031;N # BYZANTINE MUSICAL SYMBOL TESSERA
++1D032;N # BYZANTINE MUSICAL SYMBOL KRATIMATA
++1D033;N # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
++1D034;N # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
++1D035;N # BYZANTINE MUSICAL SYMBOL IMIFTHORA
++1D036;N # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
++1D037;N # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
++1D038;N # BYZANTINE MUSICAL SYMBOL PELASTON
++1D039;N # BYZANTINE MUSICAL SYMBOL PSIFISTON
++1D03A;N # BYZANTINE MUSICAL SYMBOL KONTEVMA
++1D03B;N # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
++1D03C;N # BYZANTINE MUSICAL SYMBOL RAPISMA
++1D03D;N # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
++1D03E;N # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
++1D03F;N # BYZANTINE MUSICAL SYMBOL ICHADIN
++1D040;N # BYZANTINE MUSICAL SYMBOL NANA
++1D041;N # BYZANTINE MUSICAL SYMBOL PETASMA
++1D042;N # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
++1D043;N # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
++1D044;N # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
++1D045;N # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
++1D046;N # BYZANTINE MUSICAL SYMBOL ISON NEO
++1D047;N # BYZANTINE MUSICAL SYMBOL OLIGON NEO
++1D048;N # BYZANTINE MUSICAL SYMBOL OXEIA NEO
++1D049;N # BYZANTINE MUSICAL SYMBOL PETASTI
++1D04A;N # BYZANTINE MUSICAL SYMBOL KOUFISMA
++1D04B;N # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
++1D04C;N # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
++1D04D;N # BYZANTINE MUSICAL SYMBOL PELASTON NEO
++1D04E;N # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
++1D04F;N # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
++1D050;N # BYZANTINE MUSICAL SYMBOL YPSILI
++1D051;N # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
++1D052;N # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
++1D053;N # BYZANTINE MUSICAL SYMBOL YPORROI
++1D054;N # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
++1D055;N # BYZANTINE MUSICAL SYMBOL ELAFRON
++1D056;N # BYZANTINE MUSICAL SYMBOL CHAMILI
++1D057;N # BYZANTINE MUSICAL SYMBOL MIKRON ISON
++1D058;N # BYZANTINE MUSICAL SYMBOL VAREIA NEO
++1D059;N # BYZANTINE MUSICAL SYMBOL PIASMA NEO
++1D05A;N # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
++1D05B;N # BYZANTINE MUSICAL SYMBOL OMALON
++1D05C;N # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
++1D05D;N # BYZANTINE MUSICAL SYMBOL LYGISMA
++1D05E;N # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
++1D05F;N # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
++1D060;N # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
++1D061;N # BYZANTINE MUSICAL SYMBOL KYLISMA
++1D062;N # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
++1D063;N # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
++1D064;N # BYZANTINE MUSICAL SYMBOL EKSTREPTON
++1D065;N # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
++1D066;N # BYZANTINE MUSICAL SYMBOL SYRMA
++1D067;N # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
++1D068;N # BYZANTINE MUSICAL SYMBOL EPEGERMA
++1D069;N # BYZANTINE MUSICAL SYMBOL SEISMA NEO
++1D06A;N # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
++1D06B;N # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
++1D06C;N # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
++1D06D;N # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
++1D06E;N # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
++1D06F;N # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
++1D070;N # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
++1D071;N # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
++1D072;N # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
++1D073;N # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
++1D074;N # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
++1D075;N # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
++1D076;N # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
++1D077;N # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
++1D078;N # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
++1D079;N # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
++1D07A;N # BYZANTINE MUSICAL SYMBOL KATAVASMA
++1D07B;N # BYZANTINE MUSICAL SYMBOL ENDOFONON
++1D07C;N # BYZANTINE MUSICAL SYMBOL YFEN KATO
++1D07D;N # BYZANTINE MUSICAL SYMBOL YFEN ANO
++1D07E;N # BYZANTINE MUSICAL SYMBOL STAVROS
++1D07F;N # BYZANTINE MUSICAL SYMBOL KLASMA ANO
++1D080;N # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
++1D081;N # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
++1D082;N # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
++1D083;N # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
++1D084;N # BYZANTINE MUSICAL SYMBOL APODERMA NEO
++1D085;N # BYZANTINE MUSICAL SYMBOL APLI
++1D086;N # BYZANTINE MUSICAL SYMBOL DIPLI
++1D087;N # BYZANTINE MUSICAL SYMBOL TRIPLI
++1D088;N # BYZANTINE MUSICAL SYMBOL TETRAPLI
++1D089;N # BYZANTINE MUSICAL SYMBOL KORONIS
++1D08A;N # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
++1D08B;N # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
++1D08C;N # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
++1D08D;N # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
++1D08E;N # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
++1D08F;N # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
++1D090;N # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
++1D091;N # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
++1D092;N # BYZANTINE MUSICAL SYMBOL DIGORGON
++1D093;N # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
++1D094;N # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
++1D095;N # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
++1D096;N # BYZANTINE MUSICAL SYMBOL TRIGORGON
++1D097;N # BYZANTINE MUSICAL SYMBOL ARGON
++1D098;N # BYZANTINE MUSICAL SYMBOL IMIDIARGON
++1D099;N # BYZANTINE MUSICAL SYMBOL DIARGON
++1D09A;N # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
++1D09B;N # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
++1D09C;N # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
++1D09D;N # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
++1D09E;N # BYZANTINE MUSICAL SYMBOL AGOGI MESI
++1D09F;N # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
++1D0A0;N # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
++1D0A1;N # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
++1D0A2;N # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
++1D0A3;N # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
++1D0A4;N # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
++1D0A5;N # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
++1D0A6;N # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
++1D0A7;N # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
++1D0A8;N # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
++1D0A9;N # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
++1D0AA;N # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
++1D0AB;N # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
++1D0AC;N # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
++1D0AD;N # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
++1D0AE;N # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
++1D0AF;N # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
++1D0B0;N # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
++1D0B1;N # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
++1D0B2;N # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
++1D0B3;N # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
++1D0B4;N # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
++1D0B5;N # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
++1D0B6;N # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
++1D0B7;N # BYZANTINE MUSICAL SYMBOL IMIFONON
++1D0B8;N # BYZANTINE MUSICAL SYMBOL IMIFTHORON
++1D0B9;N # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
++1D0BA;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
++1D0BB;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
++1D0BC;N # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
++1D0BD;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
++1D0BE;N # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
++1D0BF;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
++1D0C0;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
++1D0C1;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
++1D0C2;N # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
++1D0C3;N # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
++1D0C4;N # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
++1D0C5;N # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
++1D0C6;N # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
++1D0C7;N # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
++1D0C8;N # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
++1D0C9;N # BYZANTINE MUSICAL SYMBOL CHROA KLITON
++1D0CA;N # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
++1D0CB;N # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
++1D0CC;N # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
++1D0CD;N # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
++1D0CE;N # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
++1D0CF;N # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
++1D0D0;N # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
++1D0D1;N # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
++1D0D2;N # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
++1D0D3;N # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
++1D0D4;N # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
++1D0D5;N # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
++1D0D6;N # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
++1D0D7;N # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
++1D0D8;N # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
++1D0D9;N # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
++1D0DA;N # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
++1D0DB;N # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
++1D0DC;N # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
++1D0DD;N # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
++1D0DE;N # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
++1D0DF;N # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
++1D0E0;N # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
++1D0E1;N # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
++1D0E2;N # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
++1D0E3;N # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
++1D0E4;N # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
++1D0E5;N # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
++1D0E6;N # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
++1D0E7;N # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
++1D0E8;N # BYZANTINE MUSICAL SYMBOL STIGMA
++1D0E9;N # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
++1D0EA;N # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
++1D0EB;N # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
++1D0EC;N # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
++1D0ED;N # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
++1D0EE;N # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
++1D0EF;N # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
++1D0F0;N # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
++1D0F1;N # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
++1D0F2;N # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
++1D0F3;N # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
++1D0F4;N # BYZANTINE MUSICAL SYMBOL KLASMA KATO
++1D0F5;N # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
++1D100;N # MUSICAL SYMBOL SINGLE BARLINE
++1D101;N # MUSICAL SYMBOL DOUBLE BARLINE
++1D102;N # MUSICAL SYMBOL FINAL BARLINE
++1D103;N # MUSICAL SYMBOL REVERSE FINAL BARLINE
++1D104;N # MUSICAL SYMBOL DASHED BARLINE
++1D105;N # MUSICAL SYMBOL SHORT BARLINE
++1D106;N # MUSICAL SYMBOL LEFT REPEAT SIGN
++1D107;N # MUSICAL SYMBOL RIGHT REPEAT SIGN
++1D108;N # MUSICAL SYMBOL REPEAT DOTS
++1D109;N # MUSICAL SYMBOL DAL SEGNO
++1D10A;N # MUSICAL SYMBOL DA CAPO
++1D10B;N # MUSICAL SYMBOL SEGNO
++1D10C;N # MUSICAL SYMBOL CODA
++1D10D;N # MUSICAL SYMBOL REPEATED FIGURE-1
++1D10E;N # MUSICAL SYMBOL REPEATED FIGURE-2
++1D10F;N # MUSICAL SYMBOL REPEATED FIGURE-3
++1D110;N # MUSICAL SYMBOL FERMATA
++1D111;N # MUSICAL SYMBOL FERMATA BELOW
++1D112;N # MUSICAL SYMBOL BREATH MARK
++1D113;N # MUSICAL SYMBOL CAESURA
++1D114;N # MUSICAL SYMBOL BRACE
++1D115;N # MUSICAL SYMBOL BRACKET
++1D116;N # MUSICAL SYMBOL ONE-LINE STAFF
++1D117;N # MUSICAL SYMBOL TWO-LINE STAFF
++1D118;N # MUSICAL SYMBOL THREE-LINE STAFF
++1D119;N # MUSICAL SYMBOL FOUR-LINE STAFF
++1D11A;N # MUSICAL SYMBOL FIVE-LINE STAFF
++1D11B;N # MUSICAL SYMBOL SIX-LINE STAFF
++1D11C;N # MUSICAL SYMBOL SIX-STRING FRETBOARD
++1D11D;N # MUSICAL SYMBOL FOUR-STRING FRETBOARD
++1D11E;N # MUSICAL SYMBOL G CLEF
++1D11F;N # MUSICAL SYMBOL G CLEF OTTAVA ALTA
++1D120;N # MUSICAL SYMBOL G CLEF OTTAVA BASSA
++1D121;N # MUSICAL SYMBOL C CLEF
++1D122;N # MUSICAL SYMBOL F CLEF
++1D123;N # MUSICAL SYMBOL F CLEF OTTAVA ALTA
++1D124;N # MUSICAL SYMBOL F CLEF OTTAVA BASSA
++1D125;N # MUSICAL SYMBOL DRUM CLEF-1
++1D126;N # MUSICAL SYMBOL DRUM CLEF-2
++1D129;N # MUSICAL SYMBOL MULTIPLE MEASURE REST
++1D12A;N # MUSICAL SYMBOL DOUBLE SHARP
++1D12B;N # MUSICAL SYMBOL DOUBLE FLAT
++1D12C;N # MUSICAL SYMBOL FLAT UP
++1D12D;N # MUSICAL SYMBOL FLAT DOWN
++1D12E;N # MUSICAL SYMBOL NATURAL UP
++1D12F;N # MUSICAL SYMBOL NATURAL DOWN
++1D130;N # MUSICAL SYMBOL SHARP UP
++1D131;N # MUSICAL SYMBOL SHARP DOWN
++1D132;N # MUSICAL SYMBOL QUARTER TONE SHARP
++1D133;N # MUSICAL SYMBOL QUARTER TONE FLAT
++1D134;N # MUSICAL SYMBOL COMMON TIME
++1D135;N # MUSICAL SYMBOL CUT TIME
++1D136;N # MUSICAL SYMBOL OTTAVA ALTA
++1D137;N # MUSICAL SYMBOL OTTAVA BASSA
++1D138;N # MUSICAL SYMBOL QUINDICESIMA ALTA
++1D139;N # MUSICAL SYMBOL QUINDICESIMA BASSA
++1D13A;N # MUSICAL SYMBOL MULTI REST
++1D13B;N # MUSICAL SYMBOL WHOLE REST
++1D13C;N # MUSICAL SYMBOL HALF REST
++1D13D;N # MUSICAL SYMBOL QUARTER REST
++1D13E;N # MUSICAL SYMBOL EIGHTH REST
++1D13F;N # MUSICAL SYMBOL SIXTEENTH REST
++1D140;N # MUSICAL SYMBOL THIRTY-SECOND REST
++1D141;N # MUSICAL SYMBOL SIXTY-FOURTH REST
++1D142;N # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
++1D143;N # MUSICAL SYMBOL X NOTEHEAD
++1D144;N # MUSICAL SYMBOL PLUS NOTEHEAD
++1D145;N # MUSICAL SYMBOL CIRCLE X NOTEHEAD
++1D146;N # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
++1D147;N # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
++1D148;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
++1D149;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
++1D14A;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
++1D14B;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
++1D14C;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
++1D14D;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
++1D14E;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
++1D14F;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
++1D150;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
++1D151;N # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
++1D152;N # MUSICAL SYMBOL MOON NOTEHEAD WHITE
++1D153;N # MUSICAL SYMBOL MOON NOTEHEAD BLACK
++1D154;N # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
++1D155;N # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
++1D156;N # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
++1D157;N # MUSICAL SYMBOL VOID NOTEHEAD
++1D158;N # MUSICAL SYMBOL NOTEHEAD BLACK
++1D159;N # MUSICAL SYMBOL NULL NOTEHEAD
++1D15A;N # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
++1D15B;N # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
++1D15C;N # MUSICAL SYMBOL BREVE
++1D15D;N # MUSICAL SYMBOL WHOLE NOTE
++1D15E;N # MUSICAL SYMBOL HALF NOTE
++1D15F;N # MUSICAL SYMBOL QUARTER NOTE
++1D160;N # MUSICAL SYMBOL EIGHTH NOTE
++1D161;N # MUSICAL SYMBOL SIXTEENTH NOTE
++1D162;N # MUSICAL SYMBOL THIRTY-SECOND NOTE
++1D163;N # MUSICAL SYMBOL SIXTY-FOURTH NOTE
++1D164;N # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
++1D165;N # MUSICAL SYMBOL COMBINING STEM
++1D166;N # MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
++1D167;N # MUSICAL SYMBOL COMBINING TREMOLO-1
++1D168;N # MUSICAL SYMBOL COMBINING TREMOLO-2
++1D169;N # MUSICAL SYMBOL COMBINING TREMOLO-3
++1D16A;N # MUSICAL SYMBOL FINGERED TREMOLO-1
++1D16B;N # MUSICAL SYMBOL FINGERED TREMOLO-2
++1D16C;N # MUSICAL SYMBOL FINGERED TREMOLO-3
++1D16D;N # MUSICAL SYMBOL COMBINING AUGMENTATION DOT
++1D16E;N # MUSICAL SYMBOL COMBINING FLAG-1
++1D16F;N # MUSICAL SYMBOL COMBINING FLAG-2
++1D170;N # MUSICAL SYMBOL COMBINING FLAG-3
++1D171;N # MUSICAL SYMBOL COMBINING FLAG-4
++1D172;N # MUSICAL SYMBOL COMBINING FLAG-5
++1D173;N # MUSICAL SYMBOL BEGIN BEAM
++1D174;N # MUSICAL SYMBOL END BEAM
++1D175;N # MUSICAL SYMBOL BEGIN TIE
++1D176;N # MUSICAL SYMBOL END TIE
++1D177;N # MUSICAL SYMBOL BEGIN SLUR
++1D178;N # MUSICAL SYMBOL END SLUR
++1D179;N # MUSICAL SYMBOL BEGIN PHRASE
++1D17A;N # MUSICAL SYMBOL END PHRASE
++1D17B;N # MUSICAL SYMBOL COMBINING ACCENT
++1D17C;N # MUSICAL SYMBOL COMBINING STACCATO
++1D17D;N # MUSICAL SYMBOL COMBINING TENUTO
++1D17E;N # MUSICAL SYMBOL COMBINING STACCATISSIMO
++1D17F;N # MUSICAL SYMBOL COMBINING MARCATO
++1D180;N # MUSICAL SYMBOL COMBINING MARCATO-STACCATO
++1D181;N # MUSICAL SYMBOL COMBINING ACCENT-STACCATO
++1D182;N # MUSICAL SYMBOL COMBINING LOURE
++1D183;N # MUSICAL SYMBOL ARPEGGIATO UP
++1D184;N # MUSICAL SYMBOL ARPEGGIATO DOWN
++1D185;N # MUSICAL SYMBOL COMBINING DOIT
++1D186;N # MUSICAL SYMBOL COMBINING RIP
++1D187;N # MUSICAL SYMBOL COMBINING FLIP
++1D188;N # MUSICAL SYMBOL COMBINING SMEAR
++1D189;N # MUSICAL SYMBOL COMBINING BEND
++1D18A;N # MUSICAL SYMBOL COMBINING DOUBLE TONGUE
++1D18B;N # MUSICAL SYMBOL COMBINING TRIPLE TONGUE
++1D18C;N # MUSICAL SYMBOL RINFORZANDO
++1D18D;N # MUSICAL SYMBOL SUBITO
++1D18E;N # MUSICAL SYMBOL Z
++1D18F;N # MUSICAL SYMBOL PIANO
++1D190;N # MUSICAL SYMBOL MEZZO
++1D191;N # MUSICAL SYMBOL FORTE
++1D192;N # MUSICAL SYMBOL CRESCENDO
++1D193;N # MUSICAL SYMBOL DECRESCENDO
++1D194;N # MUSICAL SYMBOL GRACE NOTE SLASH
++1D195;N # MUSICAL SYMBOL GRACE NOTE NO SLASH
++1D196;N # MUSICAL SYMBOL TR
++1D197;N # MUSICAL SYMBOL TURN
++1D198;N # MUSICAL SYMBOL INVERTED TURN
++1D199;N # MUSICAL SYMBOL TURN SLASH
++1D19A;N # MUSICAL SYMBOL TURN UP
++1D19B;N # MUSICAL SYMBOL ORNAMENT STROKE-1
++1D19C;N # MUSICAL SYMBOL ORNAMENT STROKE-2
++1D19D;N # MUSICAL SYMBOL ORNAMENT STROKE-3
++1D19E;N # MUSICAL SYMBOL ORNAMENT STROKE-4
++1D19F;N # MUSICAL SYMBOL ORNAMENT STROKE-5
++1D1A0;N # MUSICAL SYMBOL ORNAMENT STROKE-6
++1D1A1;N # MUSICAL SYMBOL ORNAMENT STROKE-7
++1D1A2;N # MUSICAL SYMBOL ORNAMENT STROKE-8
++1D1A3;N # MUSICAL SYMBOL ORNAMENT STROKE-9
++1D1A4;N # MUSICAL SYMBOL ORNAMENT STROKE-10
++1D1A5;N # MUSICAL SYMBOL ORNAMENT STROKE-11
++1D1A6;N # MUSICAL SYMBOL HAUPTSTIMME
++1D1A7;N # MUSICAL SYMBOL NEBENSTIMME
++1D1A8;N # MUSICAL SYMBOL END OF STIMME
++1D1A9;N # MUSICAL SYMBOL DEGREE SLASH
++1D1AA;N # MUSICAL SYMBOL COMBINING DOWN BOW
++1D1AB;N # MUSICAL SYMBOL COMBINING UP BOW
++1D1AC;N # MUSICAL SYMBOL COMBINING HARMONIC
++1D1AD;N # MUSICAL SYMBOL COMBINING SNAP PIZZICATO
++1D1AE;N # MUSICAL SYMBOL PEDAL MARK
++1D1AF;N # MUSICAL SYMBOL PEDAL UP MARK
++1D1B0;N # MUSICAL SYMBOL HALF PEDAL MARK
++1D1B1;N # MUSICAL SYMBOL GLISSANDO UP
++1D1B2;N # MUSICAL SYMBOL GLISSANDO DOWN
++1D1B3;N # MUSICAL SYMBOL WITH FINGERNAILS
++1D1B4;N # MUSICAL SYMBOL DAMP
++1D1B5;N # MUSICAL SYMBOL DAMP ALL
++1D1B6;N # MUSICAL SYMBOL MAXIMA
++1D1B7;N # MUSICAL SYMBOL LONGA
++1D1B8;N # MUSICAL SYMBOL BREVIS
++1D1B9;N # MUSICAL SYMBOL SEMIBREVIS WHITE
++1D1BA;N # MUSICAL SYMBOL SEMIBREVIS BLACK
++1D1BB;N # MUSICAL SYMBOL MINIMA
++1D1BC;N # MUSICAL SYMBOL MINIMA BLACK
++1D1BD;N # MUSICAL SYMBOL SEMIMINIMA WHITE
++1D1BE;N # MUSICAL SYMBOL SEMIMINIMA BLACK
++1D1BF;N # MUSICAL SYMBOL FUSA WHITE
++1D1C0;N # MUSICAL SYMBOL FUSA BLACK
++1D1C1;N # MUSICAL SYMBOL LONGA PERFECTA REST
++1D1C2;N # MUSICAL SYMBOL LONGA IMPERFECTA REST
++1D1C3;N # MUSICAL SYMBOL BREVIS REST
++1D1C4;N # MUSICAL SYMBOL SEMIBREVIS REST
++1D1C5;N # MUSICAL SYMBOL MINIMA REST
++1D1C6;N # MUSICAL SYMBOL SEMIMINIMA REST
++1D1C7;N # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
++1D1C8;N # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
++1D1C9;N # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
++1D1CA;N # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
++1D1CB;N # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
++1D1CC;N # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
++1D1CD;N # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
++1D1CE;N # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
++1D1CF;N # MUSICAL SYMBOL CROIX
++1D1D0;N # MUSICAL SYMBOL GREGORIAN C CLEF
++1D1D1;N # MUSICAL SYMBOL GREGORIAN F CLEF
++1D1D2;N # MUSICAL SYMBOL SQUARE B
++1D1D3;N # MUSICAL SYMBOL VIRGA
++1D1D4;N # MUSICAL SYMBOL PODATUS
++1D1D5;N # MUSICAL SYMBOL CLIVIS
++1D1D6;N # MUSICAL SYMBOL SCANDICUS
++1D1D7;N # MUSICAL SYMBOL CLIMACUS
++1D1D8;N # MUSICAL SYMBOL TORCULUS
++1D1D9;N # MUSICAL SYMBOL PORRECTUS
++1D1DA;N # MUSICAL SYMBOL PORRECTUS FLEXUS
++1D1DB;N # MUSICAL SYMBOL SCANDICUS FLEXUS
++1D1DC;N # MUSICAL SYMBOL TORCULUS RESUPINUS
++1D1DD;N # MUSICAL SYMBOL PES SUBPUNCTIS
++1D200;N # GREEK VOCAL NOTATION SYMBOL-1
++1D201;N # GREEK VOCAL NOTATION SYMBOL-2
++1D202;N # GREEK VOCAL NOTATION SYMBOL-3
++1D203;N # GREEK VOCAL NOTATION SYMBOL-4
++1D204;N # GREEK VOCAL NOTATION SYMBOL-5
++1D205;N # GREEK VOCAL NOTATION SYMBOL-6
++1D206;N # GREEK VOCAL NOTATION SYMBOL-7
++1D207;N # GREEK VOCAL NOTATION SYMBOL-8
++1D208;N # GREEK VOCAL NOTATION SYMBOL-9
++1D209;N # GREEK VOCAL NOTATION SYMBOL-10
++1D20A;N # GREEK VOCAL NOTATION SYMBOL-11
++1D20B;N # GREEK VOCAL NOTATION SYMBOL-12
++1D20C;N # GREEK VOCAL NOTATION SYMBOL-13
++1D20D;N # GREEK VOCAL NOTATION SYMBOL-14
++1D20E;N # GREEK VOCAL NOTATION SYMBOL-15
++1D20F;N # GREEK VOCAL NOTATION SYMBOL-16
++1D210;N # GREEK VOCAL NOTATION SYMBOL-17
++1D211;N # GREEK VOCAL NOTATION SYMBOL-18
++1D212;N # GREEK VOCAL NOTATION SYMBOL-19
++1D213;N # GREEK VOCAL NOTATION SYMBOL-20
++1D214;N # GREEK VOCAL NOTATION SYMBOL-21
++1D215;N # GREEK VOCAL NOTATION SYMBOL-22
++1D216;N # GREEK VOCAL NOTATION SYMBOL-23
++1D217;N # GREEK VOCAL NOTATION SYMBOL-24
++1D218;N # GREEK VOCAL NOTATION SYMBOL-50
++1D219;N # GREEK VOCAL NOTATION SYMBOL-51
++1D21A;N # GREEK VOCAL NOTATION SYMBOL-52
++1D21B;N # GREEK VOCAL NOTATION SYMBOL-53
++1D21C;N # GREEK VOCAL NOTATION SYMBOL-54
++1D21D;N # GREEK INSTRUMENTAL NOTATION SYMBOL-1
++1D21E;N # GREEK INSTRUMENTAL NOTATION SYMBOL-2
++1D21F;N # GREEK INSTRUMENTAL NOTATION SYMBOL-4
++1D220;N # GREEK INSTRUMENTAL NOTATION SYMBOL-5
++1D221;N # GREEK INSTRUMENTAL NOTATION SYMBOL-7
++1D222;N # GREEK INSTRUMENTAL NOTATION SYMBOL-8
++1D223;N # GREEK INSTRUMENTAL NOTATION SYMBOL-11
++1D224;N # GREEK INSTRUMENTAL NOTATION SYMBOL-12
++1D225;N # GREEK INSTRUMENTAL NOTATION SYMBOL-13
++1D226;N # GREEK INSTRUMENTAL NOTATION SYMBOL-14
++1D227;N # GREEK INSTRUMENTAL NOTATION SYMBOL-17
++1D228;N # GREEK INSTRUMENTAL NOTATION SYMBOL-18
++1D229;N # GREEK INSTRUMENTAL NOTATION SYMBOL-19
++1D22A;N # GREEK INSTRUMENTAL NOTATION SYMBOL-23
++1D22B;N # GREEK INSTRUMENTAL NOTATION SYMBOL-24
++1D22C;N # GREEK INSTRUMENTAL NOTATION SYMBOL-25
++1D22D;N # GREEK INSTRUMENTAL NOTATION SYMBOL-26
++1D22E;N # GREEK INSTRUMENTAL NOTATION SYMBOL-27
++1D22F;N # GREEK INSTRUMENTAL NOTATION SYMBOL-29
++1D230;N # GREEK INSTRUMENTAL NOTATION SYMBOL-30
++1D231;N # GREEK INSTRUMENTAL NOTATION SYMBOL-32
++1D232;N # GREEK INSTRUMENTAL NOTATION SYMBOL-36
++1D233;N # GREEK INSTRUMENTAL NOTATION SYMBOL-37
++1D234;N # GREEK INSTRUMENTAL NOTATION SYMBOL-38
++1D235;N # GREEK INSTRUMENTAL NOTATION SYMBOL-39
++1D236;N # GREEK INSTRUMENTAL NOTATION SYMBOL-40
++1D237;N # GREEK INSTRUMENTAL NOTATION SYMBOL-42
++1D238;N # GREEK INSTRUMENTAL NOTATION SYMBOL-43
++1D239;N # GREEK INSTRUMENTAL NOTATION SYMBOL-45
++1D23A;N # GREEK INSTRUMENTAL NOTATION SYMBOL-47
++1D23B;N # GREEK INSTRUMENTAL NOTATION SYMBOL-48
++1D23C;N # GREEK INSTRUMENTAL NOTATION SYMBOL-49
++1D23D;N # GREEK INSTRUMENTAL NOTATION SYMBOL-50
++1D23E;N # GREEK INSTRUMENTAL NOTATION SYMBOL-51
++1D23F;N # GREEK INSTRUMENTAL NOTATION SYMBOL-52
++1D240;N # GREEK INSTRUMENTAL NOTATION SYMBOL-53
++1D241;N # GREEK INSTRUMENTAL NOTATION SYMBOL-54
++1D242;N # COMBINING GREEK MUSICAL TRISEME
++1D243;N # COMBINING GREEK MUSICAL TETRASEME
++1D244;N # COMBINING GREEK MUSICAL PENTASEME
++1D245;N # GREEK MUSICAL LEIMMA
++1D300;N # MONOGRAM FOR EARTH
++1D301;N # DIGRAM FOR HEAVENLY EARTH
++1D302;N # DIGRAM FOR HUMAN EARTH
++1D303;N # DIGRAM FOR EARTHLY HEAVEN
++1D304;N # DIGRAM FOR EARTHLY HUMAN
++1D305;N # DIGRAM FOR EARTH
++1D306;N # TETRAGRAM FOR CENTRE
++1D307;N # TETRAGRAM FOR FULL CIRCLE
++1D308;N # TETRAGRAM FOR MIRED
++1D309;N # TETRAGRAM FOR BARRIER
++1D30A;N # TETRAGRAM FOR KEEPING SMALL
++1D30B;N # TETRAGRAM FOR CONTRARIETY
++1D30C;N # TETRAGRAM FOR ASCENT
++1D30D;N # TETRAGRAM FOR OPPOSITION
++1D30E;N # TETRAGRAM FOR BRANCHING OUT
++1D30F;N # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
++1D310;N # TETRAGRAM FOR DIVERGENCE
++1D311;N # TETRAGRAM FOR YOUTHFULNESS
++1D312;N # TETRAGRAM FOR INCREASE
++1D313;N # TETRAGRAM FOR PENETRATION
++1D314;N # TETRAGRAM FOR REACH
++1D315;N # TETRAGRAM FOR CONTACT
++1D316;N # TETRAGRAM FOR HOLDING BACK
++1D317;N # TETRAGRAM FOR WAITING
++1D318;N # TETRAGRAM FOR FOLLOWING
++1D319;N # TETRAGRAM FOR ADVANCE
++1D31A;N # TETRAGRAM FOR RELEASE
++1D31B;N # TETRAGRAM FOR RESISTANCE
++1D31C;N # TETRAGRAM FOR EASE
++1D31D;N # TETRAGRAM FOR JOY
++1D31E;N # TETRAGRAM FOR CONTENTION
++1D31F;N # TETRAGRAM FOR ENDEAVOUR
++1D320;N # TETRAGRAM FOR DUTIES
++1D321;N # TETRAGRAM FOR CHANGE
++1D322;N # TETRAGRAM FOR DECISIVENESS
++1D323;N # TETRAGRAM FOR BOLD RESOLUTION
++1D324;N # TETRAGRAM FOR PACKING
++1D325;N # TETRAGRAM FOR LEGION
++1D326;N # TETRAGRAM FOR CLOSENESS
++1D327;N # TETRAGRAM FOR KINSHIP
++1D328;N # TETRAGRAM FOR GATHERING
++1D329;N # TETRAGRAM FOR STRENGTH
++1D32A;N # TETRAGRAM FOR PURITY
++1D32B;N # TETRAGRAM FOR FULLNESS
++1D32C;N # TETRAGRAM FOR RESIDENCE
++1D32D;N # TETRAGRAM FOR LAW OR MODEL
++1D32E;N # TETRAGRAM FOR RESPONSE
++1D32F;N # TETRAGRAM FOR GOING TO MEET
++1D330;N # TETRAGRAM FOR ENCOUNTERS
++1D331;N # TETRAGRAM FOR STOVE
++1D332;N # TETRAGRAM FOR GREATNESS
++1D333;N # TETRAGRAM FOR ENLARGEMENT
++1D334;N # TETRAGRAM FOR PATTERN
++1D335;N # TETRAGRAM FOR RITUAL
++1D336;N # TETRAGRAM FOR FLIGHT
++1D337;N # TETRAGRAM FOR VASTNESS OR WASTING
++1D338;N # TETRAGRAM FOR CONSTANCY
++1D339;N # TETRAGRAM FOR MEASURE
++1D33A;N # TETRAGRAM FOR ETERNITY
++1D33B;N # TETRAGRAM FOR UNITY
++1D33C;N # TETRAGRAM FOR DIMINISHMENT
++1D33D;N # TETRAGRAM FOR CLOSED MOUTH
++1D33E;N # TETRAGRAM FOR GUARDEDNESS
++1D33F;N # TETRAGRAM FOR GATHERING IN
++1D340;N # TETRAGRAM FOR MASSING
++1D341;N # TETRAGRAM FOR ACCUMULATION
++1D342;N # TETRAGRAM FOR EMBELLISHMENT
++1D343;N # TETRAGRAM FOR DOUBT
++1D344;N # TETRAGRAM FOR WATCH
++1D345;N # TETRAGRAM FOR SINKING
++1D346;N # TETRAGRAM FOR INNER
++1D347;N # TETRAGRAM FOR DEPARTURE
++1D348;N # TETRAGRAM FOR DARKENING
++1D349;N # TETRAGRAM FOR DIMMING
++1D34A;N # TETRAGRAM FOR EXHAUSTION
++1D34B;N # TETRAGRAM FOR SEVERANCE
++1D34C;N # TETRAGRAM FOR STOPPAGE
++1D34D;N # TETRAGRAM FOR HARDNESS
++1D34E;N # TETRAGRAM FOR COMPLETION
++1D34F;N # TETRAGRAM FOR CLOSURE
++1D350;N # TETRAGRAM FOR FAILURE
++1D351;N # TETRAGRAM FOR AGGRAVATION
++1D352;N # TETRAGRAM FOR COMPLIANCE
++1D353;N # TETRAGRAM FOR ON THE VERGE
++1D354;N # TETRAGRAM FOR DIFFICULTIES
++1D355;N # TETRAGRAM FOR LABOURING
++1D356;N # TETRAGRAM FOR FOSTERING
++1D360;N # COUNTING ROD UNIT DIGIT ONE
++1D361;N # COUNTING ROD UNIT DIGIT TWO
++1D362;N # COUNTING ROD UNIT DIGIT THREE
++1D363;N # COUNTING ROD UNIT DIGIT FOUR
++1D364;N # COUNTING ROD UNIT DIGIT FIVE
++1D365;N # COUNTING ROD UNIT DIGIT SIX
++1D366;N # COUNTING ROD UNIT DIGIT SEVEN
++1D367;N # COUNTING ROD UNIT DIGIT EIGHT
++1D368;N # COUNTING ROD UNIT DIGIT NINE
++1D369;N # COUNTING ROD TENS DIGIT ONE
++1D36A;N # COUNTING ROD TENS DIGIT TWO
++1D36B;N # COUNTING ROD TENS DIGIT THREE
++1D36C;N # COUNTING ROD TENS DIGIT FOUR
++1D36D;N # COUNTING ROD TENS DIGIT FIVE
++1D36E;N # COUNTING ROD TENS DIGIT SIX
++1D36F;N # COUNTING ROD TENS DIGIT SEVEN
++1D370;N # COUNTING ROD TENS DIGIT EIGHT
++1D371;N # COUNTING ROD TENS DIGIT NINE
++1D400;N # MATHEMATICAL BOLD CAPITAL A
++1D401;N # MATHEMATICAL BOLD CAPITAL B
++1D402;N # MATHEMATICAL BOLD CAPITAL C
++1D403;N # MATHEMATICAL BOLD CAPITAL D
++1D404;N # MATHEMATICAL BOLD CAPITAL E
++1D405;N # MATHEMATICAL BOLD CAPITAL F
++1D406;N # MATHEMATICAL BOLD CAPITAL G
++1D407;N # MATHEMATICAL BOLD CAPITAL H
++1D408;N # MATHEMATICAL BOLD CAPITAL I
++1D409;N # MATHEMATICAL BOLD CAPITAL J
++1D40A;N # MATHEMATICAL BOLD CAPITAL K
++1D40B;N # MATHEMATICAL BOLD CAPITAL L
++1D40C;N # MATHEMATICAL BOLD CAPITAL M
++1D40D;N # MATHEMATICAL BOLD CAPITAL N
++1D40E;N # MATHEMATICAL BOLD CAPITAL O
++1D40F;N # MATHEMATICAL BOLD CAPITAL P
++1D410;N # MATHEMATICAL BOLD CAPITAL Q
++1D411;N # MATHEMATICAL BOLD CAPITAL R
++1D412;N # MATHEMATICAL BOLD CAPITAL S
++1D413;N # MATHEMATICAL BOLD CAPITAL T
++1D414;N # MATHEMATICAL BOLD CAPITAL U
++1D415;N # MATHEMATICAL BOLD CAPITAL V
++1D416;N # MATHEMATICAL BOLD CAPITAL W
++1D417;N # MATHEMATICAL BOLD CAPITAL X
++1D418;N # MATHEMATICAL BOLD CAPITAL Y
++1D419;N # MATHEMATICAL BOLD CAPITAL Z
++1D41A;N # MATHEMATICAL BOLD SMALL A
++1D41B;N # MATHEMATICAL BOLD SMALL B
++1D41C;N # MATHEMATICAL BOLD SMALL C
++1D41D;N # MATHEMATICAL BOLD SMALL D
++1D41E;N # MATHEMATICAL BOLD SMALL E
++1D41F;N # MATHEMATICAL BOLD SMALL F
++1D420;N # MATHEMATICAL BOLD SMALL G
++1D421;N # MATHEMATICAL BOLD SMALL H
++1D422;N # MATHEMATICAL BOLD SMALL I
++1D423;N # MATHEMATICAL BOLD SMALL J
++1D424;N # MATHEMATICAL BOLD SMALL K
++1D425;N # MATHEMATICAL BOLD SMALL L
++1D426;N # MATHEMATICAL BOLD SMALL M
++1D427;N # MATHEMATICAL BOLD SMALL N
++1D428;N # MATHEMATICAL BOLD SMALL O
++1D429;N # MATHEMATICAL BOLD SMALL P
++1D42A;N # MATHEMATICAL BOLD SMALL Q
++1D42B;N # MATHEMATICAL BOLD SMALL R
++1D42C;N # MATHEMATICAL BOLD SMALL S
++1D42D;N # MATHEMATICAL BOLD SMALL T
++1D42E;N # MATHEMATICAL BOLD SMALL U
++1D42F;N # MATHEMATICAL BOLD SMALL V
++1D430;N # MATHEMATICAL BOLD SMALL W
++1D431;N # MATHEMATICAL BOLD SMALL X
++1D432;N # MATHEMATICAL BOLD SMALL Y
++1D433;N # MATHEMATICAL BOLD SMALL Z
++1D434;N # MATHEMATICAL ITALIC CAPITAL A
++1D435;N # MATHEMATICAL ITALIC CAPITAL B
++1D436;N # MATHEMATICAL ITALIC CAPITAL C
++1D437;N # MATHEMATICAL ITALIC CAPITAL D
++1D438;N # MATHEMATICAL ITALIC CAPITAL E
++1D439;N # MATHEMATICAL ITALIC CAPITAL F
++1D43A;N # MATHEMATICAL ITALIC CAPITAL G
++1D43B;N # MATHEMATICAL ITALIC CAPITAL H
++1D43C;N # MATHEMATICAL ITALIC CAPITAL I
++1D43D;N # MATHEMATICAL ITALIC CAPITAL J
++1D43E;N # MATHEMATICAL ITALIC CAPITAL K
++1D43F;N # MATHEMATICAL ITALIC CAPITAL L
++1D440;N # MATHEMATICAL ITALIC CAPITAL M
++1D441;N # MATHEMATICAL ITALIC CAPITAL N
++1D442;N # MATHEMATICAL ITALIC CAPITAL O
++1D443;N # MATHEMATICAL ITALIC CAPITAL P
++1D444;N # MATHEMATICAL ITALIC CAPITAL Q
++1D445;N # MATHEMATICAL ITALIC CAPITAL R
++1D446;N # MATHEMATICAL ITALIC CAPITAL S
++1D447;N # MATHEMATICAL ITALIC CAPITAL T
++1D448;N # MATHEMATICAL ITALIC CAPITAL U
++1D449;N # MATHEMATICAL ITALIC CAPITAL V
++1D44A;N # MATHEMATICAL ITALIC CAPITAL W
++1D44B;N # MATHEMATICAL ITALIC CAPITAL X
++1D44C;N # MATHEMATICAL ITALIC CAPITAL Y
++1D44D;N # MATHEMATICAL ITALIC CAPITAL Z
++1D44E;N # MATHEMATICAL ITALIC SMALL A
++1D44F;N # MATHEMATICAL ITALIC SMALL B
++1D450;N # MATHEMATICAL ITALIC SMALL C
++1D451;N # MATHEMATICAL ITALIC SMALL D
++1D452;N # MATHEMATICAL ITALIC SMALL E
++1D453;N # MATHEMATICAL ITALIC SMALL F
++1D454;N # MATHEMATICAL ITALIC SMALL G
++1D456;N # MATHEMATICAL ITALIC SMALL I
++1D457;N # MATHEMATICAL ITALIC SMALL J
++1D458;N # MATHEMATICAL ITALIC SMALL K
++1D459;N # MATHEMATICAL ITALIC SMALL L
++1D45A;N # MATHEMATICAL ITALIC SMALL M
++1D45B;N # MATHEMATICAL ITALIC SMALL N
++1D45C;N # MATHEMATICAL ITALIC SMALL O
++1D45D;N # MATHEMATICAL ITALIC SMALL P
++1D45E;N # MATHEMATICAL ITALIC SMALL Q
++1D45F;N # MATHEMATICAL ITALIC SMALL R
++1D460;N # MATHEMATICAL ITALIC SMALL S
++1D461;N # MATHEMATICAL ITALIC SMALL T
++1D462;N # MATHEMATICAL ITALIC SMALL U
++1D463;N # MATHEMATICAL ITALIC SMALL V
++1D464;N # MATHEMATICAL ITALIC SMALL W
++1D465;N # MATHEMATICAL ITALIC SMALL X
++1D466;N # MATHEMATICAL ITALIC SMALL Y
++1D467;N # MATHEMATICAL ITALIC SMALL Z
++1D468;N # MATHEMATICAL BOLD ITALIC CAPITAL A
++1D469;N # MATHEMATICAL BOLD ITALIC CAPITAL B
++1D46A;N # MATHEMATICAL BOLD ITALIC CAPITAL C
++1D46B;N # MATHEMATICAL BOLD ITALIC CAPITAL D
++1D46C;N # MATHEMATICAL BOLD ITALIC CAPITAL E
++1D46D;N # MATHEMATICAL BOLD ITALIC CAPITAL F
++1D46E;N # MATHEMATICAL BOLD ITALIC CAPITAL G
++1D46F;N # MATHEMATICAL BOLD ITALIC CAPITAL H
++1D470;N # MATHEMATICAL BOLD ITALIC CAPITAL I
++1D471;N # MATHEMATICAL BOLD ITALIC CAPITAL J
++1D472;N # MATHEMATICAL BOLD ITALIC CAPITAL K
++1D473;N # MATHEMATICAL BOLD ITALIC CAPITAL L
++1D474;N # MATHEMATICAL BOLD ITALIC CAPITAL M
++1D475;N # MATHEMATICAL BOLD ITALIC CAPITAL N
++1D476;N # MATHEMATICAL BOLD ITALIC CAPITAL O
++1D477;N # MATHEMATICAL BOLD ITALIC CAPITAL P
++1D478;N # MATHEMATICAL BOLD ITALIC CAPITAL Q
++1D479;N # MATHEMATICAL BOLD ITALIC CAPITAL R
++1D47A;N # MATHEMATICAL BOLD ITALIC CAPITAL S
++1D47B;N # MATHEMATICAL BOLD ITALIC CAPITAL T
++1D47C;N # MATHEMATICAL BOLD ITALIC CAPITAL U
++1D47D;N # MATHEMATICAL BOLD ITALIC CAPITAL V
++1D47E;N # MATHEMATICAL BOLD ITALIC CAPITAL W
++1D47F;N # MATHEMATICAL BOLD ITALIC CAPITAL X
++1D480;N # MATHEMATICAL BOLD ITALIC CAPITAL Y
++1D481;N # MATHEMATICAL BOLD ITALIC CAPITAL Z
++1D482;N # MATHEMATICAL BOLD ITALIC SMALL A
++1D483;N # MATHEMATICAL BOLD ITALIC SMALL B
++1D484;N # MATHEMATICAL BOLD ITALIC SMALL C
++1D485;N # MATHEMATICAL BOLD ITALIC SMALL D
++1D486;N # MATHEMATICAL BOLD ITALIC SMALL E
++1D487;N # MATHEMATICAL BOLD ITALIC SMALL F
++1D488;N # MATHEMATICAL BOLD ITALIC SMALL G
++1D489;N # MATHEMATICAL BOLD ITALIC SMALL H
++1D48A;N # MATHEMATICAL BOLD ITALIC SMALL I
++1D48B;N # MATHEMATICAL BOLD ITALIC SMALL J
++1D48C;N # MATHEMATICAL BOLD ITALIC SMALL K
++1D48D;N # MATHEMATICAL BOLD ITALIC SMALL L
++1D48E;N # MATHEMATICAL BOLD ITALIC SMALL M
++1D48F;N # MATHEMATICAL BOLD ITALIC SMALL N
++1D490;N # MATHEMATICAL BOLD ITALIC SMALL O
++1D491;N # MATHEMATICAL BOLD ITALIC SMALL P
++1D492;N # MATHEMATICAL BOLD ITALIC SMALL Q
++1D493;N # MATHEMATICAL BOLD ITALIC SMALL R
++1D494;N # MATHEMATICAL BOLD ITALIC SMALL S
++1D495;N # MATHEMATICAL BOLD ITALIC SMALL T
++1D496;N # MATHEMATICAL BOLD ITALIC SMALL U
++1D497;N # MATHEMATICAL BOLD ITALIC SMALL V
++1D498;N # MATHEMATICAL BOLD ITALIC SMALL W
++1D499;N # MATHEMATICAL BOLD ITALIC SMALL X
++1D49A;N # MATHEMATICAL BOLD ITALIC SMALL Y
++1D49B;N # MATHEMATICAL BOLD ITALIC SMALL Z
++1D49C;N # MATHEMATICAL SCRIPT CAPITAL A
++1D49E;N # MATHEMATICAL SCRIPT CAPITAL C
++1D49F;N # MATHEMATICAL SCRIPT CAPITAL D
++1D4A2;N # MATHEMATICAL SCRIPT CAPITAL G
++1D4A5;N # MATHEMATICAL SCRIPT CAPITAL J
++1D4A6;N # MATHEMATICAL SCRIPT CAPITAL K
++1D4A9;N # MATHEMATICAL SCRIPT CAPITAL N
++1D4AA;N # MATHEMATICAL SCRIPT CAPITAL O
++1D4AB;N # MATHEMATICAL SCRIPT CAPITAL P
++1D4AC;N # MATHEMATICAL SCRIPT CAPITAL Q
++1D4AE;N # MATHEMATICAL SCRIPT CAPITAL S
++1D4AF;N # MATHEMATICAL SCRIPT CAPITAL T
++1D4B0;N # MATHEMATICAL SCRIPT CAPITAL U
++1D4B1;N # MATHEMATICAL SCRIPT CAPITAL V
++1D4B2;N # MATHEMATICAL SCRIPT CAPITAL W
++1D4B3;N # MATHEMATICAL SCRIPT CAPITAL X
++1D4B4;N # MATHEMATICAL SCRIPT CAPITAL Y
++1D4B5;N # MATHEMATICAL SCRIPT CAPITAL Z
++1D4B6;N # MATHEMATICAL SCRIPT SMALL A
++1D4B7;N # MATHEMATICAL SCRIPT SMALL B
++1D4B8;N # MATHEMATICAL SCRIPT SMALL C
++1D4B9;N # MATHEMATICAL SCRIPT SMALL D
++1D4BB;N # MATHEMATICAL SCRIPT SMALL F
++1D4BD;N # MATHEMATICAL SCRIPT SMALL H
++1D4BE;N # MATHEMATICAL SCRIPT SMALL I
++1D4BF;N # MATHEMATICAL SCRIPT SMALL J
++1D4C0;N # MATHEMATICAL SCRIPT SMALL K
++1D4C1;N # MATHEMATICAL SCRIPT SMALL L
++1D4C2;N # MATHEMATICAL SCRIPT SMALL M
++1D4C3;N # MATHEMATICAL SCRIPT SMALL N
++1D4C5;N # MATHEMATICAL SCRIPT SMALL P
++1D4C6;N # MATHEMATICAL SCRIPT SMALL Q
++1D4C7;N # MATHEMATICAL SCRIPT SMALL R
++1D4C8;N # MATHEMATICAL SCRIPT SMALL S
++1D4C9;N # MATHEMATICAL SCRIPT SMALL T
++1D4CA;N # MATHEMATICAL SCRIPT SMALL U
++1D4CB;N # MATHEMATICAL SCRIPT SMALL V
++1D4CC;N # MATHEMATICAL SCRIPT SMALL W
++1D4CD;N # MATHEMATICAL SCRIPT SMALL X
++1D4CE;N # MATHEMATICAL SCRIPT SMALL Y
++1D4CF;N # MATHEMATICAL SCRIPT SMALL Z
++1D4D0;N # MATHEMATICAL BOLD SCRIPT CAPITAL A
++1D4D1;N # MATHEMATICAL BOLD SCRIPT CAPITAL B
++1D4D2;N # MATHEMATICAL BOLD SCRIPT CAPITAL C
++1D4D3;N # MATHEMATICAL BOLD SCRIPT CAPITAL D
++1D4D4;N # MATHEMATICAL BOLD SCRIPT CAPITAL E
++1D4D5;N # MATHEMATICAL BOLD SCRIPT CAPITAL F
++1D4D6;N # MATHEMATICAL BOLD SCRIPT CAPITAL G
++1D4D7;N # MATHEMATICAL BOLD SCRIPT CAPITAL H
++1D4D8;N # MATHEMATICAL BOLD SCRIPT CAPITAL I
++1D4D9;N # MATHEMATICAL BOLD SCRIPT CAPITAL J
++1D4DA;N # MATHEMATICAL BOLD SCRIPT CAPITAL K
++1D4DB;N # MATHEMATICAL BOLD SCRIPT CAPITAL L
++1D4DC;N # MATHEMATICAL BOLD SCRIPT CAPITAL M
++1D4DD;N # MATHEMATICAL BOLD SCRIPT CAPITAL N
++1D4DE;N # MATHEMATICAL BOLD SCRIPT CAPITAL O
++1D4DF;N # MATHEMATICAL BOLD SCRIPT CAPITAL P
++1D4E0;N # MATHEMATICAL BOLD SCRIPT CAPITAL Q
++1D4E1;N # MATHEMATICAL BOLD SCRIPT CAPITAL R
++1D4E2;N # MATHEMATICAL BOLD SCRIPT CAPITAL S
++1D4E3;N # MATHEMATICAL BOLD SCRIPT CAPITAL T
++1D4E4;N # MATHEMATICAL BOLD SCRIPT CAPITAL U
++1D4E5;N # MATHEMATICAL BOLD SCRIPT CAPITAL V
++1D4E6;N # MATHEMATICAL BOLD SCRIPT CAPITAL W
++1D4E7;N # MATHEMATICAL BOLD SCRIPT CAPITAL X
++1D4E8;N # MATHEMATICAL BOLD SCRIPT CAPITAL Y
++1D4E9;N # MATHEMATICAL BOLD SCRIPT CAPITAL Z
++1D4EA;N # MATHEMATICAL BOLD SCRIPT SMALL A
++1D4EB;N # MATHEMATICAL BOLD SCRIPT SMALL B
++1D4EC;N # MATHEMATICAL BOLD SCRIPT SMALL C
++1D4ED;N # MATHEMATICAL BOLD SCRIPT SMALL D
++1D4EE;N # MATHEMATICAL BOLD SCRIPT SMALL E
++1D4EF;N # MATHEMATICAL BOLD SCRIPT SMALL F
++1D4F0;N # MATHEMATICAL BOLD SCRIPT SMALL G
++1D4F1;N # MATHEMATICAL BOLD SCRIPT SMALL H
++1D4F2;N # MATHEMATICAL BOLD SCRIPT SMALL I
++1D4F3;N # MATHEMATICAL BOLD SCRIPT SMALL J
++1D4F4;N # MATHEMATICAL BOLD SCRIPT SMALL K
++1D4F5;N # MATHEMATICAL BOLD SCRIPT SMALL L
++1D4F6;N # MATHEMATICAL BOLD SCRIPT SMALL M
++1D4F7;N # MATHEMATICAL BOLD SCRIPT SMALL N
++1D4F8;N # MATHEMATICAL BOLD SCRIPT SMALL O
++1D4F9;N # MATHEMATICAL BOLD SCRIPT SMALL P
++1D4FA;N # MATHEMATICAL BOLD SCRIPT SMALL Q
++1D4FB;N # MATHEMATICAL BOLD SCRIPT SMALL R
++1D4FC;N # MATHEMATICAL BOLD SCRIPT SMALL S
++1D4FD;N # MATHEMATICAL BOLD SCRIPT SMALL T
++1D4FE;N # MATHEMATICAL BOLD SCRIPT SMALL U
++1D4FF;N # MATHEMATICAL BOLD SCRIPT SMALL V
++1D500;N # MATHEMATICAL BOLD SCRIPT SMALL W
++1D501;N # MATHEMATICAL BOLD SCRIPT SMALL X
++1D502;N # MATHEMATICAL BOLD SCRIPT SMALL Y
++1D503;N # MATHEMATICAL BOLD SCRIPT SMALL Z
++1D504;N # MATHEMATICAL FRAKTUR CAPITAL A
++1D505;N # MATHEMATICAL FRAKTUR CAPITAL B
++1D507;N # MATHEMATICAL FRAKTUR CAPITAL D
++1D508;N # MATHEMATICAL FRAKTUR CAPITAL E
++1D509;N # MATHEMATICAL FRAKTUR CAPITAL F
++1D50A;N # MATHEMATICAL FRAKTUR CAPITAL G
++1D50D;N # MATHEMATICAL FRAKTUR CAPITAL J
++1D50E;N # MATHEMATICAL FRAKTUR CAPITAL K
++1D50F;N # MATHEMATICAL FRAKTUR CAPITAL L
++1D510;N # MATHEMATICAL FRAKTUR CAPITAL M
++1D511;N # MATHEMATICAL FRAKTUR CAPITAL N
++1D512;N # MATHEMATICAL FRAKTUR CAPITAL O
++1D513;N # MATHEMATICAL FRAKTUR CAPITAL P
++1D514;N # MATHEMATICAL FRAKTUR CAPITAL Q
++1D516;N # MATHEMATICAL FRAKTUR CAPITAL S
++1D517;N # MATHEMATICAL FRAKTUR CAPITAL T
++1D518;N # MATHEMATICAL FRAKTUR CAPITAL U
++1D519;N # MATHEMATICAL FRAKTUR CAPITAL V
++1D51A;N # MATHEMATICAL FRAKTUR CAPITAL W
++1D51B;N # MATHEMATICAL FRAKTUR CAPITAL X
++1D51C;N # MATHEMATICAL FRAKTUR CAPITAL Y
++1D51E;N # MATHEMATICAL FRAKTUR SMALL A
++1D51F;N # MATHEMATICAL FRAKTUR SMALL B
++1D520;N # MATHEMATICAL FRAKTUR SMALL C
++1D521;N # MATHEMATICAL FRAKTUR SMALL D
++1D522;N # MATHEMATICAL FRAKTUR SMALL E
++1D523;N # MATHEMATICAL FRAKTUR SMALL F
++1D524;N # MATHEMATICAL FRAKTUR SMALL G
++1D525;N # MATHEMATICAL FRAKTUR SMALL H
++1D526;N # MATHEMATICAL FRAKTUR SMALL I
++1D527;N # MATHEMATICAL FRAKTUR SMALL J
++1D528;N # MATHEMATICAL FRAKTUR SMALL K
++1D529;N # MATHEMATICAL FRAKTUR SMALL L
++1D52A;N # MATHEMATICAL FRAKTUR SMALL M
++1D52B;N # MATHEMATICAL FRAKTUR SMALL N
++1D52C;N # MATHEMATICAL FRAKTUR SMALL O
++1D52D;N # MATHEMATICAL FRAKTUR SMALL P
++1D52E;N # MATHEMATICAL FRAKTUR SMALL Q
++1D52F;N # MATHEMATICAL FRAKTUR SMALL R
++1D530;N # MATHEMATICAL FRAKTUR SMALL S
++1D531;N # MATHEMATICAL FRAKTUR SMALL T
++1D532;N # MATHEMATICAL FRAKTUR SMALL U
++1D533;N # MATHEMATICAL FRAKTUR SMALL V
++1D534;N # MATHEMATICAL FRAKTUR SMALL W
++1D535;N # MATHEMATICAL FRAKTUR SMALL X
++1D536;N # MATHEMATICAL FRAKTUR SMALL Y
++1D537;N # MATHEMATICAL FRAKTUR SMALL Z
++1D538;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL A
++1D539;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL B
++1D53B;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL D
++1D53C;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL E
++1D53D;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL F
++1D53E;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL G
++1D540;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL I
++1D541;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL J
++1D542;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL K
++1D543;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL L
++1D544;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL M
++1D546;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL O
++1D54A;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL S
++1D54B;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL T
++1D54C;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL U
++1D54D;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL V
++1D54E;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL W
++1D54F;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL X
++1D550;N # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
++1D552;N # MATHEMATICAL DOUBLE-STRUCK SMALL A
++1D553;N # MATHEMATICAL DOUBLE-STRUCK SMALL B
++1D554;N # MATHEMATICAL DOUBLE-STRUCK SMALL C
++1D555;N # MATHEMATICAL DOUBLE-STRUCK SMALL D
++1D556;N # MATHEMATICAL DOUBLE-STRUCK SMALL E
++1D557;N # MATHEMATICAL DOUBLE-STRUCK SMALL F
++1D558;N # MATHEMATICAL DOUBLE-STRUCK SMALL G
++1D559;N # MATHEMATICAL DOUBLE-STRUCK SMALL H
++1D55A;N # MATHEMATICAL DOUBLE-STRUCK SMALL I
++1D55B;N # MATHEMATICAL DOUBLE-STRUCK SMALL J
++1D55C;N # MATHEMATICAL DOUBLE-STRUCK SMALL K
++1D55D;N # MATHEMATICAL DOUBLE-STRUCK SMALL L
++1D55E;N # MATHEMATICAL DOUBLE-STRUCK SMALL M
++1D55F;N # MATHEMATICAL DOUBLE-STRUCK SMALL N
++1D560;N # MATHEMATICAL DOUBLE-STRUCK SMALL O
++1D561;N # MATHEMATICAL DOUBLE-STRUCK SMALL P
++1D562;N # MATHEMATICAL DOUBLE-STRUCK SMALL Q
++1D563;N # MATHEMATICAL DOUBLE-STRUCK SMALL R
++1D564;N # MATHEMATICAL DOUBLE-STRUCK SMALL S
++1D565;N # MATHEMATICAL DOUBLE-STRUCK SMALL T
++1D566;N # MATHEMATICAL DOUBLE-STRUCK SMALL U
++1D567;N # MATHEMATICAL DOUBLE-STRUCK SMALL V
++1D568;N # MATHEMATICAL DOUBLE-STRUCK SMALL W
++1D569;N # MATHEMATICAL DOUBLE-STRUCK SMALL X
++1D56A;N # MATHEMATICAL DOUBLE-STRUCK SMALL Y
++1D56B;N # MATHEMATICAL DOUBLE-STRUCK SMALL Z
++1D56C;N # MATHEMATICAL BOLD FRAKTUR CAPITAL A
++1D56D;N # MATHEMATICAL BOLD FRAKTUR CAPITAL B
++1D56E;N # MATHEMATICAL BOLD FRAKTUR CAPITAL C
++1D56F;N # MATHEMATICAL BOLD FRAKTUR CAPITAL D
++1D570;N # MATHEMATICAL BOLD FRAKTUR CAPITAL E
++1D571;N # MATHEMATICAL BOLD FRAKTUR CAPITAL F
++1D572;N # MATHEMATICAL BOLD FRAKTUR CAPITAL G
++1D573;N # MATHEMATICAL BOLD FRAKTUR CAPITAL H
++1D574;N # MATHEMATICAL BOLD FRAKTUR CAPITAL I
++1D575;N # MATHEMATICAL BOLD FRAKTUR CAPITAL J
++1D576;N # MATHEMATICAL BOLD FRAKTUR CAPITAL K
++1D577;N # MATHEMATICAL BOLD FRAKTUR CAPITAL L
++1D578;N # MATHEMATICAL BOLD FRAKTUR CAPITAL M
++1D579;N # MATHEMATICAL BOLD FRAKTUR CAPITAL N
++1D57A;N # MATHEMATICAL BOLD FRAKTUR CAPITAL O
++1D57B;N # MATHEMATICAL BOLD FRAKTUR CAPITAL P
++1D57C;N # MATHEMATICAL BOLD FRAKTUR CAPITAL Q
++1D57D;N # MATHEMATICAL BOLD FRAKTUR CAPITAL R
++1D57E;N # MATHEMATICAL BOLD FRAKTUR CAPITAL S
++1D57F;N # MATHEMATICAL BOLD FRAKTUR CAPITAL T
++1D580;N # MATHEMATICAL BOLD FRAKTUR CAPITAL U
++1D581;N # MATHEMATICAL BOLD FRAKTUR CAPITAL V
++1D582;N # MATHEMATICAL BOLD FRAKTUR CAPITAL W
++1D583;N # MATHEMATICAL BOLD FRAKTUR CAPITAL X
++1D584;N # MATHEMATICAL BOLD FRAKTUR CAPITAL Y
++1D585;N # MATHEMATICAL BOLD FRAKTUR CAPITAL Z
++1D586;N # MATHEMATICAL BOLD FRAKTUR SMALL A
++1D587;N # MATHEMATICAL BOLD FRAKTUR SMALL B
++1D588;N # MATHEMATICAL BOLD FRAKTUR SMALL C
++1D589;N # MATHEMATICAL BOLD FRAKTUR SMALL D
++1D58A;N # MATHEMATICAL BOLD FRAKTUR SMALL E
++1D58B;N # MATHEMATICAL BOLD FRAKTUR SMALL F
++1D58C;N # MATHEMATICAL BOLD FRAKTUR SMALL G
++1D58D;N # MATHEMATICAL BOLD FRAKTUR SMALL H
++1D58E;N # MATHEMATICAL BOLD FRAKTUR SMALL I
++1D58F;N # MATHEMATICAL BOLD FRAKTUR SMALL J
++1D590;N # MATHEMATICAL BOLD FRAKTUR SMALL K
++1D591;N # MATHEMATICAL BOLD FRAKTUR SMALL L
++1D592;N # MATHEMATICAL BOLD FRAKTUR SMALL M
++1D593;N # MATHEMATICAL BOLD FRAKTUR SMALL N
++1D594;N # MATHEMATICAL BOLD FRAKTUR SMALL O
++1D595;N # MATHEMATICAL BOLD FRAKTUR SMALL P
++1D596;N # MATHEMATICAL BOLD FRAKTUR SMALL Q
++1D597;N # MATHEMATICAL BOLD FRAKTUR SMALL R
++1D598;N # MATHEMATICAL BOLD FRAKTUR SMALL S
++1D599;N # MATHEMATICAL BOLD FRAKTUR SMALL T
++1D59A;N # MATHEMATICAL BOLD FRAKTUR SMALL U
++1D59B;N # MATHEMATICAL BOLD FRAKTUR SMALL V
++1D59C;N # MATHEMATICAL BOLD FRAKTUR SMALL W
++1D59D;N # MATHEMATICAL BOLD FRAKTUR SMALL X
++1D59E;N # MATHEMATICAL BOLD FRAKTUR SMALL Y
++1D59F;N # MATHEMATICAL BOLD FRAKTUR SMALL Z
++1D5A0;N # MATHEMATICAL SANS-SERIF CAPITAL A
++1D5A1;N # MATHEMATICAL SANS-SERIF CAPITAL B
++1D5A2;N # MATHEMATICAL SANS-SERIF CAPITAL C
++1D5A3;N # MATHEMATICAL SANS-SERIF CAPITAL D
++1D5A4;N # MATHEMATICAL SANS-SERIF CAPITAL E
++1D5A5;N # MATHEMATICAL SANS-SERIF CAPITAL F
++1D5A6;N # MATHEMATICAL SANS-SERIF CAPITAL G
++1D5A7;N # MATHEMATICAL SANS-SERIF CAPITAL H
++1D5A8;N # MATHEMATICAL SANS-SERIF CAPITAL I
++1D5A9;N # MATHEMATICAL SANS-SERIF CAPITAL J
++1D5AA;N # MATHEMATICAL SANS-SERIF CAPITAL K
++1D5AB;N # MATHEMATICAL SANS-SERIF CAPITAL L
++1D5AC;N # MATHEMATICAL SANS-SERIF CAPITAL M
++1D5AD;N # MATHEMATICAL SANS-SERIF CAPITAL N
++1D5AE;N # MATHEMATICAL SANS-SERIF CAPITAL O
++1D5AF;N # MATHEMATICAL SANS-SERIF CAPITAL P
++1D5B0;N # MATHEMATICAL SANS-SERIF CAPITAL Q
++1D5B1;N # MATHEMATICAL SANS-SERIF CAPITAL R
++1D5B2;N # MATHEMATICAL SANS-SERIF CAPITAL S
++1D5B3;N # MATHEMATICAL SANS-SERIF CAPITAL T
++1D5B4;N # MATHEMATICAL SANS-SERIF CAPITAL U
++1D5B5;N # MATHEMATICAL SANS-SERIF CAPITAL V
++1D5B6;N # MATHEMATICAL SANS-SERIF CAPITAL W
++1D5B7;N # MATHEMATICAL SANS-SERIF CAPITAL X
++1D5B8;N # MATHEMATICAL SANS-SERIF CAPITAL Y
++1D5B9;N # MATHEMATICAL SANS-SERIF CAPITAL Z
++1D5BA;N # MATHEMATICAL SANS-SERIF SMALL A
++1D5BB;N # MATHEMATICAL SANS-SERIF SMALL B
++1D5BC;N # MATHEMATICAL SANS-SERIF SMALL C
++1D5BD;N # MATHEMATICAL SANS-SERIF SMALL D
++1D5BE;N # MATHEMATICAL SANS-SERIF SMALL E
++1D5BF;N # MATHEMATICAL SANS-SERIF SMALL F
++1D5C0;N # MATHEMATICAL SANS-SERIF SMALL G
++1D5C1;N # MATHEMATICAL SANS-SERIF SMALL H
++1D5C2;N # MATHEMATICAL SANS-SERIF SMALL I
++1D5C3;N # MATHEMATICAL SANS-SERIF SMALL J
++1D5C4;N # MATHEMATICAL SANS-SERIF SMALL K
++1D5C5;N # MATHEMATICAL SANS-SERIF SMALL L
++1D5C6;N # MATHEMATICAL SANS-SERIF SMALL M
++1D5C7;N # MATHEMATICAL SANS-SERIF SMALL N
++1D5C8;N # MATHEMATICAL SANS-SERIF SMALL O
++1D5C9;N # MATHEMATICAL SANS-SERIF SMALL P
++1D5CA;N # MATHEMATICAL SANS-SERIF SMALL Q
++1D5CB;N # MATHEMATICAL SANS-SERIF SMALL R
++1D5CC;N # MATHEMATICAL SANS-SERIF SMALL S
++1D5CD;N # MATHEMATICAL SANS-SERIF SMALL T
++1D5CE;N # MATHEMATICAL SANS-SERIF SMALL U
++1D5CF;N # MATHEMATICAL SANS-SERIF SMALL V
++1D5D0;N # MATHEMATICAL SANS-SERIF SMALL W
++1D5D1;N # MATHEMATICAL SANS-SERIF SMALL X
++1D5D2;N # MATHEMATICAL SANS-SERIF SMALL Y
++1D5D3;N # MATHEMATICAL SANS-SERIF SMALL Z
++1D5D4;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL A
++1D5D5;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL B
++1D5D6;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL C
++1D5D7;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL D
++1D5D8;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL E
++1D5D9;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL F
++1D5DA;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL G
++1D5DB;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL H
++1D5DC;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL I
++1D5DD;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL J
++1D5DE;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL K
++1D5DF;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL L
++1D5E0;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL M
++1D5E1;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL N
++1D5E2;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL O
++1D5E3;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL P
++1D5E4;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
++1D5E5;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL R
++1D5E6;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL S
++1D5E7;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL T
++1D5E8;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL U
++1D5E9;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL V
++1D5EA;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL W
++1D5EB;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL X
++1D5EC;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
++1D5ED;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
++1D5EE;N # MATHEMATICAL SANS-SERIF BOLD SMALL A
++1D5EF;N # MATHEMATICAL SANS-SERIF BOLD SMALL B
++1D5F0;N # MATHEMATICAL SANS-SERIF BOLD SMALL C
++1D5F1;N # MATHEMATICAL SANS-SERIF BOLD SMALL D
++1D5F2;N # MATHEMATICAL SANS-SERIF BOLD SMALL E
++1D5F3;N # MATHEMATICAL SANS-SERIF BOLD SMALL F
++1D5F4;N # MATHEMATICAL SANS-SERIF BOLD SMALL G
++1D5F5;N # MATHEMATICAL SANS-SERIF BOLD SMALL H
++1D5F6;N # MATHEMATICAL SANS-SERIF BOLD SMALL I
++1D5F7;N # MATHEMATICAL SANS-SERIF BOLD SMALL J
++1D5F8;N # MATHEMATICAL SANS-SERIF BOLD SMALL K
++1D5F9;N # MATHEMATICAL SANS-SERIF BOLD SMALL L
++1D5FA;N # MATHEMATICAL SANS-SERIF BOLD SMALL M
++1D5FB;N # MATHEMATICAL SANS-SERIF BOLD SMALL N
++1D5FC;N # MATHEMATICAL SANS-SERIF BOLD SMALL O
++1D5FD;N # MATHEMATICAL SANS-SERIF BOLD SMALL P
++1D5FE;N # MATHEMATICAL SANS-SERIF BOLD SMALL Q
++1D5FF;N # MATHEMATICAL SANS-SERIF BOLD SMALL R
++1D600;N # MATHEMATICAL SANS-SERIF BOLD SMALL S
++1D601;N # MATHEMATICAL SANS-SERIF BOLD SMALL T
++1D602;N # MATHEMATICAL SANS-SERIF BOLD SMALL U
++1D603;N # MATHEMATICAL SANS-SERIF BOLD SMALL V
++1D604;N # MATHEMATICAL SANS-SERIF BOLD SMALL W
++1D605;N # MATHEMATICAL SANS-SERIF BOLD SMALL X
++1D606;N # MATHEMATICAL SANS-SERIF BOLD SMALL Y
++1D607;N # MATHEMATICAL SANS-SERIF BOLD SMALL Z
++1D608;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
++1D609;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
++1D60A;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
++1D60B;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
++1D60C;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
++1D60D;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
++1D60E;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
++1D60F;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
++1D610;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
++1D611;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
++1D612;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
++1D613;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
++1D614;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
++1D615;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
++1D616;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
++1D617;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
++1D618;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
++1D619;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
++1D61A;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
++1D61B;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
++1D61C;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
++1D61D;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
++1D61E;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
++1D61F;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
++1D620;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
++1D621;N # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
++1D622;N # MATHEMATICAL SANS-SERIF ITALIC SMALL A
++1D623;N # MATHEMATICAL SANS-SERIF ITALIC SMALL B
++1D624;N # MATHEMATICAL SANS-SERIF ITALIC SMALL C
++1D625;N # MATHEMATICAL SANS-SERIF ITALIC SMALL D
++1D626;N # MATHEMATICAL SANS-SERIF ITALIC SMALL E
++1D627;N # MATHEMATICAL SANS-SERIF ITALIC SMALL F
++1D628;N # MATHEMATICAL SANS-SERIF ITALIC SMALL G
++1D629;N # MATHEMATICAL SANS-SERIF ITALIC SMALL H
++1D62A;N # MATHEMATICAL SANS-SERIF ITALIC SMALL I
++1D62B;N # MATHEMATICAL SANS-SERIF ITALIC SMALL J
++1D62C;N # MATHEMATICAL SANS-SERIF ITALIC SMALL K
++1D62D;N # MATHEMATICAL SANS-SERIF ITALIC SMALL L
++1D62E;N # MATHEMATICAL SANS-SERIF ITALIC SMALL M
++1D62F;N # MATHEMATICAL SANS-SERIF ITALIC SMALL N
++1D630;N # MATHEMATICAL SANS-SERIF ITALIC SMALL O
++1D631;N # MATHEMATICAL SANS-SERIF ITALIC SMALL P
++1D632;N # MATHEMATICAL SANS-SERIF ITALIC SMALL Q
++1D633;N # MATHEMATICAL SANS-SERIF ITALIC SMALL R
++1D634;N # MATHEMATICAL SANS-SERIF ITALIC SMALL S
++1D635;N # MATHEMATICAL SANS-SERIF ITALIC SMALL T
++1D636;N # MATHEMATICAL SANS-SERIF ITALIC SMALL U
++1D637;N # MATHEMATICAL SANS-SERIF ITALIC SMALL V
++1D638;N # MATHEMATICAL SANS-SERIF ITALIC SMALL W
++1D639;N # MATHEMATICAL SANS-SERIF ITALIC SMALL X
++1D63A;N # MATHEMATICAL SANS-SERIF ITALIC SMALL Y
++1D63B;N # MATHEMATICAL SANS-SERIF ITALIC SMALL Z
++1D63C;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
++1D63D;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
++1D63E;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
++1D63F;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
++1D640;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
++1D641;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
++1D642;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
++1D643;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
++1D644;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
++1D645;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
++1D646;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
++1D647;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
++1D648;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
++1D649;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
++1D64A;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
++1D64B;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
++1D64C;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
++1D64D;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
++1D64E;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
++1D64F;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
++1D650;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
++1D651;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
++1D652;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
++1D653;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
++1D654;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
++1D655;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
++1D656;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
++1D657;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
++1D658;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
++1D659;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
++1D65A;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
++1D65B;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
++1D65C;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
++1D65D;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
++1D65E;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
++1D65F;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
++1D660;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
++1D661;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
++1D662;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
++1D663;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
++1D664;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
++1D665;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
++1D666;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
++1D667;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
++1D668;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
++1D669;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
++1D66A;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
++1D66B;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
++1D66C;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
++1D66D;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
++1D66E;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
++1D66F;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
++1D670;N # MATHEMATICAL MONOSPACE CAPITAL A
++1D671;N # MATHEMATICAL MONOSPACE CAPITAL B
++1D672;N # MATHEMATICAL MONOSPACE CAPITAL C
++1D673;N # MATHEMATICAL MONOSPACE CAPITAL D
++1D674;N # MATHEMATICAL MONOSPACE CAPITAL E
++1D675;N # MATHEMATICAL MONOSPACE CAPITAL F
++1D676;N # MATHEMATICAL MONOSPACE CAPITAL G
++1D677;N # MATHEMATICAL MONOSPACE CAPITAL H
++1D678;N # MATHEMATICAL MONOSPACE CAPITAL I
++1D679;N # MATHEMATICAL MONOSPACE CAPITAL J
++1D67A;N # MATHEMATICAL MONOSPACE CAPITAL K
++1D67B;N # MATHEMATICAL MONOSPACE CAPITAL L
++1D67C;N # MATHEMATICAL MONOSPACE CAPITAL M
++1D67D;N # MATHEMATICAL MONOSPACE CAPITAL N
++1D67E;N # MATHEMATICAL MONOSPACE CAPITAL O
++1D67F;N # MATHEMATICAL MONOSPACE CAPITAL P
++1D680;N # MATHEMATICAL MONOSPACE CAPITAL Q
++1D681;N # MATHEMATICAL MONOSPACE CAPITAL R
++1D682;N # MATHEMATICAL MONOSPACE CAPITAL S
++1D683;N # MATHEMATICAL MONOSPACE CAPITAL T
++1D684;N # MATHEMATICAL MONOSPACE CAPITAL U
++1D685;N # MATHEMATICAL MONOSPACE CAPITAL V
++1D686;N # MATHEMATICAL MONOSPACE CAPITAL W
++1D687;N # MATHEMATICAL MONOSPACE CAPITAL X
++1D688;N # MATHEMATICAL MONOSPACE CAPITAL Y
++1D689;N # MATHEMATICAL MONOSPACE CAPITAL Z
++1D68A;N # MATHEMATICAL MONOSPACE SMALL A
++1D68B;N # MATHEMATICAL MONOSPACE SMALL B
++1D68C;N # MATHEMATICAL MONOSPACE SMALL C
++1D68D;N # MATHEMATICAL MONOSPACE SMALL D
++1D68E;N # MATHEMATICAL MONOSPACE SMALL E
++1D68F;N # MATHEMATICAL MONOSPACE SMALL F
++1D690;N # MATHEMATICAL MONOSPACE SMALL G
++1D691;N # MATHEMATICAL MONOSPACE SMALL H
++1D692;N # MATHEMATICAL MONOSPACE SMALL I
++1D693;N # MATHEMATICAL MONOSPACE SMALL J
++1D694;N # MATHEMATICAL MONOSPACE SMALL K
++1D695;N # MATHEMATICAL MONOSPACE SMALL L
++1D696;N # MATHEMATICAL MONOSPACE SMALL M
++1D697;N # MATHEMATICAL MONOSPACE SMALL N
++1D698;N # MATHEMATICAL MONOSPACE SMALL O
++1D699;N # MATHEMATICAL MONOSPACE SMALL P
++1D69A;N # MATHEMATICAL MONOSPACE SMALL Q
++1D69B;N # MATHEMATICAL MONOSPACE SMALL R
++1D69C;N # MATHEMATICAL MONOSPACE SMALL S
++1D69D;N # MATHEMATICAL MONOSPACE SMALL T
++1D69E;N # MATHEMATICAL MONOSPACE SMALL U
++1D69F;N # MATHEMATICAL MONOSPACE SMALL V
++1D6A0;N # MATHEMATICAL MONOSPACE SMALL W
++1D6A1;N # MATHEMATICAL MONOSPACE SMALL X
++1D6A2;N # MATHEMATICAL MONOSPACE SMALL Y
++1D6A3;N # MATHEMATICAL MONOSPACE SMALL Z
++1D6A4;N # MATHEMATICAL ITALIC SMALL DOTLESS I
++1D6A5;N # MATHEMATICAL ITALIC SMALL DOTLESS J
++1D6A8;N # MATHEMATICAL BOLD CAPITAL ALPHA
++1D6A9;N # MATHEMATICAL BOLD CAPITAL BETA
++1D6AA;N # MATHEMATICAL BOLD CAPITAL GAMMA
++1D6AB;N # MATHEMATICAL BOLD CAPITAL DELTA
++1D6AC;N # MATHEMATICAL BOLD CAPITAL EPSILON
++1D6AD;N # MATHEMATICAL BOLD CAPITAL ZETA
++1D6AE;N # MATHEMATICAL BOLD CAPITAL ETA
++1D6AF;N # MATHEMATICAL BOLD CAPITAL THETA
++1D6B0;N # MATHEMATICAL BOLD CAPITAL IOTA
++1D6B1;N # MATHEMATICAL BOLD CAPITAL KAPPA
++1D6B2;N # MATHEMATICAL BOLD CAPITAL LAMDA
++1D6B3;N # MATHEMATICAL BOLD CAPITAL MU
++1D6B4;N # MATHEMATICAL BOLD CAPITAL NU
++1D6B5;N # MATHEMATICAL BOLD CAPITAL XI
++1D6B6;N # MATHEMATICAL BOLD CAPITAL OMICRON
++1D6B7;N # MATHEMATICAL BOLD CAPITAL PI
++1D6B8;N # MATHEMATICAL BOLD CAPITAL RHO
++1D6B9;N # MATHEMATICAL BOLD CAPITAL THETA SYMBOL
++1D6BA;N # MATHEMATICAL BOLD CAPITAL SIGMA
++1D6BB;N # MATHEMATICAL BOLD CAPITAL TAU
++1D6BC;N # MATHEMATICAL BOLD CAPITAL UPSILON
++1D6BD;N # MATHEMATICAL BOLD CAPITAL PHI
++1D6BE;N # MATHEMATICAL BOLD CAPITAL CHI
++1D6BF;N # MATHEMATICAL BOLD CAPITAL PSI
++1D6C0;N # MATHEMATICAL BOLD CAPITAL OMEGA
++1D6C1;N # MATHEMATICAL BOLD NABLA
++1D6C2;N # MATHEMATICAL BOLD SMALL ALPHA
++1D6C3;N # MATHEMATICAL BOLD SMALL BETA
++1D6C4;N # MATHEMATICAL BOLD SMALL GAMMA
++1D6C5;N # MATHEMATICAL BOLD SMALL DELTA
++1D6C6;N # MATHEMATICAL BOLD SMALL EPSILON
++1D6C7;N # MATHEMATICAL BOLD SMALL ZETA
++1D6C8;N # MATHEMATICAL BOLD SMALL ETA
++1D6C9;N # MATHEMATICAL BOLD SMALL THETA
++1D6CA;N # MATHEMATICAL BOLD SMALL IOTA
++1D6CB;N # MATHEMATICAL BOLD SMALL KAPPA
++1D6CC;N # MATHEMATICAL BOLD SMALL LAMDA
++1D6CD;N # MATHEMATICAL BOLD SMALL MU
++1D6CE;N # MATHEMATICAL BOLD SMALL NU
++1D6CF;N # MATHEMATICAL BOLD SMALL XI
++1D6D0;N # MATHEMATICAL BOLD SMALL OMICRON
++1D6D1;N # MATHEMATICAL BOLD SMALL PI
++1D6D2;N # MATHEMATICAL BOLD SMALL RHO
++1D6D3;N # MATHEMATICAL BOLD SMALL FINAL SIGMA
++1D6D4;N # MATHEMATICAL BOLD SMALL SIGMA
++1D6D5;N # MATHEMATICAL BOLD SMALL TAU
++1D6D6;N # MATHEMATICAL BOLD SMALL UPSILON
++1D6D7;N # MATHEMATICAL BOLD SMALL PHI
++1D6D8;N # MATHEMATICAL BOLD SMALL CHI
++1D6D9;N # MATHEMATICAL BOLD SMALL PSI
++1D6DA;N # MATHEMATICAL BOLD SMALL OMEGA
++1D6DB;N # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
++1D6DC;N # MATHEMATICAL BOLD EPSILON SYMBOL
++1D6DD;N # MATHEMATICAL BOLD THETA SYMBOL
++1D6DE;N # MATHEMATICAL BOLD KAPPA SYMBOL
++1D6DF;N # MATHEMATICAL BOLD PHI SYMBOL
++1D6E0;N # MATHEMATICAL BOLD RHO SYMBOL
++1D6E1;N # MATHEMATICAL BOLD PI SYMBOL
++1D6E2;N # MATHEMATICAL ITALIC CAPITAL ALPHA
++1D6E3;N # MATHEMATICAL ITALIC CAPITAL BETA
++1D6E4;N # MATHEMATICAL ITALIC CAPITAL GAMMA
++1D6E5;N # MATHEMATICAL ITALIC CAPITAL DELTA
++1D6E6;N # MATHEMATICAL ITALIC CAPITAL EPSILON
++1D6E7;N # MATHEMATICAL ITALIC CAPITAL ZETA
++1D6E8;N # MATHEMATICAL ITALIC CAPITAL ETA
++1D6E9;N # MATHEMATICAL ITALIC CAPITAL THETA
++1D6EA;N # MATHEMATICAL ITALIC CAPITAL IOTA
++1D6EB;N # MATHEMATICAL ITALIC CAPITAL KAPPA
++1D6EC;N # MATHEMATICAL ITALIC CAPITAL LAMDA
++1D6ED;N # MATHEMATICAL ITALIC CAPITAL MU
++1D6EE;N # MATHEMATICAL ITALIC CAPITAL NU
++1D6EF;N # MATHEMATICAL ITALIC CAPITAL XI
++1D6F0;N # MATHEMATICAL ITALIC CAPITAL OMICRON
++1D6F1;N # MATHEMATICAL ITALIC CAPITAL PI
++1D6F2;N # MATHEMATICAL ITALIC CAPITAL RHO
++1D6F3;N # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
++1D6F4;N # MATHEMATICAL ITALIC CAPITAL SIGMA
++1D6F5;N # MATHEMATICAL ITALIC CAPITAL TAU
++1D6F6;N # MATHEMATICAL ITALIC CAPITAL UPSILON
++1D6F7;N # MATHEMATICAL ITALIC CAPITAL PHI
++1D6F8;N # MATHEMATICAL ITALIC CAPITAL CHI
++1D6F9;N # MATHEMATICAL ITALIC CAPITAL PSI
++1D6FA;N # MATHEMATICAL ITALIC CAPITAL OMEGA
++1D6FB;N # MATHEMATICAL ITALIC NABLA
++1D6FC;N # MATHEMATICAL ITALIC SMALL ALPHA
++1D6FD;N # MATHEMATICAL ITALIC SMALL BETA
++1D6FE;N # MATHEMATICAL ITALIC SMALL GAMMA
++1D6FF;N # MATHEMATICAL ITALIC SMALL DELTA
++1D700;N # MATHEMATICAL ITALIC SMALL EPSILON
++1D701;N # MATHEMATICAL ITALIC SMALL ZETA
++1D702;N # MATHEMATICAL ITALIC SMALL ETA
++1D703;N # MATHEMATICAL ITALIC SMALL THETA
++1D704;N # MATHEMATICAL ITALIC SMALL IOTA
++1D705;N # MATHEMATICAL ITALIC SMALL KAPPA
++1D706;N # MATHEMATICAL ITALIC SMALL LAMDA
++1D707;N # MATHEMATICAL ITALIC SMALL MU
++1D708;N # MATHEMATICAL ITALIC SMALL NU
++1D709;N # MATHEMATICAL ITALIC SMALL XI
++1D70A;N # MATHEMATICAL ITALIC SMALL OMICRON
++1D70B;N # MATHEMATICAL ITALIC SMALL PI
++1D70C;N # MATHEMATICAL ITALIC SMALL RHO
++1D70D;N # MATHEMATICAL ITALIC SMALL FINAL SIGMA
++1D70E;N # MATHEMATICAL ITALIC SMALL SIGMA
++1D70F;N # MATHEMATICAL ITALIC SMALL TAU
++1D710;N # MATHEMATICAL ITALIC SMALL UPSILON
++1D711;N # MATHEMATICAL ITALIC SMALL PHI
++1D712;N # MATHEMATICAL ITALIC SMALL CHI
++1D713;N # MATHEMATICAL ITALIC SMALL PSI
++1D714;N # MATHEMATICAL ITALIC SMALL OMEGA
++1D715;N # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
++1D716;N # MATHEMATICAL ITALIC EPSILON SYMBOL
++1D717;N # MATHEMATICAL ITALIC THETA SYMBOL
++1D718;N # MATHEMATICAL ITALIC KAPPA SYMBOL
++1D719;N # MATHEMATICAL ITALIC PHI SYMBOL
++1D71A;N # MATHEMATICAL ITALIC RHO SYMBOL
++1D71B;N # MATHEMATICAL ITALIC PI SYMBOL
++1D71C;N # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
++1D71D;N # MATHEMATICAL BOLD ITALIC CAPITAL BETA
++1D71E;N # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
++1D71F;N # MATHEMATICAL BOLD ITALIC CAPITAL DELTA
++1D720;N # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
++1D721;N # MATHEMATICAL BOLD ITALIC CAPITAL ZETA
++1D722;N # MATHEMATICAL BOLD ITALIC CAPITAL ETA
++1D723;N # MATHEMATICAL BOLD ITALIC CAPITAL THETA
++1D724;N # MATHEMATICAL BOLD ITALIC CAPITAL IOTA
++1D725;N # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
++1D726;N # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
++1D727;N # MATHEMATICAL BOLD ITALIC CAPITAL MU
++1D728;N # MATHEMATICAL BOLD ITALIC CAPITAL NU
++1D729;N # MATHEMATICAL BOLD ITALIC CAPITAL XI
++1D72A;N # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
++1D72B;N # MATHEMATICAL BOLD ITALIC CAPITAL PI
++1D72C;N # MATHEMATICAL BOLD ITALIC CAPITAL RHO
++1D72D;N # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
++1D72E;N # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
++1D72F;N # MATHEMATICAL BOLD ITALIC CAPITAL TAU
++1D730;N # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
++1D731;N # MATHEMATICAL BOLD ITALIC CAPITAL PHI
++1D732;N # MATHEMATICAL BOLD ITALIC CAPITAL CHI
++1D733;N # MATHEMATICAL BOLD ITALIC CAPITAL PSI
++1D734;N # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
++1D735;N # MATHEMATICAL BOLD ITALIC NABLA
++1D736;N # MATHEMATICAL BOLD ITALIC SMALL ALPHA
++1D737;N # MATHEMATICAL BOLD ITALIC SMALL BETA
++1D738;N # MATHEMATICAL BOLD ITALIC SMALL GAMMA
++1D739;N # MATHEMATICAL BOLD ITALIC SMALL DELTA
++1D73A;N # MATHEMATICAL BOLD ITALIC SMALL EPSILON
++1D73B;N # MATHEMATICAL BOLD ITALIC SMALL ZETA
++1D73C;N # MATHEMATICAL BOLD ITALIC SMALL ETA
++1D73D;N # MATHEMATICAL BOLD ITALIC SMALL THETA
++1D73E;N # MATHEMATICAL BOLD ITALIC SMALL IOTA
++1D73F;N # MATHEMATICAL BOLD ITALIC SMALL KAPPA
++1D740;N # MATHEMATICAL BOLD ITALIC SMALL LAMDA
++1D741;N # MATHEMATICAL BOLD ITALIC SMALL MU
++1D742;N # MATHEMATICAL BOLD ITALIC SMALL NU
++1D743;N # MATHEMATICAL BOLD ITALIC SMALL XI
++1D744;N # MATHEMATICAL BOLD ITALIC SMALL OMICRON
++1D745;N # MATHEMATICAL BOLD ITALIC SMALL PI
++1D746;N # MATHEMATICAL BOLD ITALIC SMALL RHO
++1D747;N # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
++1D748;N # MATHEMATICAL BOLD ITALIC SMALL SIGMA
++1D749;N # MATHEMATICAL BOLD ITALIC SMALL TAU
++1D74A;N # MATHEMATICAL BOLD ITALIC SMALL UPSILON
++1D74B;N # MATHEMATICAL BOLD ITALIC SMALL PHI
++1D74C;N # MATHEMATICAL BOLD ITALIC SMALL CHI
++1D74D;N # MATHEMATICAL BOLD ITALIC SMALL PSI
++1D74E;N # MATHEMATICAL BOLD ITALIC SMALL OMEGA
++1D74F;N # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
++1D750;N # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
++1D751;N # MATHEMATICAL BOLD ITALIC THETA SYMBOL
++1D752;N # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
++1D753;N # MATHEMATICAL BOLD ITALIC PHI SYMBOL
++1D754;N # MATHEMATICAL BOLD ITALIC RHO SYMBOL
++1D755;N # MATHEMATICAL BOLD ITALIC PI SYMBOL
++1D756;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
++1D757;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
++1D758;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
++1D759;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
++1D75A;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
++1D75B;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
++1D75C;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
++1D75D;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
++1D75E;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
++1D75F;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
++1D760;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
++1D761;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
++1D762;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
++1D763;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
++1D764;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
++1D765;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
++1D766;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
++1D767;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
++1D768;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
++1D769;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
++1D76A;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
++1D76B;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
++1D76C;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
++1D76D;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
++1D76E;N # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
++1D76F;N # MATHEMATICAL SANS-SERIF BOLD NABLA
++1D770;N # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
++1D771;N # MATHEMATICAL SANS-SERIF BOLD SMALL BETA
++1D772;N # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
++1D773;N # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
++1D774;N # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
++1D775;N # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
++1D776;N # MATHEMATICAL SANS-SERIF BOLD SMALL ETA
++1D777;N # MATHEMATICAL SANS-SERIF BOLD SMALL THETA
++1D778;N # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
++1D779;N # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
++1D77A;N # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
++1D77B;N # MATHEMATICAL SANS-SERIF BOLD SMALL MU
++1D77C;N # MATHEMATICAL SANS-SERIF BOLD SMALL NU
++1D77D;N # MATHEMATICAL SANS-SERIF BOLD SMALL XI
++1D77E;N # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
++1D77F;N # MATHEMATICAL SANS-SERIF BOLD SMALL PI
++1D780;N # MATHEMATICAL SANS-SERIF BOLD SMALL RHO
++1D781;N # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
++1D782;N # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
++1D783;N # MATHEMATICAL SANS-SERIF BOLD SMALL TAU
++1D784;N # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
++1D785;N # MATHEMATICAL SANS-SERIF BOLD SMALL PHI
++1D786;N # MATHEMATICAL SANS-SERIF BOLD SMALL CHI
++1D787;N # MATHEMATICAL SANS-SERIF BOLD SMALL PSI
++1D788;N # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
++1D789;N # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
++1D78A;N # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
++1D78B;N # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
++1D78C;N # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
++1D78D;N # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
++1D78E;N # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
++1D78F;N # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
++1D790;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
++1D791;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
++1D792;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
++1D793;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
++1D794;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
++1D795;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
++1D796;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
++1D797;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
++1D798;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
++1D799;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
++1D79A;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
++1D79B;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
++1D79C;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
++1D79D;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
++1D79E;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
++1D79F;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
++1D7A0;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
++1D7A1;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
++1D7A2;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
++1D7A3;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
++1D7A4;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
++1D7A5;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
++1D7A6;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
++1D7A7;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
++1D7A8;N # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
++1D7A9;N # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
++1D7AA;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
++1D7AB;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
++1D7AC;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
++1D7AD;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
++1D7AE;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
++1D7AF;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
++1D7B0;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
++1D7B1;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
++1D7B2;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
++1D7B3;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
++1D7B4;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
++1D7B5;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
++1D7B6;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
++1D7B7;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
++1D7B8;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
++1D7B9;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
++1D7BA;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
++1D7BB;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
++1D7BC;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
++1D7BD;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
++1D7BE;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
++1D7BF;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
++1D7C0;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
++1D7C1;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
++1D7C2;N # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
++1D7C3;N # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
++1D7C4;N # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
++1D7C5;N # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
++1D7C6;N # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
++1D7C7;N # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
++1D7C8;N # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
++1D7C9;N # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
++1D7CA;N # MATHEMATICAL BOLD CAPITAL DIGAMMA
++1D7CB;N # MATHEMATICAL BOLD SMALL DIGAMMA
++1D7CE;N # MATHEMATICAL BOLD DIGIT ZERO
++1D7CF;N # MATHEMATICAL BOLD DIGIT ONE
++1D7D0;N # MATHEMATICAL BOLD DIGIT TWO
++1D7D1;N # MATHEMATICAL BOLD DIGIT THREE
++1D7D2;N # MATHEMATICAL BOLD DIGIT FOUR
++1D7D3;N # MATHEMATICAL BOLD DIGIT FIVE
++1D7D4;N # MATHEMATICAL BOLD DIGIT SIX
++1D7D5;N # MATHEMATICAL BOLD DIGIT SEVEN
++1D7D6;N # MATHEMATICAL BOLD DIGIT EIGHT
++1D7D7;N # MATHEMATICAL BOLD DIGIT NINE
++1D7D8;N # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
++1D7D9;N # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
++1D7DA;N # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
++1D7DB;N # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
++1D7DC;N # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
++1D7DD;N # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
++1D7DE;N # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
++1D7DF;N # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
++1D7E0;N # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
++1D7E1;N # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
++1D7E2;N # MATHEMATICAL SANS-SERIF DIGIT ZERO
++1D7E3;N # MATHEMATICAL SANS-SERIF DIGIT ONE
++1D7E4;N # MATHEMATICAL SANS-SERIF DIGIT TWO
++1D7E5;N # MATHEMATICAL SANS-SERIF DIGIT THREE
++1D7E6;N # MATHEMATICAL SANS-SERIF DIGIT FOUR
++1D7E7;N # MATHEMATICAL SANS-SERIF DIGIT FIVE
++1D7E8;N # MATHEMATICAL SANS-SERIF DIGIT SIX
++1D7E9;N # MATHEMATICAL SANS-SERIF DIGIT SEVEN
++1D7EA;N # MATHEMATICAL SANS-SERIF DIGIT EIGHT
++1D7EB;N # MATHEMATICAL SANS-SERIF DIGIT NINE
++1D7EC;N # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
++1D7ED;N # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
++1D7EE;N # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
++1D7EF;N # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
++1D7F0;N # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
++1D7F1;N # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
++1D7F2;N # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
++1D7F3;N # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
++1D7F4;N # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
++1D7F5;N # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
++1D7F6;N # MATHEMATICAL MONOSPACE DIGIT ZERO
++1D7F7;N # MATHEMATICAL MONOSPACE DIGIT ONE
++1D7F8;N # MATHEMATICAL MONOSPACE DIGIT TWO
++1D7F9;N # MATHEMATICAL MONOSPACE DIGIT THREE
++1D7FA;N # MATHEMATICAL MONOSPACE DIGIT FOUR
++1D7FB;N # MATHEMATICAL MONOSPACE DIGIT FIVE
++1D7FC;N # MATHEMATICAL MONOSPACE DIGIT SIX
++1D7FD;N # MATHEMATICAL MONOSPACE DIGIT SEVEN
++1D7FE;N # MATHEMATICAL MONOSPACE DIGIT EIGHT
++1D7FF;N # MATHEMATICAL MONOSPACE DIGIT NINE
++1F000;N # MAHJONG TILE EAST WIND
++1F001;N # MAHJONG TILE SOUTH WIND
++1F002;N # MAHJONG TILE WEST WIND
++1F003;N # MAHJONG TILE NORTH WIND
++1F004;N # MAHJONG TILE RED DRAGON
++1F005;N # MAHJONG TILE GREEN DRAGON
++1F006;N # MAHJONG TILE WHITE DRAGON
++1F007;N # MAHJONG TILE ONE OF CHARACTERS
++1F008;N # MAHJONG TILE TWO OF CHARACTERS
++1F009;N # MAHJONG TILE THREE OF CHARACTERS
++1F00A;N # MAHJONG TILE FOUR OF CHARACTERS
++1F00B;N # MAHJONG TILE FIVE OF CHARACTERS
++1F00C;N # MAHJONG TILE SIX OF CHARACTERS
++1F00D;N # MAHJONG TILE SEVEN OF CHARACTERS
++1F00E;N # MAHJONG TILE EIGHT OF CHARACTERS
++1F00F;N # MAHJONG TILE NINE OF CHARACTERS
++1F010;N # MAHJONG TILE ONE OF BAMBOOS
++1F011;N # MAHJONG TILE TWO OF BAMBOOS
++1F012;N # MAHJONG TILE THREE OF BAMBOOS
++1F013;N # MAHJONG TILE FOUR OF BAMBOOS
++1F014;N # MAHJONG TILE FIVE OF BAMBOOS
++1F015;N # MAHJONG TILE SIX OF BAMBOOS
++1F016;N # MAHJONG TILE SEVEN OF BAMBOOS
++1F017;N # MAHJONG TILE EIGHT OF BAMBOOS
++1F018;N # MAHJONG TILE NINE OF BAMBOOS
++1F019;N # MAHJONG TILE ONE OF CIRCLES
++1F01A;N # MAHJONG TILE TWO OF CIRCLES
++1F01B;N # MAHJONG TILE THREE OF CIRCLES
++1F01C;N # MAHJONG TILE FOUR OF CIRCLES
++1F01D;N # MAHJONG TILE FIVE OF CIRCLES
++1F01E;N # MAHJONG TILE SIX OF CIRCLES
++1F01F;N # MAHJONG TILE SEVEN OF CIRCLES
++1F020;N # MAHJONG TILE EIGHT OF CIRCLES
++1F021;N # MAHJONG TILE NINE OF CIRCLES
++1F022;N # MAHJONG TILE PLUM
++1F023;N # MAHJONG TILE ORCHID
++1F024;N # MAHJONG TILE BAMBOO
++1F025;N # MAHJONG TILE CHRYSANTHEMUM
++1F026;N # MAHJONG TILE SPRING
++1F027;N # MAHJONG TILE SUMMER
++1F028;N # MAHJONG TILE AUTUMN
++1F029;N # MAHJONG TILE WINTER
++1F02A;N # MAHJONG TILE JOKER
++1F02B;N # MAHJONG TILE BACK
++1F030;N # DOMINO TILE HORIZONTAL BACK
++1F031;N # DOMINO TILE HORIZONTAL-00-00
++1F032;N # DOMINO TILE HORIZONTAL-00-01
++1F033;N # DOMINO TILE HORIZONTAL-00-02
++1F034;N # DOMINO TILE HORIZONTAL-00-03
++1F035;N # DOMINO TILE HORIZONTAL-00-04
++1F036;N # DOMINO TILE HORIZONTAL-00-05
++1F037;N # DOMINO TILE HORIZONTAL-00-06
++1F038;N # DOMINO TILE HORIZONTAL-01-00
++1F039;N # DOMINO TILE HORIZONTAL-01-01
++1F03A;N # DOMINO TILE HORIZONTAL-01-02
++1F03B;N # DOMINO TILE HORIZONTAL-01-03
++1F03C;N # DOMINO TILE HORIZONTAL-01-04
++1F03D;N # DOMINO TILE HORIZONTAL-01-05
++1F03E;N # DOMINO TILE HORIZONTAL-01-06
++1F03F;N # DOMINO TILE HORIZONTAL-02-00
++1F040;N # DOMINO TILE HORIZONTAL-02-01
++1F041;N # DOMINO TILE HORIZONTAL-02-02
++1F042;N # DOMINO TILE HORIZONTAL-02-03
++1F043;N # DOMINO TILE HORIZONTAL-02-04
++1F044;N # DOMINO TILE HORIZONTAL-02-05
++1F045;N # DOMINO TILE HORIZONTAL-02-06
++1F046;N # DOMINO TILE HORIZONTAL-03-00
++1F047;N # DOMINO TILE HORIZONTAL-03-01
++1F048;N # DOMINO TILE HORIZONTAL-03-02
++1F049;N # DOMINO TILE HORIZONTAL-03-03
++1F04A;N # DOMINO TILE HORIZONTAL-03-04
++1F04B;N # DOMINO TILE HORIZONTAL-03-05
++1F04C;N # DOMINO TILE HORIZONTAL-03-06
++1F04D;N # DOMINO TILE HORIZONTAL-04-00
++1F04E;N # DOMINO TILE HORIZONTAL-04-01
++1F04F;N # DOMINO TILE HORIZONTAL-04-02
++1F050;N # DOMINO TILE HORIZONTAL-04-03
++1F051;N # DOMINO TILE HORIZONTAL-04-04
++1F052;N # DOMINO TILE HORIZONTAL-04-05
++1F053;N # DOMINO TILE HORIZONTAL-04-06
++1F054;N # DOMINO TILE HORIZONTAL-05-00
++1F055;N # DOMINO TILE HORIZONTAL-05-01
++1F056;N # DOMINO TILE HORIZONTAL-05-02
++1F057;N # DOMINO TILE HORIZONTAL-05-03
++1F058;N # DOMINO TILE HORIZONTAL-05-04
++1F059;N # DOMINO TILE HORIZONTAL-05-05
++1F05A;N # DOMINO TILE HORIZONTAL-05-06
++1F05B;N # DOMINO TILE HORIZONTAL-06-00
++1F05C;N # DOMINO TILE HORIZONTAL-06-01
++1F05D;N # DOMINO TILE HORIZONTAL-06-02
++1F05E;N # DOMINO TILE HORIZONTAL-06-03
++1F05F;N # DOMINO TILE HORIZONTAL-06-04
++1F060;N # DOMINO TILE HORIZONTAL-06-05
++1F061;N # DOMINO TILE HORIZONTAL-06-06
++1F062;N # DOMINO TILE VERTICAL BACK
++1F063;N # DOMINO TILE VERTICAL-00-00
++1F064;N # DOMINO TILE VERTICAL-00-01
++1F065;N # DOMINO TILE VERTICAL-00-02
++1F066;N # DOMINO TILE VERTICAL-00-03
++1F067;N # DOMINO TILE VERTICAL-00-04
++1F068;N # DOMINO TILE VERTICAL-00-05
++1F069;N # DOMINO TILE VERTICAL-00-06
++1F06A;N # DOMINO TILE VERTICAL-01-00
++1F06B;N # DOMINO TILE VERTICAL-01-01
++1F06C;N # DOMINO TILE VERTICAL-01-02
++1F06D;N # DOMINO TILE VERTICAL-01-03
++1F06E;N # DOMINO TILE VERTICAL-01-04
++1F06F;N # DOMINO TILE VERTICAL-01-05
++1F070;N # DOMINO TILE VERTICAL-01-06
++1F071;N # DOMINO TILE VERTICAL-02-00
++1F072;N # DOMINO TILE VERTICAL-02-01
++1F073;N # DOMINO TILE VERTICAL-02-02
++1F074;N # DOMINO TILE VERTICAL-02-03
++1F075;N # DOMINO TILE VERTICAL-02-04
++1F076;N # DOMINO TILE VERTICAL-02-05
++1F077;N # DOMINO TILE VERTICAL-02-06
++1F078;N # DOMINO TILE VERTICAL-03-00
++1F079;N # DOMINO TILE VERTICAL-03-01
++1F07A;N # DOMINO TILE VERTICAL-03-02
++1F07B;N # DOMINO TILE VERTICAL-03-03
++1F07C;N # DOMINO TILE VERTICAL-03-04
++1F07D;N # DOMINO TILE VERTICAL-03-05
++1F07E;N # DOMINO TILE VERTICAL-03-06
++1F07F;N # DOMINO TILE VERTICAL-04-00
++1F080;N # DOMINO TILE VERTICAL-04-01
++1F081;N # DOMINO TILE VERTICAL-04-02
++1F082;N # DOMINO TILE VERTICAL-04-03
++1F083;N # DOMINO TILE VERTICAL-04-04
++1F084;N # DOMINO TILE VERTICAL-04-05
++1F085;N # DOMINO TILE VERTICAL-04-06
++1F086;N # DOMINO TILE VERTICAL-05-00
++1F087;N # DOMINO TILE VERTICAL-05-01
++1F088;N # DOMINO TILE VERTICAL-05-02
++1F089;N # DOMINO TILE VERTICAL-05-03
++1F08A;N # DOMINO TILE VERTICAL-05-04
++1F08B;N # DOMINO TILE VERTICAL-05-05
++1F08C;N # DOMINO TILE VERTICAL-05-06
++1F08D;N # DOMINO TILE VERTICAL-06-00
++1F08E;N # DOMINO TILE VERTICAL-06-01
++1F08F;N # DOMINO TILE VERTICAL-06-02
++1F090;N # DOMINO TILE VERTICAL-06-03
++1F091;N # DOMINO TILE VERTICAL-06-04
++1F092;N # DOMINO TILE VERTICAL-06-05
++1F093;N # DOMINO TILE VERTICAL-06-06
++1F100;A # DIGIT ZERO FULL STOP
++1F101;A # DIGIT ZERO COMMA
++1F102;A # DIGIT ONE COMMA
++1F103;A # DIGIT TWO COMMA
++1F104;A # DIGIT THREE COMMA
++1F105;A # DIGIT FOUR COMMA
++1F106;A # DIGIT FIVE COMMA
++1F107;A # DIGIT SIX COMMA
++1F108;A # DIGIT SEVEN COMMA
++1F109;A # DIGIT EIGHT COMMA
++1F10A;A # DIGIT NINE COMMA
++1F110;A # PARENTHESIZED LATIN CAPITAL LETTER A
++1F111;A # PARENTHESIZED LATIN CAPITAL LETTER B
++1F112;A # PARENTHESIZED LATIN CAPITAL LETTER C
++1F113;A # PARENTHESIZED LATIN CAPITAL LETTER D
++1F114;A # PARENTHESIZED LATIN CAPITAL LETTER E
++1F115;A # PARENTHESIZED LATIN CAPITAL LETTER F
++1F116;A # PARENTHESIZED LATIN CAPITAL LETTER G
++1F117;A # PARENTHESIZED LATIN CAPITAL LETTER H
++1F118;A # PARENTHESIZED LATIN CAPITAL LETTER I
++1F119;A # PARENTHESIZED LATIN CAPITAL LETTER J
++1F11A;A # PARENTHESIZED LATIN CAPITAL LETTER K
++1F11B;A # PARENTHESIZED LATIN CAPITAL LETTER L
++1F11C;A # PARENTHESIZED LATIN CAPITAL LETTER M
++1F11D;A # PARENTHESIZED LATIN CAPITAL LETTER N
++1F11E;A # PARENTHESIZED LATIN CAPITAL LETTER O
++1F11F;A # PARENTHESIZED LATIN CAPITAL LETTER P
++1F120;A # PARENTHESIZED LATIN CAPITAL LETTER Q
++1F121;A # PARENTHESIZED LATIN CAPITAL LETTER R
++1F122;A # PARENTHESIZED LATIN CAPITAL LETTER S
++1F123;A # PARENTHESIZED LATIN CAPITAL LETTER T
++1F124;A # PARENTHESIZED LATIN CAPITAL LETTER U
++1F125;A # PARENTHESIZED LATIN CAPITAL LETTER V
++1F126;A # PARENTHESIZED LATIN CAPITAL LETTER W
++1F127;A # PARENTHESIZED LATIN CAPITAL LETTER X
++1F128;A # PARENTHESIZED LATIN CAPITAL LETTER Y
++1F129;A # PARENTHESIZED LATIN CAPITAL LETTER Z
++1F12A;A # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
++1F12B;A # CIRCLED ITALIC LATIN CAPITAL LETTER C
++1F12C;A # CIRCLED ITALIC LATIN CAPITAL LETTER R
++1F12D;A # CIRCLED CD
++1F12E;N # CIRCLED WZ
++1F131;A # SQUARED LATIN CAPITAL LETTER B
++1F13D;A # SQUARED LATIN CAPITAL LETTER N
++1F13F;A # SQUARED LATIN CAPITAL LETTER P
++1F142;A # SQUARED LATIN CAPITAL LETTER S
++1F146;A # SQUARED LATIN CAPITAL LETTER W
++1F14A;A # SQUARED HV
++1F14B;A # SQUARED MV
++1F14C;A # SQUARED SD
++1F14D;A # SQUARED SS
++1F14E;A # SQUARED PPV
++1F157;A # NEGATIVE CIRCLED LATIN CAPITAL LETTER H
++1F15F;A # NEGATIVE CIRCLED LATIN CAPITAL LETTER P
++1F179;A # NEGATIVE SQUARED LATIN CAPITAL LETTER J
++1F17B;A # NEGATIVE SQUARED LATIN CAPITAL LETTER L
++1F17C;A # NEGATIVE SQUARED LATIN CAPITAL LETTER M
++1F17F;A # NEGATIVE SQUARED LATIN CAPITAL LETTER P
++1F18A;A # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
++1F18B;A # NEGATIVE SQUARED IC
++1F18C;A # NEGATIVE SQUARED PA
++1F18D;A # NEGATIVE SQUARED SA
++1F190;A # SQUARE DJ
++1F200;W # SQUARE HIRAGANA HOKA
++1F210;W # SQUARED CJK UNIFIED IDEOGRAPH-624B
++1F211;W # SQUARED CJK UNIFIED IDEOGRAPH-5B57
++1F212;W # SQUARED CJK UNIFIED IDEOGRAPH-53CC
++1F213;W # SQUARED KATAKANA DE
++1F214;W # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
++1F215;W # SQUARED CJK UNIFIED IDEOGRAPH-591A
++1F216;W # SQUARED CJK UNIFIED IDEOGRAPH-89E3
++1F217;W # SQUARED CJK UNIFIED IDEOGRAPH-5929
++1F218;W # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
++1F219;W # SQUARED CJK UNIFIED IDEOGRAPH-6620
++1F21A;W # SQUARED CJK UNIFIED IDEOGRAPH-7121
++1F21B;W # SQUARED CJK UNIFIED IDEOGRAPH-6599
++1F21C;W # SQUARED CJK UNIFIED IDEOGRAPH-524D
++1F21D;W # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
++1F21E;W # SQUARED CJK UNIFIED IDEOGRAPH-518D
++1F21F;W # SQUARED CJK UNIFIED IDEOGRAPH-65B0
++1F220;W # SQUARED CJK UNIFIED IDEOGRAPH-521D
++1F221;W # SQUARED CJK UNIFIED IDEOGRAPH-7D42
++1F222;W # SQUARED CJK UNIFIED IDEOGRAPH-751F
++1F223;W # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
++1F224;W # SQUARED CJK UNIFIED IDEOGRAPH-58F0
++1F225;W # SQUARED CJK UNIFIED IDEOGRAPH-5439
++1F226;W # SQUARED CJK UNIFIED IDEOGRAPH-6F14
++1F227;W # SQUARED CJK UNIFIED IDEOGRAPH-6295
++1F228;W # SQUARED CJK UNIFIED IDEOGRAPH-6355
++1F229;W # SQUARED CJK UNIFIED IDEOGRAPH-4E00
++1F22A;W # SQUARED CJK UNIFIED IDEOGRAPH-4E09
++1F22B;W # SQUARED CJK UNIFIED IDEOGRAPH-904A
++1F22C;W # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
++1F22D;W # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
++1F22E;W # SQUARED CJK UNIFIED IDEOGRAPH-53F3
++1F22F;W # SQUARED CJK UNIFIED IDEOGRAPH-6307
++1F230;W # SQUARED CJK UNIFIED IDEOGRAPH-8D70
++1F231;W # SQUARED CJK UNIFIED IDEOGRAPH-6253
++1F240;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
++1F241;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
++1F242;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
++1F243;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
++1F244;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
++1F245;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
++1F246;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
++1F247;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
++1F248;W # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
++20000..2A6D6;W # <CJK Ideograph Extension B, First>..<CJK Ideograph Extension B, Last>
++2A6D7..2A6FF;W # <reserved-2A6D7>..<reserved-2A6FF>
++2A700..2B734;W # <CJK Ideograph Extension C, First>..<CJK Ideograph Extension C, Last>
++2B735..2F7FF;W # <reserved-2B735>..<reserved-2F7FF>
++2F800;W # CJK COMPATIBILITY IDEOGRAPH-2F800
++2F801;W # CJK COMPATIBILITY IDEOGRAPH-2F801
++2F802;W # CJK COMPATIBILITY IDEOGRAPH-2F802
++2F803;W # CJK COMPATIBILITY IDEOGRAPH-2F803
++2F804;W # CJK COMPATIBILITY IDEOGRAPH-2F804
++2F805;W # CJK COMPATIBILITY IDEOGRAPH-2F805
++2F806;W # CJK COMPATIBILITY IDEOGRAPH-2F806
++2F807;W # CJK COMPATIBILITY IDEOGRAPH-2F807
++2F808;W # CJK COMPATIBILITY IDEOGRAPH-2F808
++2F809;W # CJK COMPATIBILITY IDEOGRAPH-2F809
++2F80A;W # CJK COMPATIBILITY IDEOGRAPH-2F80A
++2F80B;W # CJK COMPATIBILITY IDEOGRAPH-2F80B
++2F80C;W # CJK COMPATIBILITY IDEOGRAPH-2F80C
++2F80D;W # CJK COMPATIBILITY IDEOGRAPH-2F80D
++2F80E;W # CJK COMPATIBILITY IDEOGRAPH-2F80E
++2F80F;W # CJK COMPATIBILITY IDEOGRAPH-2F80F
++2F810;W # CJK COMPATIBILITY IDEOGRAPH-2F810
++2F811;W # CJK COMPATIBILITY IDEOGRAPH-2F811
++2F812;W # CJK COMPATIBILITY IDEOGRAPH-2F812
++2F813;W # CJK COMPATIBILITY IDEOGRAPH-2F813
++2F814;W # CJK COMPATIBILITY IDEOGRAPH-2F814
++2F815;W # CJK COMPATIBILITY IDEOGRAPH-2F815
++2F816;W # CJK COMPATIBILITY IDEOGRAPH-2F816
++2F817;W # CJK COMPATIBILITY IDEOGRAPH-2F817
++2F818;W # CJK COMPATIBILITY IDEOGRAPH-2F818
++2F819;W # CJK COMPATIBILITY IDEOGRAPH-2F819
++2F81A;W # CJK COMPATIBILITY IDEOGRAPH-2F81A
++2F81B;W # CJK COMPATIBILITY IDEOGRAPH-2F81B
++2F81C;W # CJK COMPATIBILITY IDEOGRAPH-2F81C
++2F81D;W # CJK COMPATIBILITY IDEOGRAPH-2F81D
++2F81E;W # CJK COMPATIBILITY IDEOGRAPH-2F81E
++2F81F;W # CJK COMPATIBILITY IDEOGRAPH-2F81F
++2F820;W # CJK COMPATIBILITY IDEOGRAPH-2F820
++2F821;W # CJK COMPATIBILITY IDEOGRAPH-2F821
++2F822;W # CJK COMPATIBILITY IDEOGRAPH-2F822
++2F823;W # CJK COMPATIBILITY IDEOGRAPH-2F823
++2F824;W # CJK COMPATIBILITY IDEOGRAPH-2F824
++2F825;W # CJK COMPATIBILITY IDEOGRAPH-2F825
++2F826;W # CJK COMPATIBILITY IDEOGRAPH-2F826
++2F827;W # CJK COMPATIBILITY IDEOGRAPH-2F827
++2F828;W # CJK COMPATIBILITY IDEOGRAPH-2F828
++2F829;W # CJK COMPATIBILITY IDEOGRAPH-2F829
++2F82A;W # CJK COMPATIBILITY IDEOGRAPH-2F82A
++2F82B;W # CJK COMPATIBILITY IDEOGRAPH-2F82B
++2F82C;W # CJK COMPATIBILITY IDEOGRAPH-2F82C
++2F82D;W # CJK COMPATIBILITY IDEOGRAPH-2F82D
++2F82E;W # CJK COMPATIBILITY IDEOGRAPH-2F82E
++2F82F;W # CJK COMPATIBILITY IDEOGRAPH-2F82F
++2F830;W # CJK COMPATIBILITY IDEOGRAPH-2F830
++2F831;W # CJK COMPATIBILITY IDEOGRAPH-2F831
++2F832;W # CJK COMPATIBILITY IDEOGRAPH-2F832
++2F833;W # CJK COMPATIBILITY IDEOGRAPH-2F833
++2F834;W # CJK COMPATIBILITY IDEOGRAPH-2F834
++2F835;W # CJK COMPATIBILITY IDEOGRAPH-2F835
++2F836;W # CJK COMPATIBILITY IDEOGRAPH-2F836
++2F837;W # CJK COMPATIBILITY IDEOGRAPH-2F837
++2F838;W # CJK COMPATIBILITY IDEOGRAPH-2F838
++2F839;W # CJK COMPATIBILITY IDEOGRAPH-2F839
++2F83A;W # CJK COMPATIBILITY IDEOGRAPH-2F83A
++2F83B;W # CJK COMPATIBILITY IDEOGRAPH-2F83B
++2F83C;W # CJK COMPATIBILITY IDEOGRAPH-2F83C
++2F83D;W # CJK COMPATIBILITY IDEOGRAPH-2F83D
++2F83E;W # CJK COMPATIBILITY IDEOGRAPH-2F83E
++2F83F;W # CJK COMPATIBILITY IDEOGRAPH-2F83F
++2F840;W # CJK COMPATIBILITY IDEOGRAPH-2F840
++2F841;W # CJK COMPATIBILITY IDEOGRAPH-2F841
++2F842;W # CJK COMPATIBILITY IDEOGRAPH-2F842
++2F843;W # CJK COMPATIBILITY IDEOGRAPH-2F843
++2F844;W # CJK COMPATIBILITY IDEOGRAPH-2F844
++2F845;W # CJK COMPATIBILITY IDEOGRAPH-2F845
++2F846;W # CJK COMPATIBILITY IDEOGRAPH-2F846
++2F847;W # CJK COMPATIBILITY IDEOGRAPH-2F847
++2F848;W # CJK COMPATIBILITY IDEOGRAPH-2F848
++2F849;W # CJK COMPATIBILITY IDEOGRAPH-2F849
++2F84A;W # CJK COMPATIBILITY IDEOGRAPH-2F84A
++2F84B;W # CJK COMPATIBILITY IDEOGRAPH-2F84B
++2F84C;W # CJK COMPATIBILITY IDEOGRAPH-2F84C
++2F84D;W # CJK COMPATIBILITY IDEOGRAPH-2F84D
++2F84E;W # CJK COMPATIBILITY IDEOGRAPH-2F84E
++2F84F;W # CJK COMPATIBILITY IDEOGRAPH-2F84F
++2F850;W # CJK COMPATIBILITY IDEOGRAPH-2F850
++2F851;W # CJK COMPATIBILITY IDEOGRAPH-2F851
++2F852;W # CJK COMPATIBILITY IDEOGRAPH-2F852
++2F853;W # CJK COMPATIBILITY IDEOGRAPH-2F853
++2F854;W # CJK COMPATIBILITY IDEOGRAPH-2F854
++2F855;W # CJK COMPATIBILITY IDEOGRAPH-2F855
++2F856;W # CJK COMPATIBILITY IDEOGRAPH-2F856
++2F857;W # CJK COMPATIBILITY IDEOGRAPH-2F857
++2F858;W # CJK COMPATIBILITY IDEOGRAPH-2F858
++2F859;W # CJK COMPATIBILITY IDEOGRAPH-2F859
++2F85A;W # CJK COMPATIBILITY IDEOGRAPH-2F85A
++2F85B;W # CJK COMPATIBILITY IDEOGRAPH-2F85B
++2F85C;W # CJK COMPATIBILITY IDEOGRAPH-2F85C
++2F85D;W # CJK COMPATIBILITY IDEOGRAPH-2F85D
++2F85E;W # CJK COMPATIBILITY IDEOGRAPH-2F85E
++2F85F;W # CJK COMPATIBILITY IDEOGRAPH-2F85F
++2F860;W # CJK COMPATIBILITY IDEOGRAPH-2F860
++2F861;W # CJK COMPATIBILITY IDEOGRAPH-2F861
++2F862;W # CJK COMPATIBILITY IDEOGRAPH-2F862
++2F863;W # CJK COMPATIBILITY IDEOGRAPH-2F863
++2F864;W # CJK COMPATIBILITY IDEOGRAPH-2F864
++2F865;W # CJK COMPATIBILITY IDEOGRAPH-2F865
++2F866;W # CJK COMPATIBILITY IDEOGRAPH-2F866
++2F867;W # CJK COMPATIBILITY IDEOGRAPH-2F867
++2F868;W # CJK COMPATIBILITY IDEOGRAPH-2F868
++2F869;W # CJK COMPATIBILITY IDEOGRAPH-2F869
++2F86A;W # CJK COMPATIBILITY IDEOGRAPH-2F86A
++2F86B;W # CJK COMPATIBILITY IDEOGRAPH-2F86B
++2F86C;W # CJK COMPATIBILITY IDEOGRAPH-2F86C
++2F86D;W # CJK COMPATIBILITY IDEOGRAPH-2F86D
++2F86E;W # CJK COMPATIBILITY IDEOGRAPH-2F86E
++2F86F;W # CJK COMPATIBILITY IDEOGRAPH-2F86F
++2F870;W # CJK COMPATIBILITY IDEOGRAPH-2F870
++2F871;W # CJK COMPATIBILITY IDEOGRAPH-2F871
++2F872;W # CJK COMPATIBILITY IDEOGRAPH-2F872
++2F873;W # CJK COMPATIBILITY IDEOGRAPH-2F873
++2F874;W # CJK COMPATIBILITY IDEOGRAPH-2F874
++2F875;W # CJK COMPATIBILITY IDEOGRAPH-2F875
++2F876;W # CJK COMPATIBILITY IDEOGRAPH-2F876
++2F877;W # CJK COMPATIBILITY IDEOGRAPH-2F877
++2F878;W # CJK COMPATIBILITY IDEOGRAPH-2F878
++2F879;W # CJK COMPATIBILITY IDEOGRAPH-2F879
++2F87A;W # CJK COMPATIBILITY IDEOGRAPH-2F87A
++2F87B;W # CJK COMPATIBILITY IDEOGRAPH-2F87B
++2F87C;W # CJK COMPATIBILITY IDEOGRAPH-2F87C
++2F87D;W # CJK COMPATIBILITY IDEOGRAPH-2F87D
++2F87E;W # CJK COMPATIBILITY IDEOGRAPH-2F87E
++2F87F;W # CJK COMPATIBILITY IDEOGRAPH-2F87F
++2F880;W # CJK COMPATIBILITY IDEOGRAPH-2F880
++2F881;W # CJK COMPATIBILITY IDEOGRAPH-2F881
++2F882;W # CJK COMPATIBILITY IDEOGRAPH-2F882
++2F883;W # CJK COMPATIBILITY IDEOGRAPH-2F883
++2F884;W # CJK COMPATIBILITY IDEOGRAPH-2F884
++2F885;W # CJK COMPATIBILITY IDEOGRAPH-2F885
++2F886;W # CJK COMPATIBILITY IDEOGRAPH-2F886
++2F887;W # CJK COMPATIBILITY IDEOGRAPH-2F887
++2F888;W # CJK COMPATIBILITY IDEOGRAPH-2F888
++2F889;W # CJK COMPATIBILITY IDEOGRAPH-2F889
++2F88A;W # CJK COMPATIBILITY IDEOGRAPH-2F88A
++2F88B;W # CJK COMPATIBILITY IDEOGRAPH-2F88B
++2F88C;W # CJK COMPATIBILITY IDEOGRAPH-2F88C
++2F88D;W # CJK COMPATIBILITY IDEOGRAPH-2F88D
++2F88E;W # CJK COMPATIBILITY IDEOGRAPH-2F88E
++2F88F;W # CJK COMPATIBILITY IDEOGRAPH-2F88F
++2F890;W # CJK COMPATIBILITY IDEOGRAPH-2F890
++2F891;W # CJK COMPATIBILITY IDEOGRAPH-2F891
++2F892;W # CJK COMPATIBILITY IDEOGRAPH-2F892
++2F893;W # CJK COMPATIBILITY IDEOGRAPH-2F893
++2F894;W # CJK COMPATIBILITY IDEOGRAPH-2F894
++2F895;W # CJK COMPATIBILITY IDEOGRAPH-2F895
++2F896;W # CJK COMPATIBILITY IDEOGRAPH-2F896
++2F897;W # CJK COMPATIBILITY IDEOGRAPH-2F897
++2F898;W # CJK COMPATIBILITY IDEOGRAPH-2F898
++2F899;W # CJK COMPATIBILITY IDEOGRAPH-2F899
++2F89A;W # CJK COMPATIBILITY IDEOGRAPH-2F89A
++2F89B;W # CJK COMPATIBILITY IDEOGRAPH-2F89B
++2F89C;W # CJK COMPATIBILITY IDEOGRAPH-2F89C
++2F89D;W # CJK COMPATIBILITY IDEOGRAPH-2F89D
++2F89E;W # CJK COMPATIBILITY IDEOGRAPH-2F89E
++2F89F;W # CJK COMPATIBILITY IDEOGRAPH-2F89F
++2F8A0;W # CJK COMPATIBILITY IDEOGRAPH-2F8A0
++2F8A1;W # CJK COMPATIBILITY IDEOGRAPH-2F8A1
++2F8A2;W # CJK COMPATIBILITY IDEOGRAPH-2F8A2
++2F8A3;W # CJK COMPATIBILITY IDEOGRAPH-2F8A3
++2F8A4;W # CJK COMPATIBILITY IDEOGRAPH-2F8A4
++2F8A5;W # CJK COMPATIBILITY IDEOGRAPH-2F8A5
++2F8A6;W # CJK COMPATIBILITY IDEOGRAPH-2F8A6
++2F8A7;W # CJK COMPATIBILITY IDEOGRAPH-2F8A7
++2F8A8;W # CJK COMPATIBILITY IDEOGRAPH-2F8A8
++2F8A9;W # CJK COMPATIBILITY IDEOGRAPH-2F8A9
++2F8AA;W # CJK COMPATIBILITY IDEOGRAPH-2F8AA
++2F8AB;W # CJK COMPATIBILITY IDEOGRAPH-2F8AB
++2F8AC;W # CJK COMPATIBILITY IDEOGRAPH-2F8AC
++2F8AD;W # CJK COMPATIBILITY IDEOGRAPH-2F8AD
++2F8AE;W # CJK COMPATIBILITY IDEOGRAPH-2F8AE
++2F8AF;W # CJK COMPATIBILITY IDEOGRAPH-2F8AF
++2F8B0;W # CJK COMPATIBILITY IDEOGRAPH-2F8B0
++2F8B1;W # CJK COMPATIBILITY IDEOGRAPH-2F8B1
++2F8B2;W # CJK COMPATIBILITY IDEOGRAPH-2F8B2
++2F8B3;W # CJK COMPATIBILITY IDEOGRAPH-2F8B3
++2F8B4;W # CJK COMPATIBILITY IDEOGRAPH-2F8B4
++2F8B5;W # CJK COMPATIBILITY IDEOGRAPH-2F8B5
++2F8B6;W # CJK COMPATIBILITY IDEOGRAPH-2F8B6
++2F8B7;W # CJK COMPATIBILITY IDEOGRAPH-2F8B7
++2F8B8;W # CJK COMPATIBILITY IDEOGRAPH-2F8B8
++2F8B9;W # CJK COMPATIBILITY IDEOGRAPH-2F8B9
++2F8BA;W # CJK COMPATIBILITY IDEOGRAPH-2F8BA
++2F8BB;W # CJK COMPATIBILITY IDEOGRAPH-2F8BB
++2F8BC;W # CJK COMPATIBILITY IDEOGRAPH-2F8BC
++2F8BD;W # CJK COMPATIBILITY IDEOGRAPH-2F8BD
++2F8BE;W # CJK COMPATIBILITY IDEOGRAPH-2F8BE
++2F8BF;W # CJK COMPATIBILITY IDEOGRAPH-2F8BF
++2F8C0;W # CJK COMPATIBILITY IDEOGRAPH-2F8C0
++2F8C1;W # CJK COMPATIBILITY IDEOGRAPH-2F8C1
++2F8C2;W # CJK COMPATIBILITY IDEOGRAPH-2F8C2
++2F8C3;W # CJK COMPATIBILITY IDEOGRAPH-2F8C3
++2F8C4;W # CJK COMPATIBILITY IDEOGRAPH-2F8C4
++2F8C5;W # CJK COMPATIBILITY IDEOGRAPH-2F8C5
++2F8C6;W # CJK COMPATIBILITY IDEOGRAPH-2F8C6
++2F8C7;W # CJK COMPATIBILITY IDEOGRAPH-2F8C7
++2F8C8;W # CJK COMPATIBILITY IDEOGRAPH-2F8C8
++2F8C9;W # CJK COMPATIBILITY IDEOGRAPH-2F8C9
++2F8CA;W # CJK COMPATIBILITY IDEOGRAPH-2F8CA
++2F8CB;W # CJK COMPATIBILITY IDEOGRAPH-2F8CB
++2F8CC;W # CJK COMPATIBILITY IDEOGRAPH-2F8CC
++2F8CD;W # CJK COMPATIBILITY IDEOGRAPH-2F8CD
++2F8CE;W # CJK COMPATIBILITY IDEOGRAPH-2F8CE
++2F8CF;W # CJK COMPATIBILITY IDEOGRAPH-2F8CF
++2F8D0;W # CJK COMPATIBILITY IDEOGRAPH-2F8D0
++2F8D1;W # CJK COMPATIBILITY IDEOGRAPH-2F8D1
++2F8D2;W # CJK COMPATIBILITY IDEOGRAPH-2F8D2
++2F8D3;W # CJK COMPATIBILITY IDEOGRAPH-2F8D3
++2F8D4;W # CJK COMPATIBILITY IDEOGRAPH-2F8D4
++2F8D5;W # CJK COMPATIBILITY IDEOGRAPH-2F8D5
++2F8D6;W # CJK COMPATIBILITY IDEOGRAPH-2F8D6
++2F8D7;W # CJK COMPATIBILITY IDEOGRAPH-2F8D7
++2F8D8;W # CJK COMPATIBILITY IDEOGRAPH-2F8D8
++2F8D9;W # CJK COMPATIBILITY IDEOGRAPH-2F8D9
++2F8DA;W # CJK COMPATIBILITY IDEOGRAPH-2F8DA
++2F8DB;W # CJK COMPATIBILITY IDEOGRAPH-2F8DB
++2F8DC;W # CJK COMPATIBILITY IDEOGRAPH-2F8DC
++2F8DD;W # CJK COMPATIBILITY IDEOGRAPH-2F8DD
++2F8DE;W # CJK COMPATIBILITY IDEOGRAPH-2F8DE
++2F8DF;W # CJK COMPATIBILITY IDEOGRAPH-2F8DF
++2F8E0;W # CJK COMPATIBILITY IDEOGRAPH-2F8E0
++2F8E1;W # CJK COMPATIBILITY IDEOGRAPH-2F8E1
++2F8E2;W # CJK COMPATIBILITY IDEOGRAPH-2F8E2
++2F8E3;W # CJK COMPATIBILITY IDEOGRAPH-2F8E3
++2F8E4;W # CJK COMPATIBILITY IDEOGRAPH-2F8E4
++2F8E5;W # CJK COMPATIBILITY IDEOGRAPH-2F8E5
++2F8E6;W # CJK COMPATIBILITY IDEOGRAPH-2F8E6
++2F8E7;W # CJK COMPATIBILITY IDEOGRAPH-2F8E7
++2F8E8;W # CJK COMPATIBILITY IDEOGRAPH-2F8E8
++2F8E9;W # CJK COMPATIBILITY IDEOGRAPH-2F8E9
++2F8EA;W # CJK COMPATIBILITY IDEOGRAPH-2F8EA
++2F8EB;W # CJK COMPATIBILITY IDEOGRAPH-2F8EB
++2F8EC;W # CJK COMPATIBILITY IDEOGRAPH-2F8EC
++2F8ED;W # CJK COMPATIBILITY IDEOGRAPH-2F8ED
++2F8EE;W # CJK COMPATIBILITY IDEOGRAPH-2F8EE
++2F8EF;W # CJK COMPATIBILITY IDEOGRAPH-2F8EF
++2F8F0;W # CJK COMPATIBILITY IDEOGRAPH-2F8F0
++2F8F1;W # CJK COMPATIBILITY IDEOGRAPH-2F8F1
++2F8F2;W # CJK COMPATIBILITY IDEOGRAPH-2F8F2
++2F8F3;W # CJK COMPATIBILITY IDEOGRAPH-2F8F3
++2F8F4;W # CJK COMPATIBILITY IDEOGRAPH-2F8F4
++2F8F5;W # CJK COMPATIBILITY IDEOGRAPH-2F8F5
++2F8F6;W # CJK COMPATIBILITY IDEOGRAPH-2F8F6
++2F8F7;W # CJK COMPATIBILITY IDEOGRAPH-2F8F7
++2F8F8;W # CJK COMPATIBILITY IDEOGRAPH-2F8F8
++2F8F9;W # CJK COMPATIBILITY IDEOGRAPH-2F8F9
++2F8FA;W # CJK COMPATIBILITY IDEOGRAPH-2F8FA
++2F8FB;W # CJK COMPATIBILITY IDEOGRAPH-2F8FB
++2F8FC;W # CJK COMPATIBILITY IDEOGRAPH-2F8FC
++2F8FD;W # CJK COMPATIBILITY IDEOGRAPH-2F8FD
++2F8FE;W # CJK COMPATIBILITY IDEOGRAPH-2F8FE
++2F8FF;W # CJK COMPATIBILITY IDEOGRAPH-2F8FF
++2F900;W # CJK COMPATIBILITY IDEOGRAPH-2F900
++2F901;W # CJK COMPATIBILITY IDEOGRAPH-2F901
++2F902;W # CJK COMPATIBILITY IDEOGRAPH-2F902
++2F903;W # CJK COMPATIBILITY IDEOGRAPH-2F903
++2F904;W # CJK COMPATIBILITY IDEOGRAPH-2F904
++2F905;W # CJK COMPATIBILITY IDEOGRAPH-2F905
++2F906;W # CJK COMPATIBILITY IDEOGRAPH-2F906
++2F907;W # CJK COMPATIBILITY IDEOGRAPH-2F907
++2F908;W # CJK COMPATIBILITY IDEOGRAPH-2F908
++2F909;W # CJK COMPATIBILITY IDEOGRAPH-2F909
++2F90A;W # CJK COMPATIBILITY IDEOGRAPH-2F90A
++2F90B;W # CJK COMPATIBILITY IDEOGRAPH-2F90B
++2F90C;W # CJK COMPATIBILITY IDEOGRAPH-2F90C
++2F90D;W # CJK COMPATIBILITY IDEOGRAPH-2F90D
++2F90E;W # CJK COMPATIBILITY IDEOGRAPH-2F90E
++2F90F;W # CJK COMPATIBILITY IDEOGRAPH-2F90F
++2F910;W # CJK COMPATIBILITY IDEOGRAPH-2F910
++2F911;W # CJK COMPATIBILITY IDEOGRAPH-2F911
++2F912;W # CJK COMPATIBILITY IDEOGRAPH-2F912
++2F913;W # CJK COMPATIBILITY IDEOGRAPH-2F913
++2F914;W # CJK COMPATIBILITY IDEOGRAPH-2F914
++2F915;W # CJK COMPATIBILITY IDEOGRAPH-2F915
++2F916;W # CJK COMPATIBILITY IDEOGRAPH-2F916
++2F917;W # CJK COMPATIBILITY IDEOGRAPH-2F917
++2F918;W # CJK COMPATIBILITY IDEOGRAPH-2F918
++2F919;W # CJK COMPATIBILITY IDEOGRAPH-2F919
++2F91A;W # CJK COMPATIBILITY IDEOGRAPH-2F91A
++2F91B;W # CJK COMPATIBILITY IDEOGRAPH-2F91B
++2F91C;W # CJK COMPATIBILITY IDEOGRAPH-2F91C
++2F91D;W # CJK COMPATIBILITY IDEOGRAPH-2F91D
++2F91E;W # CJK COMPATIBILITY IDEOGRAPH-2F91E
++2F91F;W # CJK COMPATIBILITY IDEOGRAPH-2F91F
++2F920;W # CJK COMPATIBILITY IDEOGRAPH-2F920
++2F921;W # CJK COMPATIBILITY IDEOGRAPH-2F921
++2F922;W # CJK COMPATIBILITY IDEOGRAPH-2F922
++2F923;W # CJK COMPATIBILITY IDEOGRAPH-2F923
++2F924;W # CJK COMPATIBILITY IDEOGRAPH-2F924
++2F925;W # CJK COMPATIBILITY IDEOGRAPH-2F925
++2F926;W # CJK COMPATIBILITY IDEOGRAPH-2F926
++2F927;W # CJK COMPATIBILITY IDEOGRAPH-2F927
++2F928;W # CJK COMPATIBILITY IDEOGRAPH-2F928
++2F929;W # CJK COMPATIBILITY IDEOGRAPH-2F929
++2F92A;W # CJK COMPATIBILITY IDEOGRAPH-2F92A
++2F92B;W # CJK COMPATIBILITY IDEOGRAPH-2F92B
++2F92C;W # CJK COMPATIBILITY IDEOGRAPH-2F92C
++2F92D;W # CJK COMPATIBILITY IDEOGRAPH-2F92D
++2F92E;W # CJK COMPATIBILITY IDEOGRAPH-2F92E
++2F92F;W # CJK COMPATIBILITY IDEOGRAPH-2F92F
++2F930;W # CJK COMPATIBILITY IDEOGRAPH-2F930
++2F931;W # CJK COMPATIBILITY IDEOGRAPH-2F931
++2F932;W # CJK COMPATIBILITY IDEOGRAPH-2F932
++2F933;W # CJK COMPATIBILITY IDEOGRAPH-2F933
++2F934;W # CJK COMPATIBILITY IDEOGRAPH-2F934
++2F935;W # CJK COMPATIBILITY IDEOGRAPH-2F935
++2F936;W # CJK COMPATIBILITY IDEOGRAPH-2F936
++2F937;W # CJK COMPATIBILITY IDEOGRAPH-2F937
++2F938;W # CJK COMPATIBILITY IDEOGRAPH-2F938
++2F939;W # CJK COMPATIBILITY IDEOGRAPH-2F939
++2F93A;W # CJK COMPATIBILITY IDEOGRAPH-2F93A
++2F93B;W # CJK COMPATIBILITY IDEOGRAPH-2F93B
++2F93C;W # CJK COMPATIBILITY IDEOGRAPH-2F93C
++2F93D;W # CJK COMPATIBILITY IDEOGRAPH-2F93D
++2F93E;W # CJK COMPATIBILITY IDEOGRAPH-2F93E
++2F93F;W # CJK COMPATIBILITY IDEOGRAPH-2F93F
++2F940;W # CJK COMPATIBILITY IDEOGRAPH-2F940
++2F941;W # CJK COMPATIBILITY IDEOGRAPH-2F941
++2F942;W # CJK COMPATIBILITY IDEOGRAPH-2F942
++2F943;W # CJK COMPATIBILITY IDEOGRAPH-2F943
++2F944;W # CJK COMPATIBILITY IDEOGRAPH-2F944
++2F945;W # CJK COMPATIBILITY IDEOGRAPH-2F945
++2F946;W # CJK COMPATIBILITY IDEOGRAPH-2F946
++2F947;W # CJK COMPATIBILITY IDEOGRAPH-2F947
++2F948;W # CJK COMPATIBILITY IDEOGRAPH-2F948
++2F949;W # CJK COMPATIBILITY IDEOGRAPH-2F949
++2F94A;W # CJK COMPATIBILITY IDEOGRAPH-2F94A
++2F94B;W # CJK COMPATIBILITY IDEOGRAPH-2F94B
++2F94C;W # CJK COMPATIBILITY IDEOGRAPH-2F94C
++2F94D;W # CJK COMPATIBILITY IDEOGRAPH-2F94D
++2F94E;W # CJK COMPATIBILITY IDEOGRAPH-2F94E
++2F94F;W # CJK COMPATIBILITY IDEOGRAPH-2F94F
++2F950;W # CJK COMPATIBILITY IDEOGRAPH-2F950
++2F951;W # CJK COMPATIBILITY IDEOGRAPH-2F951
++2F952;W # CJK COMPATIBILITY IDEOGRAPH-2F952
++2F953;W # CJK COMPATIBILITY IDEOGRAPH-2F953
++2F954;W # CJK COMPATIBILITY IDEOGRAPH-2F954
++2F955;W # CJK COMPATIBILITY IDEOGRAPH-2F955
++2F956;W # CJK COMPATIBILITY IDEOGRAPH-2F956
++2F957;W # CJK COMPATIBILITY IDEOGRAPH-2F957
++2F958;W # CJK COMPATIBILITY IDEOGRAPH-2F958
++2F959;W # CJK COMPATIBILITY IDEOGRAPH-2F959
++2F95A;W # CJK COMPATIBILITY IDEOGRAPH-2F95A
++2F95B;W # CJK COMPATIBILITY IDEOGRAPH-2F95B
++2F95C;W # CJK COMPATIBILITY IDEOGRAPH-2F95C
++2F95D;W # CJK COMPATIBILITY IDEOGRAPH-2F95D
++2F95E;W # CJK COMPATIBILITY IDEOGRAPH-2F95E
++2F95F;W # CJK COMPATIBILITY IDEOGRAPH-2F95F
++2F960;W # CJK COMPATIBILITY IDEOGRAPH-2F960
++2F961;W # CJK COMPATIBILITY IDEOGRAPH-2F961
++2F962;W # CJK COMPATIBILITY IDEOGRAPH-2F962
++2F963;W # CJK COMPATIBILITY IDEOGRAPH-2F963
++2F964;W # CJK COMPATIBILITY IDEOGRAPH-2F964
++2F965;W # CJK COMPATIBILITY IDEOGRAPH-2F965
++2F966;W # CJK COMPATIBILITY IDEOGRAPH-2F966
++2F967;W # CJK COMPATIBILITY IDEOGRAPH-2F967
++2F968;W # CJK COMPATIBILITY IDEOGRAPH-2F968
++2F969;W # CJK COMPATIBILITY IDEOGRAPH-2F969
++2F96A;W # CJK COMPATIBILITY IDEOGRAPH-2F96A
++2F96B;W # CJK COMPATIBILITY IDEOGRAPH-2F96B
++2F96C;W # CJK COMPATIBILITY IDEOGRAPH-2F96C
++2F96D;W # CJK COMPATIBILITY IDEOGRAPH-2F96D
++2F96E;W # CJK COMPATIBILITY IDEOGRAPH-2F96E
++2F96F;W # CJK COMPATIBILITY IDEOGRAPH-2F96F
++2F970;W # CJK COMPATIBILITY IDEOGRAPH-2F970
++2F971;W # CJK COMPATIBILITY IDEOGRAPH-2F971
++2F972;W # CJK COMPATIBILITY IDEOGRAPH-2F972
++2F973;W # CJK COMPATIBILITY IDEOGRAPH-2F973
++2F974;W # CJK COMPATIBILITY IDEOGRAPH-2F974
++2F975;W # CJK COMPATIBILITY IDEOGRAPH-2F975
++2F976;W # CJK COMPATIBILITY IDEOGRAPH-2F976
++2F977;W # CJK COMPATIBILITY IDEOGRAPH-2F977
++2F978;W # CJK COMPATIBILITY IDEOGRAPH-2F978
++2F979;W # CJK COMPATIBILITY IDEOGRAPH-2F979
++2F97A;W # CJK COMPATIBILITY IDEOGRAPH-2F97A
++2F97B;W # CJK COMPATIBILITY IDEOGRAPH-2F97B
++2F97C;W # CJK COMPATIBILITY IDEOGRAPH-2F97C
++2F97D;W # CJK COMPATIBILITY IDEOGRAPH-2F97D
++2F97E;W # CJK COMPATIBILITY IDEOGRAPH-2F97E
++2F97F;W # CJK COMPATIBILITY IDEOGRAPH-2F97F
++2F980;W # CJK COMPATIBILITY IDEOGRAPH-2F980
++2F981;W # CJK COMPATIBILITY IDEOGRAPH-2F981
++2F982;W # CJK COMPATIBILITY IDEOGRAPH-2F982
++2F983;W # CJK COMPATIBILITY IDEOGRAPH-2F983
++2F984;W # CJK COMPATIBILITY IDEOGRAPH-2F984
++2F985;W # CJK COMPATIBILITY IDEOGRAPH-2F985
++2F986;W # CJK COMPATIBILITY IDEOGRAPH-2F986
++2F987;W # CJK COMPATIBILITY IDEOGRAPH-2F987
++2F988;W # CJK COMPATIBILITY IDEOGRAPH-2F988
++2F989;W # CJK COMPATIBILITY IDEOGRAPH-2F989
++2F98A;W # CJK COMPATIBILITY IDEOGRAPH-2F98A
++2F98B;W # CJK COMPATIBILITY IDEOGRAPH-2F98B
++2F98C;W # CJK COMPATIBILITY IDEOGRAPH-2F98C
++2F98D;W # CJK COMPATIBILITY IDEOGRAPH-2F98D
++2F98E;W # CJK COMPATIBILITY IDEOGRAPH-2F98E
++2F98F;W # CJK COMPATIBILITY IDEOGRAPH-2F98F
++2F990;W # CJK COMPATIBILITY IDEOGRAPH-2F990
++2F991;W # CJK COMPATIBILITY IDEOGRAPH-2F991
++2F992;W # CJK COMPATIBILITY IDEOGRAPH-2F992
++2F993;W # CJK COMPATIBILITY IDEOGRAPH-2F993
++2F994;W # CJK COMPATIBILITY IDEOGRAPH-2F994
++2F995;W # CJK COMPATIBILITY IDEOGRAPH-2F995
++2F996;W # CJK COMPATIBILITY IDEOGRAPH-2F996
++2F997;W # CJK COMPATIBILITY IDEOGRAPH-2F997
++2F998;W # CJK COMPATIBILITY IDEOGRAPH-2F998
++2F999;W # CJK COMPATIBILITY IDEOGRAPH-2F999
++2F99A;W # CJK COMPATIBILITY IDEOGRAPH-2F99A
++2F99B;W # CJK COMPATIBILITY IDEOGRAPH-2F99B
++2F99C;W # CJK COMPATIBILITY IDEOGRAPH-2F99C
++2F99D;W # CJK COMPATIBILITY IDEOGRAPH-2F99D
++2F99E;W # CJK COMPATIBILITY IDEOGRAPH-2F99E
++2F99F;W # CJK COMPATIBILITY IDEOGRAPH-2F99F
++2F9A0;W # CJK COMPATIBILITY IDEOGRAPH-2F9A0
++2F9A1;W # CJK COMPATIBILITY IDEOGRAPH-2F9A1
++2F9A2;W # CJK COMPATIBILITY IDEOGRAPH-2F9A2
++2F9A3;W # CJK COMPATIBILITY IDEOGRAPH-2F9A3
++2F9A4;W # CJK COMPATIBILITY IDEOGRAPH-2F9A4
++2F9A5;W # CJK COMPATIBILITY IDEOGRAPH-2F9A5
++2F9A6;W # CJK COMPATIBILITY IDEOGRAPH-2F9A6
++2F9A7;W # CJK COMPATIBILITY IDEOGRAPH-2F9A7
++2F9A8;W # CJK COMPATIBILITY IDEOGRAPH-2F9A8
++2F9A9;W # CJK COMPATIBILITY IDEOGRAPH-2F9A9
++2F9AA;W # CJK COMPATIBILITY IDEOGRAPH-2F9AA
++2F9AB;W # CJK COMPATIBILITY IDEOGRAPH-2F9AB
++2F9AC;W # CJK COMPATIBILITY IDEOGRAPH-2F9AC
++2F9AD;W # CJK COMPATIBILITY IDEOGRAPH-2F9AD
++2F9AE;W # CJK COMPATIBILITY IDEOGRAPH-2F9AE
++2F9AF;W # CJK COMPATIBILITY IDEOGRAPH-2F9AF
++2F9B0;W # CJK COMPATIBILITY IDEOGRAPH-2F9B0
++2F9B1;W # CJK COMPATIBILITY IDEOGRAPH-2F9B1
++2F9B2;W # CJK COMPATIBILITY IDEOGRAPH-2F9B2
++2F9B3;W # CJK COMPATIBILITY IDEOGRAPH-2F9B3
++2F9B4;W # CJK COMPATIBILITY IDEOGRAPH-2F9B4
++2F9B5;W # CJK COMPATIBILITY IDEOGRAPH-2F9B5
++2F9B6;W # CJK COMPATIBILITY IDEOGRAPH-2F9B6
++2F9B7;W # CJK COMPATIBILITY IDEOGRAPH-2F9B7
++2F9B8;W # CJK COMPATIBILITY IDEOGRAPH-2F9B8
++2F9B9;W # CJK COMPATIBILITY IDEOGRAPH-2F9B9
++2F9BA;W # CJK COMPATIBILITY IDEOGRAPH-2F9BA
++2F9BB;W # CJK COMPATIBILITY IDEOGRAPH-2F9BB
++2F9BC;W # CJK COMPATIBILITY IDEOGRAPH-2F9BC
++2F9BD;W # CJK COMPATIBILITY IDEOGRAPH-2F9BD
++2F9BE;W # CJK COMPATIBILITY IDEOGRAPH-2F9BE
++2F9BF;W # CJK COMPATIBILITY IDEOGRAPH-2F9BF
++2F9C0;W # CJK COMPATIBILITY IDEOGRAPH-2F9C0
++2F9C1;W # CJK COMPATIBILITY IDEOGRAPH-2F9C1
++2F9C2;W # CJK COMPATIBILITY IDEOGRAPH-2F9C2
++2F9C3;W # CJK COMPATIBILITY IDEOGRAPH-2F9C3
++2F9C4;W # CJK COMPATIBILITY IDEOGRAPH-2F9C4
++2F9C5;W # CJK COMPATIBILITY IDEOGRAPH-2F9C5
++2F9C6;W # CJK COMPATIBILITY IDEOGRAPH-2F9C6
++2F9C7;W # CJK COMPATIBILITY IDEOGRAPH-2F9C7
++2F9C8;W # CJK COMPATIBILITY IDEOGRAPH-2F9C8
++2F9C9;W # CJK COMPATIBILITY IDEOGRAPH-2F9C9
++2F9CA;W # CJK COMPATIBILITY IDEOGRAPH-2F9CA
++2F9CB;W # CJK COMPATIBILITY IDEOGRAPH-2F9CB
++2F9CC;W # CJK COMPATIBILITY IDEOGRAPH-2F9CC
++2F9CD;W # CJK COMPATIBILITY IDEOGRAPH-2F9CD
++2F9CE;W # CJK COMPATIBILITY IDEOGRAPH-2F9CE
++2F9CF;W # CJK COMPATIBILITY IDEOGRAPH-2F9CF
++2F9D0;W # CJK COMPATIBILITY IDEOGRAPH-2F9D0
++2F9D1;W # CJK COMPATIBILITY IDEOGRAPH-2F9D1
++2F9D2;W # CJK COMPATIBILITY IDEOGRAPH-2F9D2
++2F9D3;W # CJK COMPATIBILITY IDEOGRAPH-2F9D3
++2F9D4;W # CJK COMPATIBILITY IDEOGRAPH-2F9D4
++2F9D5;W # CJK COMPATIBILITY IDEOGRAPH-2F9D5
++2F9D6;W # CJK COMPATIBILITY IDEOGRAPH-2F9D6
++2F9D7;W # CJK COMPATIBILITY IDEOGRAPH-2F9D7
++2F9D8;W # CJK COMPATIBILITY IDEOGRAPH-2F9D8
++2F9D9;W # CJK COMPATIBILITY IDEOGRAPH-2F9D9
++2F9DA;W # CJK COMPATIBILITY IDEOGRAPH-2F9DA
++2F9DB;W # CJK COMPATIBILITY IDEOGRAPH-2F9DB
++2F9DC;W # CJK COMPATIBILITY IDEOGRAPH-2F9DC
++2F9DD;W # CJK COMPATIBILITY IDEOGRAPH-2F9DD
++2F9DE;W # CJK COMPATIBILITY IDEOGRAPH-2F9DE
++2F9DF;W # CJK COMPATIBILITY IDEOGRAPH-2F9DF
++2F9E0;W # CJK COMPATIBILITY IDEOGRAPH-2F9E0
++2F9E1;W # CJK COMPATIBILITY IDEOGRAPH-2F9E1
++2F9E2;W # CJK COMPATIBILITY IDEOGRAPH-2F9E2
++2F9E3;W # CJK COMPATIBILITY IDEOGRAPH-2F9E3
++2F9E4;W # CJK COMPATIBILITY IDEOGRAPH-2F9E4
++2F9E5;W # CJK COMPATIBILITY IDEOGRAPH-2F9E5
++2F9E6;W # CJK COMPATIBILITY IDEOGRAPH-2F9E6
++2F9E7;W # CJK COMPATIBILITY IDEOGRAPH-2F9E7
++2F9E8;W # CJK COMPATIBILITY IDEOGRAPH-2F9E8
++2F9E9;W # CJK COMPATIBILITY IDEOGRAPH-2F9E9
++2F9EA;W # CJK COMPATIBILITY IDEOGRAPH-2F9EA
++2F9EB;W # CJK COMPATIBILITY IDEOGRAPH-2F9EB
++2F9EC;W # CJK COMPATIBILITY IDEOGRAPH-2F9EC
++2F9ED;W # CJK COMPATIBILITY IDEOGRAPH-2F9ED
++2F9EE;W # CJK COMPATIBILITY IDEOGRAPH-2F9EE
++2F9EF;W # CJK COMPATIBILITY IDEOGRAPH-2F9EF
++2F9F0;W # CJK COMPATIBILITY IDEOGRAPH-2F9F0
++2F9F1;W # CJK COMPATIBILITY IDEOGRAPH-2F9F1
++2F9F2;W # CJK COMPATIBILITY IDEOGRAPH-2F9F2
++2F9F3;W # CJK COMPATIBILITY IDEOGRAPH-2F9F3
++2F9F4;W # CJK COMPATIBILITY IDEOGRAPH-2F9F4
++2F9F5;W # CJK COMPATIBILITY IDEOGRAPH-2F9F5
++2F9F6;W # CJK COMPATIBILITY IDEOGRAPH-2F9F6
++2F9F7;W # CJK COMPATIBILITY IDEOGRAPH-2F9F7
++2F9F8;W # CJK COMPATIBILITY IDEOGRAPH-2F9F8
++2F9F9;W # CJK COMPATIBILITY IDEOGRAPH-2F9F9
++2F9FA;W # CJK COMPATIBILITY IDEOGRAPH-2F9FA
++2F9FB;W # CJK COMPATIBILITY IDEOGRAPH-2F9FB
++2F9FC;W # CJK COMPATIBILITY IDEOGRAPH-2F9FC
++2F9FD;W # CJK COMPATIBILITY IDEOGRAPH-2F9FD
++2F9FE;W # CJK COMPATIBILITY IDEOGRAPH-2F9FE
++2F9FF;W # CJK COMPATIBILITY IDEOGRAPH-2F9FF
++2FA00;W # CJK COMPATIBILITY IDEOGRAPH-2FA00
++2FA01;W # CJK COMPATIBILITY IDEOGRAPH-2FA01
++2FA02;W # CJK COMPATIBILITY IDEOGRAPH-2FA02
++2FA03;W # CJK COMPATIBILITY IDEOGRAPH-2FA03
++2FA04;W # CJK COMPATIBILITY IDEOGRAPH-2FA04
++2FA05;W # CJK COMPATIBILITY IDEOGRAPH-2FA05
++2FA06;W # CJK COMPATIBILITY IDEOGRAPH-2FA06
++2FA07;W # CJK COMPATIBILITY IDEOGRAPH-2FA07
++2FA08;W # CJK COMPATIBILITY IDEOGRAPH-2FA08
++2FA09;W # CJK COMPATIBILITY IDEOGRAPH-2FA09
++2FA0A;W # CJK COMPATIBILITY IDEOGRAPH-2FA0A
++2FA0B;W # CJK COMPATIBILITY IDEOGRAPH-2FA0B
++2FA0C;W # CJK COMPATIBILITY IDEOGRAPH-2FA0C
++2FA0D;W # CJK COMPATIBILITY IDEOGRAPH-2FA0D
++2FA0E;W # CJK COMPATIBILITY IDEOGRAPH-2FA0E
++2FA0F;W # CJK COMPATIBILITY IDEOGRAPH-2FA0F
++2FA10;W # CJK COMPATIBILITY IDEOGRAPH-2FA10
++2FA11;W # CJK COMPATIBILITY IDEOGRAPH-2FA11
++2FA12;W # CJK COMPATIBILITY IDEOGRAPH-2FA12
++2FA13;W # CJK COMPATIBILITY IDEOGRAPH-2FA13
++2FA14;W # CJK COMPATIBILITY IDEOGRAPH-2FA14
++2FA15;W # CJK COMPATIBILITY IDEOGRAPH-2FA15
++2FA16;W # CJK COMPATIBILITY IDEOGRAPH-2FA16
++2FA17;W # CJK COMPATIBILITY IDEOGRAPH-2FA17
++2FA18;W # CJK COMPATIBILITY IDEOGRAPH-2FA18
++2FA19;W # CJK COMPATIBILITY IDEOGRAPH-2FA19
++2FA1A;W # CJK COMPATIBILITY IDEOGRAPH-2FA1A
++2FA1B;W # CJK COMPATIBILITY IDEOGRAPH-2FA1B
++2FA1C;W # CJK COMPATIBILITY IDEOGRAPH-2FA1C
++2FA1D;W # CJK COMPATIBILITY IDEOGRAPH-2FA1D
++2FA1E..2FFFD;W # <reserved-2FA1E>..<reserved-2FFFD>
++30000..3FFFD;W # <reserved-30000>..<reserved-3FFFD>
++E0001;N # LANGUAGE TAG
++E0020;N # TAG SPACE
++E0021;N # TAG EXCLAMATION MARK
++E0022;N # TAG QUOTATION MARK
++E0023;N # TAG NUMBER SIGN
++E0024;N # TAG DOLLAR SIGN
++E0025;N # TAG PERCENT SIGN
++E0026;N # TAG AMPERSAND
++E0027;N # TAG APOSTROPHE
++E0028;N # TAG LEFT PARENTHESIS
++E0029;N # TAG RIGHT PARENTHESIS
++E002A;N # TAG ASTERISK
++E002B;N # TAG PLUS SIGN
++E002C;N # TAG COMMA
++E002D;N # TAG HYPHEN-MINUS
++E002E;N # TAG FULL STOP
++E002F;N # TAG SOLIDUS
++E0030;N # TAG DIGIT ZERO
++E0031;N # TAG DIGIT ONE
++E0032;N # TAG DIGIT TWO
++E0033;N # TAG DIGIT THREE
++E0034;N # TAG DIGIT FOUR
++E0035;N # TAG DIGIT FIVE
++E0036;N # TAG DIGIT SIX
++E0037;N # TAG DIGIT SEVEN
++E0038;N # TAG DIGIT EIGHT
++E0039;N # TAG DIGIT NINE
++E003A;N # TAG COLON
++E003B;N # TAG SEMICOLON
++E003C;N # TAG LESS-THAN SIGN
++E003D;N # TAG EQUALS SIGN
++E003E;N # TAG GREATER-THAN SIGN
++E003F;N # TAG QUESTION MARK
++E0040;N # TAG COMMERCIAL AT
++E0041;N # TAG LATIN CAPITAL LETTER A
++E0042;N # TAG LATIN CAPITAL LETTER B
++E0043;N # TAG LATIN CAPITAL LETTER C
++E0044;N # TAG LATIN CAPITAL LETTER D
++E0045;N # TAG LATIN CAPITAL LETTER E
++E0046;N # TAG LATIN CAPITAL LETTER F
++E0047;N # TAG LATIN CAPITAL LETTER G
++E0048;N # TAG LATIN CAPITAL LETTER H
++E0049;N # TAG LATIN CAPITAL LETTER I
++E004A;N # TAG LATIN CAPITAL LETTER J
++E004B;N # TAG LATIN CAPITAL LETTER K
++E004C;N # TAG LATIN CAPITAL LETTER L
++E004D;N # TAG LATIN CAPITAL LETTER M
++E004E;N # TAG LATIN CAPITAL LETTER N
++E004F;N # TAG LATIN CAPITAL LETTER O
++E0050;N # TAG LATIN CAPITAL LETTER P
++E0051;N # TAG LATIN CAPITAL LETTER Q
++E0052;N # TAG LATIN CAPITAL LETTER R
++E0053;N # TAG LATIN CAPITAL LETTER S
++E0054;N # TAG LATIN CAPITAL LETTER T
++E0055;N # TAG LATIN CAPITAL LETTER U
++E0056;N # TAG LATIN CAPITAL LETTER V
++E0057;N # TAG LATIN CAPITAL LETTER W
++E0058;N # TAG LATIN CAPITAL LETTER X
++E0059;N # TAG LATIN CAPITAL LETTER Y
++E005A;N # TAG LATIN CAPITAL LETTER Z
++E005B;N # TAG LEFT SQUARE BRACKET
++E005C;N # TAG REVERSE SOLIDUS
++E005D;N # TAG RIGHT SQUARE BRACKET
++E005E;N # TAG CIRCUMFLEX ACCENT
++E005F;N # TAG LOW LINE
++E0060;N # TAG GRAVE ACCENT
++E0061;N # TAG LATIN SMALL LETTER A
++E0062;N # TAG LATIN SMALL LETTER B
++E0063;N # TAG LATIN SMALL LETTER C
++E0064;N # TAG LATIN SMALL LETTER D
++E0065;N # TAG LATIN SMALL LETTER E
++E0066;N # TAG LATIN SMALL LETTER F
++E0067;N # TAG LATIN SMALL LETTER G
++E0068;N # TAG LATIN SMALL LETTER H
++E0069;N # TAG LATIN SMALL LETTER I
++E006A;N # TAG LATIN SMALL LETTER J
++E006B;N # TAG LATIN SMALL LETTER K
++E006C;N # TAG LATIN SMALL LETTER L
++E006D;N # TAG LATIN SMALL LETTER M
++E006E;N # TAG LATIN SMALL LETTER N
++E006F;N # TAG LATIN SMALL LETTER O
++E0070;N # TAG LATIN SMALL LETTER P
++E0071;N # TAG LATIN SMALL LETTER Q
++E0072;N # TAG LATIN SMALL LETTER R
++E0073;N # TAG LATIN SMALL LETTER S
++E0074;N # TAG LATIN SMALL LETTER T
++E0075;N # TAG LATIN SMALL LETTER U
++E0076;N # TAG LATIN SMALL LETTER V
++E0077;N # TAG LATIN SMALL LETTER W
++E0078;N # TAG LATIN SMALL LETTER X
++E0079;N # TAG LATIN SMALL LETTER Y
++E007A;N # TAG LATIN SMALL LETTER Z
++E007B;N # TAG LEFT CURLY BRACKET
++E007C;N # TAG VERTICAL LINE
++E007D;N # TAG RIGHT CURLY BRACKET
++E007E;N # TAG TILDE
++E007F;N # CANCEL TAG
++E0100;A # VARIATION SELECTOR-17
++E0101;A # VARIATION SELECTOR-18
++E0102;A # VARIATION SELECTOR-19
++E0103;A # VARIATION SELECTOR-20
++E0104;A # VARIATION SELECTOR-21
++E0105;A # VARIATION SELECTOR-22
++E0106;A # VARIATION SELECTOR-23
++E0107;A # VARIATION SELECTOR-24
++E0108;A # VARIATION SELECTOR-25
++E0109;A # VARIATION SELECTOR-26
++E010A;A # VARIATION SELECTOR-27
++E010B;A # VARIATION SELECTOR-28
++E010C;A # VARIATION SELECTOR-29
++E010D;A # VARIATION SELECTOR-30
++E010E;A # VARIATION SELECTOR-31
++E010F;A # VARIATION SELECTOR-32
++E0110;A # VARIATION SELECTOR-33
++E0111;A # VARIATION SELECTOR-34
++E0112;A # VARIATION SELECTOR-35
++E0113;A # VARIATION SELECTOR-36
++E0114;A # VARIATION SELECTOR-37
++E0115;A # VARIATION SELECTOR-38
++E0116;A # VARIATION SELECTOR-39
++E0117;A # VARIATION SELECTOR-40
++E0118;A # VARIATION SELECTOR-41
++E0119;A # VARIATION SELECTOR-42
++E011A;A # VARIATION SELECTOR-43
++E011B;A # VARIATION SELECTOR-44
++E011C;A # VARIATION SELECTOR-45
++E011D;A # VARIATION SELECTOR-46
++E011E;A # VARIATION SELECTOR-47
++E011F;A # VARIATION SELECTOR-48
++E0120;A # VARIATION SELECTOR-49
++E0121;A # VARIATION SELECTOR-50
++E0122;A # VARIATION SELECTOR-51
++E0123;A # VARIATION SELECTOR-52
++E0124;A # VARIATION SELECTOR-53
++E0125;A # VARIATION SELECTOR-54
++E0126;A # VARIATION SELECTOR-55
++E0127;A # VARIATION SELECTOR-56
++E0128;A # VARIATION SELECTOR-57
++E0129;A # VARIATION SELECTOR-58
++E012A;A # VARIATION SELECTOR-59
++E012B;A # VARIATION SELECTOR-60
++E012C;A # VARIATION SELECTOR-61
++E012D;A # VARIATION SELECTOR-62
++E012E;A # VARIATION SELECTOR-63
++E012F;A # VARIATION SELECTOR-64
++E0130;A # VARIATION SELECTOR-65
++E0131;A # VARIATION SELECTOR-66
++E0132;A # VARIATION SELECTOR-67
++E0133;A # VARIATION SELECTOR-68
++E0134;A # VARIATION SELECTOR-69
++E0135;A # VARIATION SELECTOR-70
++E0136;A # VARIATION SELECTOR-71
++E0137;A # VARIATION SELECTOR-72
++E0138;A # VARIATION SELECTOR-73
++E0139;A # VARIATION SELECTOR-74
++E013A;A # VARIATION SELECTOR-75
++E013B;A # VARIATION SELECTOR-76
++E013C;A # VARIATION SELECTOR-77
++E013D;A # VARIATION SELECTOR-78
++E013E;A # VARIATION SELECTOR-79
++E013F;A # VARIATION SELECTOR-80
++E0140;A # VARIATION SELECTOR-81
++E0141;A # VARIATION SELECTOR-82
++E0142;A # VARIATION SELECTOR-83
++E0143;A # VARIATION SELECTOR-84
++E0144;A # VARIATION SELECTOR-85
++E0145;A # VARIATION SELECTOR-86
++E0146;A # VARIATION SELECTOR-87
++E0147;A # VARIATION SELECTOR-88
++E0148;A # VARIATION SELECTOR-89
++E0149;A # VARIATION SELECTOR-90
++E014A;A # VARIATION SELECTOR-91
++E014B;A # VARIATION SELECTOR-92
++E014C;A # VARIATION SELECTOR-93
++E014D;A # VARIATION SELECTOR-94
++E014E;A # VARIATION SELECTOR-95
++E014F;A # VARIATION SELECTOR-96
++E0150;A # VARIATION SELECTOR-97
++E0151;A # VARIATION SELECTOR-98
++E0152;A # VARIATION SELECTOR-99
++E0153;A # VARIATION SELECTOR-100
++E0154;A # VARIATION SELECTOR-101
++E0155;A # VARIATION SELECTOR-102
++E0156;A # VARIATION SELECTOR-103
++E0157;A # VARIATION SELECTOR-104
++E0158;A # VARIATION SELECTOR-105
++E0159;A # VARIATION SELECTOR-106
++E015A;A # VARIATION SELECTOR-107
++E015B;A # VARIATION SELECTOR-108
++E015C;A # VARIATION SELECTOR-109
++E015D;A # VARIATION SELECTOR-110
++E015E;A # VARIATION SELECTOR-111
++E015F;A # VARIATION SELECTOR-112
++E0160;A # VARIATION SELECTOR-113
++E0161;A # VARIATION SELECTOR-114
++E0162;A # VARIATION SELECTOR-115
++E0163;A # VARIATION SELECTOR-116
++E0164;A # VARIATION SELECTOR-117
++E0165;A # VARIATION SELECTOR-118
++E0166;A # VARIATION SELECTOR-119
++E0167;A # VARIATION SELECTOR-120
++E0168;A # VARIATION SELECTOR-121
++E0169;A # VARIATION SELECTOR-122
++E016A;A # VARIATION SELECTOR-123
++E016B;A # VARIATION SELECTOR-124
++E016C;A # VARIATION SELECTOR-125
++E016D;A # VARIATION SELECTOR-126
++E016E;A # VARIATION SELECTOR-127
++E016F;A # VARIATION SELECTOR-128
++E0170;A # VARIATION SELECTOR-129
++E0171;A # VARIATION SELECTOR-130
++E0172;A # VARIATION SELECTOR-131
++E0173;A # VARIATION SELECTOR-132
++E0174;A # VARIATION SELECTOR-133
++E0175;A # VARIATION SELECTOR-134
++E0176;A # VARIATION SELECTOR-135
++E0177;A # VARIATION SELECTOR-136
++E0178;A # VARIATION SELECTOR-137
++E0179;A # VARIATION SELECTOR-138
++E017A;A # VARIATION SELECTOR-139
++E017B;A # VARIATION SELECTOR-140
++E017C;A # VARIATION SELECTOR-141
++E017D;A # VARIATION SELECTOR-142
++E017E;A # VARIATION SELECTOR-143
++E017F;A # VARIATION SELECTOR-144
++E0180;A # VARIATION SELECTOR-145
++E0181;A # VARIATION SELECTOR-146
++E0182;A # VARIATION SELECTOR-147
++E0183;A # VARIATION SELECTOR-148
++E0184;A # VARIATION SELECTOR-149
++E0185;A # VARIATION SELECTOR-150
++E0186;A # VARIATION SELECTOR-151
++E0187;A # VARIATION SELECTOR-152
++E0188;A # VARIATION SELECTOR-153
++E0189;A # VARIATION SELECTOR-154
++E018A;A # VARIATION SELECTOR-155
++E018B;A # VARIATION SELECTOR-156
++E018C;A # VARIATION SELECTOR-157
++E018D;A # VARIATION SELECTOR-158
++E018E;A # VARIATION SELECTOR-159
++E018F;A # VARIATION SELECTOR-160
++E0190;A # VARIATION SELECTOR-161
++E0191;A # VARIATION SELECTOR-162
++E0192;A # VARIATION SELECTOR-163
++E0193;A # VARIATION SELECTOR-164
++E0194;A # VARIATION SELECTOR-165
++E0195;A # VARIATION SELECTOR-166
++E0196;A # VARIATION SELECTOR-167
++E0197;A # VARIATION SELECTOR-168
++E0198;A # VARIATION SELECTOR-169
++E0199;A # VARIATION SELECTOR-170
++E019A;A # VARIATION SELECTOR-171
++E019B;A # VARIATION SELECTOR-172
++E019C;A # VARIATION SELECTOR-173
++E019D;A # VARIATION SELECTOR-174
++E019E;A # VARIATION SELECTOR-175
++E019F;A # VARIATION SELECTOR-176
++E01A0;A # VARIATION SELECTOR-177
++E01A1;A # VARIATION SELECTOR-178
++E01A2;A # VARIATION SELECTOR-179
++E01A3;A # VARIATION SELECTOR-180
++E01A4;A # VARIATION SELECTOR-181
++E01A5;A # VARIATION SELECTOR-182
++E01A6;A # VARIATION SELECTOR-183
++E01A7;A # VARIATION SELECTOR-184
++E01A8;A # VARIATION SELECTOR-185
++E01A9;A # VARIATION SELECTOR-186
++E01AA;A # VARIATION SELECTOR-187
++E01AB;A # VARIATION SELECTOR-188
++E01AC;A # VARIATION SELECTOR-189
++E01AD;A # VARIATION SELECTOR-190
++E01AE;A # VARIATION SELECTOR-191
++E01AF;A # VARIATION SELECTOR-192
++E01B0;A # VARIATION SELECTOR-193
++E01B1;A # VARIATION SELECTOR-194
++E01B2;A # VARIATION SELECTOR-195
++E01B3;A # VARIATION SELECTOR-196
++E01B4;A # VARIATION SELECTOR-197
++E01B5;A # VARIATION SELECTOR-198
++E01B6;A # VARIATION SELECTOR-199
++E01B7;A # VARIATION SELECTOR-200
++E01B8;A # VARIATION SELECTOR-201
++E01B9;A # VARIATION SELECTOR-202
++E01BA;A # VARIATION SELECTOR-203
++E01BB;A # VARIATION SELECTOR-204
++E01BC;A # VARIATION SELECTOR-205
++E01BD;A # VARIATION SELECTOR-206
++E01BE;A # VARIATION SELECTOR-207
++E01BF;A # VARIATION SELECTOR-208
++E01C0;A # VARIATION SELECTOR-209
++E01C1;A # VARIATION SELECTOR-210
++E01C2;A # VARIATION SELECTOR-211
++E01C3;A # VARIATION SELECTOR-212
++E01C4;A # VARIATION SELECTOR-213
++E01C5;A # VARIATION SELECTOR-214
++E01C6;A # VARIATION SELECTOR-215
++E01C7;A # VARIATION SELECTOR-216
++E01C8;A # VARIATION SELECTOR-217
++E01C9;A # VARIATION SELECTOR-218
++E01CA;A # VARIATION SELECTOR-219
++E01CB;A # VARIATION SELECTOR-220
++E01CC;A # VARIATION SELECTOR-221
++E01CD;A # VARIATION SELECTOR-222
++E01CE;A # VARIATION SELECTOR-223
++E01CF;A # VARIATION SELECTOR-224
++E01D0;A # VARIATION SELECTOR-225
++E01D1;A # VARIATION SELECTOR-226
++E01D2;A # VARIATION SELECTOR-227
++E01D3;A # VARIATION SELECTOR-228
++E01D4;A # VARIATION SELECTOR-229
++E01D5;A # VARIATION SELECTOR-230
++E01D6;A # VARIATION SELECTOR-231
++E01D7;A # VARIATION SELECTOR-232
++E01D8;A # VARIATION SELECTOR-233
++E01D9;A # VARIATION SELECTOR-234
++E01DA;A # VARIATION SELECTOR-235
++E01DB;A # VARIATION SELECTOR-236
++E01DC;A # VARIATION SELECTOR-237
++E01DD;A # VARIATION SELECTOR-238
++E01DE;A # VARIATION SELECTOR-239
++E01DF;A # VARIATION SELECTOR-240
++E01E0;A # VARIATION SELECTOR-241
++E01E1;A # VARIATION SELECTOR-242
++E01E2;A # VARIATION SELECTOR-243
++E01E3;A # VARIATION SELECTOR-244
++E01E4;A # VARIATION SELECTOR-245
++E01E5;A # VARIATION SELECTOR-246
++E01E6;A # VARIATION SELECTOR-247
++E01E7;A # VARIATION SELECTOR-248
++E01E8;A # VARIATION SELECTOR-249
++E01E9;A # VARIATION SELECTOR-250
++E01EA;A # VARIATION SELECTOR-251
++E01EB;A # VARIATION SELECTOR-252
++E01EC;A # VARIATION SELECTOR-253
++E01ED;A # VARIATION SELECTOR-254
++E01EE;A # VARIATION SELECTOR-255
++E01EF;A # VARIATION SELECTOR-256
++F0000..FFFFD;A # <Plane 15 Private Use, First>..<Plane 15 Private Use, Last>
++100000..10FFFD;A # <Plane 16 Private Use, First>..<Plane 16 Private Use, Last>
++
++# EOF
+diff -urN w3m-0.5.2.orig/libwc/Makefile.in w3m/libwc/Makefile.in
+--- w3m-0.5.2.orig/libwc/Makefile.in 2004-05-03 01:44:08.000000000 +0900
++++ w3m/libwc/Makefile.in 2010-07-25 18:55:05.000000000 +0900
+@@ -95,6 +95,8 @@
+ test: $(LIBRARY) test.o ../Str.o ../myctype.o
+ $(CC) -o wctest test.o ../Str.o ../myctype.o $(LIBRARY) ../gc/gc.a
+
++map/ucs_ambwidth.map: EastAsianWidth.txt
++ awk -f ambwidth_map.awk EastAsianWidth.txt > map/ucs_ambwidth.map
+ ###
+ big5.o: wc.h wc_types.h ces.h ccs.h iso2022.h priv.h big5.h search.h wtf.h \
+ ucs.h
+@@ -154,7 +156,7 @@
+ map/hkscs_ucs_p2.map map/gb12345_ucs.map map/johab_ucs.map \
+ map/sjis_ext_ucs.map map/gbk_ucs.map map/uhc_ucs.map map/ucs_wide.map \
+ map/ucs_combining.map map/ucs_precompose.map map/ucs_hangul.map \
+- map/ucs_fullwidth.map
++ map/ucs_fullwidth.map map/ucs_ambwidth.map
+ uhc.o: wc.h wc_types.h ces.h ccs.h iso2022.h priv.h uhc.h wtf.h ucs.h
+ utf7.o: wc.h wc_types.h ces.h ccs.h iso2022.h priv.h ucs.h utf7.h wtf.h
+ utf8.o: wc.h wc_types.h ces.h ccs.h iso2022.h priv.h ucs.h utf8.h wtf.h
+diff -urN w3m-0.5.2.orig/libwc/ambwidth_map.awk w3m/libwc/ambwidth_map.awk
+--- w3m-0.5.2.orig/libwc/ambwidth_map.awk 1970-01-01 09:00:00.000000000 +0900
++++ w3m/libwc/ambwidth_map.awk 2010-07-25 18:55:05.000000000 +0900
+@@ -0,0 +1,47 @@
++BEGIN {
++ FS = "[; ]";
++ i = 0;
++}
++$2 == "A" {
++ code = sprintf("0x%s", $1);
++ if (strtonum(code) < 0x10000) {
++ map[i] = code
++ i++;
++ }
++}
++END {
++ n = 0;
++ start = map[0]
++ prev = strtonum(map[0]);
++ for (j = 1; j < i; j++) {
++ cur = strtonum(map[j]);
++ if (match(map[j], "[.]+")) {
++ map2[n] = sprintf("%s, %s", start, map[j - 1]);
++ n++;
++ gsub("[.]+", ", 0x", map[j])
++ map2[n] = map[j];
++ n++;
++ start = map[j + 1];
++ cur = strtonum(start);
++ } else {
++ if (cur - prev > 2) {
++ map2[n] = sprintf("%s, %s", start, map[j - 1]);
++ start = map[j];
++ n++;
++ }
++
++ if (j == i - 1) {
++ map2[n] = sprintf("%s, %s", start, map[j]);
++ n++;
++ }
++ }
++ prev = cur;
++ }
++
++ printf("static wc_map ucs_ambwidth_map[] = {\n");
++ for (j = 0; j < n; j++) {
++ printf(" { %s },\n", map2[j]);
++ }
++ printf("};\n");
++ printf("#define N_ucs_ambwidth_map (sizeof(ucs_ambwidth_map) / sizeof(*ucs_ambwidth_map))\n");
++}
+diff -urN w3m-0.5.2.orig/libwc/ces.h w3m/libwc/ces.h
+--- w3m-0.5.2.orig/libwc/ces.h 2003-09-23 06:02:23.000000000 +0900
++++ w3m/libwc/ces.h 2007-06-07 19:59:52.000000000 +0900
+@@ -176,6 +176,7 @@
+
+ #define WC_CES_SHIFT_JIS (WC_CES_E_PRIV2|WC_CES_N_SHIFT_JIS)
+ #define WC_CES_CP932 WC_CES_SHIFT_JIS
++#define WC_CES_CP943 WC_CES_SHIFT_JIS
+ #define WC_CES_SHIFT_JISX0213 (WC_CES_E_PRIV2|WC_CES_N_SHIFT_JISX0213)
+ #define WC_CES_GBK (WC_CES_E_PRIV2|WC_CES_N_GBK)
+ #define WC_CES_CP936 WC_CES_GBK
+diff -urN w3m-0.5.2.orig/libwc/charset.c w3m/libwc/charset.c
+--- w3m-0.5.2.orig/libwc/charset.c 2007-05-23 21:34:20.000000000 +0900
++++ w3m/libwc/charset.c 2007-06-07 19:59:52.000000000 +0900
+@@ -32,6 +32,46 @@
+ { NULL, 0 }
+ };
+
++static wc_ces
++wc_codepage(int n)
++{
++ switch (n) {
++ case 437: return WC_CES_CP437;
++ case 737: return WC_CES_CP737;
++ case 775: return WC_CES_CP775;
++ case 850: return WC_CES_CP850;
++ case 852: return WC_CES_CP852;
++ case 855: return WC_CES_CP855;
++ case 856: return WC_CES_CP856;
++ case 857: return WC_CES_CP857;
++ case 860: return WC_CES_CP860;
++ case 861: return WC_CES_CP861;
++ case 862: return WC_CES_CP862;
++ case 863: return WC_CES_CP863;
++ case 864: return WC_CES_CP864;
++ case 865: return WC_CES_CP865;
++ case 866: return WC_CES_CP866;
++ case 869: return WC_CES_CP869;
++ case 874: return WC_CES_CP874;
++ case 932: return WC_CES_CP932; /* CP932 = Shift_JIS */
++ case 936: return WC_CES_CP936; /* CP936 = GBK > EUC_CN */
++ case 943: return WC_CES_CP943; /* CP943 = Shift_JIS */
++ case 949: return WC_CES_CP949; /* CP949 = UHC > EUC_KR */
++ case 950: return WC_CES_CP950; /* CP950 = Big5 */
++ case 1006: return WC_CES_CP1006;
++ case 1250: return WC_CES_CP1250;
++ case 1251: return WC_CES_CP1251;
++ case 1252: return WC_CES_CP1252;
++ case 1253: return WC_CES_CP1253;
++ case 1254: return WC_CES_CP1254;
++ case 1255: return WC_CES_CP1255;
++ case 1256: return WC_CES_CP1256;
++ case 1257: return WC_CES_CP1257;
++ case 1258: return WC_CES_CP1258;
++ }
++ return 0;
++}
++
+ wc_ces
+ wc_guess_charset(char *charset, wc_ces orig)
+ {
+@@ -119,6 +159,11 @@
+ if (n >= 1 && n <= 16 && n != 12)
+ return (WC_CES_E_ISO_8859 | n);
+ return WC_CES_ISO_8859_1;
++ } else if (! strncmp(p, "ibm", 3)) {
++ p += 3;
++ if (*p >= '1' && *p <= '9')
++ return wc_codepage(atoi(p));
++ return wc_charset_to_ces(p);
+ }
+ break;
+ case 'j':
+@@ -135,6 +180,10 @@
+ ! strncmp(p, "sjis", 4))
+ return WC_CES_SHIFT_JIS;
+ break;
++ case 'p':
++ if (! strncmp(p, "pck", 3))
++ return WC_CES_SHIFT_JIS;
++ break;
+ case 'g':
+ if (! strncmp(p, "gb18030", 7) ||
+ ! strncmp(p, "gbk2k", 5))
+@@ -210,58 +259,18 @@
+ return WC_CES_EUC_CN;
+ if (*(p+1) != 'p')
+ break;
+- n = atoi(p + 2);
+- switch (n) {
+- case 437: return WC_CES_CP437;
+- case 737: return WC_CES_CP737;
+- case 775: return WC_CES_CP775;
+- case 850: return WC_CES_CP850;
+- case 852: return WC_CES_CP852;
+- case 855: return WC_CES_CP855;
+- case 856: return WC_CES_CP856;
+- case 857: return WC_CES_CP857;
+- case 860: return WC_CES_CP860;
+- case 861: return WC_CES_CP861;
+- case 862: return WC_CES_CP862;
+- case 863: return WC_CES_CP863;
+- case 864: return WC_CES_CP864;
+- case 865: return WC_CES_CP865;
+- case 866: return WC_CES_CP866;
+- case 869: return WC_CES_CP869;
+- case 874: return WC_CES_CP874;
+- case 932: return WC_CES_CP932; /* CP932 = Shift_JIS */
+- case 936: return WC_CES_CP936; /* CP936 = GBK > EUC_CN */
+- case 949: return WC_CES_CP949; /* CP949 = UHC > EUC_KR */
+- case 950: return WC_CES_CP950; /* CP950 = Big5 */
+- case 1006: return WC_CES_CP1006;
+- case 1250: return WC_CES_CP1250;
+- case 1251: return WC_CES_CP1251;
+- case 1252: return WC_CES_CP1252;
+- case 1253: return WC_CES_CP1253;
+- case 1254: return WC_CES_CP1254;
+- case 1255: return WC_CES_CP1255;
+- case 1256: return WC_CES_CP1256;
+- case 1257: return WC_CES_CP1257;
+- case 1258: return WC_CES_CP1258;
+- }
++ p += 2;
++ if (*p >= '1' && *p <= '9')
++ return wc_codepage(atoi(p));
+ break;
+ case 'w':
+ if (strncmp(p, "windows", 7))
+ break;
++ p += 7;
+ if (! strncmp(p, "31j", 3))
+ return WC_CES_CP932;
+- n = atoi(p + 7);
+- switch (n) {
+- case 1250: return WC_CES_CP1250;
+- case 1251: return WC_CES_CP1251;
+- case 1252: return WC_CES_CP1252;
+- case 1253: return WC_CES_CP1253;
+- case 1254: return WC_CES_CP1254;
+- case 1255: return WC_CES_CP1255;
+- case 1256: return WC_CES_CP1256;
+- case 1257: return WC_CES_CP1257;
+- case 1258: return WC_CES_CP1258;
+- }
++ if (*p >= '1' && *p <= '9')
++ return wc_codepage(atoi(p));
+ break;
+ }
+ return 0;
+@@ -345,18 +354,9 @@
+ case 'c':
+ return WC_CES_ISO_2022_CN;
+ case 'w':
+- n = atoi(p + 1);
+- switch (n) {
+- case 1250: return WC_CES_CP1250;
+- case 1251: return WC_CES_CP1251;
+- case 1252: return WC_CES_CP1252;
+- case 1253: return WC_CES_CP1253;
+- case 1254: return WC_CES_CP1254;
+- case 1255: return WC_CES_CP1255;
+- case 1256: return WC_CES_CP1256;
+- case 1257: return WC_CES_CP1257;
+- case 1258: return WC_CES_CP1258;
+- }
++ p++;
++ if (*p >= '1' && *p <= '9')
++ return wc_codepage(atoi(p));
+ break;
+ case 'r':
+ return WC_CES_RAW;
+@@ -368,7 +368,7 @@
+ wc_locale_to_ces(char *locale)
+ {
+ char *p = locale;
+- char buf[6];
++ char buf[8];
+ int n;
+
+ if (*p == 'C' && *(p+1) == '\0')
+@@ -380,7 +380,7 @@
+ return wc_charset_to_ces(cs);
+ }
+ #endif
+- for (n = 0; *p && *p != '.' && n < 5; p++) {
++ for (n = 0; *p && *p != '.' && n < 7; p++) {
+ if ((unsigned char)*p > 0x20)
+ buf[n++] = tolower(*p);
+ }
+diff -urN w3m-0.5.2.orig/libwc/map/ucs_ambwidth.map w3m/libwc/map/ucs_ambwidth.map
+--- w3m-0.5.2.orig/libwc/map/ucs_ambwidth.map 1970-01-01 09:00:00.000000000 +0900
++++ w3m/libwc/map/ucs_ambwidth.map 2010-07-25 18:55:05.000000000 +0900
+@@ -0,0 +1,120 @@
++static wc_map ucs_ambwidth_map[] = {
++ { 0x00A1, 0x00A1 },
++ { 0x00A4, 0x00A4 },
++ { 0x00A7, 0x00AA },
++ { 0x00AD, 0x00BF },
++ { 0x00C6, 0x00C6 },
++ { 0x00D0, 0x00D0 },
++ { 0x00D7, 0x00D8 },
++ { 0x00DE, 0x00E1 },
++ { 0x00E6, 0x00ED },
++ { 0x00F0, 0x00F3 },
++ { 0x00F7, 0x00FE },
++ { 0x0101, 0x0101 },
++ { 0x0111, 0x0113 },
++ { 0x011B, 0x011B },
++ { 0x0126, 0x0127 },
++ { 0x012B, 0x012B },
++ { 0x0131, 0x0133 },
++ { 0x0138, 0x0138 },
++ { 0x013F, 0x0144 },
++ { 0x0148, 0x014D },
++ { 0x0152, 0x0153 },
++ { 0x0166, 0x0167 },
++ { 0x016B, 0x016B },
++ { 0x01CE, 0x01DC },
++ { 0x0251, 0x0251 },
++ { 0x0261, 0x0261 },
++ { 0x02C4, 0x02C4 },
++ { 0x02C7, 0x02CD },
++ { 0x02D0, 0x02D0 },
++ { 0x02D8, 0x02DF },
++ { 0x0300, 0x036F },
++ { 0x0391, 0x03A9 },
++ { 0x03B1, 0x03C9 },
++ { 0x0401, 0x0401 },
++ { 0x0410, 0x0451 },
++ { 0x2010, 0x2010 },
++ { 0x2013, 0x2019 },
++ { 0x201C, 0x201D },
++ { 0x2020, 0x2027 },
++ { 0x2030, 0x2035 },
++ { 0x203B, 0x203B },
++ { 0x203E, 0x203E },
++ { 0x2074, 0x2074 },
++ { 0x207F, 0x2084 },
++ { 0x20AC, 0x20AC },
++ { 0x2103, 0x2105 },
++ { 0x2109, 0x2109 },
++ { 0x2113, 0x2113 },
++ { 0x2116, 0x2116 },
++ { 0x2121, 0x2122 },
++ { 0x2126, 0x2126 },
++ { 0x212B, 0x212B },
++ { 0x2153, 0x2154 },
++ { 0x215B, 0x216B },
++ { 0x2170, 0x2179 },
++ { 0x2189, 0x2189 },
++ { 0x2190, 0x2199 },
++ { 0x21B8, 0x21B9 },
++ { 0x21D2, 0x21D4 },
++ { 0x21E7, 0x21E7 },
++ { 0x2200, 0x2203 },
++ { 0x2207, 0x2208 },
++ { 0x220B, 0x220B },
++ { 0x220F, 0x2211 },
++ { 0x2215, 0x2215 },
++ { 0x221A, 0x221A },
++ { 0x221D, 0x2220 },
++ { 0x2223, 0x222E },
++ { 0x2234, 0x2237 },
++ { 0x223C, 0x223D },
++ { 0x2248, 0x2248 },
++ { 0x224C, 0x224C },
++ { 0x2252, 0x2252 },
++ { 0x2260, 0x2261 },
++ { 0x2264, 0x2267 },
++ { 0x226A, 0x226B },
++ { 0x226E, 0x226F },
++ { 0x2282, 0x2283 },
++ { 0x2286, 0x2287 },
++ { 0x2295, 0x2295 },
++ { 0x2299, 0x2299 },
++ { 0x22A5, 0x22A5 },
++ { 0x22BF, 0x22BF },
++ { 0x2312, 0x2312 },
++ { 0x2460, 0x254B },
++ { 0x2550, 0x2573 },
++ { 0x2580, 0x258F },
++ { 0x2592, 0x2595 },
++ { 0x25A0, 0x25A9 },
++ { 0x25B2, 0x25B3 },
++ { 0x25B6, 0x25B7 },
++ { 0x25BC, 0x25BD },
++ { 0x25C0, 0x25C1 },
++ { 0x25C6, 0x25C8 },
++ { 0x25CB, 0x25CB },
++ { 0x25CE, 0x25D1 },
++ { 0x25E2, 0x25E5 },
++ { 0x25EF, 0x25EF },
++ { 0x2605, 0x2606 },
++ { 0x2609, 0x2609 },
++ { 0x260E, 0x260F },
++ { 0x2614, 0x2615 },
++ { 0x261C, 0x261E },
++ { 0x2640, 0x2642 },
++ { 0x2660, 0x266F },
++ { 0x269E, 0x269F },
++ { 0x26BE, 0x26BF },
++ { 0x26C4, 0x26E3 },
++ { 0x26E8, 0x26FF },
++ { 0x273D, 0x273D },
++ { 0x2757, 0x2757 },
++ { 0x2776, 0x277F },
++ { 0x2B55, 0x2B59 },
++ { 0x3248, 0x324F },
++ { 0xE000, 0xF8FF },
++ { 0xFE00, 0xFE0F },
++ { 0xFFFD, 0xFFFD },
++};
++#define N_ucs_ambwidth_map (sizeof(ucs_ambwidth_map) / sizeof(*ucs_ambwidth_map))
+diff -urN w3m-0.5.2.orig/libwc/status.c w3m/libwc/status.c
+--- w3m-0.5.2.orig/libwc/status.c 2003-09-23 06:02:23.000000000 +0900
++++ w3m/libwc/status.c 2010-07-25 18:55:05.000000000 +0900
+@@ -25,6 +25,7 @@
+ WC_FALSE, /* gb18030_as_ucs */
+ WC_FALSE, /* no_replace */
+ WC_TRUE, /* use_wide */
++ WC_FALSE, /* east_asian_width */
+ };
+
+ static wc_status output_st;
+diff -urN w3m-0.5.2.orig/libwc/ucs.c w3m/libwc/ucs.c
+--- w3m-0.5.2.orig/libwc/ucs.c 2007-05-23 20:34:09.000000000 +0900
++++ w3m/libwc/ucs.c 2010-07-25 18:55:05.000000000 +0900
+@@ -17,6 +17,7 @@
+
+ #include "ucs.map"
+
++#include "map/ucs_ambwidth.map"
+ #include "map/ucs_wide.map"
+ #include "map/ucs_combining.map"
+ #include "map/ucs_precompose.map"
+@@ -511,11 +512,26 @@
+ if (0x80 <= ucs && ucs <= 0x9F)
+ return WC_CCS_C1;
+ return ((ucs <= WC_C_UCS2_END) ? WC_CCS_UCS2 : WC_CCS_UCS4)
++ | ((WcOption.east_asian_width && wc_is_ucs_ambiguous_width(ucs))
++ ? WC_CCS_A_WIDE : 0)
+ | (wc_is_ucs_wide(ucs) ? WC_CCS_A_WIDE : 0)
+ | (wc_is_ucs_combining(ucs) ? WC_CCS_A_COMB : 0);
+ }
+
+ wc_bool
++wc_is_ucs_ambiguous_width(wc_uint32 ucs)
++{
++ if (0xa1 <= ucs && ucs <= 0xfe && WcOption.use_jisx0213)
++ return 1;
++ else if (ucs <= WC_C_UCS2_END)
++ return (wc_map_range_search((wc_uint16)ucs,
++ ucs_ambwidth_map, N_ucs_ambwidth_map) != NULL);
++ else
++ return ((0xF0000 <= ucs && ucs <= 0xFFFFD)
++ || (0x100000 <= ucs && ucs <= 0x10FFFD));
++}
++
++wc_bool
+ wc_is_ucs_wide(wc_uint32 ucs)
+ {
+ if (ucs <= WC_C_UCS2_END)
+diff -urN w3m-0.5.2.orig/libwc/ucs.h w3m/libwc/ucs.h
+--- w3m-0.5.2.orig/libwc/ucs.h 2007-05-23 20:34:09.000000000 +0900
++++ w3m/libwc/ucs.h 2010-07-25 18:55:05.000000000 +0900
+@@ -44,6 +44,7 @@
+ extern wc_wchar_t wc_ucs_to_iso2022(wc_uint32 ucs);
+ extern wc_wchar_t wc_ucs_to_iso2022w(wc_uint32 ucs);
+ extern wc_ccs wc_ucs_to_ccs(wc_uint32 ucs);
++extern wc_bool wc_is_ucs_ambiguous_width(wc_uint32 ucs);
+ extern wc_bool wc_is_ucs_wide(wc_uint32 ucs);
+ extern wc_bool wc_is_ucs_combining(wc_uint32 ucs);
+ extern wc_bool wc_is_ucs_hangul(wc_uint32 ucs);
+diff -urN w3m-0.5.2.orig/libwc/wc_types.h w3m/libwc/wc_types.h
+--- w3m-0.5.2.orig/libwc/wc_types.h 2004-04-05 01:47:20.000000000 +0900
++++ w3m/libwc/wc_types.h 2010-07-25 18:55:05.000000000 +0900
+@@ -91,6 +91,7 @@
+ wc_bool gb18030_as_ucs; /* treat 4 bytes char. of GB18030 as Unicode */
+ wc_bool no_replace; /* don't output replace character */
+ wc_bool use_wide; /* use wide characters */
++ wc_bool east_asian_width; /* East Asian Ambiguous characters are wide */
+ } wc_option;
+
+ typedef struct {
+diff -urN w3m-0.5.2.orig/main.c w3m/main.c
+--- w3m-0.5.2.orig/main.c 2007-05-31 10:19:50.000000000 +0900
++++ w3m/main.c 2010-07-25 18:55:05.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: main.c,v 1.258 2007/05/31 01:19:50 inu Exp $ */
++/* $Id: main.c,v 1.264 2010/07/25 09:55:05 htrb Exp $ */
+ #define MAINPROGRAM
+ #include "fm.h"
+ #include <signal.h>
+@@ -323,21 +323,26 @@
+ sig_chld(int signo)
+ {
+ int p_stat;
+-#ifdef HAVE_WAITPID
+ pid_t pid;
+
++#ifdef HAVE_WAITPID
+ while ((pid = waitpid(-1, &p_stat, WNOHANG)) > 0) {
+- ;
+- }
+ #elif HAVE_WAIT3
+- int pid;
+-
+ while ((pid = wait3(&p_stat, WNOHANG, NULL)) > 0) {
+- ;
+- }
+ #else
+- wait(&p_stat);
++ if ((pid = wait(&p_stat)) > 0) {
+ #endif
++ DownloadList *d;
++
++ if (WIFEXITED(p_stat)) {
++ for (d = FirstDL; d != NULL; d = d->next) {
++ if (d->pid == pid) {
++ d->err = WEXITSTATUS(p_stat);
++ break;
++ }
++ }
++ }
++ }
+ mySignal(SIGCHLD, sig_chld);
+ return;
+ }
+@@ -1152,18 +1157,11 @@
+ mouse_inactive();
+ #endif /* USE_MOUSE */
+ if (IS_ASCII(c)) { /* Ascii */
+- if( vi_prec_num ){
+- if(((prec_num && c == '0') || '1' <= c) && (c <= '9')) {
+- prec_num = prec_num * 10 + (int)(c - '0');
+- if (prec_num > PREC_LIMIT)
+- prec_num = PREC_LIMIT;
+- }
+- else {
+- set_buffer_environ(Currentbuf);
+- save_buffer_position(Currentbuf);
+- keyPressEventProc((int)c);
+- prec_num = 0;
+- }
++ if (('0' <= c) && (c <= '9') &&
++ (prec_num || (GlobalKeymap[c] == FUNCNAME_nulcmd))) {
++ prec_num = prec_num * 10 + (int)(c - '0');
++ if (prec_num > PREC_LIMIT)
++ prec_num = PREC_LIMIT;
+ }
+ else {
+ set_buffer_environ(Currentbuf);
+@@ -1284,8 +1282,25 @@
+ dump_head(buf);
+ if (w3m_dump & DUMP_SOURCE)
+ dump_source(buf);
+- if (w3m_dump == DUMP_BUFFER)
++ if (w3m_dump == DUMP_BUFFER) {
++ int i;
+ saveBuffer(buf, stdout, FALSE);
++ if (displayLinkNumber && buf->href) {
++ printf("\nReferences:\n\n");
++ for (i = 0; i < buf->href->nanchor; i++) {
++ ParsedURL pu;
++ static Str s = NULL;
++ if (buf->href->anchors[i].slave)
++ continue;
++ parseURL2(buf->href->anchors[i].url, &pu, baseURL(buf));
++ s = parsedURL2Str(&pu);
++ if (DecodeURL)
++ s = Strnew_charp(url_unquote_conv
++ (s->ptr, Currentbuf->document_charset));
++ printf("[%d] %s\n", buf->href->anchors[i].hseq + 1, s->ptr);
++ }
++ }
++ }
+ mySignal(SIGINT, prevtrap);
+ }
+
+@@ -4623,10 +4638,10 @@
+
+ buf = newBuffer(INIT_BUFFER_WIDTH);
+
+- if (!strcasecmp(Currentbuf->type, "text/html")) {
++ if (is_html_type(Currentbuf->type)) {
+ buf->type = "text/plain";
+ if (Currentbuf->real_type &&
+- !strcasecmp(Currentbuf->real_type, "text/html"))
++ is_html_type(Currentbuf->real_type))
+ buf->real_type = "text/plain";
+ else
+ buf->real_type = Currentbuf->real_type;
+@@ -4776,8 +4791,8 @@
+ repBuffer(Currentbuf, buf);
+ if ((buf->type != NULL) && (sbuf.type != NULL) &&
+ ((!strcasecmp(buf->type, "text/plain") &&
+- !strcasecmp(sbuf.type, "text/html")) ||
+- (!strcasecmp(buf->type, "text/html") &&
++ is_html_type(sbuf.type)) ||
++ (is_html_type(buf->type) &&
+ !strcasecmp(sbuf.type, "text/plain")))) {
+ vwSrc();
+ if (Currentbuf != buf)
+@@ -5099,7 +5114,7 @@
+ return;
+ displayImage = TRUE;
+ /*
+- * if (!(Currentbuf->type && !strcmp(Currentbuf->type, "text/html")))
++ * if (!(Currentbuf->type && is_html_type(Currentbuf->type)))
+ * return;
+ */
+ Currentbuf->image_flag = IMG_FLAG_AUTO;
+@@ -5112,7 +5127,7 @@
+ if (!activeImage)
+ return;
+ /*
+- * if (!(Currentbuf->type && !strcmp(Currentbuf->type, "text/html")))
++ * if (!(Currentbuf->type && is_html_type(Currentbuf->type)))
+ * return;
+ */
+ Currentbuf->image_flag = IMG_FLAG_SKIP;
+@@ -6355,7 +6370,8 @@
+ d->lock = lock;
+ d->size = size;
+ d->time = time(0);
+- d->ok = FALSE;
++ d->running = TRUE;
++ d->err = 0;
+ d->next = NULL;
+ d->prev = LastDL;
+ if (LastDL)
+@@ -6375,7 +6391,7 @@
+ if (!FirstDL)
+ return FALSE;
+ for (d = FirstDL; d != NULL; d = d->next) {
+- if (!d->ok && !lstat(d->lock, &st))
++ if (d->running && !lstat(d->lock, &st))
+ return TRUE;
+ }
+ return FALSE;
+@@ -6415,15 +6431,16 @@
+ "<form method=internal action=download><hr>\n");
+ for (d = LastDL; d != NULL; d = d->prev) {
+ if (lstat(d->lock, &st))
+- d->ok = TRUE;
++ d->running = FALSE;
+ Strcat_charp(src, "<pre>\n");
+ Strcat(src, Sprintf("%s\n --&gt; %s\n ", html_quote(d->url),
+ html_quote(conv_from_system(d->save))));
+ duration = cur_time - d->time;
+ if (!stat(d->save, &st)) {
+ size = st.st_size;
+- if (d->ok) {
+- d->size = size;
++ if (!d->running) {
++ if (!d->err)
++ d->size = size;
+ duration = st.st_mtime - d->time;
+ }
+ }
+@@ -6442,7 +6459,7 @@
+ Strcat_char(src, '_');
+ Strcat_char(src, '\n');
+ }
+- if (!d->ok && size < d->size)
++ if ((d->running || d->err) && size < d->size)
+ Strcat(src, Sprintf(" %s / %s bytes (%d%%)",
+ convert_size3(size), convert_size3(d->size),
+ (int)(100.0 * size / d->size)));
+@@ -6453,20 +6470,28 @@
+ Strcat(src, Sprintf(" %02d:%02d:%02d rate %s/sec",
+ duration / (60 * 60), (duration / 60) % 60,
+ duration % 60, convert_size(rate, 1)));
+- if (!d->ok && size < d->size && rate) {
++ if (d->running && size < d->size && rate) {
+ eta = (d->size - size) / rate;
+ Strcat(src, Sprintf(" eta %02d:%02d:%02d", eta / (60 * 60),
+ (eta / 60) % 60, eta % 60));
+ }
+ }
+ Strcat_char(src, '\n');
+- if (d->ok) {
++ if (!d->running) {
+ Strcat(src, Sprintf("<input type=submit name=ok%d value=OK>",
+ d->pid));
+- if (size < d->size)
+- Strcat_charp(src, " Download incompleted");
+- else
+- Strcat_charp(src, " Download completed");
++ switch (d->err) {
++ case 0: if (size < d->size)
++ Strcat_charp(src, " Download ended but probably not complete");
++ else
++ Strcat_charp(src, " Download complete");
++ break;
++ case 1: Strcat_charp(src, " Error: could not open destination file");
++ break;
++ case 2: Strcat_charp(src, " Error: could not write to file (disk full)");
++ break;
++ default: Strcat_charp(src, " Error: unknown reason");
++ }
+ }
+ else
+ Strcat(src, Sprintf("<input type=submit name=stop%d value=STOP>",
+@@ -6520,7 +6545,7 @@
+ if (!FirstDL)
+ return;
+ for (d = FirstDL; d != NULL; d = d->next) {
+- if (d->ok)
++ if (!d->running)
+ continue;
+ #ifndef __MINGW32_VERSION
+ kill(d->pid, SIGKILL);
+diff -urN w3m-0.5.2.orig/po/ja.po w3m/po/ja.po
+--- w3m-0.5.2.orig/po/ja.po 2007-05-31 21:17:05.000000000 +0900
++++ w3m/po/ja.po 2010-07-26 20:38:53.000000000 +0900
+@@ -1,5 +1,5 @@
+ # Japanese translations for w3m package
+-# w3m パッケージに対する英訳.
++# w3m 宴若吾絲障沿┳.
+ # Copyright (C) 2003 THE w3m'S COPYRIGHT HOLDER
+ # This file is distributed under the same license as the w3m package.
+ # Fumitoshi UKAI <ukai@debian.or.jp>, 2003.
+@@ -8,42 +8,42 @@
+ msgstr ""
+ "Project-Id-Version: w3m 0.5.2\n"
+ "Report-Msgid-Bugs-To: satodai@w3m.jp\n"
+-"POT-Creation-Date: 2007-05-07 10:49+0900\n"
+-"PO-Revision-Date: 2007-05-07 10:52+0900\n"
++"POT-Creation-Date: 2010-07-26 16:12+0900\n"
++"PO-Revision-Date: 2010-07-26 16:13+0900\n"
+ "Last-Translator: Fumitoshi UKAI <ukai@debian.or.jp>\n"
+ "Language-Team: Japanese\n"
+ "MIME-Version: 1.0\n"
+-"Content-Type: text/plain; charset=EUC-JP\n"
++"Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=1; plural=0;\n"
+
+ #: menu.c:267
+ msgid " Back (b) "
+-msgstr "戻る (b)"
++msgstr "祉 (b)"
+
+ #: menu.c:268
+ msgid " Select Buffer(s) "
+-msgstr "バッファ選択 (s)"
++msgstr "♂御 (s)"
+
+ #: menu.c:270
+ msgid " Select Tab (t) "
+-msgstr "タブ選択 (t)"
++msgstr "帥御 (t)"
+
+ #: menu.c:272
+ msgid " View Source (v) "
+-msgstr "ソースを表示 (v)"
++msgstr "純若鴻茵腓 (v)"
+
+ #: menu.c:273
+ msgid " Edit Source (e) "
+-msgstr "ソースを編集 (e)"
++msgstr "純若鴻膩 (e)"
+
+ #: menu.c:274
+ msgid " Save Source (S) "
+-msgstr "ソースを保存 (S)"
++msgstr "純若鴻篆絖 (S)"
+
+ #: menu.c:275
+ msgid " Reload (r) "
+-msgstr "再読み込み (r)"
++msgstr "茯粋昭 (r)"
+
+ #: menu.c:276 menu.c:283 menu.c:287
+ msgid " ---------------- "
+@@ -51,781 +51,801 @@
+
+ #: menu.c:277
+ msgid " Go Link (a) "
+-msgstr "リンクを表示 (a)"
++msgstr "潟茵腓 (a)"
+
+ #: menu.c:278
+ msgid " on New Tab (n) "
+-msgstr "新タブで表示 (n)"
++msgstr "違帥ц;腓 (n)"
+
+ #: menu.c:279
+ msgid " Save Link (A) "
+-msgstr "リンクを保存 (A)"
++msgstr "潟篆絖 (A)"
+
+ #: menu.c:280
+ msgid " View Image (i) "
+-msgstr "画像を表示 (i)"
++msgstr "糸茵腓 (i)"
+
+ #: menu.c:281
+ msgid " Save Image (I) "
+-msgstr "画像を保存 (I)"
++msgstr "糸篆絖 (I)"
+
+ #: menu.c:282
+ msgid " View Frame (f) "
+-msgstr "フレーム表示 (f)"
++msgstr "若茵腓 (f)"
+
+ #: menu.c:284
+ msgid " Bookmark (B) "
+-msgstr "ブックマーク (B)"
++msgstr "若 (B)"
+
+ #: menu.c:285
+ msgid " Help (h) "
+-msgstr "ヘルプ (h)"
++msgstr " (h)"
+
+ #: menu.c:286
+ msgid " Option (o) "
+-msgstr "オプション (o)"
++msgstr "激с (o)"
+
+ #: menu.c:288
+ msgid " Quit (q) "
+-msgstr "終了 (q)"
++msgstr "腟篋 (q)"
+
+ #: rc.c:60
+ msgid "External Viewer Setup"
+-msgstr "外部ビューアの編集"
++msgstr "紊ャ若≪膩"
+
+ #: rc.c:61
+ msgid "Tab width in characters"
+-msgstr "タブ幅"
++msgstr "帥綛"
+
+ #: rc.c:62
+ msgid "Indent for HTML rendering"
+-msgstr "HTML整形時のインデント幅"
++msgstr "HTML翫就ゃ潟潟綛"
+
+ #: rc.c:63
+ msgid "Number of pixels per character (4.0...32.0)"
+-msgstr "文字幅 (4.0...32.0)"
++msgstr "絖綛 (4.0...32.0)"
+
+ #: rc.c:64
+ msgid "Number of pixels per line (4.0...64.0)"
+-msgstr "一行の高さ (4.0...64.0)"
++msgstr "筝茵蕭 (4.0...64.0)"
+
+ #: rc.c:65
+ msgid "Number of remembered lines when used as a pager"
+-msgstr "ページャとして利用した時に保存される行数"
++msgstr "若吾c篆絖茵"
+
+ #: rc.c:66
+ msgid "Use URL history"
+-msgstr "履歴を使う"
++msgstr "絮ユ眼篏帥"
+
+ #: rc.c:67
+ msgid "Number of remembered URL"
+-msgstr "保持するURL履歴の数"
++msgstr "篆URL絮ユ眼"
+
+ #: rc.c:68
+ msgid "Save URL history"
+-msgstr "URL履歴の保存"
++msgstr "URL絮ユ眼篆絖"
+
+ #: rc.c:69
+ msgid "Render frames automatically"
+-msgstr "フレームの自動表示"
++msgstr "若茵腓"
+
+ #: rc.c:70
+ msgid "Treat argument without scheme as URL"
+-msgstr "scheme のない引数も URL とみなす"
++msgstr "scheme 綣違 URL 帥"
+
+ #: rc.c:71
+ msgid "Use _self as default target"
+-msgstr "targetが未指定の場合に_selfを使用する"
++msgstr "target絎翫_self篏睡"
+
+ #: rc.c:72
+ msgid "Open link on new tab if target is _blank or _new"
+-msgstr "targetが_blankか_newの場合は新しいタブで開く"
++msgstr "target_blank_new翫違帥ч"
+
+ #: rc.c:73
+ msgid "Open download list panel on new tab"
+-msgstr "Download list panel を新しいタブで開く"
++msgstr "Download list panel 違帥ч"
+
+ #: rc.c:74
+ msgid "Display link URL automatically"
+-msgstr "リンク先の自動表示"
++msgstr "潟茵腓"
+
+ #: rc.c:75
+-msgid "Display decoded URL"
+-msgstr "URLをデコードして表示"
++msgid "Display link numbers"
++msgstr "潟垩茵腓"
+
+ #: rc.c:76
+-msgid "Display current line number"
+-msgstr "現在の行番号の表示"
++msgid "Display decoded URL"
++msgstr "URL潟若茵腓"
+
+ #: rc.c:77
++msgid "Display current line number"
++msgstr "憜茵垩茵腓"
++
++#: rc.c:78
+ msgid "Display inline images"
+-msgstr "インライン画像を表示"
++msgstr "ゃ潟ゃ括糸茵腓"
+
+ #: rc.c:79
++msgid "Display pseudo-ALTs for inline images with no ALT or TITLE string"
++msgstr "ALT 障 TITLE 糸篁f帥鴻茵腓"
++
++#: rc.c:81
+ msgid "Load inline images automatically"
+-msgstr "インライン画像を自動で読み込む"
++msgstr "ゃ潟ゃ括糸ц粋昭"
+
+-#: rc.c:80
++#: rc.c:82
+ msgid "Maximum processes for parallel image loading"
+-msgstr "画像読み込み時の最大プロセス数"
++msgstr "糸顄粋昭炊紊с祉号"
+
+-#: rc.c:81
++#: rc.c:83
+ msgid "Use external image viewer"
+-msgstr "画像を外部ビューワで表示"
++msgstr "糸紊ャ若ц;腓"
+
+-#: rc.c:82
++#: rc.c:84
+ msgid "Scale of image (%)"
+-msgstr "画像のスケール(%)"
++msgstr "糸鴻宴若(%)"
+
+-#: rc.c:83
++#: rc.c:85
+ msgid "External command to display image"
+-msgstr "画像を表示するためのコマンド"
++msgstr "糸茵腓冴潟潟"
+
+-#: rc.c:84
++#: rc.c:86
+ msgid "Use link list of image map"
+-msgstr "イメージマップのリンク先一覧を表示"
++msgstr "ゃ<若吾潟筝荀с茵腓"
+
+-#: rc.c:86
++#: rc.c:88
+ msgid "Display file names in multi-column format"
+-msgstr "ファイル名のマルチカラム表示"
++msgstr "<ゃ茵腓"
+
+-#: rc.c:87
++#: rc.c:89
+ msgid "Use ASCII equivalents to display entities"
+-msgstr "エンティティを ASCII の代替表現で表す"
++msgstr "潟cc ASCII 篁f粋;憗ц;"
+
+-#: rc.c:88
++#: rc.c:90
+ msgid "Use graphic char for border of table and menu"
+-msgstr "テーブルやメニューの枠に graphic 文字を使う"
++msgstr "若<ャ若 graphic 絖篏帥"
+
+-#: rc.c:89
++#: rc.c:91
+ msgid "Fold lines in TEXTAREA"
+-msgstr "TEXTAREA の行を折り返して表示"
++msgstr "TEXTAREA 茵菴茵腓"
+
+-#: rc.c:90
++#: rc.c:92
+ msgid "Display INS, DEL, S and STRIKE element"
+-msgstr "INS, DEL, S, STRIKE 要素の表示"
++msgstr "INS, DEL, S, STRIKE 荀膣茵腓"
+
+-#: rc.c:91
++#: rc.c:93
+ msgid "Display with color"
+-msgstr "カラー表示"
++msgstr "取;腓"
+
+-#: rc.c:92
++#: rc.c:94
+ msgid "Color of normal character"
+-msgstr "文字の色"
++msgstr "絖"
+
+-#: rc.c:93
++#: rc.c:95
+ msgid "Color of anchor"
+-msgstr "アンカーの色"
++msgstr "≪潟若"
+
+-#: rc.c:94
++#: rc.c:96
+ msgid "Color of image link"
+-msgstr "画像リンクの色"
++msgstr "糸潟"
+
+-#: rc.c:95
++#: rc.c:97
+ msgid "Color of form"
+-msgstr "フォームの色"
++msgstr "若"
+
+-#: rc.c:96
++#: rc.c:98
+ msgid "Enable coloring of active link"
+-msgstr "現在選択されているリンクの色を指定する"
++msgstr "憜御潟蚊絎"
+
+-#: rc.c:97
++#: rc.c:99
+ msgid "Color of currently active link"
+-msgstr "現在選択されているリンクの色"
++msgstr "憜御潟"
+
+-#: rc.c:98
++#: rc.c:100
+ msgid "Use visited link color"
+-msgstr "訪れたことがあるリンクは色を変える"
++msgstr "荐潟蚊紊"
+
+-#: rc.c:99
++#: rc.c:101
+ msgid "Color of visited link"
+-msgstr "訪れたことがあるリンクの色"
++msgstr "荐潟"
+
+-#: rc.c:100
++#: rc.c:102
+ msgid "Color of background"
+-msgstr "背景の色"
++msgstr ""
+
+-#: rc.c:101
++#: rc.c:103
+ msgid "Color of mark"
+-msgstr "マークの色"
++msgstr "若"
+
+-#: rc.c:102
++#: rc.c:104
+ msgid "Use proxy"
+-msgstr "プロキシを使用する"
++msgstr "激篏睡"
+
+-#: rc.c:103
++#: rc.c:105
+ msgid "URL of HTTP proxy host"
+-msgstr "HTTPプロキシ(URLで入力)"
++msgstr "HTTP(URLуュ)"
+
+-#: rc.c:105
++#: rc.c:107
+ msgid "URL of HTTPS proxy host"
+-msgstr "HTTPSプロキシ(URLで入力)"
++msgstr "HTTPS(URLуュ)"
+
+-#: rc.c:108
++#: rc.c:110
+ msgid "URL of GOPHER proxy host"
+-msgstr "GOPHERプロキシ(URLで入力)"
++msgstr "GOPHER(URLуュ)"
+
+-#: rc.c:110
++#: rc.c:112
+ msgid "URL of FTP proxy host"
+-msgstr "FTPプロキシ(URLで入力)"
++msgstr "FTP(URLуュ)"
+
+-#: rc.c:111
++#: rc.c:113
+ msgid "Domains to be accessed directly (no proxy)"
+-msgstr "プロキシから除外するドメイン"
++msgstr "激ゅ<ゃ"
+
+-#: rc.c:112
++#: rc.c:114
+ msgid "Check noproxy by network address"
+-msgstr "ネットワークアドレスでプロキシ除外のチェック"
++msgstr "若≪鴻с潔ゅс"
+
+-#: rc.c:113
++#: rc.c:115
+ msgid "Disable cache"
+-msgstr "Cache を使わない"
++msgstr "Cache 篏帥"
+
+-#: rc.c:115
++#: rc.c:117
+ msgid "News server"
+-msgstr "News サーバ"
++msgstr "News 泣若"
+
+-#: rc.c:116
++#: rc.c:118
+ msgid "Mode of news server"
+-msgstr "News サーバのモード"
++msgstr "News 泣若≪若"
+
+-#: rc.c:117
++#: rc.c:119
+ msgid "Number of news messages"
+-msgstr "News を一覧表示する時の数"
++msgstr "News 筝荀ц;腓冴"
+
+-#: rc.c:119
++#: rc.c:121
+ msgid "Order of name resolution"
+-msgstr "名前解決の順序"
++msgstr "茹f浦綺"
+
+-#: rc.c:120
++#: rc.c:122
+ msgid "Directory corresponding to / (document root)"
+-msgstr "/ で表されるディレクトリ(document root)"
++msgstr "/ ц;c(document root)"
+
+-#: rc.c:121
++#: rc.c:123
+ msgid "Directory corresponding to /~user"
+-msgstr "/~user で表されるディレクトリ"
++msgstr "/~user ц;c"
+
+-#: rc.c:122
++#: rc.c:124
+ msgid "Directory corresponding to /cgi-bin"
+-msgstr "/cgi-bin で表されるディレクトリ"
++msgstr "/cgi-bin ц;c"
+
+-#: rc.c:123
++#: rc.c:125
+ msgid "Confirm when quitting with q"
+-msgstr "q での終了時に確認する"
++msgstr "q с腟篋腆肴"
+
+-#: rc.c:124
++#: rc.c:126
+ msgid "Close tab if buffer is last when back"
+-msgstr "戻る時にバッファが最後ならタブを閉じる"
++msgstr "祉<緇帥"
+
+-#: rc.c:126
++#: rc.c:128
+ msgid "Enable mark operations"
+-msgstr "マーク機能を有効にする"
++msgstr "若罘純鴻"
+
+-#: rc.c:128
++#: rc.c:130
+ msgid "Enable Emacs-style line editing"
+-msgstr "Emacs風の行編集にする"
++msgstr "Emacs蘂茵膩"
+
+-#: rc.c:129
++#: rc.c:131
+ msgid "Enable vi-like numeric prefix"
+-msgstr "vi風の数値プレフィクス"
++msgstr "vi蘂医ゃc"
+
+-#: rc.c:130
++#: rc.c:132
+ msgid "Move cursor to top line when going to label"
+-msgstr "ラベルに移動する時にカーソルがトップになるようにする"
++msgstr "腱糸若純"
+
+-#: rc.c:131
++#: rc.c:133
+ msgid "Move cursor to top line when moving to next page"
+-msgstr "次のページに移動する時にカーソルがトップになるようにする"
++msgstr "罨<若吾腱糸若純"
+
+-#: rc.c:132
++#: rc.c:134
+ msgid "Fold lines of plain text file"
+-msgstr "plain text ファイルの行を折り返す"
++msgstr "plain text <ゃ茵菴"
+
+-#: rc.c:133
++#: rc.c:135
+ msgid "Show line numbers"
+-msgstr "行番号を表示する"
++msgstr "茵垩茵腓冴"
+
+-#: rc.c:134
++#: rc.c:136
+ msgid "Show search string"
+-msgstr "検索文字列を表示する"
++msgstr "罎膣∽絖茵腓冴"
+
+-#: rc.c:135
++#: rc.c:137
+ msgid "List of mime.types files"
+-msgstr "利用するmime.types"
++msgstr "mime.types"
+
+-#: rc.c:136
++#: rc.c:138
+ msgid "List of mailcap files"
+-msgstr "利用するmailcap"
++msgstr "mailcap"
+
+-#: rc.c:137
++#: rc.c:139
+ msgid "List of urimethodmap files"
+-msgstr "利用するurimethodmap"
++msgstr "urimethodmap"
+
+-#: rc.c:138
++#: rc.c:140
+ msgid "Editor"
+-msgstr "利用するエディタ"
++msgstr "c"
+
+-#: rc.c:139
++#: rc.c:141
+ msgid "Mailer"
+-msgstr "利用するメーラ"
++msgstr "<若"
+
+-#: rc.c:140
++#: rc.c:142
+ msgid "External Browser"
+-msgstr "外部ブラウザ"
++msgstr "紊"
+
+-#: rc.c:141
++#: rc.c:143
+ msgid "Second External Browser"
+-msgstr "外部ブラウザその2"
++msgstr "紊吟2"
+
+-#: rc.c:142
++#: rc.c:144
+ msgid "Third External Browser"
+-msgstr "外部ブラウザその3"
++msgstr "紊吟3"
+
+-#: rc.c:143
++#: rc.c:145
+ msgid "Disable secret file security check"
+-msgstr "パスワードファイルのパーミッションをチェックしない"
++msgstr "鴻若<ゃ若激с潟с"
+
+-#: rc.c:144
++#: rc.c:146
+ msgid "Password file"
+-msgstr "パスワードファイル"
++msgstr "鴻若<ゃ"
+
+-#: rc.c:145
++#: rc.c:147
+ msgid "File for setting form on loading"
+-msgstr "文書読込時のフォーム設定用ファイル"
++msgstr "梧莨惹若荐絎<ゃ"
+
+-#: rc.c:146
++#: rc.c:148
+ msgid "Password for anonymous FTP (your mail address)"
+-msgstr "FTPのパスワード(普通は自分のmail addressを使う)"
++msgstr "FTP鴻若(mail address篏帥)"
+
+-#: rc.c:147
++#: rc.c:149
+ msgid "Generate domain part of password for FTP"
+-msgstr "FTPのパスワードのドメイン名を自動生成する"
++msgstr "FTP鴻若<ゃ喝"
+
+-#: rc.c:148
++#: rc.c:150
+ msgid "User-Agent identification string"
+ msgstr "User-Agent"
+
+-#: rc.c:149
++#: rc.c:151
+ msgid "Accept-Encoding header"
+-msgstr "圧縮方法(Accept-Encoding:)"
++msgstr "х軒号(Accept-Encoding:)"
+
+-#: rc.c:150
++#: rc.c:152
+ msgid "Accept header"
+-msgstr "受けつけるメディアタイプ(Accept:)"
++msgstr "ゃ<c≪帥ゃ(Accept:)"
+
+-#: rc.c:151
++#: rc.c:153
+ msgid "Accept-Language header"
+-msgstr "受けつける言語(Accept-Language:)"
++msgstr "ゃ荐茯(Accept-Language:)"
+
+-#: rc.c:152
++#: rc.c:154
+ msgid "Treat URL-like strings as links in all pages"
+-msgstr "全てのページのURL風の文字列をリンクにする"
++msgstr "若吾URL蘂絖潟"
+
+-#: rc.c:153
++#: rc.c:155
+ msgid "Wrap search"
+-msgstr "折り返し検索"
++msgstr "菴罎膣"
+
+-#: rc.c:154
++#: rc.c:156
+ msgid "Display unseen objects (e.g. bgimage tag)"
+-msgstr "背景画像等へのリンクを作る"
++msgstr "糸靁吾潟篏"
+
+-#: rc.c:155
++#: rc.c:157
+ msgid "Uncompress compressed data automatically when downloading"
+-msgstr "ダウンロード時に自動的に圧縮されたデータを解凍する"
++msgstr "潟若х軒若帥茹e"
+
+-#: rc.c:157
++#: rc.c:159
+ msgid "Run external viewer in a separate session"
+-msgstr "外部ビューアを別セッションで動かす"
++msgstr "紊ャ若≪ャ祉激с潟у"
+
+-#: rc.c:159
++#: rc.c:161
+ msgid "Run external viewer in the background"
+-msgstr "外部ビューアをバックグラウンドで動かす"
++msgstr "紊ャ若≪違潟у"
+
+-#: rc.c:161
++#: rc.c:163
+ msgid "Use external program for directory listing"
+-msgstr "ディレクトリリストに外部コマンドを使う"
++msgstr "c鴻紊潟潟篏帥"
+
+-#: rc.c:162
++#: rc.c:164
+ msgid "URL of directory listing command"
+-msgstr "ディレクトリリスト用コマンド"
++msgstr "c鴻潟潟"
+
+-#: rc.c:164
++#: rc.c:166
+ msgid "Enable dictionary lookup through CGI"
+-msgstr "辞書引きをCGI経由でおこなう"
++msgstr "莨後CGI腟宴с"
+
+-#: rc.c:165
++#: rc.c:167
+ msgid "URL of dictionary lookup command"
+-msgstr "辞書引きコマンドのURL"
++msgstr "莨後潟潟URL"
+
+-#: rc.c:167
++#: rc.c:169
+ msgid "Display link name for images lacking ALT"
+-msgstr "空のIMG ALT属性の時にリンク名を表示する"
++msgstr "腥冴IMG ALT絮с潟茵腓冴"
+
+-#: rc.c:168
++#: rc.c:170
+ msgid "Index file for directories"
+-msgstr "各ディレクトリのインデックスファイル"
++msgstr "cゃ潟鴻<ゃ"
+
+-#: rc.c:169
++#: rc.c:171
+ msgid "Prepend http:// to URL automatically"
+-msgstr "URLに自動的に http:// を補う"
++msgstr "URL http:// 茖"
+
+-#: rc.c:170
++#: rc.c:172
+ msgid "Default value for open-URL command"
+-msgstr "URLを開く時のデフォルト文字列"
++msgstr "URL絖"
+
+-#: rc.c:171
++#: rc.c:173
+ msgid "Decode Content-Transfer-Encoding when saving"
+-msgstr "保存時に Content-Transfer-Encoding をデコードする"
++msgstr "篆絖 Content-Transfer-Encoding 潟若"
+
+-#: rc.c:172
++#: rc.c:174
+ msgid "Preserve timestamp when saving"
+-msgstr "保存時にタイムスタンプを保持する"
++msgstr "篆絖帥ゃ鴻帥潟篆"
+
+-#: rc.c:174
++#: rc.c:176
+ msgid "Enable mouse"
+-msgstr "マウスを使う"
++msgstr "鴻篏帥"
+
+-#: rc.c:175
++#: rc.c:177
+ msgid "Scroll in reverse direction of mouse drag"
+-msgstr "マウスのドラッグ動作を逆にする"
++msgstr "鴻医篏"
+
+-#: rc.c:176
++#: rc.c:178
+ msgid "Behavior of wheel scroll speed"
+-msgstr "ホイールでのスクロール速度の扱い"
++msgstr "ゃ若с鴻若綺宴"
+
+-#: rc.c:177
++#: rc.c:179
+ msgid "(A only)Scroll by # (%) of screen"
+-msgstr "(Aのみ)画面の何%スクロールするか"
++msgstr "(A)脂≪篏%鴻若"
+
+-#: rc.c:178
++#: rc.c:180
+ msgid "(B only)Scroll by # lines"
+-msgstr "(Bのみ)スクロールする行数"
++msgstr "(B)鴻若茵"
+
+-#: rc.c:180
++#: rc.c:182
+ msgid "Free memory of undisplayed buffers"
+-msgstr "表示されていないバッファのメモリを解放する"
++msgstr "茵腓冴<<≪茹f障"
+
+-#: rc.c:181
++#: rc.c:183
+ msgid "Suppress `Referer:' header"
+-msgstr "Referer: を送らないようにする"
++msgstr "Referer: "
+
+-#: rc.c:182
++#: rc.c:184
+ msgid "Search case-insensitively"
+-msgstr "サーチ時に大文字小文字の区別をしない"
++msgstr "泣若紊ф絖絨絖阪ャ"
+
+-#: rc.c:183
++#: rc.c:185
+ msgid "Use LESSOPEN"
+-msgstr "LESSOPENを使用"
++msgstr "LESSOPEN篏睡"
+
+-#: rc.c:186
++#: rc.c:188
+ msgid "Perform SSL server verification"
+-msgstr "SSLのサーバ認証を行う"
++msgstr "SSL泣若茯荐若茵"
+
+-#: rc.c:187
++#: rc.c:189
+ msgid "PEM encoded certificate file of client"
+-msgstr "SSLのクライアント用PEM形式証明書ファイル"
++msgstr "SSLゃ≪潟PEM綵√頥惹吾<ゃ"
+
+-#: rc.c:188
++#: rc.c:190
+ msgid "PEM encoded private key file of client"
+-msgstr "SSLのクライアント用PEM形式秘密鍵ファイル"
++msgstr "SSLゃ≪潟PEM綵√霡絲泣<ゃ"
+
+-#: rc.c:189
++#: rc.c:191
+ msgid "Path to directory for PEM encoded certificates of CAs"
+-msgstr "SSLの認証局のPEM形式証明書群のあるディレクトリへのパス"
++msgstr "SSL茯荐弱PEM綵√頥惹悟召c吾"
+
+-#: rc.c:190
++#: rc.c:192
+ msgid "File consisting of PEM encoded certificates of CAs"
+-msgstr "SSLの認証局のPEM形式証明書群のファイル"
++msgstr "SSL茯荐弱PEM綵√頥惹悟召<ゃ"
+
+-#: rc.c:192
++#: rc.c:194
+ msgid "List of forbidden SSL methods (2: SSLv2, 3: SSLv3, t:TLSv1)"
+-msgstr "使わないSSLメソッドのリスト(2: SSLv2, 3: SSLv3, t:TLSv1)"
++msgstr "篏帥SSL<純鴻(2: SSLv2, 3: SSLv3, t:TLSv1)"
+
+-#: rc.c:195
++#: rc.c:197
+ msgid "Enable cookie processing"
+-msgstr "クッキーを使用する"
++msgstr "若篏睡"
+
+-#: rc.c:196
++#: rc.c:198
+ msgid "Print a message when receiving a cookie"
+-msgstr "クッキーを受け付けたときにメッセージを表示する"
++msgstr "若篁<祉若吾茵腓冴"
+
+-#: rc.c:197
++#: rc.c:199
+ msgid "Accept cookies"
+-msgstr "クッキーを受け付ける"
++msgstr "若篁"
+
+-#: rc.c:198
++#: rc.c:200
+ msgid "Action to be taken on invalid cookie"
+-msgstr "問題のあるクッキーでも受け付ける"
++msgstr "馹若с篁"
+
+-#: rc.c:199
++#: rc.c:201
+ msgid "Domains to reject cookies from"
+-msgstr "クッキーを受け付けないドメイン"
++msgstr "若篁<ゃ"
+
+-#: rc.c:200
++#: rc.c:202
+ msgid "Domains to accept cookies from"
+-msgstr "クッキーを受け付けるドメイン"
++msgstr "若篁<ゃ"
+
+-#: rc.c:202
++#: rc.c:203
++msgid "Domains to avoid [wrong number of dots]"
++msgstr "[wrong number of dots] ∴<ゃ"
++
++#: rc.c:205
+ msgid "Number of redirections to follow"
+-msgstr "従うリダイレクトの回数"
++msgstr "緇ゃ"
+
+-#: rc.c:203
++#: rc.c:206
+ msgid "Enable processing of meta-refresh tag"
+-msgstr "meta refresh に対応する"
++msgstr "meta refresh 絲上"
+
+-#: rc.c:206
++#: rc.c:209
+ msgid "Enable Migemo (Roma-ji search)"
+-msgstr "Migemo(ローマ字検索)を使用する"
++msgstr "Migemo(若絖罎膣)篏睡"
+
+-#: rc.c:207
++#: rc.c:210
+ msgid "Migemo command"
+-msgstr "Migemoコマンド"
++msgstr "Migemo潟潟"
+
+-#: rc.c:211
++#: rc.c:214
+ msgid "Display charset"
+-msgstr "表示用文字コード"
++msgstr "茵腓榊絖潟若"
+
+-#: rc.c:212
++#: rc.c:215
+ msgid "Default document charset"
+-msgstr "文書の標準の文字コード"
++msgstr "吾罔羣絖潟若"
+
+-#: rc.c:213
++#: rc.c:216
+ msgid "Automatic charset detect when loading"
+-msgstr "文書の読み込み時に文字コードの自動判定を行う"
++msgstr "吾茯粋昭炊絖潟若ゅ茵"
+
+-#: rc.c:214
++#: rc.c:217
+ msgid "System charset"
+-msgstr "システムの文字コード"
++msgstr "激鴻絖潟若"
+
+-#: rc.c:215
++#: rc.c:218
+ msgid "System charset follows locale(LC_CTYPE)"
+-msgstr "Locale(LC_CTYPE) に従ってシステムの文字コードを設定"
++msgstr "Locale(LC_CTYPE) 緇c激鴻絖潟若荐絎"
+
+-#: rc.c:216
++#: rc.c:219
+ msgid "Output halfdump with display charset"
+-msgstr "表示用文字コードで halfdump の出力を行う"
++msgstr "茵腓榊絖潟若 halfdump 阪茵"
+
+-#: rc.c:217
++#: rc.c:220
+ msgid "Use multi column characters"
+-msgstr "複数カラムの文字を使う"
++msgstr "茲違絖篏帥"
+
+-#: rc.c:218
++#: rc.c:221
+ msgid "Use combining characters"
+-msgstr "結合文字を使う"
++msgstr "腟絖篏帥"
+
+-#: rc.c:219
++#: rc.c:222
++msgid "Use double width for some Unicode characters"
++msgstr "腮Unicode絖茹"
++
++#: rc.c:223
+ msgid "Use Unicode language tags"
+-msgstr "Unicode の言語タグを使う"
++msgstr "Unicode 荐茯帥違篏帥"
+
+-#: rc.c:220
++#: rc.c:224
+ msgid "Charset conversion using Unicode map"
+-msgstr "Unicodeを介したコード変換"
++msgstr "Unicode篁潟若紊"
+
+-#: rc.c:221
++#: rc.c:225
+ msgid "Charset conversion when loading"
+-msgstr "文書の読み込み時に文字コードを変換する"
++msgstr "吾茯粋昭炊絖潟若紊"
+
+-#: rc.c:222
++#: rc.c:226
+ msgid "Adjust search string for document charset"
+-msgstr "検索文字列を文書の文字コードに変換する"
++msgstr "罎膣∽絖吾絖潟若紊"
+
+-#: rc.c:223
++#: rc.c:227
+ msgid "Fix character width when conversion"
+-msgstr "文字幅の変わる変換をしない"
++msgstr "絖綛紊紊"
+
+-#: rc.c:224
++#: rc.c:228
+ msgid "Use GB 12345 Unicode map instead of GB 2312's"
+-msgstr "GB 12345 の Unicode マップを GB 2312 用に使う"
++msgstr "GB 12345 Unicode GB 2312 篏帥"
+
+-#: rc.c:225
++#: rc.c:229
+ msgid "Use JIS X 0201 Roman for ISO-2022-JP"
+-msgstr "ISO-2022-JP で JIS X 0201-Roman を使う"
++msgstr "ISO-2022-JP JIS X 0201-Roman 篏帥"
+
+-#: rc.c:226
++#: rc.c:230
+ msgid "Use JIS C 6226:1978 for ISO-2022-JP"
+-msgstr "ISO-2022-JP で JIS C 6226:1978(旧JIS) を使う"
++msgstr "ISO-2022-JP JIS C 6226:1978(JIS) 篏帥"
+
+-#: rc.c:227
++#: rc.c:231
+ msgid "Use JIS X 0201 Katakana"
+-msgstr "JIS X 0201-Katakana を使う"
++msgstr "JIS X 0201-Katakana 篏帥"
+
+-#: rc.c:228
++#: rc.c:232
+ msgid "Use JIS X 0212:1990 (Supplemental Kanji)"
+-msgstr "JIS X 0212:1990(補助漢字) を使う"
++msgstr "JIS X 0212:1990(茖羲√) 篏帥"
+
+-#: rc.c:229
++#: rc.c:233
+ msgid "Use JIS X 0213:2000 (2000JIS)"
+-msgstr "JIS X 0213:2000(2000JIS) を使う"
++msgstr "JIS X 0213:2000(2000JIS) 篏帥"
+
+-#: rc.c:230
++#: rc.c:234
+ msgid "Strict ISO-2022-JP/KR/CN"
+-msgstr "厳格な ISO-2022-JP/KR/CN を使う"
++msgstr "ウ若 ISO-2022-JP/KR/CN 篏帥"
+
+-#: rc.c:231
++#: rc.c:235
+ msgid "Treat 4 bytes char. of GB18030 as Unicode"
+-msgstr "GB18030 の 4バイト文字を Unicode として扱う"
++msgstr "GB18030 4ゃ絖 Unicode 宴"
+
+-#: rc.c:234
++#: rc.c:236
++msgid "Simple Preserve space"
++msgstr "膣腥榊純篆絖"
++
++#: rc.c:239
+ msgid "keymap file"
+-msgstr "keymapファイル"
++msgstr "keymap<ゃ"
+
+-#: rc.c:251
++#: rc.c:256
+ msgid "black"
+-msgstr "黒"
++msgstr "藥"
+
+-#: rc.c:252
++#: rc.c:257
+ msgid "red"
+-msgstr "赤"
++msgstr "莎"
+
+-#: rc.c:253
++#: rc.c:258
+ msgid "green"
+-msgstr "緑"
++msgstr "膩"
+
+-#: rc.c:254
++#: rc.c:259
+ msgid "yellow"
+-msgstr "黄"
++msgstr "藥"
+
+-#: rc.c:255
++#: rc.c:260
+ msgid "blue"
+-msgstr "青"
++msgstr ""
+
+-#: rc.c:256
++#: rc.c:261
+ msgid "magenta"
+-msgstr "紫"
++msgstr "膣"
+
+-#: rc.c:257
++#: rc.c:262
+ msgid "cyan"
+-msgstr "空色"
++msgstr "腥肴"
+
+-#: rc.c:258
++#: rc.c:263
+ msgid "white"
+-msgstr "白"
++msgstr ""
+
+-#: rc.c:259
++#: rc.c:264
+ msgid "terminal"
+-msgstr "端末"
++msgstr "腴"
+
+-#: rc.c:278
++#: rc.c:283
+ msgid "none"
+-msgstr "無し"
++msgstr "<"
+
+-#: rc.c:279
++#: rc.c:284
+ msgid "current URL"
+-msgstr "現在のURL"
++msgstr "憜URL"
+
+-#: rc.c:280
++#: rc.c:285
+ msgid "link URL"
+-msgstr "リンク先のURL"
++msgstr "潟URL"
+
+-#: rc.c:285
++#: rc.c:290
+ msgid "simple"
+-msgstr "シンプル"
++msgstr "激潟"
+
+-#: rc.c:286
++#: rc.c:291
+ msgid "use tag"
+-msgstr "タグで表示"
++msgstr "帥違ц;腓"
+
+-#: rc.c:287
++#: rc.c:292
+ msgid "fontify"
+-msgstr "文字装飾"
++msgstr "絖茖蕋"
+
+-#: rc.c:293
++#: rc.c:298
+ msgid "A:relative to screen height"
+-msgstr "A:画面サイズに比例"
++msgstr "A:脂≪泣ゃ冴罸箴"
+
+-#: rc.c:294
++#: rc.c:299
+ msgid "B:fixed speed"
+-msgstr "B:一定の行数"
++msgstr "B:筝絎茵"
+
+-#: rc.c:301
++#: rc.c:306
+ msgid "unspecified"
+-msgstr "指定しない"
++msgstr "絎"
+
+-#: rc.c:302
++#: rc.c:307
+ msgid "inet inet6"
+-msgstr "IPv4優先"
++msgstr "IPv4"
+
+-#: rc.c:303
++#: rc.c:308
+ msgid "inet6 inet"
+-msgstr "IPv6優先"
++msgstr "IPv6"
+
+-#: rc.c:304
++#: rc.c:309
+ msgid "inet only"
+-msgstr "IPv4のみ"
++msgstr "IPv4"
+
+-#: rc.c:305
++#: rc.c:310
+ msgid "inet6 only"
+-msgstr "IPv6のみ"
++msgstr "IPv6"
+
+-#: rc.c:312
++#: rc.c:317
+ msgid "discard"
+-msgstr "破棄する"
++msgstr "贋"
+
+-#: rc.c:314
++#: rc.c:319
+ msgid "accept"
+-msgstr "受け入れる"
++msgstr "ャ"
+
+-#: rc.c:316
++#: rc.c:321
+ msgid "ask"
+-msgstr "確認する"
++msgstr "腆肴"
+
+-#: rc.c:326
++#: rc.c:331
+ msgid "OFF"
+-msgstr "無効"
++msgstr "≦"
+
+-#: rc.c:327
++#: rc.c:332
+ msgid "Only ISO 2022"
+-msgstr "ISO 2022 のみ"
++msgstr "ISO 2022 "
+
+-#: rc.c:328
++#: rc.c:333
+ msgid "ON"
+-msgstr "有効"
++msgstr ""
+
+-#: rc.c:679
++#: rc.c:695
+ msgid "Display Settings"
+-msgstr "表示関係"
++msgstr "茵腓咲≫"
+
+-#: rc.c:681
++#: rc.c:697
+ msgid "Color Settings"
+-msgstr "表示色"
++msgstr "茵腓肴"
+
+-#: rc.c:683
++#: rc.c:699
+ msgid "Miscellaneous Settings"
+-msgstr "雑多な設定"
++msgstr "紊荐絎"
+
+-#: rc.c:684
++#: rc.c:700
+ msgid "Directory Settings"
+-msgstr "ディレクトリ設定"
++msgstr "c荐絎"
+
+-#: rc.c:685
++#: rc.c:701
+ msgid "External Program Settings"
+-msgstr "外部プログラム"
++msgstr "紊違"
+
+-#: rc.c:686
++#: rc.c:702
+ msgid "Network Settings"
+-msgstr "ネットワークの設定"
++msgstr "若荐絎"
+
+-#: rc.c:687
++#: rc.c:703
+ msgid "Proxy Settings"
+-msgstr "プロキシの設定"
++msgstr "激荐絎"
+
+-#: rc.c:689
++#: rc.c:705
+ msgid "SSL Settings"
+-msgstr "SSLの設定"
++msgstr "SSL荐絎"
+
+-#: rc.c:692
++#: rc.c:708
+ msgid "Cookie Settings"
+-msgstr "クッキーの設定"
++msgstr "若荐絎"
+
+-#: rc.c:695
++#: rc.c:711
+ msgid "Charset Settings"
+-msgstr "文字コードの設定"
++msgstr "絖潟若荐絎"
+
+ #. TRANSLATORS:
+ #. * AcceptLang default: this is used in Accept-Language: HTTP request
+ #. * header. For example, ja.po should translate it as
+ #. * "ja;q=1.0, en;q=0.5" like that.
+ #.
+-#: rc.c:1163
++#: rc.c:1190
+ msgid "en;q=1.0"
+ msgstr "ja;q=1.0, en;q=0.5"
+diff -urN w3m-0.5.2.orig/po/w3m.pot w3m/po/w3m.pot
+--- w3m-0.5.2.orig/po/w3m.pot 2007-05-31 21:17:05.000000000 +0900
++++ w3m/po/w3m.pot 2010-07-26 20:38:53.000000000 +0900
+@@ -8,7 +8,7 @@
+ msgstr ""
+ "Project-Id-Version: PACKAGE VERSION\n"
+ "Report-Msgid-Bugs-To: satodai@w3m.jp\n"
+-"POT-Creation-Date: 2007-05-28 19:49+0900\n"
++"POT-Creation-Date: 2010-07-26 16:12+0900\n"
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: LANGUAGE <LL@li.org>\n"
+@@ -149,674 +149,694 @@
+ msgstr ""
+
+ #: rc.c:75
+-msgid "Display decoded URL"
++msgid "Display link numbers"
+ msgstr ""
+
+ #: rc.c:76
+-msgid "Display current line number"
++msgid "Display decoded URL"
+ msgstr ""
+
+ #: rc.c:77
++msgid "Display current line number"
++msgstr ""
++
++#: rc.c:78
+ msgid "Display inline images"
+ msgstr ""
+
+ #: rc.c:79
++msgid "Display pseudo-ALTs for inline images with no ALT or TITLE string"
++msgstr ""
++
++#: rc.c:81
+ msgid "Load inline images automatically"
+ msgstr ""
+
+-#: rc.c:80
++#: rc.c:82
+ msgid "Maximum processes for parallel image loading"
+ msgstr ""
+
+-#: rc.c:81
++#: rc.c:83
+ msgid "Use external image viewer"
+ msgstr ""
+
+-#: rc.c:82
++#: rc.c:84
+ msgid "Scale of image (%)"
+ msgstr ""
+
+-#: rc.c:83
++#: rc.c:85
+ msgid "External command to display image"
+ msgstr ""
+
+-#: rc.c:84
++#: rc.c:86
+ msgid "Use link list of image map"
+ msgstr ""
+
+-#: rc.c:86
++#: rc.c:88
+ msgid "Display file names in multi-column format"
+ msgstr ""
+
+-#: rc.c:87
++#: rc.c:89
+ msgid "Use ASCII equivalents to display entities"
+ msgstr ""
+
+-#: rc.c:88
++#: rc.c:90
+ msgid "Use graphic char for border of table and menu"
+ msgstr ""
+
+-#: rc.c:89
++#: rc.c:91
+ msgid "Fold lines in TEXTAREA"
+ msgstr ""
+
+-#: rc.c:90
++#: rc.c:92
+ msgid "Display INS, DEL, S and STRIKE element"
+ msgstr ""
+
+-#: rc.c:91
++#: rc.c:93
+ msgid "Display with color"
+ msgstr ""
+
+-#: rc.c:92
++#: rc.c:94
+ msgid "Color of normal character"
+ msgstr ""
+
+-#: rc.c:93
++#: rc.c:95
+ msgid "Color of anchor"
+ msgstr ""
+
+-#: rc.c:94
++#: rc.c:96
+ msgid "Color of image link"
+ msgstr ""
+
+-#: rc.c:95
++#: rc.c:97
+ msgid "Color of form"
+ msgstr ""
+
+-#: rc.c:96
++#: rc.c:98
+ msgid "Enable coloring of active link"
+ msgstr ""
+
+-#: rc.c:97
++#: rc.c:99
+ msgid "Color of currently active link"
+ msgstr ""
+
+-#: rc.c:98
++#: rc.c:100
+ msgid "Use visited link color"
+ msgstr ""
+
+-#: rc.c:99
++#: rc.c:101
+ msgid "Color of visited link"
+ msgstr ""
+
+-#: rc.c:100
++#: rc.c:102
+ msgid "Color of background"
+ msgstr ""
+
+-#: rc.c:101
++#: rc.c:103
+ msgid "Color of mark"
+ msgstr ""
+
+-#: rc.c:102
++#: rc.c:104
+ msgid "Use proxy"
+ msgstr ""
+
+-#: rc.c:103
++#: rc.c:105
+ msgid "URL of HTTP proxy host"
+ msgstr ""
+
+-#: rc.c:105
++#: rc.c:107
+ msgid "URL of HTTPS proxy host"
+ msgstr ""
+
+-#: rc.c:108
++#: rc.c:110
+ msgid "URL of GOPHER proxy host"
+ msgstr ""
+
+-#: rc.c:110
++#: rc.c:112
+ msgid "URL of FTP proxy host"
+ msgstr ""
+
+-#: rc.c:111
++#: rc.c:113
+ msgid "Domains to be accessed directly (no proxy)"
+ msgstr ""
+
+-#: rc.c:112
++#: rc.c:114
+ msgid "Check noproxy by network address"
+ msgstr ""
+
+-#: rc.c:113
++#: rc.c:115
+ msgid "Disable cache"
+ msgstr ""
+
+-#: rc.c:115
++#: rc.c:117
+ msgid "News server"
+ msgstr ""
+
+-#: rc.c:116
++#: rc.c:118
+ msgid "Mode of news server"
+ msgstr ""
+
+-#: rc.c:117
++#: rc.c:119
+ msgid "Number of news messages"
+ msgstr ""
+
+-#: rc.c:119
++#: rc.c:121
+ msgid "Order of name resolution"
+ msgstr ""
+
+-#: rc.c:120
++#: rc.c:122
+ msgid "Directory corresponding to / (document root)"
+ msgstr ""
+
+-#: rc.c:121
++#: rc.c:123
+ msgid "Directory corresponding to /~user"
+ msgstr ""
+
+-#: rc.c:122
++#: rc.c:124
+ msgid "Directory corresponding to /cgi-bin"
+ msgstr ""
+
+-#: rc.c:123
++#: rc.c:125
+ msgid "Confirm when quitting with q"
+ msgstr ""
+
+-#: rc.c:124
++#: rc.c:126
+ msgid "Close tab if buffer is last when back"
+ msgstr ""
+
+-#: rc.c:126
++#: rc.c:128
+ msgid "Enable mark operations"
+ msgstr ""
+
+-#: rc.c:128
++#: rc.c:130
+ msgid "Enable Emacs-style line editing"
+ msgstr ""
+
+-#: rc.c:129
++#: rc.c:131
+ msgid "Enable vi-like numeric prefix"
+ msgstr ""
+
+-#: rc.c:130
++#: rc.c:132
+ msgid "Move cursor to top line when going to label"
+ msgstr ""
+
+-#: rc.c:131
++#: rc.c:133
+ msgid "Move cursor to top line when moving to next page"
+ msgstr ""
+
+-#: rc.c:132
++#: rc.c:134
+ msgid "Fold lines of plain text file"
+ msgstr ""
+
+-#: rc.c:133
++#: rc.c:135
+ msgid "Show line numbers"
+ msgstr ""
+
+-#: rc.c:134
++#: rc.c:136
+ msgid "Show search string"
+ msgstr ""
+
+-#: rc.c:135
++#: rc.c:137
+ msgid "List of mime.types files"
+ msgstr ""
+
+-#: rc.c:136
++#: rc.c:138
+ msgid "List of mailcap files"
+ msgstr ""
+
+-#: rc.c:137
++#: rc.c:139
+ msgid "List of urimethodmap files"
+ msgstr ""
+
+-#: rc.c:138
++#: rc.c:140
+ msgid "Editor"
+ msgstr ""
+
+-#: rc.c:139
++#: rc.c:141
+ msgid "Mailer"
+ msgstr ""
+
+-#: rc.c:140
++#: rc.c:142
+ msgid "External Browser"
+ msgstr ""
+
+-#: rc.c:141
++#: rc.c:143
+ msgid "Second External Browser"
+ msgstr ""
+
+-#: rc.c:142
++#: rc.c:144
+ msgid "Third External Browser"
+ msgstr ""
+
+-#: rc.c:143
++#: rc.c:145
+ msgid "Disable secret file security check"
+ msgstr ""
+
+-#: rc.c:144
++#: rc.c:146
+ msgid "Password file"
+ msgstr ""
+
+-#: rc.c:145
++#: rc.c:147
+ msgid "File for setting form on loading"
+ msgstr ""
+
+-#: rc.c:146
++#: rc.c:148
+ msgid "Password for anonymous FTP (your mail address)"
+ msgstr ""
+
+-#: rc.c:147
++#: rc.c:149
+ msgid "Generate domain part of password for FTP"
+ msgstr ""
+
+-#: rc.c:148
++#: rc.c:150
+ msgid "User-Agent identification string"
+ msgstr ""
+
+-#: rc.c:149
++#: rc.c:151
+ msgid "Accept-Encoding header"
+ msgstr ""
+
+-#: rc.c:150
++#: rc.c:152
+ msgid "Accept header"
+ msgstr ""
+
+-#: rc.c:151
++#: rc.c:153
+ msgid "Accept-Language header"
+ msgstr ""
+
+-#: rc.c:152
++#: rc.c:154
+ msgid "Treat URL-like strings as links in all pages"
+ msgstr ""
+
+-#: rc.c:153
++#: rc.c:155
+ msgid "Wrap search"
+ msgstr ""
+
+-#: rc.c:154
++#: rc.c:156
+ msgid "Display unseen objects (e.g. bgimage tag)"
+ msgstr ""
+
+-#: rc.c:155
++#: rc.c:157
+ msgid "Uncompress compressed data automatically when downloading"
+ msgstr ""
+
+-#: rc.c:157
++#: rc.c:159
+ msgid "Run external viewer in a separate session"
+ msgstr ""
+
+-#: rc.c:159
++#: rc.c:161
+ msgid "Run external viewer in the background"
+ msgstr ""
+
+-#: rc.c:161
++#: rc.c:163
+ msgid "Use external program for directory listing"
+ msgstr ""
+
+-#: rc.c:162
++#: rc.c:164
+ msgid "URL of directory listing command"
+ msgstr ""
+
+-#: rc.c:164
++#: rc.c:166
+ msgid "Enable dictionary lookup through CGI"
+ msgstr ""
+
+-#: rc.c:165
++#: rc.c:167
+ msgid "URL of dictionary lookup command"
+ msgstr ""
+
+-#: rc.c:167
++#: rc.c:169
+ msgid "Display link name for images lacking ALT"
+ msgstr ""
+
+-#: rc.c:168
++#: rc.c:170
+ msgid "Index file for directories"
+ msgstr ""
+
+-#: rc.c:169
++#: rc.c:171
+ msgid "Prepend http:// to URL automatically"
+ msgstr ""
+
+-#: rc.c:170
++#: rc.c:172
+ msgid "Default value for open-URL command"
+ msgstr ""
+
+-#: rc.c:171
++#: rc.c:173
+ msgid "Decode Content-Transfer-Encoding when saving"
+ msgstr ""
+
+-#: rc.c:172
++#: rc.c:174
+ msgid "Preserve timestamp when saving"
+ msgstr ""
+
+-#: rc.c:174
++#: rc.c:176
+ msgid "Enable mouse"
+ msgstr ""
+
+-#: rc.c:175
++#: rc.c:177
+ msgid "Scroll in reverse direction of mouse drag"
+ msgstr ""
+
+-#: rc.c:176
++#: rc.c:178
+ msgid "Behavior of wheel scroll speed"
+ msgstr ""
+
+-#: rc.c:177
++#: rc.c:179
+ msgid "(A only)Scroll by # (%) of screen"
+ msgstr ""
+
+-#: rc.c:178
++#: rc.c:180
+ msgid "(B only)Scroll by # lines"
+ msgstr ""
+
+-#: rc.c:180
++#: rc.c:182
+ msgid "Free memory of undisplayed buffers"
+ msgstr ""
+
+-#: rc.c:181
++#: rc.c:183
+ msgid "Suppress `Referer:' header"
+ msgstr ""
+
+-#: rc.c:182
++#: rc.c:184
+ msgid "Search case-insensitively"
+ msgstr ""
+
+-#: rc.c:183
++#: rc.c:185
+ msgid "Use LESSOPEN"
+ msgstr ""
+
+-#: rc.c:186
++#: rc.c:188
+ msgid "Perform SSL server verification"
+ msgstr ""
+
+-#: rc.c:187
++#: rc.c:189
+ msgid "PEM encoded certificate file of client"
+ msgstr ""
+
+-#: rc.c:188
++#: rc.c:190
+ msgid "PEM encoded private key file of client"
+ msgstr ""
+
+-#: rc.c:189
++#: rc.c:191
+ msgid "Path to directory for PEM encoded certificates of CAs"
+ msgstr ""
+
+-#: rc.c:190
++#: rc.c:192
+ msgid "File consisting of PEM encoded certificates of CAs"
+ msgstr ""
+
+-#: rc.c:192
++#: rc.c:194
+ msgid "List of forbidden SSL methods (2: SSLv2, 3: SSLv3, t:TLSv1)"
+ msgstr ""
+
+-#: rc.c:195
++#: rc.c:197
+ msgid "Enable cookie processing"
+ msgstr ""
+
+-#: rc.c:196
++#: rc.c:198
+ msgid "Print a message when receiving a cookie"
+ msgstr ""
+
+-#: rc.c:197
++#: rc.c:199
+ msgid "Accept cookies"
+ msgstr ""
+
+-#: rc.c:198
++#: rc.c:200
+ msgid "Action to be taken on invalid cookie"
+ msgstr ""
+
+-#: rc.c:199
++#: rc.c:201
+ msgid "Domains to reject cookies from"
+ msgstr ""
+
+-#: rc.c:200
++#: rc.c:202
+ msgid "Domains to accept cookies from"
+ msgstr ""
+
+-#: rc.c:202
++#: rc.c:203
++msgid "Domains to avoid [wrong number of dots]"
++msgstr ""
++
++#: rc.c:205
+ msgid "Number of redirections to follow"
+ msgstr ""
+
+-#: rc.c:203
++#: rc.c:206
+ msgid "Enable processing of meta-refresh tag"
+ msgstr ""
+
+-#: rc.c:206
++#: rc.c:209
+ msgid "Enable Migemo (Roma-ji search)"
+ msgstr ""
+
+-#: rc.c:207
++#: rc.c:210
+ msgid "Migemo command"
+ msgstr ""
+
+-#: rc.c:211
++#: rc.c:214
+ msgid "Display charset"
+ msgstr ""
+
+-#: rc.c:212
++#: rc.c:215
+ msgid "Default document charset"
+ msgstr ""
+
+-#: rc.c:213
++#: rc.c:216
+ msgid "Automatic charset detect when loading"
+ msgstr ""
+
+-#: rc.c:214
++#: rc.c:217
+ msgid "System charset"
+ msgstr ""
+
+-#: rc.c:215
++#: rc.c:218
+ msgid "System charset follows locale(LC_CTYPE)"
+ msgstr ""
+
+-#: rc.c:216
++#: rc.c:219
+ msgid "Output halfdump with display charset"
+ msgstr ""
+
+-#: rc.c:217
++#: rc.c:220
+ msgid "Use multi column characters"
+ msgstr ""
+
+-#: rc.c:218
++#: rc.c:221
+ msgid "Use combining characters"
+ msgstr ""
+
+-#: rc.c:219
++#: rc.c:222
++msgid "Use double width for some Unicode characters"
++msgstr ""
++
++#: rc.c:223
+ msgid "Use Unicode language tags"
+ msgstr ""
+
+-#: rc.c:220
++#: rc.c:224
+ msgid "Charset conversion using Unicode map"
+ msgstr ""
+
+-#: rc.c:221
++#: rc.c:225
+ msgid "Charset conversion when loading"
+ msgstr ""
+
+-#: rc.c:222
++#: rc.c:226
+ msgid "Adjust search string for document charset"
+ msgstr ""
+
+-#: rc.c:223
++#: rc.c:227
+ msgid "Fix character width when conversion"
+ msgstr ""
+
+-#: rc.c:224
++#: rc.c:228
+ msgid "Use GB 12345 Unicode map instead of GB 2312's"
+ msgstr ""
+
+-#: rc.c:225
++#: rc.c:229
+ msgid "Use JIS X 0201 Roman for ISO-2022-JP"
+ msgstr ""
+
+-#: rc.c:226
++#: rc.c:230
+ msgid "Use JIS C 6226:1978 for ISO-2022-JP"
+ msgstr ""
+
+-#: rc.c:227
++#: rc.c:231
+ msgid "Use JIS X 0201 Katakana"
+ msgstr ""
+
+-#: rc.c:228
++#: rc.c:232
+ msgid "Use JIS X 0212:1990 (Supplemental Kanji)"
+ msgstr ""
+
+-#: rc.c:229
++#: rc.c:233
+ msgid "Use JIS X 0213:2000 (2000JIS)"
+ msgstr ""
+
+-#: rc.c:230
++#: rc.c:234
+ msgid "Strict ISO-2022-JP/KR/CN"
+ msgstr ""
+
+-#: rc.c:231
++#: rc.c:235
+ msgid "Treat 4 bytes char. of GB18030 as Unicode"
+ msgstr ""
+
+-#: rc.c:234
++#: rc.c:236
++msgid "Simple Preserve space"
++msgstr ""
++
++#: rc.c:239
+ msgid "keymap file"
+ msgstr ""
+
+-#: rc.c:251
++#: rc.c:256
+ msgid "black"
+ msgstr ""
+
+-#: rc.c:252
++#: rc.c:257
+ msgid "red"
+ msgstr ""
+
+-#: rc.c:253
++#: rc.c:258
+ msgid "green"
+ msgstr ""
+
+-#: rc.c:254
++#: rc.c:259
+ msgid "yellow"
+ msgstr ""
+
+-#: rc.c:255
++#: rc.c:260
+ msgid "blue"
+ msgstr ""
+
+-#: rc.c:256
++#: rc.c:261
+ msgid "magenta"
+ msgstr ""
+
+-#: rc.c:257
++#: rc.c:262
+ msgid "cyan"
+ msgstr ""
+
+-#: rc.c:258
++#: rc.c:263
+ msgid "white"
+ msgstr ""
+
+-#: rc.c:259
++#: rc.c:264
+ msgid "terminal"
+ msgstr ""
+
+-#: rc.c:278
++#: rc.c:283
+ msgid "none"
+ msgstr ""
+
+-#: rc.c:279
++#: rc.c:284
+ msgid "current URL"
+ msgstr ""
+
+-#: rc.c:280
++#: rc.c:285
+ msgid "link URL"
+ msgstr ""
+
+-#: rc.c:285
++#: rc.c:290
+ msgid "simple"
+ msgstr ""
+
+-#: rc.c:286
++#: rc.c:291
+ msgid "use tag"
+ msgstr ""
+
+-#: rc.c:287
++#: rc.c:292
+ msgid "fontify"
+ msgstr ""
+
+-#: rc.c:293
++#: rc.c:298
+ msgid "A:relative to screen height"
+ msgstr ""
+
+-#: rc.c:294
++#: rc.c:299
+ msgid "B:fixed speed"
+ msgstr ""
+
+-#: rc.c:301
++#: rc.c:306
+ msgid "unspecified"
+ msgstr ""
+
+-#: rc.c:302
++#: rc.c:307
+ msgid "inet inet6"
+ msgstr ""
+
+-#: rc.c:303
++#: rc.c:308
+ msgid "inet6 inet"
+ msgstr ""
+
+-#: rc.c:304
++#: rc.c:309
+ msgid "inet only"
+ msgstr ""
+
+-#: rc.c:305
++#: rc.c:310
+ msgid "inet6 only"
+ msgstr ""
+
+-#: rc.c:312
++#: rc.c:317
+ msgid "discard"
+ msgstr ""
+
+-#: rc.c:314
++#: rc.c:319
+ msgid "accept"
+ msgstr ""
+
+-#: rc.c:316
++#: rc.c:321
+ msgid "ask"
+ msgstr ""
+
+-#: rc.c:326
++#: rc.c:331
+ msgid "OFF"
+ msgstr ""
+
+-#: rc.c:327
++#: rc.c:332
+ msgid "Only ISO 2022"
+ msgstr ""
+
+-#: rc.c:328
++#: rc.c:333
+ msgid "ON"
+ msgstr ""
+
+-#: rc.c:679
++#: rc.c:695
+ msgid "Display Settings"
+ msgstr ""
+
+-#: rc.c:681
++#: rc.c:697
+ msgid "Color Settings"
+ msgstr ""
+
+-#: rc.c:683
++#: rc.c:699
+ msgid "Miscellaneous Settings"
+ msgstr ""
+
+-#: rc.c:684
++#: rc.c:700
+ msgid "Directory Settings"
+ msgstr ""
+
+-#: rc.c:685
++#: rc.c:701
+ msgid "External Program Settings"
+ msgstr ""
+
+-#: rc.c:686
++#: rc.c:702
+ msgid "Network Settings"
+ msgstr ""
+
+-#: rc.c:687
++#: rc.c:703
+ msgid "Proxy Settings"
+ msgstr ""
+
+-#: rc.c:689
++#: rc.c:705
+ msgid "SSL Settings"
+ msgstr ""
+
+-#: rc.c:692
++#: rc.c:708
+ msgid "Cookie Settings"
+ msgstr ""
+
+-#: rc.c:695
++#: rc.c:711
+ msgid "Charset Settings"
+ msgstr ""
+
+@@ -825,6 +845,6 @@
+ #. * header. For example, ja.po should translate it as
+ #. * "ja;q=1.0, en;q=0.5" like that.
+ #.
+-#: rc.c:1169
++#: rc.c:1190
+ msgid "en;q=1.0"
+ msgstr ""
+diff -urN w3m-0.5.2.orig/proto.h w3m/proto.h
+--- w3m-0.5.2.orig/proto.h 2006-04-07 22:21:12.000000000 +0900
++++ w3m/proto.h 2010-07-25 18:55:05.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: proto.h,v 1.101 2006/04/07 13:21:12 inu Exp $ */
++/* $Id: proto.h,v 1.104 2010/07/25 09:55:05 htrb Exp $ */
+ /*
+ * This file was automatically generated by version 1.7 of cextract.
+ * Manual editing not recommended.
+@@ -165,6 +165,7 @@
+ extern void examineFile(char *path, URLFile *uf);
+ extern char *acceptableEncoding();
+ extern int dir_exist(char *path);
++extern int is_html_type(char *type);
+ #ifdef USE_M17N
+ extern char **get_symbol(wc_ces charset, int *width);
+ extern char **set_symbol(int width);
+@@ -176,6 +177,9 @@
+ #define convertLine(uf,line,mode,charset,dcharset) convertLine0(uf,line,mode)
+ #endif
+ extern void push_symbol(Str str, char symbol, int width, int n);
++#ifdef USE_UNICODE
++extern void update_utf8_symbol(void);
++#endif
+ extern Buffer *loadFile(char *path);
+ extern Buffer *loadGeneralFile(char *path, ParsedURL *current, char *referer,
+ int flag, FormList *request);
+@@ -774,6 +778,8 @@
+ extern void saveBufferInfo(void);
+ #endif
+
++extern Str getLinkNumberStr(int correction);
++
+ extern void dispVer(void);
+
+ #ifdef USE_INCLUDED_SRAND48
+diff -urN w3m-0.5.2.orig/rc.c w3m/rc.c
+--- w3m-0.5.2.orig/rc.c 2007-05-24 00:06:06.000000000 +0900
++++ w3m/rc.c 2010-07-26 20:38:53.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: rc.c,v 1.106 2007/05/23 15:06:06 inu Exp $ */
++/* $Id: rc.c,v 1.114 2010/07/26 11:38:53 htrb Exp $ */
+ /*
+ * Initialization file etc.
+ */
+@@ -72,9 +72,11 @@
+ #define CMT_OPEN_TAB_BLANK N_("Open link on new tab if target is _blank or _new")
+ #define CMT_OPEN_TAB_DL_LIST N_("Open download list panel on new tab")
+ #define CMT_DISPLINK N_("Display link URL automatically")
++#define CMT_DISPLINKNUMBER N_("Display link numbers")
+ #define CMT_DECODE_URL N_("Display decoded URL")
+ #define CMT_DISPLINEINFO N_("Display current line number")
+ #define CMT_DISP_IMAGE N_("Display inline images")
++#define CMT_PSEUDO_INLINES N_("Display pseudo-ALTs for inline images with no ALT or TITLE string")
+ #ifdef USE_IMAGE
+ #define CMT_AUTO_IMAGE N_("Load inline images automatically")
+ #define CMT_MAX_LOAD_IMAGE N_("Maximum processes for parallel image loading")
+@@ -198,6 +200,7 @@
+ #define CMT_ACCEPTBADCOOKIE N_("Action to be taken on invalid cookie")
+ #define CMT_COOKIE_REJECT_DOMAINS N_("Domains to reject cookies from")
+ #define CMT_COOKIE_ACCEPT_DOMAINS N_("Domains to accept cookies from")
++#define CMT_COOKIE_AVOID_WONG_NUMBER_OF_DOTS N_("Domains to avoid [wrong number of dots]")
+ #endif
+ #define CMT_FOLLOW_REDIRECTION N_("Number of redirections to follow")
+ #define CMT_META_REFRESH N_("Enable processing of meta-refresh tag")
+@@ -216,6 +219,7 @@
+ #define CMT_EXT_HALFDUMP N_("Output halfdump with display charset")
+ #define CMT_USE_WIDE N_("Use multi column characters")
+ #define CMT_USE_COMBINING N_("Use combining characters")
++#define CMT_EAST_ASIAN_WIDTH N_("Use double width for some Unicode characters")
+ #define CMT_USE_LANGUAGE_TAG N_("Use Unicode language tags")
+ #define CMT_UCS_CONV N_("Charset conversion using Unicode map")
+ #define CMT_PRE_CONV N_("Charset conversion when loading")
+@@ -229,6 +233,7 @@
+ #define CMT_USE_JISX0213 N_("Use JIS X 0213:2000 (2000JIS)")
+ #define CMT_STRICT_ISO2022 N_("Strict ISO-2022-JP/KR/CN")
+ #define CMT_GB18030_AS_UCS N_("Treat 4 bytes char. of GB18030 as Unicode")
++#define CMT_SIMPLE_PRESERVE_SPACE N_("Simple Preserve space")
+ #endif
+
+ #define CMT_KEYMAP_FILE N_("keymap file")
+@@ -348,6 +353,8 @@
+ CMT_OPEN_TAB_DL_LIST, NULL},
+ {"display_link", P_INT, PI_ONOFF, (void *)&displayLink, CMT_DISPLINK,
+ NULL},
++ {"display_link_number", P_INT, PI_ONOFF, (void *)&displayLinkNumber,
++ CMT_DISPLINKNUMBER, NULL},
+ {"decode_url", P_INT, PI_ONOFF, (void *)&DecodeURL, CMT_DECODE_URL, NULL},
+ {"display_lineinfo", P_INT, PI_ONOFF, (void *)&displayLineInfo,
+ CMT_DISPLINEINFO, NULL},
+@@ -377,6 +384,8 @@
+ /* XXX: emacs-w3m force to off display_image even if image options off */
+ {"display_image", P_INT, PI_ONOFF, (void *)&displayImage, CMT_DISP_IMAGE,
+ NULL},
++ {"pseudo_inlines", P_INT, PI_ONOFF, (void *)&pseudoInlines,
++ CMT_PSEUDO_INLINES, NULL},
+ #ifdef USE_IMAGE
+ {"auto_image", P_INT, PI_ONOFF, (void *)&autoImage, CMT_AUTO_IMAGE, NULL},
+ {"max_load_image", P_INT, PI_TEXT, (void *)&maxLoadImage,
+@@ -573,6 +582,9 @@
+ (void *)&cookie_reject_domains, CMT_COOKIE_REJECT_DOMAINS, NULL},
+ {"cookie_accept_domains", P_STRING, PI_TEXT,
+ (void *)&cookie_accept_domains, CMT_COOKIE_ACCEPT_DOMAINS, NULL},
++ {"cookie_avoid_wrong_number_of_dots", P_STRING, PI_TEXT,
++ (void *)&cookie_avoid_wrong_number_of_dots,
++ CMT_COOKIE_AVOID_WONG_NUMBER_OF_DOTS, NULL},
+ {NULL, 0, 0, NULL, NULL, NULL},
+ };
+ #endif
+@@ -640,6 +652,8 @@
+ {"use_combining", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_combining,
+ CMT_USE_COMBINING, NULL},
+ #ifdef USE_UNICODE
++ {"east_asian_width", P_CHARINT, PI_ONOFF,
++ (void *)&WcOption.east_asian_width, CMT_EAST_ASIAN_WIDTH, NULL},
+ {"use_language_tag", P_CHARINT, PI_ONOFF,
+ (void *)&WcOption.use_language_tag, CMT_USE_LANGUAGE_TAG, NULL},
+ {"ucs_conv", P_CHARINT, PI_ONOFF, (void *)&WcOption.ucs_conv, CMT_UCS_CONV,
+@@ -671,6 +685,8 @@
+ {"gb18030_as_ucs", P_CHARINT, PI_ONOFF, (void *)&WcOption.gb18030_as_ucs,
+ CMT_GB18030_AS_UCS, NULL},
+ #endif
++ {"simple_preserve_space", P_CHARINT, PI_ONOFF, (void *)&SimplePreserveSpace,
++ CMT_SIMPLE_PRESERVE_SPACE, NULL},
+ {NULL, 0, 0, NULL, NULL, NULL},
+ };
+ #endif
+@@ -1061,9 +1077,11 @@
+
+ for (;;) {
+ line = Strfgets(f);
+- Strchop(line);
+- if (line->length == 0)
++ if (line->length == 0) /* end of file */
+ break;
++ Strchop(line);
++ if (line->length == 0) /* blank line */
++ continue;
+ Strremovefirstspaces(line);
+ if (line->ptr[0] == '#') /* comment */
+ continue;
+@@ -1105,6 +1123,9 @@
+ Cookie_reject_domains = make_domain_list(cookie_reject_domains);
+ if (non_null(cookie_accept_domains))
+ Cookie_accept_domains = make_domain_list(cookie_accept_domains);
++ if (non_null(cookie_avoid_wrong_number_of_dots))
++ Cookie_avoid_wrong_number_of_dots_domains
++ = make_domain_list(cookie_avoid_wrong_number_of_dots);
+ }
+ #endif
+
+@@ -1172,6 +1193,9 @@
+ AcceptEncoding = acceptableEncoding();
+ if (AcceptMedia == NULL || *AcceptMedia == '\0')
+ AcceptMedia = acceptableMimeTypes();
++#ifdef USE_UNICODE
++ update_utf8_symbol();
++#endif
+ if (fmInitialized) {
+ initKeymap(FALSE);
+ #ifdef USE_MOUSE
+@@ -1246,7 +1270,7 @@
+ interpret_rc(f);
+ fclose(f);
+ }
+- if ((f = fopen(config_file, "rt")) != NULL) {
++ if (config_file && (f = fopen(config_file, "rt")) != NULL) {
+ interpret_rc(f);
+ fclose(f);
+ }
+@@ -1258,6 +1282,8 @@
+ ((tmp_dir = getenv("TMP")) == NULL || *tmp_dir == '\0') &&
+ ((tmp_dir = getenv("TEMP")) == NULL || *tmp_dir == '\0'))
+ tmp_dir = "/tmp";
++ create_option_search_table();
++ goto open_rc;
+ }
+
+
+@@ -1439,8 +1465,8 @@
+ FILE *f = NULL;
+ char *p;
+
+- if (no_rc_dir) {
+- disp_message("There's no ~/.w3m directory... config not saved", FALSE);
++ if (config_file == NULL) {
++ disp_message("There's no config file... config not saved", FALSE);
+ }
+ else {
+ f = fopen(config_file, "wt");
+diff -urN w3m-0.5.2.orig/scripts/w3mman/w3mman2html.cgi.in w3m/scripts/w3mman/w3mman2html.cgi.in
+--- w3m-0.5.2.orig/scripts/w3mman/w3mman2html.cgi.in 2006-04-08 00:33:56.000000000 +0900
++++ w3m/scripts/w3mman/w3mman2html.cgi.in 2010-07-18 22:38:30.000000000 +0900
+@@ -76,7 +76,7 @@
+ if (! ($file =~ /^\//)) {
+ $file = $query{"pwd"} . '/' . $file;
+ }
+- open(F, "$MAN -l $file 2> /dev/null |");
++ open(F, "MAN_KEEP_FORMATTING=1 $MAN -l $file 2> /dev/null |");
+ } else {
+ $man = $query{"man"};
+ if ($man =~ s/\((\w+)\)$//) {
+@@ -92,7 +92,7 @@
+
+ $section =~ s:([^-\w\200-\377.,])::g;
+ $man =~ s:([^-\w\200-\377.,])::g;
+- open(F, "$MAN $section $man 2> /dev/null |");
++ open(F, "MAN_KEEP_FORMATTING=1 $MAN $section $man 2> /dev/null |");
+ }
+ $ok = 0;
+ undef $header;
+diff -urN w3m-0.5.2.orig/symbol.c w3m/symbol.c
+--- w3m-0.5.2.orig/symbol.c 2003-09-23 06:02:21.000000000 +0900
++++ w3m/symbol.c 2010-07-25 18:55:05.000000000 +0900
+@@ -18,7 +18,7 @@
+ wc_ces ces;
+ char width;
+ char **item;
+- char encode;
++ char **conved_item;
+ } symbol_set;
+
+ typedef struct {
+@@ -27,17 +27,17 @@
+ } charset_symbol_set;
+
+ /* *INDENT-OFF* */
+-static symbol_set alt_symbol_set = { WC_CES_US_ASCII, 1, alt_symbol, 1 };
+-static symbol_set alt2_symbol_set = { WC_CES_US_ASCII, 2, alt2_symbol, 1 };
+-static symbol_set eucjp_symbol_set = { WC_CES_EUC_JP, 2, eucjp_symbol, 0 };
+-static symbol_set euckr_symbol_set = { WC_CES_EUC_KR, 2, euckr_symbol, 0 };
+-static symbol_set euccn_symbol_set = { WC_CES_EUC_CN, 2, euccn_symbol, 0 };
+-static symbol_set euctw_symbol_set = { WC_CES_EUC_TW, 2, euctw_symbol, 0 };
+-static symbol_set big5_symbol_set = { WC_CES_BIG5, 2, big5_symbol, 0 };
++static symbol_set alt_symbol_set = { WC_CES_US_ASCII, 1, alt_symbol, alt_symbol };
++static symbol_set alt2_symbol_set = { WC_CES_US_ASCII, 2, alt2_symbol, alt2_symbol };
++static symbol_set eucjp_symbol_set = { WC_CES_EUC_JP, 2, eucjp_symbol, NULL };
++static symbol_set euckr_symbol_set = { WC_CES_EUC_KR, 2, euckr_symbol, NULL };
++static symbol_set euccn_symbol_set = { WC_CES_EUC_CN, 2, euccn_symbol, NULL };
++static symbol_set euctw_symbol_set = { WC_CES_EUC_TW, 2, euctw_symbol, NULL };
++static symbol_set big5_symbol_set = { WC_CES_BIG5, 2, big5_symbol, NULL };
+ #ifdef USE_UNICODE
+-static symbol_set utf8_symbol_set = { WC_CES_UTF_8, 1, utf8_symbol, 0 };
++static symbol_set utf8_symbol_set = { WC_CES_UTF_8, 1, utf8_symbol, NULL };
+ #endif
+-static symbol_set cp850_symbol_set = { WC_CES_CP850, 1, cp850_symbol, 0 };
++static symbol_set cp850_symbol_set = { WC_CES_CP850, 1, cp850_symbol, NULL };
+
+ static charset_symbol_set charset_symbol_list[] = {
+ { WC_CES_EUC_JP, &eucjp_symbol_set },
+@@ -73,11 +73,12 @@
+ {
+ int i;
+
++ for (i = 0; s->item[i]; i++) ;
++ s->conved_item = New_N(char *, i);
+ for (i = 0; s->item[i]; i++) {
+ if (*(s->item[i]))
+- s->item[i] = wc_conv(s->item[i], s->ces, InnerCharset)->ptr;
++ s->conved_item[i] = wc_conv(s->item[i], s->ces, InnerCharset)->ptr;
+ }
+- s->encode = 1;
+ }
+
+ char **
+@@ -86,28 +87,34 @@
+ charset_symbol_set *p;
+ symbol_set *s = NULL;
+
+- if (charset == save_charset && save_symbol != NULL &&
+- *width == save_symbol->width) {
+- *width = save_symbol->width;
+- return save_symbol->item;
+- }
+- save_charset = charset;
+- for (p = charset_symbol_list; p->charset; p++) {
+- if (charset == p->charset &&
+- (*width == 0 || *width == p->symbol->width)) {
+- s = p->symbol;
+- break;
++ if (UseGraphicChar) {
++ if (charset == save_charset && save_symbol != NULL &&
++ *width == save_symbol->width) {
++ return save_symbol->conved_item;
+ }
+- }
+- if (s == NULL)
++ save_charset = charset;
++ for (p = charset_symbol_list; p->charset; p++) {
++ if (charset == p->charset &&
++ (*width == 0 || *width == p->symbol->width)) {
++ s = p->symbol;
++ break;
++ }
++ }
++ if (s == NULL)
++ s = (*width == 2) ? &alt2_symbol_set : &alt_symbol_set;
++ if (s != save_symbol) {
++ if (!s->conved_item)
++ encode_symbol(s);
++ save_symbol = s;
++ }
++ } else {
++ if (save_symbol != NULL && *width == save_symbol->width)
++ return save_symbol->conved_item;
+ s = (*width == 2) ? &alt2_symbol_set : &alt_symbol_set;
+- if (s != save_symbol) {
+- if (!s->encode)
+- encode_symbol(s);
+ save_symbol = s;
+ }
+ *width = s->width;
+- return s->item;
++ return s->conved_item;
+ }
+
+ char **
+@@ -137,6 +144,21 @@
+ return symbol_buf;
+ }
+
++#ifdef USE_UNICODE
++void
++update_utf8_symbol(void)
++{
++ charset_symbol_set *p;
++ utf8_symbol_set.width = WcOption.east_asian_width ? 2 : 1;
++ for (p = charset_symbol_list; p->charset; p++) {
++ if (p->charset == WC_CES_UTF_8) {
++ encode_symbol(p->symbol);
++ break;
++ }
++ }
++}
++#endif
++
+ #else
+
+ char **
+diff -urN w3m-0.5.2.orig/table.c w3m/table.c
+--- w3m-0.5.2.orig/table.c 2007-05-23 22:07:44.000000000 +0900
++++ w3m/table.c 2010-07-20 08:34:01.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: table.c,v 1.55 2007/05/23 13:07:44 inu Exp $ */
++/* $Id: table.c,v 1.56 2010/07/19 23:34:01 htrb Exp $ */
+ /*
+ * HTML table
+ */
+@@ -2912,6 +2912,12 @@
+ check_rowcol(tbl, mode);
+ if (i == 0) {
+ Str tmp = process_anchor(tag, line);
++ if (displayLinkNumber)
++ {
++ Str t = getLinkNumberStr(-1);
++ feed_table_inline_tag(tbl, NULL, mode, t->length);
++ Strcat(tmp, t);
++ }
+ pushdata(tbl, tbl->row, tbl->col, tmp->ptr);
+ }
+ else
+diff -urN w3m-0.5.2.orig/terms.c w3m/terms.c
+--- w3m-0.5.2.orig/terms.c 2007-05-30 13:44:00.000000000 +0900
++++ w3m/terms.c 2010-07-25 18:55:05.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: terms.c,v 1.57 2007/05/30 04:44:00 inu Exp $ */
++/* $Id: terms.c,v 1.61 2010/07/25 09:55:05 htrb Exp $ */
+ /*
+ * An original curses library for EUC-kanji by Akinori ITO, December 1989
+ * revised by Akinori ITO, January 1995
+@@ -26,7 +26,7 @@
+ #endif /* USE_GPM */
+ #ifdef USE_SYSMOUSE
+ #include <osreldate.h>
+-#if (__FreeBSD_version >= 400017)
++#if (__FreeBSD_version >= 400017) || (__FreeBSD_kernel_version >= 400017)
+ #include <sys/consio.h>
+ #include <sys/fbio.h>
+ #else
+@@ -1201,7 +1201,7 @@
+ int
+ graph_ok(void)
+ {
+- if (!UseGraphicChar)
++ if (! UseGraphicChar)
+ return 0;
+ return T_as[0] != 0 && T_ae[0] != 0 && T_ac[0] != 0;
+ }
+@@ -1897,7 +1897,7 @@
+ int
+ do_getch()
+ {
+- if (is_xterm)
++ if (is_xterm || !gpm_handler)
+ return getch();
+ else
+ return Gpm_Getch();
+@@ -2037,6 +2037,7 @@
+ conn.maxMod = 0;
+ conn.minMod = 0;
+
++ gpm_handler = NULL;
+ r = Gpm_Open(&conn, 0);
+ if (r == -2) {
+ /*
+diff -urN w3m-0.5.2.orig/url.c w3m/url.c
+--- w3m-0.5.2.orig/url.c 2007-05-24 00:06:06.000000000 +0900
++++ w3m/url.c 2010-07-20 09:09:34.000000000 +0900
+@@ -1,4 +1,4 @@
+-/* $Id: url.c,v 1.95 2007/05/23 15:06:06 inu Exp $ */
++/* $Id: url.c,v 1.97 2010/07/20 00:09:34 htrb Exp $ */
+ #include "fm.h"
+ #ifndef __MINGW32_VERSION
+ #include <sys/types.h>
+@@ -101,6 +101,7 @@
+ {"html", "text/html"},
+ {"htm", "text/html"},
+ {"shtml", "text/html"},
++ {"xhtml", "application/xhtml+xml"},
+ {"gif", "image/gif"},
+ {"jpeg", "image/jpeg"},
+ {"jpg", "image/jpeg"},
+@@ -374,6 +375,9 @@
+ #if SSLEAY_VERSION_NUMBER >= 0x00905100
+ init_PRNG();
+ #endif /* SSLEAY_VERSION_NUMBER >= 0x00905100 */
++#if (SSLEAY_VERSION_NUMBER >= 0x00908070) && !defined(OPENSSL_NO_TLSEXT)
++ SSL_set_tlsext_host_name(handle,hostname);
++#endif /* (SSLEAY_VERSION_NUMBER >= 0x00908070) && !defined(OPENSSL_NO_TLSEXT) */
+ if (SSL_connect(handle) > 0) {
+ Str serv_cert = ssl_get_certificate(handle, hostname);
+ if (serv_cert) {
+diff -urN w3m-0.5.2.orig/version.c.in w3m/version.c.in
+--- w3m-0.5.2.orig/version.c.in 2007-05-31 21:17:05.000000000 +0900
++++ w3m/version.c.in 2007-06-04 22:21:10.000000000 +0900
+@@ -1,5 +1,5 @@
+-/* $Id: version.c.in,v 1.46 2007/05/31 12:17:05 inu Exp $ */
+-#define CURRENT_VERSION "w3m/0.5.2"
++/* $Id: version.c.in,v 1.47 2007/06/04 13:21:10 inu Exp $ */
++#define CURRENT_VERSION "w3m/0.5.2+cvs"
+
+ #ifndef FM_H
+ char *w3m_version = CURRENT_VERSION;
diff --git a/debian/patches/010_w3m.1-debian-fix.patch b/debian/patches/010_w3m.1-debian-fix.patch
deleted file mode 100644
index e43dae4..0000000
--- a/debian/patches/010_w3m.1-debian-fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- w3m-0.5.2.orig/doc/w3m.1 2002-11-12 21:36:30.000000000 +0900
-+++ w3m-0.5.2/doc/w3m.1 2008-06-08 14:12:18.000000000 +0900
-@@ -123,7 +123,7 @@
- .B -pauth user:pass
- proxy authentication
- .TP
--.B -S
-+.B -s
- squeeze multiple blank lines
- .TP
- .B -W
-@@ -133,7 +133,7 @@
- don't use termcap init/deinit
- .TP
- .B -title [=TERM]
--set buffer name to termianl title string.
-+set buffer name to terminal title string.
- If TERM is specified, use the TERM style title configuration.
- .TP
- .B -o opt=value
diff --git a/debian/patches/030_config-debian-fix.patch b/debian/patches/020_config-guess.patch
index 0f0818d..bcad7a3 100644
--- a/debian/patches/030_config-debian-fix.patch
+++ b/debian/patches/020_config-guess.patch
@@ -1,23 +1,24 @@
-From: Tatsuya Kinoshita <tats@debian.org>
-Subject: Update config.guess and config.sub.
+Description: Update config.guess and config.sub using autotools-dev 20100122.1
+Author: Tatsuya Kinoshita <tats@debian.org>
+Bug-Debian: http://bugs.debian.org/216785
diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
--- w3m-0.5.2.orig/config.guess 2004-08-05 02:32:27.000000000 +0900
-+++ w3m-0.5.2/config.guess 2009-07-24 05:36:54.000000000 +0900
++++ w3m-0.5.2/config.guess 2010-03-06 22:24:27.000000000 +0900
@@ -1,9 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+# Free Software Foundation, Inc.
-timestamp='2004-03-12'
-+timestamp='2009-06-10'
++timestamp='2009-12-30'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-@@ -17,13 +18,15 @@
+@@ -17,23 +18,25 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
@@ -30,22 +31,38 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
+-# Originally written by Per Bothner <per@bothner.com>.
+-# Please send patches to <config-patches@gnu.org>. Submit a context
+-# diff and a properly formatted ChangeLog entry.
+
- # Originally written by Per Bothner <per@bothner.com>.
- # Please send patches to <config-patches@gnu.org>. Submit a context
- # diff and a properly formatted ChangeLog entry.
-@@ -53,8 +56,8 @@
++# Originally written by Per Bothner. Please send patches (context
++# diff format) to <config-patches@gnu.org> and include a ChangeLog
++# entry.
+ #
+ # This script attempts to guess a canonical system name similar to
+ # config.sub. If it succeeds, it prints the system name on stdout, and
+ # exits with 0. Otherwise, it exits with 1.
+ #
+-# The plan is that this can be called by configure scripts if you
+-# don't specify an explicit build system type.
++# You can get the latest version of this script from:
++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+ me=`echo "$0" | sed -e 's,.*/,,'`
+
+@@ -53,8 +56,9 @@
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
++Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-@@ -66,11 +69,11 @@
+@@ -66,11 +70,11 @@
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
@@ -60,7 +77,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
-@@ -104,7 +107,7 @@
+@@ -104,7 +108,7 @@
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
@@ -69,7 +86,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-@@ -123,7 +126,7 @@
+@@ -123,7 +127,7 @@
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
@@ -78,7 +95,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
-@@ -158,6 +161,7 @@
+@@ -158,6 +162,7 @@
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
@@ -86,7 +103,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
-@@ -166,7 +170,7 @@
+@@ -166,7 +171,7 @@
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -95,7 +112,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
-@@ -196,64 +200,23 @@
+@@ -196,64 +201,23 @@
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
@@ -171,7 +188,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
-@@ -306,40 +269,43 @@
+@@ -306,40 +270,43 @@
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
@@ -228,7 +245,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
-@@ -347,32 +313,48 @@
+@@ -347,32 +314,51 @@
else
echo pyramid-pyramid-bsd
fi
@@ -262,6 +279,9 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
+ exit ;;
++ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
++ echo i386-pc-auroraux${UNAME_RELEASE}
++ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
@@ -288,7 +308,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
-@@ -381,10 +363,10 @@
+@@ -381,10 +367,10 @@
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
@@ -301,7 +321,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-@@ -396,10 +378,10 @@
+@@ -396,10 +382,10 @@
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
@@ -314,7 +334,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
-@@ -410,40 +392,40 @@
+@@ -410,40 +396,40 @@
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
@@ -367,7 +387,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
-@@ -467,32 +449,33 @@
+@@ -467,32 +453,33 @@
exit (-1);
}
EOF
@@ -412,7 +432,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
-@@ -508,29 +491,29 @@
+@@ -508,29 +495,29 @@
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
@@ -451,7 +471,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
-@@ -538,7 +521,7 @@
+@@ -538,7 +525,7 @@
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
@@ -460,7 +480,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
-@@ -553,15 +536,19 @@
+@@ -553,15 +540,19 @@
exit(0);
}
EOF
@@ -484,7 +504,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
-@@ -574,28 +561,28 @@
+@@ -574,28 +565,28 @@
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
@@ -521,7 +541,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
-@@ -657,9 +644,19 @@
+@@ -657,9 +648,19 @@
esac
if [ ${HP_ARCH} = "hppa2.0w" ]
then
@@ -544,7 +564,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
then
HP_ARCH="hppa2.0w"
else
-@@ -667,11 +664,11 @@
+@@ -667,11 +668,11 @@
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -558,7 +578,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
-@@ -699,210 +696,227 @@
+@@ -699,224 +700,248 @@
exit (0);
}
EOF
@@ -722,12 +742,12 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
- exit 0 ;;
+ exit ;;
-+ *:Interix*:[3456]*)
++ *:Interix*:*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
-+ EM64T | authenticamd | genuineintel)
++ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
@@ -777,6 +797,20 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
echo ${UNAME_MACHINE}-pc-minix
- exit 0 ;;
+ exit ;;
++ alpha:Linux:*:*)
++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
++ EV5) UNAME_MACHINE=alphaev5 ;;
++ EV56) UNAME_MACHINE=alphaev56 ;;
++ PCA56) UNAME_MACHINE=alphapca56 ;;
++ PCA57) UNAME_MACHINE=alphapca56 ;;
++ EV6) UNAME_MACHINE=alphaev6 ;;
++ EV67) UNAME_MACHINE=alphaev67 ;;
++ EV68*) UNAME_MACHINE=alphaev68 ;;
++ esac
++ objdump --private-headers /bin/sh | grep -q ld.so.1
++ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
++ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
++ exit ;;
arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -801,6 +835,17 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit ;;
++ i*86:Linux:*:*)
++ LIBC=gnu
++ eval $set_cc_for_build
++ sed 's/^ //' << EOF >$dummy.c
++ #ifdef __dietlibc__
++ LIBC=dietlibc
++ #endif
++EOF
++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
++ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
++ exit ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
@@ -855,53 +900,56 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
-+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-+ /^CPU/{
-+ s: ::g
-+ p
-+ }'`"
++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
-+ or32:Linux:*:*)
-+ echo or32-unknown-linux-gnu
-+ exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
-- exit 0 ;;
-+ exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
-- exit 0 ;;
-+ exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
-@@ -913,10 +927,13 @@
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
+- ppc:Linux:*:*)
+- echo powerpc-unknown-linux-gnu
+- exit 0 ;;
+- ppc64:Linux:*:*)
+- echo powerpc64-unknown-linux-gnu
+- exit 0 ;;
+- alpha:Linux:*:*)
+- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+- EV5) UNAME_MACHINE=alphaev5 ;;
+- EV56) UNAME_MACHINE=alphaev56 ;;
+- PCA56) UNAME_MACHINE=alphapca56 ;;
+- PCA57) UNAME_MACHINE=alphapca56 ;;
+- EV6) UNAME_MACHINE=alphaev6 ;;
+- EV67) UNAME_MACHINE=alphaev67 ;;
+- EV68*) UNAME_MACHINE=alphaev68 ;;
+- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
-+ objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit 0 ;;
++ or32:Linux:*:*)
++ echo or32-unknown-linux-gnu
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
++ parisc64:Linux:*:* | hppa64:Linux:*:*)
++ echo hppa64-unknown-linux-gnu
++ exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-@@ -924,25 +941,31 @@
+@@ -924,87 +949,40 @@
PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-gnu ;;
esac
- exit 0 ;;
-+ exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
+- parisc64:Linux:*:* | hppa64:Linux:*:*)
+- echo hppa64-unknown-linux-gnu
- exit 0 ;;
+ exit ;;
++ ppc64:Linux:*:*)
++ echo powerpc64-unknown-linux-gnu
++ exit ;;
++ ppc:Linux:*:*)
++ echo powerpc-unknown-linux-gnu
++ exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
- exit 0 ;;
@@ -924,17 +972,21 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
- exit 0 ;;
-+ exit ;;
-+ xtensa*:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-gnu
-+ exit ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
-@@ -958,17 +981,6 @@
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
+- i*86:Linux:*:*)
+- # The BFD linker knows what the default object file format is, so
+- # first see if it will tell us. cd to the root directory to prevent
+- # problems with other programs or directories called `ld' in the path.
+- # Set LC_ALL=C to ensure ld outputs messages in English.
+- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+- | sed -ne '/supported targets:/!d
+- s/[ ][ ]*/ /g
+- s/.*supported targets: *//
+- s/ .*//
+- p'`
+- case "$ld_supported_targets" in
+- elf32-i386)
+- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit 0 ;;
@@ -946,36 +998,40 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit 0 ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
-@@ -985,7 +997,7 @@
- LIBC=gnulibc1
- # endif
- #else
+- esac
+- # Determine whether the default compiler is a.out or elf
+- eval $set_cc_for_build
+- sed 's/^ //' << EOF >$dummy.c
+- #include <features.h>
+- #ifdef __ELF__
+- # ifdef __GLIBC__
+- # if __GLIBC__ >= 2
+- LIBC=gnu
+- # else
+- LIBC=gnulibc1
+- # endif
+- # else
+- LIBC=gnulibc1
+- # endif
+- #else
- #ifdef __INTEL_COMPILER
-+ #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
- LIBC=gnu
- #else
- LIBC=gnuaout
-@@ -995,16 +1007,23 @@
- LIBC=dietlibc
- #endif
- EOF
+- LIBC=gnu
+- #else
+- LIBC=gnuaout
+- #endif
+- #endif
+- #ifdef __dietlibc__
+- LIBC=dietlibc
+- #endif
+-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
-+ eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-+ /^LIBC/{
-+ s: ::g
-+ p
-+ }'`"
-+ test x"${LIBC}" != x && {
-+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-+ exit
-+ }
-+ test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
- ;;
+- ;;
++ exit ;;
++ xtensa*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
@@ -986,7 +1042,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
-@@ -1012,27 +1031,27 @@
+@@ -1012,27 +990,27 @@
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
@@ -1023,7 +1079,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-@@ -1040,15 +1059,16 @@
+@@ -1040,15 +1018,16 @@
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
@@ -1043,7 +1099,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-@@ -1066,73 +1086,86 @@
+@@ -1066,73 +1045,86 @@
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
@@ -1155,7 +1211,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
-@@ -1140,68 +1173,84 @@
+@@ -1140,68 +1132,94 @@
else
echo ns32k-sni-sysv
fi
@@ -1252,6 +1308,16 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
- powerpc) UNAME_PROCESSOR=powerpc ;;
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
++ i386)
++ eval $set_cc_for_build
++ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
++ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
++ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
++ grep IS_64BIT_ARCH >/dev/null
++ then
++ UNAME_PROCESSOR="x86_64"
++ fi
++ fi ;;
+ unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
@@ -1260,7 +1326,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = "x86"; then
-@@ -1209,22 +1258,25 @@
+@@ -1209,22 +1227,25 @@
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
@@ -1292,7 +1358,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
-@@ -1235,31 +1287,50 @@
+@@ -1235,31 +1256,50 @@
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
@@ -1352,7 +1418,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
-@@ -1291,7 +1362,7 @@
+@@ -1291,7 +1331,7 @@
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
@@ -1361,7 +1427,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
#endif
#if defined (hp300) && !defined (hpux)
-@@ -1380,11 +1451,12 @@
+@@ -1380,11 +1420,12 @@
}
EOF
@@ -1376,7 +1442,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
# Convex versions that predate uname can use getsysinfo(1)
-@@ -1393,22 +1465,22 @@
+@@ -1393,22 +1434,22 @@
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
@@ -1404,7 +1470,7 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
esac
fi
-@@ -1419,7 +1491,9 @@
+@@ -1419,7 +1460,9 @@
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
@@ -1417,21 +1483,21 @@ diff -urN w3m-0.5.2.orig/config.guess w3m-0.5.2/config.guess
send the following data and any information you think might be
diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
--- w3m-0.5.2.orig/config.sub 2004-08-05 02:32:27.000000000 +0900
-+++ w3m-0.5.2/config.sub 2009-07-24 05:36:54.000000000 +0900
++++ w3m-0.5.2/config.sub 2010-03-06 22:24:27.000000000 +0900
@@ -1,9 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+# Free Software Foundation, Inc.
-timestamp='2004-03-12'
-+timestamp='2009-06-11'
++timestamp='2010-01-22'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
-@@ -21,14 +22,15 @@
+@@ -21,22 +22,26 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
@@ -1448,20 +1514,33 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
+
# Please send patches to <config-patches@gnu.org>. Submit a context
- # diff and a properly formatted ChangeLog entry.
+-# diff and a properly formatted ChangeLog entry.
++# diff and a properly formatted GNU ChangeLog entry.
#
-@@ -70,8 +72,8 @@
+ # Configuration subroutine to validate and canonicalize a configuration type.
+ # Supply the specified configuration type as an argument.
+ # If it is invalid, we print an error message on stderr and exit with code 1.
+ # Otherwise, we print the canonical config type on stdout and succeed.
+
++# You can get the latest version of this script from:
++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
++
+ # This file is supposed to be the same for all GNU packages
+ # and recognize all the CPU types, system types and aliases
+ # that are meaningful with *any* GNU software.
+@@ -70,8 +75,9 @@
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
++Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-@@ -83,11 +85,11 @@
+@@ -83,11 +89,11 @@
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
@@ -1476,7 +1555,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
-@@ -99,7 +101,7 @@
+@@ -99,7 +105,7 @@
*local*)
# First pass through any local machine types.
echo $1
@@ -1485,7 +1564,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
* )
break ;;
-@@ -118,8 +120,10 @@
+@@ -118,8 +124,10 @@
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
@@ -1498,12 +1577,12 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
-@@ -145,10 +149,13 @@
+@@ -145,10 +153,13 @@
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis)
-+ -apple | -axis | -knuth | -cray)
++ -apple | -axis | -knuth | -cray | -microblaze)
os=
basic_machine=$1
;;
@@ -1513,7 +1592,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
-@@ -170,6 +177,10 @@
+@@ -170,6 +181,10 @@
-hiux*)
os=-hiuxwe2
;;
@@ -1524,7 +1603,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-@@ -186,6 +197,10 @@
+@@ -186,6 +201,10 @@
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
@@ -1535,7 +1614,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-@@ -230,22 +245,28 @@
+@@ -230,22 +249,28 @@
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
@@ -1568,7 +1647,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
-@@ -254,21 +275,26 @@
+@@ -254,30 +279,40 @@
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
@@ -1583,6 +1662,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
++ | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
@@ -1592,6 +1672,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
++ | ubicom32 \
| v850 | v850e \
| we32k \
- | x86 | xscale | xstormy16 | xtensa \
@@ -1600,8 +1681,11 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
+ | z8k | z80)
basic_machine=$basic_machine-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12)
-@@ -278,6 +304,9 @@
+- m6811 | m68hc11 | m6812 | m68hc12)
++ m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
@@ -1611,7 +1695,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
-@@ -297,28 +326,32 @@
+@@ -297,28 +332,32 @@
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
@@ -1635,7 +1719,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
+ | m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | mcore-* \
-+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
++ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@@ -1651,7 +1735,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
-@@ -326,26 +359,34 @@
+@@ -326,26 +365,36 @@
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
@@ -1665,8 +1749,9 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
- | romp-* | rs6000-* \
+- | romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
++ | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
@@ -1675,9 +1760,10 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
-- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++ | tile-* | tilegx-* \
| tron-* \
++ | ubicom32-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
@@ -1694,7 +1780,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
-@@ -409,6 +450,10 @@
+@@ -409,6 +458,10 @@
basic_machine=m68k-apollo
os=-bsd
;;
@@ -1705,7 +1791,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
aux)
basic_machine=m68k-apple
os=-aux
-@@ -417,10 +462,26 @@
+@@ -417,10 +470,26 @@
basic_machine=ns32k-sequent
os=-dynix
;;
@@ -1732,7 +1818,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
convex-c1)
basic_machine=c1-convex
os=-bsd
-@@ -445,13 +506,20 @@
+@@ -445,13 +514,20 @@
basic_machine=j90-cray
os=-unicos
;;
@@ -1755,7 +1841,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
-@@ -481,6 +549,14 @@
+@@ -481,6 +557,14 @@
basic_machine=m88k-motorola
os=-sysv3
;;
@@ -1770,7 +1856,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
-@@ -631,6 +707,14 @@
+@@ -631,6 +715,14 @@
basic_machine=m68k-isi
os=-sysv
;;
@@ -1785,7 +1871,14 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
m88k-omron*)
basic_machine=m88k-omron
;;
-@@ -646,6 +730,10 @@
+@@ -642,10 +734,17 @@
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
++ microblaze)
++ basic_machine=microblaze-xilinx
++ ;;
+ mingw32)
basic_machine=i386-pc
os=-mingw32
;;
@@ -1796,7 +1889,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
miniframe)
basic_machine=m68000-convergent
;;
-@@ -659,10 +747,6 @@
+@@ -659,10 +758,6 @@
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
@@ -1807,7 +1900,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
monitor)
basic_machine=m68k-rom68k
os=-coff
-@@ -675,6 +759,9 @@
+@@ -675,6 +770,9 @@
basic_machine=i386-pc
os=-msdos
;;
@@ -1817,7 +1910,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
mvs)
basic_machine=i370-ibm
os=-mvs
-@@ -743,10 +830,6 @@
+@@ -743,10 +841,6 @@
np1)
basic_machine=np1-gould
;;
@@ -1828,7 +1921,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
nsr-tandem)
basic_machine=nsr-tandem
;;
-@@ -754,9 +837,8 @@
+@@ -754,9 +848,8 @@
basic_machine=hppa1.1-oki
os=-proelf
;;
@@ -1839,7 +1932,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
;;
os400)
basic_machine=powerpc-ibm
-@@ -778,6 +860,14 @@
+@@ -778,6 +871,14 @@
basic_machine=i860-intel
os=-osf
;;
@@ -1854,7 +1947,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
pbd)
basic_machine=sparc-tti
;;
-@@ -787,6 +877,12 @@
+@@ -787,6 +888,12 @@
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
@@ -1867,7 +1960,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
-@@ -843,6 +939,10 @@
+@@ -843,6 +950,10 @@
basic_machine=i586-unknown
os=-pw32
;;
@@ -1878,7 +1971,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
rom68k)
basic_machine=m68k-rom68k
os=-coff
-@@ -869,6 +969,10 @@
+@@ -869,6 +980,10 @@
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
@@ -1889,7 +1982,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
sei)
basic_machine=mips-sei
os=-seiux
-@@ -880,6 +984,9 @@
+@@ -880,6 +995,9 @@
basic_machine=sh-hitachi
os=-hms
;;
@@ -1899,10 +1992,15 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
sh64)
basic_machine=sh64-unknown
;;
-@@ -969,6 +1076,10 @@
+@@ -969,6 +1087,15 @@
basic_machine=tic6x-unknown
os=-coff
;;
++ # This must be matched before tile*.
++ tilegx*)
++ basic_machine=tilegx-unknown
++ os=-linux-gnu
++ ;;
+ tile*)
+ basic_machine=tile-unknown
+ os=-linux-gnu
@@ -1910,7 +2008,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
tx39)
basic_machine=mipstx39-unknown
;;
-@@ -1029,6 +1140,10 @@
+@@ -1029,6 +1156,10 @@
basic_machine=hppa1.1-winbond
os=-proelf
;;
@@ -1921,7 +2019,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
xps | xps100)
basic_machine=xps100-honeywell
;;
-@@ -1040,6 +1155,10 @@
+@@ -1040,6 +1171,10 @@
basic_machine=z8k-unknown
os=-sim
;;
@@ -1932,7 +2030,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
none)
basic_machine=none-none
os=-none
-@@ -1059,6 +1178,9 @@
+@@ -1059,6 +1194,9 @@
romp)
basic_machine=romp-ibm
;;
@@ -1942,7 +2040,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
rs6000)
basic_machine=rs6000-ibm
;;
-@@ -1075,13 +1197,10 @@
+@@ -1075,13 +1213,10 @@
we32k)
basic_machine=we32k-att
;;
@@ -1958,14 +2056,25 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
basic_machine=sparc-sun
;;
cydra)
-@@ -1148,26 +1267,30 @@
+@@ -1128,6 +1263,9 @@
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
++ -auroraux)
++ os=-auroraux
++ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+@@ -1148,26 +1286,30 @@
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-+ | -kopensolaris* \
++ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
++ | -sym* | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
+ | -aos* | -aros* \
@@ -1991,11 +2100,11 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
++ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
-@@ -1185,7 +1308,7 @@
+@@ -1185,7 +1327,7 @@
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
@@ -2004,7 +2113,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
-@@ -1294,6 +1417,12 @@
+@@ -1294,6 +1436,14 @@
-kaos*)
os=-kaos
;;
@@ -2014,10 +2123,12 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
+ -dicos*)
+ os=-dicos
+ ;;
++ -nacl*)
++ ;;
-none)
;;
*)
-@@ -1316,6 +1445,12 @@
+@@ -1316,6 +1466,12 @@
# system, and we'll never get to this point.
case $basic_machine in
@@ -2030,7 +2141,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
*-acorn)
os=-riscix1.2
;;
-@@ -1325,9 +1460,9 @@
+@@ -1325,9 +1481,9 @@
arm*-semi)
os=-aout
;;
@@ -2043,7 +2154,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
-@@ -1353,6 +1488,9 @@
+@@ -1353,6 +1509,9 @@
m68*-cisco)
os=-aout
;;
@@ -2053,7 +2164,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
mips*-cisco)
os=-elf
;;
-@@ -1371,9 +1509,15 @@
+@@ -1371,9 +1530,15 @@
*-be)
os=-beos
;;
@@ -2069,7 +2180,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
*-wec)
os=-proelf
;;
-@@ -1476,7 +1620,7 @@
+@@ -1476,7 +1641,7 @@
-sunos*)
vendor=sun
;;
@@ -2078,7 +2189,7 @@ diff -urN w3m-0.5.2.orig/config.sub w3m-0.5.2/config.sub
vendor=ibm
;;
-beos*)
-@@ -1539,7 +1683,7 @@
+@@ -1539,7 +1704,7 @@
esac
echo $basic_machine$os
diff --git a/debian/patches/020_ja-w3m.1-debian-fix.patch b/debian/patches/020_ja-w3m.1-debian-fix.patch
deleted file mode 100644
index da9961b..0000000
--- a/debian/patches/020_ja-w3m.1-debian-fix.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- w3m-0.5.2.orig/doc-jp/w3m.1 2002-11-12 21:36:30.000000000 +0900
-+++ w3m-0.5.2/doc-jp/w3m.1 2008-06-08 14:46:54.000000000 +0900
-@@ -39,15 +39,6 @@
- 標準入力の内容を表示するときに保存される最大行数を指定する.
- デフォルトは10000.
- .TP
--.B \-s
--Shift_JISコードで表示する.
--.TP
--.B \-e
--EUCコードで表示する.
--.TP
--.B \-j
--JIS (ISO-2022-JP)コードで表示する.
--.TP
- .BI \-O\ e|s|j|N|m
- 表示に使う文字コードを指定する.
- .TP
-@@ -90,7 +81,7 @@
- .B \-F
- フレームを自動表示する.
- .TP
--.B \-S
-+.B \-s
- 連続する空行を1行にまとめて表示する.
- .TP
- .B \-X
-@@ -264,7 +255,7 @@
- .B "ESC g"
- 画面下で行番号を入力し,そこで指定した行に移動します.
- ここで
--.$
-+.B $
- を入力すると,最終行に移動します.
- .TP
- .B Z
-@@ -337,7 +328,6 @@
- 現在のリンク先を,外部ブラウザを使って表示します.
- .B "2ESC M", "3ESC M"
- で2番目と3番目のブラウザを使います.
--.El
- .SS ファイルとURL関係の操作
- .TP
- .B U
-@@ -377,9 +367,9 @@
- .TP
- .B "ESC s"
- HTMLのソースをファイルに保存します.
--.v
-+.B v
- でソースを表示して
--.S
-+.B S
- で保存するのとほぼ同じですが,
- .B "ESC s"
- で保存したファイルは漢字コードがオリジナルのままであるのに対して,
-@@ -403,7 +393,6 @@
- .TP
- .B RET
- 現在選択しているバッファを表示します.
--.El
- .SS ブックマーク操作
- .TP
- .B "ESC b"
diff --git a/debian/patches/040_gnukfreebsd-ftbfs-fix.patch b/debian/patches/040_gnukfreebsd-ftbfs-fix.patch
deleted file mode 100644
index 8398f4d..0000000
--- a/debian/patches/040_gnukfreebsd-ftbfs-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/terms.c
-+++ b/terms.c
-@@ -26,7 +26,7 @@
- #endif /* USE_GPM */
- #ifdef USE_SYSMOUSE
- #include <osreldate.h>
--#if (__FreeBSD_version >= 400017)
-+#if (__FreeBSD_version >= 400017) || (__FreeBSD_kernel_version >= 400017)
- #include <sys/consio.h>
- #include <sys/fbio.h>
- #else
diff --git a/debian/patches/050_w3mman-keep-formatting.patch b/debian/patches/050_w3mman-keep-formatting.patch
deleted file mode 100644
index 2e3c81c..0000000
--- a/debian/patches/050_w3mman-keep-formatting.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Description: Instruct man to preserve formatting characters in its output
- rather than filtering them through col. Works as of man-db 2.5.0, but is
- harmless with older versions.
-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=325699
-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/353900
-
-Index: b/scripts/w3mman/w3mman2html.cgi.in
-===================================================================
---- a/scripts/w3mman/w3mman2html.cgi.in
-+++ b/scripts/w3mman/w3mman2html.cgi.in
-@@ -76,7 +76,7 @@
- if (! ($file =~ /^\//)) {
- $file = $query{"pwd"} . '/' . $file;
- }
-- open(F, "$MAN -l $file 2> /dev/null |");
-+ open(F, "MAN_KEEP_FORMATTING=1 $MAN -l $file 2> /dev/null |");
- } else {
- $man = $query{"man"};
- if ($man =~ s/\((\w+)\)$//) {
-@@ -92,7 +92,7 @@
-
- $section =~ s:([^-\w\200-\377.,])::g;
- $man =~ s:([^-\w\200-\377.,])::g;
-- open(F, "$MAN $section $man 2> /dev/null |");
-+ open(F, "MAN_KEEP_FORMATTING=1 $MAN $section $man 2> /dev/null |");
- }
- $ok = 0;
- undef $header;
diff --git a/debian/patches/060_check-null-cn.patch b/debian/patches/060_check-null-cn.patch
deleted file mode 100644
index fdab45c..0000000
--- a/debian/patches/060_check-null-cn.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Description: Check for null bytes in CN/subjAltName
-Origin: http://www.openwall.com/lists/oss-security/2010/06/14/4
-Author: Ludwig Nussel <ludwig.nussel@suse.de>
-Bug-Debian: http://bugs.debian.org/587445
-
---- w3m-0.5.2.orig/istream.c
-+++ w3m-0.5.2/istream.c
-@@ -447,8 +447,17 @@ ssl_check_cert_ident(X509 * x, char *hos
-
- if (!seen_dnsname)
- seen_dnsname = Strnew();
-+ /* replace \0 to make full string visible to user */
-+ if (sl != strlen(sn)) {
-+ int i;
-+ for (i = 0; i < sl; ++i) {
-+ if (!sn[i])
-+ sn[i] = '!';
-+ }
-+ }
- Strcat_m_charp(seen_dnsname, sn, " ", NULL);
-- if (ssl_match_cert_ident(sn, sl, hostname))
-+ if (sl == strlen(sn) /* catch \0 in SAN */
-+ && ssl_match_cert_ident(sn, sl, hostname))
- break;
- }
- }
-@@ -466,16 +475,27 @@ ssl_check_cert_ident(X509 * x, char *hos
- if (match_ident == FALSE && ret == NULL) {
- X509_NAME *xn;
- char buf[2048];
-+ int slen;
-
- xn = X509_get_subject_name(x);
-
-- if (X509_NAME_get_text_by_NID(xn, NID_commonName,
-- buf, sizeof(buf)) == -1)
-+ slen = X509_NAME_get_text_by_NID(xn, NID_commonName, buf, sizeof(buf));
-+ if ( slen == -1)
- /* FIXME: gettextize? */
- ret = Strnew_charp("Unable to get common name from peer cert");
-- else if (!ssl_match_cert_ident(buf, strlen(buf), hostname))
-+ else if (slen != strlen(buf)
-+ || !ssl_match_cert_ident(buf, strlen(buf), hostname)) {
-+ /* replace \0 to make full string visible to user */
-+ if (slen != strlen(buf)) {
-+ int i;
-+ for (i = 0; i < slen; ++i) {
-+ if (!buf[i])
-+ buf[i] = '!';
-+ }
-+ }
- /* FIXME: gettextize? */
- ret = Sprintf("Bad cert ident %s from %s", buf, hostname);
-+ }
- else
- match_ident = TRUE;
- }
diff --git a/debian/patches/070_form-update.patch b/debian/patches/070_form-update.patch
deleted file mode 100644
index 8dc185f..0000000
--- a/debian/patches/070_form-update.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Description: Bug fix for formUpdateBuffer()
-Origin: http://mi.med.tohoku.ac.jp/~satodai/w3m-dev/200708.month/4286.html
-Author: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
-Bug-Debian: http://bugs.debian.org/409933
-
---- w3m-0.5.2.orig/form.c Fri Feb 6 02:23:07 2004
-+++ w3m-0.5.2/form.c Sat Aug 4 00:23:41 2007
-@@ -403,6 +403,7 @@
- line->lineBuf = buf;
- line->propBuf = prop;
- line->len = len;
-+ line->size = len;
-
- return pos;
- }
diff --git a/debian/patches/080_xhtml-support.patch b/debian/patches/080_xhtml-support.patch
deleted file mode 100644
index 10a5989..0000000
--- a/debian/patches/080_xhtml-support.patch
+++ /dev/null
@@ -1,232 +0,0 @@
-Description: Support for application/xhtml+xml and default UTF-8 encoding
-Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=242599#21
-Author: Karsten Schoelzel <kuser@gmx.de>
-Bug-Debian: http://bugs.debian.org/242599
-
----
-commit e6f2cebfaf5a026a1dd3901d226cd8dcdbda8b45
-tree 4182106482bf6409ee482bf35495e4daf044ddee
-parent 183d52a10e7ad0115ad6853b8a67a71228d7b0ee
-author Karsten Schoelzel <kuser@asus.karsten.local> Wed, 03 May 2006 17:34:05 +0200
-committer Karsten Schoelzel <kuser@asus.karsten.local> Wed, 03 May 2006 17:34:05 +0200
-
- backend.c | 2 +-
- buffer.c | 4 ++--
- display.c | 2 +-
- file.c | 28 ++++++++++++++++++++--------
- main.c | 12 ++++++------
- proto.h | 1 +
- url.c | 1 +
- 7 files changed, 32 insertions(+), 18 deletions(-)
-
-diff --git a/backend.c b/backend.c
-index 101e67e..1360091 100644
---- a/backend.c
-+++ b/backend.c
-@@ -95,7 +95,7 @@ internal_get(char *url, int flag, FormLi
- buf = loadGeneralFile(url, NULL, NO_REFERER, 0, request);
- do_download = FALSE;
- if (buf != NULL && buf != NO_BUFFER) {
-- if (!strcasecmp(buf->type, "text/html") && backend_halfdump_buf) {
-+ if (is_html_type(buf->type) && backend_halfdump_buf) {
- TextLineListItem *p;
- Str first, last;
- int len = 0;
-diff --git a/buffer.c b/buffer.c
-index f258dd6..ec48942 100644
---- a/buffer.c
-+++ b/buffer.c
-@@ -558,7 +558,7 @@ reshapeBuffer(Buffer *buf)
- WcOption.auto_detect = WC_OPT_DETECT_OFF;
- UseContentCharset = FALSE;
- #endif
-- if (!strcasecmp(buf->type, "text/html"))
-+ if (is_html_type(buf->type))
- loadHTMLBuffer(&f, buf);
- else
- loadBuffer(&f, buf);
-@@ -590,7 +590,7 @@ reshapeBuffer(Buffer *buf)
- gotoLine(buf, cur->linenumber);
- }
- buf->pos -= buf->currentLine->bpos;
-- if (FoldLine && strcasecmp(buf->type, "text/html"))
-+ if (FoldLine && !is_html_type(buf->type))
- buf->currentColumn = 0;
- else
- buf->currentColumn = sbuf.currentColumn;
-diff --git a/display.c b/display.c
-index addcaeb..18b8655 100644
---- a/display.c
-+++ b/display.c
-@@ -383,7 +383,7 @@ displayBuffer(Buffer *buf, int mode)
- if (buf->height == 0)
- buf->height = LASTLINE + 1;
- if ((buf->width != INIT_BUFFER_WIDTH &&
-- ((buf->type && !strcmp(buf->type, "text/html")) || FoldLine))
-+ (is_html_type(buf->type) || FoldLine))
- || buf->need_reshape) {
- buf->need_reshape = TRUE;
- reshapeBuffer(buf);
-diff --git a/file.c b/file.c
-index 0c82b93..df03333 100644
---- a/file.c
-+++ b/file.c
-@@ -272,6 +272,13 @@ is_plain_text_type(char *type)
- (is_text_type(type) && !is_dump_text_type(type)));
- }
-
-+int
-+is_html_type(char *type)
-+{
-+ return (type && (strcasecmp(type, "text/html") == 0 ||
-+ strcasecmp(type, "application/xhtml+xml") == 0));
-+}
-+
- static void
- check_compression(char *path, URLFile *uf)
- {
-@@ -373,7 +380,7 @@ examineFile(char *path, URLFile *uf)
- uf->guess_type = guessContentType(path);
- if (uf->guess_type == NULL)
- uf->guess_type = "text/plain";
-- if (strcasecmp(uf->guess_type, "text/html") == 0)
-+ if (is_html_type(uf->guess_type))
- return;
- if ((fp = lessopen_stream(path))) {
- UFclose(uf);
-@@ -2054,6 +2061,10 @@ loadGeneralFile(char *path, ParsedURL *v
- t = f.guess_type;
- }
-
-+ /* XXX: can we use guess_type to give the type to loadHTMLstream
-+ * to support default utf8 encoding for XHTML here? */
-+ f.guess_type = t;
-+
- page_loaded:
- if (page) {
- FILE *src;
-@@ -2164,7 +2175,7 @@ loadGeneralFile(char *path, ParsedURL *v
- }
- #endif
-
-- if (!strcasecmp(t, "text/html"))
-+ if (is_html_type(t))
- proc = loadHTMLBuffer;
- else if (is_plain_text_type(t))
- proc = loadBuffer;
-@@ -2228,7 +2239,7 @@ loadGeneralFile(char *path, ParsedURL *v
- b->real_type = real_type;
- if (b->currentURL.host == NULL && b->currentURL.file == NULL)
- copyParsedURL(&b->currentURL, &pu);
-- if (!strcasecmp(t, "text/html"))
-+ if (is_html_type(t))
- b->type = "text/html";
- else if (w3m_backend) {
- Str s = Strnew_charp(t);
-@@ -6734,6 +6745,8 @@ loadHTMLstream(URLFile *f, Buffer *newBu
- }
- if (content_charset && UseContentCharset)
- doc_charset = content_charset;
-+ else if (f->guess_type && !strcasecmp(f->guess_type, "application/xhtml+xml"))
-+ doc_charset = WC_CES_UTF_8;
- meta_charset = 0;
- #endif
- #if 0
-@@ -7164,8 +7177,7 @@ _saveBuffer(Buffer *buf, Line *l, FILE *
- wc_ces charset = DisplayCharset ? DisplayCharset : WC_CES_US_ASCII;
- #endif
-
-- if (buf->type && !strcasecmp(buf->type, "text/html"))
-- is_html = TRUE;
-+ is_html = is_html_type(buf->type);
-
- pager_next:
- for (; l != NULL; l = l->next) {
-@@ -7322,7 +7334,7 @@ openGeneralPagerBuffer(InputStream strea
- t = DefaultType;
- DefaultType = NULL;
- }
-- if (!strcasecmp(t, "text/html")) {
-+ if (is_html_type(t)) {
- buf = loadHTMLBuffer(&uf, t_buf);
- buf->type = "text/html";
- }
-@@ -8126,7 +8138,7 @@ reloadBuffer(Buffer *buf)
- buf->hmarklist->nmark = 0;
- if (buf->imarklist)
- buf->imarklist->nmark = 0;
-- if (!strcasecmp(buf->type, "text/html"))
-+ if (is_html_type(buf->type))
- loadHTMLBuffer(&uf, buf);
- else
- loadBuffer(&uf, buf);
-diff --git a/main.c b/main.c
-index 70c8c1d..9026775 100644
---- a/main.c
-+++ b/main.c
-@@ -4588,10 +4588,10 @@ DEFUN(vwSrc, SOURCE VIEW, "View HTML sou
-
- buf = newBuffer(INIT_BUFFER_WIDTH);
-
-- if (!strcasecmp(Currentbuf->type, "text/html")) {
-+ if (is_html_type(Currentbuf->type)) {
- buf->type = "text/plain";
- if (Currentbuf->real_type &&
-- !strcasecmp(Currentbuf->real_type, "text/html"))
-+ is_html_type(Currentbuf->real_type))
- buf->real_type = "text/plain";
- else
- buf->real_type = Currentbuf->real_type;
-@@ -4739,8 +4739,8 @@ DEFUN(reload, RELOAD, "Reload buffer")
- repBuffer(Currentbuf, buf);
- if ((buf->type != NULL) && (sbuf.type != NULL) &&
- ((!strcasecmp(buf->type, "text/plain") &&
-- !strcasecmp(sbuf.type, "text/html")) ||
-- (!strcasecmp(buf->type, "text/html") &&
-+ is_html_type(sbuf.type)) ||
-+ (is_html_type(buf->type) &&
- !strcasecmp(sbuf.type, "text/plain")))) {
- vwSrc();
- if (Currentbuf != buf)
-@@ -5059,7 +5059,7 @@ DEFUN(dispI, DISPLAY_IMAGE, "Restart loa
- return;
- displayImage = TRUE;
- /*
-- * if (!(Currentbuf->type && !strcmp(Currentbuf->type, "text/html")))
-+ * if (!(Currentbuf->type && is_html_type(Currentbuf->type)))
- * return;
- */
- Currentbuf->image_flag = IMG_FLAG_AUTO;
-@@ -5072,7 +5072,7 @@ DEFUN(stopI, STOP_IMAGE, "Stop loading a
- if (!activeImage)
- return;
- /*
-- * if (!(Currentbuf->type && !strcmp(Currentbuf->type, "text/html")))
-+ * if (!(Currentbuf->type && is_html_type(Currentbuf->type)))
- * return;
- */
- Currentbuf->image_flag = IMG_FLAG_SKIP;
-diff --git a/proto.h b/proto.h
-index 8929580..61a04c1 100644
---- a/proto.h
-+++ b/proto.h
-@@ -167,6 +167,7 @@ extern ParsedURL *schemeToProxy(int sche
- extern void examineFile(char *path, URLFile *uf);
- extern char *acceptableEncoding();
- extern int dir_exist(char *path);
-+extern int is_html_type(char *type);
- #ifdef USE_M17N
- extern char **get_symbol(wc_ces charset, int *width);
- extern char **set_symbol(int width);
-diff --git a/url.c b/url.c
-index b34d535..507589f 100644
---- a/url.c
-+++ b/url.c
-@@ -92,6 +92,7 @@ static struct table2 DefaultGuess[] = {
- {"html", "text/html"},
- {"htm", "text/html"},
- {"shtml", "text/html"},
-+ {"xhtml", "application/xhtml+xml"},
- {"gif", "image/gif"},
- {"jpeg", "image/jpeg"},
- {"jpg", "image/jpeg"},
diff --git a/debian/patches/090_simple-preserve-space.patch b/debian/patches/090_simple-preserve-space.patch
deleted file mode 100644
index d590c02..0000000
--- a/debian/patches/090_simple-preserve-space.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Description: New option "simple_preserve_space"
-Origin: http://www.sic.med.tohoku.ac.jp/~satodai/w3m-dev/200705.month/4238.html
-Author: dai <d+w3m@vdr.jp>
-Bug-Debian: http://bugs.debian.org/384982
-
-diff -urNp w3m-0.5.1+cvs1.948/file.c w3m-preserve-space/file.c
---- w3m-0.5.1+cvs1.948/file.c 2006-02-14 16:33:23.000000000 +0900
-+++ w3m-preserve-space/file.c 2006-07-29 22:28:47.000000000 +0900
-@@ -6131,7 +6131,7 @@ HTMLlineproc0(char *line, struct html_fe
- is_hangul = wtf_is_hangul((wc_uchar *) str);
- else
- is_hangul = 0;
-- if (mode == PC_KANJI1 &&
-+ if (!SimplePreserveSpace && mode == PC_KANJI1 &&
- !is_hangul && !prev_is_hangul &&
- obuf->pos > h_env->envs[h_env->envc].indent &&
- Strlastchar(obuf->line) == ' ') {
-diff -urNp w3m-0.5.1+cvs1.948/fm.h w3m-preserve-space/fm.h
---- w3m-0.5.1+cvs1.948/fm.h 2006-02-14 16:34:24.000000000 +0900
-+++ w3m-preserve-space/fm.h 2006-07-29 22:24:02.000000000 +0900
-@@ -1015,6 +1015,7 @@ global char ExtHalfdump init(FALSE);
- global char FollowLocale init(TRUE);
- global char UseContentCharset init(TRUE);
- global char SearchConv init(TRUE);
-+global char SimplePreserveSpace init(FALSE);
- #define Str_conv_from_system(x) wc_Str_conv((x), SystemCharset, InnerCharset)
- #define Str_conv_to_system(x) wc_Str_conv_strict((x), InnerCharset, SystemCharset)
- #define Str_conv_to_halfdump(x) (ExtHalfdump ? wc_Str_conv((x), InnerCharset, DisplayCharset) : (x))
-diff -urNp w3m-0.5.1+cvs1.948/rc.c w3m-preserve-space/rc.c
---- w3m-0.5.1+cvs1.948/rc.c 2006-02-14 16:34:24.000000000 +0900
-+++ w3m-preserve-space/rc.c 2006-07-29 22:27:50.000000000 +0900
-@@ -228,6 +228,7 @@ static int OptionEncode = FALSE;
- #define CMT_USE_JISX0213 N_("Use JIS X 0213:2000 (2000JIS)")
- #define CMT_STRICT_ISO2022 N_("Strict ISO-2022-JP/KR/CN")
- #define CMT_GB18030_AS_UCS N_("Treat 4 bytes char. of GB18030 as Unicode")
-+#define CMT_SIMPLE_PRESERVE_SPACE N_("Simple Preserve space")
- #endif
-
- #define CMT_KEYMAP_FILE N_("keymap file")
-@@ -662,6 +663,8 @@ struct param_ptr params10[] = {
- {"gb18030_as_ucs", P_CHARINT, PI_ONOFF, (void *)&WcOption.gb18030_as_ucs,
- CMT_GB18030_AS_UCS, NULL},
- #endif
-+ {"simple_preserve_space", P_CHARINT, PI_ONOFF, (void *)&SimplePreserveSpace,
-+ CMT_SIMPLE_PRESERVE_SPACE, NULL},
- {NULL, 0, 0, NULL, NULL, NULL},
- };
- #endif
diff --git a/debian/patches/100_download-error-short-write.patch b/debian/patches/100_download-error-short-write.patch
deleted file mode 100644
index d1af5aa..0000000
--- a/debian/patches/100_download-error-short-write.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-Description: Tell a download failure when full disk
-Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=185006#22
-Author: Karsten Schoelzel <kuser@gmx.de>
-Bug-Debian: http://bugs.debian.org/185006
-
-diff -urNp w3m-0.5.2.orig/file.c w3m-0.5.2/file.c
---- w3m-0.5.2.orig/file.c 2007-05-24 00:06:05.000000000 +0900
-+++ w3m-0.5.2/file.c 2010-07-07 22:12:03.000000000 +0900
-@@ -7749,7 +7749,13 @@ save2tmp(URLFile uf, char *tmpf)
- {
- Str buf = Strnew_size(SAVE_BUF_SIZE);
- while (UFread(&uf, buf, SAVE_BUF_SIZE)) {
-- Strfputs(buf, ff);
-+ if (Strfputs(buf, ff) != buf->length) {
-+ bcopy(env_bak, AbortLoading, sizeof(JMP_BUF));
-+ TRAP_OFF;
-+ fclose(ff);
-+ current_content_length = 0;
-+ return -2;
-+ }
- linelen += buf->length;
- showProgress(&linelen, &trbyte);
- }
-@@ -8078,16 +8084,20 @@ doFileSave(URLFile uf, char *defstr)
- flush_tty();
- pid = fork();
- if (!pid) {
-+ int err;
- if ((uf.content_encoding != CMP_NOCOMPRESS) && AutoUncompress) {
- uncompress_stream(&uf, &tmpf);
- if (tmpf)
- unlink(tmpf);
- }
- setup_child(FALSE, 0, UFfileno(&uf));
-- if (!save2tmp(uf, p) && PreserveTimestamp && uf.modtime != -1)
-+ err = save2tmp(uf, p);
-+ if (err == 0 && PreserveTimestamp && uf.modtime != -1)
- setModtime(p, uf.modtime);
- UFclose(&uf);
- unlink(lock);
-+ if (err != 0)
-+ exit(-err);
- exit(0);
- }
- addDownloadList(pid, uf.url, p, lock, current_content_length);
-diff -urNp w3m-0.5.2.orig/fm.h w3m-0.5.2/fm.h
---- w3m-0.5.2.orig/fm.h 2007-05-30 13:47:24.000000000 +0900
-+++ w3m-0.5.2/fm.h 2010-07-07 21:51:07.000000000 +0900
-@@ -517,7 +517,8 @@ typedef struct _DownloadList {
- char *lock;
- clen_t size;
- time_t time;
-- int ok;
-+ int running;
-+ int err;
- struct _DownloadList *next;
- struct _DownloadList *prev;
- } DownloadList;
-diff -urNp w3m-0.5.2.orig/main.c w3m-0.5.2/main.c
---- w3m-0.5.2.orig/main.c 2007-05-31 10:19:50.000000000 +0900
-+++ w3m-0.5.2/main.c 2010-07-07 21:51:07.000000000 +0900
-@@ -323,21 +323,26 @@ static void
- sig_chld(int signo)
- {
- int p_stat;
--#ifdef HAVE_WAITPID
- pid_t pid;
-
-+#ifdef HAVE_WAITPID
- while ((pid = waitpid(-1, &p_stat, WNOHANG)) > 0) {
-- ;
-- }
- #elif HAVE_WAIT3
-- int pid;
--
- while ((pid = wait3(&p_stat, WNOHANG, NULL)) > 0) {
-- ;
-- }
- #else
-- wait(&p_stat);
-+ if ((pid = wait(&p_stat)) > 0) {
- #endif
-+ DownloadList *d;
-+
-+ if (WIFEXITED(p_stat)) {
-+ for (d = FirstDL; d != NULL; d = d->next) {
-+ if (d->pid == pid) {
-+ d->err = WEXITSTATUS(p_stat);
-+ break;
-+ }
-+ }
-+ }
-+ }
- mySignal(SIGCHLD, sig_chld);
- return;
- }
-@@ -6355,7 +6360,8 @@ addDownloadList(pid_t pid, char *url, ch
- d->lock = lock;
- d->size = size;
- d->time = time(0);
-- d->ok = FALSE;
-+ d->running = TRUE;
-+ d->err = 0;
- d->next = NULL;
- d->prev = LastDL;
- if (LastDL)
-@@ -6375,7 +6381,7 @@ checkDownloadList(void)
- if (!FirstDL)
- return FALSE;
- for (d = FirstDL; d != NULL; d = d->next) {
-- if (!d->ok && !lstat(d->lock, &st))
-+ if (d->running && !lstat(d->lock, &st))
- return TRUE;
- }
- return FALSE;
-@@ -6415,15 +6421,16 @@ DownloadListBuffer(void)
- "<form method=internal action=download><hr>\n");
- for (d = LastDL; d != NULL; d = d->prev) {
- if (lstat(d->lock, &st))
-- d->ok = TRUE;
-+ d->running = FALSE;
- Strcat_charp(src, "<pre>\n");
- Strcat(src, Sprintf("%s\n --&gt; %s\n ", html_quote(d->url),
- html_quote(conv_from_system(d->save))));
- duration = cur_time - d->time;
- if (!stat(d->save, &st)) {
- size = st.st_size;
-- if (d->ok) {
-- d->size = size;
-+ if (!d->running) {
-+ if (!d->err)
-+ d->size = size;
- duration = st.st_mtime - d->time;
- }
- }
-@@ -6442,7 +6449,7 @@ DownloadListBuffer(void)
- Strcat_char(src, '_');
- Strcat_char(src, '\n');
- }
-- if (!d->ok && size < d->size)
-+ if ((d->running || d->err) && size < d->size)
- Strcat(src, Sprintf(" %s / %s bytes (%d%%)",
- convert_size3(size), convert_size3(d->size),
- (int)(100.0 * size / d->size)));
-@@ -6453,20 +6460,28 @@ DownloadListBuffer(void)
- Strcat(src, Sprintf(" %02d:%02d:%02d rate %s/sec",
- duration / (60 * 60), (duration / 60) % 60,
- duration % 60, convert_size(rate, 1)));
-- if (!d->ok && size < d->size && rate) {
-+ if (d->running && size < d->size && rate) {
- eta = (d->size - size) / rate;
- Strcat(src, Sprintf(" eta %02d:%02d:%02d", eta / (60 * 60),
- (eta / 60) % 60, eta % 60));
- }
- }
- Strcat_char(src, '\n');
-- if (d->ok) {
-+ if (!d->running) {
- Strcat(src, Sprintf("<input type=submit name=ok%d value=OK>",
- d->pid));
-- if (size < d->size)
-- Strcat_charp(src, " Download incompleted");
-- else
-- Strcat_charp(src, " Download completed");
-+ switch (d->err) {
-+ case 0: if (size < d->size)
-+ Strcat_charp(src, " Download ended but probably not complete");
-+ else
-+ Strcat_charp(src, " Download complete");
-+ break;
-+ case 1: Strcat_charp(src, " Error: could not open destination file");
-+ break;
-+ case 2: Strcat_charp(src, " Error: could not write to file (disk full)");
-+ break;
-+ default: Strcat_charp(src, " Error: unknown reason");
-+ }
- }
- else
- Strcat(src, Sprintf("<input type=submit name=stop%d value=STOP>",
-@@ -6520,7 +6535,7 @@ stopDownload(void)
- if (!FirstDL)
- return;
- for (d = FirstDL; d != NULL; d = d->next) {
-- if (d->ok)
-+ if (!d->running)
- continue;
- #ifndef __MINGW32_VERSION
- kill(d->pid, SIGKILL);
diff --git a/debian/patches/110_no-graph-restriction.patch b/debian/patches/110_no-graph-restriction.patch
deleted file mode 100644
index 2e0f499..0000000
--- a/debian/patches/110_no-graph-restriction.patch
+++ /dev/null
@@ -1,11756 +0,0 @@
-Description: Restrict table and menu borders to ASCII if you use -no-graph
- Make it possible to restrict table and menu borders to ASCII characters.
- This is now done with -no-graph and the old meaning of -no-graph is
- accessible through -o graphic_char=0
- The values of graphic_char now have a strange order to be compatible with
- older configs. It might be better to make the order natural.
-Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=261174#10
-Author: Karsten Schoelzel <kuser@gmx.de>
-Bug-Debian: http://bugs.debian.org/261174
-
-diff -urN w3m-0.5.2.orig/fm.h w3m-0.5.2/fm.h
---- w3m-0.5.2.orig/fm.h 2007-05-30 13:47:24.000000000 +0900
-+++ w3m-0.5.2/fm.h 2010-07-18 08:13:26.000000000 +0900
-@@ -1055,7 +1055,10 @@
- #define wc_Str_conv_strict(x,charset0,charset1) (x)
- #endif
- global char UseAltEntity init(TRUE);
--global char UseGraphicChar init(FALSE);
-+#define GRAPHIC_CHAR_ASCII 2
-+#define GRAPHIC_CHAR_CHARSET 0
-+#define GRAPHIC_CHAR_ALL 1
-+global char UseGraphicChar init(GRAPHIC_CHAR_ASCII);
- extern char *graph_symbol[];
- extern char *graph2_symbol[];
- extern int symbol_width;
-diff -urN w3m-0.5.2.orig/fm.h.orig w3m-0.5.2/fm.h.orig
---- w3m-0.5.2.orig/fm.h.orig 1970-01-01 09:00:00.000000000 +0900
-+++ w3m-0.5.2/fm.h.orig 2007-05-30 13:47:24.000000000 +0900
-@@ -0,0 +1,1191 @@
-+/* $Id: fm.h,v 1.138 2007/05/30 04:47:24 inu Exp $ */
-+/*
-+ * w3m: WWW wo Miru utility
-+ *
-+ * by A.ITO Feb. 1995
-+ *
-+ * You can use,copy,modify and distribute this program without any permission.
-+ */
-+
-+#ifndef FM_H
-+#define FM_H
-+
-+
-+#ifndef _GNU_SOURCE
-+#define _GNU_SOURCE /* strcasestr() */
-+#endif
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <unistd.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <unistd.h>
-+#include "config.h"
-+#include "history.h"
-+
-+#ifdef USE_MENU
-+#define MENU_SELECT
-+#define MENU_MAP
-+#endif /* USE_MENU */
-+
-+#ifndef USE_COLOR
-+#undef USE_ANSI_COLOR
-+#undef USE_BG_COLOR
-+#endif
-+
-+#include "ctrlcode.h"
-+#include "html.h"
-+#include <gc.h>
-+#include "Str.h"
-+#ifdef USE_M17N
-+#include "wc.h"
-+#include "wtf.h"
-+#else
-+typedef int wc_ces; /* XXX: not used */
-+#endif
-+
-+#ifdef HAVE_LOCALE_H
-+#include <locale.h>
-+#endif
-+#if !HAVE_SETLOCALE
-+#define setlocale(category, locale) /* empty */
-+#endif
-+
-+#ifdef ENABLE_NLS
-+#include <libintl.h>
-+#define _(String) gettext (String)
-+#define N_(String) (String)
-+#else
-+# undef bindtextdomain
-+# define bindtextdomain(Domain, Directory) /* empty */
-+# undef textdomain
-+# define textdomain(Domain) /* empty */
-+# define _(Text) Text
-+# define N_(Text) Text
-+# define gettext(Text) Text
-+#endif
-+
-+#include "form.h"
-+#include "frame.h"
-+#include "parsetag.h"
-+#include "parsetagx.h"
-+#include "func.h"
-+#include "menu.h"
-+#include "textlist.h"
-+#include "funcname1.h"
-+#include "terms.h"
-+
-+#ifndef HAVE_BCOPY
-+void bcopy(const void *, void *, int);
-+void bzero(void *, int);
-+#endif /* HAVE_BCOPY */
-+#ifdef __EMX__
-+#include <strings.h> /* for bzero() and bcopy() */
-+#endif
-+
-+#ifdef MAINPROGRAM
-+#define global
-+#define init(x) =(x)
-+#else /* not MAINPROGRAM */
-+#define global extern
-+#define init(x)
-+#endif /* not MAINPROGRAM */
-+
-+#define DEFUN(funcname, macroname, docstring) void funcname(void)
-+
-+/*
-+ * Constants.
-+ */
-+#define LINELEN 256 /* Initial line length */
-+#define PAGER_MAX_LINE 10000 /* Maximum line kept as pager */
-+
-+#ifdef USE_IMAGE
-+#define MAX_IMAGE 1000
-+#define MAX_IMAGE_SIZE 2048
-+
-+#define DEFAULT_PIXEL_PER_CHAR 7.0 /* arbitrary */
-+#define DEFAULT_PIXEL_PER_LINE 14.0 /* arbitrary */
-+#else
-+#define DEFAULT_PIXEL_PER_CHAR 8.0 /* arbitrary */
-+#endif
-+#define MINIMUM_PIXEL_PER_CHAR 4.0
-+#define MAXIMUM_PIXEL_PER_CHAR 32.0
-+
-+#ifdef FALSE
-+#undef FALSE
-+#endif
-+
-+#ifdef TRUE
-+#undef TRUE
-+#endif
-+
-+#define FALSE 0
-+#define TRUE 1
-+
-+#define SHELLBUFFERNAME "*Shellout*"
-+#define PIPEBUFFERNAME "*stream*"
-+#define CPIPEBUFFERNAME "*stream(closed)*"
-+#ifdef USE_DICT
-+#define DICTBUFFERNAME "*dictionary*"
-+#endif /* USE_DICT */
-+
-+/*
-+ * Line Property
-+ */
-+
-+#define P_CHARTYPE 0x3f00
-+#ifdef USE_M17N
-+#define PC_ASCII (WTF_TYPE_ASCII << 8)
-+#define PC_CTRL (WTF_TYPE_CTRL << 8)
-+#define PC_WCHAR1 (WTF_TYPE_WCHAR1 << 8)
-+#define PC_WCHAR2 (WTF_TYPE_WCHAR2 << 8)
-+#define PC_KANJI (WTF_TYPE_WIDE << 8)
-+#define PC_KANJI1 (PC_WCHAR1 | PC_KANJI)
-+#define PC_KANJI2 (PC_WCHAR2 | PC_KANJI)
-+#define PC_UNKNOWN (WTF_TYPE_UNKNOWN << 8)
-+#define PC_UNDEF (WTF_TYPE_UNDEF << 8)
-+#else
-+#define PC_ASCII 0x0000
-+#define PC_CTRL 0x0100
-+#endif
-+#define PC_SYMBOL 0x8000
-+
-+/* Effect ( standout/underline ) */
-+#define P_EFFECT 0x40ff
-+#define PE_NORMAL 0x00
-+#define PE_MARK 0x01
-+#define PE_UNDER 0x02
-+#define PE_STAND 0x04
-+#define PE_BOLD 0x08
-+#define PE_ANCHOR 0x10
-+#define PE_EMPH 0x08
-+#define PE_IMAGE 0x20
-+#define PE_FORM 0x40
-+#define PE_ACTIVE 0x80
-+#define PE_VISITED 0x4000
-+
-+/* Extra effect */
-+#define PE_EX_ITALIC 0x01
-+#define PE_EX_INSERT 0x02
-+#define PE_EX_STRIKE 0x04
-+
-+#define PE_EX_ITALIC_E PE_UNDER
-+#define PE_EX_INSERT_E PE_UNDER
-+#define PE_EX_STRIKE_E PE_STAND
-+
-+#define CharType(c) ((c)&P_CHARTYPE)
-+#define CharEffect(c) ((c)&(P_EFFECT|PC_SYMBOL))
-+#define SetCharType(v,c) ((v)=(((v)&~P_CHARTYPE)|(c)))
-+
-+
-+#define COLPOS(l,c) calcPosition(l->lineBuf,l->propBuf,l->len,c,0,CP_AUTO)
-+
-+/* Flags for displayBuffer() */
-+#define B_NORMAL 0
-+#define B_FORCE_REDRAW 1
-+#define B_REDRAW 2
-+#define B_SCROLL 3
-+#define B_REDRAW_IMAGE 4
-+
-+/* Buffer Property */
-+#define BP_NORMAL 0x0
-+#define BP_PIPE 0x1
-+#define BP_FRAME 0x2
-+#define BP_INTERNAL 0x8
-+#define BP_NO_URL 0x10
-+#define BP_REDIRECTED 0x20
-+#define BP_CLOSE 0x40
-+
-+/* Link Buffer */
-+#define LB_NOLINK -1
-+#define LB_FRAME 0 /* rFrame() */
-+#define LB_N_FRAME 1
-+#define LB_INFO 2 /* pginfo() */
-+#define LB_N_INFO 3
-+#define LB_SOURCE 4 /* vwSrc() */
-+#define LB_N_SOURCE LB_SOURCE
-+#define MAX_LB 5
-+
-+/* Search Result */
-+#define SR_FOUND 0x1
-+#define SR_NOTFOUND 0x2
-+#define SR_WRAPPED 0x4
-+
-+#ifdef MAINPROGRAM
-+int REV_LB[MAX_LB] = {
-+ LB_N_FRAME, LB_FRAME, LB_N_INFO, LB_INFO, LB_N_SOURCE,
-+};
-+#else /* not MAINPROGRAM */
-+extern int REV_LB[];
-+#endif /* not MAINPROGRAM */
-+
-+/* mark URL, Message-ID */
-+#define CHK_URL 1
-+#define CHK_NMID 2
-+
-+/* Flags for calcPosition() */
-+#define CP_AUTO 0
-+#define CP_FORCE 1
-+
-+/* Completion status. */
-+#define CPL_OK 0
-+#define CPL_AMBIG 1
-+#define CPL_FAIL 2
-+#define CPL_MENU 3
-+
-+#define CPL_NEVER 0x0
-+#define CPL_OFF 0x1
-+#define CPL_ON 0x2
-+#define CPL_ALWAYS 0x4
-+#define CPL_URL 0x8
-+
-+/* Flags for inputLine() */
-+#define IN_STRING 0x10
-+#define IN_FILENAME 0x20
-+#define IN_PASSWORD 0x40
-+#define IN_COMMAND 0x80
-+#define IN_URL 0x100
-+#define IN_CHAR 0x200
-+
-+#define IMG_FLAG_SKIP 1
-+#define IMG_FLAG_AUTO 2
-+
-+#define IMG_FLAG_START 0
-+#define IMG_FLAG_STOP 1
-+#define IMG_FLAG_NEXT 2
-+
-+#define IMG_FLAG_UNLOADED 0
-+#define IMG_FLAG_LOADED 1
-+#define IMG_FLAG_ERROR 2
-+#define IMG_FLAG_DONT_REMOVE 4
-+
-+/*
-+ * Macros.
-+ */
-+
-+#define inputLineHist(p,d,f,h) inputLineHistSearch(p,d,f,h,NULL)
-+#define inputLine(p,d,f) inputLineHist(p,d,f,NULL)
-+#define inputStr(p,d) inputLine(p,d,IN_STRING)
-+#define inputStrHist(p,d,h) inputLineHist(p,d,IN_STRING,h)
-+#define inputFilename(p,d) inputLine(p,d,IN_FILENAME)
-+#define inputFilenameHist(p,d,h) inputLineHist(p,d,IN_FILENAME,h)
-+#define inputChar(p) inputLine(p,"",IN_CHAR)
-+
-+#define free(x) GC_free(x) /* let GC do it. */
-+
-+#ifdef __EMX__
-+#define HAVE_STRCASECMP
-+#define strcasecmp stricmp
-+#define strncasecmp strnicmp
-+#endif /* __EMX__ */
-+
-+
-+#define SKIP_BLANKS(p) {while(*(p)&&IS_SPACE(*(p)))(p)++;}
-+#define SKIP_NON_BLANKS(p) {while(*(p)&&!IS_SPACE(*(p)))(p)++;}
-+#define IS_ENDL(c) ((c)=='\0'||(c)=='\r'||(c)=='\n')
-+#define IS_ENDT(c) (IS_ENDL(c)||(c)==';')
-+
-+#define bpcmp(a,b) \
-+ (((a).line - (b).line) ? ((a).line - (b).line) : ((a).pos - (b).pos))
-+
-+#define RELATIVE_WIDTH(w) (((w)>=0)?(int)((w)/pixel_per_char):(w))
-+#define REAL_WIDTH(w,limit) (((w)>=0)?(int)((w)/pixel_per_char):-(w)*(limit)/100)
-+
-+#define EOL(l) (&(l)->ptr[(l)->length])
-+#define IS_EOL(p,l) ((p)==&(l)->ptr[(l)->length])
-+
-+/*
-+ * Types.
-+ */
-+
-+typedef unsigned short Lineprop;
-+#ifdef USE_ANSI_COLOR
-+typedef unsigned char Linecolor;
-+#endif
-+
-+typedef struct _MapArea {
-+ char *url;
-+ char *target;
-+ char *alt;
-+#ifdef USE_IMAGE
-+ char shape;
-+ short *coords;
-+ int ncoords;
-+ short center_x;
-+ short center_y;
-+#endif
-+} MapArea;
-+
-+typedef struct _MapList {
-+ Str name;
-+ GeneralList *area;
-+ struct _MapList *next;
-+} MapList;
-+
-+typedef struct _Line {
-+ char *lineBuf;
-+ Lineprop *propBuf;
-+#ifdef USE_ANSI_COLOR
-+ Linecolor *colorBuf;
-+#endif
-+ struct _Line *next;
-+ struct _Line *prev;
-+ int len;
-+ int width;
-+ long linenumber; /* on buffer */
-+ long real_linenumber; /* on file */
-+ unsigned short usrflags;
-+ int size;
-+ int bpos;
-+ int bwidth;
-+} Line;
-+
-+typedef struct {
-+ int line;
-+ int pos;
-+ int invalid;
-+} BufferPoint;
-+
-+#ifdef USE_IMAGE
-+typedef struct _imageCache {
-+ char *url;
-+ ParsedURL *current;
-+ char *file;
-+ char *touch;
-+ pid_t pid;
-+ char loaded;
-+ int index;
-+ short width;
-+ short height;
-+} ImageCache;
-+
-+typedef struct _image {
-+ char *url;
-+ char *ext;
-+ short width;
-+ short height;
-+ short xoffset;
-+ short yoffset;
-+ short y;
-+ short rows;
-+ char *map;
-+ char ismap;
-+ int touch;
-+ ImageCache *cache;
-+} Image;
-+#endif
-+
-+typedef struct _anchor {
-+ char *url;
-+ char *target;
-+ char *referer;
-+ char *title;
-+ unsigned char accesskey;
-+ BufferPoint start;
-+ BufferPoint end;
-+ int hseq;
-+ char slave;
-+ short y;
-+ short rows;
-+#ifdef USE_IMAGE
-+ Image *image;
-+#endif
-+} Anchor;
-+
-+#define NO_REFERER ((char*)-1)
-+
-+typedef struct _anchorList {
-+ Anchor *anchors;
-+ int nanchor;
-+ int anchormax;
-+ int acache;
-+} AnchorList;
-+
-+typedef struct {
-+ BufferPoint *marks;
-+ int nmark;
-+ int markmax;
-+ int prevhseq;
-+} HmarkerList;
-+
-+#define LINK_TYPE_NONE 0
-+#define LINK_TYPE_REL 1
-+#define LINK_TYPE_REV 2
-+typedef struct _LinkList {
-+ char *url;
-+ char *title; /* Next, Contents, ... */
-+ char *ctype; /* Content-Type */
-+ char type; /* Rel, Rev */
-+ struct _LinkList *next;
-+} LinkList;
-+
-+typedef struct _Buffer {
-+ char *filename;
-+ char *buffername;
-+ Line *firstLine;
-+ Line *topLine;
-+ Line *currentLine;
-+ Line *lastLine;
-+ struct _Buffer *nextBuffer;
-+ struct _Buffer *linkBuffer[MAX_LB];
-+ short width;
-+ short height;
-+ char *type;
-+ char *real_type;
-+ int allLine;
-+ short bufferprop;
-+ int currentColumn;
-+ short cursorX;
-+ short cursorY;
-+ int pos;
-+ int visualpos;
-+ short rootX;
-+ short rootY;
-+ short COLS;
-+ short LINES;
-+ InputStream pagerSource;
-+ AnchorList *href;
-+ AnchorList *name;
-+ AnchorList *img;
-+ AnchorList *formitem;
-+ LinkList *linklist;
-+ FormList *formlist;
-+ MapList *maplist;
-+ HmarkerList *hmarklist;
-+ HmarkerList *imarklist;
-+ ParsedURL currentURL;
-+ ParsedURL *baseURL;
-+ char *baseTarget;
-+ int real_scheme;
-+ char *sourcefile;
-+ struct frameset *frameset;
-+ struct frameset_queue *frameQ;
-+ int *clone;
-+ size_t trbyte;
-+ char check_url;
-+#ifdef USE_M17N
-+ wc_ces document_charset;
-+ wc_uint8 auto_detect;
-+#endif
-+ TextList *document_header;
-+ FormItemList *form_submit;
-+ char *savecache;
-+ char *edit;
-+ struct mailcap *mailcap;
-+ char *mailcap_source;
-+ char *header_source;
-+ char search_header;
-+#ifdef USE_SSL
-+ char *ssl_certificate;
-+#endif
-+ char image_flag;
-+ char image_loaded;
-+ char need_reshape;
-+ Anchor *submit;
-+ struct _BufferPos *undo;
-+#ifdef USE_ALARM
-+ struct _AlarmEvent *event;
-+#endif
-+} Buffer;
-+
-+typedef struct _BufferPos {
-+ long top_linenumber;
-+ long cur_linenumber;
-+ int currentColumn;
-+ int pos;
-+ int bpos;
-+ struct _BufferPos *next;
-+ struct _BufferPos *prev;
-+} BufferPos;
-+
-+typedef struct _TabBuffer {
-+ struct _TabBuffer *nextTab;
-+ struct _TabBuffer *prevTab;
-+ Buffer *currentBuffer;
-+ Buffer *firstBuffer;
-+ short x1;
-+ short x2;
-+ short y;
-+} TabBuffer;
-+
-+typedef struct _DownloadList {
-+ pid_t pid;
-+ char *url;
-+ char *save;
-+ char *lock;
-+ clen_t size;
-+ time_t time;
-+ int ok;
-+ struct _DownloadList *next;
-+ struct _DownloadList *prev;
-+} DownloadList;
-+#define DOWNLOAD_LIST_TITLE "Download List Panel"
-+
-+#define COPY_BUFROOT(dstbuf, srcbuf) {\
-+ (dstbuf)->rootX = (srcbuf)->rootX; \
-+ (dstbuf)->rootY = (srcbuf)->rootY; \
-+ (dstbuf)->COLS = (srcbuf)->COLS; \
-+ (dstbuf)->LINES = (srcbuf)->LINES; \
-+}
-+
-+#define COPY_BUFPOSITION(dstbuf, srcbuf) {\
-+ (dstbuf)->topLine = (srcbuf)->topLine; \
-+ (dstbuf)->currentLine = (srcbuf)->currentLine; \
-+ (dstbuf)->pos = (srcbuf)->pos; \
-+ (dstbuf)->cursorX = (srcbuf)->cursorX; \
-+ (dstbuf)->cursorY = (srcbuf)->cursorY; \
-+ (dstbuf)->visualpos = (srcbuf)->visualpos; \
-+ (dstbuf)->currentColumn = (srcbuf)->currentColumn; \
-+}
-+#define SAVE_BUFPOSITION(sbufp) COPY_BUFPOSITION(sbufp, Currentbuf)
-+#define RESTORE_BUFPOSITION(sbufp) COPY_BUFPOSITION(Currentbuf, sbufp)
-+#define TOP_LINENUMBER(buf) ((buf)->topLine ? (buf)->topLine->linenumber : 1)
-+#define CUR_LINENUMBER(buf) ((buf)->currentLine ? (buf)->currentLine->linenumber : 1)
-+
-+#define NO_BUFFER ((Buffer*)1)
-+
-+#define RB_STACK_SIZE 10
-+
-+#define TAG_STACK_SIZE 10
-+
-+#define FONT_STACK_SIZE 5
-+
-+#define FONTSTAT_SIZE 7
-+
-+#define _INIT_BUFFER_WIDTH (COLS - (showLineNum ? 6 : 1))
-+#define INIT_BUFFER_WIDTH ((_INIT_BUFFER_WIDTH > 0) ? _INIT_BUFFER_WIDTH : 0)
-+#define FOLD_BUFFER_WIDTH (FoldLine ? (INIT_BUFFER_WIDTH + 1) : -1)
-+
-+typedef struct {
-+ int pos;
-+ int len;
-+ int tlen;
-+ long flag;
-+ Anchor anchor;
-+ Str img_alt;
-+ char fontstat[FONTSTAT_SIZE];
-+ short nobr_level;
-+ Lineprop prev_ctype;
-+ char init_flag;
-+ short top_margin;
-+ short bottom_margin;
-+} Breakpoint;
-+
-+struct readbuffer {
-+ Str line;
-+ Lineprop cprop;
-+ short pos;
-+ Str prevchar;
-+ long flag;
-+ long flag_stack[RB_STACK_SIZE];
-+ int flag_sp;
-+ int status;
-+ unsigned char end_tag;
-+ short table_level;
-+ short nobr_level;
-+ Anchor anchor;
-+ Str img_alt;
-+ char fontstat[FONTSTAT_SIZE];
-+ char fontstat_stack[FONT_STACK_SIZE][FONTSTAT_SIZE];
-+ int fontstat_sp;
-+ Lineprop prev_ctype;
-+ Breakpoint bp;
-+ struct cmdtable *tag_stack[TAG_STACK_SIZE];
-+ int tag_sp;
-+ short top_margin;
-+ short bottom_margin;
-+};
-+
-+#define in_bold fontstat[0]
-+#define in_under fontstat[1]
-+#define in_italic fontstat[2]
-+#define in_strike fontstat[3]
-+#define in_ins fontstat[4]
-+#define in_stand fontstat[5]
-+
-+#define RB_PRE 0x01
-+#define RB_SCRIPT 0x02
-+#define RB_STYLE 0x04
-+#define RB_PLAIN 0x08
-+#define RB_LEFT 0x10
-+#define RB_CENTER 0x20
-+#define RB_RIGHT 0x40
-+#define RB_ALIGN (RB_LEFT| RB_CENTER | RB_RIGHT)
-+#define RB_NOBR 0x80
-+#define RB_P 0x100
-+#define RB_PRE_INT 0x200
-+#define RB_IN_DT 0x400
-+#define RB_INTXTA 0x800
-+#define RB_INSELECT 0x1000
-+#define RB_IGNORE_P 0x2000
-+#define RB_TITLE 0x4000
-+#define RB_NFLUSHED 0x8000
-+#define RB_NOFRAMES 0x10000
-+#define RB_INTABLE 0x20000
-+#define RB_PREMODE (RB_PRE | RB_PRE_INT | RB_SCRIPT | RB_STYLE | RB_PLAIN | RB_INTXTA)
-+#define RB_SPECIAL (RB_PRE | RB_PRE_INT | RB_SCRIPT | RB_STYLE | RB_PLAIN | RB_NOBR)
-+#define RB_PLAIN_PRE 0x40000
-+
-+#ifdef FORMAT_NICE
-+#define RB_FILL 0x80000
-+#endif /* FORMAT_NICE */
-+#define RB_DEL 0x100000
-+#define RB_S 0x200000
-+
-+#define RB_GET_ALIGN(obuf) ((obuf)->flag&RB_ALIGN)
-+#define RB_SET_ALIGN(obuf,align) {(obuf)->flag &= ~RB_ALIGN; (obuf)->flag |= (align); }
-+#define RB_SAVE_FLAG(obuf) {\
-+ if ((obuf)->flag_sp < RB_STACK_SIZE) \
-+ (obuf)->flag_stack[(obuf)->flag_sp++] = RB_GET_ALIGN(obuf); \
-+}
-+#define RB_RESTORE_FLAG(obuf) {\
-+ if ((obuf)->flag_sp > 0) \
-+ RB_SET_ALIGN(obuf,(obuf)->flag_stack[--(obuf)->flag_sp]); \
-+}
-+
-+/* status flags */
-+#define R_ST_NORMAL 0 /* normal */
-+#define R_ST_TAG0 1 /* within tag, just after < */
-+#define R_ST_TAG 2 /* within tag */
-+#define R_ST_QUOTE 3 /* within single quote */
-+#define R_ST_DQUOTE 4 /* within double quote */
-+#define R_ST_EQL 5 /* = */
-+#define R_ST_AMP 6 /* within ampersand quote */
-+#define R_ST_EOL 7 /* end of file */
-+#define R_ST_CMNT1 8 /* <! */
-+#define R_ST_CMNT2 9 /* <!- */
-+#define R_ST_CMNT 10 /* within comment */
-+#define R_ST_NCMNT1 11 /* comment - */
-+#define R_ST_NCMNT2 12 /* comment -- */
-+#define R_ST_NCMNT3 13 /* comment -- space */
-+#define R_ST_IRRTAG 14 /* within irregular tag */
-+#define R_ST_VALUE 15 /* within tag attribule value */
-+
-+#define ST_IS_REAL_TAG(s) ((s)==R_ST_TAG||(s)==R_ST_TAG0||(s)==R_ST_EQL||(s)==R_ST_VALUE)
-+
-+/* is this '<' really means the beginning of a tag? */
-+#define REALLY_THE_BEGINNING_OF_A_TAG(p) \
-+ (IS_ALPHA(p[1]) || p[1] == '/' || p[1] == '!' || p[1] == '?' || p[1] == '\0' || p[1] == '_')
-+
-+/* flags for loadGeneralFile */
-+#define RG_NOCACHE 1
-+#define RG_FRAME 2
-+#define RG_FRAME_SRC 4
-+
-+struct html_feed_environ {
-+ struct readbuffer *obuf;
-+ TextLineList *buf;
-+ FILE *f;
-+ Str tagbuf;
-+ int limit;
-+ int maxlimit;
-+ struct environment *envs;
-+ int nenv;
-+ int envc;
-+ int envc_real;
-+ char *title;
-+ int blank_lines;
-+};
-+
-+#ifdef USE_COOKIE
-+struct portlist {
-+ unsigned short port;
-+ struct portlist *next;
-+};
-+
-+struct cookie {
-+ ParsedURL url;
-+ Str name;
-+ Str value;
-+ time_t expires;
-+ Str path;
-+ Str domain;
-+ Str comment;
-+ Str commentURL;
-+ struct portlist *portl;
-+ char version;
-+ char flag;
-+ struct cookie *next;
-+};
-+#define COO_USE 1
-+#define COO_SECURE 2
-+#define COO_DOMAIN 4
-+#define COO_PATH 8
-+#define COO_DISCARD 16
-+#define COO_OVERRIDE 32 /* user chose to override security checks */
-+
-+#define COO_OVERRIDE_OK 32 /* flag to specify that an error is overridable */
-+ /* version 0 refers to the original cookie_spec.html */
-+ /* version 1 refers to RFC 2109 */
-+ /* version 1' refers to the Internet draft to obsolete RFC 2109 */
-+#define COO_EINTERNAL (1) /* unknown error; probably forgot to convert "return 1" in cookie.c */
-+#define COO_ETAIL (2 | COO_OVERRIDE_OK) /* tail match failed (version 0) */
-+#define COO_ESPECIAL (3) /* special domain check failed (version 0) */
-+#define COO_EPATH (4) /* Path attribute mismatch (version 1 case 1) */
-+#define COO_ENODOT (5 | COO_OVERRIDE_OK) /* no embedded dots in Domain (version 1 case 2.1) */
-+#define COO_ENOTV1DOM (6 | COO_OVERRIDE_OK) /* Domain does not start with a dot (version 1 case 2.2) */
-+#define COO_EDOM (7 | COO_OVERRIDE_OK) /* domain-match failed (version 1 case 3) */
-+#define COO_EBADHOST (8 | COO_OVERRIDE_OK) /* dot in matched host name in FQDN (version 1 case 4) */
-+#define COO_EPORT (9) /* Port match failed (version 1' case 5) */
-+#define COO_EMAX COO_EPORT
-+#endif /* USE_COOKIE */
-+
-+/* modes for align() */
-+
-+#define ALIGN_CENTER 0
-+#define ALIGN_LEFT 1
-+#define ALIGN_RIGHT 2
-+#define ALIGN_MIDDLE 4
-+#define ALIGN_TOP 5
-+#define ALIGN_BOTTOM 6
-+
-+#define VALIGN_MIDDLE 0
-+#define VALIGN_TOP 1
-+#define VALIGN_BOTTOM 2
-+
-+typedef struct http_request {
-+ char command;
-+ char flag;
-+ char *referer;
-+ FormList *request;
-+} HRequest;
-+
-+#define HR_COMMAND_GET 0
-+#define HR_COMMAND_POST 1
-+#define HR_COMMAND_CONNECT 2
-+#define HR_COMMAND_HEAD 3
-+
-+#define HR_FLAG_LOCAL 1
-+#define HR_FLAG_PROXY 2
-+
-+#define HTST_UNKNOWN 255
-+#define HTST_MISSING 254
-+#define HTST_NORMAL 0
-+#define HTST_CONNECT 1
-+
-+#define TMPF_DFL 0
-+#define TMPF_SRC 1
-+#define TMPF_FRAME 2
-+#define TMPF_CACHE 3
-+#define TMPF_COOKIE 4
-+#define MAX_TMPF_TYPE 5
-+
-+#define set_no_proxy(domains) (NO_proxy_domains=make_domain_list(domains))
-+
-+/*
-+ * Globals.
-+ */
-+
-+extern int LINES, COLS;
-+#if defined(__CYGWIN__)
-+extern int LASTLINE;
-+#else /* not defined(__CYGWIN__) */
-+#define LASTLINE (LINES-1)
-+#endif /* not defined(__CYGWIN__) */
-+
-+global int Tabstop init(8);
-+global int IndentIncr init(4);
-+global int ShowEffect init(TRUE);
-+global int PagerMax init(PAGER_MAX_LINE);
-+
-+global char SearchHeader init(FALSE);
-+global char *DefaultType init(NULL);
-+global char RenderFrame init(FALSE);
-+global char TargetSelf init(FALSE);
-+global char PermitSaveToPipe init(FALSE);
-+global char DecodeCTE init(FALSE);
-+global char AutoUncompress init(FALSE);
-+global char PreserveTimestamp init(TRUE);
-+global char ArgvIsURL init(FALSE);
-+global char MetaRefresh init(FALSE);
-+
-+global char fmInitialized init(FALSE);
-+global char QuietMessage init(FALSE);
-+global char TrapSignal init(TRUE);
-+#define TRAP_ON if (TrapSignal) { \
-+ prevtrap = mySignal(SIGINT, KeyAbort); \
-+ if (fmInitialized) \
-+ term_cbreak(); \
-+}
-+#define TRAP_OFF if (TrapSignal) { \
-+ if (fmInitialized) \
-+ term_raw(); \
-+ if (prevtrap) \
-+ mySignal(SIGINT, prevtrap); \
-+}
-+
-+extern unsigned char GlobalKeymap[];
-+extern unsigned char EscKeymap[];
-+extern unsigned char EscBKeymap[];
-+extern unsigned char EscDKeymap[];
-+#ifdef __EMX__
-+extern unsigned char PcKeymap[];
-+#endif
-+extern FuncList w3mFuncList[];
-+
-+global char *HTTP_proxy init(NULL);
-+#ifdef USE_SSL
-+global char *HTTPS_proxy init(NULL);
-+#endif /* USE_SSL */
-+#ifdef USE_GOPHER
-+global char *GOPHER_proxy init(NULL);
-+#endif /* USE_GOPHER */
-+global char *FTP_proxy init(NULL);
-+global ParsedURL HTTP_proxy_parsed;
-+#ifdef USE_SSL
-+global ParsedURL HTTPS_proxy_parsed;
-+#endif /* USE_SSL */
-+#ifdef USE_GOPHER
-+global ParsedURL GOPHER_proxy_parsed;
-+#endif /* USE_GOPHER */
-+global ParsedURL FTP_proxy_parsed;
-+global char *NO_proxy init(NULL);
-+global int NOproxy_netaddr init(TRUE);
-+#ifdef INET6
-+#define DNS_ORDER_UNSPEC 0
-+#define DNS_ORDER_INET_INET6 1
-+#define DNS_ORDER_INET6_INET 2
-+#define DNS_ORDER_INET_ONLY 4
-+#define DNS_ORDER_INET6_ONLY 6
-+global int DNS_order init(DNS_ORDER_UNSPEC);
-+extern int ai_family_order_table[7][3]; /* XXX */
-+#endif /* INET6 */
-+global TextList *NO_proxy_domains;
-+global char NoCache init(FALSE);
-+global char use_proxy init(TRUE);
-+#define Do_not_use_proxy (!use_proxy)
-+global int Do_not_use_ti_te init(FALSE);
-+#ifdef USE_NNTP
-+global char *NNTP_server init(NULL);
-+global char *NNTP_mode init(NULL);
-+global int MaxNewsMessage init(50);
-+#endif
-+
-+global char *document_root init(NULL);
-+global char *personal_document_root init(NULL);
-+global char *cgi_bin init(NULL);
-+global char *index_file init(NULL);
-+
-+global char *CurrentDir;
-+global int CurrentPid;
-+/*
-+ * global Buffer *Currentbuf;
-+ * global Buffer *Firstbuf;
-+ */
-+global TabBuffer *CurrentTab;
-+global TabBuffer *FirstTab;
-+global TabBuffer *LastTab;
-+global int open_tab_blank init(FALSE);
-+global int open_tab_dl_list init(FALSE);
-+global int close_tab_back init(FALSE);
-+global int nTab;
-+global int TabCols init(10);
-+#define NO_TABBUFFER ((TabBuffer *)1)
-+#define Currentbuf (CurrentTab->currentBuffer)
-+#define Firstbuf (CurrentTab->firstBuffer)
-+global DownloadList *FirstDL init(NULL);
-+global DownloadList *LastDL init(NULL);
-+global int CurrentKey;
-+global char *CurrentKeyData;
-+global char *CurrentCmdData;
-+global char *w3m_reqlog;
-+extern char *w3m_version;
-+
-+#define DUMP_BUFFER 0x01
-+#define DUMP_HEAD 0x02
-+#define DUMP_SOURCE 0x04
-+#define DUMP_EXTRA 0x08
-+#define DUMP_HALFDUMP 0x10
-+#define DUMP_FRAME 0x20
-+global int w3m_debug;
-+global int w3m_dump init(0);
-+#define w3m_halfdump (w3m_dump & DUMP_HALFDUMP)
-+global int w3m_halfload init(FALSE);
-+global Str header_string init(NULL);
-+global int override_content_type init(FALSE);
-+
-+#ifdef USE_COLOR
-+global int useColor init(TRUE);
-+global int basic_color init(8); /* don't change */
-+global int anchor_color init(4); /* blue */
-+global int image_color init(2); /* green */
-+global int form_color init(1); /* red */
-+#ifdef USE_BG_COLOR
-+global int bg_color init(8); /* don't change */
-+global int mark_color init(6); /* cyan */
-+#endif /* USE_BG_COLOR */
-+global int useActiveColor init(FALSE);
-+global int active_color init(6); /* cyan */
-+global int useVisitedColor init(FALSE);
-+global int visited_color init(5); /* magenta */
-+#endif /* USE_COLOR */
-+global int confirm_on_quit init(TRUE);
-+#ifdef USE_MARK
-+global int use_mark init(FALSE);
-+#endif
-+global int emacs_like_lineedit init(FALSE);
-+global int vi_prec_num init(FALSE);
-+global int label_topline init(FALSE);
-+global int nextpage_topline init(FALSE);
-+global char *displayTitleTerm init(NULL);
-+global int displayLink init(FALSE);
-+global int displayLineInfo init(FALSE);
-+global int DecodeURL init(FALSE);
-+global int retryAsHttp init(TRUE);
-+global int showLineNum init(FALSE);
-+global int show_srch_str init(TRUE);
-+#ifdef USE_IMAGE
-+global char *Imgdisplay init(IMGDISPLAY);
-+global int activeImage init(FALSE);
-+global int displayImage init(TRUE);
-+global int autoImage init(TRUE);
-+global int useExtImageViewer init(TRUE);
-+global int maxLoadImage init(4);
-+global int image_map_list init(TRUE);
-+#else
-+global int displayImage init(FALSE); /* XXX: emacs-w3m use display_image=off */
-+#endif
-+global char *Editor init(DEF_EDITOR);
-+#ifdef USE_W3MMAILER
-+global char *Mailer init(NULL);
-+#else
-+global char *Mailer init(DEF_MAILER);
-+#endif
-+global char *ExtBrowser init(DEF_EXT_BROWSER);
-+global char *ExtBrowser2 init(NULL);
-+global char *ExtBrowser3 init(NULL);
-+global int BackgroundExtViewer init(TRUE);
-+global int disable_secret_security_check init(FALSE);
-+global char *passwd_file init(PASSWD_FILE);
-+global char *pre_form_file init(PRE_FORM_FILE);
-+global char *ftppasswd init(NULL);
-+global int ftppass_hostnamegen init(TRUE);
-+global int do_download init(FALSE);
-+#ifdef USE_IMAGE
-+global char *image_source init(NULL);
-+#endif
-+global char *UserAgent init(NULL);
-+global int NoSendReferer init(FALSE);
-+global char *AcceptLang init(NULL);
-+global char *AcceptEncoding init(NULL);
-+global char *AcceptMedia init(NULL);
-+global int WrapDefault init(FALSE);
-+global int IgnoreCase init(TRUE);
-+global int WrapSearch init(FALSE);
-+global int squeezeBlankLine init(FALSE);
-+global char *BookmarkFile init(NULL);
-+global char *pauth init(NULL);
-+global Str proxy_auth_cookie init(NULL);
-+global int UseExternalDirBuffer init(TRUE);
-+global char *DirBufferCommand init("file:///$LIB/dirlist" CGI_EXTENSION);
-+#ifdef USE_DICT
-+global int UseDictCommand init(FALSE);
-+global char *DictCommand init("file:///$LIB/w3mdict" CGI_EXTENSION);
-+#endif /* USE_DICT */
-+global int ignore_null_img_alt init(TRUE);
-+#define DISPLAY_INS_DEL_SIMPLE 0
-+#define DISPLAY_INS_DEL_NORMAL 1
-+#define DISPLAY_INS_DEL_FONTIFY 2
-+global int displayInsDel init(DISPLAY_INS_DEL_NORMAL);
-+global int FoldTextarea init(FALSE);
-+global int FoldLine init(FALSE);
-+#define DEFAULT_URL_EMPTY 0
-+#define DEFAULT_URL_CURRENT 1
-+#define DEFAULT_URL_LINK 2
-+global int DefaultURLString init(DEFAULT_URL_EMPTY);
-+global int MarkAllPages init(FALSE);
-+
-+#ifdef USE_MIGEMO
-+global int use_migemo init(FALSE);
-+global int migemo_active init(0);
-+global char *migemo_command init(DEF_MIGEMO_COMMAND);
-+#endif /* USE_MIGEMO */
-+
-+global struct auth_cookie *Auth_cookie init(NULL);
-+#ifdef USE_COOKIE
-+global struct cookie *First_cookie init(NULL);
-+#endif /* USE_COOKIE */
-+
-+global char *mailcap_files init(USER_MAILCAP ", " SYS_MAILCAP);
-+global char *mimetypes_files init(USER_MIMETYPES ", " SYS_MIMETYPES);
-+#ifdef USE_EXTERNAL_URI_LOADER
-+global char *urimethodmap_files init(USER_URIMETHODMAP ", " SYS_URIMETHODMAP);
-+#endif
-+
-+global TextList *fileToDelete;
-+
-+extern Hist *LoadHist;
-+extern Hist *SaveHist;
-+extern Hist *URLHist;
-+extern Hist *ShellHist;
-+extern Hist *TextHist;
-+#ifdef USE_HISTORY
-+global int UseHistory init(TRUE);
-+global int URLHistSize init(100);
-+global int SaveURLHist init(TRUE);
-+#endif /* USE_HISTORY */
-+global int multicolList init(FALSE);
-+
-+#ifdef USE_M17N
-+global wc_ces InnerCharset init(WC_CES_WTF); /* Don't change */
-+global wc_ces DisplayCharset init(DISPLAY_CHARSET);
-+global wc_ces DocumentCharset init(DOCUMENT_CHARSET);
-+global wc_ces SystemCharset init(SYSTEM_CHARSET);
-+global wc_ces BookmarkCharset init(SYSTEM_CHARSET);
-+global char ExtHalfdump init(FALSE);
-+global char FollowLocale init(TRUE);
-+global char UseContentCharset init(TRUE);
-+global char SearchConv init(TRUE);
-+#define Str_conv_from_system(x) wc_Str_conv((x), SystemCharset, InnerCharset)
-+#define Str_conv_to_system(x) wc_Str_conv_strict((x), InnerCharset, SystemCharset)
-+#define Str_conv_to_halfdump(x) (ExtHalfdump ? wc_Str_conv((x), InnerCharset, DisplayCharset) : (x))
-+#define conv_from_system(x) wc_conv((x), SystemCharset, InnerCharset)->ptr
-+#define conv_to_system(x) wc_conv_strict((x), InnerCharset, SystemCharset)->ptr
-+#define url_quote_conv(x,c) url_quote(wc_conv_strict((x), InnerCharset, (c))->ptr)
-+#else
-+#define Str_conv_from_system(x) (x)
-+#define Str_conv_to_system(x) (x)
-+#define Str_conv_to_halfdump(x) (x)
-+#define conv_from_system(x) (x)
-+#define conv_to_system(x) (x)
-+#define url_quote_conv(x,c) url_quote(x)
-+#define wc_Str_conv(x,charset0,charset1) (x)
-+#define wc_Str_conv_strict(x,charset0,charset1) (x)
-+#endif
-+global char UseAltEntity init(TRUE);
-+global char UseGraphicChar init(FALSE);
-+extern char *graph_symbol[];
-+extern char *graph2_symbol[];
-+extern int symbol_width;
-+extern int symbol_width0;
-+#define N_GRAPH_SYMBOL 32
-+#define SYMBOL_BASE 0x20
-+global int no_rc_dir init(FALSE);
-+global char *rc_dir init(NULL);
-+global char *tmp_dir;
-+global char *config_file init(NULL);
-+
-+#ifdef USE_MOUSE
-+global int use_mouse init(TRUE);
-+extern int mouseActive;
-+global int reverse_mouse init(FALSE);
-+global int relative_wheel_scroll init(FALSE);
-+global int fixed_wheel_scroll_count init(5);
-+global int relative_wheel_scroll_ratio init(30);
-+typedef struct _MouseActionMap {
-+ void (*func) ();
-+ char *data;
-+} MouseActionMap;
-+typedef struct _MouseAction {
-+ char *menu_str;
-+ char *lastline_str;
-+ int menu_width;
-+ int lastline_width;
-+ int in_action;
-+ int cursorX;
-+ int cursorY;
-+ MouseActionMap default_map[3];
-+ MouseActionMap anchor_map[3];
-+ MouseActionMap active_map[3];
-+ MouseActionMap tab_map[3];
-+ MouseActionMap *menu_map[3];
-+ MouseActionMap *lastline_map[3];
-+} MouseAction;
-+global MouseAction mouse_action;
-+#define LIMIT_MOUSE_MENU 100
-+#endif /* USE_MOUSE */
-+
-+#ifdef USE_COOKIE
-+global int default_use_cookie init(TRUE);
-+global int use_cookie init(FALSE);
-+global int show_cookie init(TRUE);
-+global int accept_cookie init(FALSE);
-+#define ACCEPT_BAD_COOKIE_DISCARD 0
-+#define ACCEPT_BAD_COOKIE_ACCEPT 1
-+#define ACCEPT_BAD_COOKIE_ASK 2
-+global int accept_bad_cookie init(ACCEPT_BAD_COOKIE_DISCARD);
-+global char *cookie_reject_domains init(NULL);
-+global char *cookie_accept_domains init(NULL);
-+global TextList *Cookie_reject_domains;
-+global TextList *Cookie_accept_domains;
-+#endif /* USE_COOKIE */
-+
-+#ifdef USE_IMAGE
-+global int view_unseenobject init(FALSE);
-+#else
-+global int view_unseenobject init(TRUE);
-+#endif
-+
-+#if defined(USE_SSL) && defined(USE_SSL_VERIFY)
-+global int ssl_verify_server init(FALSE);
-+global char *ssl_cert_file init(NULL);
-+global char *ssl_key_file init(NULL);
-+global char *ssl_ca_path init(NULL);
-+global char *ssl_ca_file init(NULL);
-+global int ssl_path_modified init(FALSE);
-+#endif /* defined(USE_SSL) &&
-+ * defined(USE_SSL_VERIFY) */
-+#ifdef USE_SSL
-+global char *ssl_forbid_method init(NULL);
-+#endif
-+
-+global int is_redisplay init(FALSE);
-+global int clear_buffer init(TRUE);
-+global double pixel_per_char init(DEFAULT_PIXEL_PER_CHAR);
-+global int set_pixel_per_char init(FALSE);
-+#ifdef USE_IMAGE
-+global double pixel_per_line init(DEFAULT_PIXEL_PER_LINE);
-+global int set_pixel_per_line init(FALSE);
-+global double image_scale init(100);
-+#endif
-+global int use_lessopen init(FALSE);
-+
-+global char *keymap_file init(KEYMAP_FILE);
-+
-+#ifdef USE_M17N
-+#define get_mctype(c) ((Lineprop)wtf_type((wc_uchar *)(c)) << 8)
-+#define get_mclen(c) wtf_len1((wc_uchar *)(c))
-+#define get_mcwidth(c) wtf_width((wc_uchar *)(c))
-+#define get_strwidth(c) wtf_strwidth((wc_uchar *)(c))
-+#define get_Str_strwidth(c) wtf_strwidth((wc_uchar *)((c)->ptr))
-+#else
-+#define get_mctype(c) (IS_CNTRL(*(c)) ? PC_CTRL : PC_ASCII)
-+#define get_mclen(c) 1
-+#define get_mcwidth(c) 1
-+#define get_strwidth(c) strlen(c)
-+#define get_Str_strwidth(c) ((c)->length)
-+#endif
-+
-+global int FollowRedirection init(10);
-+
-+global int w3m_backend init(FALSE);
-+global TextLineList *backend_halfdump_buf;
-+global TextList *backend_batch_commands init(NULL);
-+int backend(void);
-+extern void deleteFiles(void);
-+void w3m_exit(int i);
-+
-+#ifdef USE_ALARM
-+#define AL_UNSET 0
-+#define AL_EXPLICIT 1
-+#define AL_IMPLICIT 2
-+#define AL_IMPLICIT_ONCE 3
-+
-+typedef struct _AlarmEvent {
-+ int sec;
-+ short status;
-+ int cmd;
-+ void *data;
-+} AlarmEvent;
-+#endif
-+
-+/*
-+ * Externals
-+ */
-+
-+#include "table.h"
-+#include "proto.h"
-+
-+#endif /* not FM_H */
-diff -urN w3m-0.5.2.orig/main.c w3m-0.5.2/main.c
---- w3m-0.5.2.orig/main.c 2007-05-31 10:19:50.000000000 +0900
-+++ w3m-0.5.2/main.c 2010-07-18 08:13:26.000000000 +0900
-@@ -557,9 +557,9 @@
- }
- #endif
- else if (!strcmp("-graph", argv[i]))
-- UseGraphicChar = TRUE;
-+ UseGraphicChar = GRAPHIC_CHAR_ALL;
- else if (!strcmp("-no-graph", argv[i]))
-- UseGraphicChar = FALSE;
-+ UseGraphicChar = GRAPHIC_CHAR_ASCII;
- else if (!strcmp("-T", argv[i])) {
- if (++i >= argc)
- usage();
-diff -urN w3m-0.5.2.orig/main.c.orig w3m-0.5.2/main.c.orig
---- w3m-0.5.2.orig/main.c.orig 1970-01-01 09:00:00.000000000 +0900
-+++ w3m-0.5.2/main.c.orig 2007-05-31 10:19:50.000000000 +0900
-@@ -0,0 +1,6650 @@
-+/* $Id: main.c,v 1.258 2007/05/31 01:19:50 inu Exp $ */
-+#define MAINPROGRAM
-+#include "fm.h"
-+#include <signal.h>
-+#include <setjmp.h>
-+#include <sys/stat.h>
-+#include <sys/types.h>
-+#include <unistd.h>
-+#include <fcntl.h>
-+#if defined(HAVE_WAITPID) || defined(HAVE_WAIT3)
-+#include <sys/wait.h>
-+#endif
-+#include <time.h>
-+#include "terms.h"
-+#include "myctype.h"
-+#include "regex.h"
-+#ifdef USE_MOUSE
-+#ifdef USE_GPM
-+#include <gpm.h>
-+#endif /* USE_GPM */
-+#if defined(USE_GPM) || defined(USE_SYSMOUSE)
-+extern int do_getch();
-+#define getch() do_getch()
-+#endif /* defined(USE_GPM) || defined(USE_SYSMOUSE) */
-+#endif
-+
-+#ifdef __MINGW32_VERSION
-+#include <winsock.h>
-+
-+WSADATA WSAData;
-+#endif
-+
-+#define DSTR_LEN 256
-+
-+Hist *LoadHist;
-+Hist *SaveHist;
-+Hist *URLHist;
-+Hist *ShellHist;
-+Hist *TextHist;
-+
-+typedef struct _Event {
-+ int cmd;
-+ void *data;
-+ struct _Event *next;
-+} Event;
-+static Event *CurrentEvent = NULL;
-+static Event *LastEvent = NULL;
-+
-+#ifdef USE_ALARM
-+static AlarmEvent DefaultAlarm = {
-+ 0, AL_UNSET, FUNCNAME_nulcmd, NULL
-+};
-+static AlarmEvent *CurrentAlarm = &DefaultAlarm;
-+static MySignalHandler SigAlarm(SIGNAL_ARG);
-+#endif
-+
-+#ifdef SIGWINCH
-+static int need_resize_screen = FALSE;
-+static MySignalHandler resize_hook(SIGNAL_ARG);
-+static void resize_screen(void);
-+#endif
-+
-+#ifdef SIGPIPE
-+static MySignalHandler SigPipe(SIGNAL_ARG);
-+#endif
-+
-+#ifdef USE_MARK
-+static char *MarkString = NULL;
-+#endif
-+static char *SearchString = NULL;
-+int (*searchRoutine) (Buffer *, char *);
-+
-+#ifndef __MINGW32_VERSION
-+JMP_BUF IntReturn;
-+#else
-+_JBTYPE IntReturn[_JBLEN];
-+#endif /* __MINGW32_VERSION */
-+
-+static void delBuffer(Buffer *buf);
-+static void cmd_loadfile(char *path);
-+static void cmd_loadURL(char *url, ParsedURL *current, char *referer,
-+ FormList *request);
-+static void cmd_loadBuffer(Buffer *buf, int prop, int linkid);
-+static void keyPressEventProc(int c);
-+int show_params_p = 0;
-+void show_params(FILE * fp);
-+
-+static char *getCurWord(Buffer *buf, int *spos, int *epos,
-+ const char *badchars);
-+
-+static int display_ok = FALSE;
-+static void do_dump(Buffer *);
-+int prec_num = 0;
-+int prev_key = -1;
-+int on_target = 1;
-+static int add_download_list = FALSE;
-+
-+void set_buffer_environ(Buffer *);
-+static void save_buffer_position(Buffer *buf);
-+
-+static void _followForm(int);
-+static void _goLine(char *);
-+static void _newT(void);
-+static void followTab(TabBuffer * tab);
-+static void moveTab(TabBuffer * t, TabBuffer * t2, int right);
-+static void _nextA(int);
-+static void _prevA(int);
-+static int check_target = TRUE;
-+#define PREC_NUM (prec_num ? prec_num : 1)
-+#define PREC_LIMIT 10000
-+static int searchKeyNum(void);
-+
-+#define help() fusage(stdout, 0)
-+#define usage() fusage(stderr, 1)
-+
-+static void
-+fversion(FILE * f)
-+{
-+ fprintf(f, "w3m version %s, options %s\n", w3m_version,
-+#if LANG == JA
-+ "lang=ja"
-+#else
-+ "lang=en"
-+#endif
-+#ifdef USE_M17N
-+ ",m17n"
-+#endif
-+#ifdef USE_IMAGE
-+ ",image"
-+#endif
-+#ifdef USE_COLOR
-+ ",color"
-+#ifdef USE_ANSI_COLOR
-+ ",ansi-color"
-+#endif
-+#endif
-+#ifdef USE_MOUSE
-+ ",mouse"
-+#ifdef USE_GPM
-+ ",gpm"
-+#endif
-+#ifdef USE_SYSMOUSE
-+ ",sysmouse"
-+#endif
-+#endif
-+#ifdef USE_MENU
-+ ",menu"
-+#endif
-+#ifdef USE_COOKIE
-+ ",cookie"
-+#endif
-+#ifdef USE_SSL
-+ ",ssl"
-+#ifdef USE_SSL_VERIFY
-+ ",ssl-verify"
-+#endif
-+#endif
-+#ifdef USE_EXTERNAL_URI_LOADER
-+ ",external-uri-loader"
-+#endif
-+#ifdef USE_W3MMAILER
-+ ",w3mmailer"
-+#endif
-+#ifdef USE_NNTP
-+ ",nntp"
-+#endif
-+#ifdef USE_GOPHER
-+ ",gopher"
-+#endif
-+#ifdef INET6
-+ ",ipv6"
-+#endif
-+#ifdef USE_ALARM
-+ ",alarm"
-+#endif
-+#ifdef USE_MARK
-+ ",mark"
-+#endif
-+#ifdef USE_MIGEMO
-+ ",migemo"
-+#endif
-+ );
-+}
-+
-+static void
-+fusage(FILE * f, int err)
-+{
-+ fversion(f);
-+ /* FIXME: gettextize? */
-+ fprintf(f, "usage: w3m [options] [URL or filename]\noptions:\n");
-+ fprintf(f, " -t tab set tab width\n");
-+ fprintf(f, " -r ignore backspace effect\n");
-+ fprintf(f, " -l line # of preserved line (default 10000)\n");
-+#ifdef USE_M17N
-+ fprintf(f, " -I charset document charset\n");
-+ fprintf(f, " -O charset display/output charset\n");
-+#ifndef DEBIAN /* disabled by ukai: -s is used for squeeze multi lines */
-+ fprintf(f, " -e EUC-JP\n");
-+ fprintf(f, " -s Shift_JIS\n");
-+ fprintf(f, " -j JIS\n");
-+#endif
-+#endif
-+ fprintf(f, " -B load bookmark\n");
-+ fprintf(f, " -bookmark file specify bookmark file\n");
-+ fprintf(f, " -T type specify content-type\n");
-+ fprintf(f, " -m internet message mode\n");
-+ fprintf(f, " -v visual startup mode\n");
-+#ifdef USE_COLOR
-+ fprintf(f, " -M monochrome display\n");
-+#endif /* USE_COLOR */
-+ fprintf(f,
-+ " -N open URL of command line on each new tab\n");
-+ fprintf(f, " -F automatically render frame\n");
-+ fprintf(f,
-+ " -cols width specify column width (used with -dump)\n");
-+ fprintf(f,
-+ " -ppc count specify the number of pixels per character (4.0...32.0)\n");
-+#ifdef USE_IMAGE
-+ fprintf(f,
-+ " -ppl count specify the number of pixels per line (4.0...64.0)\n");
-+#endif
-+ fprintf(f, " -dump dump formatted page into stdout\n");
-+ fprintf(f,
-+ " -dump_head dump response of HEAD request into stdout\n");
-+ fprintf(f, " -dump_source dump page source into stdout\n");
-+ fprintf(f, " -dump_both dump HEAD and source into stdout\n");
-+ fprintf(f,
-+ " -dump_extra dump HEAD, source, and extra information into stdout\n");
-+ fprintf(f, " -post file use POST method with file content\n");
-+ fprintf(f, " -header string insert string as a header\n");
-+ fprintf(f, " +<num> goto <num> line\n");
-+ fprintf(f, " -num show line number\n");
-+ fprintf(f, " -no-proxy don't use proxy\n");
-+#ifdef INET6
-+ fprintf(f, " -4 IPv4 only (-o dns_order=4)\n");
-+ fprintf(f, " -6 IPv6 only (-o dns_order=6)\n");
-+#endif
-+#ifdef USE_MOUSE
-+ fprintf(f, " -no-mouse don't use mouse\n");
-+#endif /* USE_MOUSE */
-+#ifdef USE_COOKIE
-+ fprintf(f,
-+ " -cookie use cookie (-no-cookie: don't use cookie)\n");
-+#endif /* USE_COOKIE */
-+ fprintf(f, " -pauth user:pass proxy authentication\n");
-+ fprintf(f, " -graph use graphic character\n");
-+ fprintf(f, " -no-graph don't use graphic character\n");
-+#ifdef DEBIAN /* replaced by ukai: pager requires -s */
-+ fprintf(f, " -s squeeze multiple blank lines\n");
-+#else
-+ fprintf(f, " -S squeeze multiple blank lines\n");
-+#endif
-+ fprintf(f, " -W toggle wrap search mode\n");
-+ fprintf(f, " -X don't use termcap init/deinit\n");
-+ fprintf(f,
-+ " -title[=TERM] set buffer name to terminal title string\n");
-+ fprintf(f, " -o opt=value assign value to config option\n");
-+ fprintf(f, " -show-option print all config options\n");
-+ fprintf(f, " -config file specify config file\n");
-+ fprintf(f, " -help print this usage message\n");
-+ fprintf(f, " -version print w3m version\n");
-+ fprintf(f, " -reqlog write request logfile\n");
-+ fprintf(f, " -debug DO NOT USE\n");
-+ if (show_params_p)
-+ show_params(f);
-+ exit(err);
-+}
-+
-+#ifdef USE_M17N
-+#ifdef __EMX__
-+static char *getCodePage(void);
-+#endif
-+#endif
-+
-+static GC_warn_proc orig_GC_warn_proc = NULL;
-+#define GC_WARN_KEEP_MAX (20)
-+
-+static void
-+wrap_GC_warn_proc(char *msg, GC_word arg)
-+{
-+ if (fmInitialized) {
-+ /* *INDENT-OFF* */
-+ static struct {
-+ char *msg;
-+ GC_word arg;
-+ } msg_ring[GC_WARN_KEEP_MAX];
-+ /* *INDENT-ON* */
-+ static int i = 0;
-+ static int n = 0;
-+ static int lock = 0;
-+ int j;
-+
-+ j = (i + n) % (sizeof(msg_ring) / sizeof(msg_ring[0]));
-+ msg_ring[j].msg = msg;
-+ msg_ring[j].arg = arg;
-+
-+ if (n < sizeof(msg_ring) / sizeof(msg_ring[0]))
-+ ++n;
-+ else
-+ ++i;
-+
-+ if (!lock) {
-+ lock = 1;
-+
-+ for (; n > 0; --n, ++i) {
-+ i %= sizeof(msg_ring) / sizeof(msg_ring[0]);
-+
-+ printf(msg_ring[i].msg, (unsigned long)msg_ring[i].arg);
-+ sleep_till_anykey(1, 1);
-+ }
-+
-+ lock = 0;
-+ }
-+ }
-+ else if (orig_GC_warn_proc)
-+ orig_GC_warn_proc(msg, arg);
-+ else
-+ fprintf(stderr, msg, (unsigned long)arg);
-+}
-+
-+#ifdef SIGCHLD
-+static void
-+sig_chld(int signo)
-+{
-+ int p_stat;
-+#ifdef HAVE_WAITPID
-+ pid_t pid;
-+
-+ while ((pid = waitpid(-1, &p_stat, WNOHANG)) > 0) {
-+ ;
-+ }
-+#elif HAVE_WAIT3
-+ int pid;
-+
-+ while ((pid = wait3(&p_stat, WNOHANG, NULL)) > 0) {
-+ ;
-+ }
-+#else
-+ wait(&p_stat);
-+#endif
-+ mySignal(SIGCHLD, sig_chld);
-+ return;
-+}
-+#endif
-+
-+Str
-+make_optional_header_string(char *s)
-+{
-+ char *p;
-+ Str hs;
-+
-+ if (strchr(s, '\n') || strchr(s, '\r'))
-+ return NULL;
-+ for (p = s; *p && *p != ':'; p++) ;
-+ if (*p != ':' || p == s)
-+ return NULL;
-+ hs = Strnew_size(strlen(s) + 3);
-+ Strcopy_charp_n(hs, s, p - s);
-+ if (!Strcasecmp_charp(hs, "content-type"))
-+ override_content_type = TRUE;
-+ Strcat_charp(hs, ": ");
-+ if (*(++p)) { /* not null header */
-+ SKIP_BLANKS(p); /* skip white spaces */
-+ Strcat_charp(hs, p);
-+ }
-+ Strcat_charp(hs, "\r\n");
-+ return hs;
-+}
-+
-+int
-+main(int argc, char **argv, char **envp)
-+{
-+ Buffer *newbuf = NULL;
-+ char *p, c;
-+ int i;
-+ InputStream redin;
-+ char *line_str = NULL;
-+ char **load_argv;
-+ FormList *request;
-+ int load_argc = 0;
-+ int load_bookmark = FALSE;
-+ int visual_start = FALSE;
-+ int open_new_tab = FALSE;
-+ char search_header = FALSE;
-+ char *default_type = NULL;
-+ char *post_file = NULL;
-+ Str err_msg;
-+#ifdef USE_M17N
-+ char *Locale = NULL;
-+ wc_uint8 auto_detect;
-+#ifdef __EMX__
-+ wc_ces CodePage;
-+#endif
-+#endif
-+ GC_INIT();
-+#if defined(ENABLE_NLS) || (defined(USE_M17N) && defined(HAVE_LANGINFO_CODESET))
-+ setlocale(LC_ALL, "");
-+#endif
-+#ifdef ENABLE_NLS
-+ bindtextdomain(PACKAGE, LOCALEDIR);
-+ textdomain(PACKAGE);
-+#endif
-+
-+#ifndef HAVE_SYS_ERRLIST
-+ prepare_sys_errlist();
-+#endif /* not HAVE_SYS_ERRLIST */
-+
-+ NO_proxy_domains = newTextList();
-+ fileToDelete = newTextList();
-+
-+ load_argv = New_N(char *, argc - 1);
-+ load_argc = 0;
-+
-+ CurrentDir = currentdir();
-+ CurrentPid = (int)getpid();
-+ BookmarkFile = NULL;
-+ config_file = NULL;
-+
-+ /* argument search 1 */
-+ for (i = 1; i < argc; i++) {
-+ if (*argv[i] == '-') {
-+ if (!strcmp("-config", argv[i])) {
-+ argv[i] = "-dummy";
-+ if (++i >= argc)
-+ usage();
-+ config_file = argv[i];
-+ argv[i] = "-dummy";
-+ }
-+ else if (!strcmp("-h", argv[i]) || !strcmp("-help", argv[i]))
-+ help();
-+ else if (!strcmp("-V", argv[i]) || !strcmp("-version", argv[i])) {
-+ fversion(stdout);
-+ exit(0);
-+ }
-+ }
-+ }
-+
-+#ifdef USE_M17N
-+ if (non_null(Locale = getenv("LC_ALL")) ||
-+ non_null(Locale = getenv("LC_CTYPE")) ||
-+ non_null(Locale = getenv("LANG"))) {
-+ DisplayCharset = wc_guess_locale_charset(Locale, DisplayCharset);
-+ DocumentCharset = wc_guess_locale_charset(Locale, DocumentCharset);
-+ SystemCharset = wc_guess_locale_charset(Locale, SystemCharset);
-+ }
-+#ifdef __EMX__
-+ CodePage = wc_guess_charset(getCodePage(), 0);
-+ if (CodePage)
-+ DisplayCharset = DocumentCharset = SystemCharset = CodePage;
-+#endif
-+#endif
-+
-+ /* initializations */
-+ init_rc();
-+
-+ LoadHist = newHist();
-+ SaveHist = newHist();
-+ ShellHist = newHist();
-+ TextHist = newHist();
-+ URLHist = newHist();
-+
-+#ifdef USE_M17N
-+ if (FollowLocale && Locale) {
-+ DisplayCharset = wc_guess_locale_charset(Locale, DisplayCharset);
-+ SystemCharset = wc_guess_locale_charset(Locale, SystemCharset);
-+ }
-+ auto_detect = WcOption.auto_detect;
-+ BookmarkCharset = DocumentCharset;
-+#endif
-+
-+ if (!non_null(HTTP_proxy) &&
-+ ((p = getenv("HTTP_PROXY")) ||
-+ (p = getenv("http_proxy")) || (p = getenv("HTTP_proxy"))))
-+ HTTP_proxy = p;
-+#ifdef USE_SSL
-+ if (!non_null(HTTPS_proxy) &&
-+ ((p = getenv("HTTPS_PROXY")) ||
-+ (p = getenv("https_proxy")) || (p = getenv("HTTPS_proxy"))))
-+ HTTPS_proxy = p;
-+ if (HTTPS_proxy == NULL && non_null(HTTP_proxy))
-+ HTTPS_proxy = HTTP_proxy;
-+#endif /* USE_SSL */
-+#ifdef USE_GOPHER
-+ if (!non_null(GOPHER_proxy) &&
-+ ((p = getenv("GOPHER_PROXY")) ||
-+ (p = getenv("gopher_proxy")) || (p = getenv("GOPHER_proxy"))))
-+ GOPHER_proxy = p;
-+#endif /* USE_GOPHER */
-+ if (!non_null(FTP_proxy) &&
-+ ((p = getenv("FTP_PROXY")) ||
-+ (p = getenv("ftp_proxy")) || (p = getenv("FTP_proxy"))))
-+ FTP_proxy = p;
-+ if (!non_null(NO_proxy) &&
-+ ((p = getenv("NO_PROXY")) ||
-+ (p = getenv("no_proxy")) || (p = getenv("NO_proxy"))))
-+ NO_proxy = p;
-+#ifdef USE_NNTP
-+ if (!non_null(NNTP_server) && (p = getenv("NNTPSERVER")) != NULL)
-+ NNTP_server = p;
-+ if (!non_null(NNTP_mode) && (p = getenv("NNTPMODE")) != NULL)
-+ NNTP_mode = p;
-+#endif
-+
-+ if (!non_null(Editor) && (p = getenv("EDITOR")) != NULL)
-+ Editor = p;
-+ if (!non_null(Mailer) && (p = getenv("MAILER")) != NULL)
-+ Mailer = p;
-+
-+ /* argument search 2 */
-+ i = 1;
-+ while (i < argc) {
-+ if (*argv[i] == '-') {
-+ if (!strcmp("-t", argv[i])) {
-+ if (++i >= argc)
-+ usage();
-+ if (atoi(argv[i]) > 0)
-+ Tabstop = atoi(argv[i]);
-+ }
-+ else if (!strcmp("-r", argv[i]))
-+ ShowEffect = FALSE;
-+ else if (!strcmp("-l", argv[i])) {
-+ if (++i >= argc)
-+ usage();
-+ if (atoi(argv[i]) > 0)
-+ PagerMax = atoi(argv[i]);
-+ }
-+#ifdef USE_M17N
-+#ifndef DEBIAN /* XXX: use -o kanjicode={S|J|E} */
-+ else if (!strcmp("-s", argv[i]))
-+ DisplayCharset = WC_CES_SHIFT_JIS;
-+ else if (!strcmp("-j", argv[i]))
-+ DisplayCharset = WC_CES_ISO_2022_JP;
-+ else if (!strcmp("-e", argv[i]))
-+ DisplayCharset = WC_CES_EUC_JP;
-+#endif
-+ else if (!strncmp("-I", argv[i], 2)) {
-+ if (argv[i][2] != '\0')
-+ p = argv[i] + 2;
-+ else {
-+ if (++i >= argc)
-+ usage();
-+ p = argv[i];
-+ }
-+ DocumentCharset = wc_guess_charset_short(p, DocumentCharset);
-+ WcOption.auto_detect = WC_OPT_DETECT_OFF;
-+ UseContentCharset = FALSE;
-+ }
-+ else if (!strncmp("-O", argv[i], 2)) {
-+ if (argv[i][2] != '\0')
-+ p = argv[i] + 2;
-+ else {
-+ if (++i >= argc)
-+ usage();
-+ p = argv[i];
-+ }
-+ DisplayCharset = wc_guess_charset_short(p, DisplayCharset);
-+ }
-+#endif
-+ else if (!strcmp("-graph", argv[i]))
-+ UseGraphicChar = TRUE;
-+ else if (!strcmp("-no-graph", argv[i]))
-+ UseGraphicChar = FALSE;
-+ else if (!strcmp("-T", argv[i])) {
-+ if (++i >= argc)
-+ usage();
-+ DefaultType = default_type = argv[i];
-+ }
-+ else if (!strcmp("-m", argv[i]))
-+ SearchHeader = search_header = TRUE;
-+ else if (!strcmp("-v", argv[i]))
-+ visual_start = TRUE;
-+ else if (!strcmp("-N", argv[i]))
-+ open_new_tab = TRUE;
-+#ifdef USE_COLOR
-+ else if (!strcmp("-M", argv[i]))
-+ useColor = FALSE;
-+#endif /* USE_COLOR */
-+ else if (!strcmp("-B", argv[i]))
-+ load_bookmark = TRUE;
-+ else if (!strcmp("-bookmark", argv[i])) {
-+ if (++i >= argc)
-+ usage();
-+ BookmarkFile = argv[i];
-+ if (BookmarkFile[0] != '~' && BookmarkFile[0] != '/') {
-+ Str tmp = Strnew_charp(CurrentDir);
-+ if (Strlastchar(tmp) != '/')
-+ Strcat_char(tmp, '/');
-+ Strcat_charp(tmp, BookmarkFile);
-+ BookmarkFile = cleanupName(tmp->ptr);
-+ }
-+ }
-+ else if (!strcmp("-F", argv[i]))
-+ RenderFrame = TRUE;
-+ else if (!strcmp("-W", argv[i])) {
-+ if (WrapDefault)
-+ WrapDefault = FALSE;
-+ else
-+ WrapDefault = TRUE;
-+ }
-+ else if (!strcmp("-dump", argv[i]))
-+ w3m_dump = DUMP_BUFFER;
-+ else if (!strcmp("-dump_source", argv[i]))
-+ w3m_dump = DUMP_SOURCE;
-+ else if (!strcmp("-dump_head", argv[i]))
-+ w3m_dump = DUMP_HEAD;
-+ else if (!strcmp("-dump_both", argv[i]))
-+ w3m_dump = (DUMP_HEAD | DUMP_SOURCE);
-+ else if (!strcmp("-dump_extra", argv[i]))
-+ w3m_dump = (DUMP_HEAD | DUMP_SOURCE | DUMP_EXTRA);
-+ else if (!strcmp("-halfdump", argv[i]))
-+ w3m_dump = DUMP_HALFDUMP;
-+ else if (!strcmp("-halfload", argv[i])) {
-+ w3m_dump = 0;
-+ w3m_halfload = TRUE;
-+ DefaultType = default_type = "text/html";
-+ }
-+ else if (!strcmp("-backend", argv[i])) {
-+ w3m_backend = TRUE;
-+ }
-+ else if (!strcmp("-backend_batch", argv[i])) {
-+ w3m_backend = TRUE;
-+ if (++i >= argc)
-+ usage();
-+ if (!backend_batch_commands)
-+ backend_batch_commands = newTextList();
-+ pushText(backend_batch_commands, argv[i]);
-+ }
-+ else if (!strcmp("-cols", argv[i])) {
-+ if (++i >= argc)
-+ usage();
-+ COLS = atoi(argv[i]);
-+ }
-+ else if (!strcmp("-ppc", argv[i])) {
-+ double ppc;
-+ if (++i >= argc)
-+ usage();
-+ ppc = atof(argv[i]);
-+ if (ppc >= MINIMUM_PIXEL_PER_CHAR &&
-+ ppc <= MAXIMUM_PIXEL_PER_CHAR) {
-+ pixel_per_char = ppc;
-+ set_pixel_per_char = TRUE;
-+ }
-+ }
-+#ifdef USE_IMAGE
-+ else if (!strcmp("-ppl", argv[i])) {
-+ double ppc;
-+ if (++i >= argc)
-+ usage();
-+ ppc = atof(argv[i]);
-+ if (ppc >= MINIMUM_PIXEL_PER_CHAR &&
-+ ppc <= MAXIMUM_PIXEL_PER_CHAR * 2) {
-+ pixel_per_line = ppc;
-+ set_pixel_per_line = TRUE;
-+ }
-+ }
-+#endif
-+ else if (!strcmp("-num", argv[i]))
-+ showLineNum = TRUE;
-+ else if (!strcmp("-no-proxy", argv[i]))
-+ use_proxy = FALSE;
-+#ifdef INET6
-+ else if (!strcmp("-4", argv[i]) || !strcmp("-6", argv[i]))
-+ set_param_option(Sprintf("dns_order=%c", argv[i][1])->ptr);
-+#endif
-+ else if (!strcmp("-post", argv[i])) {
-+ if (++i >= argc)
-+ usage();
-+ post_file = argv[i];
-+ }
-+ else if (!strcmp("-header", argv[i])) {
-+ Str hs;
-+ if (++i >= argc)
-+ usage();
-+ if ((hs = make_optional_header_string(argv[i])) != NULL) {
-+ if (header_string == NULL)
-+ header_string = hs;
-+ else
-+ Strcat(header_string, hs);
-+ }
-+ while (argv[i][0]) {
-+ argv[i][0] = '\0';
-+ argv[i]++;
-+ }
-+ }
-+#ifdef USE_MOUSE
-+ else if (!strcmp("-no-mouse", argv[i])) {
-+ use_mouse = FALSE;
-+ }
-+#endif /* USE_MOUSE */
-+#ifdef USE_COOKIE
-+ else if (!strcmp("-no-cookie", argv[i])) {
-+ use_cookie = FALSE;
-+ accept_cookie = FALSE;
-+ }
-+ else if (!strcmp("-cookie", argv[i])) {
-+ use_cookie = TRUE;
-+ accept_cookie = TRUE;
-+ }
-+#endif /* USE_COOKIE */
-+ else if (!strcmp("-pauth", argv[i])) {
-+ if (++i >= argc)
-+ usage();
-+ proxy_auth_cookie = Strnew_m_charp("Basic ",
-+ encodeB(argv[i])->ptr,
-+ NULL);
-+ while (argv[i][0]) {
-+ argv[i][0] = '\0';
-+ argv[i]++;
-+ }
-+ }
-+#ifdef DEBIAN
-+ else if (!strcmp("-s", argv[i]))
-+#else
-+ else if (!strcmp("-S", argv[i]))
-+#endif
-+ squeezeBlankLine = TRUE;
-+ else if (!strcmp("-X", argv[i]))
-+ Do_not_use_ti_te = TRUE;
-+ else if (!strcmp("-title", argv[i]))
-+ displayTitleTerm = getenv("TERM");
-+ else if (!strncmp("-title=", argv[i], 7))
-+ displayTitleTerm = argv[i] + 7;
-+ else if (!strcmp("-o", argv[i]) ||
-+ !strcmp("-show-option", argv[i])) {
-+ if (!strcmp("-show-option", argv[i]) || ++i >= argc ||
-+ !strcmp(argv[i], "?")) {
-+ show_params(stdout);
-+ exit(0);
-+ }
-+ if (!set_param_option(argv[i])) {
-+ /* option set failed */
-+ /* FIXME: gettextize? */
-+ fprintf(stderr, "%s: bad option\n", argv[i]);
-+ show_params_p = 1;
-+ usage();
-+ }
-+ }
-+ else if (!strcmp("-dummy", argv[i])) {
-+ /* do nothing */
-+ }
-+ else if (!strcmp("-debug", argv[i])) {
-+ w3m_debug = TRUE;
-+ }
-+ else if (!strcmp("-reqlog",argv[i])) {
-+ w3m_reqlog=rcFile("request.log");
-+ }
-+ else {
-+ usage();
-+ }
-+ }
-+ else if (*argv[i] == '+') {
-+ line_str = argv[i] + 1;
-+ }
-+ else {
-+ load_argv[load_argc++] = argv[i];
-+ }
-+ i++;
-+ }
-+
-+#ifdef __WATT32__
-+ if (w3m_debug)
-+ dbug_init();
-+ sock_init();
-+#endif
-+
-+#ifdef __MINGW32_VERSION
-+ {
-+ int err;
-+ WORD wVerReq;
-+
-+ wVerReq = MAKEWORD(1, 1);
-+
-+ err = WSAStartup(wVerReq, &WSAData);
-+ if (err != 0)
-+ {
-+ fprintf(stderr, "Can't find winsock\n");
-+ return 1;
-+ }
-+ _fmode = _O_BINARY;
-+ }
-+#endif
-+
-+ FirstTab = NULL;
-+ LastTab = NULL;
-+ nTab = 0;
-+ CurrentTab = NULL;
-+ CurrentKey = -1;
-+ if (BookmarkFile == NULL)
-+ BookmarkFile = rcFile(BOOKMARK);
-+
-+ if (!isatty(1) && !w3m_dump) {
-+ /* redirected output */
-+ w3m_dump = DUMP_BUFFER;
-+ }
-+ if (w3m_dump) {
-+ if (COLS == 0)
-+ COLS = 80;
-+ }
-+
-+#ifdef USE_BINMODE_STREAM
-+ setmode(fileno(stdout), O_BINARY);
-+#endif
-+ if (!w3m_dump && !w3m_backend) {
-+ fmInit();
-+#ifdef SIGWINCH
-+ mySignal(SIGWINCH, resize_hook);
-+#else /* not SIGWINCH */
-+ setlinescols();
-+ setupscreen();
-+#endif /* not SIGWINCH */
-+ }
-+#ifdef USE_IMAGE
-+ else if (w3m_halfdump && displayImage)
-+ activeImage = TRUE;
-+#endif
-+
-+ sync_with_option();
-+#ifdef USE_COOKIE
-+ initCookie();
-+#endif /* USE_COOKIE */
-+#ifdef USE_HISTORY
-+ if (UseHistory)
-+ loadHistory(URLHist);
-+#endif /* not USE_HISTORY */
-+
-+#ifdef USE_M17N
-+ wtf_init(DocumentCharset, DisplayCharset);
-+ /* if (w3m_dump)
-+ * WcOption.pre_conv = WC_TRUE;
-+ */
-+#endif
-+
-+ if (w3m_backend)
-+ backend();
-+
-+ if (w3m_dump)
-+ mySignal(SIGINT, SIG_IGN);
-+#ifdef SIGCHLD
-+ mySignal(SIGCHLD, sig_chld);
-+#endif
-+#ifdef SIGPIPE
-+ mySignal(SIGPIPE, SigPipe);
-+#endif
-+
-+ orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
-+ err_msg = Strnew();
-+ if (load_argc == 0) {
-+ /* no URL specified */
-+ if (!isatty(0)) {
-+ redin = newFileStream(fdopen(dup(0), "rb"), (void (*)())pclose);
-+ newbuf = openGeneralPagerBuffer(redin);
-+ dup2(1, 0);
-+ }
-+ else if (load_bookmark) {
-+ newbuf = loadGeneralFile(BookmarkFile, NULL, NO_REFERER, 0, NULL);
-+ if (newbuf == NULL)
-+ Strcat_charp(err_msg, "w3m: Can't load bookmark.\n");
-+ }
-+ else if (visual_start) {
-+ /* FIXME: gettextize? */
-+ Str s_page;
-+ s_page =
-+ Strnew_charp
-+ ("<title>W3M startup page</title><center><b>Welcome to ");
-+ Strcat_charp(s_page, "<a href='http://w3m.sourceforge.net/'>");
-+ Strcat_m_charp(s_page,
-+ "w3m</a>!<p><p>This is w3m version ",
-+ w3m_version,
-+ "<br>Written by <a href='mailto:aito@fw.ipsj.or.jp'>Akinori Ito</a>",
-+ NULL);
-+#ifdef DEBIAN
-+ Strcat_m_charp(s_page,
-+ "<p>Debian package is maintained by <a href='mailto:ukai@debian.or.jp'>Fumitoshi UKAI</a>.",
-+ "You can read <a href='file:///usr/share/doc/w3m/'>w3m documents on your local system</a>.",
-+ NULL);
-+#endif /* DEBIAN */
-+ newbuf = loadHTMLString(s_page);
-+ if (newbuf == NULL)
-+ Strcat_charp(err_msg, "w3m: Can't load string.\n");
-+ else if (newbuf != NO_BUFFER)
-+ newbuf->bufferprop |= (BP_INTERNAL | BP_NO_URL);
-+ }
-+ else if ((p = getenv("HTTP_HOME")) != NULL ||
-+ (p = getenv("WWW_HOME")) != NULL) {
-+ newbuf = loadGeneralFile(p, NULL, NO_REFERER, 0, NULL);
-+ if (newbuf == NULL)
-+ Strcat(err_msg, Sprintf("w3m: Can't load %s.\n", p));
-+ else if (newbuf != NO_BUFFER)
-+ pushHashHist(URLHist, parsedURL2Str(&newbuf->currentURL)->ptr);
-+ }
-+ else {
-+ if (fmInitialized)
-+ fmTerm();
-+ usage();
-+ }
-+ if (newbuf == NULL) {
-+ if (fmInitialized)
-+ fmTerm();
-+ if (err_msg->length)
-+ fprintf(stderr, "%s", err_msg->ptr);
-+ w3m_exit(2);
-+ }
-+ i = -1;
-+ }
-+ else {
-+ i = 0;
-+ }
-+ for (; i < load_argc; i++) {
-+ if (i >= 0) {
-+ SearchHeader = search_header;
-+ DefaultType = default_type;
-+ if (w3m_dump == DUMP_HEAD) {
-+ request = New(FormList);
-+ request->method = FORM_METHOD_HEAD;
-+ newbuf =
-+ loadGeneralFile(load_argv[i], NULL, NO_REFERER, 0,
-+ request);
-+ }
-+ else {
-+ if (post_file && i == 0) {
-+ FILE *fp;
-+ Str body;
-+ if (!strcmp(post_file, "-"))
-+ fp = stdin;
-+ else
-+ fp = fopen(post_file, "r");
-+ if (fp == NULL) {
-+ /* FIXME: gettextize? */
-+ Strcat(err_msg,
-+ Sprintf("w3m: Can't open %s.\n", post_file));
-+ continue;
-+ }
-+ body = Strfgetall(fp);
-+ if (fp != stdin)
-+ fclose(fp);
-+ request =
-+ newFormList(NULL, "post", NULL, NULL, NULL, NULL,
-+ NULL);
-+ request->body = body->ptr;
-+ request->boundary = NULL;
-+ request->length = body->length;
-+ }
-+ else {
-+ request = NULL;
-+ }
-+ newbuf =
-+ loadGeneralFile(load_argv[i], NULL, NO_REFERER, 0,
-+ request);
-+ }
-+ if (newbuf == NULL) {
-+ /* FIXME: gettextize? */
-+ Strcat(err_msg,
-+ Sprintf("w3m: Can't load %s.\n", load_argv[i]));
-+ continue;
-+ }
-+ else if (newbuf == NO_BUFFER)
-+ continue;
-+ switch (newbuf->real_scheme) {
-+ case SCM_MAILTO:
-+ break;
-+ case SCM_LOCAL:
-+ case SCM_LOCAL_CGI:
-+ unshiftHist(LoadHist, conv_from_system(load_argv[i]));
-+ default:
-+ pushHashHist(URLHist, parsedURL2Str(&newbuf->currentURL)->ptr);
-+ break;
-+ }
-+ }
-+ else if (newbuf == NO_BUFFER)
-+ continue;
-+ if (newbuf->pagerSource ||
-+ (newbuf->real_scheme == SCM_LOCAL && newbuf->header_source &&
-+ newbuf->currentURL.file && strcmp(newbuf->currentURL.file, "-")))
-+ newbuf->search_header = search_header;
-+ if (CurrentTab == NULL) {
-+ FirstTab = LastTab = CurrentTab = newTab();
-+ nTab = 1;
-+ Firstbuf = Currentbuf = newbuf;
-+ }
-+ else if (open_new_tab) {
-+ _newT();
-+ Currentbuf->nextBuffer = newbuf;
-+ delBuffer(Currentbuf);
-+ }
-+ else {
-+ Currentbuf->nextBuffer = newbuf;
-+ Currentbuf = newbuf;
-+ }
-+ if (!w3m_dump || w3m_dump == DUMP_BUFFER) {
-+ if (Currentbuf->frameset != NULL && RenderFrame)
-+ rFrame();
-+ }
-+ if (w3m_dump)
-+ do_dump(Currentbuf);
-+ else {
-+ Currentbuf = newbuf;
-+#ifdef USE_BUFINFO
-+ saveBufferInfo();
-+#endif
-+ }
-+ }
-+ if (w3m_dump) {
-+ if (err_msg->length)
-+ fprintf(stderr, "%s", err_msg->ptr);
-+#ifdef USE_COOKIE
-+ save_cookies();
-+#endif /* USE_COOKIE */
-+ w3m_exit(0);
-+ }
-+
-+ if (add_download_list) {
-+ add_download_list = FALSE;
-+ CurrentTab = LastTab;
-+ if (!FirstTab) {
-+ FirstTab = LastTab = CurrentTab = newTab();
-+ nTab = 1;
-+ }
-+ if (!Firstbuf || Firstbuf == NO_BUFFER) {
-+ Firstbuf = Currentbuf = newBuffer(INIT_BUFFER_WIDTH);
-+ Currentbuf->bufferprop = BP_INTERNAL | BP_NO_URL;
-+ Currentbuf->buffername = DOWNLOAD_LIST_TITLE;
-+ }
-+ else
-+ Currentbuf = Firstbuf;
-+ ldDL();
-+ }
-+ else
-+ CurrentTab = FirstTab;
-+ if (!FirstTab || !Firstbuf || Firstbuf == NO_BUFFER) {
-+ if (newbuf == NO_BUFFER) {
-+ if (fmInitialized)
-+ /* FIXME: gettextize? */
-+ inputChar("Hit any key to quit w3m:");
-+ }
-+ if (fmInitialized)
-+ fmTerm();
-+ if (err_msg->length)
-+ fprintf(stderr, "%s", err_msg->ptr);
-+ if (newbuf == NO_BUFFER) {
-+#ifdef USE_COOKIE
-+ save_cookies();
-+#endif /* USE_COOKIE */
-+ if (!err_msg->length)
-+ w3m_exit(0);
-+ }
-+ w3m_exit(2);
-+ }
-+ if (err_msg->length)
-+ disp_message_nsec(err_msg->ptr, FALSE, 1, TRUE, FALSE);
-+
-+ SearchHeader = FALSE;
-+ DefaultType = NULL;
-+#ifdef USE_M17N
-+ UseContentCharset = TRUE;
-+ WcOption.auto_detect = auto_detect;
-+#endif
-+
-+ Currentbuf = Firstbuf;
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ if (line_str) {
-+ _goLine(line_str);
-+ }
-+ for (;;) {
-+ if (add_download_list) {
-+ add_download_list = FALSE;
-+ ldDL();
-+ }
-+ if (Currentbuf->submit) {
-+ Anchor *a = Currentbuf->submit;
-+ Currentbuf->submit = NULL;
-+ gotoLine(Currentbuf, a->start.line);
-+ Currentbuf->pos = a->start.pos;
-+ _followForm(TRUE);
-+ continue;
-+ }
-+ /* event processing */
-+ if (CurrentEvent) {
-+ CurrentKey = -1;
-+ CurrentKeyData = NULL;
-+ CurrentCmdData = (char *)CurrentEvent->data;
-+ w3mFuncList[CurrentEvent->cmd].func();
-+ CurrentCmdData = NULL;
-+ CurrentEvent = CurrentEvent->next;
-+ continue;
-+ }
-+ /* get keypress event */
-+#ifdef USE_ALARM
-+ if (Currentbuf->event) {
-+ if (Currentbuf->event->status != AL_UNSET) {
-+ CurrentAlarm = Currentbuf->event;
-+ if (CurrentAlarm->sec == 0) { /* refresh (0sec) */
-+ Currentbuf->event = NULL;
-+ CurrentKey = -1;
-+ CurrentKeyData = NULL;
-+ CurrentCmdData = (char *)CurrentAlarm->data;
-+ w3mFuncList[CurrentAlarm->cmd].func();
-+ CurrentCmdData = NULL;
-+ continue;
-+ }
-+ }
-+ else
-+ Currentbuf->event = NULL;
-+ }
-+ if (!Currentbuf->event)
-+ CurrentAlarm = &DefaultAlarm;
-+#endif
-+#ifdef USE_MOUSE
-+ mouse_action.in_action = FALSE;
-+ if (use_mouse)
-+ mouse_active();
-+#endif /* USE_MOUSE */
-+#ifdef USE_ALARM
-+ if (CurrentAlarm->sec > 0) {
-+ mySignal(SIGALRM, SigAlarm);
-+ alarm(CurrentAlarm->sec);
-+ }
-+#endif
-+#ifdef SIGWINCH
-+ mySignal(SIGWINCH, resize_hook);
-+#endif
-+#ifdef USE_IMAGE
-+ if (activeImage && displayImage && Currentbuf->img &&
-+ !Currentbuf->image_loaded) {
-+ do {
-+#ifdef SIGWINCH
-+ if (need_resize_screen)
-+ resize_screen();
-+#endif
-+ loadImage(Currentbuf, IMG_FLAG_NEXT);
-+ } while (sleep_till_anykey(1, 0) <= 0);
-+ }
-+#ifdef SIGWINCH
-+ else
-+#endif
-+#endif
-+#ifdef SIGWINCH
-+ {
-+ do {
-+ if (need_resize_screen)
-+ resize_screen();
-+ } while (sleep_till_anykey(1, 0) <= 0);
-+ }
-+#endif
-+ c = getch();
-+#ifdef USE_ALARM
-+ if (CurrentAlarm->sec > 0) {
-+ alarm(0);
-+ }
-+#endif
-+#ifdef USE_MOUSE
-+ if (use_mouse)
-+ mouse_inactive();
-+#endif /* USE_MOUSE */
-+ if (IS_ASCII(c)) { /* Ascii */
-+ if( vi_prec_num ){
-+ if(((prec_num && c == '0') || '1' <= c) && (c <= '9')) {
-+ prec_num = prec_num * 10 + (int)(c - '0');
-+ if (prec_num > PREC_LIMIT)
-+ prec_num = PREC_LIMIT;
-+ }
-+ else {
-+ set_buffer_environ(Currentbuf);
-+ save_buffer_position(Currentbuf);
-+ keyPressEventProc((int)c);
-+ prec_num = 0;
-+ }
-+ }
-+ else {
-+ set_buffer_environ(Currentbuf);
-+ save_buffer_position(Currentbuf);
-+ keyPressEventProc((int)c);
-+ prec_num = 0;
-+ }
-+ }
-+ prev_key = CurrentKey;
-+ CurrentKey = -1;
-+ CurrentKeyData = NULL;
-+ }
-+}
-+
-+static void
-+keyPressEventProc(int c)
-+{
-+ CurrentKey = c;
-+ w3mFuncList[(int)GlobalKeymap[c]].func();
-+}
-+
-+void
-+pushEvent(int cmd, void *data)
-+{
-+ Event *event;
-+
-+ event = New(Event);
-+ event->cmd = cmd;
-+ event->data = data;
-+ event->next = NULL;
-+ if (CurrentEvent)
-+ LastEvent->next = event;
-+ else
-+ CurrentEvent = event;
-+ LastEvent = event;
-+}
-+
-+static void
-+dump_source(Buffer *buf)
-+{
-+ FILE *f;
-+ char c;
-+ if (buf->sourcefile == NULL)
-+ return;
-+ f = fopen(buf->sourcefile, "r");
-+ if (f == NULL)
-+ return;
-+ while (c = fgetc(f), !feof(f)) {
-+ putchar(c);
-+ }
-+ fclose(f);
-+}
-+
-+static void
-+dump_head(Buffer *buf)
-+{
-+ TextListItem *ti;
-+
-+ if (buf->document_header == NULL) {
-+ if (w3m_dump & DUMP_EXTRA)
-+ printf("\n");
-+ return;
-+ }
-+ for (ti = buf->document_header->first; ti; ti = ti->next) {
-+#ifdef USE_M17N
-+ printf("%s",
-+ wc_conv_strict(ti->ptr, InnerCharset,
-+ buf->document_charset)->ptr);
-+#else
-+ printf("%s", ti->ptr);
-+#endif
-+ }
-+ puts("");
-+}
-+
-+static void
-+dump_extra(Buffer *buf)
-+{
-+ printf("W3m-current-url: %s\n", parsedURL2Str(&buf->currentURL)->ptr);
-+ if (buf->baseURL)
-+ printf("W3m-base-url: %s\n", parsedURL2Str(buf->baseURL)->ptr);
-+#ifdef USE_M17N
-+ printf("W3m-document-charset: %s\n",
-+ wc_ces_to_charset(buf->document_charset));
-+#endif
-+#ifdef USE_SSL
-+ if (buf->ssl_certificate) {
-+ Str tmp = Strnew();
-+ char *p;
-+ for (p = buf->ssl_certificate; *p; p++) {
-+ Strcat_char(tmp, *p);
-+ if (*p == '\n') {
-+ for (; *(p + 1) == '\n'; p++) ;
-+ if (*(p + 1))
-+ Strcat_char(tmp, '\t');
-+ }
-+ }
-+ if (Strlastchar(tmp) != '\n')
-+ Strcat_char(tmp, '\n');
-+ printf("W3m-ssl-certificate: %s", tmp->ptr);
-+ }
-+#endif
-+}
-+
-+static void
-+do_dump(Buffer *buf)
-+{
-+ MySignalHandler(*volatile prevtrap) (SIGNAL_ARG) = NULL;
-+
-+ prevtrap = mySignal(SIGINT, intTrap);
-+ if (SETJMP(IntReturn) != 0) {
-+ mySignal(SIGINT, prevtrap);
-+ return;
-+ }
-+ if (w3m_dump & DUMP_EXTRA)
-+ dump_extra(buf);
-+ if (w3m_dump & DUMP_HEAD)
-+ dump_head(buf);
-+ if (w3m_dump & DUMP_SOURCE)
-+ dump_source(buf);
-+ if (w3m_dump == DUMP_BUFFER)
-+ saveBuffer(buf, stdout, FALSE);
-+ mySignal(SIGINT, prevtrap);
-+}
-+
-+DEFUN(nulcmd, NOTHING NULL @@@, "Do nothing")
-+{ /* do nothing */
-+}
-+
-+#ifdef __EMX__
-+DEFUN(pcmap, PCMAP, "pcmap")
-+{
-+ w3mFuncList[(int)PcKeymap[(int)getch()]].func();
-+}
-+#else /* not __EMX__ */
-+void
-+pcmap(void)
-+{
-+}
-+#endif
-+
-+static void
-+escKeyProc(int c, int esc, unsigned char *map)
-+{
-+ if (CurrentKey >= 0 && CurrentKey & K_MULTI) {
-+ unsigned char **mmap;
-+ mmap = (unsigned char **)getKeyData(MULTI_KEY(CurrentKey));
-+ if (!mmap)
-+ return;
-+ switch (esc) {
-+ case K_ESCD:
-+ map = mmap[3];
-+ break;
-+ case K_ESCB:
-+ map = mmap[2];
-+ break;
-+ case K_ESC:
-+ map = mmap[1];
-+ break;
-+ default:
-+ map = mmap[0];
-+ break;
-+ }
-+ esc |= (CurrentKey & ~0xFFFF);
-+ }
-+ CurrentKey = esc | c;
-+ w3mFuncList[(int)map[c]].func();
-+}
-+
-+DEFUN(escmap, ESCMAP, "ESC map")
-+{
-+ char c;
-+ c = getch();
-+ if (IS_ASCII(c))
-+ escKeyProc((int)c, K_ESC, EscKeymap);
-+}
-+
-+DEFUN(escbmap, ESCBMAP, "ESC [ map")
-+{
-+ char c;
-+ c = getch();
-+ if (IS_DIGIT(c)) {
-+ escdmap(c);
-+ return;
-+ }
-+ if (IS_ASCII(c))
-+ escKeyProc((int)c, K_ESCB, EscBKeymap);
-+}
-+
-+void
-+escdmap(char c)
-+{
-+ int d;
-+ d = (int)c - (int)'0';
-+ c = getch();
-+ if (IS_DIGIT(c)) {
-+ d = d * 10 + (int)c - (int)'0';
-+ c = getch();
-+ }
-+ if (c == '~')
-+ escKeyProc((int)d, K_ESCD, EscDKeymap);
-+}
-+
-+DEFUN(multimap, MULTIMAP, "multimap")
-+{
-+ char c;
-+ c = getch();
-+ if (IS_ASCII(c)) {
-+ CurrentKey = K_MULTI | (CurrentKey << 16) | c;
-+ escKeyProc((int)c, 0, NULL);
-+ }
-+}
-+
-+void
-+tmpClearBuffer(Buffer *buf)
-+{
-+ if (buf->pagerSource == NULL && writeBufferCache(buf) == 0) {
-+ buf->firstLine = NULL;
-+ buf->topLine = NULL;
-+ buf->currentLine = NULL;
-+ buf->lastLine = NULL;
-+ }
-+}
-+
-+static Str currentURL(void);
-+
-+#ifdef USE_BUFINFO
-+void
-+saveBufferInfo()
-+{
-+ FILE *fp;
-+
-+ if (w3m_dump)
-+ return;
-+ if ((fp = fopen(rcFile("bufinfo"), "w")) == NULL) {
-+ return;
-+ }
-+ fprintf(fp, "%s\n", currentURL()->ptr);
-+ fclose(fp);
-+}
-+#endif
-+
-+static void
-+pushBuffer(Buffer *buf)
-+{
-+ Buffer *b;
-+
-+#ifdef USE_IMAGE
-+ deleteImage(Currentbuf);
-+#endif
-+ if (clear_buffer)
-+ tmpClearBuffer(Currentbuf);
-+ if (Firstbuf == Currentbuf) {
-+ buf->nextBuffer = Firstbuf;
-+ Firstbuf = Currentbuf = buf;
-+ }
-+ else if ((b = prevBuffer(Firstbuf, Currentbuf)) != NULL) {
-+ b->nextBuffer = buf;
-+ buf->nextBuffer = Currentbuf;
-+ Currentbuf = buf;
-+ }
-+#ifdef USE_BUFINFO
-+ saveBufferInfo();
-+#endif
-+
-+}
-+
-+static void
-+delBuffer(Buffer *buf)
-+{
-+ if (buf == NULL)
-+ return;
-+ if (Currentbuf == buf)
-+ Currentbuf = buf->nextBuffer;
-+ Firstbuf = deleteBuffer(Firstbuf, buf);
-+ if (!Currentbuf)
-+ Currentbuf = Firstbuf;
-+}
-+
-+static void
-+repBuffer(Buffer *oldbuf, Buffer *buf)
-+{
-+ Firstbuf = replaceBuffer(Firstbuf, oldbuf, buf);
-+ Currentbuf = buf;
-+}
-+
-+
-+MySignalHandler
-+intTrap(SIGNAL_ARG)
-+{ /* Interrupt catcher */
-+ LONGJMP(IntReturn, 0);
-+ SIGNAL_RETURN;
-+}
-+
-+#ifdef SIGWINCH
-+static MySignalHandler
-+resize_hook(SIGNAL_ARG)
-+{
-+ need_resize_screen = TRUE;
-+ mySignal(SIGWINCH, resize_hook);
-+ SIGNAL_RETURN;
-+}
-+
-+static void
-+resize_screen(void)
-+{
-+ need_resize_screen = FALSE;
-+ setlinescols();
-+ setupscreen();
-+ if (CurrentTab)
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+#endif /* SIGWINCH */
-+
-+#ifdef SIGPIPE
-+static MySignalHandler
-+SigPipe(SIGNAL_ARG)
-+{
-+#ifdef USE_MIGEMO
-+ init_migemo();
-+#endif
-+ mySignal(SIGPIPE, SigPipe);
-+ SIGNAL_RETURN;
-+}
-+#endif
-+
-+/*
-+ * Command functions: These functions are called with a keystroke.
-+ */
-+
-+static void
-+nscroll(int n, int mode)
-+{
-+ Buffer *buf = Currentbuf;
-+ Line *top = buf->topLine, *cur = buf->currentLine;
-+ int lnum, tlnum, llnum, diff_n;
-+
-+ if (buf->firstLine == NULL)
-+ return;
-+ lnum = cur->linenumber;
-+ buf->topLine = lineSkip(buf, top, n, FALSE);
-+ if (buf->topLine == top) {
-+ lnum += n;
-+ if (lnum < buf->topLine->linenumber)
-+ lnum = buf->topLine->linenumber;
-+ else if (lnum > buf->lastLine->linenumber)
-+ lnum = buf->lastLine->linenumber;
-+ }
-+ else {
-+ tlnum = buf->topLine->linenumber;
-+ llnum = buf->topLine->linenumber + buf->LINES - 1;
-+ if (nextpage_topline)
-+ diff_n = 0;
-+ else
-+ diff_n = n - (tlnum - top->linenumber);
-+ if (lnum < tlnum)
-+ lnum = tlnum + diff_n;
-+ if (lnum > llnum)
-+ lnum = llnum + diff_n;
-+ }
-+ gotoLine(buf, lnum);
-+ arrangeLine(buf);
-+ if (n > 0) {
-+ if (buf->currentLine->bpos &&
-+ buf->currentLine->bwidth >= buf->currentColumn + buf->visualpos)
-+ cursorDown(buf, 1);
-+ else {
-+ while (buf->currentLine->next && buf->currentLine->next->bpos &&
-+ buf->currentLine->bwidth + buf->currentLine->width <
-+ buf->currentColumn + buf->visualpos)
-+ cursorDown0(buf, 1);
-+ }
-+ }
-+ else {
-+ if (buf->currentLine->bwidth + buf->currentLine->width <
-+ buf->currentColumn + buf->visualpos)
-+ cursorUp(buf, 1);
-+ else {
-+ while (buf->currentLine->prev && buf->currentLine->bpos &&
-+ buf->currentLine->bwidth >=
-+ buf->currentColumn + buf->visualpos)
-+ cursorUp0(buf, 1);
-+ }
-+ }
-+ displayBuffer(buf, mode);
-+}
-+
-+/* Move page forward */
-+DEFUN(pgFore, NEXT_PAGE, "Move to next page")
-+{
-+ if (vi_prec_num)
-+ nscroll(searchKeyNum() * (Currentbuf->LINES - 1), B_NORMAL);
-+ else
-+ nscroll(prec_num ? searchKeyNum() : searchKeyNum()
-+ * (Currentbuf->LINES - 1), prec_num ? B_SCROLL : B_NORMAL);
-+}
-+
-+/* Move page backward */
-+DEFUN(pgBack, PREV_PAGE, "Move to previous page")
-+{
-+ if (vi_prec_num)
-+ nscroll(-searchKeyNum() * (Currentbuf->LINES - 1), B_NORMAL);
-+ else
-+ nscroll(-(prec_num ? searchKeyNum() : searchKeyNum()
-+ * (Currentbuf->LINES - 1)), prec_num ? B_SCROLL : B_NORMAL);
-+}
-+
-+/* 1 line up */
-+DEFUN(lup1, UP, "Scroll up one line")
-+{
-+ nscroll(searchKeyNum(), B_SCROLL);
-+}
-+
-+/* 1 line down */
-+DEFUN(ldown1, DOWN, "Scroll down one line")
-+{
-+ nscroll(-searchKeyNum(), B_SCROLL);
-+}
-+
-+/* move cursor position to the center of screen */
-+DEFUN(ctrCsrV, CENTER_V, "Move to the center column")
-+{
-+ int offsety;
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ offsety = Currentbuf->LINES / 2 - Currentbuf->cursorY;
-+ if (offsety != 0) {
-+#if 0
-+ Currentbuf->currentLine = lineSkip(Currentbuf,
-+ Currentbuf->currentLine, offsety,
-+ FALSE);
-+#endif
-+ Currentbuf->topLine =
-+ lineSkip(Currentbuf, Currentbuf->topLine, -offsety, FALSE);
-+ arrangeLine(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ }
-+}
-+
-+DEFUN(ctrCsrH, CENTER_H, "Move to the center line")
-+{
-+ int offsetx;
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ offsetx = Currentbuf->cursorX - Currentbuf->COLS / 2;
-+ if (offsetx != 0) {
-+ columnSkip(Currentbuf, offsetx);
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ }
-+}
-+
-+/* Redraw screen */
-+DEFUN(rdrwSc, REDRAW, "Redraw screen")
-+{
-+ clear();
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+static void
-+clear_mark(Line *l)
-+{
-+ int pos;
-+ if (!l)
-+ return;
-+ for (pos = 0; pos < l->size; pos++)
-+ l->propBuf[pos] &= ~PE_MARK;
-+}
-+
-+/* search by regular expression */
-+static int
-+srchcore(char *volatile str, int (*func) (Buffer *, char *))
-+{
-+ MySignalHandler(*prevtrap) ();
-+ volatile int i, result = SR_NOTFOUND;
-+
-+ if (str != NULL && str != SearchString)
-+ SearchString = str;
-+ if (SearchString == NULL || *SearchString == '\0')
-+ return SR_NOTFOUND;
-+
-+ str = conv_search_string(SearchString, DisplayCharset);
-+ prevtrap = mySignal(SIGINT, intTrap);
-+ crmode();
-+ if (SETJMP(IntReturn) == 0) {
-+ for (i = 0; i < PREC_NUM; i++) {
-+ result = func(Currentbuf, str);
-+ if (i < PREC_NUM - 1 && result & SR_FOUND)
-+ clear_mark(Currentbuf->currentLine);
-+ }
-+ }
-+ mySignal(SIGINT, prevtrap);
-+ term_raw();
-+ return result;
-+}
-+
-+static void
-+disp_srchresult(int result, char *prompt, char *str)
-+{
-+ if (str == NULL)
-+ str = "";
-+ if (result & SR_NOTFOUND)
-+ disp_message(Sprintf("Not found: %s", str)->ptr, TRUE);
-+ else if (result & SR_WRAPPED)
-+ disp_message(Sprintf("Search wrapped: %s", str)->ptr, TRUE);
-+ else if (show_srch_str)
-+ disp_message(Sprintf("%s%s", prompt, str)->ptr, TRUE);
-+}
-+
-+static int
-+dispincsrch(int ch, Str buf, Lineprop *prop)
-+{
-+ static Buffer sbuf;
-+ static Line *currentLine;
-+ static int pos;
-+ char *str;
-+ int do_next_search = FALSE;
-+
-+ if (ch == 0 && buf == NULL) {
-+ SAVE_BUFPOSITION(&sbuf); /* search starting point */
-+ currentLine = sbuf.currentLine;
-+ pos = sbuf.pos;
-+ return -1;
-+ }
-+
-+ str = buf->ptr;
-+ switch (ch) {
-+ case 022: /* C-r */
-+ searchRoutine = backwardSearch;
-+ do_next_search = TRUE;
-+ break;
-+ case 023: /* C-s */
-+ searchRoutine = forwardSearch;
-+ do_next_search = TRUE;
-+ break;
-+
-+#ifdef USE_MIGEMO
-+ case 034:
-+ migemo_active = -migemo_active;
-+ goto done;
-+#endif
-+
-+ default:
-+ if (ch >= 0)
-+ return ch; /* use InputKeymap */
-+ }
-+
-+ if (do_next_search) {
-+ if (*str) {
-+ if (searchRoutine == forwardSearch)
-+ Currentbuf->pos += 1;
-+ SAVE_BUFPOSITION(&sbuf);
-+ if (srchcore(str, searchRoutine) == SR_NOTFOUND
-+ && searchRoutine == forwardSearch) {
-+ Currentbuf->pos -= 1;
-+ SAVE_BUFPOSITION(&sbuf);
-+ }
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ clear_mark(Currentbuf->currentLine);
-+ return -1;
-+ }
-+ else
-+ return 020; /* _prev completion for C-s C-s */
-+ }
-+ else if (*str) {
-+ RESTORE_BUFPOSITION(&sbuf);
-+ arrangeCursor(Currentbuf);
-+ srchcore(str, searchRoutine);
-+ arrangeCursor(Currentbuf);
-+ currentLine = Currentbuf->currentLine;
-+ pos = Currentbuf->pos;
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ clear_mark(Currentbuf->currentLine);
-+#ifdef USE_MIGEMO
-+ done:
-+ while (*str++ != '\0') {
-+ if (migemo_active > 0)
-+ *prop++ |= PE_UNDER;
-+ else
-+ *prop++ &= ~PE_UNDER;
-+ }
-+#endif
-+ return -1;
-+}
-+
-+void
-+isrch(int (*func) (Buffer *, char *), char *prompt)
-+{
-+ char *str;
-+ Buffer sbuf;
-+ SAVE_BUFPOSITION(&sbuf);
-+ dispincsrch(0, NULL, NULL); /* initialize incremental search state */
-+
-+ searchRoutine = func;
-+ str = inputLineHistSearch(prompt, NULL, IN_STRING, TextHist, dispincsrch);
-+ if (str == NULL) {
-+ RESTORE_BUFPOSITION(&sbuf);
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+void
-+srch(int (*func) (Buffer *, char *), char *prompt)
-+{
-+ char *str;
-+ int result;
-+ int disp = FALSE;
-+ int pos;
-+
-+ str = searchKeyData();
-+ if (str == NULL || *str == '\0') {
-+ str = inputStrHist(prompt, NULL, TextHist);
-+ if (str != NULL && *str == '\0')
-+ str = SearchString;
-+ if (str == NULL) {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ disp = TRUE;
-+ }
-+ pos = Currentbuf->pos;
-+ if (func == forwardSearch)
-+ Currentbuf->pos += 1;
-+ result = srchcore(str, func);
-+ if (result & SR_FOUND)
-+ clear_mark(Currentbuf->currentLine);
-+ else
-+ Currentbuf->pos = pos;
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ if (disp)
-+ disp_srchresult(result, prompt, str);
-+ searchRoutine = func;
-+}
-+
-+/* Search regular expression forward */
-+
-+DEFUN(srchfor, SEARCH SEARCH_FORE WHEREIS, "Search forward")
-+{
-+ srch(forwardSearch, "Forward: ");
-+}
-+
-+DEFUN(isrchfor, ISEARCH, "Incremental search forward")
-+{
-+ isrch(forwardSearch, "I-search: ");
-+}
-+
-+/* Search regular expression backward */
-+
-+DEFUN(srchbak, SEARCH_BACK, "Search backward")
-+{
-+ srch(backwardSearch, "Backward: ");
-+}
-+
-+DEFUN(isrchbak, ISEARCH_BACK, "Incremental search backward")
-+{
-+ isrch(backwardSearch, "I-search backward: ");
-+}
-+
-+static void
-+srch_nxtprv(int reverse)
-+{
-+ int result;
-+ /* *INDENT-OFF* */
-+ static int (*routine[2]) (Buffer *, char *) = {
-+ forwardSearch, backwardSearch
-+ };
-+ /* *INDENT-ON* */
-+
-+ if (searchRoutine == NULL) {
-+ /* FIXME: gettextize? */
-+ disp_message("No previous regular expression", TRUE);
-+ return;
-+ }
-+ if (reverse != 0)
-+ reverse = 1;
-+ if (searchRoutine == backwardSearch)
-+ reverse ^= 1;
-+ if (reverse == 0)
-+ Currentbuf->pos += 1;
-+ result = srchcore(SearchString, routine[reverse]);
-+ if (result & SR_FOUND)
-+ clear_mark(Currentbuf->currentLine);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ disp_srchresult(result, (reverse ? "Backward: " : "Forward: "),
-+ SearchString);
-+}
-+
-+/* Search next matching */
-+DEFUN(srchnxt, SEARCH_NEXT, "Search next regexp")
-+{
-+ srch_nxtprv(0);
-+}
-+
-+/* Search previous matching */
-+DEFUN(srchprv, SEARCH_PREV, "Search previous regexp")
-+{
-+ srch_nxtprv(1);
-+}
-+
-+static void
-+shiftvisualpos(Buffer *buf, int shift)
-+{
-+ Line *l = buf->currentLine;
-+ buf->visualpos -= shift;
-+ if (buf->visualpos - l->bwidth >= buf->COLS)
-+ buf->visualpos = l->bwidth + buf->COLS - 1;
-+ else if (buf->visualpos - l->bwidth < 0)
-+ buf->visualpos = l->bwidth;
-+ arrangeLine(buf);
-+ if (buf->visualpos - l->bwidth == -shift && buf->cursorX == 0)
-+ buf->visualpos = l->bwidth;
-+}
-+
-+/* Shift screen left */
-+DEFUN(shiftl, SHIFT_LEFT, "Shift screen left")
-+{
-+ int column;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ column = Currentbuf->currentColumn;
-+ columnSkip(Currentbuf, searchKeyNum() * (-Currentbuf->COLS + 1) + 1);
-+ shiftvisualpos(Currentbuf, Currentbuf->currentColumn - column);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* Shift screen right */
-+DEFUN(shiftr, SHIFT_RIGHT, "Shift screen right")
-+{
-+ int column;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ column = Currentbuf->currentColumn;
-+ columnSkip(Currentbuf, searchKeyNum() * (Currentbuf->COLS - 1) - 1);
-+ shiftvisualpos(Currentbuf, Currentbuf->currentColumn - column);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+DEFUN(col1R, RIGHT, "Shift screen one column right")
-+{
-+ Buffer *buf = Currentbuf;
-+ Line *l = buf->currentLine;
-+ int j, column, n = searchKeyNum();
-+
-+ if (l == NULL)
-+ return;
-+ for (j = 0; j < n; j++) {
-+ column = buf->currentColumn;
-+ columnSkip(Currentbuf, 1);
-+ if (column == buf->currentColumn)
-+ break;
-+ shiftvisualpos(Currentbuf, 1);
-+ }
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+DEFUN(col1L, LEFT, "Shift screen one column")
-+{
-+ Buffer *buf = Currentbuf;
-+ Line *l = buf->currentLine;
-+ int j, n = searchKeyNum();
-+
-+ if (l == NULL)
-+ return;
-+ for (j = 0; j < n; j++) {
-+ if (buf->currentColumn == 0)
-+ break;
-+ columnSkip(Currentbuf, -1);
-+ shiftvisualpos(Currentbuf, -1);
-+ }
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+DEFUN(setEnv, SETENV, "Set environment variable")
-+{
-+ char *env;
-+ char *var, *value;
-+
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ env = searchKeyData();
-+ if (env == NULL || *env == '\0' || strchr(env, '=') == NULL) {
-+ if (env != NULL && *env != '\0')
-+ env = Sprintf("%s=", env)->ptr;
-+ env = inputStrHist("Set environ: ", env, TextHist);
-+ if (env == NULL || *env == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ }
-+ if ((value = strchr(env, '=')) != NULL && value > env) {
-+ var = allocStr(env, value - env);
-+ value++;
-+ set_environ(var, value);
-+ }
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+DEFUN(pipeBuf, PIPE_BUF, "Send rendered document to pipe")
-+{
-+ Buffer *buf;
-+ char *cmd, *tmpf;
-+ FILE *f;
-+
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ cmd = searchKeyData();
-+ if (cmd == NULL || *cmd == '\0') {
-+ /* FIXME: gettextize? */
-+ cmd = inputLineHist("Pipe buffer to: ", "", IN_COMMAND, ShellHist);
-+ }
-+ if (cmd != NULL)
-+ cmd = conv_to_system(cmd);
-+ if (cmd == NULL || *cmd == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ tmpf = tmpfname(TMPF_DFL, NULL)->ptr;
-+ f = fopen(tmpf, "w");
-+ if (f == NULL) {
-+ /* FIXME: gettextize? */
-+ disp_message(Sprintf("Can't save buffer to %s", cmd)->ptr, TRUE);
-+ return;
-+ }
-+ saveBuffer(Currentbuf, f, TRUE);
-+ fclose(f);
-+ buf = getpipe(myExtCommand(cmd, shell_quote(tmpf), TRUE)->ptr);
-+ if (buf == NULL) {
-+ disp_message("Execution failed", TRUE);
-+ return;
-+ }
-+ else {
-+ buf->filename = cmd;
-+ buf->buffername = Sprintf("%s %s", PIPEBUFFERNAME,
-+ conv_from_system(cmd))->ptr;
-+ buf->bufferprop |= (BP_INTERNAL | BP_NO_URL);
-+ if (buf->type == NULL)
-+ buf->type = "text/plain";
-+ buf->currentURL.file = "-";
-+ pushBuffer(buf);
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* Execute shell command and read output ac pipe. */
-+DEFUN(pipesh, PIPE_SHELL, "Execute shell command and browse")
-+{
-+ Buffer *buf;
-+ char *cmd;
-+
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ cmd = searchKeyData();
-+ if (cmd == NULL || *cmd == '\0') {
-+ cmd = inputLineHist("(read shell[pipe])!", "", IN_COMMAND, ShellHist);
-+ }
-+ if (cmd != NULL)
-+ cmd = conv_to_system(cmd);
-+ if (cmd == NULL || *cmd == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ buf = getpipe(cmd);
-+ if (buf == NULL) {
-+ disp_message("Execution failed", TRUE);
-+ return;
-+ }
-+ else {
-+ buf->bufferprop |= (BP_INTERNAL | BP_NO_URL);
-+ if (buf->type == NULL)
-+ buf->type = "text/plain";
-+ pushBuffer(buf);
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* Execute shell command and load entire output to buffer */
-+DEFUN(readsh, READ_SHELL, "Execute shell command and load")
-+{
-+ Buffer *buf;
-+ MySignalHandler(*prevtrap) ();
-+ char *cmd;
-+
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ cmd = searchKeyData();
-+ if (cmd == NULL || *cmd == '\0') {
-+ cmd = inputLineHist("(read shell)!", "", IN_COMMAND, ShellHist);
-+ }
-+ if (cmd != NULL)
-+ cmd = conv_to_system(cmd);
-+ if (cmd == NULL || *cmd == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ prevtrap = mySignal(SIGINT, intTrap);
-+ crmode();
-+ buf = getshell(cmd);
-+ mySignal(SIGINT, prevtrap);
-+ term_raw();
-+ if (buf == NULL) {
-+ /* FIXME: gettextize? */
-+ disp_message("Execution failed", TRUE);
-+ return;
-+ }
-+ else {
-+ buf->bufferprop |= (BP_INTERNAL | BP_NO_URL);
-+ if (buf->type == NULL)
-+ buf->type = "text/plain";
-+ pushBuffer(buf);
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* Execute shell command */
-+DEFUN(execsh, EXEC_SHELL SHELL, "Execute shell command")
-+{
-+ char *cmd;
-+
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ cmd = searchKeyData();
-+ if (cmd == NULL || *cmd == '\0') {
-+ cmd = inputLineHist("(exec shell)!", "", IN_COMMAND, ShellHist);
-+ }
-+ if (cmd != NULL)
-+ cmd = conv_to_system(cmd);
-+ if (cmd != NULL && *cmd != '\0') {
-+ fmTerm();
-+ printf("\n");
-+ system(cmd);
-+ /* FIXME: gettextize? */
-+ printf("\n[Hit any key]");
-+ fflush(stdout);
-+ fmInit();
-+ getch();
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* Load file */
-+DEFUN(ldfile, LOAD, "Load local file")
-+{
-+ char *fn;
-+
-+ fn = searchKeyData();
-+ if (fn == NULL || *fn == '\0') {
-+ /* FIXME: gettextize? */
-+ fn = inputFilenameHist("(Load)Filename? ", NULL, LoadHist);
-+ }
-+ if (fn != NULL)
-+ fn = conv_to_system(fn);
-+ if (fn == NULL || *fn == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ cmd_loadfile(fn);
-+}
-+
-+/* Load help file */
-+DEFUN(ldhelp, HELP, "View help")
-+{
-+#ifdef USE_HELP_CGI
-+ char *lang;
-+ int n;
-+ Str tmp;
-+
-+ lang = AcceptLang;
-+ n = strcspn(lang, ";, \t");
-+ tmp = Sprintf("file:///$LIB/" HELP_CGI CGI_EXTENSION "?version=%s&lang=%s",
-+ Str_form_quote(Strnew_charp(w3m_version))->ptr,
-+ Str_form_quote(Strnew_charp_n(lang, n))->ptr);
-+ cmd_loadURL(tmp->ptr, NULL, NO_REFERER, NULL);
-+#else
-+ cmd_loadURL(helpFile(HELP_FILE), NULL, NO_REFERER, NULL);
-+#endif
-+}
-+
-+static void
-+cmd_loadfile(char *fn)
-+{
-+ Buffer *buf;
-+
-+ buf = loadGeneralFile(file_to_url(fn), NULL, NO_REFERER, 0, NULL);
-+ if (buf == NULL) {
-+ /* FIXME: gettextize? */
-+ char *emsg = Sprintf("%s not found", conv_from_system(fn))->ptr;
-+ disp_err_message(emsg, FALSE);
-+ }
-+ else if (buf != NO_BUFFER) {
-+ pushBuffer(buf);
-+ if (RenderFrame && Currentbuf->frameset != NULL)
-+ rFrame();
-+ }
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* Move cursor left */
-+static void
-+_movL(int n)
-+{
-+ int i, m = searchKeyNum();
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ for (i = 0; i < m; i++)
-+ cursorLeft(Currentbuf, n);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+DEFUN(movL, MOVE_LEFT,
-+ "Move cursor left (a half screen shift at the left edge)")
-+{
-+ _movL(Currentbuf->COLS / 2);
-+}
-+
-+DEFUN(movL1, MOVE_LEFT1, "Move cursor left (1 columns shift at the left edge)")
-+{
-+ _movL(1);
-+}
-+
-+/* Move cursor downward */
-+static void
-+_movD(int n)
-+{
-+ int i, m = searchKeyNum();
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ for (i = 0; i < m; i++)
-+ cursorDown(Currentbuf, n);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+DEFUN(movD, MOVE_DOWN,
-+ "Move cursor down (a half screen scroll at the end of screen)")
-+{
-+ _movD((Currentbuf->LINES + 1) / 2);
-+}
-+
-+DEFUN(movD1, MOVE_DOWN1,
-+ "Move cursor down (1 line scroll at the end of screen)")
-+{
-+ _movD(1);
-+}
-+
-+/* move cursor upward */
-+static void
-+_movU(int n)
-+{
-+ int i, m = searchKeyNum();
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ for (i = 0; i < m; i++)
-+ cursorUp(Currentbuf, n);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+DEFUN(movU, MOVE_UP,
-+ "Move cursor up (a half screen scroll at the top of screen)")
-+{
-+ _movU((Currentbuf->LINES + 1) / 2);
-+}
-+
-+DEFUN(movU1, MOVE_UP1, "Move cursor up (1 line scrol at the top of screen)")
-+{
-+ _movU(1);
-+}
-+
-+/* Move cursor right */
-+static void
-+_movR(int n)
-+{
-+ int i, m = searchKeyNum();
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ for (i = 0; i < m; i++)
-+ cursorRight(Currentbuf, n);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+DEFUN(movR, MOVE_RIGHT,
-+ "Move cursor right (a half screen shift at the right edge)")
-+{
-+ _movR(Currentbuf->COLS / 2);
-+}
-+
-+DEFUN(movR1, MOVE_RIGHT1,
-+ "Move cursor right (1 columns shift at the right edge)")
-+{
-+ _movR(1);
-+}
-+
-+/* movLW, movRW */
-+/*
-+ * From: Takashi Nishimoto <g96p0935@mse.waseda.ac.jp> Date: Mon, 14 Jun
-+ * 1999 09:29:56 +0900
-+ */
-+#define IS_WORD_CHAR(c,p) (IS_ALNUM(c) && CharType(p) == PC_ASCII)
-+
-+static int
-+prev_nonnull_line(Line *line)
-+{
-+ Line *l;
-+
-+ for (l = line; l != NULL && l->len == 0; l = l->prev) ;
-+ if (l == NULL || l->len == 0)
-+ return -1;
-+
-+ Currentbuf->currentLine = l;
-+ if (l != line)
-+ Currentbuf->pos = Currentbuf->currentLine->len;
-+ return 0;
-+}
-+
-+DEFUN(movLW, PREV_WORD, "Move to previous word")
-+{
-+ char *lb;
-+ Lineprop *pb;
-+ Line *pline;
-+ int ppos;
-+ int i, n = searchKeyNum();
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+
-+ for (i = 0; i < n; i++) {
-+ pline = Currentbuf->currentLine;
-+ ppos = Currentbuf->pos;
-+
-+ if (prev_nonnull_line(Currentbuf->currentLine) < 0)
-+ goto end;
-+
-+ while (1) {
-+ lb = Currentbuf->currentLine->lineBuf;
-+ pb = Currentbuf->currentLine->propBuf;
-+ while (Currentbuf->pos > 0 &&
-+ !IS_WORD_CHAR(lb[Currentbuf->pos - 1],
-+ pb[Currentbuf->pos - 1])) {
-+ Currentbuf->pos--;
-+ }
-+ if (Currentbuf->pos > 0)
-+ break;
-+ if (prev_nonnull_line(Currentbuf->currentLine->prev) < 0) {
-+ Currentbuf->currentLine = pline;
-+ Currentbuf->pos = ppos;
-+ goto end;
-+ }
-+ Currentbuf->pos = Currentbuf->currentLine->len;
-+ }
-+
-+ lb = Currentbuf->currentLine->lineBuf;
-+ pb = Currentbuf->currentLine->propBuf;
-+ while (Currentbuf->pos > 0 &&
-+ IS_WORD_CHAR(lb[Currentbuf->pos - 1],
-+ pb[Currentbuf->pos - 1])) {
-+ Currentbuf->pos--;
-+ }
-+ }
-+ end:
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+static int
-+next_nonnull_line(Line *line)
-+{
-+ Line *l;
-+
-+ for (l = line; l != NULL && l->len == 0; l = l->next) ;
-+
-+ if (l == NULL || l->len == 0)
-+ return -1;
-+
-+ Currentbuf->currentLine = l;
-+ if (l != line)
-+ Currentbuf->pos = 0;
-+ return 0;
-+}
-+
-+DEFUN(movRW, NEXT_WORD, "Move to next word")
-+{
-+ char *lb;
-+ Lineprop *pb;
-+ Line *pline;
-+ int ppos;
-+ int i, n = searchKeyNum();
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+
-+ for (i = 0; i < n; i++) {
-+ pline = Currentbuf->currentLine;
-+ ppos = Currentbuf->pos;
-+
-+ if (next_nonnull_line(Currentbuf->currentLine) < 0)
-+ goto end;
-+
-+ lb = Currentbuf->currentLine->lineBuf;
-+ pb = Currentbuf->currentLine->propBuf;
-+
-+ while (lb[Currentbuf->pos] &&
-+ IS_WORD_CHAR(lb[Currentbuf->pos], pb[Currentbuf->pos]))
-+ Currentbuf->pos++;
-+
-+ while (1) {
-+ while (lb[Currentbuf->pos] &&
-+ !IS_WORD_CHAR(lb[Currentbuf->pos], pb[Currentbuf->pos]))
-+ Currentbuf->pos++;
-+ if (lb[Currentbuf->pos])
-+ break;
-+ if (next_nonnull_line(Currentbuf->currentLine->next) < 0) {
-+ Currentbuf->currentLine = pline;
-+ Currentbuf->pos = ppos;
-+ goto end;
-+ }
-+ Currentbuf->pos = 0;
-+ lb = Currentbuf->currentLine->lineBuf;
-+ pb = Currentbuf->currentLine->propBuf;
-+ }
-+ }
-+ end:
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+static void
-+_quitfm(int confirm)
-+{
-+ char *ans = "y";
-+
-+ if (checkDownloadList())
-+ /* FIXME: gettextize? */
-+ ans = inputChar("Download process retains. "
-+ "Do you want to exit w3m? (y/n)");
-+ else if (confirm)
-+ /* FIXME: gettextize? */
-+ ans = inputChar("Do you want to exit w3m? (y/n)");
-+ if (!(ans && TOLOWER(*ans) == 'y')) {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+
-+ term_title(""); /* XXX */
-+#ifdef USE_IMAGE
-+ if (activeImage)
-+ termImage();
-+#endif
-+ fmTerm();
-+#ifdef USE_COOKIE
-+ save_cookies();
-+#endif /* USE_COOKIE */
-+#ifdef USE_HISTORY
-+ if (UseHistory && SaveURLHist)
-+ saveHistory(URLHist, URLHistSize);
-+#endif /* USE_HISTORY */
-+ w3m_exit(0);
-+}
-+
-+/* Quit */
-+DEFUN(quitfm, ABORT EXIT, "Quit w3m without confirmation")
-+{
-+ _quitfm(FALSE);
-+}
-+
-+/* Question and Quit */
-+DEFUN(qquitfm, QUIT, "Quit w3m")
-+{
-+ _quitfm(confirm_on_quit);
-+}
-+
-+/* Select buffer */
-+DEFUN(selBuf, SELECT, "Go to buffer selection panel")
-+{
-+ Buffer *buf;
-+ int ok;
-+ char cmd;
-+
-+ ok = FALSE;
-+ do {
-+ buf = selectBuffer(Firstbuf, Currentbuf, &cmd);
-+ switch (cmd) {
-+ case 'B':
-+ ok = TRUE;
-+ break;
-+ case '\n':
-+ case ' ':
-+ Currentbuf = buf;
-+ ok = TRUE;
-+ break;
-+ case 'D':
-+ delBuffer(buf);
-+ if (Firstbuf == NULL) {
-+ /* No more buffer */
-+ Firstbuf = nullBuffer();
-+ Currentbuf = Firstbuf;
-+ }
-+ break;
-+ case 'q':
-+ qquitfm();
-+ break;
-+ case 'Q':
-+ quitfm();
-+ break;
-+ }
-+ } while (!ok);
-+
-+ for (buf = Firstbuf; buf != NULL; buf = buf->nextBuffer) {
-+ if (buf == Currentbuf)
-+ continue;
-+#ifdef USE_IMAGE
-+ deleteImage(buf);
-+#endif
-+ if (clear_buffer)
-+ tmpClearBuffer(buf);
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* Suspend (on BSD), or run interactive shell (on SysV) */
-+DEFUN(susp, INTERRUPT SUSPEND, "Stop loading document")
-+{
-+#ifndef SIGSTOP
-+ char *shell;
-+#endif /* not SIGSTOP */
-+ move(LASTLINE, 0);
-+ clrtoeolx();
-+ refresh();
-+ fmTerm();
-+#ifndef SIGSTOP
-+ shell = getenv("SHELL");
-+ if (shell == NULL)
-+ shell = "/bin/sh";
-+ system(shell);
-+#else /* SIGSTOP */
-+ kill((pid_t) 0, SIGSTOP);
-+#endif /* SIGSTOP */
-+ fmInit();
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* Go to specified line */
-+static void
-+_goLine(char *l)
-+{
-+ if (l == NULL || *l == '\0' || Currentbuf->currentLine == NULL) {
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ return;
-+ }
-+ Currentbuf->pos = 0;
-+ if (((*l == '^') || (*l == '$')) && prec_num) {
-+ gotoRealLine(Currentbuf, prec_num);
-+ }
-+ else if (*l == '^') {
-+ Currentbuf->topLine = Currentbuf->currentLine = Currentbuf->firstLine;
-+ }
-+ else if (*l == '$') {
-+ Currentbuf->topLine =
-+ lineSkip(Currentbuf, Currentbuf->lastLine,
-+ -(Currentbuf->LINES + 1) / 2, TRUE);
-+ Currentbuf->currentLine = Currentbuf->lastLine;
-+ }
-+ else
-+ gotoRealLine(Currentbuf, atoi(l));
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+DEFUN(goLine, GOTO_LINE, "Go to specified line")
-+{
-+
-+ char *str = searchKeyData();
-+ if (prec_num)
-+ _goLine("^");
-+ else if (str)
-+ _goLine(str);
-+ else
-+ /* FIXME: gettextize? */
-+ _goLine(inputStr("Goto line: ", ""));
-+}
-+
-+
-+DEFUN(goLineF, BEGIN, "Go to the first line")
-+{
-+ _goLine("^");
-+}
-+
-+DEFUN(goLineL, END, "Go to the last line")
-+{
-+ _goLine("$");
-+}
-+
-+/* Go to the beginning of the line */
-+DEFUN(linbeg, LINE_BEGIN, "Go to the beginning of line")
-+{
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ while (Currentbuf->currentLine->prev && Currentbuf->currentLine->bpos)
-+ cursorUp0(Currentbuf, 1);
-+ Currentbuf->pos = 0;
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* Go to the bottom of the line */
-+DEFUN(linend, LINE_END, "Go to the end of line")
-+{
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ while (Currentbuf->currentLine->next
-+ && Currentbuf->currentLine->next->bpos)
-+ cursorDown0(Currentbuf, 1);
-+ Currentbuf->pos = Currentbuf->currentLine->len - 1;
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+static int
-+cur_real_linenumber(Buffer *buf)
-+{
-+ Line *l, *cur = buf->currentLine;
-+ int n;
-+
-+ if (!cur)
-+ return 1;
-+ n = cur->real_linenumber ? cur->real_linenumber : 1;
-+ for (l = buf->firstLine; l && l != cur && l->real_linenumber == 0; l = l->next) { /* header */
-+ if (l->bpos == 0)
-+ n++;
-+ }
-+ return n;
-+}
-+
-+/* Run editor on the current buffer */
-+DEFUN(editBf, EDIT, "Edit current document")
-+{
-+ char *fn = Currentbuf->filename;
-+ Str cmd;
-+
-+ if (fn == NULL || Currentbuf->pagerSource != NULL || /* Behaving as a pager */
-+ (Currentbuf->type == NULL && Currentbuf->edit == NULL) || /* Reading shell */
-+ Currentbuf->real_scheme != SCM_LOCAL || !strcmp(Currentbuf->currentURL.file, "-") || /* file is std input */
-+ Currentbuf->bufferprop & BP_FRAME) { /* Frame */
-+ disp_err_message("Can't edit other than local file", TRUE);
-+ return;
-+ }
-+ if (Currentbuf->edit)
-+ cmd = unquote_mailcap(Currentbuf->edit, Currentbuf->real_type, fn,
-+ checkHeader(Currentbuf, "Content-Type:"), NULL);
-+ else
-+ cmd = myEditor(Editor, shell_quote(fn),
-+ cur_real_linenumber(Currentbuf));
-+ fmTerm();
-+ system(cmd->ptr);
-+ fmInit();
-+
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ reload();
-+}
-+
-+/* Run editor on the current screen */
-+DEFUN(editScr, EDIT_SCREEN, "Edit currently rendered document")
-+{
-+ char *tmpf;
-+ FILE *f;
-+
-+ tmpf = tmpfname(TMPF_DFL, NULL)->ptr;
-+ f = fopen(tmpf, "w");
-+ if (f == NULL) {
-+ /* FIXME: gettextize? */
-+ disp_err_message(Sprintf("Can't open %s", tmpf)->ptr, TRUE);
-+ return;
-+ }
-+ saveBuffer(Currentbuf, f, TRUE);
-+ fclose(f);
-+ fmTerm();
-+ system(myEditor(Editor, shell_quote(tmpf),
-+ cur_real_linenumber(Currentbuf))->ptr);
-+ fmInit();
-+ unlink(tmpf);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+#ifdef USE_MARK
-+
-+/* Set / unset mark */
-+DEFUN(_mark, MARK, "Set/unset mark")
-+{
-+ Line *l;
-+ if (!use_mark)
-+ return;
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ l = Currentbuf->currentLine;
-+ l->propBuf[Currentbuf->pos] ^= PE_MARK;
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* Go to next mark */
-+DEFUN(nextMk, NEXT_MARK, "Move to next word")
-+{
-+ Line *l;
-+ int i;
-+
-+ if (!use_mark)
-+ return;
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ i = Currentbuf->pos + 1;
-+ l = Currentbuf->currentLine;
-+ if (i >= l->len) {
-+ i = 0;
-+ l = l->next;
-+ }
-+ while (l != NULL) {
-+ for (; i < l->len; i++) {
-+ if (l->propBuf[i] & PE_MARK) {
-+ Currentbuf->currentLine = l;
-+ Currentbuf->pos = i;
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ }
-+ l = l->next;
-+ i = 0;
-+ }
-+ /* FIXME: gettextize? */
-+ disp_message("No mark exist after here", TRUE);
-+}
-+
-+/* Go to previous mark */
-+DEFUN(prevMk, PREV_MARK, "Move to previous mark")
-+{
-+ Line *l;
-+ int i;
-+
-+ if (!use_mark)
-+ return;
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ i = Currentbuf->pos - 1;
-+ l = Currentbuf->currentLine;
-+ if (i < 0) {
-+ l = l->prev;
-+ if (l != NULL)
-+ i = l->len - 1;
-+ }
-+ while (l != NULL) {
-+ for (; i >= 0; i--) {
-+ if (l->propBuf[i] & PE_MARK) {
-+ Currentbuf->currentLine = l;
-+ Currentbuf->pos = i;
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ }
-+ l = l->prev;
-+ if (l != NULL)
-+ i = l->len - 1;
-+ }
-+ /* FIXME: gettextize? */
-+ disp_message("No mark exist before here", TRUE);
-+}
-+
-+/* Mark place to which the regular expression matches */
-+DEFUN(reMark, REG_MARK, "Set mark using regexp")
-+{
-+ Line *l;
-+ char *str;
-+ char *p, *p1, *p2;
-+
-+ if (!use_mark)
-+ return;
-+ str = searchKeyData();
-+ if (str == NULL || *str == '\0') {
-+ str = inputStrHist("(Mark)Regexp: ", MarkString, TextHist);
-+ if (str == NULL || *str == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ }
-+ str = conv_search_string(str, DisplayCharset);
-+ if ((str = regexCompile(str, 1)) != NULL) {
-+ disp_message(str, TRUE);
-+ return;
-+ }
-+ MarkString = str;
-+ for (l = Currentbuf->firstLine; l != NULL; l = l->next) {
-+ p = l->lineBuf;
-+ for (;;) {
-+ if (regexMatch(p, &l->lineBuf[l->len] - p, p == l->lineBuf) == 1) {
-+ matchedPosition(&p1, &p2);
-+ l->propBuf[p1 - l->lineBuf] |= PE_MARK;
-+ p = p2;
-+ }
-+ else
-+ break;
-+ }
-+ }
-+
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+#endif /* USE_MARK */
-+
-+static Buffer *
-+loadNormalBuf(Buffer *buf, int renderframe)
-+{
-+ pushBuffer(buf);
-+ if (renderframe && RenderFrame && Currentbuf->frameset != NULL)
-+ rFrame();
-+ return buf;
-+}
-+
-+static Buffer *
-+loadLink(char *url, char *target, char *referer, FormList *request)
-+{
-+ Buffer *buf, *nfbuf;
-+ union frameset_element *f_element = NULL;
-+ int flag = 0;
-+ ParsedURL *base, pu;
-+
-+ message(Sprintf("loading %s", url)->ptr, 0, 0);
-+ refresh();
-+
-+ base = baseURL(Currentbuf);
-+ if (base == NULL ||
-+ base->scheme == SCM_LOCAL || base->scheme == SCM_LOCAL_CGI)
-+ referer = NO_REFERER;
-+ if (referer == NULL)
-+ referer = parsedURL2Str(&Currentbuf->currentURL)->ptr;
-+ buf = loadGeneralFile(url, baseURL(Currentbuf), referer, flag, request);
-+ if (buf == NULL) {
-+ char *emsg = Sprintf("Can't load %s", url)->ptr;
-+ disp_err_message(emsg, FALSE);
-+ return NULL;
-+ }
-+
-+ parseURL2(url, &pu, base);
-+ pushHashHist(URLHist, parsedURL2Str(&pu)->ptr);
-+
-+ if (buf == NO_BUFFER) {
-+ return NULL;
-+ }
-+ if (!on_target) /* open link as an indivisual page */
-+ return loadNormalBuf(buf, TRUE);
-+
-+ if (do_download) /* download (thus no need to render frame) */
-+ return loadNormalBuf(buf, FALSE);
-+
-+ if (target == NULL || /* no target specified (that means this page is not a frame page) */
-+ !strcmp(target, "_top") || /* this link is specified to be opened as an indivisual * page */
-+ !(Currentbuf->bufferprop & BP_FRAME) /* This page is not a frame page */
-+ ) {
-+ return loadNormalBuf(buf, TRUE);
-+ }
-+ nfbuf = Currentbuf->linkBuffer[LB_N_FRAME];
-+ if (nfbuf == NULL) {
-+ /* original page (that contains <frameset> tag) doesn't exist */
-+ return loadNormalBuf(buf, TRUE);
-+ }
-+
-+ f_element = search_frame(nfbuf->frameset, target);
-+ if (f_element == NULL) {
-+ /* specified target doesn't exist in this frameset */
-+ return loadNormalBuf(buf, TRUE);
-+ }
-+
-+ /* frame page */
-+
-+ /* stack current frameset */
-+ pushFrameTree(&(nfbuf->frameQ), copyFrameSet(nfbuf->frameset), Currentbuf);
-+ /* delete frame view buffer */
-+ delBuffer(Currentbuf);
-+ Currentbuf = nfbuf;
-+ /* nfbuf->frameset = copyFrameSet(nfbuf->frameset); */
-+ resetFrameElement(f_element, buf, referer, request);
-+ discardBuffer(buf);
-+ rFrame();
-+ {
-+ Anchor *al = NULL;
-+ char *label = pu.label;
-+
-+ if (label && f_element->element->attr == F_BODY) {
-+ al = searchAnchor(f_element->body->nameList, label);
-+ }
-+ if (!al) {
-+ label = Strnew_m_charp("_", target, NULL)->ptr;
-+ al = searchURLLabel(Currentbuf, label);
-+ }
-+ if (al) {
-+ gotoLine(Currentbuf, al->start.line);
-+ if (label_topline)
-+ Currentbuf->topLine = lineSkip(Currentbuf, Currentbuf->topLine,
-+ Currentbuf->currentLine->
-+ linenumber -
-+ Currentbuf->topLine->linenumber,
-+ FALSE);
-+ Currentbuf->pos = al->start.pos;
-+ arrangeCursor(Currentbuf);
-+ }
-+ }
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return buf;
-+}
-+
-+static void
-+gotoLabel(char *label)
-+{
-+ Buffer *buf;
-+ Anchor *al;
-+ int i;
-+
-+ al = searchURLLabel(Currentbuf, label);
-+ if (al == NULL) {
-+ /* FIXME: gettextize? */
-+ disp_message(Sprintf("%s is not found", label)->ptr, TRUE);
-+ return;
-+ }
-+ buf = newBuffer(Currentbuf->width);
-+ copyBuffer(buf, Currentbuf);
-+ for (i = 0; i < MAX_LB; i++)
-+ buf->linkBuffer[i] = NULL;
-+ buf->currentURL.label = allocStr(label, -1);
-+ pushHashHist(URLHist, parsedURL2Str(&buf->currentURL)->ptr);
-+ (*buf->clone)++;
-+ pushBuffer(buf);
-+ gotoLine(Currentbuf, al->start.line);
-+ if (label_topline)
-+ Currentbuf->topLine = lineSkip(Currentbuf, Currentbuf->topLine,
-+ Currentbuf->currentLine->linenumber
-+ - Currentbuf->topLine->linenumber,
-+ FALSE);
-+ Currentbuf->pos = al->start.pos;
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ return;
-+}
-+
-+/* follow HREF link */
-+DEFUN(followA, GOTO_LINK, "Go to current link")
-+{
-+ Line *l;
-+ Anchor *a;
-+ ParsedURL u;
-+#ifdef USE_IMAGE
-+ int x = 0, y = 0, map = 0;
-+#endif
-+ char *url;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ l = Currentbuf->currentLine;
-+
-+#ifdef USE_IMAGE
-+ a = retrieveCurrentImg(Currentbuf);
-+ if (a && a->image && a->image->map) {
-+ _followForm(FALSE);
-+ return;
-+ }
-+ if (a && a->image && a->image->ismap) {
-+ getMapXY(Currentbuf, a, &x, &y);
-+ map = 1;
-+ }
-+#else
-+ a = retrieveCurrentMap(Currentbuf);
-+ if (a) {
-+ _followForm(FALSE);
-+ return;
-+ }
-+#endif
-+ a = retrieveCurrentAnchor(Currentbuf);
-+ if (a == NULL) {
-+ _followForm(FALSE);
-+ return;
-+ }
-+ if (*a->url == '#') { /* index within this buffer */
-+ gotoLabel(a->url + 1);
-+ return;
-+ }
-+ parseURL2(a->url, &u, baseURL(Currentbuf));
-+ if (Strcmp(parsedURL2Str(&u), parsedURL2Str(&Currentbuf->currentURL)) == 0) {
-+ /* index within this buffer */
-+ if (u.label) {
-+ gotoLabel(u.label);
-+ return;
-+ }
-+ }
-+ if (!strncasecmp(a->url, "mailto:", 7)
-+#ifdef USE_W3MMAILER
-+ && non_null(Mailer) && strchr(a->url, '?') == NULL
-+#endif
-+ ) {
-+ /* invoke external mailer */
-+ Str to = Strnew_charp(a->url + 7);
-+#ifndef USE_W3MMAILER
-+ char *pos;
-+ if (!non_null(Mailer)) {
-+ /* FIXME: gettextize? */
-+ disp_err_message("no mailer is specified", TRUE);
-+ return;
-+ }
-+ if ((pos = strchr(to->ptr, '?')) != NULL)
-+ Strtruncate(to, pos - to->ptr);
-+#endif
-+ fmTerm();
-+ system(myExtCommand(Mailer, shell_quote(file_unquote(to->ptr)),
-+ FALSE)->ptr);
-+ fmInit();
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ pushHashHist(URLHist, a->url);
-+ return;
-+ }
-+#if 0
-+ else if (!strncasecmp(a->url, "news:", 5) && strchr(a->url, '@') == NULL) {
-+ /* news:newsgroup is not supported */
-+ /* FIXME: gettextize? */
-+ disp_err_message("news:newsgroup_name is not supported", TRUE);
-+ return;
-+ }
-+#endif /* USE_NNTP */
-+ url = a->url;
-+#ifdef USE_IMAGE
-+ if (map)
-+ url = Sprintf("%s?%d,%d", a->url, x, y)->ptr;
-+#endif
-+
-+ if (check_target && open_tab_blank && a->target &&
-+ (!strcasecmp(a->target, "_new") || !strcasecmp(a->target, "_blank"))) {
-+ Buffer *buf;
-+
-+ _newT();
-+ buf = Currentbuf;
-+ loadLink(url, a->target, a->referer, NULL);
-+ if (buf != Currentbuf)
-+ delBuffer(buf);
-+ else
-+ deleteTab(CurrentTab);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ return;
-+ }
-+ loadLink(url, a->target, a->referer, NULL);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* follow HREF link in the buffer */
-+void
-+bufferA(void)
-+{
-+ on_target = FALSE;
-+ followA();
-+ on_target = TRUE;
-+}
-+
-+/* view inline image */
-+DEFUN(followI, VIEW_IMAGE, "View image")
-+{
-+ Line *l;
-+ Anchor *a;
-+ Buffer *buf;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ l = Currentbuf->currentLine;
-+
-+ a = retrieveCurrentImg(Currentbuf);
-+ if (a == NULL)
-+ return;
-+ /* FIXME: gettextize? */
-+ message(Sprintf("loading %s", a->url)->ptr, 0, 0);
-+ refresh();
-+ buf = loadGeneralFile(a->url, baseURL(Currentbuf), NULL, 0, NULL);
-+ if (buf == NULL) {
-+ /* FIXME: gettextize? */
-+ char *emsg = Sprintf("Can't load %s", a->url)->ptr;
-+ disp_err_message(emsg, FALSE);
-+ }
-+ else if (buf != NO_BUFFER) {
-+ pushBuffer(buf);
-+ }
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+static FormItemList *
-+save_submit_formlist(FormItemList *src)
-+{
-+ FormList *list;
-+ FormList *srclist;
-+ FormItemList *srcitem;
-+ FormItemList *item;
-+ FormItemList *ret = NULL;
-+#ifdef MENU_SELECT
-+ FormSelectOptionItem *opt;
-+ FormSelectOptionItem *curopt;
-+ FormSelectOptionItem *srcopt;
-+#endif /* MENU_SELECT */
-+
-+ if (src == NULL)
-+ return NULL;
-+ srclist = src->parent;
-+ list = New(FormList);
-+ list->method = srclist->method;
-+ list->action = Strdup(srclist->action);
-+#ifdef USE_M17N
-+ list->charset = srclist->charset;
-+#endif
-+ list->enctype = srclist->enctype;
-+ list->nitems = srclist->nitems;
-+ list->body = srclist->body;
-+ list->boundary = srclist->boundary;
-+ list->length = srclist->length;
-+
-+ for (srcitem = srclist->item; srcitem; srcitem = srcitem->next) {
-+ item = New(FormItemList);
-+ item->type = srcitem->type;
-+ item->name = Strdup(srcitem->name);
-+ item->value = Strdup(srcitem->value);
-+ item->checked = srcitem->checked;
-+ item->accept = srcitem->accept;
-+ item->size = srcitem->size;
-+ item->rows = srcitem->rows;
-+ item->maxlength = srcitem->maxlength;
-+ item->readonly = srcitem->readonly;
-+#ifdef MENU_SELECT
-+ opt = curopt = NULL;
-+ for (srcopt = srcitem->select_option; srcopt; srcopt = srcopt->next) {
-+ if (!srcopt->checked)
-+ continue;
-+ opt = New(FormSelectOptionItem);
-+ opt->value = Strdup(srcopt->value);
-+ opt->label = Strdup(srcopt->label);
-+ opt->checked = srcopt->checked;
-+ if (item->select_option == NULL) {
-+ item->select_option = curopt = opt;
-+ }
-+ else {
-+ curopt->next = opt;
-+ curopt = curopt->next;
-+ }
-+ }
-+ item->select_option = opt;
-+ if (srcitem->label)
-+ item->label = Strdup(srcitem->label);
-+#endif /* MENU_SELECT */
-+ item->parent = list;
-+ item->next = NULL;
-+
-+ if (list->lastitem == NULL) {
-+ list->item = list->lastitem = item;
-+ }
-+ else {
-+ list->lastitem->next = item;
-+ list->lastitem = item;
-+ }
-+
-+ if (srcitem == src)
-+ ret = item;
-+ }
-+
-+ return ret;
-+}
-+
-+#ifdef USE_M17N
-+static Str
-+conv_form_encoding(Str val, FormItemList *fi, Buffer *buf)
-+{
-+ wc_ces charset = SystemCharset;
-+
-+ if (fi->parent->charset)
-+ charset = fi->parent->charset;
-+ else if (buf->document_charset && buf->document_charset != WC_CES_US_ASCII)
-+ charset = buf->document_charset;
-+ return wc_Str_conv_strict(val, InnerCharset, charset);
-+}
-+#else
-+#define conv_form_encoding(val, fi, buf) (val)
-+#endif
-+
-+static void
-+query_from_followform(Str *query, FormItemList *fi, int multipart)
-+{
-+ FormItemList *f2;
-+ FILE *body = NULL;
-+
-+ if (multipart) {
-+ *query = tmpfname(TMPF_DFL, NULL);
-+ body = fopen((*query)->ptr, "w");
-+ if (body == NULL) {
-+ return;
-+ }
-+ fi->parent->body = (*query)->ptr;
-+ fi->parent->boundary =
-+ Sprintf("------------------------------%d%ld%ld%ld", CurrentPid,
-+ fi->parent, fi->parent->body, fi->parent->boundary)->ptr;
-+ }
-+ *query = Strnew();
-+ for (f2 = fi->parent->item; f2; f2 = f2->next) {
-+ if (f2->name == NULL)
-+ continue;
-+ /* <ISINDEX> is translated into single text form */
-+ if (f2->name->length == 0 &&
-+ (multipart || f2->type != FORM_INPUT_TEXT))
-+ continue;
-+ switch (f2->type) {
-+ case FORM_INPUT_RESET:
-+ /* do nothing */
-+ continue;
-+ case FORM_INPUT_SUBMIT:
-+ case FORM_INPUT_IMAGE:
-+ if (f2 != fi || f2->value == NULL)
-+ continue;
-+ break;
-+ case FORM_INPUT_RADIO:
-+ case FORM_INPUT_CHECKBOX:
-+ if (!f2->checked)
-+ continue;
-+ }
-+ if (multipart) {
-+ if (f2->type == FORM_INPUT_IMAGE) {
-+ int x = 0, y = 0;
-+#ifdef USE_IMAGE
-+ getMapXY(Currentbuf, retrieveCurrentImg(Currentbuf), &x, &y);
-+#endif
-+ *query = Strdup(conv_form_encoding(f2->name, fi, Currentbuf));
-+ Strcat_charp(*query, ".x");
-+ form_write_data(body, fi->parent->boundary, (*query)->ptr,
-+ Sprintf("%d", x)->ptr);
-+ *query = Strdup(conv_form_encoding(f2->name, fi, Currentbuf));
-+ Strcat_charp(*query, ".y");
-+ form_write_data(body, fi->parent->boundary, (*query)->ptr,
-+ Sprintf("%d", y)->ptr);
-+ }
-+ else if (f2->name && f2->name->length > 0 && f2->value != NULL) {
-+ /* not IMAGE */
-+ *query = conv_form_encoding(f2->value, fi, Currentbuf);
-+ if (f2->type == FORM_INPUT_FILE)
-+ form_write_from_file(body, fi->parent->boundary,
-+ conv_form_encoding(f2->name, fi,
-+ Currentbuf)->ptr,
-+ (*query)->ptr,
-+ Str_conv_to_system(f2->value)->ptr);
-+ else
-+ form_write_data(body, fi->parent->boundary,
-+ conv_form_encoding(f2->name, fi,
-+ Currentbuf)->ptr,
-+ (*query)->ptr);
-+ }
-+ }
-+ else {
-+ /* not multipart */
-+ if (f2->type == FORM_INPUT_IMAGE) {
-+ int x = 0, y = 0;
-+#ifdef USE_IMAGE
-+ getMapXY(Currentbuf, retrieveCurrentImg(Currentbuf), &x, &y);
-+#endif
-+ Strcat(*query,
-+ Str_form_quote(conv_form_encoding
-+ (f2->name, fi, Currentbuf)));
-+ Strcat(*query, Sprintf(".x=%d&", x));
-+ Strcat(*query,
-+ Str_form_quote(conv_form_encoding
-+ (f2->name, fi, Currentbuf)));
-+ Strcat(*query, Sprintf(".y=%d", y));
-+ }
-+ else {
-+ /* not IMAGE */
-+ if (f2->name && f2->name->length > 0) {
-+ Strcat(*query,
-+ Str_form_quote(conv_form_encoding
-+ (f2->name, fi, Currentbuf)));
-+ Strcat_char(*query, '=');
-+ }
-+ if (f2->value != NULL) {
-+ if (fi->parent->method == FORM_METHOD_INTERNAL)
-+ Strcat(*query, Str_form_quote(f2->value));
-+ else {
-+ Strcat(*query,
-+ Str_form_quote(conv_form_encoding
-+ (f2->value, fi, Currentbuf)));
-+ }
-+ }
-+ }
-+ if (f2->next)
-+ Strcat_char(*query, '&');
-+ }
-+ }
-+ if (multipart) {
-+ fprintf(body, "--%s--\r\n", fi->parent->boundary);
-+ fclose(body);
-+ }
-+ else {
-+ /* remove trailing & */
-+ while (Strlastchar(*query) == '&')
-+ Strshrink(*query, 1);
-+ }
-+}
-+
-+/* submit form */
-+DEFUN(submitForm, SUBMIT, "Submit form")
-+{
-+ _followForm(TRUE);
-+}
-+
-+/* process form */
-+void
-+followForm(void)
-+{
-+ _followForm(FALSE);
-+}
-+
-+static void
-+_followForm(int submit)
-+{
-+ Line *l;
-+ Anchor *a, *a2;
-+ char *p;
-+ FormItemList *fi, *f2;
-+ Str tmp, tmp2;
-+ int multipart = 0, i;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ l = Currentbuf->currentLine;
-+
-+ a = retrieveCurrentForm(Currentbuf);
-+ if (a == NULL)
-+ return;
-+ fi = (FormItemList *)a->url;
-+ switch (fi->type) {
-+ case FORM_INPUT_TEXT:
-+ if (submit)
-+ goto do_submit;
-+ if (fi->readonly)
-+ /* FIXME: gettextize? */
-+ disp_message_nsec("Read only field!", FALSE, 1, TRUE, FALSE);
-+ /* FIXME: gettextize? */
-+ p = inputStrHist("TEXT:", fi->value ? fi->value->ptr : NULL, TextHist);
-+ if (p == NULL || fi->readonly)
-+ break;
-+ fi->value = Strnew_charp(p);
-+ formUpdateBuffer(a, Currentbuf, fi);
-+ if (fi->accept || fi->parent->nitems == 1)
-+ goto do_submit;
-+ break;
-+ case FORM_INPUT_FILE:
-+ if (submit)
-+ goto do_submit;
-+ if (fi->readonly)
-+ /* FIXME: gettextize? */
-+ disp_message_nsec("Read only field!", FALSE, 1, TRUE, FALSE);
-+ /* FIXME: gettextize? */
-+ p = inputFilenameHist("Filename:", fi->value ? fi->value->ptr : NULL,
-+ NULL);
-+ if (p == NULL || fi->readonly)
-+ break;
-+ fi->value = Strnew_charp(p);
-+ formUpdateBuffer(a, Currentbuf, fi);
-+ if (fi->accept || fi->parent->nitems == 1)
-+ goto do_submit;
-+ break;
-+ case FORM_INPUT_PASSWORD:
-+ if (submit)
-+ goto do_submit;
-+ if (fi->readonly) {
-+ /* FIXME: gettextize? */
-+ disp_message_nsec("Read only field!", FALSE, 1, TRUE, FALSE);
-+ break;
-+ }
-+ /* FIXME: gettextize? */
-+ p = inputLine("Password:", fi->value ? fi->value->ptr : NULL,
-+ IN_PASSWORD);
-+ if (p == NULL)
-+ break;
-+ fi->value = Strnew_charp(p);
-+ formUpdateBuffer(a, Currentbuf, fi);
-+ if (fi->accept)
-+ goto do_submit;
-+ break;
-+ case FORM_TEXTAREA:
-+ if (submit)
-+ goto do_submit;
-+ if (fi->readonly)
-+ /* FIXME: gettextize? */
-+ disp_message_nsec("Read only field!", FALSE, 1, TRUE, FALSE);
-+ input_textarea(fi);
-+ formUpdateBuffer(a, Currentbuf, fi);
-+ break;
-+ case FORM_INPUT_RADIO:
-+ if (submit)
-+ goto do_submit;
-+ if (fi->readonly) {
-+ /* FIXME: gettextize? */
-+ disp_message_nsec("Read only field!", FALSE, 1, TRUE, FALSE);
-+ break;
-+ }
-+ formRecheckRadio(a, Currentbuf, fi);
-+ break;
-+ case FORM_INPUT_CHECKBOX:
-+ if (submit)
-+ goto do_submit;
-+ if (fi->readonly) {
-+ /* FIXME: gettextize? */
-+ disp_message_nsec("Read only field!", FALSE, 1, TRUE, FALSE);
-+ break;
-+ }
-+ fi->checked = !fi->checked;
-+ formUpdateBuffer(a, Currentbuf, fi);
-+ break;
-+#ifdef MENU_SELECT
-+ case FORM_SELECT:
-+ if (submit)
-+ goto do_submit;
-+ if (!formChooseOptionByMenu(fi,
-+ Currentbuf->cursorX - Currentbuf->pos +
-+ a->start.pos + Currentbuf->rootX,
-+ Currentbuf->cursorY + Currentbuf->rootY))
-+ break;
-+ formUpdateBuffer(a, Currentbuf, fi);
-+ if (fi->parent->nitems == 1)
-+ goto do_submit;
-+ break;
-+#endif /* MENU_SELECT */
-+ case FORM_INPUT_IMAGE:
-+ case FORM_INPUT_SUBMIT:
-+ case FORM_INPUT_BUTTON:
-+ do_submit:
-+ tmp = Strnew();
-+ tmp2 = Strnew();
-+ multipart = (fi->parent->method == FORM_METHOD_POST &&
-+ fi->parent->enctype == FORM_ENCTYPE_MULTIPART);
-+ query_from_followform(&tmp, fi, multipart);
-+
-+ tmp2 = Strdup(fi->parent->action);
-+ if (!Strcmp_charp(tmp2, "!CURRENT_URL!")) {
-+ /* It means "current URL" */
-+ tmp2 = parsedURL2Str(&Currentbuf->currentURL);
-+ if ((p = strchr(tmp2->ptr, '?')) != NULL)
-+ Strshrink(tmp2, (tmp2->ptr + tmp2->length) - p);
-+ }
-+
-+ if (fi->parent->method == FORM_METHOD_GET) {
-+ if ((p = strchr(tmp2->ptr, '?')) != NULL)
-+ Strshrink(tmp2, (tmp2->ptr + tmp2->length) - p);
-+ Strcat_charp(tmp2, "?");
-+ Strcat(tmp2, tmp);
-+ loadLink(tmp2->ptr, a->target, NULL, NULL);
-+ }
-+ else if (fi->parent->method == FORM_METHOD_POST) {
-+ Buffer *buf;
-+ if (multipart) {
-+ struct stat st;
-+ stat(fi->parent->body, &st);
-+ fi->parent->length = st.st_size;
-+ }
-+ else {
-+ fi->parent->body = tmp->ptr;
-+ fi->parent->length = tmp->length;
-+ }
-+ buf = loadLink(tmp2->ptr, a->target, NULL, fi->parent);
-+ if (multipart) {
-+ unlink(fi->parent->body);
-+ }
-+ if (buf && !(buf->bufferprop & BP_REDIRECTED)) { /* buf must be Currentbuf */
-+ /* BP_REDIRECTED means that the buffer is obtained through
-+ * Location: header. In this case, buf->form_submit must not be set
-+ * because the page is not loaded by POST method but GET method.
-+ */
-+ buf->form_submit = save_submit_formlist(fi);
-+ }
-+ }
-+ else if ((fi->parent->method == FORM_METHOD_INTERNAL && (!Strcmp_charp(fi->parent->action, "map") || !Strcmp_charp(fi->parent->action, "none"))) || Currentbuf->bufferprop & BP_INTERNAL) { /* internal */
-+ do_internal(tmp2->ptr, tmp->ptr);
-+ }
-+ else {
-+ disp_err_message("Can't send form because of illegal method.",
-+ FALSE);
-+ }
-+ break;
-+ case FORM_INPUT_RESET:
-+ for (i = 0; i < Currentbuf->formitem->nanchor; i++) {
-+ a2 = &Currentbuf->formitem->anchors[i];
-+ f2 = (FormItemList *)a2->url;
-+ if (f2->parent == fi->parent &&
-+ f2->name && f2->value &&
-+ f2->type != FORM_INPUT_SUBMIT &&
-+ f2->type != FORM_INPUT_HIDDEN &&
-+ f2->type != FORM_INPUT_RESET) {
-+ f2->value = f2->init_value;
-+ f2->checked = f2->init_checked;
-+#ifdef MENU_SELECT
-+ f2->label = f2->init_label;
-+ f2->selected = f2->init_selected;
-+#endif /* MENU_SELECT */
-+ formUpdateBuffer(a2, Currentbuf, f2);
-+ }
-+ }
-+ break;
-+ case FORM_INPUT_HIDDEN:
-+ default:
-+ break;
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* go to the top anchor */
-+DEFUN(topA, LINK_BEGIN, "Go to the first link")
-+{
-+ HmarkerList *hl = Currentbuf->hmarklist;
-+ BufferPoint *po;
-+ Anchor *an;
-+ int hseq = 0;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ if (!hl || hl->nmark == 0)
-+ return;
-+
-+ if (prec_num > hl->nmark)
-+ hseq = hl->nmark - 1;
-+ else if (prec_num > 0)
-+ hseq = prec_num - 1;
-+ do {
-+ if (hseq >= hl->nmark)
-+ return;
-+ po = hl->marks + hseq;
-+ an = retrieveAnchor(Currentbuf->href, po->line, po->pos);
-+ if (an == NULL)
-+ an = retrieveAnchor(Currentbuf->formitem, po->line, po->pos);
-+ hseq++;
-+ } while (an == NULL);
-+
-+ gotoLine(Currentbuf, po->line);
-+ Currentbuf->pos = po->pos;
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* go to the last anchor */
-+DEFUN(lastA, LINK_END, "Go to the last link")
-+{
-+ HmarkerList *hl = Currentbuf->hmarklist;
-+ BufferPoint *po;
-+ Anchor *an;
-+ int hseq;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ if (!hl || hl->nmark == 0)
-+ return;
-+
-+ if (prec_num >= hl->nmark)
-+ hseq = 0;
-+ else if (prec_num > 0)
-+ hseq = hl->nmark - prec_num;
-+ else
-+ hseq = hl->nmark - 1;
-+ do {
-+ if (hseq < 0)
-+ return;
-+ po = hl->marks + hseq;
-+ an = retrieveAnchor(Currentbuf->href, po->line, po->pos);
-+ if (an == NULL)
-+ an = retrieveAnchor(Currentbuf->formitem, po->line, po->pos);
-+ hseq--;
-+ } while (an == NULL);
-+
-+ gotoLine(Currentbuf, po->line);
-+ Currentbuf->pos = po->pos;
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* go to the next anchor */
-+DEFUN(nextA, NEXT_LINK, "Move to next link")
-+{
-+ _nextA(FALSE);
-+}
-+
-+/* go to the previous anchor */
-+DEFUN(prevA, PREV_LINK, "Move to previous link")
-+{
-+ _prevA(FALSE);
-+}
-+
-+/* go to the next visited anchor */
-+DEFUN(nextVA, NEXT_VISITED, "Move to next visited link")
-+{
-+ _nextA(TRUE);
-+}
-+
-+/* go to the previous visited anchor */
-+DEFUN(prevVA, PREV_VISITED, "Move to previous visited link")
-+{
-+ _prevA(TRUE);
-+}
-+
-+/* go to the next [visited] anchor */
-+static void
-+_nextA(int visited)
-+{
-+ HmarkerList *hl = Currentbuf->hmarklist;
-+ BufferPoint *po;
-+ Anchor *an, *pan;
-+ int i, x, y, n = searchKeyNum();
-+ ParsedURL url;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ if (!hl || hl->nmark == 0)
-+ return;
-+
-+ an = retrieveCurrentAnchor(Currentbuf);
-+ if (visited != TRUE && an == NULL)
-+ an = retrieveCurrentForm(Currentbuf);
-+
-+ y = Currentbuf->currentLine->linenumber;
-+ x = Currentbuf->pos;
-+
-+ if (visited == TRUE) {
-+ n = hl->nmark;
-+ }
-+
-+ for (i = 0; i < n; i++) {
-+ pan = an;
-+ if (an && an->hseq >= 0) {
-+ int hseq = an->hseq + 1;
-+ do {
-+ if (hseq >= hl->nmark) {
-+ if (visited == TRUE)
-+ return;
-+ an = pan;
-+ goto _end;
-+ }
-+ po = &hl->marks[hseq];
-+ an = retrieveAnchor(Currentbuf->href, po->line, po->pos);
-+ if (visited != TRUE && an == NULL)
-+ an = retrieveAnchor(Currentbuf->formitem, po->line,
-+ po->pos);
-+ hseq++;
-+ if (visited == TRUE && an) {
-+ parseURL2(an->url, &url, baseURL(Currentbuf));
-+ if (getHashHist(URLHist, parsedURL2Str(&url)->ptr)) {
-+ goto _end;
-+ }
-+ }
-+ } while (an == NULL || an == pan);
-+ }
-+ else {
-+ an = closest_next_anchor(Currentbuf->href, NULL, x, y);
-+ if (visited != TRUE)
-+ an = closest_next_anchor(Currentbuf->formitem, an, x, y);
-+ if (an == NULL) {
-+ if (visited == TRUE)
-+ return;
-+ an = pan;
-+ break;
-+ }
-+ x = an->start.pos;
-+ y = an->start.line;
-+ if (visited == TRUE) {
-+ parseURL2(an->url, &url, baseURL(Currentbuf));
-+ if (getHashHist(URLHist, parsedURL2Str(&url)->ptr)) {
-+ goto _end;
-+ }
-+ }
-+ }
-+ }
-+ if (visited == TRUE)
-+ return;
-+
-+ _end:
-+ if (an == NULL || an->hseq < 0)
-+ return;
-+ po = &hl->marks[an->hseq];
-+ gotoLine(Currentbuf, po->line);
-+ Currentbuf->pos = po->pos;
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* go to the previous anchor */
-+static void
-+_prevA(int visited)
-+{
-+ HmarkerList *hl = Currentbuf->hmarklist;
-+ BufferPoint *po;
-+ Anchor *an, *pan;
-+ int i, x, y, n = searchKeyNum();
-+ ParsedURL url;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ if (!hl || hl->nmark == 0)
-+ return;
-+
-+ an = retrieveCurrentAnchor(Currentbuf);
-+ if (visited != TRUE && an == NULL)
-+ an = retrieveCurrentForm(Currentbuf);
-+
-+ y = Currentbuf->currentLine->linenumber;
-+ x = Currentbuf->pos;
-+
-+ if (visited == TRUE) {
-+ n = hl->nmark;
-+ }
-+
-+ for (i = 0; i < n; i++) {
-+ pan = an;
-+ if (an && an->hseq >= 0) {
-+ int hseq = an->hseq - 1;
-+ do {
-+ if (hseq < 0) {
-+ if (visited == TRUE)
-+ return;
-+ an = pan;
-+ goto _end;
-+ }
-+ po = hl->marks + hseq;
-+ an = retrieveAnchor(Currentbuf->href, po->line, po->pos);
-+ if (visited != TRUE && an == NULL)
-+ an = retrieveAnchor(Currentbuf->formitem, po->line,
-+ po->pos);
-+ hseq--;
-+ if (visited == TRUE && an) {
-+ parseURL2(an->url, &url, baseURL(Currentbuf));
-+ if (getHashHist(URLHist, parsedURL2Str(&url)->ptr)) {
-+ goto _end;
-+ }
-+ }
-+ } while (an == NULL || an == pan);
-+ }
-+ else {
-+ an = closest_prev_anchor(Currentbuf->href, NULL, x, y);
-+ if (visited != TRUE)
-+ an = closest_prev_anchor(Currentbuf->formitem, an, x, y);
-+ if (an == NULL) {
-+ if (visited == TRUE)
-+ return;
-+ an = pan;
-+ break;
-+ }
-+ x = an->start.pos;
-+ y = an->start.line;
-+ if (visited == TRUE && an) {
-+ parseURL2(an->url, &url, baseURL(Currentbuf));
-+ if (getHashHist(URLHist, parsedURL2Str(&url)->ptr)) {
-+ goto _end;
-+ }
-+ }
-+ }
-+ }
-+ if (visited == TRUE)
-+ return;
-+
-+ _end:
-+ if (an == NULL || an->hseq < 0)
-+ return;
-+ po = hl->marks + an->hseq;
-+ gotoLine(Currentbuf, po->line);
-+ Currentbuf->pos = po->pos;
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* go to the next left/right anchor */
-+static void
-+nextX(int d, int dy)
-+{
-+ HmarkerList *hl = Currentbuf->hmarklist;
-+ Anchor *an, *pan;
-+ Line *l;
-+ int i, x, y, n = searchKeyNum();
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ if (!hl || hl->nmark == 0)
-+ return;
-+
-+ an = retrieveCurrentAnchor(Currentbuf);
-+ if (an == NULL)
-+ an = retrieveCurrentForm(Currentbuf);
-+
-+ l = Currentbuf->currentLine;
-+ x = Currentbuf->pos;
-+ y = l->linenumber;
-+ pan = NULL;
-+ for (i = 0; i < n; i++) {
-+ if (an)
-+ x = (d > 0) ? an->end.pos : an->start.pos - 1;
-+ an = NULL;
-+ while (1) {
-+ for (; x >= 0 && x < l->len; x += d) {
-+ an = retrieveAnchor(Currentbuf->href, y, x);
-+ if (!an)
-+ an = retrieveAnchor(Currentbuf->formitem, y, x);
-+ if (an) {
-+ pan = an;
-+ break;
-+ }
-+ }
-+ if (!dy || an)
-+ break;
-+ l = (dy > 0) ? l->next : l->prev;
-+ if (!l)
-+ break;
-+ x = (d > 0) ? 0 : l->len - 1;
-+ y = l->linenumber;
-+ }
-+ if (!an)
-+ break;
-+ }
-+
-+ if (pan == NULL)
-+ return;
-+ gotoLine(Currentbuf, y);
-+ Currentbuf->pos = pan->start.pos;
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* go to the next downward/upward anchor */
-+static void
-+nextY(int d)
-+{
-+ HmarkerList *hl = Currentbuf->hmarklist;
-+ Anchor *an, *pan;
-+ int i, x, y, n = searchKeyNum();
-+ int hseq;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ if (!hl || hl->nmark == 0)
-+ return;
-+
-+ an = retrieveCurrentAnchor(Currentbuf);
-+ if (an == NULL)
-+ an = retrieveCurrentForm(Currentbuf);
-+
-+ x = Currentbuf->pos;
-+ y = Currentbuf->currentLine->linenumber + d;
-+ pan = NULL;
-+ hseq = -1;
-+ for (i = 0; i < n; i++) {
-+ if (an)
-+ hseq = abs(an->hseq);
-+ an = NULL;
-+ for (; y >= 0 && y <= Currentbuf->lastLine->linenumber; y += d) {
-+ an = retrieveAnchor(Currentbuf->href, y, x);
-+ if (!an)
-+ an = retrieveAnchor(Currentbuf->formitem, y, x);
-+ if (an && hseq != abs(an->hseq)) {
-+ pan = an;
-+ break;
-+ }
-+ }
-+ if (!an)
-+ break;
-+ }
-+
-+ if (pan == NULL)
-+ return;
-+ gotoLine(Currentbuf, pan->start.line);
-+ arrangeLine(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* go to the next left anchor */
-+DEFUN(nextL, NEXT_LEFT, "Move to next left link")
-+{
-+ nextX(-1, 0);
-+}
-+
-+/* go to the next left-up anchor */
-+DEFUN(nextLU, NEXT_LEFT_UP, "Move to next left (or upward) link")
-+{
-+ nextX(-1, -1);
-+}
-+
-+/* go to the next right anchor */
-+DEFUN(nextR, NEXT_RIGHT, "Move to next right link")
-+{
-+ nextX(1, 0);
-+}
-+
-+/* go to the next right-down anchor */
-+DEFUN(nextRD, NEXT_RIGHT_DOWN, "Move to next right (or downward) link")
-+{
-+ nextX(1, 1);
-+}
-+
-+/* go to the next downward anchor */
-+DEFUN(nextD, NEXT_DOWN, "Move to next downward link")
-+{
-+ nextY(1);
-+}
-+
-+/* go to the next upward anchor */
-+DEFUN(nextU, NEXT_UP, "Move to next upward link")
-+{
-+ nextY(-1);
-+}
-+
-+/* go to the next bufferr */
-+DEFUN(nextBf, NEXT, "Move to next buffer")
-+{
-+ Buffer *buf;
-+ int i;
-+
-+ for (i = 0; i < PREC_NUM; i++) {
-+ buf = prevBuffer(Firstbuf, Currentbuf);
-+ if (!buf) {
-+ if (i == 0)
-+ return;
-+ break;
-+ }
-+ Currentbuf = buf;
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* go to the previous bufferr */
-+DEFUN(prevBf, PREV, "Move to previous buffer")
-+{
-+ Buffer *buf;
-+ int i;
-+
-+ for (i = 0; i < PREC_NUM; i++) {
-+ buf = Currentbuf->nextBuffer;
-+ if (!buf) {
-+ if (i == 0)
-+ return;
-+ break;
-+ }
-+ Currentbuf = buf;
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+static int
-+checkBackBuffer(Buffer *buf)
-+{
-+ Buffer *fbuf = buf->linkBuffer[LB_N_FRAME];
-+
-+ if (fbuf) {
-+ if (fbuf->frameQ)
-+ return TRUE; /* Currentbuf has stacked frames */
-+ /* when no frames stacked and next is frame source, try next's
-+ * nextBuffer */
-+ if (RenderFrame && fbuf == buf->nextBuffer) {
-+ if (fbuf->nextBuffer != NULL)
-+ return TRUE;
-+ else
-+ return FALSE;
-+ }
-+ }
-+
-+ if (buf->nextBuffer)
-+ return TRUE;
-+
-+ return FALSE;
-+}
-+
-+/* delete current buffer and back to the previous buffer */
-+DEFUN(backBf, BACK, "Back to previous buffer")
-+{
-+ Buffer *buf = Currentbuf->linkBuffer[LB_N_FRAME];
-+
-+ if (!checkBackBuffer(Currentbuf)) {
-+ if (close_tab_back && nTab >= 1) {
-+ deleteTab(CurrentTab);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ }
-+ else
-+ /* FIXME: gettextize? */
-+ disp_message("Can't back...", TRUE);
-+ return;
-+ }
-+
-+ delBuffer(Currentbuf);
-+
-+ if (buf) {
-+ if (buf->frameQ) {
-+ struct frameset *fs;
-+ long linenumber = buf->frameQ->linenumber;
-+ long top = buf->frameQ->top_linenumber;
-+ int pos = buf->frameQ->pos;
-+ int currentColumn = buf->frameQ->currentColumn;
-+ AnchorList *formitem = buf->frameQ->formitem;
-+
-+ fs = popFrameTree(&(buf->frameQ));
-+ deleteFrameSet(buf->frameset);
-+ buf->frameset = fs;
-+
-+ if (buf == Currentbuf) {
-+ rFrame();
-+ Currentbuf->topLine = lineSkip(Currentbuf,
-+ Currentbuf->firstLine, top - 1,
-+ FALSE);
-+ gotoLine(Currentbuf, linenumber);
-+ Currentbuf->pos = pos;
-+ Currentbuf->currentColumn = currentColumn;
-+ arrangeCursor(Currentbuf);
-+ formResetBuffer(Currentbuf, formitem);
-+ }
-+ }
-+ else if (RenderFrame && buf == Currentbuf) {
-+ delBuffer(Currentbuf);
-+ }
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+DEFUN(deletePrevBuf, DELETE_PREVBUF,
-+ "Delete previous buffer (mainly for local-CGI)")
-+{
-+ Buffer *buf = Currentbuf->nextBuffer;
-+ if (buf)
-+ delBuffer(buf);
-+}
-+
-+static void
-+cmd_loadURL(char *url, ParsedURL *current, char *referer, FormList *request)
-+{
-+ Buffer *buf;
-+
-+ if (!strncasecmp(url, "mailto:", 7)
-+#ifdef USE_W3MMAILER
-+ && non_null(Mailer) && strchr(url, '?') == NULL
-+#endif
-+ ) {
-+ /* invoke external mailer */
-+ Str to = Strnew_charp(url + 7);
-+#ifndef USE_W3MMAILER
-+ char *pos;
-+ if (!non_null(Mailer)) {
-+ /* FIXME: gettextize? */
-+ disp_err_message("no mailer is specified", TRUE);
-+ return;
-+ }
-+ if ((pos = strchr(to->ptr, '?')) != NULL)
-+ Strtruncate(to, pos - to->ptr);
-+#endif
-+ fmTerm();
-+ system(myExtCommand(Mailer, shell_quote(file_unquote(to->ptr)),
-+ FALSE)->ptr);
-+ fmInit();
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ pushHashHist(URLHist, url);
-+ return;
-+ }
-+#if 0
-+ if (!strncasecmp(url, "news:", 5) && strchr(url, '@') == NULL) {
-+ /* news:newsgroup is not supported */
-+ /* FIXME: gettextize? */
-+ disp_err_message("news:newsgroup_name is not supported", TRUE);
-+ return;
-+ }
-+#endif /* USE_NNTP */
-+
-+ refresh();
-+ buf = loadGeneralFile(url, current, referer, 0, request);
-+ if (buf == NULL) {
-+ /* FIXME: gettextize? */
-+ char *emsg = Sprintf("Can't load %s", conv_from_system(url))->ptr;
-+ disp_err_message(emsg, FALSE);
-+ }
-+ else if (buf != NO_BUFFER) {
-+ pushBuffer(buf);
-+ if (RenderFrame && Currentbuf->frameset != NULL)
-+ rFrame();
-+ }
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+
-+/* go to specified URL */
-+static void
-+goURL0(char *prompt, int relative)
-+{
-+ char *url, *referer;
-+ ParsedURL p_url, *current;
-+ Buffer *cur_buf = Currentbuf;
-+
-+ url = searchKeyData();
-+ if (url == NULL) {
-+ Hist *hist = copyHist(URLHist);
-+ Anchor *a;
-+
-+ current = baseURL(Currentbuf);
-+ if (current) {
-+ char *c_url = parsedURL2Str(current)->ptr;
-+ if (DefaultURLString == DEFAULT_URL_CURRENT) {
-+ url = c_url;
-+ if (DecodeURL)
-+ url = url_unquote_conv(url, 0);
-+ }
-+ else
-+ pushHist(hist, c_url);
-+ }
-+ a = retrieveCurrentAnchor(Currentbuf);
-+ if (a) {
-+ char *a_url;
-+ parseURL2(a->url, &p_url, current);
-+ a_url = parsedURL2Str(&p_url)->ptr;
-+ if (DefaultURLString == DEFAULT_URL_LINK) {
-+ url = a_url;
-+ if (DecodeURL)
-+ url = url_unquote_conv(url, Currentbuf->document_charset);
-+ }
-+ else
-+ pushHist(hist, a_url);
-+ }
-+ url = inputLineHist(prompt, url, IN_URL, hist);
-+ if (url != NULL)
-+ SKIP_BLANKS(url);
-+ }
-+#ifdef USE_M17N
-+ if (url != NULL) {
-+ if ((relative || *url == '#') && Currentbuf->document_charset)
-+ url = wc_conv_strict(url, InnerCharset,
-+ Currentbuf->document_charset)->ptr;
-+ else
-+ url = conv_to_system(url);
-+ }
-+#endif
-+ if (url == NULL || *url == '\0') {
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ return;
-+ }
-+ if (*url == '#') {
-+ gotoLabel(url + 1);
-+ return;
-+ }
-+ if (relative) {
-+ current = baseURL(Currentbuf);
-+ referer = parsedURL2Str(&Currentbuf->currentURL)->ptr;
-+ }
-+ else {
-+ current = NULL;
-+ referer = NULL;
-+ }
-+ parseURL2(url, &p_url, current);
-+ pushHashHist(URLHist, parsedURL2Str(&p_url)->ptr);
-+ cmd_loadURL(url, current, referer, NULL);
-+ if (Currentbuf != cur_buf) /* success */
-+ pushHashHist(URLHist, parsedURL2Str(&Currentbuf->currentURL)->ptr);
-+}
-+
-+DEFUN(goURL, GOTO, "Go to URL")
-+{
-+ goURL0("Goto URL: ", FALSE);
-+}
-+
-+DEFUN(gorURL, GOTO_RELATIVE, "Go to relative URL")
-+{
-+ goURL0("Goto relative URL: ", TRUE);
-+}
-+
-+static void
-+cmd_loadBuffer(Buffer *buf, int prop, int linkid)
-+{
-+ if (buf == NULL) {
-+ disp_err_message("Can't load string", FALSE);
-+ }
-+ else if (buf != NO_BUFFER) {
-+ buf->bufferprop |= (BP_INTERNAL | prop);
-+ if (!(buf->bufferprop & BP_NO_URL))
-+ copyParsedURL(&buf->currentURL, &Currentbuf->currentURL);
-+ if (linkid != LB_NOLINK) {
-+ buf->linkBuffer[REV_LB[linkid]] = Currentbuf;
-+ Currentbuf->linkBuffer[linkid] = buf;
-+ }
-+ pushBuffer(buf);
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* load bookmark */
-+DEFUN(ldBmark, BOOKMARK VIEW_BOOKMARK, "Read bookmark")
-+{
-+ cmd_loadURL(BookmarkFile, NULL, NO_REFERER, NULL);
-+}
-+
-+
-+/* Add current to bookmark */
-+DEFUN(adBmark, ADD_BOOKMARK, "Add current page to bookmark")
-+{
-+ Str tmp;
-+ FormList *request;
-+
-+ tmp = Sprintf("mode=panel&cookie=%s&bmark=%s&url=%s&title=%s"
-+#ifdef USE_M17N
-+ "&charset=%s"
-+#endif
-+ ,
-+ (Str_form_quote(localCookie()))->ptr,
-+ (Str_form_quote(Strnew_charp(BookmarkFile)))->ptr,
-+ (Str_form_quote(parsedURL2Str(&Currentbuf->currentURL)))->
-+ ptr,
-+#ifdef USE_M17N
-+ (Str_form_quote(wc_conv_strict(Currentbuf->buffername,
-+ InnerCharset,
-+ BookmarkCharset)))->ptr,
-+ wc_ces_to_charset(BookmarkCharset));
-+#else
-+ (Str_form_quote(Strnew_charp(Currentbuf->buffername)))->ptr);
-+#endif
-+ request = newFormList(NULL, "post", NULL, NULL, NULL, NULL, NULL);
-+ request->body = tmp->ptr;
-+ request->length = tmp->length;
-+ cmd_loadURL("file:///$LIB/" W3MBOOKMARK_CMDNAME, NULL, NO_REFERER,
-+ request);
-+}
-+
-+/* option setting */
-+DEFUN(ldOpt, OPTIONS, "Option setting panel")
-+{
-+ cmd_loadBuffer(load_option_panel(), BP_NO_URL, LB_NOLINK);
-+}
-+
-+/* set an option */
-+DEFUN(setOpt, SET_OPTION, "Set option")
-+{
-+ char *opt;
-+
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ opt = searchKeyData();
-+ if (opt == NULL || *opt == '\0' || strchr(opt, '=') == NULL) {
-+ if (opt != NULL && *opt != '\0') {
-+ char *v = get_param_option(opt);
-+ opt = Sprintf("%s=%s", opt, v ? v : "")->ptr;
-+ }
-+ opt = inputStrHist("Set option: ", opt, TextHist);
-+ if (opt == NULL || *opt == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ }
-+ if (set_param_option(opt))
-+ sync_with_option();
-+ displayBuffer(Currentbuf, B_REDRAW_IMAGE);
-+}
-+
-+/* error message list */
-+DEFUN(msgs, MSGS, "Display error messages")
-+{
-+ cmd_loadBuffer(message_list_panel(), BP_NO_URL, LB_NOLINK);
-+}
-+
-+/* page info */
-+DEFUN(pginfo, INFO, "View info of current document")
-+{
-+ Buffer *buf;
-+
-+ if ((buf = Currentbuf->linkBuffer[LB_N_INFO]) != NULL) {
-+ Currentbuf = buf;
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ if ((buf = Currentbuf->linkBuffer[LB_INFO]) != NULL)
-+ delBuffer(buf);
-+ buf = page_info_panel(Currentbuf);
-+ cmd_loadBuffer(buf, BP_NORMAL, LB_INFO);
-+}
-+
-+void
-+follow_map(struct parsed_tagarg *arg)
-+{
-+ char *name = tag_get_value(arg, "link");
-+#if defined(MENU_MAP) || defined(USE_IMAGE)
-+ Anchor *an;
-+ MapArea *a;
-+ int x, y;
-+ ParsedURL p_url;
-+
-+ an = retrieveCurrentImg(Currentbuf);
-+ x = Currentbuf->cursorX + Currentbuf->rootX;
-+ y = Currentbuf->cursorY + Currentbuf->rootY;
-+ a = follow_map_menu(Currentbuf, name, an, x, y);
-+ if (a == NULL || a->url == NULL || *(a->url) == '\0') {
-+#endif
-+#ifndef MENU_MAP
-+ Buffer *buf = follow_map_panel(Currentbuf, name);
-+
-+ if (buf != NULL)
-+ cmd_loadBuffer(buf, BP_NORMAL, LB_NOLINK);
-+#endif
-+#if defined(MENU_MAP) || defined(USE_IMAGE)
-+ return;
-+ }
-+ if (*(a->url) == '#') {
-+ gotoLabel(a->url + 1);
-+ return;
-+ }
-+ parseURL2(a->url, &p_url, baseURL(Currentbuf));
-+ pushHashHist(URLHist, parsedURL2Str(&p_url)->ptr);
-+ if (check_target && open_tab_blank && a->target &&
-+ (!strcasecmp(a->target, "_new") || !strcasecmp(a->target, "_blank"))) {
-+ Buffer *buf;
-+
-+ _newT();
-+ buf = Currentbuf;
-+ cmd_loadURL(a->url, baseURL(Currentbuf),
-+ parsedURL2Str(&Currentbuf->currentURL)->ptr, NULL);
-+ if (buf != Currentbuf)
-+ delBuffer(buf);
-+ else
-+ deleteTab(CurrentTab);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ return;
-+ }
-+ cmd_loadURL(a->url, baseURL(Currentbuf),
-+ parsedURL2Str(&Currentbuf->currentURL)->ptr, NULL);
-+#endif
-+}
-+
-+#ifdef USE_MENU
-+/* link menu */
-+DEFUN(linkMn, LINK_MENU, "Popup link element menu")
-+{
-+ LinkList *l = link_menu(Currentbuf);
-+ ParsedURL p_url;
-+
-+ if (!l || !l->url)
-+ return;
-+ if (*(l->url) == '#') {
-+ gotoLabel(l->url + 1);
-+ return;
-+ }
-+ parseURL2(l->url, &p_url, baseURL(Currentbuf));
-+ pushHashHist(URLHist, parsedURL2Str(&p_url)->ptr);
-+ cmd_loadURL(l->url, baseURL(Currentbuf),
-+ parsedURL2Str(&Currentbuf->currentURL)->ptr, NULL);
-+}
-+
-+static void
-+anchorMn(Anchor *(*menu_func) (Buffer *), int go)
-+{
-+ Anchor *a;
-+ BufferPoint *po;
-+
-+ if (!Currentbuf->href || !Currentbuf->hmarklist)
-+ return;
-+ a = menu_func(Currentbuf);
-+ if (!a || a->hseq < 0)
-+ return;
-+ po = &Currentbuf->hmarklist->marks[a->hseq];
-+ gotoLine(Currentbuf, po->line);
-+ Currentbuf->pos = po->pos;
-+ arrangeCursor(Currentbuf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ if (go)
-+ followA();
-+}
-+
-+/* accesskey */
-+DEFUN(accessKey, ACCESSKEY, "Popup acceskey menu")
-+{
-+ anchorMn(accesskey_menu, TRUE);
-+}
-+
-+/* list menu */
-+DEFUN(listMn, LIST_MENU, "Popup link list menu and go to selected link")
-+{
-+ anchorMn(list_menu, TRUE);
-+}
-+
-+DEFUN(movlistMn, MOVE_LIST_MENU,
-+ "Popup link list menu and move cursor to selected link")
-+{
-+ anchorMn(list_menu, FALSE);
-+}
-+#endif
-+
-+/* link,anchor,image list */
-+DEFUN(linkLst, LIST, "Show all links and images")
-+{
-+ Buffer *buf;
-+
-+ buf = link_list_panel(Currentbuf);
-+ if (buf != NULL) {
-+#ifdef USE_M17N
-+ buf->document_charset = Currentbuf->document_charset;
-+#endif
-+ cmd_loadBuffer(buf, BP_NORMAL, LB_NOLINK);
-+ }
-+}
-+
-+#ifdef USE_COOKIE
-+/* cookie list */
-+DEFUN(cooLst, COOKIE, "View cookie list")
-+{
-+ Buffer *buf;
-+
-+ buf = cookie_list_panel();
-+ if (buf != NULL)
-+ cmd_loadBuffer(buf, BP_NO_URL, LB_NOLINK);
-+}
-+#endif /* USE_COOKIE */
-+
-+#ifdef USE_HISTORY
-+/* History page */
-+DEFUN(ldHist, HISTORY, "View history of URL")
-+{
-+ cmd_loadBuffer(historyBuffer(URLHist), BP_NO_URL, LB_NOLINK);
-+}
-+#endif /* USE_HISTORY */
-+
-+/* download HREF link */
-+DEFUN(svA, SAVE_LINK, "Save link to file")
-+{
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ do_download = TRUE;
-+ followA();
-+ do_download = FALSE;
-+}
-+
-+/* download IMG link */
-+DEFUN(svI, SAVE_IMAGE, "Save image to file")
-+{
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ do_download = TRUE;
-+ followI();
-+ do_download = FALSE;
-+}
-+
-+/* save buffer */
-+DEFUN(svBuf, PRINT SAVE_SCREEN, "Save rendered document to file")
-+{
-+ char *qfile = NULL, *file;
-+ FILE *f;
-+ int is_pipe;
-+
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ file = searchKeyData();
-+ if (file == NULL || *file == '\0') {
-+ /* FIXME: gettextize? */
-+ qfile = inputLineHist("Save buffer to: ", NULL, IN_COMMAND, SaveHist);
-+ if (qfile == NULL || *qfile == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ }
-+ file = conv_to_system(qfile ? qfile : file);
-+ if (*file == '|') {
-+ is_pipe = TRUE;
-+ f = popen(file + 1, "w");
-+ }
-+ else {
-+ if (qfile) {
-+ file = unescape_spaces(Strnew_charp(qfile))->ptr;
-+ file = conv_to_system(file);
-+ }
-+ file = expandPath(file);
-+ if (checkOverWrite(file) < 0) {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ f = fopen(file, "w");
-+ is_pipe = FALSE;
-+ }
-+ if (f == NULL) {
-+ /* FIXME: gettextize? */
-+ char *emsg = Sprintf("Can't open %s", conv_from_system(file))->ptr;
-+ disp_err_message(emsg, TRUE);
-+ return;
-+ }
-+ saveBuffer(Currentbuf, f, TRUE);
-+ if (is_pipe)
-+ pclose(f);
-+ else
-+ fclose(f);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* save source */
-+DEFUN(svSrc, DOWNLOAD SAVE, "Save document source to file")
-+{
-+ char *file;
-+
-+ if (Currentbuf->sourcefile == NULL)
-+ return;
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ PermitSaveToPipe = TRUE;
-+ if (Currentbuf->real_scheme == SCM_LOCAL)
-+ file = conv_from_system(guess_save_name(NULL,
-+ Currentbuf->currentURL.
-+ real_file));
-+ else
-+ file = guess_save_name(Currentbuf, Currentbuf->currentURL.file);
-+ doFileCopy(Currentbuf->sourcefile, file);
-+ PermitSaveToPipe = FALSE;
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+static void
-+_peekURL(int only_img)
-+{
-+
-+ Anchor *a;
-+ ParsedURL pu;
-+ static Str s = NULL;
-+#ifdef USE_M17N
-+ static Lineprop *p = NULL;
-+ Lineprop *pp;
-+#endif
-+ static int offset = 0, n;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ if (CurrentKey == prev_key && s != NULL) {
-+ if (s->length - offset >= COLS)
-+ offset++;
-+ else if (s->length <= offset) /* bug ? */
-+ offset = 0;
-+ goto disp;
-+ }
-+ else {
-+ offset = 0;
-+ }
-+ s = NULL;
-+ a = (only_img ? NULL : retrieveCurrentAnchor(Currentbuf));
-+ if (a == NULL) {
-+ a = (only_img ? NULL : retrieveCurrentForm(Currentbuf));
-+ if (a == NULL) {
-+ a = retrieveCurrentImg(Currentbuf);
-+ if (a == NULL)
-+ return;
-+ }
-+ else
-+ s = Strnew_charp(form2str((FormItemList *)a->url));
-+ }
-+ if (s == NULL) {
-+ parseURL2(a->url, &pu, baseURL(Currentbuf));
-+ s = parsedURL2Str(&pu);
-+ }
-+ if (DecodeURL)
-+ s = Strnew_charp(url_unquote_conv
-+ (s->ptr, Currentbuf->document_charset));
-+#ifdef USE_M17N
-+ s = checkType(s, &pp, NULL);
-+ p = NewAtom_N(Lineprop, s->length);
-+ bcopy((void *)pp, (void *)p, s->length * sizeof(Lineprop));
-+#endif
-+ disp:
-+ n = searchKeyNum();
-+ if (n > 1 && s->length > (n - 1) * (COLS - 1))
-+ offset = (n - 1) * (COLS - 1);
-+#ifdef USE_M17N
-+ while (offset < s->length && p[offset] & PC_WCHAR2)
-+ offset++;
-+#endif
-+ disp_message_nomouse(&s->ptr[offset], TRUE);
-+}
-+
-+/* peek URL */
-+DEFUN(peekURL, PEEK_LINK, "Peek link URL")
-+{
-+ _peekURL(0);
-+}
-+
-+/* peek URL of image */
-+DEFUN(peekIMG, PEEK_IMG, "Peek image URL")
-+{
-+ _peekURL(1);
-+}
-+
-+/* show current URL */
-+static Str
-+currentURL(void)
-+{
-+ if (Currentbuf->bufferprop & BP_INTERNAL)
-+ return Strnew_size(0);
-+ return parsedURL2Str(&Currentbuf->currentURL);
-+}
-+
-+DEFUN(curURL, PEEK, "Peek current URL")
-+{
-+ static Str s = NULL;
-+#ifdef USE_M17N
-+ static Lineprop *p = NULL;
-+ Lineprop *pp;
-+#endif
-+ static int offset = 0, n;
-+
-+ if (Currentbuf->bufferprop & BP_INTERNAL)
-+ return;
-+ if (CurrentKey == prev_key && s != NULL) {
-+ if (s->length - offset >= COLS)
-+ offset++;
-+ else if (s->length <= offset) /* bug ? */
-+ offset = 0;
-+ }
-+ else {
-+ offset = 0;
-+ s = currentURL();
-+ if (DecodeURL)
-+ s = Strnew_charp(url_unquote_conv(s->ptr, 0));
-+#ifdef USE_M17N
-+ s = checkType(s, &pp, NULL);
-+ p = NewAtom_N(Lineprop, s->length);
-+ bcopy((void *)pp, (void *)p, s->length * sizeof(Lineprop));
-+#endif
-+ }
-+ n = searchKeyNum();
-+ if (n > 1 && s->length > (n - 1) * (COLS - 1))
-+ offset = (n - 1) * (COLS - 1);
-+#ifdef USE_M17N
-+ while (offset < s->length && p[offset] & PC_WCHAR2)
-+ offset++;
-+#endif
-+ disp_message_nomouse(&s->ptr[offset], TRUE);
-+}
-+/* view HTML source */
-+
-+DEFUN(vwSrc, SOURCE VIEW, "View HTML source")
-+{
-+ Buffer *buf;
-+
-+ if (Currentbuf->type == NULL || Currentbuf->bufferprop & BP_FRAME)
-+ return;
-+ if ((buf = Currentbuf->linkBuffer[LB_SOURCE]) != NULL ||
-+ (buf = Currentbuf->linkBuffer[LB_N_SOURCE]) != NULL) {
-+ Currentbuf = buf;
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ if (Currentbuf->sourcefile == NULL) {
-+ if (Currentbuf->pagerSource &&
-+ !strcasecmp(Currentbuf->type, "text/plain")) {
-+#ifdef USE_M17N
-+ wc_ces old_charset;
-+ wc_bool old_fix_width_conv;
-+#endif
-+ FILE *f;
-+ Str tmpf = tmpfname(TMPF_SRC, NULL);
-+ f = fopen(tmpf->ptr, "w");
-+ if (f == NULL)
-+ return;
-+#ifdef USE_M17N
-+ old_charset = DisplayCharset;
-+ old_fix_width_conv = WcOption.fix_width_conv;
-+ DisplayCharset = (Currentbuf->document_charset != WC_CES_US_ASCII)
-+ ? Currentbuf->document_charset : 0;
-+ WcOption.fix_width_conv = WC_FALSE;
-+#endif
-+ saveBufferBody(Currentbuf, f, TRUE);
-+#ifdef USE_M17N
-+ DisplayCharset = old_charset;
-+ WcOption.fix_width_conv = old_fix_width_conv;
-+#endif
-+ fclose(f);
-+ Currentbuf->sourcefile = tmpf->ptr;
-+ }
-+ else {
-+ return;
-+ }
-+ }
-+
-+ buf = newBuffer(INIT_BUFFER_WIDTH);
-+
-+ if (!strcasecmp(Currentbuf->type, "text/html")) {
-+ buf->type = "text/plain";
-+ if (Currentbuf->real_type &&
-+ !strcasecmp(Currentbuf->real_type, "text/html"))
-+ buf->real_type = "text/plain";
-+ else
-+ buf->real_type = Currentbuf->real_type;
-+ buf->buffername = Sprintf("source of %s", Currentbuf->buffername)->ptr;
-+ buf->linkBuffer[LB_N_SOURCE] = Currentbuf;
-+ Currentbuf->linkBuffer[LB_SOURCE] = buf;
-+ }
-+ else if (!strcasecmp(Currentbuf->type, "text/plain")) {
-+ buf->type = "text/html";
-+ if (Currentbuf->real_type &&
-+ !strcasecmp(Currentbuf->real_type, "text/plain"))
-+ buf->real_type = "text/html";
-+ else
-+ buf->real_type = Currentbuf->real_type;
-+ buf->buffername = Sprintf("HTML view of %s",
-+ Currentbuf->buffername)->ptr;
-+ buf->linkBuffer[LB_SOURCE] = Currentbuf;
-+ Currentbuf->linkBuffer[LB_N_SOURCE] = buf;
-+ }
-+ else {
-+ return;
-+ }
-+ buf->currentURL = Currentbuf->currentURL;
-+ buf->real_scheme = Currentbuf->real_scheme;
-+ buf->filename = Currentbuf->filename;
-+ buf->sourcefile = Currentbuf->sourcefile;
-+ buf->header_source = Currentbuf->header_source;
-+ buf->search_header = Currentbuf->search_header;
-+#ifdef USE_M17N
-+ buf->document_charset = Currentbuf->document_charset;
-+#endif
-+ buf->clone = Currentbuf->clone;
-+ (*buf->clone)++;
-+
-+ buf->need_reshape = TRUE;
-+ reshapeBuffer(buf);
-+ pushBuffer(buf);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+/* reload */
-+DEFUN(reload, RELOAD, "Reload buffer")
-+{
-+ Buffer *buf, *fbuf = NULL, sbuf;
-+#ifdef USE_M17N
-+ wc_ces old_charset;
-+#endif
-+ Str url;
-+ FormList *request;
-+ int multipart;
-+
-+ if (Currentbuf->bufferprop & BP_INTERNAL) {
-+ if (!strcmp(Currentbuf->buffername, DOWNLOAD_LIST_TITLE)) {
-+ ldDL();
-+ return;
-+ }
-+ /* FIXME: gettextize? */
-+ disp_err_message("Can't reload...", TRUE);
-+ return;
-+ }
-+ if (Currentbuf->currentURL.scheme == SCM_LOCAL &&
-+ !strcmp(Currentbuf->currentURL.file, "-")) {
-+ /* file is std input */
-+ /* FIXME: gettextize? */
-+ disp_err_message("Can't reload stdin", TRUE);
-+ return;
-+ }
-+ copyBuffer(&sbuf, Currentbuf);
-+ if (Currentbuf->bufferprop & BP_FRAME &&
-+ (fbuf = Currentbuf->linkBuffer[LB_N_FRAME])) {
-+ if (fmInitialized) {
-+ message("Rendering frame", 0, 0);
-+ refresh();
-+ }
-+ if (!(buf = renderFrame(fbuf, 1))) {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ if (fbuf->linkBuffer[LB_FRAME]) {
-+ if (buf->sourcefile &&
-+ fbuf->linkBuffer[LB_FRAME]->sourcefile &&
-+ !strcmp(buf->sourcefile,
-+ fbuf->linkBuffer[LB_FRAME]->sourcefile))
-+ fbuf->linkBuffer[LB_FRAME]->sourcefile = NULL;
-+ delBuffer(fbuf->linkBuffer[LB_FRAME]);
-+ }
-+ fbuf->linkBuffer[LB_FRAME] = buf;
-+ buf->linkBuffer[LB_N_FRAME] = fbuf;
-+ pushBuffer(buf);
-+ Currentbuf = buf;
-+ if (Currentbuf->firstLine) {
-+ COPY_BUFROOT(Currentbuf, &sbuf);
-+ restorePosition(Currentbuf, &sbuf);
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ return;
-+ }
-+ else if (Currentbuf->frameset != NULL)
-+ fbuf = Currentbuf->linkBuffer[LB_FRAME];
-+ multipart = 0;
-+ if (Currentbuf->form_submit) {
-+ request = Currentbuf->form_submit->parent;
-+ if (request->method == FORM_METHOD_POST
-+ && request->enctype == FORM_ENCTYPE_MULTIPART) {
-+ Str query;
-+ struct stat st;
-+ multipart = 1;
-+ query_from_followform(&query, Currentbuf->form_submit, multipart);
-+ stat(request->body, &st);
-+ request->length = st.st_size;
-+ }
-+ }
-+ else {
-+ request = NULL;
-+ }
-+ url = parsedURL2Str(&Currentbuf->currentURL);
-+ /* FIXME: gettextize? */
-+ message("Reloading...", 0, 0);
-+ refresh();
-+#ifdef USE_M17N
-+ old_charset = DocumentCharset;
-+ if (Currentbuf->document_charset != WC_CES_US_ASCII)
-+ DocumentCharset = Currentbuf->document_charset;
-+#endif
-+ SearchHeader = Currentbuf->search_header;
-+ DefaultType = Currentbuf->real_type;
-+ buf = loadGeneralFile(url->ptr, NULL, NO_REFERER, RG_NOCACHE, request);
-+#ifdef USE_M17N
-+ DocumentCharset = old_charset;
-+#endif
-+ SearchHeader = FALSE;
-+ DefaultType = NULL;
-+
-+ if (multipart)
-+ unlink(request->body);
-+ if (buf == NULL) {
-+ /* FIXME: gettextize? */
-+ disp_err_message("Can't reload...", TRUE);
-+ return;
-+ }
-+ else if (buf == NO_BUFFER) {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ if (fbuf != NULL)
-+ Firstbuf = deleteBuffer(Firstbuf, fbuf);
-+ repBuffer(Currentbuf, buf);
-+ if ((buf->type != NULL) && (sbuf.type != NULL) &&
-+ ((!strcasecmp(buf->type, "text/plain") &&
-+ !strcasecmp(sbuf.type, "text/html")) ||
-+ (!strcasecmp(buf->type, "text/html") &&
-+ !strcasecmp(sbuf.type, "text/plain")))) {
-+ vwSrc();
-+ if (Currentbuf != buf)
-+ Firstbuf = deleteBuffer(Firstbuf, buf);
-+ }
-+ Currentbuf->search_header = sbuf.search_header;
-+ Currentbuf->form_submit = sbuf.form_submit;
-+ if (Currentbuf->firstLine) {
-+ COPY_BUFROOT(Currentbuf, &sbuf);
-+ restorePosition(Currentbuf, &sbuf);
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* reshape */
-+DEFUN(reshape, RESHAPE, "Re-render buffer")
-+{
-+ Currentbuf->need_reshape = TRUE;
-+ reshapeBuffer(Currentbuf);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+#ifdef USE_M17N
-+static void
-+_docCSet(wc_ces charset)
-+{
-+ if (Currentbuf->bufferprop & BP_INTERNAL)
-+ return;
-+ if (Currentbuf->sourcefile == NULL) {
-+ disp_message("Can't reload...", FALSE);
-+ return;
-+ }
-+ Currentbuf->document_charset = charset;
-+ Currentbuf->need_reshape = TRUE;
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+void
-+change_charset(struct parsed_tagarg *arg)
-+{
-+ Buffer *buf = Currentbuf->linkBuffer[LB_N_INFO];
-+ wc_ces charset;
-+
-+ if (buf == NULL)
-+ return;
-+ delBuffer(Currentbuf);
-+ Currentbuf = buf;
-+ if (Currentbuf->bufferprop & BP_INTERNAL)
-+ return;
-+ charset = Currentbuf->document_charset;
-+ for (; arg; arg = arg->next) {
-+ if (!strcmp(arg->arg, "charset"))
-+ charset = atoi(arg->value);
-+ }
-+ _docCSet(charset);
-+}
-+
-+DEFUN(docCSet, CHARSET, "Change the current document charset")
-+{
-+ char *cs;
-+ wc_ces charset;
-+
-+ cs = searchKeyData();
-+ if (cs == NULL || *cs == '\0')
-+ /* FIXME: gettextize? */
-+ cs = inputStr("Document charset: ",
-+ wc_ces_to_charset(Currentbuf->document_charset));
-+ charset = wc_guess_charset_short(cs, 0);
-+ if (charset == 0) {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ _docCSet(charset);
-+}
-+
-+DEFUN(defCSet, DEFAULT_CHARSET, "Change the default document charset")
-+{
-+ char *cs;
-+ wc_ces charset;
-+
-+ cs = searchKeyData();
-+ if (cs == NULL || *cs == '\0')
-+ /* FIXME: gettextize? */
-+ cs = inputStr("Default document charset: ",
-+ wc_ces_to_charset(DocumentCharset));
-+ charset = wc_guess_charset_short(cs, 0);
-+ if (charset != 0)
-+ DocumentCharset = charset;
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+#endif
-+
-+/* mark URL-like patterns as anchors */
-+void
-+chkURLBuffer(Buffer *buf)
-+{
-+ static char *url_like_pat[] = {
-+ "https?://[a-zA-Z0-9][a-zA-Z0-9:%\\-\\./?=~_\\&+@#,\\$;]*[a-zA-Z0-9_/=\\-]",
-+ "file:/[a-zA-Z0-9:%\\-\\./=_\\+@#,\\$;]*",
-+#ifdef USE_GOPHER
-+ "gopher://[a-zA-Z0-9][a-zA-Z0-9:%\\-\\./_]*",
-+#endif /* USE_GOPHER */
-+ "ftp://[a-zA-Z0-9][a-zA-Z0-9:%\\-\\./=_+@#,\\$]*[a-zA-Z0-9_/]",
-+#ifdef USE_NNTP
-+ "news:[^<> ][^<> ]*",
-+ "nntp://[a-zA-Z0-9][a-zA-Z0-9:%\\-\\./_]*",
-+#endif /* USE_NNTP */
-+#ifndef USE_W3MMAILER /* see also chkExternalURIBuffer() */
-+ "mailto:[^<> ][^<> ]*@[a-zA-Z0-9][a-zA-Z0-9\\-\\._]*[a-zA-Z0-9]",
-+#endif
-+#ifdef INET6
-+ "https?://[a-zA-Z0-9:%\\-\\./_@]*\\[[a-fA-F0-9:][a-fA-F0-9:\\.]*\\][a-zA-Z0-9:%\\-\\./?=~_\\&+@#,\\$;]*",
-+ "ftp://[a-zA-Z0-9:%\\-\\./_@]*\\[[a-fA-F0-9:][a-fA-F0-9:\\.]*\\][a-zA-Z0-9:%\\-\\./=_+@#,\\$]*",
-+#endif /* INET6 */
-+ NULL
-+ };
-+ int i;
-+ for (i = 0; url_like_pat[i]; i++) {
-+ reAnchor(buf, url_like_pat[i]);
-+ }
-+#ifdef USE_EXTERNAL_URI_LOADER
-+ chkExternalURIBuffer(buf);
-+#endif
-+ buf->check_url |= CHK_URL;
-+}
-+
-+DEFUN(chkURL, MARK_URL, "Mark URL-like strings as anchors")
-+{
-+ chkURLBuffer(Currentbuf);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+DEFUN(chkWORD, MARK_WORD, "Mark current word as anchor")
-+{
-+ char *p;
-+ int spos, epos;
-+ p = getCurWord(Currentbuf, &spos, &epos, ":\"\'`<>()[]{}&|;*?$");
-+ if (p == NULL)
-+ return;
-+ reAnchorWord(Currentbuf, Currentbuf->currentLine, spos, epos);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+#ifdef USE_NNTP
-+/* mark Message-ID-like patterns as NEWS anchors */
-+void
-+chkNMIDBuffer(Buffer *buf)
-+{
-+ static char *url_like_pat[] = {
-+ "<[!-;=?-~]+@[a-zA-Z0-9\\.\\-_]+>",
-+ NULL,
-+ };
-+ int i;
-+ for (i = 0; url_like_pat[i]; i++) {
-+ reAnchorNews(buf, url_like_pat[i]);
-+ }
-+ buf->check_url |= CHK_NMID;
-+}
-+
-+DEFUN(chkNMID, MARK_MID, "Mark Message-ID-like strings as anchors")
-+{
-+ chkNMIDBuffer(Currentbuf);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+#endif /* USE_NNTP */
-+
-+/* render frame */
-+DEFUN(rFrame, FRAME, "Render frame")
-+{
-+ Buffer *buf;
-+
-+ if ((buf = Currentbuf->linkBuffer[LB_FRAME]) != NULL) {
-+ Currentbuf = buf;
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ if (Currentbuf->frameset == NULL) {
-+ if ((buf = Currentbuf->linkBuffer[LB_N_FRAME]) != NULL) {
-+ Currentbuf = buf;
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ }
-+ return;
-+ }
-+ if (fmInitialized) {
-+ message("Rendering frame", 0, 0);
-+ refresh();
-+ }
-+ buf = renderFrame(Currentbuf, 0);
-+ if (buf == NULL) {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ buf->linkBuffer[LB_N_FRAME] = Currentbuf;
-+ Currentbuf->linkBuffer[LB_FRAME] = buf;
-+ pushBuffer(buf);
-+ if (fmInitialized && display_ok)
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+/* spawn external browser */
-+static void
-+invoke_browser(char *url)
-+{
-+ Str cmd;
-+ char *browser = NULL;
-+ int bg = 0, len;
-+
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ browser = searchKeyData();
-+ if (browser == NULL || *browser == '\0') {
-+ switch (prec_num) {
-+ case 0:
-+ case 1:
-+ browser = ExtBrowser;
-+ break;
-+ case 2:
-+ browser = ExtBrowser2;
-+ break;
-+ case 3:
-+ browser = ExtBrowser3;
-+ break;
-+ }
-+ if (browser == NULL || *browser == '\0') {
-+ browser = inputStr("Browse command: ", NULL);
-+ if (browser != NULL)
-+ browser = conv_to_system(browser);
-+ }
-+ }
-+ else {
-+ browser = conv_to_system(browser);
-+ }
-+ if (browser == NULL || *browser == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+
-+ if ((len = strlen(browser)) >= 2 && browser[len - 1] == '&' &&
-+ browser[len - 2] != '\\') {
-+ browser = allocStr(browser, len - 2);
-+ bg = 1;
-+ }
-+ cmd = myExtCommand(browser, shell_quote(url), FALSE);
-+ Strremovetrailingspaces(cmd);
-+ fmTerm();
-+ mySystem(cmd->ptr, bg);
-+ fmInit();
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+DEFUN(extbrz, EXTERN, "Execute external browser")
-+{
-+ if (Currentbuf->bufferprop & BP_INTERNAL) {
-+ /* FIXME: gettextize? */
-+ disp_err_message("Can't browse...", TRUE);
-+ return;
-+ }
-+ if (Currentbuf->currentURL.scheme == SCM_LOCAL &&
-+ !strcmp(Currentbuf->currentURL.file, "-")) {
-+ /* file is std input */
-+ /* FIXME: gettextize? */
-+ disp_err_message("Can't browse stdin", TRUE);
-+ return;
-+ }
-+ invoke_browser(parsedURL2Str(&Currentbuf->currentURL)->ptr);
-+}
-+
-+DEFUN(linkbrz, EXTERN_LINK, "View current link using external browser")
-+{
-+ Anchor *a;
-+ ParsedURL pu;
-+
-+ if (Currentbuf->firstLine == NULL)
-+ return;
-+ a = retrieveCurrentAnchor(Currentbuf);
-+ if (a == NULL)
-+ return;
-+ parseURL2(a->url, &pu, baseURL(Currentbuf));
-+ invoke_browser(parsedURL2Str(&pu)->ptr);
-+}
-+
-+/* show current line number and number of lines in the entire document */
-+DEFUN(curlno, LINE_INFO, "Show current line number")
-+{
-+ Line *l = Currentbuf->currentLine;
-+ Str tmp;
-+ int cur = 0, all = 0, col = 0, len = 0;
-+
-+ if (l != NULL) {
-+ cur = l->real_linenumber;
-+ col = l->bwidth + Currentbuf->currentColumn + Currentbuf->cursorX + 1;
-+ while (l->next && l->next->bpos)
-+ l = l->next;
-+ if (l->width < 0)
-+ l->width = COLPOS(l, l->len);
-+ len = l->bwidth + l->width;
-+ }
-+ if (Currentbuf->lastLine)
-+ all = Currentbuf->lastLine->real_linenumber;
-+ if (Currentbuf->pagerSource && !(Currentbuf->bufferprop & BP_CLOSE))
-+ tmp = Sprintf("line %d col %d/%d", cur, col, len);
-+ else
-+ tmp = Sprintf("line %d/%d (%d%%) col %d/%d", cur, all,
-+ (int)((double)cur * 100.0 / (double)(all ? all : 1)
-+ + 0.5), col, len);
-+#ifdef USE_M17N
-+ Strcat_charp(tmp, " ");
-+ Strcat_charp(tmp, wc_ces_to_charset_desc(Currentbuf->document_charset));
-+#endif
-+
-+ disp_message(tmp->ptr, FALSE);
-+}
-+
-+#ifdef USE_IMAGE
-+DEFUN(dispI, DISPLAY_IMAGE, "Restart loading and drawing of images")
-+{
-+ if (!displayImage)
-+ initImage();
-+ if (!activeImage)
-+ return;
-+ displayImage = TRUE;
-+ /*
-+ * if (!(Currentbuf->type && !strcmp(Currentbuf->type, "text/html")))
-+ * return;
-+ */
-+ Currentbuf->image_flag = IMG_FLAG_AUTO;
-+ Currentbuf->need_reshape = TRUE;
-+ displayBuffer(Currentbuf, B_REDRAW_IMAGE);
-+}
-+
-+DEFUN(stopI, STOP_IMAGE, "Stop loading and drawing of images")
-+{
-+ if (!activeImage)
-+ return;
-+ /*
-+ * if (!(Currentbuf->type && !strcmp(Currentbuf->type, "text/html")))
-+ * return;
-+ */
-+ Currentbuf->image_flag = IMG_FLAG_SKIP;
-+ displayBuffer(Currentbuf, B_REDRAW_IMAGE);
-+}
-+#endif
-+
-+#ifdef USE_MOUSE
-+
-+static int
-+mouse_scroll_line(void)
-+{
-+ if (relative_wheel_scroll)
-+ return (relative_wheel_scroll_ratio * LASTLINE + 99) / 100;
-+ else
-+ return fixed_wheel_scroll_count;
-+}
-+
-+static TabBuffer *
-+posTab(int x, int y)
-+{
-+ TabBuffer *tab;
-+
-+ if (mouse_action.menu_str && x < mouse_action.menu_width && y == 0)
-+ return NO_TABBUFFER;
-+ if (y > LastTab->y)
-+ return NULL;
-+ for (tab = FirstTab; tab; tab = tab->nextTab) {
-+ if (tab->x1 <= x && x <= tab->x2 && tab->y == y)
-+ return tab;
-+ }
-+ return NULL;
-+}
-+
-+static void
-+do_mouse_action(int btn, int x, int y)
-+{
-+ MouseActionMap *map = NULL;
-+ int ny = -1;
-+
-+ if (nTab > 1 || mouse_action.menu_str)
-+ ny = LastTab->y + 1;
-+
-+ switch (btn) {
-+ case MOUSE_BTN1_DOWN:
-+ btn = 0;
-+ break;
-+ case MOUSE_BTN2_DOWN:
-+ btn = 1;
-+ break;
-+ case MOUSE_BTN3_DOWN:
-+ btn = 2;
-+ break;
-+ default:
-+ return;
-+ }
-+ if (y < ny) {
-+ if (mouse_action.menu_str && x >= 0 && x < mouse_action.menu_width) {
-+ if (mouse_action.menu_map[btn])
-+ map = &mouse_action.menu_map[btn][x];
-+ }
-+ else
-+ map = &mouse_action.tab_map[btn];
-+ }
-+ else if (y == LASTLINE) {
-+ if (mouse_action.lastline_str && x >= 0 &&
-+ x < mouse_action.lastline_width) {
-+ if (mouse_action.lastline_map[btn])
-+ map = &mouse_action.lastline_map[btn][x];
-+ }
-+ }
-+ else if (y > ny) {
-+ if (y == Currentbuf->cursorY + Currentbuf->rootY &&
-+ (x == Currentbuf->cursorX + Currentbuf->rootX
-+#ifdef USE_M17N
-+ || (WcOption.use_wide && Currentbuf->currentLine != NULL &&
-+ (CharType(Currentbuf->currentLine->propBuf[Currentbuf->pos])
-+ == PC_KANJI1)
-+ && x == Currentbuf->cursorX + Currentbuf->rootX + 1)
-+#endif
-+ )) {
-+ if (retrieveCurrentAnchor(Currentbuf) ||
-+ retrieveCurrentForm(Currentbuf)) {
-+ map = &mouse_action.active_map[btn];
-+ if (!(map && map->func))
-+ map = &mouse_action.anchor_map[btn];
-+ }
-+ }
-+ else {
-+ int cx = Currentbuf->cursorX, cy = Currentbuf->cursorY;
-+ cursorXY(Currentbuf, x - Currentbuf->rootX, y - Currentbuf->rootY);
-+ if (y == Currentbuf->cursorY + Currentbuf->rootY &&
-+ (x == Currentbuf->cursorX + Currentbuf->rootX
-+#ifdef USE_M17N
-+ || (WcOption.use_wide && Currentbuf->currentLine != NULL &&
-+ (CharType(Currentbuf->currentLine->
-+ propBuf[Currentbuf->pos]) == PC_KANJI1)
-+ && x == Currentbuf->cursorX + Currentbuf->rootX + 1)
-+#endif
-+ ) &&
-+ (retrieveCurrentAnchor(Currentbuf) ||
-+ retrieveCurrentForm(Currentbuf)))
-+ map = &mouse_action.anchor_map[btn];
-+ cursorXY(Currentbuf, cx, cy);
-+ }
-+ }
-+ else {
-+ return;
-+ }
-+ if (!(map && map->func))
-+ map = &mouse_action.default_map[btn];
-+ if (map && map->func) {
-+ mouse_action.in_action = TRUE;
-+ mouse_action.cursorX = x;
-+ mouse_action.cursorY = y;
-+ CurrentKey = -1;
-+ CurrentKeyData = NULL;
-+ CurrentCmdData = map->data;
-+ (*map->func) ();
-+ CurrentCmdData = NULL;
-+ }
-+}
-+
-+static void
-+process_mouse(int btn, int x, int y)
-+{
-+ int delta_x, delta_y, i;
-+ static int press_btn = MOUSE_BTN_RESET, press_x, press_y;
-+ TabBuffer *t;
-+ int ny = -1;
-+
-+ if (nTab > 1 || mouse_action.menu_str)
-+ ny = LastTab->y + 1;
-+ if (btn == MOUSE_BTN_UP) {
-+ switch (press_btn) {
-+ case MOUSE_BTN1_DOWN:
-+ if (press_y == y && press_x == x)
-+ do_mouse_action(press_btn, x, y);
-+ else if (ny > 0 && y < ny) {
-+ if (press_y < ny) {
-+ moveTab(posTab(press_x, press_y), posTab(x, y),
-+ (press_y == y) ? (press_x < x) : (press_y < y));
-+ return;
-+ }
-+ else if (press_x >= Currentbuf->rootX) {
-+ Buffer *buf = Currentbuf;
-+ int cx = Currentbuf->cursorX, cy = Currentbuf->cursorY;
-+
-+ t = posTab(x, y);
-+ if (t == NULL)
-+ return;
-+ if (t == NO_TABBUFFER)
-+ t = NULL; /* open new tab */
-+ cursorXY(Currentbuf, press_x - Currentbuf->rootX,
-+ press_y - Currentbuf->rootY);
-+ if (Currentbuf->cursorY == press_y - Currentbuf->rootY &&
-+ (Currentbuf->cursorX == press_x - Currentbuf->rootX
-+#ifdef USE_M17N
-+ || (WcOption.use_wide &&
-+ Currentbuf->currentLine != NULL &&
-+ (CharType(Currentbuf->currentLine->
-+ propBuf[Currentbuf->pos]) == PC_KANJI1)
-+ && Currentbuf->cursorX == press_x
-+ - Currentbuf->rootX - 1)
-+#endif
-+ )) {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ followTab(t);
-+ }
-+ if (buf == Currentbuf)
-+ cursorXY(Currentbuf, cx, cy);
-+ }
-+ return;
-+ }
-+ else {
-+ delta_x = x - press_x;
-+ delta_y = y - press_y;
-+
-+ if (abs(delta_x) < abs(delta_y) / 3)
-+ delta_x = 0;
-+ if (abs(delta_y) < abs(delta_x) / 3)
-+ delta_y = 0;
-+ if (reverse_mouse) {
-+ delta_y = -delta_y;
-+ delta_x = -delta_x;
-+ }
-+ if (delta_y > 0) {
-+ prec_num = delta_y;
-+ ldown1();
-+ }
-+ else if (delta_y < 0) {
-+ prec_num = -delta_y;
-+ lup1();
-+ }
-+ if (delta_x > 0) {
-+ prec_num = delta_x;
-+ col1L();
-+ }
-+ else if (delta_x < 0) {
-+ prec_num = -delta_x;
-+ col1R();
-+ }
-+ }
-+ break;
-+ case MOUSE_BTN2_DOWN:
-+ case MOUSE_BTN3_DOWN:
-+ if (press_y == y && press_x == x)
-+ do_mouse_action(press_btn, x, y);
-+ break;
-+ case MOUSE_BTN4_DOWN_RXVT:
-+ for (i = 0; i < mouse_scroll_line(); i++)
-+ ldown1();
-+ break;
-+ case MOUSE_BTN5_DOWN_RXVT:
-+ for (i = 0; i < mouse_scroll_line(); i++)
-+ lup1();
-+ break;
-+ }
-+ }
-+ else if (btn == MOUSE_BTN4_DOWN_XTERM) {
-+ for (i = 0; i < mouse_scroll_line(); i++)
-+ ldown1();
-+ }
-+ else if (btn == MOUSE_BTN5_DOWN_XTERM) {
-+ for (i = 0; i < mouse_scroll_line(); i++)
-+ lup1();
-+ }
-+
-+ if (btn != MOUSE_BTN4_DOWN_RXVT || press_btn == MOUSE_BTN_RESET) {
-+ press_btn = btn;
-+ press_x = x;
-+ press_y = y;
-+ }
-+ else {
-+ press_btn = MOUSE_BTN_RESET;
-+ }
-+}
-+
-+DEFUN(msToggle, MOUSE_TOGGLE, "Toggle activity of mouse")
-+{
-+ if (use_mouse) {
-+ use_mouse = FALSE;
-+ }
-+ else {
-+ use_mouse = TRUE;
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+DEFUN(mouse, MOUSE, "mouse operation")
-+{
-+ int btn, x, y;
-+
-+ btn = (unsigned char)getch() - 32;
-+#if defined(__CYGWIN__) && CYGWIN_VERSION_DLL_MAJOR < 1005
-+ if (cygwin_mouse_btn_swapped) {
-+ if (btn == MOUSE_BTN2_DOWN)
-+ btn = MOUSE_BTN3_DOWN;
-+ else if (btn == MOUSE_BTN3_DOWN)
-+ btn = MOUSE_BTN2_DOWN;
-+ }
-+#endif
-+ x = (unsigned char)getch() - 33;
-+ if (x < 0)
-+ x += 0x100;
-+ y = (unsigned char)getch() - 33;
-+ if (y < 0)
-+ y += 0x100;
-+
-+ if (x < 0 || x >= COLS || y < 0 || y > LASTLINE)
-+ return;
-+ process_mouse(btn, x, y);
-+}
-+
-+#ifdef USE_GPM
-+int
-+gpm_process_mouse(Gpm_Event * event, void *data)
-+{
-+ int btn = MOUSE_BTN_RESET, x, y;
-+ if (event->type & GPM_UP)
-+ btn = MOUSE_BTN_UP;
-+ else if (event->type & GPM_DOWN) {
-+ switch (event->buttons) {
-+ case GPM_B_LEFT:
-+ btn = MOUSE_BTN1_DOWN;
-+ break;
-+ case GPM_B_MIDDLE:
-+ btn = MOUSE_BTN2_DOWN;
-+ break;
-+ case GPM_B_RIGHT:
-+ btn = MOUSE_BTN3_DOWN;
-+ break;
-+ }
-+ }
-+ else {
-+ GPM_DRAWPOINTER(event);
-+ return 0;
-+ }
-+ x = event->x;
-+ y = event->y;
-+ process_mouse(btn, x - 1, y - 1);
-+ return 0;
-+}
-+#endif /* USE_GPM */
-+
-+#ifdef USE_SYSMOUSE
-+int
-+sysm_process_mouse(int x, int y, int nbs, int obs)
-+{
-+ int btn;
-+ int bits;
-+
-+ if (obs & ~nbs)
-+ btn = MOUSE_BTN_UP;
-+ else if (nbs & ~obs) {
-+ bits = nbs & ~obs;
-+ btn = bits & 0x1 ? MOUSE_BTN1_DOWN :
-+ (bits & 0x2 ? MOUSE_BTN2_DOWN :
-+ (bits & 0x4 ? MOUSE_BTN3_DOWN : 0));
-+ }
-+ else /* nbs == obs */
-+ return 0;
-+ process_mouse(btn, x, y);
-+ return 0;
-+}
-+#endif /* USE_SYSMOUSE */
-+
-+DEFUN(movMs, MOVE_MOUSE, "Move cursor to mouse cursor (for mouse action)")
-+{
-+ if (!mouse_action.in_action)
-+ return;
-+ if ((nTab > 1 || mouse_action.menu_str) &&
-+ mouse_action.cursorY < LastTab->y + 1)
-+ return;
-+ else if (mouse_action.cursorX >= Currentbuf->rootX &&
-+ mouse_action.cursorY < LASTLINE) {
-+ cursorXY(Currentbuf, mouse_action.cursorX - Currentbuf->rootX,
-+ mouse_action.cursorY - Currentbuf->rootY);
-+ }
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+#ifdef USE_MENU
-+#ifdef KANJI_SYMBOLS
-+#define FRAME_WIDTH 2
-+#else
-+#define FRAME_WIDTH 1
-+#endif
-+
-+DEFUN(menuMs, MENU_MOUSE, "Popup menu at mouse cursor (for mouse action)")
-+{
-+ if (!mouse_action.in_action)
-+ return;
-+ if ((nTab > 1 || mouse_action.menu_str) &&
-+ mouse_action.cursorY < LastTab->y + 1)
-+ mouse_action.cursorX -= FRAME_WIDTH + 1;
-+ else if (mouse_action.cursorX >= Currentbuf->rootX &&
-+ mouse_action.cursorY < LASTLINE) {
-+ cursorXY(Currentbuf, mouse_action.cursorX - Currentbuf->rootX,
-+ mouse_action.cursorY - Currentbuf->rootY);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ }
-+ mainMn();
-+}
-+#endif
-+
-+DEFUN(tabMs, TAB_MOUSE, "Move to tab on mouse cursor (for mouse action)")
-+{
-+ TabBuffer *tab;
-+
-+ if (!mouse_action.in_action)
-+ return;
-+ tab = posTab(mouse_action.cursorX, mouse_action.cursorY);
-+ if (!tab || tab == NO_TABBUFFER)
-+ return;
-+ CurrentTab = tab;
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+DEFUN(closeTMs, CLOSE_TAB_MOUSE,
-+ "Close tab on mouse cursor (for mouse action)")
-+{
-+ TabBuffer *tab;
-+
-+ if (!mouse_action.in_action)
-+ return;
-+ tab = posTab(mouse_action.cursorX, mouse_action.cursorY);
-+ if (!tab || tab == NO_TABBUFFER)
-+ return;
-+ deleteTab(tab);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+#endif /* USE_MOUSE */
-+
-+DEFUN(dispVer, VERSION, "Display version of w3m")
-+{
-+ disp_message(Sprintf("w3m version %s", w3m_version)->ptr, TRUE);
-+}
-+
-+DEFUN(wrapToggle, WRAP_TOGGLE, "Toggle wrap search mode")
-+{
-+ if (WrapSearch) {
-+ WrapSearch = FALSE;
-+ /* FIXME: gettextize? */
-+ disp_message("Wrap search off", TRUE);
-+ }
-+ else {
-+ WrapSearch = TRUE;
-+ /* FIXME: gettextize? */
-+ disp_message("Wrap search on", TRUE);
-+ }
-+}
-+
-+static int
-+is_wordchar(int c, const char *badchars)
-+{
-+ if (badchars)
-+ return !(IS_SPACE(c) || strchr(badchars, c));
-+ else
-+ return IS_ALPHA(c);
-+}
-+
-+static char *
-+getCurWord(Buffer *buf, int *spos, int *epos, const char *badchars)
-+{
-+ char *p;
-+ Line *l = buf->currentLine;
-+ int b, e;
-+
-+ *spos = 0;
-+ *epos = 0;
-+ if (l == NULL)
-+ return NULL;
-+ p = l->lineBuf;
-+ e = buf->pos;
-+ while (e > 0 && !is_wordchar(p[e], badchars))
-+ e--;
-+ if (!is_wordchar(p[e], badchars))
-+ return NULL;
-+ b = e;
-+ while (b > 0 && is_wordchar(p[b - 1], badchars))
-+ b--;
-+ while (e < l->len && is_wordchar(p[e], badchars))
-+ e++;
-+ *spos = b;
-+ *epos = e;
-+ return &p[b];
-+}
-+
-+static char *
-+GetWord(Buffer *buf)
-+{
-+ int b, e;
-+ char *p;
-+
-+ if ((p = getCurWord(buf, &b, &e, 0)) != NULL) {
-+ return Strnew_charp_n(p, e - b)->ptr;
-+ }
-+ return NULL;
-+}
-+
-+#ifdef USE_DICT
-+static void
-+execdict(char *word)
-+{
-+ char *w, *dictcmd;
-+ Buffer *buf;
-+
-+ if (!UseDictCommand || word == NULL || *word == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ w = conv_to_system(word);
-+ if (*w == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ dictcmd = Sprintf("%s?%s", DictCommand,
-+ Str_form_quote(Strnew_charp(w))->ptr)->ptr;
-+ buf = loadGeneralFile(dictcmd, NULL, NO_REFERER, 0, NULL);
-+ if (buf == NULL) {
-+ disp_message("Execution failed", TRUE);
-+ return;
-+ }
-+ else {
-+ buf->filename = w;
-+ buf->buffername = Sprintf("%s %s", DICTBUFFERNAME, word)->ptr;
-+ if (buf->type == NULL)
-+ buf->type = "text/plain";
-+ pushBuffer(buf);
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+DEFUN(dictword, DICT_WORD, "Execute dictionary command (see README.dict)")
-+{
-+ execdict(inputStr("(dictionary)!", ""));
-+}
-+
-+DEFUN(dictwordat, DICT_WORD_AT,
-+ "Execute dictionary command for word at cursor")
-+{
-+ execdict(GetWord(Currentbuf));
-+}
-+#endif /* USE_DICT */
-+
-+void
-+set_buffer_environ(Buffer *buf)
-+{
-+ static Buffer *prev_buf = NULL;
-+ static Line *prev_line = NULL;
-+ static int prev_pos = -1;
-+ Line *l;
-+
-+ if (buf == NULL)
-+ return;
-+ if (buf != prev_buf) {
-+ set_environ("W3M_SOURCEFILE", buf->sourcefile);
-+ set_environ("W3M_FILENAME", buf->filename);
-+ set_environ("W3M_TITLE", buf->buffername);
-+ set_environ("W3M_URL", parsedURL2Str(&buf->currentURL)->ptr);
-+ set_environ("W3M_TYPE", buf->real_type ? buf->real_type : "unknown");
-+#ifdef USE_M17N
-+ set_environ("W3M_CHARSET", wc_ces_to_charset(buf->document_charset));
-+#endif
-+ }
-+ l = buf->currentLine;
-+ if (l && (buf != prev_buf || l != prev_line || buf->pos != prev_pos)) {
-+ Anchor *a;
-+ ParsedURL pu;
-+ char *s = GetWord(buf);
-+ set_environ("W3M_CURRENT_WORD", s ? s : "");
-+ a = retrieveCurrentAnchor(buf);
-+ if (a) {
-+ parseURL2(a->url, &pu, baseURL(buf));
-+ set_environ("W3M_CURRENT_LINK", parsedURL2Str(&pu)->ptr);
-+ }
-+ else
-+ set_environ("W3M_CURRENT_LINK", "");
-+ a = retrieveCurrentImg(buf);
-+ if (a) {
-+ parseURL2(a->url, &pu, baseURL(buf));
-+ set_environ("W3M_CURRENT_IMG", parsedURL2Str(&pu)->ptr);
-+ }
-+ else
-+ set_environ("W3M_CURRENT_IMG", "");
-+ a = retrieveCurrentForm(buf);
-+ if (a)
-+ set_environ("W3M_CURRENT_FORM", form2str((FormItemList *)a->url));
-+ else
-+ set_environ("W3M_CURRENT_FORM", "");
-+ set_environ("W3M_CURRENT_LINE", Sprintf("%d",
-+ l->real_linenumber)->ptr);
-+ set_environ("W3M_CURRENT_COLUMN", Sprintf("%d",
-+ buf->currentColumn +
-+ buf->cursorX + 1)->ptr);
-+ }
-+ else if (!l) {
-+ set_environ("W3M_CURRENT_WORD", "");
-+ set_environ("W3M_CURRENT_LINK", "");
-+ set_environ("W3M_CURRENT_IMG", "");
-+ set_environ("W3M_CURRENT_FORM", "");
-+ set_environ("W3M_CURRENT_LINE", "0");
-+ set_environ("W3M_CURRENT_COLUMN", "0");
-+ }
-+ prev_buf = buf;
-+ prev_line = l;
-+ prev_pos = buf->pos;
-+}
-+
-+char *
-+searchKeyData(void)
-+{
-+ char *data = NULL;
-+
-+ if (CurrentKeyData != NULL && *CurrentKeyData != '\0')
-+ data = CurrentKeyData;
-+ else if (CurrentCmdData != NULL && *CurrentCmdData != '\0')
-+ data = CurrentCmdData;
-+ else if (CurrentKey >= 0)
-+ data = getKeyData(CurrentKey);
-+ CurrentKeyData = NULL;
-+ CurrentCmdData = NULL;
-+ if (data == NULL || *data == '\0')
-+ return NULL;
-+ return allocStr(data, -1);
-+}
-+
-+static int
-+searchKeyNum(void)
-+{
-+ char *d;
-+ int n = 1;
-+
-+ d = searchKeyData();
-+ if (d != NULL)
-+ n = atoi(d);
-+ return n * PREC_NUM;
-+}
-+
-+#ifdef __EMX__
-+#ifdef USE_M17N
-+static char *
-+getCodePage(void)
-+{
-+ unsigned long CpList[8], CpSize;
-+
-+ if (!getenv("WINDOWID") && !DosQueryCp(sizeof(CpList), CpList, &CpSize))
-+ return Sprintf("CP%d", *CpList)->ptr;
-+ return NULL;
-+}
-+#endif
-+#endif
-+
-+void
-+deleteFiles()
-+{
-+ Buffer *buf;
-+ char *f;
-+
-+ for (CurrentTab = FirstTab; CurrentTab; CurrentTab = CurrentTab->nextTab) {
-+ while (Firstbuf && Firstbuf != NO_BUFFER) {
-+ buf = Firstbuf->nextBuffer;
-+ discardBuffer(Firstbuf);
-+ Firstbuf = buf;
-+ }
-+ }
-+ while ((f = popText(fileToDelete)) != NULL)
-+ unlink(f);
-+}
-+
-+void
-+w3m_exit(int i)
-+{
-+#ifdef USE_MIGEMO
-+ init_migemo(); /* close pipe to migemo */
-+#endif
-+ stopDownload();
-+ deleteFiles();
-+#ifdef USE_SSL
-+ free_ssl_ctx();
-+#endif
-+ disconnectFTP();
-+#ifdef USE_NNTP
-+ disconnectNews();
-+#endif
-+#ifdef __MINGW32_VERSION
-+ WSACleanup();
-+#endif
-+ exit(i);
-+}
-+
-+DEFUN(execCmd, COMMAND, "Execute w3m command(s)")
-+{
-+ char *data, *p;
-+ int cmd;
-+
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ data = searchKeyData();
-+ if (data == NULL || *data == '\0') {
-+ data = inputStrHist("command [; ...]: ", "", TextHist);
-+ if (data == NULL) {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ }
-+ /* data: FUNC [DATA] [; FUNC [DATA] ...] */
-+ while (*data) {
-+ SKIP_BLANKS(data);
-+ if (*data == ';') {
-+ data++;
-+ continue;
-+ }
-+ p = getWord(&data);
-+ cmd = getFuncList(p);
-+ if (cmd < 0)
-+ break;
-+ p = getQWord(&data);
-+ CurrentKey = -1;
-+ CurrentKeyData = NULL;
-+ CurrentCmdData = *p ? p : NULL;
-+#ifdef USE_MOUSE
-+ if (use_mouse)
-+ mouse_inactive();
-+#endif
-+ w3mFuncList[cmd].func();
-+#ifdef USE_MOUSE
-+ if (use_mouse)
-+ mouse_active();
-+#endif
-+ CurrentCmdData = NULL;
-+ }
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+#ifdef USE_ALARM
-+static MySignalHandler
-+SigAlarm(SIGNAL_ARG)
-+{
-+ char *data;
-+
-+ if (CurrentAlarm->sec > 0) {
-+ CurrentKey = -1;
-+ CurrentKeyData = NULL;
-+ CurrentCmdData = data = (char *)CurrentAlarm->data;
-+#ifdef USE_MOUSE
-+ if (use_mouse)
-+ mouse_inactive();
-+#endif
-+ w3mFuncList[CurrentAlarm->cmd].func();
-+#ifdef USE_MOUSE
-+ if (use_mouse)
-+ mouse_active();
-+#endif
-+ CurrentCmdData = NULL;
-+ if (CurrentAlarm->status == AL_IMPLICIT_ONCE) {
-+ CurrentAlarm->sec = 0;
-+ CurrentAlarm->status = AL_UNSET;
-+ }
-+ if (Currentbuf->event) {
-+ if (Currentbuf->event->status != AL_UNSET)
-+ CurrentAlarm = Currentbuf->event;
-+ else
-+ Currentbuf->event = NULL;
-+ }
-+ if (!Currentbuf->event)
-+ CurrentAlarm = &DefaultAlarm;
-+ if (CurrentAlarm->sec > 0) {
-+ mySignal(SIGALRM, SigAlarm);
-+ alarm(CurrentAlarm->sec);
-+ }
-+ }
-+ SIGNAL_RETURN;
-+}
-+
-+
-+DEFUN(setAlarm, ALARM, "Set alarm")
-+{
-+ char *data;
-+ int sec = 0, cmd = -1;
-+
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ data = searchKeyData();
-+ if (data == NULL || *data == '\0') {
-+ data = inputStrHist("(Alarm)sec command: ", "", TextHist);
-+ if (data == NULL) {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ }
-+ if (*data != '\0') {
-+ sec = atoi(getWord(&data));
-+ if (sec > 0)
-+ cmd = getFuncList(getWord(&data));
-+ }
-+ if (cmd >= 0) {
-+ data = getQWord(&data);
-+ setAlarmEvent(&DefaultAlarm, sec, AL_EXPLICIT, cmd, data);
-+ disp_message_nsec(Sprintf("%dsec %s %s", sec, w3mFuncList[cmd].id,
-+ data)->ptr, FALSE, 1, FALSE, TRUE);
-+ }
-+ else {
-+ setAlarmEvent(&DefaultAlarm, 0, AL_UNSET, FUNCNAME_nulcmd, NULL);
-+ }
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+AlarmEvent *
-+setAlarmEvent(AlarmEvent * event, int sec, short status, int cmd, void *data)
-+{
-+ if (event == NULL)
-+ event = New(AlarmEvent);
-+ event->sec = sec;
-+ event->status = status;
-+ event->cmd = cmd;
-+ event->data = data;
-+ return event;
-+}
-+#endif
-+
-+DEFUN(reinit, REINIT, "Reload configuration files")
-+{
-+ char *resource = searchKeyData();
-+
-+ if (resource == NULL) {
-+ init_rc();
-+ sync_with_option();
-+#ifdef USE_COOKIE
-+ initCookie();
-+#endif
-+ displayBuffer(Currentbuf, B_REDRAW_IMAGE);
-+ return;
-+ }
-+
-+ if (!strcasecmp(resource, "CONFIG") || !strcasecmp(resource, "RC")) {
-+ init_rc();
-+ sync_with_option();
-+ displayBuffer(Currentbuf, B_REDRAW_IMAGE);
-+ return;
-+ }
-+
-+#ifdef USE_COOKIE
-+ if (!strcasecmp(resource, "COOKIE")) {
-+ initCookie();
-+ return;
-+ }
-+#endif
-+
-+ if (!strcasecmp(resource, "KEYMAP")) {
-+ initKeymap(TRUE);
-+ return;
-+ }
-+
-+ if (!strcasecmp(resource, "MAILCAP")) {
-+ initMailcap();
-+ return;
-+ }
-+
-+#ifdef USE_MOUSE
-+ if (!strcasecmp(resource, "MOUSE")) {
-+ initMouseAction();
-+ displayBuffer(Currentbuf, B_REDRAW_IMAGE);
-+ return;
-+ }
-+#endif
-+
-+#ifdef USE_MENU
-+ if (!strcasecmp(resource, "MENU")) {
-+ initMenu();
-+ return;
-+ }
-+#endif
-+
-+ if (!strcasecmp(resource, "MIMETYPES")) {
-+ initMimeTypes();
-+ return;
-+ }
-+
-+#ifdef USE_EXTERNAL_URI_LOADER
-+ if (!strcasecmp(resource, "URIMETHODS")) {
-+ initURIMethods();
-+ return;
-+ }
-+#endif
-+
-+ disp_err_message(Sprintf("Don't know how to reinitialize '%s'", resource)->
-+ ptr, FALSE);
-+}
-+
-+DEFUN(defKey, DEFINE_KEY,
-+ "Define a binding between a key stroke and a user command")
-+{
-+ char *data;
-+
-+ CurrentKeyData = NULL; /* not allowed in w3m-control: */
-+ data = searchKeyData();
-+ if (data == NULL || *data == '\0') {
-+ data = inputStrHist("Key definition: ", "", TextHist);
-+ if (data == NULL || *data == '\0') {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ }
-+ setKeymap(allocStr(data, -1), -1, TRUE);
-+ displayBuffer(Currentbuf, B_NORMAL);
-+}
-+
-+TabBuffer *
-+newTab(void)
-+{
-+ TabBuffer *n;
-+
-+ n = New(TabBuffer);
-+ if (n == NULL)
-+ return NULL;
-+ n->nextTab = NULL;
-+ n->currentBuffer = NULL;
-+ n->firstBuffer = NULL;
-+ return n;
-+}
-+
-+static void
-+_newT(void)
-+{
-+ TabBuffer *tag;
-+ Buffer *buf;
-+ int i;
-+
-+ tag = newTab();
-+ if (!tag)
-+ return;
-+
-+ buf = newBuffer(Currentbuf->width);
-+ copyBuffer(buf, Currentbuf);
-+ buf->nextBuffer = NULL;
-+ for (i = 0; i < MAX_LB; i++)
-+ buf->linkBuffer[i] = NULL;
-+ (*buf->clone)++;
-+ tag->firstBuffer = tag->currentBuffer = buf;
-+
-+ tag->nextTab = CurrentTab->nextTab;
-+ tag->prevTab = CurrentTab;
-+ if (CurrentTab->nextTab)
-+ CurrentTab->nextTab->prevTab = tag;
-+ else
-+ LastTab = tag;
-+ CurrentTab->nextTab = tag;
-+ CurrentTab = tag;
-+ nTab++;
-+}
-+
-+DEFUN(newT, NEW_TAB, "Open new tab")
-+{
-+ _newT();
-+ displayBuffer(Currentbuf, B_REDRAW_IMAGE);
-+}
-+
-+static TabBuffer *
-+numTab(int n)
-+{
-+ TabBuffer *tab;
-+ int i;
-+
-+ if (n == 0)
-+ return CurrentTab;
-+ if (n == 1)
-+ return FirstTab;
-+ if (nTab <= 1)
-+ return NULL;
-+ for (tab = FirstTab, i = 1; tab && i < n; tab = tab->nextTab, i++) ;
-+ return tab;
-+}
-+
-+void
-+calcTabPos(void)
-+{
-+ TabBuffer *tab;
-+#if 0
-+ int lcol = 0, rcol = 2, col;
-+#else
-+ int lcol = 0, rcol = 0, col;
-+#endif
-+ int n1, n2, na, nx, ny, ix, iy;
-+
-+#ifdef USE_MOUSE
-+ lcol = mouse_action.menu_str ? mouse_action.menu_width : 0;
-+#endif
-+
-+ if (nTab <= 0)
-+ return;
-+ n1 = (COLS - rcol - lcol) / TabCols;
-+ if (n1 >= nTab) {
-+ n2 = 1;
-+ ny = 1;
-+ }
-+ else {
-+ if (n1 < 0)
-+ n1 = 0;
-+ n2 = COLS / TabCols;
-+ if (n2 == 0)
-+ n2 = 1;
-+ ny = (nTab - n1 - 1) / n2 + 2;
-+ }
-+ na = n1 + n2 * (ny - 1);
-+ n1 -= (na - nTab) / ny;
-+ if (n1 < 0)
-+ n1 = 0;
-+ na = n1 + n2 * (ny - 1);
-+ tab = FirstTab;
-+ for (iy = 0; iy < ny && tab; iy++) {
-+ if (iy == 0) {
-+ nx = n1;
-+ col = COLS - rcol - lcol;
-+ }
-+ else {
-+ nx = n2 - (na - nTab + (iy - 1)) / (ny - 1);
-+ col = COLS;
-+ }
-+ for (ix = 0; ix < nx && tab; ix++, tab = tab->nextTab) {
-+ tab->x1 = col * ix / nx;
-+ tab->x2 = col * (ix + 1) / nx - 1;
-+ tab->y = iy;
-+ if (iy == 0) {
-+ tab->x1 += lcol;
-+ tab->x2 += lcol;
-+ }
-+ }
-+ }
-+}
-+
-+TabBuffer *
-+deleteTab(TabBuffer * tab)
-+{
-+ Buffer *buf, *next;
-+
-+ if (nTab <= 1)
-+ return FirstTab;
-+ if (tab->prevTab) {
-+ if (tab->nextTab)
-+ tab->nextTab->prevTab = tab->prevTab;
-+ else
-+ LastTab = tab->prevTab;
-+ tab->prevTab->nextTab = tab->nextTab;
-+ if (tab == CurrentTab)
-+ CurrentTab = tab->prevTab;
-+ }
-+ else { /* tab == FirstTab */
-+ tab->nextTab->prevTab = NULL;
-+ FirstTab = tab->nextTab;
-+ if (tab == CurrentTab)
-+ CurrentTab = tab->nextTab;
-+ }
-+ nTab--;
-+ buf = tab->firstBuffer;
-+ while (buf && buf != NO_BUFFER) {
-+ next = buf->nextBuffer;
-+ discardBuffer(buf);
-+ buf = next;
-+ }
-+ return FirstTab;
-+}
-+
-+DEFUN(closeT, CLOSE_TAB, "Close current tab")
-+{
-+ TabBuffer *tab;
-+
-+ if (nTab <= 1)
-+ return;
-+ if (prec_num)
-+ tab = numTab(PREC_NUM);
-+ else
-+ tab = CurrentTab;
-+ if (tab)
-+ deleteTab(tab);
-+ displayBuffer(Currentbuf, B_REDRAW_IMAGE);
-+}
-+
-+DEFUN(nextT, NEXT_TAB, "Move to next tab")
-+{
-+ int i;
-+
-+ if (nTab <= 1)
-+ return;
-+ for (i = 0; i < PREC_NUM; i++) {
-+ if (CurrentTab->nextTab)
-+ CurrentTab = CurrentTab->nextTab;
-+ else
-+ CurrentTab = FirstTab;
-+ }
-+ displayBuffer(Currentbuf, B_REDRAW_IMAGE);
-+}
-+
-+DEFUN(prevT, PREV_TAB, "Move to previous tab")
-+{
-+ int i;
-+
-+ if (nTab <= 1)
-+ return;
-+ for (i = 0; i < PREC_NUM; i++) {
-+ if (CurrentTab->prevTab)
-+ CurrentTab = CurrentTab->prevTab;
-+ else
-+ CurrentTab = LastTab;
-+ }
-+ displayBuffer(Currentbuf, B_REDRAW_IMAGE);
-+}
-+
-+static void
-+followTab(TabBuffer * tab)
-+{
-+ Buffer *buf;
-+ Anchor *a;
-+
-+#ifdef USE_IMAGE
-+ a = retrieveCurrentImg(Currentbuf);
-+ if (!(a && a->image && a->image->map))
-+#endif
-+ a = retrieveCurrentAnchor(Currentbuf);
-+ if (a == NULL)
-+ return;
-+
-+ if (tab == CurrentTab) {
-+ check_target = FALSE;
-+ followA();
-+ check_target = TRUE;
-+ return;
-+ }
-+ _newT();
-+ buf = Currentbuf;
-+ check_target = FALSE;
-+ followA();
-+ check_target = TRUE;
-+ if (tab == NULL) {
-+ if (buf != Currentbuf)
-+ delBuffer(buf);
-+ else
-+ deleteTab(CurrentTab);
-+ }
-+ else if (buf != Currentbuf) {
-+ /* buf <- p <- ... <- Currentbuf = c */
-+ Buffer *c, *p;
-+
-+ c = Currentbuf;
-+ p = prevBuffer(c, buf);
-+ p->nextBuffer = NULL;
-+ Firstbuf = buf;
-+ deleteTab(CurrentTab);
-+ CurrentTab = tab;
-+ for (buf = p; buf; buf = p) {
-+ p = prevBuffer(c, buf);
-+ pushBuffer(buf);
-+ }
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+DEFUN(tabA, TAB_LINK, "Open current link on new tab")
-+{
-+ followTab(prec_num ? numTab(PREC_NUM) : NULL);
-+}
-+
-+static void
-+tabURL0(TabBuffer * tab, char *prompt, int relative)
-+{
-+ Buffer *buf;
-+
-+ if (tab == CurrentTab) {
-+ goURL0(prompt, relative);
-+ return;
-+ }
-+ _newT();
-+ buf = Currentbuf;
-+ goURL0(prompt, relative);
-+ if (tab == NULL) {
-+ if (buf != Currentbuf)
-+ delBuffer(buf);
-+ else
-+ deleteTab(CurrentTab);
-+ }
-+ else if (buf != Currentbuf) {
-+ /* buf <- p <- ... <- Currentbuf = c */
-+ Buffer *c, *p;
-+
-+ c = Currentbuf;
-+ p = prevBuffer(c, buf);
-+ p->nextBuffer = NULL;
-+ Firstbuf = buf;
-+ deleteTab(CurrentTab);
-+ CurrentTab = tab;
-+ for (buf = p; buf; buf = p) {
-+ p = prevBuffer(c, buf);
-+ pushBuffer(buf);
-+ }
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+DEFUN(tabURL, TAB_GOTO, "Open URL on new tab")
-+{
-+ tabURL0(prec_num ? numTab(PREC_NUM) : NULL,
-+ "Goto URL on new tab: ", FALSE);
-+}
-+
-+DEFUN(tabrURL, TAB_GOTO_RELATIVE, "Open relative URL on new tab")
-+{
-+ tabURL0(prec_num ? numTab(PREC_NUM) : NULL,
-+ "Goto relative URL on new tab: ", TRUE);
-+}
-+
-+static void
-+moveTab(TabBuffer * t, TabBuffer * t2, int right)
-+{
-+ if (t2 == NO_TABBUFFER)
-+ t2 = FirstTab;
-+ if (!t || !t2 || t == t2 || t == NO_TABBUFFER)
-+ return;
-+ if (t->prevTab) {
-+ if (t->nextTab)
-+ t->nextTab->prevTab = t->prevTab;
-+ else
-+ LastTab = t->prevTab;
-+ t->prevTab->nextTab = t->nextTab;
-+ }
-+ else {
-+ t->nextTab->prevTab = NULL;
-+ FirstTab = t->nextTab;
-+ }
-+ if (right) {
-+ t->nextTab = t2->nextTab;
-+ t->prevTab = t2;
-+ if (t2->nextTab)
-+ t2->nextTab->prevTab = t;
-+ else
-+ LastTab = t;
-+ t2->nextTab = t;
-+ }
-+ else {
-+ t->prevTab = t2->prevTab;
-+ t->nextTab = t2;
-+ if (t2->prevTab)
-+ t2->prevTab->nextTab = t;
-+ else
-+ FirstTab = t;
-+ t2->prevTab = t;
-+ }
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+DEFUN(tabR, TAB_RIGHT, "Move current tab right")
-+{
-+ TabBuffer *tab;
-+ int i;
-+
-+ for (tab = CurrentTab, i = 0; tab && i < PREC_NUM;
-+ tab = tab->nextTab, i++) ;
-+ moveTab(CurrentTab, tab ? tab : LastTab, TRUE);
-+}
-+
-+DEFUN(tabL, TAB_LEFT, "Move current tab left")
-+{
-+ TabBuffer *tab;
-+ int i;
-+
-+ for (tab = CurrentTab, i = 0; tab && i < PREC_NUM;
-+ tab = tab->prevTab, i++) ;
-+ moveTab(CurrentTab, tab ? tab : FirstTab, FALSE);
-+}
-+
-+void
-+addDownloadList(pid_t pid, char *url, char *save, char *lock, clen_t size)
-+{
-+ DownloadList *d;
-+
-+ d = New(DownloadList);
-+ d->pid = pid;
-+ d->url = url;
-+ if (save[0] != '/' && save[0] != '~')
-+ save = Strnew_m_charp(CurrentDir, "/", save, NULL)->ptr;
-+ d->save = expandPath(save);
-+ d->lock = lock;
-+ d->size = size;
-+ d->time = time(0);
-+ d->ok = FALSE;
-+ d->next = NULL;
-+ d->prev = LastDL;
-+ if (LastDL)
-+ LastDL->next = d;
-+ else
-+ FirstDL = d;
-+ LastDL = d;
-+ add_download_list = TRUE;
-+}
-+
-+int
-+checkDownloadList(void)
-+{
-+ DownloadList *d;
-+ struct stat st;
-+
-+ if (!FirstDL)
-+ return FALSE;
-+ for (d = FirstDL; d != NULL; d = d->next) {
-+ if (!d->ok && !lstat(d->lock, &st))
-+ return TRUE;
-+ }
-+ return FALSE;
-+}
-+
-+static char *
-+convert_size3(clen_t size)
-+{
-+ Str tmp = Strnew();
-+ int n;
-+
-+ do {
-+ n = size % 1000;
-+ size /= 1000;
-+ tmp = Sprintf(size ? ",%.3d%s" : "%d%s", n, tmp->ptr);
-+ } while (size);
-+ return tmp->ptr;
-+}
-+
-+static Buffer *
-+DownloadListBuffer(void)
-+{
-+ DownloadList *d;
-+ Str src = NULL;
-+ struct stat st;
-+ time_t cur_time;
-+ int duration, rate, eta;
-+ size_t size;
-+
-+ if (!FirstDL)
-+ return NULL;
-+ cur_time = time(0);
-+ /* FIXME: gettextize? */
-+ src = Strnew_charp("<html><head><title>" DOWNLOAD_LIST_TITLE
-+ "</title></head>\n<body><h1 align=center>"
-+ DOWNLOAD_LIST_TITLE "</h1>\n"
-+ "<form method=internal action=download><hr>\n");
-+ for (d = LastDL; d != NULL; d = d->prev) {
-+ if (lstat(d->lock, &st))
-+ d->ok = TRUE;
-+ Strcat_charp(src, "<pre>\n");
-+ Strcat(src, Sprintf("%s\n --&gt; %s\n ", html_quote(d->url),
-+ html_quote(conv_from_system(d->save))));
-+ duration = cur_time - d->time;
-+ if (!stat(d->save, &st)) {
-+ size = st.st_size;
-+ if (d->ok) {
-+ d->size = size;
-+ duration = st.st_mtime - d->time;
-+ }
-+ }
-+ else
-+ size = 0;
-+ if (d->size) {
-+ int i, l = COLS - 6;
-+ if (size < d->size)
-+ i = 1.0 * l * size / d->size;
-+ else
-+ i = l;
-+ l -= i;
-+ while (i-- > 0)
-+ Strcat_char(src, '#');
-+ while (l-- > 0)
-+ Strcat_char(src, '_');
-+ Strcat_char(src, '\n');
-+ }
-+ if (!d->ok && size < d->size)
-+ Strcat(src, Sprintf(" %s / %s bytes (%d%%)",
-+ convert_size3(size), convert_size3(d->size),
-+ (int)(100.0 * size / d->size)));
-+ else
-+ Strcat(src, Sprintf(" %s bytes loaded", convert_size3(size)));
-+ if (duration > 0) {
-+ rate = size / duration;
-+ Strcat(src, Sprintf(" %02d:%02d:%02d rate %s/sec",
-+ duration / (60 * 60), (duration / 60) % 60,
-+ duration % 60, convert_size(rate, 1)));
-+ if (!d->ok && size < d->size && rate) {
-+ eta = (d->size - size) / rate;
-+ Strcat(src, Sprintf(" eta %02d:%02d:%02d", eta / (60 * 60),
-+ (eta / 60) % 60, eta % 60));
-+ }
-+ }
-+ Strcat_char(src, '\n');
-+ if (d->ok) {
-+ Strcat(src, Sprintf("<input type=submit name=ok%d value=OK>",
-+ d->pid));
-+ if (size < d->size)
-+ Strcat_charp(src, " Download incompleted");
-+ else
-+ Strcat_charp(src, " Download completed");
-+ }
-+ else
-+ Strcat(src, Sprintf("<input type=submit name=stop%d value=STOP>",
-+ d->pid));
-+ Strcat_charp(src, "\n</pre><hr>\n");
-+ }
-+ Strcat_charp(src, "</form></body></html>");
-+ return loadHTMLString(src);
-+}
-+
-+void
-+download_action(struct parsed_tagarg *arg)
-+{
-+ DownloadList *d;
-+ pid_t pid;
-+
-+ for (; arg; arg = arg->next) {
-+ if (!strncmp(arg->arg, "stop", 4)) {
-+ pid = (pid_t) atoi(&arg->arg[4]);
-+#ifndef __MINGW32_VERSION
-+ kill(pid, SIGKILL);
-+#endif
-+ }
-+ else if (!strncmp(arg->arg, "ok", 2))
-+ pid = (pid_t) atoi(&arg->arg[2]);
-+ else
-+ continue;
-+ for (d = FirstDL; d; d = d->next) {
-+ if (d->pid == pid) {
-+ unlink(d->lock);
-+ if (d->prev)
-+ d->prev->next = d->next;
-+ else
-+ FirstDL = d->next;
-+ if (d->next)
-+ d->next->prev = d->prev;
-+ else
-+ LastDL = d->prev;
-+ break;
-+ }
-+ }
-+ }
-+ ldDL();
-+}
-+
-+void
-+stopDownload(void)
-+{
-+ DownloadList *d;
-+
-+ if (!FirstDL)
-+ return;
-+ for (d = FirstDL; d != NULL; d = d->next) {
-+ if (d->ok)
-+ continue;
-+#ifndef __MINGW32_VERSION
-+ kill(d->pid, SIGKILL);
-+#endif
-+ unlink(d->lock);
-+ }
-+}
-+
-+/* download panel */
-+DEFUN(ldDL, DOWNLOAD_LIST, "Display download list panel")
-+{
-+ Buffer *buf;
-+ int replace = FALSE, new_tab = FALSE;
-+#ifdef USE_ALARM
-+ int reload;
-+#endif
-+
-+ if (Currentbuf->bufferprop & BP_INTERNAL &&
-+ !strcmp(Currentbuf->buffername, DOWNLOAD_LIST_TITLE))
-+ replace = TRUE;
-+ if (!FirstDL) {
-+ if (replace) {
-+ if (Currentbuf == Firstbuf && Currentbuf->nextBuffer == NULL) {
-+ if (nTab > 1)
-+ deleteTab(CurrentTab);
-+ }
-+ else
-+ delBuffer(Currentbuf);
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+ }
-+ return;
-+ }
-+#ifdef USE_ALARM
-+ reload = checkDownloadList();
-+#endif
-+ buf = DownloadListBuffer();
-+ if (!buf) {
-+ displayBuffer(Currentbuf, B_NORMAL);
-+ return;
-+ }
-+ buf->bufferprop |= (BP_INTERNAL | BP_NO_URL);
-+ if (replace) {
-+ COPY_BUFROOT(buf, Currentbuf);
-+ restorePosition(buf, Currentbuf);
-+ }
-+ if (!replace && open_tab_dl_list) {
-+ _newT();
-+ new_tab = TRUE;
-+ }
-+ pushBuffer(buf);
-+ if (replace || new_tab)
-+ deletePrevBuf();
-+#ifdef USE_ALARM
-+ if (reload)
-+ Currentbuf->event = setAlarmEvent(Currentbuf->event, 1, AL_IMPLICIT,
-+ FUNCNAME_reload, NULL);
-+#endif
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+static void
-+save_buffer_position(Buffer *buf)
-+{
-+ BufferPos *b = buf->undo;
-+
-+ if (!buf->firstLine)
-+ return;
-+ if (b && b->top_linenumber == TOP_LINENUMBER(buf) &&
-+ b->cur_linenumber == CUR_LINENUMBER(buf) &&
-+ b->currentColumn == buf->currentColumn && b->pos == buf->pos)
-+ return;
-+ b = New(BufferPos);
-+ b->top_linenumber = TOP_LINENUMBER(buf);
-+ b->cur_linenumber = CUR_LINENUMBER(buf);
-+ b->currentColumn = buf->currentColumn;
-+ b->pos = buf->pos;
-+ b->bpos = buf->currentLine ? buf->currentLine->bpos : 0;
-+ b->next = NULL;
-+ b->prev = buf->undo;
-+ if (buf->undo)
-+ buf->undo->next = b;
-+ buf->undo = b;
-+}
-+
-+static void
-+resetPos(BufferPos * b)
-+{
-+ Buffer buf;
-+ Line top, cur;
-+
-+ top.linenumber = b->top_linenumber;
-+ cur.linenumber = b->cur_linenumber;
-+ cur.bpos = b->bpos;
-+ buf.topLine = &top;
-+ buf.currentLine = &cur;
-+ buf.pos = b->pos;
-+ buf.currentColumn = b->currentColumn;
-+ restorePosition(Currentbuf, &buf);
-+ Currentbuf->undo = b;
-+ displayBuffer(Currentbuf, B_FORCE_REDRAW);
-+}
-+
-+DEFUN(undoPos, UNDO, "Cancel the last cursor movement")
-+{
-+ BufferPos *b = Currentbuf->undo;
-+ int i;
-+
-+ if (!Currentbuf->firstLine)
-+ return;
-+ if (!b || !b->prev)
-+ return;
-+ for (i = 0; i < PREC_NUM && b->prev; i++, b = b->prev) ;
-+ resetPos(b);
-+}
-+
-+DEFUN(redoPos, REDO, "Cancel the last undo")
-+{
-+ BufferPos *b = Currentbuf->undo;
-+ int i;
-+
-+ if (!Currentbuf->firstLine)
-+ return;
-+ if (!b || !b->next)
-+ return;
-+ for (i = 0; i < PREC_NUM && b->next; i++, b = b->next) ;
-+ resetPos(b);
-+}
-diff -urN w3m-0.5.2.orig/rc.c w3m-0.5.2/rc.c
---- w3m-0.5.2.orig/rc.c 2007-05-24 00:06:06.000000000 +0900
-+++ w3m-0.5.2/rc.c 2010-07-18 08:13:26.000000000 +0900
-@@ -330,6 +330,13 @@
- };
- #endif
-
-+static struct sel_c graphic_char_str[] = {
-+ {N_S(GRAPHIC_CHAR_ASCII), N_("No")},
-+ {N_S(GRAPHIC_CHAR_CHARSET), N_("Yes, but only charset specific")},
-+ {N_S(GRAPHIC_CHAR_ALL), N_("Yes")},
-+ {0, NULL, NULL}
-+};
-+
- struct param_ptr params1[] = {
- {"tabstop", P_NZINT, PI_TEXT, (void *)&Tabstop, CMT_TABSTOP, NULL},
- {"indent_incr", P_NZINT, PI_TEXT, (void *)&IndentIncr, CMT_INDENT_INCR,
-@@ -364,8 +371,8 @@
- {"multicol", P_INT, PI_ONOFF, (void *)&multicolList, CMT_MULTICOL, NULL},
- {"alt_entity", P_CHARINT, PI_ONOFF, (void *)&UseAltEntity, CMT_ALT_ENTITY,
- NULL},
-- {"graphic_char", P_CHARINT, PI_ONOFF, (void *)&UseGraphicChar,
-- CMT_GRAPHIC_CHAR, NULL},
-+ {"graphic_char", P_CHARINT, PI_SEL_C, (void *)&UseGraphicChar,
-+ CMT_GRAPHIC_CHAR, (void *)graphic_char_str},
- {"fold_textarea", P_CHARINT, PI_ONOFF, (void *)&FoldTextarea,
- CMT_FOLD_TEXTAREA, NULL},
- {"display_ins_del", P_INT, PI_SEL_C, (void *)&displayInsDel,
-diff -urN w3m-0.5.2.orig/rc.c.orig w3m-0.5.2/rc.c.orig
---- w3m-0.5.2.orig/rc.c.orig 1970-01-01 09:00:00.000000000 +0900
-+++ w3m-0.5.2/rc.c.orig 2007-05-24 00:06:06.000000000 +0900
-@@ -0,0 +1,1513 @@
-+/* $Id: rc.c,v 1.106 2007/05/23 15:06:06 inu Exp $ */
-+/*
-+ * Initialization file etc.
-+ */
-+#include "fm.h"
-+#include "myctype.h"
-+#include "proto.h"
-+#include <stdio.h>
-+#include <errno.h>
-+#include "parsetag.h"
-+#include "local.h"
-+#include <stdlib.h>
-+
-+struct param_ptr {
-+ char *name;
-+ int type;
-+ int inputtype;
-+ void *varptr;
-+ char *comment;
-+ void *select;
-+};
-+
-+struct param_section {
-+ char *name;
-+ struct param_ptr *params;
-+};
-+
-+struct rc_search_table {
-+ struct param_ptr *param;
-+ short uniq_pos;
-+};
-+
-+static struct rc_search_table *RC_search_table;
-+static int RC_table_size;
-+
-+#define P_INT 0
-+#define P_SHORT 1
-+#define P_CHARINT 2
-+#define P_CHAR 3
-+#define P_STRING 4
-+#if defined(USE_SSL) && defined(USE_SSL_VERIFY)
-+#define P_SSLPATH 5
-+#endif
-+#ifdef USE_COLOR
-+#define P_COLOR 6
-+#endif
-+#ifdef USE_M17N
-+#define P_CODE 7
-+#endif
-+#define P_PIXELS 8
-+#define P_NZINT 9
-+#define P_SCALE 10
-+
-+/* FIXME: gettextize here */
-+#ifdef USE_M17N
-+static wc_ces OptionCharset = WC_CES_US_ASCII; /* FIXME: charset of source code */
-+static int OptionEncode = FALSE;
-+#endif
-+
-+#define CMT_HELPER N_("External Viewer Setup")
-+#define CMT_TABSTOP N_("Tab width in characters")
-+#define CMT_INDENT_INCR N_("Indent for HTML rendering")
-+#define CMT_PIXEL_PER_CHAR N_("Number of pixels per character (4.0...32.0)")
-+#define CMT_PIXEL_PER_LINE N_("Number of pixels per line (4.0...64.0)")
-+#define CMT_PAGERLINE N_("Number of remembered lines when used as a pager")
-+#define CMT_HISTORY N_("Use URL history")
-+#define CMT_HISTSIZE N_("Number of remembered URL")
-+#define CMT_SAVEHIST N_("Save URL history")
-+#define CMT_FRAME N_("Render frames automatically")
-+#define CMT_ARGV_IS_URL N_("Treat argument without scheme as URL")
-+#define CMT_TSELF N_("Use _self as default target")
-+#define CMT_OPEN_TAB_BLANK N_("Open link on new tab if target is _blank or _new")
-+#define CMT_OPEN_TAB_DL_LIST N_("Open download list panel on new tab")
-+#define CMT_DISPLINK N_("Display link URL automatically")
-+#define CMT_DECODE_URL N_("Display decoded URL")
-+#define CMT_DISPLINEINFO N_("Display current line number")
-+#define CMT_DISP_IMAGE N_("Display inline images")
-+#ifdef USE_IMAGE
-+#define CMT_AUTO_IMAGE N_("Load inline images automatically")
-+#define CMT_MAX_LOAD_IMAGE N_("Maximum processes for parallel image loading")
-+#define CMT_EXT_IMAGE_VIEWER N_("Use external image viewer")
-+#define CMT_IMAGE_SCALE N_("Scale of image (%)")
-+#define CMT_IMGDISPLAY N_("External command to display image")
-+#define CMT_IMAGE_MAP_LIST N_("Use link list of image map")
-+#endif
-+#define CMT_MULTICOL N_("Display file names in multi-column format")
-+#define CMT_ALT_ENTITY N_("Use ASCII equivalents to display entities")
-+#define CMT_GRAPHIC_CHAR N_("Use graphic char for border of table and menu")
-+#define CMT_FOLD_TEXTAREA N_("Fold lines in TEXTAREA")
-+#define CMT_DISP_INS_DEL N_("Display INS, DEL, S and STRIKE element")
-+#define CMT_COLOR N_("Display with color")
-+#define CMT_B_COLOR N_("Color of normal character")
-+#define CMT_A_COLOR N_("Color of anchor")
-+#define CMT_I_COLOR N_("Color of image link")
-+#define CMT_F_COLOR N_("Color of form")
-+#define CMT_ACTIVE_STYLE N_("Enable coloring of active link")
-+#define CMT_C_COLOR N_("Color of currently active link")
-+#define CMT_VISITED_ANCHOR N_("Use visited link color")
-+#define CMT_V_COLOR N_("Color of visited link")
-+#define CMT_BG_COLOR N_("Color of background")
-+#define CMT_MARK_COLOR N_("Color of mark")
-+#define CMT_USE_PROXY N_("Use proxy")
-+#define CMT_HTTP_PROXY N_("URL of HTTP proxy host")
-+#ifdef USE_SSL
-+#define CMT_HTTPS_PROXY N_("URL of HTTPS proxy host")
-+#endif /* USE_SSL */
-+#ifdef USE_GOPHER
-+#define CMT_GOPHER_PROXY N_("URL of GOPHER proxy host")
-+#endif /* USE_GOPHER */
-+#define CMT_FTP_PROXY N_("URL of FTP proxy host")
-+#define CMT_NO_PROXY N_("Domains to be accessed directly (no proxy)")
-+#define CMT_NOPROXY_NETADDR N_("Check noproxy by network address")
-+#define CMT_NO_CACHE N_("Disable cache")
-+#ifdef USE_NNTP
-+#define CMT_NNTP_SERVER N_("News server")
-+#define CMT_NNTP_MODE N_("Mode of news server")
-+#define CMT_MAX_NEWS N_("Number of news messages")
-+#endif
-+#define CMT_DNS_ORDER N_("Order of name resolution")
-+#define CMT_DROOT N_("Directory corresponding to / (document root)")
-+#define CMT_PDROOT N_("Directory corresponding to /~user")
-+#define CMT_CGIBIN N_("Directory corresponding to /cgi-bin")
-+#define CMT_CONFIRM_QQ N_("Confirm when quitting with q")
-+#define CMT_CLOSE_TAB_BACK N_("Close tab if buffer is last when back")
-+#ifdef USE_MARK
-+#define CMT_USE_MARK N_("Enable mark operations")
-+#endif
-+#define CMT_EMACS_LIKE_LINEEDIT N_("Enable Emacs-style line editing")
-+#define CMT_VI_PREC_NUM N_("Enable vi-like numeric prefix")
-+#define CMT_LABEL_TOPLINE N_("Move cursor to top line when going to label")
-+#define CMT_NEXTPAGE_TOPLINE N_("Move cursor to top line when moving to next page")
-+#define CMT_FOLD_LINE N_("Fold lines of plain text file")
-+#define CMT_SHOW_NUM N_("Show line numbers")
-+#define CMT_SHOW_SRCH_STR N_("Show search string")
-+#define CMT_MIMETYPES N_("List of mime.types files")
-+#define CMT_MAILCAP N_("List of mailcap files")
-+#define CMT_URIMETHODMAP N_("List of urimethodmap files")
-+#define CMT_EDITOR N_("Editor")
-+#define CMT_MAILER N_("Mailer")
-+#define CMT_EXTBRZ N_("External Browser")
-+#define CMT_EXTBRZ2 N_("Second External Browser")
-+#define CMT_EXTBRZ3 N_("Third External Browser")
-+#define CMT_DISABLE_SECRET_SECURITY_CHECK N_("Disable secret file security check")
-+#define CMT_PASSWDFILE N_("Password file")
-+#define CMT_PRE_FORM_FILE N_("File for setting form on loading")
-+#define CMT_FTPPASS N_("Password for anonymous FTP (your mail address)")
-+#define CMT_FTPPASS_HOSTNAMEGEN N_("Generate domain part of password for FTP")
-+#define CMT_USERAGENT N_("User-Agent identification string")
-+#define CMT_ACCEPTENCODING N_("Accept-Encoding header")
-+#define CMT_ACCEPTMEDIA N_("Accept header")
-+#define CMT_ACCEPTLANG N_("Accept-Language header")
-+#define CMT_MARK_ALL_PAGES N_("Treat URL-like strings as links in all pages")
-+#define CMT_WRAP N_("Wrap search")
-+#define CMT_VIEW_UNSEENOBJECTS N_("Display unseen objects (e.g. bgimage tag)")
-+#define CMT_AUTO_UNCOMPRESS N_("Uncompress compressed data automatically when downloading")
-+#ifdef __EMX__
-+#define CMT_BGEXTVIEW N_("Run external viewer in a separate session")
-+#else
-+#define CMT_BGEXTVIEW N_("Run external viewer in the background")
-+#endif
-+#define CMT_EXT_DIRLIST N_("Use external program for directory listing")
-+#define CMT_DIRLIST_CMD N_("URL of directory listing command")
-+#ifdef USE_DICT
-+#define CMT_USE_DICTCOMMAND N_("Enable dictionary lookup through CGI")
-+#define CMT_DICTCOMMAND N_("URL of dictionary lookup command")
-+#endif /* USE_DICT */
-+#define CMT_IGNORE_NULL_IMG_ALT N_("Display link name for images lacking ALT")
-+#define CMT_IFILE N_("Index file for directories")
-+#define CMT_RETRY_HTTP N_("Prepend http:// to URL automatically")
-+#define CMT_DEFAULT_URL N_("Default value for open-URL command")
-+#define CMT_DECODE_CTE N_("Decode Content-Transfer-Encoding when saving")
-+#define CMT_PRESERVE_TIMESTAMP N_("Preserve timestamp when saving")
-+#ifdef USE_MOUSE
-+#define CMT_MOUSE N_("Enable mouse")
-+#define CMT_REVERSE_MOUSE N_("Scroll in reverse direction of mouse drag")
-+#define CMT_RELATIVE_WHEEL_SCROLL N_("Behavior of wheel scroll speed")
-+#define CMT_RELATIVE_WHEEL_SCROLL_RATIO N_("(A only)Scroll by # (%) of screen")
-+#define CMT_FIXED_WHEEL_SCROLL_COUNT N_("(B only)Scroll by # lines")
-+#endif /* USE_MOUSE */
-+#define CMT_CLEAR_BUF N_("Free memory of undisplayed buffers")
-+#define CMT_NOSENDREFERER N_("Suppress `Referer:' header")
-+#define CMT_IGNORE_CASE N_("Search case-insensitively")
-+#define CMT_USE_LESSOPEN N_("Use LESSOPEN")
-+#ifdef USE_SSL
-+#ifdef USE_SSL_VERIFY
-+#define CMT_SSL_VERIFY_SERVER N_("Perform SSL server verification")
-+#define CMT_SSL_CERT_FILE N_("PEM encoded certificate file of client")
-+#define CMT_SSL_KEY_FILE N_("PEM encoded private key file of client")
-+#define CMT_SSL_CA_PATH N_("Path to directory for PEM encoded certificates of CAs")
-+#define CMT_SSL_CA_FILE N_("File consisting of PEM encoded certificates of CAs")
-+#endif /* USE_SSL_VERIFY */
-+#define CMT_SSL_FORBID_METHOD N_("List of forbidden SSL methods (2: SSLv2, 3: SSLv3, t:TLSv1)")
-+#endif /* USE_SSL */
-+#ifdef USE_COOKIE
-+#define CMT_USECOOKIE N_("Enable cookie processing")
-+#define CMT_SHOWCOOKIE N_("Print a message when receiving a cookie")
-+#define CMT_ACCEPTCOOKIE N_("Accept cookies")
-+#define CMT_ACCEPTBADCOOKIE N_("Action to be taken on invalid cookie")
-+#define CMT_COOKIE_REJECT_DOMAINS N_("Domains to reject cookies from")
-+#define CMT_COOKIE_ACCEPT_DOMAINS N_("Domains to accept cookies from")
-+#endif
-+#define CMT_FOLLOW_REDIRECTION N_("Number of redirections to follow")
-+#define CMT_META_REFRESH N_("Enable processing of meta-refresh tag")
-+
-+#ifdef USE_MIGEMO
-+#define CMT_USE_MIGEMO N_("Enable Migemo (Roma-ji search)")
-+#define CMT_MIGEMO_COMMAND N_("Migemo command")
-+#endif /* USE_MIGEMO */
-+
-+#ifdef USE_M17N
-+#define CMT_DISPLAY_CHARSET N_("Display charset")
-+#define CMT_DOCUMENT_CHARSET N_("Default document charset")
-+#define CMT_AUTO_DETECT N_("Automatic charset detect when loading")
-+#define CMT_SYSTEM_CHARSET N_("System charset")
-+#define CMT_FOLLOW_LOCALE N_("System charset follows locale(LC_CTYPE)")
-+#define CMT_EXT_HALFDUMP N_("Output halfdump with display charset")
-+#define CMT_USE_WIDE N_("Use multi column characters")
-+#define CMT_USE_COMBINING N_("Use combining characters")
-+#define CMT_USE_LANGUAGE_TAG N_("Use Unicode language tags")
-+#define CMT_UCS_CONV N_("Charset conversion using Unicode map")
-+#define CMT_PRE_CONV N_("Charset conversion when loading")
-+#define CMT_SEARCH_CONV N_("Adjust search string for document charset")
-+#define CMT_FIX_WIDTH_CONV N_("Fix character width when conversion")
-+#define CMT_USE_GB12345_MAP N_("Use GB 12345 Unicode map instead of GB 2312's")
-+#define CMT_USE_JISX0201 N_("Use JIS X 0201 Roman for ISO-2022-JP")
-+#define CMT_USE_JISC6226 N_("Use JIS C 6226:1978 for ISO-2022-JP")
-+#define CMT_USE_JISX0201K N_("Use JIS X 0201 Katakana")
-+#define CMT_USE_JISX0212 N_("Use JIS X 0212:1990 (Supplemental Kanji)")
-+#define CMT_USE_JISX0213 N_("Use JIS X 0213:2000 (2000JIS)")
-+#define CMT_STRICT_ISO2022 N_("Strict ISO-2022-JP/KR/CN")
-+#define CMT_GB18030_AS_UCS N_("Treat 4 bytes char. of GB18030 as Unicode")
-+#endif
-+
-+#define CMT_KEYMAP_FILE N_("keymap file")
-+
-+#define PI_TEXT 0
-+#define PI_ONOFF 1
-+#define PI_SEL_C 2
-+#ifdef USE_M17N
-+#define PI_CODE 3
-+#endif
-+
-+struct sel_c {
-+ int value;
-+ char *cvalue;
-+ char *text;
-+};
-+
-+#ifdef USE_COLOR
-+static struct sel_c colorstr[] = {
-+ {0, "black", N_("black")},
-+ {1, "red", N_("red")},
-+ {2, "green", N_("green")},
-+ {3, "yellow", N_("yellow")},
-+ {4, "blue", N_("blue")},
-+ {5, "magenta", N_("magenta")},
-+ {6, "cyan", N_("cyan")},
-+ {7, "white", N_("white")},
-+ {8, "terminal", N_("terminal")},
-+ {0, NULL, NULL}
-+};
-+#endif /* USE_COLOR */
-+
-+#if 1 /* ANSI-C ? */
-+#define N_STR(x) #x
-+#define N_S(x) (x), N_STR(x)
-+#else /* for traditional cpp? */
-+static char n_s[][2] = {
-+ {'0', 0},
-+ {'1', 0},
-+ {'2', 0},
-+};
-+#define N_S(x) (x), n_s[(x)]
-+#endif
-+
-+
-+static struct sel_c defaulturls[] = {
-+ {N_S(DEFAULT_URL_EMPTY), N_("none")},
-+ {N_S(DEFAULT_URL_CURRENT), N_("current URL")},
-+ {N_S(DEFAULT_URL_LINK), N_("link URL")},
-+ {0, NULL, NULL}
-+};
-+
-+static struct sel_c displayinsdel[] = {
-+ {N_S(DISPLAY_INS_DEL_SIMPLE), N_("simple")},
-+ {N_S(DISPLAY_INS_DEL_NORMAL), N_("use tag")},
-+ {N_S(DISPLAY_INS_DEL_FONTIFY), N_("fontify")},
-+ {0, NULL, NULL}
-+};
-+
-+#ifdef USE_MOUSE
-+static struct sel_c wheelmode[] = {
-+ {TRUE, "1", N_("A:relative to screen height")},
-+ {FALSE, "0", N_("B:fixed speed")},
-+ {0, NULL, NULL}
-+};
-+#endif /* MOUSE */
-+
-+#ifdef INET6
-+static struct sel_c dnsorders[] = {
-+ {N_S(DNS_ORDER_UNSPEC), N_("unspecified")},
-+ {N_S(DNS_ORDER_INET_INET6), N_("inet inet6")},
-+ {N_S(DNS_ORDER_INET6_INET), N_("inet6 inet")},
-+ {N_S(DNS_ORDER_INET_ONLY), N_("inet only")},
-+ {N_S(DNS_ORDER_INET6_ONLY), N_("inet6 only")},
-+ {0, NULL, NULL}
-+};
-+#endif /* INET6 */
-+
-+#ifdef USE_COOKIE
-+static struct sel_c badcookiestr[] = {
-+ {N_S(ACCEPT_BAD_COOKIE_DISCARD), N_("discard")},
-+#if 0
-+ {N_S(ACCEPT_BAD_COOKIE_ACCEPT), N_("accept")},
-+#endif
-+ {N_S(ACCEPT_BAD_COOKIE_ASK), N_("ask")},
-+ {0, NULL, NULL}
-+};
-+#endif /* USE_COOKIE */
-+
-+#ifdef USE_M17N
-+static wc_ces_list *display_charset_str = NULL;
-+static wc_ces_list *document_charset_str = NULL;
-+static wc_ces_list *system_charset_str = NULL;
-+static struct sel_c auto_detect_str[] = {
-+ {N_S(WC_OPT_DETECT_OFF), N_("OFF")},
-+ {N_S(WC_OPT_DETECT_ISO_2022), N_("Only ISO 2022")},
-+ {N_S(WC_OPT_DETECT_ON), N_("ON")},
-+ {0, NULL, NULL}
-+};
-+#endif
-+
-+struct param_ptr params1[] = {
-+ {"tabstop", P_NZINT, PI_TEXT, (void *)&Tabstop, CMT_TABSTOP, NULL},
-+ {"indent_incr", P_NZINT, PI_TEXT, (void *)&IndentIncr, CMT_INDENT_INCR,
-+ NULL},
-+ {"pixel_per_char", P_PIXELS, PI_TEXT, (void *)&pixel_per_char,
-+ CMT_PIXEL_PER_CHAR, NULL},
-+#ifdef USE_IMAGE
-+ {"pixel_per_line", P_PIXELS, PI_TEXT, (void *)&pixel_per_line,
-+ CMT_PIXEL_PER_LINE, NULL},
-+#endif
-+ {"frame", P_CHARINT, PI_ONOFF, (void *)&RenderFrame, CMT_FRAME, NULL},
-+ {"target_self", P_CHARINT, PI_ONOFF, (void *)&TargetSelf, CMT_TSELF, NULL},
-+ {"open_tab_blank", P_INT, PI_ONOFF, (void *)&open_tab_blank,
-+ CMT_OPEN_TAB_BLANK, NULL},
-+ {"open_tab_dl_list", P_INT, PI_ONOFF, (void *)&open_tab_dl_list,
-+ CMT_OPEN_TAB_DL_LIST, NULL},
-+ {"display_link", P_INT, PI_ONOFF, (void *)&displayLink, CMT_DISPLINK,
-+ NULL},
-+ {"decode_url", P_INT, PI_ONOFF, (void *)&DecodeURL, CMT_DECODE_URL, NULL},
-+ {"display_lineinfo", P_INT, PI_ONOFF, (void *)&displayLineInfo,
-+ CMT_DISPLINEINFO, NULL},
-+ {"ext_dirlist", P_INT, PI_ONOFF, (void *)&UseExternalDirBuffer,
-+ CMT_EXT_DIRLIST, NULL},
-+ {"dirlist_cmd", P_STRING, PI_TEXT, (void *)&DirBufferCommand,
-+ CMT_DIRLIST_CMD, NULL},
-+#ifdef USE_DICT
-+ {"use_dictcommand", P_INT, PI_ONOFF, (void *)&UseDictCommand,
-+ CMT_USE_DICTCOMMAND, NULL},
-+ {"dictcommand", P_STRING, PI_TEXT, (void *)&DictCommand,
-+ CMT_DICTCOMMAND, NULL},
-+#endif /* USE_DICT */
-+ {"multicol", P_INT, PI_ONOFF, (void *)&multicolList, CMT_MULTICOL, NULL},
-+ {"alt_entity", P_CHARINT, PI_ONOFF, (void *)&UseAltEntity, CMT_ALT_ENTITY,
-+ NULL},
-+ {"graphic_char", P_CHARINT, PI_ONOFF, (void *)&UseGraphicChar,
-+ CMT_GRAPHIC_CHAR, NULL},
-+ {"fold_textarea", P_CHARINT, PI_ONOFF, (void *)&FoldTextarea,
-+ CMT_FOLD_TEXTAREA, NULL},
-+ {"display_ins_del", P_INT, PI_SEL_C, (void *)&displayInsDel,
-+ CMT_DISP_INS_DEL, displayinsdel},
-+ {"ignore_null_img_alt", P_INT, PI_ONOFF, (void *)&ignore_null_img_alt,
-+ CMT_IGNORE_NULL_IMG_ALT, NULL},
-+ {"view_unseenobject", P_INT, PI_ONOFF, (void *)&view_unseenobject,
-+ CMT_VIEW_UNSEENOBJECTS, NULL},
-+ /* XXX: emacs-w3m force to off display_image even if image options off */
-+ {"display_image", P_INT, PI_ONOFF, (void *)&displayImage, CMT_DISP_IMAGE,
-+ NULL},
-+#ifdef USE_IMAGE
-+ {"auto_image", P_INT, PI_ONOFF, (void *)&autoImage, CMT_AUTO_IMAGE, NULL},
-+ {"max_load_image", P_INT, PI_TEXT, (void *)&maxLoadImage,
-+ CMT_MAX_LOAD_IMAGE, NULL},
-+ {"ext_image_viewer", P_INT, PI_ONOFF, (void *)&useExtImageViewer,
-+ CMT_EXT_IMAGE_VIEWER, NULL},
-+ {"image_scale", P_SCALE, PI_TEXT, (void *)&image_scale, CMT_IMAGE_SCALE,
-+ NULL},
-+ {"imgdisplay", P_STRING, PI_TEXT, (void *)&Imgdisplay, CMT_IMGDISPLAY,
-+ NULL},
-+ {"image_map_list", P_INT, PI_ONOFF, (void *)&image_map_list,
-+ CMT_IMAGE_MAP_LIST, NULL},
-+#endif
-+ {"fold_line", P_INT, PI_ONOFF, (void *)&FoldLine, CMT_FOLD_LINE, NULL},
-+ {"show_lnum", P_INT, PI_ONOFF, (void *)&showLineNum, CMT_SHOW_NUM, NULL},
-+ {"show_srch_str", P_INT, PI_ONOFF, (void *)&show_srch_str,
-+ CMT_SHOW_SRCH_STR, NULL},
-+ {"label_topline", P_INT, PI_ONOFF, (void *)&label_topline,
-+ CMT_LABEL_TOPLINE, NULL},
-+ {"nextpage_topline", P_INT, PI_ONOFF, (void *)&nextpage_topline,
-+ CMT_NEXTPAGE_TOPLINE, NULL},
-+ {NULL, 0, 0, NULL, NULL, NULL},
-+};
-+
-+#ifdef USE_COLOR
-+struct param_ptr params2[] = {
-+ {"color", P_INT, PI_ONOFF, (void *)&useColor, CMT_COLOR, NULL},
-+ {"basic_color", P_COLOR, PI_SEL_C, (void *)&basic_color, CMT_B_COLOR,
-+ (void *)colorstr},
-+ {"anchor_color", P_COLOR, PI_SEL_C, (void *)&anchor_color, CMT_A_COLOR,
-+ (void *)colorstr},
-+ {"image_color", P_COLOR, PI_SEL_C, (void *)&image_color, CMT_I_COLOR,
-+ (void *)colorstr},
-+ {"form_color", P_COLOR, PI_SEL_C, (void *)&form_color, CMT_F_COLOR,
-+ (void *)colorstr},
-+#ifdef USE_BG_COLOR
-+ {"mark_color", P_COLOR, PI_SEL_C, (void *)&mark_color, CMT_MARK_COLOR,
-+ (void *)colorstr},
-+ {"bg_color", P_COLOR, PI_SEL_C, (void *)&bg_color, CMT_BG_COLOR,
-+ (void *)colorstr},
-+#endif /* USE_BG_COLOR */
-+ {"active_style", P_INT, PI_ONOFF, (void *)&useActiveColor,
-+ CMT_ACTIVE_STYLE, NULL},
-+ {"active_color", P_COLOR, PI_SEL_C, (void *)&active_color, CMT_C_COLOR,
-+ (void *)colorstr},
-+ {"visited_anchor", P_INT, PI_ONOFF, (void *)&useVisitedColor,
-+ CMT_VISITED_ANCHOR, NULL},
-+ {"visited_color", P_COLOR, PI_SEL_C, (void *)&visited_color, CMT_V_COLOR,
-+ (void *)colorstr},
-+ {NULL, 0, 0, NULL, NULL, NULL},
-+};
-+#endif /* USE_COLOR */
-+
-+
-+struct param_ptr params3[] = {
-+ {"pagerline", P_NZINT, PI_TEXT, (void *)&PagerMax, CMT_PAGERLINE, NULL},
-+#ifdef USE_HISTORY
-+ {"use_history", P_INT, PI_ONOFF, (void *)&UseHistory, CMT_HISTORY, NULL},
-+ {"history", P_INT, PI_TEXT, (void *)&URLHistSize, CMT_HISTSIZE, NULL},
-+ {"save_hist", P_INT, PI_ONOFF, (void *)&SaveURLHist, CMT_SAVEHIST, NULL},
-+#endif /* USE_HISTORY */
-+ {"confirm_qq", P_INT, PI_ONOFF, (void *)&confirm_on_quit, CMT_CONFIRM_QQ,
-+ NULL},
-+ {"close_tab_back", P_INT, PI_ONOFF, (void *)&close_tab_back,
-+ CMT_CLOSE_TAB_BACK, NULL},
-+#ifdef USE_MARK
-+ {"mark", P_INT, PI_ONOFF, (void *)&use_mark, CMT_USE_MARK, NULL},
-+#endif
-+ {"emacs_like_lineedit", P_INT, PI_ONOFF, (void *)&emacs_like_lineedit,
-+ CMT_EMACS_LIKE_LINEEDIT, NULL},
-+ {"vi_prec_num", P_INT, PI_ONOFF, (void *)&vi_prec_num, CMT_VI_PREC_NUM,
-+ NULL},
-+ {"mark_all_pages", P_INT, PI_ONOFF, (void *)&MarkAllPages,
-+ CMT_MARK_ALL_PAGES, NULL},
-+ {"wrap_search", P_INT, PI_ONOFF, (void *)&WrapDefault, CMT_WRAP, NULL},
-+ {"ignorecase_search", P_INT, PI_ONOFF, (void *)&IgnoreCase,
-+ CMT_IGNORE_CASE, NULL},
-+#ifdef USE_MIGEMO
-+ {"use_migemo", P_INT, PI_ONOFF, (void *)&use_migemo, CMT_USE_MIGEMO,
-+ NULL},
-+ {"migemo_command", P_STRING, PI_TEXT, (void *)&migemo_command,
-+ CMT_MIGEMO_COMMAND, NULL},
-+#endif /* USE_MIGEMO */
-+#ifdef USE_MOUSE
-+ {"use_mouse", P_INT, PI_ONOFF, (void *)&use_mouse, CMT_MOUSE, NULL},
-+ {"reverse_mouse", P_INT, PI_ONOFF, (void *)&reverse_mouse,
-+ CMT_REVERSE_MOUSE, NULL},
-+ {"relative_wheel_scroll", P_INT, PI_SEL_C, (void *)&relative_wheel_scroll,
-+ CMT_RELATIVE_WHEEL_SCROLL, (void *)wheelmode},
-+ {"relative_wheel_scroll_ratio", P_INT, PI_TEXT,
-+ (void *)&relative_wheel_scroll_ratio,
-+ CMT_RELATIVE_WHEEL_SCROLL_RATIO, NULL},
-+ {"fixed_wheel_scroll_count", P_INT, PI_TEXT,
-+ (void *)&fixed_wheel_scroll_count,
-+ CMT_FIXED_WHEEL_SCROLL_COUNT, NULL},
-+#endif /* USE_MOUSE */
-+ {"clear_buffer", P_INT, PI_ONOFF, (void *)&clear_buffer, CMT_CLEAR_BUF,
-+ NULL},
-+ {"decode_cte", P_CHARINT, PI_ONOFF, (void *)&DecodeCTE, CMT_DECODE_CTE,
-+ NULL},
-+ {"auto_uncompress", P_CHARINT, PI_ONOFF, (void *)&AutoUncompress,
-+ CMT_AUTO_UNCOMPRESS, NULL},
-+ {"preserve_timestamp", P_CHARINT, PI_ONOFF, (void *)&PreserveTimestamp,
-+ CMT_PRESERVE_TIMESTAMP, NULL},
-+ {"keymap_file", P_STRING, PI_TEXT, (void *)&keymap_file, CMT_KEYMAP_FILE,
-+ NULL},
-+ {NULL, 0, 0, NULL, NULL, NULL},
-+};
-+
-+struct param_ptr params4[] = {
-+ {"use_proxy", P_CHARINT, PI_ONOFF, (void *)&use_proxy, CMT_USE_PROXY,
-+ NULL},
-+ {"http_proxy", P_STRING, PI_TEXT, (void *)&HTTP_proxy, CMT_HTTP_PROXY,
-+ NULL},
-+#ifdef USE_SSL
-+ {"https_proxy", P_STRING, PI_TEXT, (void *)&HTTPS_proxy, CMT_HTTPS_PROXY,
-+ NULL},
-+#endif /* USE_SSL */
-+#ifdef USE_GOPHER
-+ {"gopher_proxy", P_STRING, PI_TEXT, (void *)&GOPHER_proxy,
-+ CMT_GOPHER_PROXY, NULL},
-+#endif /* USE_GOPHER */
-+ {"ftp_proxy", P_STRING, PI_TEXT, (void *)&FTP_proxy, CMT_FTP_PROXY, NULL},
-+ {"no_proxy", P_STRING, PI_TEXT, (void *)&NO_proxy, CMT_NO_PROXY, NULL},
-+ {"noproxy_netaddr", P_INT, PI_ONOFF, (void *)&NOproxy_netaddr,
-+ CMT_NOPROXY_NETADDR, NULL},
-+ {"no_cache", P_CHARINT, PI_ONOFF, (void *)&NoCache, CMT_NO_CACHE, NULL},
-+
-+ {NULL, 0, 0, NULL, NULL, NULL},
-+};
-+
-+struct param_ptr params5[] = {
-+ {"document_root", P_STRING, PI_TEXT, (void *)&document_root, CMT_DROOT,
-+ NULL},
-+ {"personal_document_root", P_STRING, PI_TEXT,
-+ (void *)&personal_document_root, CMT_PDROOT, NULL},
-+ {"cgi_bin", P_STRING, PI_TEXT, (void *)&cgi_bin, CMT_CGIBIN, NULL},
-+ {"index_file", P_STRING, PI_TEXT, (void *)&index_file, CMT_IFILE, NULL},
-+ {NULL, 0, 0, NULL, NULL, NULL},
-+};
-+
-+struct param_ptr params6[] = {
-+ {"mime_types", P_STRING, PI_TEXT, (void *)&mimetypes_files, CMT_MIMETYPES,
-+ NULL},
-+ {"mailcap", P_STRING, PI_TEXT, (void *)&mailcap_files, CMT_MAILCAP, NULL},
-+#ifdef USE_EXTERNAL_URI_LOADER
-+ {"urimethodmap", P_STRING, PI_TEXT, (void *)&urimethodmap_files,
-+ CMT_URIMETHODMAP, NULL},
-+#endif
-+ {"editor", P_STRING, PI_TEXT, (void *)&Editor, CMT_EDITOR, NULL},
-+ {"mailer", P_STRING, PI_TEXT, (void *)&Mailer, CMT_MAILER, NULL},
-+ {"extbrowser", P_STRING, PI_TEXT, (void *)&ExtBrowser, CMT_EXTBRZ, NULL},
-+ {"extbrowser2", P_STRING, PI_TEXT, (void *)&ExtBrowser2, CMT_EXTBRZ2,
-+ NULL},
-+ {"extbrowser3", P_STRING, PI_TEXT, (void *)&ExtBrowser3, CMT_EXTBRZ3,
-+ NULL},
-+ {"bgextviewer", P_INT, PI_ONOFF, (void *)&BackgroundExtViewer,
-+ CMT_BGEXTVIEW, NULL},
-+ {"use_lessopen", P_INT, PI_ONOFF, (void *)&use_lessopen, CMT_USE_LESSOPEN,
-+ NULL},
-+ {NULL, 0, 0, NULL, NULL, NULL},
-+};
-+
-+#ifdef USE_SSL
-+struct param_ptr params7[] = {
-+ {"ssl_forbid_method", P_STRING, PI_TEXT, (void *)&ssl_forbid_method,
-+ CMT_SSL_FORBID_METHOD, NULL},
-+#ifdef USE_SSL_VERIFY
-+ {"ssl_verify_server", P_INT, PI_ONOFF, (void *)&ssl_verify_server,
-+ CMT_SSL_VERIFY_SERVER, NULL},
-+ {"ssl_cert_file", P_SSLPATH, PI_TEXT, (void *)&ssl_cert_file,
-+ CMT_SSL_CERT_FILE, NULL},
-+ {"ssl_key_file", P_SSLPATH, PI_TEXT, (void *)&ssl_key_file,
-+ CMT_SSL_KEY_FILE, NULL},
-+ {"ssl_ca_path", P_SSLPATH, PI_TEXT, (void *)&ssl_ca_path, CMT_SSL_CA_PATH,
-+ NULL},
-+ {"ssl_ca_file", P_SSLPATH, PI_TEXT, (void *)&ssl_ca_file, CMT_SSL_CA_FILE,
-+ NULL},
-+#endif /* USE_SSL_VERIFY */
-+ {NULL, 0, 0, NULL, NULL, NULL},
-+};
-+#endif /* USE_SSL */
-+
-+#ifdef USE_COOKIE
-+struct param_ptr params8[] = {
-+ {"use_cookie", P_INT, PI_ONOFF, (void *)&use_cookie, CMT_USECOOKIE, NULL},
-+ {"show_cookie", P_INT, PI_ONOFF, (void *)&show_cookie,
-+ CMT_SHOWCOOKIE, NULL},
-+ {"accept_cookie", P_INT, PI_ONOFF, (void *)&accept_cookie,
-+ CMT_ACCEPTCOOKIE, NULL},
-+ {"accept_bad_cookie", P_INT, PI_SEL_C, (void *)&accept_bad_cookie,
-+ CMT_ACCEPTBADCOOKIE, (void *)badcookiestr},
-+ {"cookie_reject_domains", P_STRING, PI_TEXT,
-+ (void *)&cookie_reject_domains, CMT_COOKIE_REJECT_DOMAINS, NULL},
-+ {"cookie_accept_domains", P_STRING, PI_TEXT,
-+ (void *)&cookie_accept_domains, CMT_COOKIE_ACCEPT_DOMAINS, NULL},
-+ {NULL, 0, 0, NULL, NULL, NULL},
-+};
-+#endif
-+
-+struct param_ptr params9[] = {
-+ {"passwd_file", P_STRING, PI_TEXT, (void *)&passwd_file, CMT_PASSWDFILE,
-+ NULL},
-+ {"disable_secret_security_check", P_INT, PI_ONOFF,
-+ (void *)&disable_secret_security_check, CMT_DISABLE_SECRET_SECURITY_CHECK,
-+ NULL},
-+ {"ftppasswd", P_STRING, PI_TEXT, (void *)&ftppasswd, CMT_FTPPASS, NULL},
-+ {"ftppass_hostnamegen", P_INT, PI_ONOFF, (void *)&ftppass_hostnamegen,
-+ CMT_FTPPASS_HOSTNAMEGEN, NULL},
-+ {"pre_form_file", P_STRING, PI_TEXT, (void *)&pre_form_file,
-+ CMT_PRE_FORM_FILE, NULL},
-+ {"user_agent", P_STRING, PI_TEXT, (void *)&UserAgent, CMT_USERAGENT, NULL},
-+ {"no_referer", P_INT, PI_ONOFF, (void *)&NoSendReferer, CMT_NOSENDREFERER,
-+ NULL},
-+ {"accept_language", P_STRING, PI_TEXT, (void *)&AcceptLang, CMT_ACCEPTLANG,
-+ NULL},
-+ {"accept_encoding", P_STRING, PI_TEXT, (void *)&AcceptEncoding,
-+ CMT_ACCEPTENCODING,
-+ NULL},
-+ {"accept_media", P_STRING, PI_TEXT, (void *)&AcceptMedia, CMT_ACCEPTMEDIA,
-+ NULL},
-+ {"argv_is_url", P_CHARINT, PI_ONOFF, (void *)&ArgvIsURL, CMT_ARGV_IS_URL,
-+ NULL},
-+ {"retry_http", P_INT, PI_ONOFF, (void *)&retryAsHttp, CMT_RETRY_HTTP,
-+ NULL},
-+ {"default_url", P_INT, PI_SEL_C, (void *)&DefaultURLString,
-+ CMT_DEFAULT_URL, (void *)defaulturls},
-+ {"follow_redirection", P_INT, PI_TEXT, &FollowRedirection,
-+ CMT_FOLLOW_REDIRECTION, NULL},
-+ {"meta_refresh", P_CHARINT, PI_ONOFF, (void *)&MetaRefresh,
-+ CMT_META_REFRESH, NULL},
-+#ifdef INET6
-+ {"dns_order", P_INT, PI_SEL_C, (void *)&DNS_order, CMT_DNS_ORDER,
-+ (void *)dnsorders},
-+#endif /* INET6 */
-+#ifdef USE_NNTP
-+ {"nntpserver", P_STRING, PI_TEXT, (void *)&NNTP_server, CMT_NNTP_SERVER,
-+ NULL},
-+ {"nntpmode", P_STRING, PI_TEXT, (void *)&NNTP_mode, CMT_NNTP_MODE, NULL},
-+ {"max_news", P_INT, PI_TEXT, (void *)&MaxNewsMessage, CMT_MAX_NEWS, NULL},
-+#endif
-+ {NULL, 0, 0, NULL, NULL, NULL},
-+};
-+
-+#ifdef USE_M17N
-+struct param_ptr params10[] = {
-+ {"display_charset", P_CODE, PI_CODE, (void *)&DisplayCharset,
-+ CMT_DISPLAY_CHARSET, (void *)&display_charset_str},
-+ {"document_charset", P_CODE, PI_CODE, (void *)&DocumentCharset,
-+ CMT_DOCUMENT_CHARSET, (void *)&document_charset_str},
-+ {"auto_detect", P_CHARINT, PI_SEL_C, (void *)&WcOption.auto_detect,
-+ CMT_AUTO_DETECT, (void *)auto_detect_str},
-+ {"system_charset", P_CODE, PI_CODE, (void *)&SystemCharset,
-+ CMT_SYSTEM_CHARSET, (void *)&system_charset_str},
-+ {"follow_locale", P_CHARINT, PI_ONOFF, (void *)&FollowLocale,
-+ CMT_FOLLOW_LOCALE, NULL},
-+ {"ext_halfdump", P_CHARINT, PI_ONOFF, (void *)&ExtHalfdump,
-+ CMT_EXT_HALFDUMP, NULL},
-+ {"use_wide", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_wide, CMT_USE_WIDE,
-+ NULL},
-+ {"use_combining", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_combining,
-+ CMT_USE_COMBINING, NULL},
-+#ifdef USE_UNICODE
-+ {"use_language_tag", P_CHARINT, PI_ONOFF,
-+ (void *)&WcOption.use_language_tag, CMT_USE_LANGUAGE_TAG, NULL},
-+ {"ucs_conv", P_CHARINT, PI_ONOFF, (void *)&WcOption.ucs_conv, CMT_UCS_CONV,
-+ NULL},
-+#endif
-+ {"pre_conv", P_CHARINT, PI_ONOFF, (void *)&WcOption.pre_conv, CMT_PRE_CONV,
-+ NULL},
-+ {"search_conv", P_CHARINT, PI_ONOFF, (void *)&SearchConv, CMT_SEARCH_CONV,
-+ NULL},
-+ {"fix_width_conv", P_CHARINT, PI_ONOFF, (void *)&WcOption.fix_width_conv,
-+ CMT_FIX_WIDTH_CONV, NULL},
-+#ifdef USE_UNICODE
-+ {"use_gb12345_map", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_gb12345_map,
-+ CMT_USE_GB12345_MAP, NULL},
-+#endif
-+ {"use_jisx0201", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_jisx0201,
-+ CMT_USE_JISX0201, NULL},
-+ {"use_jisc6226", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_jisc6226,
-+ CMT_USE_JISC6226, NULL},
-+ {"use_jisx0201k", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_jisx0201k,
-+ CMT_USE_JISX0201K, NULL},
-+ {"use_jisx0212", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_jisx0212,
-+ CMT_USE_JISX0212, NULL},
-+ {"use_jisx0213", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_jisx0213,
-+ CMT_USE_JISX0213, NULL},
-+ {"strict_iso2022", P_CHARINT, PI_ONOFF, (void *)&WcOption.strict_iso2022,
-+ CMT_STRICT_ISO2022, NULL},
-+#ifdef USE_UNICODE
-+ {"gb18030_as_ucs", P_CHARINT, PI_ONOFF, (void *)&WcOption.gb18030_as_ucs,
-+ CMT_GB18030_AS_UCS, NULL},
-+#endif
-+ {NULL, 0, 0, NULL, NULL, NULL},
-+};
-+#endif
-+
-+struct param_section sections[] = {
-+ {N_("Display Settings"), params1},
-+#ifdef USE_COLOR
-+ {N_("Color Settings"), params2},
-+#endif /* USE_COLOR */
-+ {N_("Miscellaneous Settings"), params3},
-+ {N_("Directory Settings"), params5},
-+ {N_("External Program Settings"), params6},
-+ {N_("Network Settings"), params9},
-+ {N_("Proxy Settings"), params4},
-+#ifdef USE_SSL
-+ {N_("SSL Settings"), params7},
-+#endif
-+#ifdef USE_COOKIE
-+ {N_("Cookie Settings"), params8},
-+#endif
-+#ifdef USE_M17N
-+ {N_("Charset Settings"), params10},
-+#endif
-+ {NULL, NULL}
-+};
-+
-+static Str to_str(struct param_ptr *p);
-+
-+static int
-+compare_table(struct rc_search_table *a, struct rc_search_table *b)
-+{
-+ return strcmp(a->param->name, b->param->name);
-+}
-+
-+static void
-+create_option_search_table()
-+{
-+ int i, j, k;
-+ int diff1, diff2;
-+ char *p, *q;
-+
-+ /* count table size */
-+ RC_table_size = 0;
-+ for (j = 0; sections[j].name != NULL; j++) {
-+ i = 0;
-+ while (sections[j].params[i].name) {
-+ i++;
-+ RC_table_size++;
-+ }
-+ }
-+
-+ RC_search_table = New_N(struct rc_search_table, RC_table_size);
-+ k = 0;
-+ for (j = 0; sections[j].name != NULL; j++) {
-+ i = 0;
-+ while (sections[j].params[i].name) {
-+ RC_search_table[k].param = &sections[j].params[i];
-+ k++;
-+ i++;
-+ }
-+ }
-+
-+ qsort(RC_search_table, RC_table_size, sizeof(struct rc_search_table),
-+ (int (*)(const void *, const void *))compare_table);
-+
-+ diff1 = diff2 = 0;
-+ for (i = 0; i < RC_table_size - 1; i++) {
-+ p = RC_search_table[i].param->name;
-+ q = RC_search_table[i + 1].param->name;
-+ for (j = 0; p[j] != '\0' && q[j] != '\0' && p[j] == q[j]; j++) ;
-+ diff1 = j;
-+ if (diff1 > diff2)
-+ RC_search_table[i].uniq_pos = diff1 + 1;
-+ else
-+ RC_search_table[i].uniq_pos = diff2 + 1;
-+ diff2 = diff1;
-+ }
-+}
-+
-+struct param_ptr *
-+search_param(char *name)
-+{
-+ size_t b, e, i;
-+ int cmp;
-+ int len = strlen(name);
-+
-+ for (b = 0, e = RC_table_size - 1; b <= e;) {
-+ i = (b + e) / 2;
-+ cmp = strncmp(name, RC_search_table[i].param->name, len);
-+
-+ if (!cmp) {
-+ if (len >= RC_search_table[i].uniq_pos) {
-+ return RC_search_table[i].param;
-+ }
-+ else {
-+ while ((cmp =
-+ strcmp(name, RC_search_table[i].param->name)) <= 0)
-+ if (!cmp)
-+ return RC_search_table[i].param;
-+ else if (i == 0)
-+ return NULL;
-+ else
-+ i--;
-+ /* ambiguous */
-+ return NULL;
-+ }
-+ }
-+ else if (cmp < 0) {
-+ if (i == 0)
-+ return NULL;
-+ e = i - 1;
-+ }
-+ else
-+ b = i + 1;
-+ }
-+ return NULL;
-+}
-+
-+/* show parameter with bad options invokation */
-+void
-+show_params(FILE * fp)
-+{
-+ int i, j, l;
-+ char *t = NULL;
-+ char *cmt;
-+
-+#ifdef USE_M17N
-+#ifdef ENABLE_NLS
-+ OptionCharset = SystemCharset; /* FIXME */
-+#endif
-+#endif
-+
-+ fputs("\nconfiguration parameters\n", fp);
-+ for (j = 0; sections[j].name != NULL; j++) {
-+#ifdef USE_M17N
-+ if (!OptionEncode)
-+ cmt =
-+ wc_conv(_(sections[j].name), OptionCharset,
-+ InnerCharset)->ptr;
-+ else
-+#endif
-+ cmt = sections[j].name;
-+ fprintf(fp, " section[%d]: %s\n", j, conv_to_system(cmt));
-+ i = 0;
-+ while (sections[j].params[i].name) {
-+ switch (sections[j].params[i].type) {
-+ case P_INT:
-+ case P_SHORT:
-+ case P_CHARINT:
-+ case P_NZINT:
-+ t = (sections[j].params[i].inputtype ==
-+ PI_ONOFF) ? "bool" : "number";
-+ break;
-+ case P_CHAR:
-+ t = "char";
-+ break;
-+ case P_STRING:
-+ t = "string";
-+ break;
-+#if defined(USE_SSL) && defined(USE_SSL_VERIFY)
-+ case P_SSLPATH:
-+ t = "path";
-+ break;
-+#endif
-+#ifdef USE_COLOR
-+ case P_COLOR:
-+ t = "color";
-+ break;
-+#endif
-+#ifdef USE_M17N
-+ case P_CODE:
-+ t = "charset";
-+ break;
-+#endif
-+ case P_PIXELS:
-+ t = "number";
-+ break;
-+ case P_SCALE:
-+ t = "percent";
-+ break;
-+ }
-+#ifdef USE_M17N
-+ if (!OptionEncode)
-+ cmt = wc_conv(_(sections[j].params[i].comment),
-+ OptionCharset, InnerCharset)->ptr;
-+ else
-+#endif
-+ cmt = sections[j].params[i].comment;
-+ l = 30 - (strlen(sections[j].params[i].name) + strlen(t));
-+ if (l < 0)
-+ l = 1;
-+ fprintf(fp, " -o %s=<%s>%*s%s\n",
-+ sections[j].params[i].name, t, l, " ",
-+ conv_to_system(cmt));
-+ i++;
-+ }
-+ }
-+}
-+
-+int
-+str_to_bool(char *value, int old)
-+{
-+ if (value == NULL)
-+ return 1;
-+ switch (TOLOWER(*value)) {
-+ case '0':
-+ case 'f': /* false */
-+ case 'n': /* no */
-+ case 'u': /* undef */
-+ return 0;
-+ case 'o':
-+ if (TOLOWER(value[1]) == 'f') /* off */
-+ return 0;
-+ return 1; /* on */
-+ case 't':
-+ if (TOLOWER(value[1]) == 'o') /* toggle */
-+ return !old;
-+ return 1; /* true */
-+ case '!':
-+ case 'r': /* reverse */
-+ case 'x': /* exchange */
-+ return !old;
-+ }
-+ return 1;
-+}
-+
-+#ifdef USE_COLOR
-+static int
-+str_to_color(char *value)
-+{
-+ if (value == NULL)
-+ return 8; /* terminal */
-+ switch (TOLOWER(*value)) {
-+ case '0':
-+ return 0; /* black */
-+ case '1':
-+ case 'r':
-+ return 1; /* red */
-+ case '2':
-+ case 'g':
-+ return 2; /* green */
-+ case '3':
-+ case 'y':
-+ return 3; /* yellow */
-+ case '4':
-+ return 4; /* blue */
-+ case '5':
-+ case 'm':
-+ return 5; /* magenta */
-+ case '6':
-+ case 'c':
-+ return 6; /* cyan */
-+ case '7':
-+ case 'w':
-+ return 7; /* white */
-+ case '8':
-+ case 't':
-+ return 8; /* terminal */
-+ case 'b':
-+ if (!strncasecmp(value, "blu", 3))
-+ return 4; /* blue */
-+ else
-+ return 0; /* black */
-+ }
-+ return 8; /* terminal */
-+}
-+#endif
-+
-+static int
-+set_param(char *name, char *value)
-+{
-+ struct param_ptr *p;
-+ double ppc;
-+
-+ if (value == NULL)
-+ return 0;
-+ p = search_param(name);
-+ if (p == NULL)
-+ return 0;
-+ switch (p->type) {
-+ case P_INT:
-+ if (atoi(value) >= 0)
-+ *(int *)p->varptr = (p->inputtype == PI_ONOFF)
-+ ? str_to_bool(value, *(int *)p->varptr) : atoi(value);
-+ break;
-+ case P_NZINT:
-+ if (atoi(value) > 0)
-+ *(int *)p->varptr = atoi(value);
-+ break;
-+ case P_SHORT:
-+ *(short *)p->varptr = (p->inputtype == PI_ONOFF)
-+ ? str_to_bool(value, *(short *)p->varptr) : atoi(value);
-+ break;
-+ case P_CHARINT:
-+ *(char *)p->varptr = (p->inputtype == PI_ONOFF)
-+ ? str_to_bool(value, *(char *)p->varptr) : atoi(value);
-+ break;
-+ case P_CHAR:
-+ *(char *)p->varptr = value[0];
-+ break;
-+ case P_STRING:
-+ *(char **)p->varptr = value;
-+ break;
-+#if defined(USE_SSL) && defined(USE_SSL_VERIFY)
-+ case P_SSLPATH:
-+ if (value != NULL && value[0] != '\0')
-+ *(char **)p->varptr = rcFile(value);
-+ else
-+ *(char **)p->varptr = NULL;
-+ ssl_path_modified = 1;
-+ break;
-+#endif
-+#ifdef USE_COLOR
-+ case P_COLOR:
-+ *(int *)p->varptr = str_to_color(value);
-+ break;
-+#endif
-+#ifdef USE_M17N
-+ case P_CODE:
-+ *(wc_ces *) p->varptr =
-+ wc_guess_charset_short(value, *(wc_ces *) p->varptr);
-+ break;
-+#endif
-+ case P_PIXELS:
-+ ppc = atof(value);
-+ if (ppc >= MINIMUM_PIXEL_PER_CHAR && ppc <= MAXIMUM_PIXEL_PER_CHAR * 2)
-+ *(double *)p->varptr = ppc;
-+ break;
-+ case P_SCALE:
-+ ppc = atof(value);
-+ if (ppc >= 10 && ppc <= 1000)
-+ *(double *)p->varptr = ppc;
-+ break;
-+ }
-+ return 1;
-+}
-+
-+int
-+set_param_option(char *option)
-+{
-+ Str tmp = Strnew();
-+ char *p = option, *q;
-+
-+ while (*p && !IS_SPACE(*p) && *p != '=')
-+ Strcat_char(tmp, *p++);
-+ while (*p && IS_SPACE(*p))
-+ p++;
-+ if (*p == '=') {
-+ p++;
-+ while (*p && IS_SPACE(*p))
-+ p++;
-+ }
-+ Strlower(tmp);
-+ if (set_param(tmp->ptr, p))
-+ goto option_assigned;
-+ q = tmp->ptr;
-+ if (!strncmp(q, "no", 2)) { /* -o noxxx, -o no-xxx, -o no_xxx */
-+ q += 2;
-+ if (*q == '-' || *q == '_')
-+ q++;
-+ }
-+ else if (tmp->ptr[0] == '-') /* -o -xxx */
-+ q++;
-+ else
-+ return 0;
-+ if (set_param(q, "0"))
-+ goto option_assigned;
-+ return 0;
-+ option_assigned:
-+ return 1;
-+}
-+
-+char *
-+get_param_option(char *name)
-+{
-+ struct param_ptr *p;
-+
-+ p = search_param(name);
-+ return p ? to_str(p)->ptr : NULL;
-+}
-+
-+static void
-+interpret_rc(FILE * f)
-+{
-+ Str line;
-+ Str tmp;
-+ char *p;
-+
-+ for (;;) {
-+ line = Strfgets(f);
-+ Strchop(line);
-+ if (line->length == 0)
-+ break;
-+ Strremovefirstspaces(line);
-+ if (line->ptr[0] == '#') /* comment */
-+ continue;
-+ tmp = Strnew();
-+ p = line->ptr;
-+ while (*p && !IS_SPACE(*p))
-+ Strcat_char(tmp, *p++);
-+ while (*p && IS_SPACE(*p))
-+ p++;
-+ Strlower(tmp);
-+ set_param(tmp->ptr, p);
-+ }
-+}
-+
-+void
-+parse_proxy()
-+{
-+ if (non_null(HTTP_proxy))
-+ parseURL(HTTP_proxy, &HTTP_proxy_parsed, NULL);
-+#ifdef USE_SSL
-+ if (non_null(HTTPS_proxy))
-+ parseURL(HTTPS_proxy, &HTTPS_proxy_parsed, NULL);
-+#endif /* USE_SSL */
-+#ifdef USE_GOPHER
-+ if (non_null(GOPHER_proxy))
-+ parseURL(GOPHER_proxy, &GOPHER_proxy_parsed, NULL);
-+#endif
-+ if (non_null(FTP_proxy))
-+ parseURL(FTP_proxy, &FTP_proxy_parsed, NULL);
-+ if (non_null(NO_proxy))
-+ set_no_proxy(NO_proxy);
-+}
-+
-+#ifdef USE_COOKIE
-+void
-+parse_cookie()
-+{
-+ if (non_null(cookie_reject_domains))
-+ Cookie_reject_domains = make_domain_list(cookie_reject_domains);
-+ if (non_null(cookie_accept_domains))
-+ Cookie_accept_domains = make_domain_list(cookie_accept_domains);
-+}
-+#endif
-+
-+#ifdef __EMX__
-+static int
-+do_mkdir(const char *dir, long mode)
-+{
-+ char *r, abs[_MAX_PATH];
-+ size_t n;
-+
-+ _abspath(abs, rc_dir, _MAX_PATH); /* Translate '\\' to '/' */
-+
-+ if (!(n = strlen(abs)))
-+ return -1;
-+
-+ if (*(r = abs + n - 1) == '/') /* Ignore tailing slash if it is */
-+ *r = 0;
-+
-+ return mkdir(abs, mode);
-+}
-+#else /* not __EMX__ */
-+#ifdef __MINGW32_VERSION
-+#define do_mkdir(dir,mode) mkdir(dir)
-+#else
-+#define do_mkdir(dir,mode) mkdir(dir,mode)
-+#endif /* not __MINW32_VERSION */
-+#endif /* not __EMX__ */
-+
-+void
-+sync_with_option(void)
-+{
-+ if (PagerMax < LINES)
-+ PagerMax = LINES;
-+ WrapSearch = WrapDefault;
-+ parse_proxy();
-+#ifdef USE_COOKIE
-+ parse_cookie();
-+#endif
-+ initMailcap();
-+ initMimeTypes();
-+#ifdef USE_EXTERNAL_URI_LOADER
-+ initURIMethods();
-+#endif
-+#ifdef USE_MIGEMO
-+ init_migemo();
-+#endif
-+#ifdef USE_IMAGE
-+ if (fmInitialized && displayImage)
-+ initImage();
-+#else
-+ displayImage = FALSE; /* XXX */
-+#endif
-+ loadPasswd();
-+ loadPreForm();
-+
-+ if (AcceptLang == NULL || *AcceptLang == '\0') {
-+ /* TRANSLATORS:
-+ * AcceptLang default: this is used in Accept-Language: HTTP request
-+ * header. For example, ja.po should translate it as
-+ * "ja;q=1.0, en;q=0.5" like that.
-+ */
-+ AcceptLang = _("en;q=1.0");
-+ }
-+ if (AcceptEncoding == NULL || *AcceptEncoding == '\0')
-+ AcceptEncoding = acceptableEncoding();
-+ if (AcceptMedia == NULL || *AcceptMedia == '\0')
-+ AcceptMedia = acceptableMimeTypes();
-+ if (fmInitialized) {
-+ initKeymap(FALSE);
-+#ifdef USE_MOUSE
-+ initMouseAction();
-+#endif /* MOUSE */
-+#ifdef USE_MENU
-+ initMenu();
-+#endif /* MENU */
-+ }
-+}
-+
-+void
-+init_rc(void)
-+{
-+ int i;
-+ struct stat st;
-+ FILE *f;
-+
-+ if (rc_dir != NULL)
-+ goto open_rc;
-+
-+ rc_dir = expandPath(RC_DIR);
-+ i = strlen(rc_dir);
-+ if (i > 1 && rc_dir[i - 1] == '/')
-+ rc_dir[i - 1] = '\0';
-+
-+#ifdef USE_M17N
-+ display_charset_str = wc_get_ces_list();
-+ document_charset_str = display_charset_str;
-+ system_charset_str = display_charset_str;
-+#endif
-+
-+ if (stat(rc_dir, &st) < 0) {
-+ if (errno == ENOENT) { /* no directory */
-+ if (do_mkdir(rc_dir, 0700) < 0) {
-+ fprintf(stderr, "Can't create config directory (%s)!", rc_dir);
-+ goto rc_dir_err;
-+ }
-+ else {
-+ stat(rc_dir, &st);
-+ }
-+ }
-+ else {
-+ fprintf(stderr, "Can't open config directory (%s)!", rc_dir);
-+ goto rc_dir_err;
-+ }
-+ }
-+ if (!S_ISDIR(st.st_mode)) {
-+ /* not a directory */
-+ fprintf(stderr, "%s is not a directory!", rc_dir);
-+ goto rc_dir_err;
-+ }
-+ if (!(st.st_mode & S_IWUSR)) {
-+ fprintf(stderr, "%s is not writable!", rc_dir);
-+ goto rc_dir_err;
-+ }
-+ no_rc_dir = FALSE;
-+ tmp_dir = rc_dir;
-+
-+ if (config_file == NULL)
-+ config_file = rcFile(CONFIG_FILE);
-+
-+ create_option_search_table();
-+
-+ open_rc:
-+ /* open config file */
-+ if ((f = fopen(etcFile(W3MCONFIG), "rt")) != NULL) {
-+ interpret_rc(f);
-+ fclose(f);
-+ }
-+ if ((f = fopen(confFile(CONFIG_FILE), "rt")) != NULL) {
-+ interpret_rc(f);
-+ fclose(f);
-+ }
-+ if ((f = fopen(config_file, "rt")) != NULL) {
-+ interpret_rc(f);
-+ fclose(f);
-+ }
-+ return;
-+
-+ rc_dir_err:
-+ no_rc_dir = TRUE;
-+ if (((tmp_dir = getenv("TMPDIR")) == NULL || *tmp_dir == '\0') &&
-+ ((tmp_dir = getenv("TMP")) == NULL || *tmp_dir == '\0') &&
-+ ((tmp_dir = getenv("TEMP")) == NULL || *tmp_dir == '\0'))
-+ tmp_dir = "/tmp";
-+}
-+
-+
-+static char optionpanel_src1[] =
-+ "<html><head><title>Option Setting Panel</title></head><body>\
-+<h1 align=center>Option Setting Panel<br>(w3m version %s)</b></h1>\
-+<form method=post action=\"file:///$LIB/" W3MHELPERPANEL_CMDNAME "\">\
-+<input type=hidden name=mode value=panel>\
-+<input type=hidden name=cookie value=\"%s\">\
-+<input type=submit value=\"%s\">\
-+</form><br>\
-+<form method=internal action=option>";
-+
-+static Str optionpanel_str = NULL;
-+
-+static Str
-+to_str(struct param_ptr *p)
-+{
-+ switch (p->type) {
-+ case P_INT:
-+#ifdef USE_COLOR
-+ case P_COLOR:
-+#endif
-+#ifdef USE_M17N
-+ case P_CODE:
-+ return Sprintf("%d", (int)(*(wc_ces *) p->varptr));
-+#endif
-+ case P_NZINT:
-+ return Sprintf("%d", *(int *)p->varptr);
-+ case P_SHORT:
-+ return Sprintf("%d", *(short *)p->varptr);
-+ case P_CHARINT:
-+ return Sprintf("%d", *(char *)p->varptr);
-+ case P_CHAR:
-+ return Sprintf("%c", *(char *)p->varptr);
-+ case P_STRING:
-+#if defined(USE_SSL) && defined(USE_SSL_VERIFY)
-+ case P_SSLPATH:
-+#endif
-+ /* SystemCharset -> InnerCharset */
-+ return Strnew_charp(conv_from_system(*(char **)p->varptr));
-+ case P_PIXELS:
-+ case P_SCALE:
-+ return Sprintf("%g", *(double *)p->varptr);
-+ }
-+ /* not reached */
-+ return NULL;
-+}
-+
-+Buffer *
-+load_option_panel(void)
-+{
-+ Str src;
-+ struct param_ptr *p;
-+ struct sel_c *s;
-+#ifdef USE_M17N
-+ wc_ces_list *c;
-+#endif
-+ int x, i;
-+ Str tmp;
-+ Buffer *buf;
-+
-+ if (optionpanel_str == NULL)
-+ optionpanel_str = Sprintf(optionpanel_src1, w3m_version,
-+ html_quote(localCookie()->ptr), _(CMT_HELPER));
-+#ifdef USE_M17N
-+#ifdef ENABLE_NLS
-+ OptionCharset = SystemCharset; /* FIXME */
-+#endif
-+ if (!OptionEncode) {
-+ optionpanel_str =
-+ wc_Str_conv(optionpanel_str, OptionCharset, InnerCharset);
-+ for (i = 0; sections[i].name != NULL; i++) {
-+ sections[i].name =
-+ wc_conv(_(sections[i].name), OptionCharset,
-+ InnerCharset)->ptr;
-+ for (p = sections[i].params; p->name; p++) {
-+ p->comment =
-+ wc_conv(_(p->comment), OptionCharset,
-+ InnerCharset)->ptr;
-+ if (p->inputtype == PI_SEL_C
-+#ifdef USE_COLOR
-+ && p->select != colorstr
-+#endif
-+ ) {
-+ for (s = (struct sel_c *)p->select; s->text != NULL; s++) {
-+ s->text =
-+ wc_conv(_(s->text), OptionCharset,
-+ InnerCharset)->ptr;
-+ }
-+ }
-+ }
-+ }
-+#ifdef USE_COLOR
-+ for (s = colorstr; s->text; s++)
-+ s->text = wc_conv(_(s->text), OptionCharset,
-+ InnerCharset)->ptr;
-+#endif
-+ OptionEncode = TRUE;
-+ }
-+#endif
-+ src = Strdup(optionpanel_str);
-+
-+ Strcat_charp(src, "<table><tr><td>");
-+ for (i = 0; sections[i].name != NULL; i++) {
-+ Strcat_m_charp(src, "<h1>", sections[i].name, "</h1>", NULL);
-+ p = sections[i].params;
-+ Strcat_charp(src, "<table width=100% cellpadding=0>");
-+ while (p->name) {
-+ Strcat_m_charp(src, "<tr><td>", p->comment, NULL);
-+ Strcat(src, Sprintf("</td><td width=%d>",
-+ (int)(28 * pixel_per_char)));
-+ switch (p->inputtype) {
-+ case PI_TEXT:
-+ Strcat_m_charp(src, "<input type=text name=",
-+ p->name,
-+ " value=\"",
-+ html_quote(to_str(p)->ptr), "\">", NULL);
-+ break;
-+ case PI_ONOFF:
-+ x = atoi(to_str(p)->ptr);
-+ Strcat_m_charp(src, "<input type=radio name=",
-+ p->name,
-+ " value=1",
-+ (x ? " checked" : ""),
-+ ">YES&nbsp;&nbsp;<input type=radio name=",
-+ p->name,
-+ " value=0", (x ? "" : " checked"), ">NO", NULL);
-+ break;
-+ case PI_SEL_C:
-+ tmp = to_str(p);
-+ Strcat_m_charp(src, "<select name=", p->name, ">", NULL);
-+ for (s = (struct sel_c *)p->select; s->text != NULL; s++) {
-+ Strcat_charp(src, "<option value=");
-+ Strcat(src, Sprintf("%s\n", s->cvalue));
-+ if ((p->type != P_CHAR && s->value == atoi(tmp->ptr)) ||
-+ (p->type == P_CHAR && (char)s->value == *(tmp->ptr)))
-+ Strcat_charp(src, " selected");
-+ Strcat_char(src, '>');
-+ Strcat_charp(src, s->text);
-+ }
-+ Strcat_charp(src, "</select>");
-+ break;
-+#ifdef USE_M17N
-+ case PI_CODE:
-+ tmp = to_str(p);
-+ Strcat_m_charp(src, "<select name=", p->name, ">", NULL);
-+ for (c = *(wc_ces_list **) p->select; c->desc != NULL; c++) {
-+ Strcat_charp(src, "<option value=");
-+ Strcat(src, Sprintf("%s\n", c->name));
-+ if (c->id == atoi(tmp->ptr))
-+ Strcat_charp(src, " selected");
-+ Strcat_char(src, '>');
-+ Strcat_charp(src, c->desc);
-+ }
-+ Strcat_charp(src, "</select>");
-+ break;
-+#endif
-+ }
-+ Strcat_charp(src, "</td></tr>\n");
-+ p++;
-+ }
-+ Strcat_charp(src,
-+ "<tr><td></td><td><p><input type=submit value=\"OK\"></td></tr>");
-+ Strcat_charp(src, "</table><hr width=50%>");
-+ }
-+ Strcat_charp(src, "</table></form></body></html>");
-+ buf = loadHTMLString(src);
-+#ifdef USE_M17N
-+ if (buf)
-+ buf->document_charset = OptionCharset;
-+#endif
-+ return buf;
-+}
-+
-+void
-+panel_set_option(struct parsed_tagarg *arg)
-+{
-+ FILE *f = NULL;
-+ char *p;
-+
-+ if (no_rc_dir) {
-+ disp_message("There's no ~/.w3m directory... config not saved", FALSE);
-+ }
-+ else {
-+ f = fopen(config_file, "wt");
-+ if (f == NULL) {
-+ disp_message("Can't write option!", FALSE);
-+ }
-+ }
-+ while (arg) {
-+ /* InnerCharset -> SystemCharset */
-+ if (arg->value) {
-+ p = conv_to_system(arg->value);
-+ if (set_param(arg->arg, p)) {
-+ if (f)
-+ fprintf(f, "%s %s\n", arg->arg, p);
-+ }
-+ }
-+ arg = arg->next;
-+ }
-+ if (f)
-+ fclose(f);
-+ sync_with_option();
-+ backBf();
-+}
-+
-+char *
-+rcFile(char *base)
-+{
-+ if (base &&
-+ (base[0] == '/' ||
-+ (base[0] == '.'
-+ && (base[1] == '/' || (base[1] == '.' && base[2] == '/')))
-+ || (base[0] == '~' && base[1] == '/')))
-+ /* /file, ./file, ../file, ~/file */
-+ return expandPath(base);
-+ return expandPath(Strnew_m_charp(rc_dir, "/", base, NULL)->ptr);
-+}
-+
-+char *
-+auxbinFile(char *base)
-+{
-+ return expandPath(Strnew_m_charp(w3m_auxbin_dir(), "/", base, NULL)->ptr);
-+}
-+
-+#if 0 /* not used */
-+char *
-+libFile(char *base)
-+{
-+ return expandPath(Strnew_m_charp(w3m_lib_dir(), "/", base, NULL)->ptr);
-+}
-+#endif
-+
-+char *
-+etcFile(char *base)
-+{
-+ return expandPath(Strnew_m_charp(w3m_etc_dir(), "/", base, NULL)->ptr);
-+}
-+
-+char *
-+confFile(char *base)
-+{
-+ return expandPath(Strnew_m_charp(w3m_conf_dir(), "/", base, NULL)->ptr);
-+}
-+
-+#ifndef USE_HELP_CGI
-+char *
-+helpFile(char *base)
-+{
-+ return expandPath(Strnew_m_charp(w3m_help_dir(), "/", base, NULL)->ptr);
-+}
-+#endif
-diff -urN w3m-0.5.2.orig/symbol.c w3m-0.5.2/symbol.c
---- w3m-0.5.2.orig/symbol.c 2003-09-23 06:02:21.000000000 +0900
-+++ w3m-0.5.2/symbol.c 2010-07-18 08:13:26.000000000 +0900
-@@ -86,24 +86,29 @@
- charset_symbol_set *p;
- symbol_set *s = NULL;
-
-- if (charset == save_charset && save_symbol != NULL &&
-- *width == save_symbol->width) {
-- *width = save_symbol->width;
-- return save_symbol->item;
-- }
-- save_charset = charset;
-- for (p = charset_symbol_list; p->charset; p++) {
-- if (charset == p->charset &&
-- (*width == 0 || *width == p->symbol->width)) {
-- s = p->symbol;
-- break;
-+ if (UseGraphicChar != GRAPHIC_CHAR_ASCII) {
-+ if (charset == save_charset && save_symbol != NULL &&
-+ *width == save_symbol->width)
-+ return save_symbol->item;
-+ save_charset = charset;
-+ for (p = charset_symbol_list; p->charset; p++) {
-+ if (charset == p->charset &&
-+ (*width == 0 || *width == p->symbol->width)) {
-+ s = p->symbol;
-+ break;
-+ }
- }
-- }
-- if (s == NULL)
-+ if (s == NULL)
-+ s = (*width == 2) ? &alt2_symbol_set : &alt_symbol_set;
-+ if (s != save_symbol) {
-+ if (!s->encode)
-+ encode_symbol(s);
-+ save_symbol = s;
-+ }
-+ } else {
-+ if (save_symbol != NULL && *width == save_symbol->width)
-+ return save_symbol->item;
- s = (*width == 2) ? &alt2_symbol_set : &alt_symbol_set;
-- if (s != save_symbol) {
-- if (!s->encode)
-- encode_symbol(s);
- save_symbol = s;
- }
- *width = s->width;
-diff -urN w3m-0.5.2.orig/terms.c w3m-0.5.2/terms.c
---- w3m-0.5.2.orig/terms.c 2007-05-30 13:44:00.000000000 +0900
-+++ w3m-0.5.2/terms.c 2010-07-18 08:13:26.000000000 +0900
-@@ -1201,7 +1201,7 @@
- int
- graph_ok(void)
- {
-- if (!UseGraphicChar)
-+ if (UseGraphicChar != GRAPHIC_CHAR_ALL)
- return 0;
- return T_as[0] != 0 && T_ae[0] != 0 && T_ac[0] != 0;
- }
-diff -urN w3m-0.5.2.orig/terms.c.orig w3m-0.5.2/terms.c.orig
---- w3m-0.5.2.orig/terms.c.orig 1970-01-01 09:00:00.000000000 +0900
-+++ w3m-0.5.2/terms.c.orig 2007-05-30 13:44:00.000000000 +0900
-@@ -0,0 +1,2257 @@
-+/* $Id: terms.c,v 1.57 2007/05/30 04:44:00 inu Exp $ */
-+/*
-+ * An original curses library for EUC-kanji by Akinori ITO, December 1989
-+ * revised by Akinori ITO, January 1995
-+ */
-+#include <stdio.h>
-+#include <signal.h>
-+#include <sys/types.h>
-+#include <fcntl.h>
-+#include <errno.h>
-+#include <sys/time.h>
-+#include <unistd.h>
-+#include "config.h"
-+#include <string.h>
-+#ifdef HAVE_SYS_SELECT_H
-+#include <sys/select.h>
-+#endif
-+#ifndef __MINGW32_VERSION
-+#include <sys/ioctl.h>
-+#else
-+#include <winsock.h>
-+#endif /* __MINGW32_VERSION */
-+#ifdef USE_MOUSE
-+#ifdef USE_GPM
-+#include <gpm.h>
-+#endif /* USE_GPM */
-+#ifdef USE_SYSMOUSE
-+#include <osreldate.h>
-+#if (__FreeBSD_version >= 400017)
-+#include <sys/consio.h>
-+#include <sys/fbio.h>
-+#else
-+#include <machine/console.h>
-+#endif
-+int (*sysm_handler) (int x, int y, int nbs, int obs);
-+static int cwidth = 8, cheight = 16;
-+static int xpix, ypix, nbs, obs = 0;
-+#endif /* use_SYSMOUSE */
-+
-+static int is_xterm = 0;
-+
-+void mouse_init(), mouse_end();
-+int mouseActive = 0;
-+#endif /* USE_MOUSE */
-+
-+static char *title_str = NULL;
-+
-+static int tty;
-+
-+#include "terms.h"
-+#include "fm.h"
-+#include "myctype.h"
-+
-+#ifdef __EMX__
-+#define INCL_DOSNLS
-+#include <os2.h>
-+#endif /* __EMX__ */
-+
-+#if defined(__CYGWIN__)
-+#include <windows.h>
-+#include <sys/cygwin.h>
-+static int isWinConsole = 0;
-+#define TERM_CYGWIN 1
-+#define TERM_CYGWIN_RESERVE_IME 2
-+static int isLocalConsole = 0;
-+
-+#if CYGWIN_VERSION_DLL_MAJOR < 1005 && defined(USE_MOUSE)
-+int cygwin_mouse_btn_swapped = 0;
-+#endif
-+
-+#if defined(SUPPORT_WIN9X_CONSOLE_MBCS)
-+static HANDLE hConIn = INVALID_HANDLE_VALUE;
-+static int isWin95 = 0;
-+static char *ConInV;
-+static int iConIn, nConIn, nConInMax;
-+
-+static void
-+check_win9x(void)
-+{
-+ OSVERSIONINFO winVersionInfo;
-+
-+ winVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-+ if (GetVersionEx(&winVersionInfo) == 0) {
-+ fprintf(stderr, "can't get Windows version information.\n");
-+ exit(1);
-+ }
-+ if (winVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) {
-+ isWin95 = 1;
-+ }
-+ else {
-+ isWin95 = 0;
-+ }
-+}
-+
-+void
-+enable_win9x_console_input(void)
-+{
-+ if (isWin95 && isWinConsole && isLocalConsole &&
-+ hConIn == INVALID_HANDLE_VALUE) {
-+ hConIn = CreateFile("CONIN$", GENERIC_READ | GENERIC_WRITE,
-+ FILE_SHARE_READ | FILE_SHARE_WRITE,
-+ NULL, OPEN_EXISTING, 0, NULL);
-+ if (hConIn != INVALID_HANDLE_VALUE) {
-+ getch();
-+ }
-+ }
-+}
-+
-+void
-+disable_win9x_console_input(void)
-+{
-+ if (hConIn != INVALID_HANDLE_VALUE) {
-+ CloseHandle(hConIn);
-+ hConIn = INVALID_HANDLE_VALUE;
-+ }
-+}
-+
-+static void
-+expand_win32_console_input_buffer(int n)
-+{
-+ if (nConIn + n >= nConInMax) {
-+ char *oldv;
-+
-+ nConInMax = ((nConIn + n) / 2 + 1) * 3;
-+ oldv = ConInV;
-+ ConInV = GC_MALLOC_ATOMIC(nConInMax);
-+ memcpy(ConInV, oldv, nConIn);
-+ }
-+}
-+
-+static int
-+read_win32_console_input(void)
-+{
-+ INPUT_RECORD rec;
-+ DWORD nevents;
-+
-+ if (PeekConsoleInput(hConIn, &rec, 1, &nevents) && nevents) {
-+ switch (rec.EventType) {
-+ case KEY_EVENT:
-+ expand_win32_console_input_buffer(3);
-+
-+ if (ReadConsole(hConIn, &ConInV[nConIn], 1, &nevents, NULL)) {
-+ nConIn += nevents;
-+ return nevents;
-+ }
-+
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ ReadConsoleInput(hConIn, &rec, 1, &nevents);
-+ }
-+ return 0;
-+}
-+
-+static int
-+read_win32_console(char *s, int n)
-+{
-+ KEY_EVENT_RECORD *ker;
-+
-+ if (hConIn == INVALID_HANDLE_VALUE)
-+ return read(tty, s, n);
-+
-+ if (n > 0)
-+ for (;;) {
-+ if (iConIn < nConIn) {
-+ if (n > nConIn - iConIn)
-+ n = nConIn - iConIn;
-+
-+ memcpy(s, ConInV, n);
-+
-+ if ((iConIn += n) >= nConIn)
-+ iConIn = nConIn = 0;
-+
-+ break;
-+ }
-+
-+ iConIn = nConIn = 0;
-+
-+ while (!read_win32_console_input()) ;
-+ }
-+
-+ return n;
-+}
-+
-+#endif /* SUPPORT_WIN9X_CONSOLE_MBCS */
-+
-+static HWND
-+GetConsoleHwnd(void)
-+{
-+#define MY_BUFSIZE 1024
-+ HWND hwndFound;
-+ char pszNewWindowTitle[MY_BUFSIZE];
-+ char pszOldWindowTitle[MY_BUFSIZE];
-+
-+ GetConsoleTitle(pszOldWindowTitle, MY_BUFSIZE);
-+ wsprintf(pszNewWindowTitle, "%d/%d",
-+ GetTickCount(), GetCurrentProcessId());
-+ SetConsoleTitle(pszNewWindowTitle);
-+ Sleep(40);
-+ hwndFound = FindWindow(NULL, pszNewWindowTitle);
-+ SetConsoleTitle(pszOldWindowTitle);
-+ return (hwndFound);
-+}
-+
-+#if CYGWIN_VERSION_DLL_MAJOR < 1005 && defined(USE_MOUSE)
-+static unsigned long
-+cygwin_version(void)
-+{
-+ struct per_process *p;
-+
-+ p = (struct per_process *)cygwin_internal(CW_USER_DATA);
-+ if (p != NULL) {
-+ return (p->dll_major * 1000) + p->dll_minor;
-+ }
-+ return 0;
-+}
-+#endif
-+
-+static void
-+check_cygwin_console(void)
-+{
-+ char *term = getenv("TERM");
-+ HANDLE hWnd;
-+
-+ if (term == NULL)
-+ term = DEFAULT_TERM;
-+ if (term && strncmp(term, "cygwin", 6) == 0) {
-+ isWinConsole = TERM_CYGWIN;
-+ }
-+ if (isWinConsole) {
-+ hWnd = GetConsoleHwnd();
-+ if (hWnd != INVALID_HANDLE_VALUE) {
-+ if (IsWindowVisible(hWnd)) {
-+ isLocalConsole = 1;
-+ }
-+ }
-+ if (strncmp(getenv("LANG"), "ja", 2) == 0) {
-+ isWinConsole = TERM_CYGWIN_RESERVE_IME;
-+ }
-+#ifdef SUPPORT_WIN9X_CONSOLE_MBCS
-+ check_win9x();
-+ if (isWin95 && ttyslot() != -1) {
-+ isLocalConsole = 0;
-+ }
-+#endif
-+ }
-+#if CYGWIN_VERSION_DLL_MAJOR < 1005 && defined(USE_MOUSE)
-+ if (cygwin_version() <= 1003015) {
-+ /* cygwin DLL 1.3.15 or earler */
-+ cygwin_mouse_btn_swapped = 1;
-+ }
-+#endif
-+}
-+#endif /* __CYGWIN__ */
-+
-+char *getenv(const char *);
-+MySignalHandler reset_exit(SIGNAL_ARG), error_dump(SIGNAL_ARG);
-+void setlinescols(void);
-+void flush_tty();
-+
-+#ifndef SIGIOT
-+#define SIGIOT SIGABRT
-+#endif /* not SIGIOT */
-+
-+#ifdef HAVE_TERMIO_H
-+#include <termio.h>
-+typedef struct termio TerminalMode;
-+#define TerminalSet(fd,x) ioctl(fd,TCSETA,x)
-+#define TerminalGet(fd,x) ioctl(fd,TCGETA,x)
-+#define MODEFLAG(d) ((d).c_lflag)
-+#define IMODEFLAG(d) ((d).c_iflag)
-+#endif /* HAVE_TERMIO_H */
-+
-+#ifdef HAVE_TERMIOS_H
-+#include <termios.h>
-+#include <unistd.h>
-+typedef struct termios TerminalMode;
-+#define TerminalSet(fd,x) tcsetattr(fd,TCSANOW,x)
-+#define TerminalGet(fd,x) tcgetattr(fd,x)
-+#define MODEFLAG(d) ((d).c_lflag)
-+#define IMODEFLAG(d) ((d).c_iflag)
-+#endif /* HAVE_TERMIOS_H */
-+
-+#ifdef HAVE_SGTTY_H
-+#include <sgtty.h>
-+typedef struct sgttyb TerminalMode;
-+#define TerminalSet(fd,x) ioctl(fd,TIOCSETP,x)
-+#define TerminalGet(fd,x) ioctl(fd,TIOCGETP,x)
-+#define MODEFLAG(d) ((d).sg_flags)
-+#endif /* HAVE_SGTTY_H */
-+
-+#ifdef __MINGW32_VERSION
-+/* dummy struct */
-+typedef unsigned char cc_t;
-+typedef unsigned int speed_t;
-+typedef unsigned int tcflag_t;
-+
-+#define NCCS 32
-+struct termios
-+ {
-+ tcflag_t c_iflag; /* input mode flags */
-+ tcflag_t c_oflag; /* output mode flags */
-+ tcflag_t c_cflag; /* control mode flags */
-+ tcflag_t c_lflag; /* local mode flags */
-+ cc_t c_line; /* line discipline */
-+ cc_t c_cc[NCCS]; /* control characters */
-+ speed_t c_ispeed; /* input speed */
-+ speed_t c_ospeed; /* output speed */
-+ };
-+typedef struct termios TerminalMode;
-+#define TerminalSet(fd,x) (0)
-+#define TerminalGet(fd,x) (0)
-+#define MODEFLAG(d) (0)
-+
-+/* dummy defines */
-+#define SIGHUP (0)
-+#define SIGQUIT (0)
-+#define ECHO (0)
-+#define ISIG (0)
-+#define VEOF (0)
-+#define ICANON (0)
-+#define IXON (0)
-+#define IXOFF (0)
-+
-+char *ttyname(int);
-+#endif /* __MINGW32_VERSION */
-+
-+#define MAX_LINE 200
-+#define MAX_COLUMN 400
-+
-+/* Screen properties */
-+#define S_SCREENPROP 0x0f
-+#define S_NORMAL 0x00
-+#define S_STANDOUT 0x01
-+#define S_UNDERLINE 0x02
-+#define S_BOLD 0x04
-+#define S_EOL 0x08
-+
-+/* Sort of Character */
-+#define C_WHICHCHAR 0xc0
-+#define C_ASCII 0x00
-+#ifdef USE_M17N
-+#define C_WCHAR1 0x40
-+#define C_WCHAR2 0x80
-+#endif
-+#define C_CTRL 0xc0
-+
-+#define CHMODE(c) ((c)&C_WHICHCHAR)
-+#define SETCHMODE(var,mode) ((var) = (((var)&~C_WHICHCHAR) | mode))
-+#ifdef USE_M17N
-+#define SETCH(var,ch,len) ((var) = New_Reuse(char, (var), (len) + 1), \
-+ strncpy((var), (ch), (len)), (var)[len] = '\0')
-+#else
-+#define SETCH(var,ch,len) ((var) = (ch))
-+#endif
-+
-+/* Charactor Color */
-+#define COL_FCOLOR 0xf00
-+#define COL_FBLACK 0x800
-+#define COL_FRED 0x900
-+#define COL_FGREEN 0xa00
-+#define COL_FYELLOW 0xb00
-+#define COL_FBLUE 0xc00
-+#define COL_FMAGENTA 0xd00
-+#define COL_FCYAN 0xe00
-+#define COL_FWHITE 0xf00
-+#define COL_FTERM 0x000
-+
-+#define S_COLORED 0xf00
-+
-+#ifdef USE_BG_COLOR
-+/* Background Color */
-+#define COL_BCOLOR 0xf000
-+#define COL_BBLACK 0x8000
-+#define COL_BRED 0x9000
-+#define COL_BGREEN 0xa000
-+#define COL_BYELLOW 0xb000
-+#define COL_BBLUE 0xc000
-+#define COL_BMAGENTA 0xd000
-+#define COL_BCYAN 0xe000
-+#define COL_BWHITE 0xf000
-+#define COL_BTERM 0x0000
-+
-+#define S_BCOLORED 0xf000
-+#endif /* USE_BG_COLOR */
-+
-+
-+#define S_GRAPHICS 0x10
-+
-+#define S_DIRTY 0x20
-+
-+#define SETPROP(var,prop) (var = (((var)&S_DIRTY) | prop))
-+
-+/* Line status */
-+#define L_DIRTY 0x01
-+#define L_UNUSED 0x02
-+#define L_NEED_CE 0x04
-+#define L_CLRTOEOL 0x08
-+
-+#define ISDIRTY(d) ((d) & L_DIRTY)
-+#define ISUNUSED(d) ((d) & L_UNUSED)
-+#define NEED_CE(d) ((d) & L_NEED_CE)
-+
-+typedef unsigned short l_prop;
-+
-+typedef struct scline {
-+#ifdef USE_M17N
-+ char **lineimage;
-+#else
-+ char *lineimage;
-+#endif
-+ l_prop *lineprop;
-+ short isdirty;
-+ short eol;
-+} Screen;
-+
-+static TerminalMode d_ioval;
-+static int tty = -1;
-+static FILE *ttyf = NULL;
-+
-+static
-+char bp[1024], funcstr[256];
-+
-+char *T_cd, *T_ce, *T_kr, *T_kl, *T_cr, *T_bt, *T_ta, *T_sc, *T_rc,
-+ *T_so, *T_se, *T_us, *T_ue, *T_cl, *T_cm, *T_al, *T_sr, *T_md, *T_me,
-+ *T_ti, *T_te, *T_nd, *T_as, *T_ae, *T_eA, *T_ac, *T_op;
-+
-+int LINES, COLS;
-+#if defined(__CYGWIN__)
-+int LASTLINE;
-+#endif /* defined(__CYGWIN__) */
-+
-+static int max_LINES = 0, max_COLS = 0;
-+static int tab_step = 8;
-+static int CurLine, CurColumn;
-+static Screen *ScreenElem = NULL, **ScreenImage = NULL;
-+static l_prop CurrentMode = 0;
-+static int graph_enabled = 0;
-+
-+static char gcmap[96];
-+
-+extern int tgetent(char *, char *);
-+extern int tgetnum(char *);
-+extern int tgetflag(char *);
-+extern char *tgetstr(char *, char **);
-+extern char *tgoto(char *, int, int);
-+extern int tputs(char *, int, int (*)(char));
-+void clear(), wrap(), touch_line(), touch_column(int);
-+#if 0
-+void need_clrtoeol(void);
-+#endif
-+void clrtoeol(void); /* conflicts with curs_clear(3)? */
-+
-+static int write1(char);
-+
-+static void
-+writestr(char *s)
-+{
-+ tputs(s, 1, write1);
-+}
-+
-+#define MOVE(line,column) writestr(tgoto(T_cm,column,line));
-+
-+#ifdef USE_MOUSE
-+#define W3M_TERM_INFO(name, title, mouse) name, title, mouse
-+#define NEED_XTERM_ON (1)
-+#define NEED_XTERM_OFF (1<<1)
-+#ifdef __CYGWIN__
-+#define NEED_CYGWIN_ON (1<<2)
-+#define NEED_CYGWIN_OFF (1<<3)
-+#endif
-+#else
-+#define W3M_TERM_INFO(name, title, mouse) name, title
-+#endif
-+
-+static char XTERM_TITLE[] = "\033]0;w3m: %s\007";
-+static char SCREEN_TITLE[] = "\033k%s\033\134";
-+#ifdef __CYGWIN__
-+static char CYGWIN_TITLE[] = "w3m: %s";
-+#endif
-+
-+/* *INDENT-OFF* */
-+static struct w3m_term_info {
-+ char *term;
-+ char *title_str;
-+#ifdef USE_MOUSE
-+ int mouse_flag;
-+#endif
-+} w3m_term_info_list[] = {
-+ {W3M_TERM_INFO("xterm", XTERM_TITLE, (NEED_XTERM_ON|NEED_XTERM_OFF))},
-+ {W3M_TERM_INFO("kterm", XTERM_TITLE, (NEED_XTERM_ON|NEED_XTERM_OFF))},
-+ {W3M_TERM_INFO("rxvt", XTERM_TITLE, (NEED_XTERM_ON|NEED_XTERM_OFF))},
-+ {W3M_TERM_INFO("Eterm", XTERM_TITLE, (NEED_XTERM_ON|NEED_XTERM_OFF))},
-+ {W3M_TERM_INFO("mlterm", XTERM_TITLE, (NEED_XTERM_ON|NEED_XTERM_OFF))},
-+ {W3M_TERM_INFO("screen", SCREEN_TITLE, 0)},
-+#ifdef __CYGWIN__
-+ {W3M_TERM_INFO("cygwin", CYGWIN_TITLE, (NEED_CYGWIN_ON|NEED_CYGWIN_OFF))},
-+#endif
-+ {W3M_TERM_INFO(NULL, NULL, 0)}
-+};
-+#undef W3M_TERM_INFO
-+/* *INDENT-ON * */
-+
-+int
-+set_tty(void)
-+{
-+ char *ttyn;
-+
-+ if (isatty(0)) /* stdin */
-+ ttyn = ttyname(0);
-+ else
-+ ttyn = DEV_TTY_PATH;
-+ tty = open(ttyn, O_RDWR);
-+ if (tty < 0) {
-+ /* use stderr instead of stdin... is it OK???? */
-+ tty = 2;
-+ }
-+ ttyf = fdopen(tty, "w");
-+#ifdef __CYGWIN__
-+ check_cygwin_console();
-+#endif
-+ TerminalGet(tty, &d_ioval);
-+ if (displayTitleTerm != NULL) {
-+ struct w3m_term_info *p;
-+ for (p = w3m_term_info_list; p->term != NULL; p++) {
-+ if (!strncmp(displayTitleTerm, p->term, strlen(p->term))) {
-+ title_str = p->title_str;
-+ break;
-+ }
-+ }
-+ }
-+#ifdef USE_MOUSE
-+ {
-+ char *term = getenv("TERM");
-+ if (term != NULL) {
-+ struct w3m_term_info *p;
-+ for (p = w3m_term_info_list; p->term != NULL; p++) {
-+ if (!strncmp(term, p->term, strlen(p->term))) {
-+ is_xterm = p->mouse_flag;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+#endif
-+ return 0;
-+}
-+
-+void
-+ttymode_set(int mode, int imode)
-+{
-+#ifndef __MINGW32_VERSION
-+ TerminalMode ioval;
-+
-+ TerminalGet(tty, &ioval);
-+ MODEFLAG(ioval) |= mode;
-+#ifndef HAVE_SGTTY_H
-+ IMODEFLAG(ioval) |= imode;
-+#endif /* not HAVE_SGTTY_H */
-+
-+ while (TerminalSet(tty, &ioval) == -1) {
-+ if (errno == EINTR || errno == EAGAIN)
-+ continue;
-+ printf("Error occured while set %x: errno=%d\n", mode, errno);
-+ reset_exit(SIGNAL_ARGLIST);
-+ }
-+#endif
-+}
-+
-+void
-+ttymode_reset(int mode, int imode)
-+{
-+#ifndef __MINGW32_VERSION
-+ TerminalMode ioval;
-+
-+ TerminalGet(tty, &ioval);
-+ MODEFLAG(ioval) &= ~mode;
-+#ifndef HAVE_SGTTY_H
-+ IMODEFLAG(ioval) &= ~imode;
-+#endif /* not HAVE_SGTTY_H */
-+
-+ while (TerminalSet(tty, &ioval) == -1) {
-+ if (errno == EINTR || errno == EAGAIN)
-+ continue;
-+ printf("Error occured while reset %x: errno=%d\n", mode, errno);
-+ reset_exit(SIGNAL_ARGLIST);
-+ }
-+#endif /* __MINGW32_VERSION */
-+}
-+
-+#ifndef HAVE_SGTTY_H
-+void
-+set_cc(int spec, int val)
-+{
-+ TerminalMode ioval;
-+
-+ TerminalGet(tty, &ioval);
-+ ioval.c_cc[spec] = val;
-+ while (TerminalSet(tty, &ioval) == -1) {
-+ if (errno == EINTR || errno == EAGAIN)
-+ continue;
-+ printf("Error occured: errno=%d\n", errno);
-+ reset_exit(SIGNAL_ARGLIST);
-+ }
-+}
-+#endif /* not HAVE_SGTTY_H */
-+
-+void
-+close_tty(void)
-+{
-+ if (tty > 2)
-+ close(tty);
-+}
-+
-+char *
-+ttyname_tty(void)
-+{
-+ return ttyname(tty);
-+}
-+
-+void
-+reset_tty(void)
-+{
-+ writestr(T_op); /* turn off */
-+ writestr(T_me);
-+ if (!Do_not_use_ti_te) {
-+ if (T_te && *T_te)
-+ writestr(T_te);
-+ else
-+ writestr(T_cl);
-+ }
-+ writestr(T_se); /* reset terminal */
-+ flush_tty();
-+ TerminalSet(tty, &d_ioval);
-+ close_tty();
-+}
-+
-+MySignalHandler
-+reset_exit(SIGNAL_ARG)
-+{
-+#ifdef USE_MOUSE
-+ if (mouseActive)
-+ mouse_end();
-+#endif /* USE_MOUSE */
-+ reset_tty();
-+ w3m_exit(0);
-+ SIGNAL_RETURN;
-+}
-+
-+MySignalHandler
-+error_dump(SIGNAL_ARG)
-+{
-+ mySignal(SIGIOT, SIG_DFL);
-+ reset_tty();
-+ abort();
-+ SIGNAL_RETURN;
-+}
-+
-+void
-+set_int(void)
-+{
-+ mySignal(SIGHUP, reset_exit);
-+ mySignal(SIGINT, reset_exit);
-+ mySignal(SIGQUIT, reset_exit);
-+ mySignal(SIGTERM, reset_exit);
-+ mySignal(SIGILL, error_dump);
-+ mySignal(SIGIOT, error_dump);
-+ mySignal(SIGFPE, error_dump);
-+#ifdef SIGBUS
-+ mySignal(SIGBUS, error_dump);
-+#endif /* SIGBUS */
-+ /* mySignal(SIGSEGV, error_dump); */
-+}
-+
-+
-+static void
-+setgraphchar(void)
-+{
-+ int c, i, n;
-+
-+ for (c = 0; c < 96; c++)
-+ gcmap[c] = (char)(c + ' ');
-+
-+ if (!T_ac)
-+ return;
-+
-+ n = strlen(T_ac);
-+ for (i = 0; i < n - 1; i += 2) {
-+ c = (unsigned)T_ac[i] - ' ';
-+ if (c >= 0 && c < 96)
-+ gcmap[c] = T_ac[i + 1];
-+ }
-+}
-+
-+#define graphchar(c) (((unsigned)(c)>=' ' && (unsigned)(c)<128)? gcmap[(c)-' '] : (c))
-+#define GETSTR(v,s) {v = pt; suc = tgetstr(s,&pt); if (!suc) v = ""; else v = allocStr(suc, -1); }
-+
-+void
-+getTCstr(void)
-+{
-+ char *ent;
-+ char *suc;
-+ char *pt = funcstr;
-+ int r;
-+
-+ ent = getenv("TERM") ? getenv("TERM") : DEFAULT_TERM;
-+ if (ent == NULL) {
-+ fprintf(stderr, "TERM is not set\n");
-+ reset_exit(SIGNAL_ARGLIST);
-+ }
-+
-+ r = tgetent(bp, ent);
-+ if (r != 1) {
-+ /* Can't find termcap entry */
-+ fprintf(stderr, "Can't find termcap entry %s\n", ent);
-+ reset_exit(SIGNAL_ARGLIST);
-+ }
-+
-+ GETSTR(T_ce, "ce"); /* clear to the end of line */
-+ GETSTR(T_cd, "cd"); /* clear to the end of display */
-+ GETSTR(T_kr, "nd"); /* cursor right */
-+ if (suc == NULL)
-+ GETSTR(T_kr, "kr");
-+ if (tgetflag("bs"))
-+ T_kl = "\b"; /* cursor left */
-+ else {
-+ GETSTR(T_kl, "le");
-+ if (suc == NULL)
-+ GETSTR(T_kl, "kb");
-+ if (suc == NULL)
-+ GETSTR(T_kl, "kl");
-+ }
-+ GETSTR(T_cr, "cr"); /* carriage return */
-+ GETSTR(T_ta, "ta"); /* tab */
-+ GETSTR(T_sc, "sc"); /* save cursor */
-+ GETSTR(T_rc, "rc"); /* restore cursor */
-+ GETSTR(T_so, "so"); /* standout mode */
-+ GETSTR(T_se, "se"); /* standout mode end */
-+ GETSTR(T_us, "us"); /* underline mode */
-+ GETSTR(T_ue, "ue"); /* underline mode end */
-+ GETSTR(T_md, "md"); /* bold mode */
-+ GETSTR(T_me, "me"); /* bold mode end */
-+ GETSTR(T_cl, "cl"); /* clear screen */
-+ GETSTR(T_cm, "cm"); /* cursor move */
-+ GETSTR(T_al, "al"); /* append line */
-+ GETSTR(T_sr, "sr"); /* scroll reverse */
-+ GETSTR(T_ti, "ti"); /* terminal init */
-+ GETSTR(T_te, "te"); /* terminal end */
-+ GETSTR(T_nd, "nd"); /* move right one space */
-+ GETSTR(T_eA, "eA"); /* enable alternative charset */
-+ GETSTR(T_as, "as"); /* alternative (graphic) charset start */
-+ GETSTR(T_ae, "ae"); /* alternative (graphic) charset end */
-+ GETSTR(T_ac, "ac"); /* graphics charset pairs */
-+ GETSTR(T_op, "op"); /* set default color pair to its original value */
-+#if defined( CYGWIN ) && CYGWIN < 1
-+ /* for TERM=pcansi on MS-DOS prompt. */
-+#if 0
-+ T_eA = "";
-+ T_as = "\033[12m";
-+ T_ae = "\033[10m";
-+ T_ac = "l\001k\002m\003j\004x\005q\006n\020a\024v\025w\026u\027t\031";
-+#endif
-+ T_eA = "";
-+ T_as = "";
-+ T_ae = "";
-+ T_ac = "";
-+#endif /* CYGWIN */
-+
-+ LINES = COLS = 0;
-+ setlinescols();
-+ setgraphchar();
-+}
-+
-+void
-+setlinescols(void)
-+{
-+ char *p;
-+ int i;
-+#ifdef __EMX__
-+ {
-+ int s[2];
-+ _scrsize(s);
-+ COLS = s[0];
-+ LINES = s[1];
-+
-+ if (getenv("WINDOWID")) {
-+ FILE *fd = popen("scrsize", "rt");
-+ if (fd) {
-+ fscanf(fd, "%i %i", &COLS, &LINES);
-+ pclose(fd);
-+ }
-+ }
-+ }
-+#elif defined(HAVE_TERMIOS_H) && defined(TIOCGWINSZ)
-+ struct winsize wins;
-+
-+ i = ioctl(tty, TIOCGWINSZ, &wins);
-+ if (i >= 0 && wins.ws_row != 0 && wins.ws_col != 0) {
-+ LINES = wins.ws_row;
-+ COLS = wins.ws_col;
-+ }
-+#endif /* defined(HAVE-TERMIOS_H) && defined(TIOCGWINSZ) */
-+ if (LINES <= 0 && (p = getenv("LINES")) != NULL && (i = atoi(p)) >= 0)
-+ LINES = i;
-+ if (COLS <= 0 && (p = getenv("COLUMNS")) != NULL && (i = atoi(p)) >= 0)
-+ COLS = i;
-+ if (LINES <= 0)
-+ LINES = tgetnum("li"); /* number of line */
-+ if (COLS <= 0)
-+ COLS = tgetnum("co"); /* number of column */
-+ if (COLS > MAX_COLUMN)
-+ COLS = MAX_COLUMN;
-+ if (LINES > MAX_LINE)
-+ LINES = MAX_LINE;
-+#if defined(__CYGWIN__)
-+ LASTLINE = LINES - (isWinConsole == TERM_CYGWIN_RESERVE_IME ? 2 : 1);
-+#endif /* defined(__CYGWIN__) */
-+}
-+
-+void
-+setupscreen(void)
-+{
-+ int i;
-+
-+ if (LINES + 1 > max_LINES) {
-+ max_LINES = LINES + 1;
-+ max_COLS = 0;
-+ ScreenElem = New_N(Screen, max_LINES);
-+ ScreenImage = New_N(Screen *, max_LINES);
-+ }
-+ if (COLS + 1 > max_COLS) {
-+ max_COLS = COLS + 1;
-+ for (i = 0; i < max_LINES; i++) {
-+#ifdef USE_M17N
-+ ScreenElem[i].lineimage = New_N(char *, max_COLS);
-+ bzero((void *)ScreenElem[i].lineimage, max_COLS * sizeof(char *));
-+#else
-+ ScreenElem[i].lineimage = New_N(char, max_COLS);
-+#endif
-+ ScreenElem[i].lineprop = New_N(l_prop, max_COLS);
-+ }
-+ }
-+ for (i = 0; i < LINES; i++) {
-+ ScreenImage[i] = &ScreenElem[i];
-+ ScreenImage[i]->lineprop[0] = S_EOL;
-+ ScreenImage[i]->isdirty = 0;
-+ }
-+ for (; i < max_LINES; i++) {
-+ ScreenElem[i].isdirty = L_UNUSED;
-+ }
-+
-+ clear();
-+}
-+
-+/*
-+ * Screen initialize
-+ */
-+int
-+initscr(void)
-+{
-+ if (set_tty() < 0)
-+ return -1;
-+ set_int();
-+ getTCstr();
-+ if (T_ti && !Do_not_use_ti_te)
-+ writestr(T_ti);
-+ setupscreen();
-+ return 0;
-+}
-+
-+static int
-+write1(char c)
-+{
-+ putc(c, ttyf);
-+#ifdef SCREEN_DEBUG
-+ flush_tty();
-+#endif /* SCREEN_DEBUG */
-+ return 0;
-+}
-+
-+void
-+move(int line, int column)
-+{
-+ if (line >= 0 && line < LINES)
-+ CurLine = line;
-+ if (column >= 0 && column < COLS)
-+ CurColumn = column;
-+}
-+
-+#ifdef USE_BG_COLOR
-+#define M_SPACE (S_SCREENPROP|S_COLORED|S_BCOLORED|S_GRAPHICS)
-+#else /* not USE_BG_COLOR */
-+#define M_SPACE (S_SCREENPROP|S_COLORED|S_GRAPHICS)
-+#endif /* not USE_BG_COLOR */
-+
-+static int
-+#ifdef USE_M17N
-+need_redraw(char *c1, l_prop pr1, char *c2, l_prop pr2)
-+{
-+ if (!c1 || !c2 || strcmp(c1, c2))
-+ return 1;
-+ if (*c1 == ' ')
-+#else
-+need_redraw(char c1, l_prop pr1, char c2, l_prop pr2)
-+{
-+ if (c1 != c2)
-+ return 1;
-+ if (c1 == ' ')
-+#endif
-+ return (pr1 ^ pr2) & M_SPACE & ~S_DIRTY;
-+
-+ if ((pr1 ^ pr2) & ~S_DIRTY)
-+ return 1;
-+
-+ return 0;
-+}
-+
-+#define M_CEOL (~(M_SPACE|C_WHICHCHAR))
-+
-+#ifdef USE_M17N
-+#define SPACE " "
-+#else
-+#define SPACE ' '
-+#endif
-+
-+#ifdef USE_M17N
-+void
-+addch(char c)
-+{
-+ addmch(&c, 1);
-+}
-+
-+void
-+addmch(char *pc, size_t len)
-+#else
-+void
-+addch(char pc)
-+#endif
-+{
-+ l_prop *pr;
-+ int dest, i;
-+ short *dirty;
-+#ifdef USE_M17N
-+ static Str tmp = NULL;
-+ char **p;
-+ char c = *pc;
-+ int width = wtf_width((wc_uchar *) pc);
-+
-+ if (tmp == NULL)
-+ tmp = Strnew();
-+ Strcopy_charp_n(tmp, pc, len);
-+ pc = tmp->ptr;
-+#else
-+ char *p;
-+ char c = pc;
-+#endif
-+
-+ if (CurColumn == COLS)
-+ wrap();
-+ if (CurColumn >= COLS)
-+ return;
-+ p = ScreenImage[CurLine]->lineimage;
-+ pr = ScreenImage[CurLine]->lineprop;
-+ dirty = &ScreenImage[CurLine]->isdirty;
-+
-+#ifndef USE_M17N
-+ /* Eliminate unprintables according to * iso-8859-*.
-+ * Particularly 0x96 messes up T.Dickey's * (xfree-)xterm */
-+ if (IS_INTSPACE(c))
-+ c = ' ';
-+#endif
-+
-+ if (pr[CurColumn] & S_EOL) {
-+ if (c == ' ' && !(CurrentMode & M_SPACE)) {
-+ CurColumn++;
-+ return;
-+ }
-+ for (i = CurColumn; i >= 0 && (pr[i] & S_EOL); i--) {
-+ SETCH(p[i], SPACE, 1);
-+ SETPROP(pr[i], (pr[i] & M_CEOL) | C_ASCII);
-+ }
-+ }
-+
-+ if (c == '\t' || c == '\n' || c == '\r' || c == '\b')
-+ SETCHMODE(CurrentMode, C_CTRL);
-+#ifdef USE_M17N
-+ else if (len > 1)
-+ SETCHMODE(CurrentMode, C_WCHAR1);
-+#endif
-+ else if (!IS_CNTRL(c))
-+ SETCHMODE(CurrentMode, C_ASCII);
-+ else
-+ return;
-+
-+ /* Required to erase bold or underlined character for some * terminal
-+ * emulators. */
-+#ifdef USE_M17N
-+ i = CurColumn + width - 1;
-+#else
-+ i = CurColumn;
-+#endif
-+ if (i < COLS &&
-+ (((pr[i] & S_BOLD) && need_redraw(p[i], pr[i], pc, CurrentMode)) ||
-+ ((pr[i] & S_UNDERLINE) && !(CurrentMode & S_UNDERLINE)))) {
-+ touch_line();
-+ i++;
-+ if (i < COLS) {
-+ touch_column(i);
-+ if (pr[i] & S_EOL) {
-+ SETCH(p[i], SPACE, 1);
-+ SETPROP(pr[i], (pr[i] & M_CEOL) | C_ASCII);
-+ }
-+#ifdef USE_M17N
-+ else {
-+ for (i++; i < COLS && CHMODE(pr[i]) == C_WCHAR2; i++)
-+ touch_column(i);
-+ }
-+#endif
-+ }
-+ }
-+
-+#ifdef USE_M17N
-+ if (CurColumn + width > COLS) {
-+ touch_line();
-+ for (i = CurColumn; i < COLS; i++) {
-+ SETCH(p[i], SPACE, 1);
-+ SETPROP(pr[i], (pr[i] & ~C_WHICHCHAR) | C_ASCII);
-+ touch_column(i);
-+ }
-+ wrap();
-+ if (CurColumn + width > COLS)
-+ return;
-+ p = ScreenImage[CurLine]->lineimage;
-+ pr = ScreenImage[CurLine]->lineprop;
-+ }
-+ if (CHMODE(pr[CurColumn]) == C_WCHAR2) {
-+ touch_line();
-+ for (i = CurColumn - 1; i >= 0; i--) {
-+ l_prop l = CHMODE(pr[i]);
-+ SETCH(p[i], SPACE, 1);
-+ SETPROP(pr[i], (pr[i] & ~C_WHICHCHAR) | C_ASCII);
-+ touch_column(i);
-+ if (l != C_WCHAR2)
-+ break;
-+ }
-+ }
-+#endif
-+ if (CHMODE(CurrentMode) != C_CTRL) {
-+ if (need_redraw(p[CurColumn], pr[CurColumn], pc, CurrentMode)) {
-+ SETCH(p[CurColumn], pc, len);
-+ SETPROP(pr[CurColumn], CurrentMode);
-+ touch_line();
-+ touch_column(CurColumn);
-+#ifdef USE_M17N
-+ SETCHMODE(CurrentMode, C_WCHAR2);
-+ for (i = CurColumn + 1; i < CurColumn + width; i++) {
-+ SETCH(p[i], SPACE, 1);
-+ SETPROP(pr[i], (pr[CurColumn] & ~C_WHICHCHAR) | C_WCHAR2);
-+ touch_column(i);
-+ }
-+ for (; i < COLS && CHMODE(pr[i]) == C_WCHAR2; i++) {
-+ SETCH(p[i], SPACE, 1);
-+ SETPROP(pr[i], (pr[i] & ~C_WHICHCHAR) | C_ASCII);
-+ touch_column(i);
-+ }
-+ }
-+ CurColumn += width;
-+#else
-+ }
-+ CurColumn++;
-+#endif
-+ }
-+ else if (c == '\t') {
-+ dest = (CurColumn + tab_step) / tab_step * tab_step;
-+ if (dest >= COLS) {
-+ wrap();
-+ touch_line();
-+ dest = tab_step;
-+ p = ScreenImage[CurLine]->lineimage;
-+ pr = ScreenImage[CurLine]->lineprop;
-+ }
-+ for (i = CurColumn; i < dest; i++) {
-+ if (need_redraw(p[i], pr[i], SPACE, CurrentMode)) {
-+ SETCH(p[i], SPACE, 1);
-+ SETPROP(pr[i], CurrentMode);
-+ touch_line();
-+ touch_column(i);
-+ }
-+ }
-+ CurColumn = i;
-+ }
-+ else if (c == '\n') {
-+ wrap();
-+ }
-+ else if (c == '\r') { /* Carriage return */
-+ CurColumn = 0;
-+ }
-+ else if (c == '\b' && CurColumn > 0) { /* Backspace */
-+ CurColumn--;
-+#ifdef USE_M17N
-+ while (CurColumn > 0 && CHMODE(pr[CurColumn]) == C_WCHAR2)
-+ CurColumn--;
-+#endif
-+ }
-+}
-+
-+void
-+wrap(void)
-+{
-+ if (CurLine == LASTLINE)
-+ return;
-+ CurLine++;
-+ CurColumn = 0;
-+}
-+
-+void
-+touch_column(int col)
-+{
-+ if (col >= 0 && col < COLS)
-+ ScreenImage[CurLine]->lineprop[col] |= S_DIRTY;
-+}
-+
-+void
-+touch_line(void)
-+{
-+ if (!(ScreenImage[CurLine]->isdirty & L_DIRTY)) {
-+ int i;
-+ for (i = 0; i < COLS; i++)
-+ ScreenImage[CurLine]->lineprop[i] &= ~S_DIRTY;
-+ ScreenImage[CurLine]->isdirty |= L_DIRTY;
-+ }
-+
-+}
-+
-+void
-+standout(void)
-+{
-+ CurrentMode |= S_STANDOUT;
-+}
-+
-+void
-+standend(void)
-+{
-+ CurrentMode &= ~S_STANDOUT;
-+}
-+
-+void
-+toggle_stand(void)
-+{
-+#ifdef USE_M17N
-+ int i;
-+#endif
-+ l_prop *pr = ScreenImage[CurLine]->lineprop;
-+ pr[CurColumn] ^= S_STANDOUT;
-+#ifdef USE_M17N
-+ if (CHMODE(pr[CurColumn]) != C_WCHAR2) {
-+ for (i = CurColumn + 1; CHMODE(pr[i]) == C_WCHAR2; i++)
-+ pr[i] ^= S_STANDOUT;
-+ }
-+#endif
-+}
-+
-+void
-+bold(void)
-+{
-+ CurrentMode |= S_BOLD;
-+}
-+
-+void
-+boldend(void)
-+{
-+ CurrentMode &= ~S_BOLD;
-+}
-+
-+void
-+underline(void)
-+{
-+ CurrentMode |= S_UNDERLINE;
-+}
-+
-+void
-+underlineend(void)
-+{
-+ CurrentMode &= ~S_UNDERLINE;
-+}
-+
-+void
-+graphstart(void)
-+{
-+ CurrentMode |= S_GRAPHICS;
-+}
-+
-+void
-+graphend(void)
-+{
-+ CurrentMode &= ~S_GRAPHICS;
-+}
-+
-+int
-+graph_ok(void)
-+{
-+ if (!UseGraphicChar)
-+ return 0;
-+ return T_as[0] != 0 && T_ae[0] != 0 && T_ac[0] != 0;
-+}
-+
-+void
-+setfcolor(int color)
-+{
-+ CurrentMode &= ~COL_FCOLOR;
-+ if ((color & 0xf) <= 7)
-+ CurrentMode |= (((color & 7) | 8) << 8);
-+}
-+
-+static char *
-+color_seq(int colmode)
-+{
-+ static char seqbuf[32];
-+ sprintf(seqbuf, "\033[%dm", ((colmode >> 8) & 7) + 30);
-+ return seqbuf;
-+}
-+
-+#ifdef USE_BG_COLOR
-+void
-+setbcolor(int color)
-+{
-+ CurrentMode &= ~COL_BCOLOR;
-+ if ((color & 0xf) <= 7)
-+ CurrentMode |= (((color & 7) | 8) << 12);
-+}
-+
-+static char *
-+bcolor_seq(int colmode)
-+{
-+ static char seqbuf[32];
-+ sprintf(seqbuf, "\033[%dm", ((colmode >> 12) & 7) + 40);
-+ return seqbuf;
-+}
-+#endif /* USE_BG_COLOR */
-+
-+#define RF_NEED_TO_MOVE 0
-+#define RF_CR_OK 1
-+#define RF_NONEED_TO_MOVE 2
-+#ifdef USE_BG_COLOR
-+#define M_MEND (S_STANDOUT|S_UNDERLINE|S_BOLD|S_COLORED|S_BCOLORED|S_GRAPHICS)
-+#else /* not USE_BG_COLOR */
-+#define M_MEND (S_STANDOUT|S_UNDERLINE|S_BOLD|S_COLORED|S_GRAPHICS)
-+#endif /* not USE_BG_COLOR */
-+void
-+refresh(void)
-+{
-+ int line, col, pcol;
-+ int pline = CurLine;
-+ int moved = RF_NEED_TO_MOVE;
-+#ifdef USE_M17N
-+ char **pc;
-+#else
-+ char *pc;
-+#endif
-+ l_prop *pr, mode = 0;
-+ l_prop color = COL_FTERM;
-+#ifdef USE_BG_COLOR
-+ l_prop bcolor = COL_BTERM;
-+#endif /* USE_BG_COLOR */
-+ short *dirty;
-+
-+#ifdef USE_M17N
-+ wc_putc_init(InnerCharset, DisplayCharset);
-+#endif
-+ for (line = 0; line <= LASTLINE; line++) {
-+ dirty = &ScreenImage[line]->isdirty;
-+ if (*dirty & L_DIRTY) {
-+ *dirty &= ~L_DIRTY;
-+ pc = ScreenImage[line]->lineimage;
-+ pr = ScreenImage[line]->lineprop;
-+ for (col = 0; col < COLS && !(pr[col] & S_EOL); col++) {
-+ if (*dirty & L_NEED_CE && col >= ScreenImage[line]->eol) {
-+ if (need_redraw(pc[col], pr[col], SPACE, 0))
-+ break;
-+ }
-+ else {
-+ if (pr[col] & S_DIRTY)
-+ break;
-+ }
-+ }
-+ if (*dirty & (L_NEED_CE | L_CLRTOEOL)) {
-+ pcol = ScreenImage[line]->eol;
-+ if (pcol >= COLS) {
-+ *dirty &= ~(L_NEED_CE | L_CLRTOEOL);
-+ pcol = col;
-+ }
-+ }
-+ else {
-+ pcol = col;
-+ }
-+ if (line < LINES - 2 && pline == line - 1 && pcol == 0) {
-+ switch (moved) {
-+ case RF_NEED_TO_MOVE:
-+ MOVE(line, 0);
-+ moved = RF_CR_OK;
-+ break;
-+ case RF_CR_OK:
-+ write1('\n');
-+ write1('\r');
-+ break;
-+ case RF_NONEED_TO_MOVE:
-+ moved = RF_CR_OK;
-+ break;
-+ }
-+ }
-+ else {
-+ MOVE(line, pcol);
-+ moved = RF_CR_OK;
-+ }
-+ if (*dirty & (L_NEED_CE | L_CLRTOEOL)) {
-+ writestr(T_ce);
-+ if (col != pcol)
-+ MOVE(line, col);
-+ }
-+ pline = line;
-+ pcol = col;
-+ for (; col < COLS; col++) {
-+ if (pr[col] & S_EOL)
-+ break;
-+
-+ /*
-+ * some terminal emulators do linefeed when a
-+ * character is put on COLS-th column. this behavior
-+ * is different from one of vt100, but such terminal
-+ * emulators are used as vt100-compatible
-+ * emulators. This behaviour causes scroll when a
-+ * character is drawn on (COLS-1,LINES-1) point. To
-+ * avoid the scroll, I prohibit to draw character on
-+ * (COLS-1,LINES-1).
-+ */
-+#if !defined(USE_BG_COLOR) || defined(__CYGWIN__)
-+#ifdef __CYGWIN__
-+ if (isWinConsole)
-+#endif
-+ if (line == LINES - 1 && col == COLS - 1)
-+ break;
-+#endif /* !defined(USE_BG_COLOR) || defined(__CYGWIN__) */
-+ if ((!(pr[col] & S_STANDOUT) && (mode & S_STANDOUT)) ||
-+ (!(pr[col] & S_UNDERLINE) && (mode & S_UNDERLINE)) ||
-+ (!(pr[col] & S_BOLD) && (mode & S_BOLD)) ||
-+ (!(pr[col] & S_COLORED) && (mode & S_COLORED))
-+#ifdef USE_BG_COLOR
-+ || (!(pr[col] & S_BCOLORED) && (mode & S_BCOLORED))
-+#endif /* USE_BG_COLOR */
-+ || (!(pr[col] & S_GRAPHICS) && (mode & S_GRAPHICS))) {
-+ if ((mode & S_COLORED)
-+#ifdef USE_BG_COLOR
-+ || (mode & S_BCOLORED)
-+#endif /* USE_BG_COLOR */
-+ )
-+ writestr(T_op);
-+ if (mode & S_GRAPHICS)
-+ writestr(T_ae);
-+ writestr(T_me);
-+ mode &= ~M_MEND;
-+ }
-+ if ((*dirty & L_NEED_CE && col >= ScreenImage[line]->eol) ?
-+ need_redraw(pc[col], pr[col], SPACE,
-+ 0) : (pr[col] & S_DIRTY)) {
-+ if (pcol == col - 1)
-+ writestr(T_nd);
-+ else if (pcol != col)
-+ MOVE(line, col);
-+
-+ if ((pr[col] & S_STANDOUT) && !(mode & S_STANDOUT)) {
-+ writestr(T_so);
-+ mode |= S_STANDOUT;
-+ }
-+ if ((pr[col] & S_UNDERLINE) && !(mode & S_UNDERLINE)) {
-+ writestr(T_us);
-+ mode |= S_UNDERLINE;
-+ }
-+ if ((pr[col] & S_BOLD) && !(mode & S_BOLD)) {
-+ writestr(T_md);
-+ mode |= S_BOLD;
-+ }
-+ if ((pr[col] & S_COLORED) && (pr[col] ^ mode) & COL_FCOLOR) {
-+ color = (pr[col] & COL_FCOLOR);
-+ mode = ((mode & ~COL_FCOLOR) | color);
-+ writestr(color_seq(color));
-+ }
-+#ifdef USE_BG_COLOR
-+ if ((pr[col] & S_BCOLORED)
-+ && (pr[col] ^ mode) & COL_BCOLOR) {
-+ bcolor = (pr[col] & COL_BCOLOR);
-+ mode = ((mode & ~COL_BCOLOR) | bcolor);
-+ writestr(bcolor_seq(bcolor));
-+ }
-+#endif /* USE_BG_COLOR */
-+ if ((pr[col] & S_GRAPHICS) && !(mode & S_GRAPHICS)) {
-+#ifdef USE_M17N
-+ wc_putc_end(ttyf);
-+#endif
-+ if (!graph_enabled) {
-+ graph_enabled = 1;
-+ writestr(T_eA);
-+ }
-+ writestr(T_as);
-+ mode |= S_GRAPHICS;
-+ }
-+#ifdef USE_M17N
-+ if (pr[col] & S_GRAPHICS)
-+ write1(graphchar(*pc[col]));
-+ else if (CHMODE(pr[col]) != C_WCHAR2)
-+ wc_putc(pc[col], ttyf);
-+#else
-+ write1((pr[col] & S_GRAPHICS) ? graphchar(pc[col]) :
-+ pc[col]);
-+#endif
-+ pcol = col + 1;
-+ }
-+ }
-+ if (col == COLS)
-+ moved = RF_NEED_TO_MOVE;
-+ for (; col < COLS && !(pr[col] & S_EOL); col++)
-+ pr[col] |= S_EOL;
-+ }
-+ *dirty &= ~(L_NEED_CE | L_CLRTOEOL);
-+ if (mode & M_MEND) {
-+ if (mode & (S_COLORED
-+#ifdef USE_BG_COLOR
-+ | S_BCOLORED
-+#endif /* USE_BG_COLOR */
-+ ))
-+ writestr(T_op);
-+ if (mode & S_GRAPHICS) {
-+ writestr(T_ae);
-+#ifdef USE_M17N
-+ wc_putc_clear_status();
-+#endif
-+ }
-+ writestr(T_me);
-+ mode &= ~M_MEND;
-+ }
-+ }
-+#ifdef USE_M17N
-+ wc_putc_end(ttyf);
-+#endif
-+ MOVE(CurLine, CurColumn);
-+ flush_tty();
-+}
-+
-+void
-+clear(void)
-+{
-+ int i, j;
-+ l_prop *p;
-+ writestr(T_cl);
-+ move(0, 0);
-+ for (i = 0; i < LINES; i++) {
-+ ScreenImage[i]->isdirty = 0;
-+ p = ScreenImage[i]->lineprop;
-+ for (j = 0; j < COLS; j++) {
-+ p[j] = S_EOL;
-+ }
-+ }
-+ CurrentMode = C_ASCII;
-+}
-+
-+#ifdef USE_RAW_SCROLL
-+static void
-+scroll_raw(void)
-+{ /* raw scroll */
-+ MOVE(LINES - 1, 0);
-+ write1('\n');
-+}
-+
-+void
-+scroll(int n)
-+{ /* scroll up */
-+ int cli = CurLine, cco = CurColumn;
-+ Screen *t;
-+ int i, j, k;
-+
-+ i = LINES;
-+ j = n;
-+ do {
-+ k = j;
-+ j = i % k;
-+ i = k;
-+ } while (j);
-+ do {
-+ k--;
-+ i = k;
-+ j = (i + n) % LINES;
-+ t = ScreenImage[k];
-+ while (j != k) {
-+ ScreenImage[i] = ScreenImage[j];
-+ i = j;
-+ j = (i + n) % LINES;
-+ }
-+ ScreenImage[i] = t;
-+ } while (k);
-+
-+ for (i = 0; i < n; i++) {
-+ t = ScreenImage[LINES - 1 - i];
-+ t->isdirty = 0;
-+ for (j = 0; j < COLS; j++)
-+ t->lineprop[j] = S_EOL;
-+ scroll_raw();
-+ }
-+ move(cli, cco);
-+}
-+
-+void
-+rscroll(int n)
-+{ /* scroll down */
-+ int cli = CurLine, cco = CurColumn;
-+ Screen *t;
-+ int i, j, k;
-+
-+ i = LINES;
-+ j = n;
-+ do {
-+ k = j;
-+ j = i % k;
-+ i = k;
-+ } while (j);
-+ do {
-+ k--;
-+ i = k;
-+ j = (LINES + i - n) % LINES;
-+ t = ScreenImage[k];
-+ while (j != k) {
-+ ScreenImage[i] = ScreenImage[j];
-+ i = j;
-+ j = (LINES + i - n) % LINES;
-+ }
-+ ScreenImage[i] = t;
-+ } while (k);
-+ if (T_sr && *T_sr) {
-+ MOVE(0, 0);
-+ for (i = 0; i < n; i++) {
-+ t = ScreenImage[i];
-+ t->isdirty = 0;
-+ for (j = 0; j < COLS; j++)
-+ t->lineprop[j] = S_EOL;
-+ writestr(T_sr);
-+ }
-+ move(cli, cco);
-+ }
-+ else {
-+ for (i = 0; i < LINES; i++) {
-+ t = ScreenImage[i];
-+ t->isdirty |= L_DIRTY | L_NEED_CE;
-+ for (j = 0; j < COLS; j++) {
-+ t->lineprop[j] |= S_DIRTY;
-+ }
-+ }
-+ }
-+}
-+#endif
-+
-+#if 0
-+void
-+need_clrtoeol(void)
-+{
-+ /* Clear to the end of line as the need arises */
-+ l_prop *lprop = ScreenImage[CurLine]->lineprop;
-+
-+ if (lprop[CurColumn] & S_EOL)
-+ return;
-+
-+ if (!(ScreenImage[CurLine]->isdirty & (L_NEED_CE | L_CLRTOEOL)) ||
-+ ScreenImage[CurLine]->eol > CurColumn)
-+ ScreenImage[CurLine]->eol = CurColumn;
-+
-+ ScreenImage[CurLine]->isdirty |= L_NEED_CE;
-+}
-+#endif /* 0 */
-+
-+/* XXX: conflicts with curses's clrtoeol(3) ? */
-+void
-+clrtoeol(void)
-+{ /* Clear to the end of line */
-+ int i;
-+ l_prop *lprop = ScreenImage[CurLine]->lineprop;
-+
-+ if (lprop[CurColumn] & S_EOL)
-+ return;
-+
-+ if (!(ScreenImage[CurLine]->isdirty & (L_NEED_CE | L_CLRTOEOL)) ||
-+ ScreenImage[CurLine]->eol > CurColumn)
-+ ScreenImage[CurLine]->eol = CurColumn;
-+
-+ ScreenImage[CurLine]->isdirty |= L_CLRTOEOL;
-+ touch_line();
-+ for (i = CurColumn; i < COLS && !(lprop[i] & S_EOL); i++) {
-+ lprop[i] = S_EOL | S_DIRTY;
-+ }
-+}
-+
-+#ifdef USE_BG_COLOR
-+void
-+clrtoeol_with_bcolor(void)
-+{
-+ int i, cli, cco;
-+ l_prop pr;
-+
-+ if (!(CurrentMode & S_BCOLORED)) {
-+ clrtoeol();
-+ return;
-+ }
-+ cli = CurLine;
-+ cco = CurColumn;
-+ pr = CurrentMode;
-+ CurrentMode = (CurrentMode & (M_CEOL | S_BCOLORED)) | C_ASCII;
-+ for (i = CurColumn; i < COLS; i++)
-+ addch(' ');
-+ move(cli, cco);
-+ CurrentMode = pr;
-+}
-+
-+void
-+clrtoeolx(void)
-+{
-+ clrtoeol_with_bcolor();
-+}
-+#else /* not USE_BG_COLOR */
-+
-+void
-+clrtoeolx(void)
-+{
-+ clrtoeol();
-+}
-+#endif /* not USE_BG_COLOR */
-+
-+void
-+clrtobot_eol(void (*clrtoeol) ())
-+{
-+ int l, c;
-+
-+ l = CurLine;
-+ c = CurColumn;
-+ (*clrtoeol) ();
-+ CurColumn = 0;
-+ CurLine++;
-+ for (; CurLine < LINES; CurLine++)
-+ (*clrtoeol) ();
-+ CurLine = l;
-+ CurColumn = c;
-+}
-+
-+void
-+clrtobot(void)
-+{
-+ clrtobot_eol(clrtoeol);
-+}
-+
-+void
-+clrtobotx(void)
-+{
-+ clrtobot_eol(clrtoeolx);
-+}
-+
-+#if 0
-+void
-+no_clrtoeol(void)
-+{
-+ int i;
-+ l_prop *lprop = ScreenImage[CurLine]->lineprop;
-+
-+ ScreenImage[CurLine]->isdirty &= ~L_CLRTOEOL;
-+}
-+#endif /* 0 */
-+
-+void
-+addstr(char *s)
-+{
-+#ifdef USE_M17N
-+ int len;
-+
-+ while (*s != '\0') {
-+ len = wtf_len((wc_uchar *) s);
-+ addmch(s, len);
-+ s += len;
-+ }
-+#else
-+ while (*s != '\0')
-+ addch(*(s++));
-+#endif
-+}
-+
-+void
-+addnstr(char *s, int n)
-+{
-+ int i;
-+#ifdef USE_M17N
-+ int len, width;
-+
-+ for (i = 0; *s != '\0';) {
-+ width = wtf_width((wc_uchar *) s);
-+ if (i + width > n)
-+ break;
-+ len = wtf_len((wc_uchar *) s);
-+ addmch(s, len);
-+ s += len;
-+ i += width;
-+ }
-+#else
-+ for (i = 0; i < n && *s != '\0'; i++)
-+ addch(*(s++));
-+#endif
-+}
-+
-+void
-+addnstr_sup(char *s, int n)
-+{
-+ int i;
-+#ifdef USE_M17N
-+ int len, width;
-+
-+ for (i = 0; *s != '\0';) {
-+ width = wtf_width((wc_uchar *) s);
-+ if (i + width > n)
-+ break;
-+ len = wtf_len((wc_uchar *) s);
-+ addmch(s, len);
-+ s += len;
-+ i += width;
-+ }
-+#else
-+ for (i = 0; i < n && *s != '\0'; i++)
-+ addch(*(s++));
-+#endif
-+ for (; i < n; i++)
-+ addch(' ');
-+}
-+
-+void
-+crmode(void)
-+#ifndef HAVE_SGTTY_H
-+{
-+ ttymode_reset(ICANON, IXON);
-+ ttymode_set(ISIG, 0);
-+#ifdef HAVE_TERMIOS_H
-+ set_cc(VMIN, 1);
-+#else /* not HAVE_TERMIOS_H */
-+ set_cc(VEOF, 1);
-+#endif /* not HAVE_TERMIOS_H */
-+}
-+#else /* HAVE_SGTTY_H */
-+{
-+ ttymode_set(CBREAK, 0);
-+}
-+#endif /* HAVE_SGTTY_H */
-+
-+void
-+nocrmode(void)
-+#ifndef HAVE_SGTTY_H
-+{
-+ ttymode_set(ICANON, 0);
-+#ifdef HAVE_TERMIOS_H
-+ set_cc(VMIN, 4);
-+#else /* not HAVE_TERMIOS_H */
-+ set_cc(VEOF, 4);
-+#endif /* not HAVE_TERMIOS_H */
-+}
-+#else /* HAVE_SGTTY_H */
-+{
-+ ttymode_reset(CBREAK, 0);
-+}
-+#endif /* HAVE_SGTTY_H */
-+
-+void
-+term_echo(void)
-+{
-+ ttymode_set(ECHO, 0);
-+}
-+
-+void
-+term_noecho(void)
-+{
-+ ttymode_reset(ECHO, 0);
-+}
-+
-+void
-+term_raw(void)
-+#ifndef HAVE_SGTTY_H
-+#ifdef IEXTEN
-+#define TTY_MODE ISIG|ICANON|ECHO|IEXTEN
-+#else /* not IEXTEN */
-+#define TTY_MODE ISIG|ICANON|ECHO
-+#endif /* not IEXTEN */
-+{
-+ ttymode_reset(TTY_MODE, IXON | IXOFF);
-+#ifdef HAVE_TERMIOS_H
-+ set_cc(VMIN, 1);
-+#else /* not HAVE_TERMIOS_H */
-+ set_cc(VEOF, 1);
-+#endif /* not HAVE_TERMIOS_H */
-+}
-+#else /* HAVE_SGTTY_H */
-+{
-+ ttymode_set(RAW, 0);
-+}
-+#endif /* HAVE_SGTTY_H */
-+
-+void
-+term_cooked(void)
-+#ifndef HAVE_SGTTY_H
-+{
-+#ifdef __EMX__
-+ /* On XFree86/OS2, some scrambled characters
-+ * will appear when asserting IEXTEN flag.
-+ */
-+ ttymode_set((TTY_MODE) & ~IEXTEN, 0);
-+#else
-+ ttymode_set(TTY_MODE, 0);
-+#endif
-+#ifdef HAVE_TERMIOS_H
-+ set_cc(VMIN, 4);
-+#else /* not HAVE_TERMIOS_H */
-+ set_cc(VEOF, 4);
-+#endif /* not HAVE_TERMIOS_H */
-+}
-+#else /* HAVE_SGTTY_H */
-+{
-+ ttymode_reset(RAW, 0);
-+}
-+#endif /* HAVE_SGTTY_H */
-+
-+void
-+term_cbreak(void)
-+{
-+ term_cooked();
-+ term_noecho();
-+}
-+
-+void
-+term_title(char *s)
-+{
-+ if (!fmInitialized)
-+ return;
-+ if (title_str != NULL) {
-+#ifdef __CYGWIN__
-+ if (isLocalConsole && title_str == CYGWIN_TITLE) {
-+ Str buff;
-+ buff = Sprintf(title_str, s);
-+ if (buff->length > 1024) {
-+ Strtruncate(buff, 1024);
-+ }
-+ SetConsoleTitle(buff->ptr);
-+ }
-+ else if (isLocalConsole || !isWinConsole)
-+#endif
-+ fprintf(ttyf, title_str, s);
-+ }
-+}
-+
-+char
-+getch(void)
-+{
-+ char c;
-+
-+ while (
-+#ifdef SUPPORT_WIN9X_CONSOLE_MBCS
-+ read_win32_console(&c, 1)
-+#else
-+ read(tty, &c, 1)
-+#endif
-+ < (int)1) {
-+ if (errno == EINTR || errno == EAGAIN)
-+ continue;
-+ /* error happend on read(2) */
-+ quitfm();
-+ break; /* unreachable */
-+ }
-+ return c;
-+}
-+
-+#ifdef USE_MOUSE
-+#ifdef USE_GPM
-+char
-+wgetch(void *p)
-+{
-+ char c;
-+
-+ /* read(tty, &c, 1); */
-+ while (read(tty, &c, 1) < (ssize_t) 1) {
-+ if (errno == EINTR || errno == EAGAIN)
-+ continue;
-+ /* error happend on read(2) */
-+ quitfm();
-+ break; /* unreachable */
-+ }
-+ return c;
-+}
-+
-+int
-+do_getch()
-+{
-+ if (is_xterm)
-+ return getch();
-+ else
-+ return Gpm_Getch();
-+}
-+#endif /* USE_GPM */
-+
-+#ifdef USE_SYSMOUSE
-+int
-+sysm_getch()
-+{
-+ fd_set rfd;
-+ int key, x, y;
-+
-+ FD_ZERO(&rfd);
-+ FD_SET(tty, &rfd);
-+ while (select(tty + 1, &rfd, NULL, NULL, NULL) <= 0) {
-+ if (errno == EINTR) {
-+ x = xpix / cwidth;
-+ y = ypix / cheight;
-+ key = (*sysm_handler) (x, y, nbs, obs);
-+ if (key != 0)
-+ return key;
-+ }
-+ }
-+ return getch();
-+}
-+
-+int
-+do_getch()
-+{
-+ if (is_xterm || !sysm_handler)
-+ return getch();
-+ else
-+ return sysm_getch();
-+}
-+
-+MySignalHandler
-+sysmouse(SIGNAL_ARG)
-+{
-+ struct mouse_info mi;
-+
-+ mi.operation = MOUSE_GETINFO;
-+ if (ioctl(tty, CONS_MOUSECTL, &mi) == -1)
-+ return;
-+ xpix = mi.u.data.x;
-+ ypix = mi.u.data.y;
-+ obs = nbs;
-+ nbs = mi.u.data.buttons & 0x7;
-+ /* for cosmetic bug in syscons.c on FreeBSD 3.[34] */
-+ mi.operation = MOUSE_HIDE;
-+ ioctl(tty, CONS_MOUSECTL, &mi);
-+ mi.operation = MOUSE_SHOW;
-+ ioctl(tty, CONS_MOUSECTL, &mi);
-+}
-+#endif /* USE_SYSMOUSE */
-+#endif /* USE_MOUSE */
-+
-+void
-+bell(void)
-+{
-+ write1(7);
-+}
-+
-+void
-+skip_escseq(void)
-+{
-+ int c;
-+
-+ c = getch();
-+ if (c == '[' || c == 'O') {
-+ c = getch();
-+#ifdef USE_MOUSE
-+ if (is_xterm && c == 'M') {
-+ getch();
-+ getch();
-+ getch();
-+ }
-+ else
-+#endif
-+ while (IS_DIGIT(c))
-+ c = getch();
-+ }
-+}
-+
-+int
-+sleep_till_anykey(int sec, int purge)
-+{
-+ fd_set rfd;
-+ struct timeval tim;
-+ int er, c, ret;
-+ TerminalMode ioval;
-+
-+ TerminalGet(tty, &ioval);
-+ term_raw();
-+
-+ tim.tv_sec = sec;
-+ tim.tv_usec = 0;
-+
-+ FD_ZERO(&rfd);
-+ FD_SET(tty, &rfd);
-+
-+ ret = select(tty + 1, &rfd, 0, 0, &tim);
-+ if (ret > 0 && purge) {
-+ c = getch();
-+ if (c == ESC_CODE)
-+ skip_escseq();
-+ }
-+ er = TerminalSet(tty, &ioval);
-+ if (er == -1) {
-+ printf("Error occured: errno=%d\n", errno);
-+ reset_exit(SIGNAL_ARGLIST);
-+ }
-+ return ret;
-+}
-+
-+#ifdef USE_MOUSE
-+
-+#define XTERM_ON {fputs("\033[?1001s\033[?1000h",ttyf); flush_tty();}
-+#define XTERM_OFF {fputs("\033[?1000l\033[?1001r",ttyf); flush_tty();}
-+#define CYGWIN_ON {fputs("\033[?1000h",ttyf); flush_tty();}
-+#define CYGWIN_OFF {fputs("\033[?1000l",ttyf); flush_tty();}
-+
-+#ifdef USE_GPM
-+/* Linux console with GPM support */
-+
-+void
-+mouse_init()
-+{
-+ Gpm_Connect conn;
-+ extern int gpm_process_mouse(Gpm_Event *, void *);
-+ int r;
-+
-+ if (mouseActive)
-+ return;
-+ conn.eventMask = ~0;
-+ conn.defaultMask = 0;
-+ conn.maxMod = 0;
-+ conn.minMod = 0;
-+
-+ r = Gpm_Open(&conn, 0);
-+ if (r == -2) {
-+ /*
-+ * If Gpm_Open() success, returns >= 0
-+ * Gpm_Open() returns -2 in case of xterm.
-+ * Gpm_Close() is necessary here. Otherwise,
-+ * xterm is being left in the mode where the mouse clicks are
-+ * passed through to the application.
-+ */
-+ Gpm_Close();
-+ is_xterm = (NEED_XTERM_ON | NEED_XTERM_OFF);
-+ }
-+ else if (r >= 0) {
-+ gpm_handler = gpm_process_mouse;
-+ is_xterm = 0;
-+ }
-+ if (is_xterm) {
-+ XTERM_ON;
-+ }
-+ mouseActive = 1;
-+}
-+
-+void
-+mouse_end()
-+{
-+ if (mouseActive == 0)
-+ return;
-+ if (is_xterm) {
-+ XTERM_OFF;
-+ }
-+ else
-+ Gpm_Close();
-+ mouseActive = 0;
-+}
-+
-+#elif defined(USE_SYSMOUSE)
-+/* *BSD console with sysmouse support */
-+void
-+mouse_init()
-+{
-+ mouse_info_t mi;
-+ extern int sysm_process_mouse();
-+
-+ if (mouseActive)
-+ return;
-+ if (is_xterm) {
-+ XTERM_ON;
-+ }
-+ else {
-+#if defined(FBIO_MODEINFO) || defined(CONS_MODEINFO) /* FreeBSD > 2.x */
-+#ifndef FBIO_GETMODE /* FreeBSD 3.x */
-+#define FBIO_GETMODE CONS_GET
-+#define FBIO_MODEINFO CONS_MODEINFO
-+#endif /* FBIO_GETMODE */
-+ video_info_t vi;
-+
-+ if (ioctl(tty, FBIO_GETMODE, &vi.vi_mode) != -1 &&
-+ ioctl(tty, FBIO_MODEINFO, &vi) != -1) {
-+ cwidth = vi.vi_cwidth;
-+ cheight = vi.vi_cheight;
-+ }
-+#endif /* defined(FBIO_MODEINFO) ||
-+ * defined(CONS_MODEINFO) */
-+ mySignal(SIGUSR2, SIG_IGN);
-+ mi.operation = MOUSE_MODE;
-+ mi.u.mode.mode = 0;
-+ mi.u.mode.signal = SIGUSR2;
-+ sysm_handler = NULL;
-+ if (ioctl(tty, CONS_MOUSECTL, &mi) != -1) {
-+ mySignal(SIGUSR2, sysmouse);
-+ mi.operation = MOUSE_SHOW;
-+ ioctl(tty, CONS_MOUSECTL, &mi);
-+ sysm_handler = sysm_process_mouse;
-+ }
-+ }
-+ mouseActive = 1;
-+}
-+
-+void
-+mouse_end()
-+{
-+ if (mouseActive == 0)
-+ return;
-+ if (is_xterm) {
-+ XTERM_OFF;
-+ }
-+ else {
-+ mouse_info_t mi;
-+ mi.operation = MOUSE_MODE;
-+ mi.u.mode.mode = 0;
-+ mi.u.mode.signal = 0;
-+ ioctl(tty, CONS_MOUSECTL, &mi);
-+ }
-+ mouseActive = 0;
-+}
-+
-+#else
-+/* not GPM nor SYSMOUSE, but use mouse with xterm */
-+
-+void
-+mouse_init()
-+{
-+ if (mouseActive)
-+ return;
-+ if (is_xterm & NEED_XTERM_ON) {
-+ XTERM_ON;
-+ }
-+#ifdef __CYGWIN__
-+ else if (is_xterm & NEED_CYGWIN_ON) {
-+ CYGWIN_ON;
-+ }
-+#endif
-+ mouseActive = 1;
-+}
-+
-+void
-+mouse_end()
-+{
-+ if (mouseActive == 0)
-+ return;
-+ if (is_xterm & NEED_XTERM_OFF) {
-+ XTERM_OFF;
-+ }
-+#ifdef __CYGWIN__
-+ else if (is_xterm & NEED_CYGWIN_OFF) {
-+ CYGWIN_OFF;
-+ }
-+#endif
-+ mouseActive = 0;
-+}
-+
-+#endif /* not USE_GPM nor USE_SYSMOUSE */
-+
-+
-+void
-+mouse_active()
-+{
-+ if (!mouseActive)
-+ mouse_init();
-+}
-+
-+void
-+mouse_inactive()
-+{
-+ if (mouseActive && is_xterm)
-+ mouse_end();
-+}
-+
-+#endif /* USE_MOUSE */
-+
-+void
-+flush_tty()
-+{
-+ if (ttyf)
-+ fflush(ttyf);
-+}
-+
-+#ifdef USE_IMAGE
-+void
-+touch_cursor()
-+{
-+#ifdef USE_M17N
-+ int i;
-+#endif
-+ touch_line();
-+#ifdef USE_M17N
-+ for (i = CurColumn; i >= 0; i--) {
-+ touch_column(i);
-+ if (CHMODE(ScreenImage[CurLine]->lineprop[i]) != C_WCHAR2)
-+ break;
-+ }
-+ for (i = CurColumn + 1; i < COLS; i++) {
-+ if (CHMODE(ScreenImage[CurLine]->lineprop[i]) != C_WCHAR2)
-+ break;
-+ touch_column(i);
-+ }
-+#else
-+ touch_column(CurColumn);
-+#endif
-+}
-+#endif
-+
-+#ifdef __MINGW32_VERSION
-+
-+int tgetent(char *bp, char *name)
-+{
-+ return 0;
-+}
-+
-+int tgetnum(char *id)
-+{
-+ return -1;
-+}
-+
-+int tgetflag(char *id)
-+{
-+ return 0;
-+}
-+
-+char *tgetstr(char *id, char **area)
-+{
-+ id = "";
-+}
-+
-+char *tgoto(char *cap, int col, int row)
-+{
-+}
-+
-+int tputs(char *str, int affcnt, int (*putc)(char))
-+{
-+}
-+
-+char *ttyname(int tty)
-+{
-+ return "CON";
-+}
-+
-+#endif /* __MINGW32_VERSION */
diff --git a/debian/patches/120_config-file-handling.patch b/debian/patches/120_config-file-handling.patch
deleted file mode 100644
index ded2c85..0000000
--- a/debian/patches/120_config-file-handling.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Description: Fix segfault when changing options if ~/.w3m not accessible
-Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=366284#5
-Author: Karsten Schoelzel <kuser@gmx.de>
-Bug-Debian: http://bugs.debian.org/366284
-
-diff --git a/rc.c b/rc.c
-index 17f30d8..b88a3fd 100644
---- a/rc.c
-+++ b/rc.c
-@@ -1253,7 +1253,7 @@ init_rc(void)
- interpret_rc(f);
- fclose(f);
- }
-- if ((f = fopen(config_file, "rt")) != NULL) {
-+ if (config_file && (f = fopen(config_file, "rt")) != NULL) {
- interpret_rc(f);
- fclose(f);
- }
-@@ -1265,6 +1265,8 @@ init_rc(void)
- ((tmp_dir = getenv("TMP")) == NULL || *tmp_dir == '\0') &&
- ((tmp_dir = getenv("TEMP")) == NULL || *tmp_dir == '\0'))
- tmp_dir = "/tmp";
-+ create_option_search_table();
-+ goto open_rc;
- }
-
-
-@@ -1446,8 +1448,8 @@ panel_set_option(struct parsed_tagarg *a
- FILE *f = NULL;
- char *p;
-
-- if (no_rc_dir) {
-- disp_message("There's no ~/.w3m directory... config not saved", FALSE);
-+ if (config_file == NULL) {
-+ disp_message("There's no config file... config not saved", FALSE);
- }
- else {
- f = fopen(config_file, "wt");
diff --git a/debian/patches/130_rc-blank-line-fix.patch b/debian/patches/130_rc-blank-line-fix.patch
deleted file mode 100644
index b4c36c5..0000000
--- a/debian/patches/130_rc-blank-line-fix.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Description: Fix .w3m/config parser confused by blank lines
-Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=537706#10
-Author: "Trent W. Buck" <twb@cybersource.com.au>
-Bug-Debian: http://bugs.debian.org/537706
-
-Index: w3m-0.5.2/rc.c
-===================================================================
---- w3m-0.5.2.orig/rc.c 2009-07-20 20:48:47.426565387 +1000
-+++ w3m-0.5.2/rc.c 2009-07-20 20:49:24.086565581 +1000
-@@ -1061,9 +1061,11 @@
-
- for (;;) {
- line = Strfgets(f);
-- Strchop(line);
-- if (line->length == 0)
-+ if (line->length == 0) /* end of file */
- break;
-+ Strchop(line);
-+ if (line->length == 0) /* blank line */
-+ continue;
- Strremovefirstspaces(line);
- if (line->ptr[0] == '#') /* comment */
- continue;
diff --git a/debian/patches/140_pseudo-inlines.patch b/debian/patches/140_pseudo-inlines.patch
deleted file mode 100644
index 18cbea1..0000000
--- a/debian/patches/140_pseudo-inlines.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-Description: New option "pseudo_inlines"
- Add option pseudo_inlines (Display pseudo-ALTs for inline images with no
- ALT or TITLE string) so
- w3m -o pseudo_inlines=0
- works like
- lynx -pseudo_inlines
- If there is no ALT tag or it is "" and ignore_null_img_alt=1 then use TITLE
- instead.
-Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=329863#8
-Author: Karsten Schoelzel <kuser@gmx.de>
-Bug-Debian: http://bugs.debian.org/329863
-
----
-commit 1c2e64c5ba38727f991c9787b95067391a4a0907
-tree 292b46472454ad69dee708029915cef0b0a718da
-parent 1e6c13cac0c2954de5c377fe2120710c7c2b30fe
-author Karsten Schoelzel <kuser@asus.karsten.local> Thu, 04 May 2006 13:05:03 +0200
-committer Karsten Schoelzel <kuser@asus.karsten.local> Thu, 04 May 2006 13:05:03 +0200
-
- file.c | 7 +++++++
- fm.h | 1 +
- rc.c | 3 +++
- 3 files changed, 11 insertions(+), 0 deletions(-)
-
-diff --git a/file.c b/file.c
-index d067d47..913ac7c 100644
---- a/file.c
-+++ b/file.c
-@@ -3171,6 +3171,13 @@ process_img(struct parsed_tag *tag, int
- parsedtag_get_value(tag, ATTR_ALT, &q);
- t = q;
- parsedtag_get_value(tag, ATTR_TITLE, &t);
-+ if (q == NULL || (*q == '\0' && ignore_null_img_alt)) {
-+ if (!pseudoInlines && (t == NULL ||
-+ (*t == '\0' && ignore_null_img_alt)))
-+ return tmp;
-+ q = t;
-+ }
-+
- w = -1;
- if (parsedtag_get_value(tag, ATTR_WIDTH, &w)) {
- if (w < 0) {
-diff --git a/fm.h b/fm.h
-index a593a3f..e10c2a7 100644
---- a/fm.h
-+++ b/fm.h
-@@ -926,6 +926,7 @@ global int image_map_list init(TRUE);
- #else
- global int displayImage init(FALSE); /* XXX: emacs-w3m use display_image=off */
- #endif
-+global int pseudoInlines init(TRUE);
- global char *Editor init(DEF_EDITOR);
- #ifdef USE_W3MMAILER
- global char *Mailer init(NULL);
-diff --git a/rc.c b/rc.c
-index 2860a35..5d009bb 100644
---- a/rc.c
-+++ b/rc.c
-@@ -76,6 +76,7 @@ static int OptionEncode = FALSE;
- #define CMT_DECODE_URL N_("Display decoded URL")
- #define CMT_DISPLINEINFO N_("Display current line number")
- #define CMT_DISP_IMAGE N_("Display inline images")
-+#define CMT_PSEUDO_INLINES N_("Display pseudo-ALTs for inline images with no ALT or TITLE string")
- #ifdef USE_IMAGE
- #define CMT_AUTO_IMAGE N_("Load inline images automatically")
- #define CMT_MAX_LOAD_IMAGE N_("Maximum processes for parallel image loading")
-@@ -380,6 +381,8 @@ struct param_ptr params1[] = {
- /* XXX: emacs-w3m force to off display_image even if image options off */
- {"display_image", P_INT, PI_ONOFF, (void *)&displayImage, CMT_DISP_IMAGE,
- NULL},
-+ {"pseudo_inlines", P_INT, PI_ONOFF, (void *)&pseudoInlines,
-+ CMT_PSEUDO_INLINES, NULL},
- #ifdef USE_IMAGE
- {"auto_image", P_INT, PI_ONOFF, (void *)&autoImage, CMT_AUTO_IMAGE, NULL},
- {"max_load_image", P_INT, PI_TEXT, (void *)&maxLoadImage,
diff --git a/debian/patches/150_numbered-links.patch b/debian/patches/150_numbered-links.patch
deleted file mode 100644
index 45e393a..0000000
--- a/debian/patches/150_numbered-links.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-Description: New option "display_link_number"
-Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=329862#30
-Author: Karsten Schoelzel <kuser@gmx.de>
-Bug-Debian: http://bugs.debian.org/329862
-
-diff --git a/file.c b/file.c
-index d537c8d..ea37647 100644
---- a/file.c
-+++ b/file.c
-@@ -1671,6 +1678,12 @@ checkRedirection(ParsedURL *pu)
- return TRUE;
- }
-
-+Str
-+getLinkNumberStr(int correction)
-+{
-+ return Sprintf("[%d]", cur_hseq + correction);
-+}
-+
- /*
- * loadGeneralFile: load file to buffer
- */
-@@ -3530,9 +3554,13 @@ process_input(struct parsed_tag *tag)
- case FORM_INPUT_TEXT:
- case FORM_INPUT_FILE:
- case FORM_INPUT_CHECKBOX:
-+ if (displayLinkNumber)
-+ Strcat(tmp, getLinkNumberStr(0));
- Strcat_char(tmp, '[');
- break;
- case FORM_INPUT_RADIO:
-+ if (displayLinkNumber)
-+ Strcat(tmp, getLinkNumberStr(0));
- Strcat_char(tmp, '(');
- }
- Strcat(tmp, Sprintf("<input_alt hseq=\"%d\" fid=\"%d\" type=%s "
-@@ -3573,6 +3601,8 @@ process_input(struct parsed_tag *tag)
- case FORM_INPUT_SUBMIT:
- case FORM_INPUT_BUTTON:
- case FORM_INPUT_RESET:
-+ if (displayLinkNumber)
-+ Strcat(tmp, getLinkNumberStr(-1));
- Strcat_charp(tmp, "[");
- break;
- }
-@@ -3659,9 +3689,12 @@ process_select(struct parsed_tag *tag)
-
- #ifdef MENU_SELECT
- if (!select_is_multiple) {
-- select_str = Sprintf("<pre_int>[<input_alt hseq=\"%d\" "
-+ select_str = Strnew_charp("<pre_int>");
-+ if (displayLinkNumber)
-+ Strcat(select_str, getLinkNumberStr(0));
-+ Strcat(select_str, Sprintf("[<input_alt hseq=\"%d\" "
- "fid=\"%d\" type=select name=\"%s\" selectnumber=%d",
-- cur_hseq++, cur_form_id, html_quote(p), n_select);
-+ cur_hseq++, cur_form_id, html_quote(p), n_select));
- Strcat_charp(select_str, ">");
- if (n_select == max_select) {
- max_select *= 2;
-@@ -4688,6 +4721,8 @@ HTMLtagproc1(struct parsed_tag *tag, str
- obuf->anchor.hseq = cur_hseq;
- tmp = process_anchor(tag, h_env->tagbuf->ptr);
- push_tag(obuf, tmp->ptr, HTML_A);
-+ if (displayLinkNumber)
-+ HTMLlineproc1(getLinkNumberStr(-1)->ptr, h_env);
- return 1;
- }
- return 0;
-diff --git a/proto.h b/proto.h
-index 8929580..6f02b5b 100644
---- a/proto.h
-+++ b/proto.h
-@@ -776,6 +777,8 @@ extern void wrapToggle(void);
- extern void saveBufferInfo(void);
- #endif
-
-+extern Str getLinkNumberStr(int correction);
-+
- extern void dispVer(void);
-
- #ifdef USE_INCLUDED_SRAND48
-diff --git a/rc.c b/rc.c
-index f57b564..17f30d8 100644
---- a/rc.c
-+++ b/rc.c
-@@ -72,6 +72,7 @@ static int OptionEncode = FALSE;
- #define CMT_OPEN_TAB_BLANK N_("Open link on new tab if target is _blank or _new")
- #define CMT_OPEN_TAB_DL_LIST N_("Open download list panel on new tab")
- #define CMT_DISPLINK N_("Display link URL automatically")
-+#define CMT_DISPLINKNUMBER N_("Display link numbers")
- #define CMT_DECODE_URL N_("Display decoded URL")
- #define CMT_DISPLINEINFO N_("Display current line number")
- #define CMT_DISP_IMAGE N_("Display inline images")
-@@ -338,6 +357,8 @@ struct param_ptr params1[] = {
- CMT_OPEN_TAB_DL_LIST, NULL},
- {"display_link", P_INT, PI_ONOFF, (void *)&displayLink, CMT_DISPLINK,
- NULL},
-+ {"display_link_number", P_INT, PI_ONOFF, (void *)&displayLinkNumber,
-+ CMT_DISPLINKNUMBER, NULL},
- {"decode_url", P_INT, PI_ONOFF, (void *)&DecodeURL, CMT_DECODE_URL, NULL},
- {"display_lineinfo", P_INT, PI_ONOFF, (void *)&displayLineInfo,
- CMT_DISPLINEINFO, NULL},
-diff --git a/table.c b/table.c
-index 2024632..94d61d6 100644
---- a/table.c
-+++ b/table.c
-@@ -2937,6 +2937,12 @@ feed_table_tag(struct table *tbl, char *
- check_rowcol(tbl, mode);
- if (i == 0) {
- Str tmp = process_anchor(tag, line);
-+ if (displayLinkNumber)
-+ {
-+ Str t = getLinkNumberStr(-1);
-+ feed_table_inline_tag(tbl, NULL, mode, t->length);
-+ Strcat(tmp, t);
-+ }
- pushdata(tbl, tbl->row, tbl->col, tmp->ptr);
- }
- else
-diff --git a/fm.h b/fm.h
-index 8686866..1a1a60c 100644
---- a/fm.h
-+++ b/fm.h
-@@ -909,6 +909,7 @@ global int label_topline init(FALSE);
- global int nextpage_topline init(FALSE);
- global char *displayTitleTerm init(NULL);
- global int displayLink init(FALSE);
-+global int displayLinkNumber init(FALSE);
- global int displayLineInfo init(FALSE);
- global int DecodeURL init(FALSE);
- global int retryAsHttp init(TRUE);
-diff --git a/main.c b/main.c
-index 0d709ef..70c8c1d 100644
---- a/main.c
-+++ b/main.c
-@@ -1239,8 +1239,25 @@ do_dump(Buffer *buf)
- dump_head(buf);
- if (w3m_dump & DUMP_SOURCE)
- dump_source(buf);
-- if (w3m_dump == DUMP_BUFFER)
-+ if (w3m_dump == DUMP_BUFFER) {
-+ int i;
- saveBuffer(buf, stdout, FALSE);
-+ if (displayLinkNumber && buf->href) {
-+ printf("\nReferences:\n\n");
-+ for (i = 0; i < buf->href->nanchor; i++) {
-+ ParsedURL pu;
-+ static Str s = NULL;
-+ if (buf->href->anchors[i].slave)
-+ continue;
-+ parseURL2(buf->href->anchors[i].url, &pu, baseURL(buf));
-+ s = parsedURL2Str(&pu);
-+ if (DecodeURL)
-+ s = Strnew_charp(url_unquote_conv
-+ (s->ptr, Currentbuf->document_charset));
-+ printf("[%d] %s\n", buf->href->anchors[i].hseq + 1, s->ptr);
-+ }
-+ }
-+ }
- mySignal(SIGINT, prevtrap);
- }
-
diff --git a/debian/patches/160_tls-sni.patch b/debian/patches/160_tls-sni.patch
deleted file mode 100644
index 0a2e83a..0000000
--- a/debian/patches/160_tls-sni.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Description: Support for TLS SNI (Server Name Indication)
-Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523159#5
-Author: Sascha Silbe <sascha-debian-bugs-w3m-1@silbe.org>
-Bug-Debian: http://bugs.debian.org/523159
-
-diff -ur w3m-0.5.2/url.c w3m-0.5.2-sni/url.c
---- w3m-0.5.2/url.c 2007-05-23 17:06:06.000000000 +0200
-+++ w3m-0.5.2-sni/url.c 2009-03-11 17:44:51.210620186 +0100
-@@ -374,6 +374,9 @@
- #if SSLEAY_VERSION_NUMBER >= 0x00905100
- init_PRNG();
- #endif /* SSLEAY_VERSION_NUMBER >= 0x00905100 */
-+#if (SSLEAY_VERSION_NUMBER >= 0x00908070) && !defined(OPENSSL_NO_TLSEXT)
-+ SSL_set_tlsext_host_name(handle,hostname);
-+#endif /* (SSLEAY_VERSION_NUMBER >= 0x00908070) && !defined(OPENSSL_NO_TLSEXT) */
- if (SSL_connect(handle) > 0) {
- Str serv_cert = ssl_get_certificate(handle, hostname);
- if (serv_cert) {
diff --git a/debian/patches/170_number-prefix.patch b/debian/patches/170_number-prefix.patch
deleted file mode 100644
index 5ad5f13..0000000
--- a/debian/patches/170_number-prefix.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Description: Make number prefixes working when vi_prec_num=0
- * [w3m-dev 04271] vi_prec_num
- * main.c: make number prefixes working when vi_prec_num=0.
-Origin: upstream, http://w3m.cvs.sourceforge.net/viewvc/w3m/w3m/
-Author: Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
-
-diff -urN w3m-0.5.2.orig/main.c w3m/main.c
---- w3m-0.5.2.orig/main.c 2007-05-31 10:19:50.000000000 +0900
-+++ w3m/main.c 2007-06-04 22:21:10.000000000 +0900
-@@ -1,4 +1,4 @@
--/* $Id: main.c,v 1.258 2007/05/31 01:19:50 inu Exp $ */
-+/* $Id: main.c,v 1.259 2007/06/04 13:21:10 inu Exp $ */
- #define MAINPROGRAM
- #include "fm.h"
- #include <signal.h>
-@@ -1152,18 +1152,11 @@
- mouse_inactive();
- #endif /* USE_MOUSE */
- if (IS_ASCII(c)) { /* Ascii */
-- if( vi_prec_num ){
-- if(((prec_num && c == '0') || '1' <= c) && (c <= '9')) {
-- prec_num = prec_num * 10 + (int)(c - '0');
-- if (prec_num > PREC_LIMIT)
-- prec_num = PREC_LIMIT;
-- }
-- else {
-- set_buffer_environ(Currentbuf);
-- save_buffer_position(Currentbuf);
-- keyPressEventProc((int)c);
-- prec_num = 0;
-- }
-+ if (('0' <= c) && (c <= '9') &&
-+ (prec_num || (GlobalKeymap[c] == FUNCNAME_nulcmd))) {
-+ prec_num = prec_num * 10 + (int)(c - '0');
-+ if (prec_num > PREC_LIMIT)
-+ prec_num = PREC_LIMIT;
- }
- else {
- set_buffer_environ(Currentbuf);
diff --git a/debian/patches/180_non-xterm.patch b/debian/patches/180_non-xterm.patch
deleted file mode 100644
index a531e64..0000000
--- a/debian/patches/180_non-xterm.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Description: Fix segfault on non-xterm
- * [w3m-dev 04278] Re: segfault on CentOS4.5/libgc6.8
- * term.c: add handling xterm-incompatible terminals without gpm.
-Origin: upstream, http://w3m.cvs.sourceforge.net/viewvc/w3m/w3m/
-Author: Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
-
-diff -urN w3m-0.5.2.orig/terms.c w3m/terms.c
---- w3m-0.5.2.orig/terms.c 2007-05-30 13:44:00.000000000 +0900
-+++ w3m/terms.c 2007-06-07 19:54:10.000000000 +0900
-@@ -1,4 +1,4 @@
--/* $Id: terms.c,v 1.57 2007/05/30 04:44:00 inu Exp $ */
-+/* $Id: terms.c,v 1.58 2007/06/07 10:54:10 inu Exp $ */
- /*
- * An original curses library for EUC-kanji by Akinori ITO, December 1989
- * revised by Akinori ITO, January 1995
-@@ -1897,7 +1897,7 @@
- int
- do_getch()
- {
-- if (is_xterm)
-+ if (is_xterm || !gpm_handler)
- return getch();
- else
- return Gpm_Getch();
-@@ -2037,6 +2037,7 @@
- conn.maxMod = 0;
- conn.minMod = 0;
-
-+ gpm_handler = NULL;
- r = Gpm_Open(&conn, 0);
- if (r == -2) {
- /*
diff --git a/debian/patches/190_codepage.patch b/debian/patches/190_codepage.patch
deleted file mode 100644
index 8e30d05..0000000
--- a/debian/patches/190_codepage.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-Description: Handling of codepage with wc_codepage
- * [w3m-dev 04279] charset
- * libwc/ces.h, libwc/charset.c: set charset to Shift_JIS, when locale
- is japanese, jp_JP.PCK, ja_JP.IBM-932, ja_JP.IBM-943, or windows-31j.
-Origin: upstream, http://w3m.cvs.sourceforge.net/viewvc/w3m/w3m/
-Author: Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
-
-diff -urN w3m-0.5.2.orig/libwc/ces.h w3m/libwc/ces.h
---- w3m-0.5.2.orig/libwc/ces.h 2003-09-23 06:02:23.000000000 +0900
-+++ w3m/libwc/ces.h 2007-06-07 19:59:52.000000000 +0900
-@@ -176,6 +176,7 @@
-
- #define WC_CES_SHIFT_JIS (WC_CES_E_PRIV2|WC_CES_N_SHIFT_JIS)
- #define WC_CES_CP932 WC_CES_SHIFT_JIS
-+#define WC_CES_CP943 WC_CES_SHIFT_JIS
- #define WC_CES_SHIFT_JISX0213 (WC_CES_E_PRIV2|WC_CES_N_SHIFT_JISX0213)
- #define WC_CES_GBK (WC_CES_E_PRIV2|WC_CES_N_GBK)
- #define WC_CES_CP936 WC_CES_GBK
-diff -urN w3m-0.5.2.orig/libwc/charset.c w3m/libwc/charset.c
---- w3m-0.5.2.orig/libwc/charset.c 2007-05-23 21:34:20.000000000 +0900
-+++ w3m/libwc/charset.c 2007-06-07 19:59:52.000000000 +0900
-@@ -32,6 +32,46 @@
- { NULL, 0 }
- };
-
-+static wc_ces
-+wc_codepage(int n)
-+{
-+ switch (n) {
-+ case 437: return WC_CES_CP437;
-+ case 737: return WC_CES_CP737;
-+ case 775: return WC_CES_CP775;
-+ case 850: return WC_CES_CP850;
-+ case 852: return WC_CES_CP852;
-+ case 855: return WC_CES_CP855;
-+ case 856: return WC_CES_CP856;
-+ case 857: return WC_CES_CP857;
-+ case 860: return WC_CES_CP860;
-+ case 861: return WC_CES_CP861;
-+ case 862: return WC_CES_CP862;
-+ case 863: return WC_CES_CP863;
-+ case 864: return WC_CES_CP864;
-+ case 865: return WC_CES_CP865;
-+ case 866: return WC_CES_CP866;
-+ case 869: return WC_CES_CP869;
-+ case 874: return WC_CES_CP874;
-+ case 932: return WC_CES_CP932; /* CP932 = Shift_JIS */
-+ case 936: return WC_CES_CP936; /* CP936 = GBK > EUC_CN */
-+ case 943: return WC_CES_CP943; /* CP943 = Shift_JIS */
-+ case 949: return WC_CES_CP949; /* CP949 = UHC > EUC_KR */
-+ case 950: return WC_CES_CP950; /* CP950 = Big5 */
-+ case 1006: return WC_CES_CP1006;
-+ case 1250: return WC_CES_CP1250;
-+ case 1251: return WC_CES_CP1251;
-+ case 1252: return WC_CES_CP1252;
-+ case 1253: return WC_CES_CP1253;
-+ case 1254: return WC_CES_CP1254;
-+ case 1255: return WC_CES_CP1255;
-+ case 1256: return WC_CES_CP1256;
-+ case 1257: return WC_CES_CP1257;
-+ case 1258: return WC_CES_CP1258;
-+ }
-+ return 0;
-+}
-+
- wc_ces
- wc_guess_charset(char *charset, wc_ces orig)
- {
-@@ -119,6 +159,11 @@
- if (n >= 1 && n <= 16 && n != 12)
- return (WC_CES_E_ISO_8859 | n);
- return WC_CES_ISO_8859_1;
-+ } else if (! strncmp(p, "ibm", 3)) {
-+ p += 3;
-+ if (*p >= '1' && *p <= '9')
-+ return wc_codepage(atoi(p));
-+ return wc_charset_to_ces(p);
- }
- break;
- case 'j':
-@@ -135,6 +180,10 @@
- ! strncmp(p, "sjis", 4))
- return WC_CES_SHIFT_JIS;
- break;
-+ case 'p':
-+ if (! strncmp(p, "pck", 3))
-+ return WC_CES_SHIFT_JIS;
-+ break;
- case 'g':
- if (! strncmp(p, "gb18030", 7) ||
- ! strncmp(p, "gbk2k", 5))
-@@ -210,58 +259,18 @@
- return WC_CES_EUC_CN;
- if (*(p+1) != 'p')
- break;
-- n = atoi(p + 2);
-- switch (n) {
-- case 437: return WC_CES_CP437;
-- case 737: return WC_CES_CP737;
-- case 775: return WC_CES_CP775;
-- case 850: return WC_CES_CP850;
-- case 852: return WC_CES_CP852;
-- case 855: return WC_CES_CP855;
-- case 856: return WC_CES_CP856;
-- case 857: return WC_CES_CP857;
-- case 860: return WC_CES_CP860;
-- case 861: return WC_CES_CP861;
-- case 862: return WC_CES_CP862;
-- case 863: return WC_CES_CP863;
-- case 864: return WC_CES_CP864;
-- case 865: return WC_CES_CP865;
-- case 866: return WC_CES_CP866;
-- case 869: return WC_CES_CP869;
-- case 874: return WC_CES_CP874;
-- case 932: return WC_CES_CP932; /* CP932 = Shift_JIS */
-- case 936: return WC_CES_CP936; /* CP936 = GBK > EUC_CN */
-- case 949: return WC_CES_CP949; /* CP949 = UHC > EUC_KR */
-- case 950: return WC_CES_CP950; /* CP950 = Big5 */
-- case 1006: return WC_CES_CP1006;
-- case 1250: return WC_CES_CP1250;
-- case 1251: return WC_CES_CP1251;
-- case 1252: return WC_CES_CP1252;
-- case 1253: return WC_CES_CP1253;
-- case 1254: return WC_CES_CP1254;
-- case 1255: return WC_CES_CP1255;
-- case 1256: return WC_CES_CP1256;
-- case 1257: return WC_CES_CP1257;
-- case 1258: return WC_CES_CP1258;
-- }
-+ p += 2;
-+ if (*p >= '1' && *p <= '9')
-+ return wc_codepage(atoi(p));
- break;
- case 'w':
- if (strncmp(p, "windows", 7))
- break;
-+ p += 7;
- if (! strncmp(p, "31j", 3))
- return WC_CES_CP932;
-- n = atoi(p + 7);
-- switch (n) {
-- case 1250: return WC_CES_CP1250;
-- case 1251: return WC_CES_CP1251;
-- case 1252: return WC_CES_CP1252;
-- case 1253: return WC_CES_CP1253;
-- case 1254: return WC_CES_CP1254;
-- case 1255: return WC_CES_CP1255;
-- case 1256: return WC_CES_CP1256;
-- case 1257: return WC_CES_CP1257;
-- case 1258: return WC_CES_CP1258;
-- }
-+ if (*p >= '1' && *p <= '9')
-+ return wc_codepage(atoi(p));
- break;
- }
- return 0;
-@@ -345,18 +354,9 @@
- case 'c':
- return WC_CES_ISO_2022_CN;
- case 'w':
-- n = atoi(p + 1);
-- switch (n) {
-- case 1250: return WC_CES_CP1250;
-- case 1251: return WC_CES_CP1251;
-- case 1252: return WC_CES_CP1252;
-- case 1253: return WC_CES_CP1253;
-- case 1254: return WC_CES_CP1254;
-- case 1255: return WC_CES_CP1255;
-- case 1256: return WC_CES_CP1256;
-- case 1257: return WC_CES_CP1257;
-- case 1258: return WC_CES_CP1258;
-- }
-+ p++;
-+ if (*p >= '1' && *p <= '9')
-+ return wc_codepage(atoi(p));
- break;
- case 'r':
- return WC_CES_RAW;
-@@ -368,7 +368,7 @@
- wc_locale_to_ces(char *locale)
- {
- char *p = locale;
-- char buf[6];
-+ char buf[8];
- int n;
-
- if (*p == 'C' && *(p+1) == '\0')
-@@ -380,7 +380,7 @@
- return wc_charset_to_ces(cs);
- }
- #endif
-- for (n = 0; *p && *p != '.' && n < 5; p++) {
-+ for (n = 0; *p && *p != '.' && n < 7; p++) {
- if ((unsigned char)*p > 0x20)
- buf[n++] = tolower(*p);
- }
diff --git a/debian/patches/series b/debian/patches/series
index bf0fbe2..14885ff 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,19 +1,2 @@
-010_w3m.1-debian-fix.patch
-020_ja-w3m.1-debian-fix.patch
-030_config-debian-fix.patch
-040_gnukfreebsd-ftbfs-fix.patch
-050_w3mman-keep-formatting.patch
-060_check-null-cn.patch
-070_form-update.patch
-080_xhtml-support.patch
-090_simple-preserve-space.patch
-100_download-error-short-write.patch
-110_no-graph-restriction.patch
-120_config-file-handling.patch
-130_rc-blank-line-fix.patch
-140_pseudo-inlines.patch
-150_numbered-links.patch
-160_tls-sni.patch
-170_number-prefix.patch
-180_non-xterm.patch
-190_codepage.patch
+010_upstream.patch
+020_config-guess.patch