diff options
Diffstat (limited to '')
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 --> %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 --> %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 --> %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 = ⊤ -+ 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 = §ions[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 <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 |