Add tcs; it compiles in my world, but I haven't tried it in Russ's yet.
This commit is contained in:
parent
ba03b8910d
commit
a31db67d14
42 changed files with 10804 additions and 1 deletions
|
|
@ -6,7 +6,7 @@ SHORTLIB=sec fs mux regexp9 draw thread bio 9
|
|||
|
||||
<$PLAN9/src/mkmany
|
||||
|
||||
BUGGERED='CVS|faces|factotum|mailfs|mk|upas|vac|venti'
|
||||
BUGGERED='CVS|faces|factotum|mailfs|mk|upas|vac|venti|tcs'
|
||||
DIRS=`ls -l |sed -n 's/^d.* //p' |egrep -v "^($BUGGERED)$"`
|
||||
|
||||
<$PLAN9/src/mkdirs
|
||||
|
|
|
|||
19
src/cmd/pbd.c
Normal file
19
src/cmd/pbd.c
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
|
||||
void
|
||||
main(void)
|
||||
{
|
||||
char buf[512], *p;
|
||||
|
||||
p = "???";
|
||||
if(getwd(buf, sizeof buf)){
|
||||
p = strrchr(buf, '/');
|
||||
if(p == nil)
|
||||
p = buf;
|
||||
else if(p>buf || p[1]!='\0')
|
||||
p++;
|
||||
}
|
||||
write(1, p, strlen(p));
|
||||
exits(0);
|
||||
}
|
||||
1751
src/cmd/tcs/big5.c
Normal file
1751
src/cmd/tcs/big5.c
Normal file
File diff suppressed because it is too large
Load diff
4
src/cmd/tcs/big5.h
Normal file
4
src/cmd/tcs/big5.h
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#define BIG5MAX 13973
|
||||
#define BIG5FONT 157
|
||||
|
||||
extern long tabbig5[BIG5MAX]; /* runes indexed by big5 ordinal */
|
||||
18
src/cmd/tcs/conv.h
Normal file
18
src/cmd/tcs/conv.h
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
void jis_in(int fd, long *notused, struct convert *out);
|
||||
void jisjis_in(int fd, long *notused, struct convert *out);
|
||||
void msjis_in(int fd, long *notused, struct convert *out);
|
||||
void ujis_in(int fd, long *notused, struct convert *out);
|
||||
void jisjis_out(Rune *base, int n, long *notused);
|
||||
void ujis_out(Rune *base, int n, long *notused);
|
||||
void msjis_out(Rune *base, int n, long *notused);
|
||||
void big5_in(int fd, long *notused, struct convert *out);
|
||||
void big5_out(Rune *base, int n, long *notused);
|
||||
void gb_in(int fd, long *notused, struct convert *out);
|
||||
void gb_out(Rune *base, int n, long *notused);
|
||||
void uksc_in(int fd, long *notused, struct convert *out);
|
||||
void uksc_out(Rune *base, int n, long *notused);
|
||||
|
||||
#define emit(x) *(*r)++ = (x)
|
||||
#define NRUNE 65536
|
||||
|
||||
extern long tab[]; /* common table indexed by Runes for reverse mappings */
|
||||
165
src/cmd/tcs/conv_big5.c
Normal file
165
src/cmd/tcs/conv_big5.c
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
#ifdef PLAN9
|
||||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <bio.h>
|
||||
#else
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include "plan9.h"
|
||||
#endif
|
||||
#include "hdr.h"
|
||||
#include "conv.h"
|
||||
#include "big5.h"
|
||||
|
||||
/*
|
||||
a state machine for interpreting big5 (hk format).
|
||||
*/
|
||||
void
|
||||
big5proc(int c, Rune **r, long input_loc)
|
||||
{
|
||||
static enum { state0, state1 } state = state0;
|
||||
static int lastc;
|
||||
long n, ch, f, cold = c;
|
||||
|
||||
switch(state)
|
||||
{
|
||||
case state0: /* idle state */
|
||||
if(c < 0)
|
||||
return;
|
||||
if(c >= 0xA1){
|
||||
lastc = c;
|
||||
state = state1;
|
||||
return;
|
||||
}
|
||||
if(c == 26)
|
||||
c = '\n';
|
||||
emit(c);
|
||||
return;
|
||||
|
||||
case state1: /* seen a font spec */
|
||||
if(c >= 64 && c <= 126)
|
||||
c -= 64;
|
||||
else if(c >= 161 && c <= 254)
|
||||
c = c-161 + 63;
|
||||
else {
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: bad big5 glyph (from 0x%x,0x%lx) near byte %ld in %s\n",
|
||||
argv0, lastc, cold, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
state = state0;
|
||||
return;
|
||||
}
|
||||
if(lastc >= 161 && lastc <= 254)
|
||||
f = lastc - 161;
|
||||
else {
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: bad big5 font %d (from 0x%x,0x%lx) near byte %ld in %s\n",
|
||||
argv0, lastc-161, lastc, cold, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
state = state0;
|
||||
return;
|
||||
}
|
||||
n = f*BIG5FONT + c;
|
||||
if(n < BIG5MAX)
|
||||
ch = tabbig5[n];
|
||||
else
|
||||
ch = -1;
|
||||
if(ch < 0){
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: unknown big5 %ld (from 0x%x,0x%lx) near byte %ld in %s\n",
|
||||
argv0, n, lastc, cold, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
} else
|
||||
emit(ch);
|
||||
state = state0;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
big5_in(int fd, long *notused, struct convert *out)
|
||||
{
|
||||
Rune ob[N];
|
||||
Rune *r, *re;
|
||||
uchar ibuf[N];
|
||||
int n, i;
|
||||
long nin;
|
||||
|
||||
USED(notused);
|
||||
r = ob;
|
||||
re = ob+N-3;
|
||||
nin = 0;
|
||||
while((n = read(fd, ibuf, sizeof ibuf)) > 0){
|
||||
for(i = 0; i < n; i++){
|
||||
big5proc(ibuf[i], &r, nin++);
|
||||
if(r >= re){
|
||||
OUT(out, ob, r-ob);
|
||||
r = ob;
|
||||
}
|
||||
}
|
||||
if(r > ob){
|
||||
OUT(out, ob, r-ob);
|
||||
r = ob;
|
||||
}
|
||||
}
|
||||
big5proc(-1, &r, nin);
|
||||
if(r > ob)
|
||||
OUT(out, ob, r-ob);
|
||||
}
|
||||
|
||||
void
|
||||
big5_out(Rune *base, int n, long *notused)
|
||||
{
|
||||
char *p;
|
||||
int i;
|
||||
Rune r;
|
||||
static int first = 1;
|
||||
|
||||
USED(notused);
|
||||
if(first){
|
||||
first = 0;
|
||||
for(i = 0; i < NRUNE; i++)
|
||||
tab[i] = -1;
|
||||
for(i = 0; i < BIG5MAX; i++)
|
||||
if(tabbig5[i] != -1)
|
||||
tab[tabbig5[i]] = i;
|
||||
}
|
||||
nrunes += n;
|
||||
p = obuf;
|
||||
for(i = 0; i < n; i++){
|
||||
r = base[i];
|
||||
if(r < 128)
|
||||
*p++ = r;
|
||||
else {
|
||||
if(tab[r] != -1){
|
||||
r = tab[r];
|
||||
if(r >= BIG5MAX){
|
||||
*p++ = 0xA1;
|
||||
*p++ = r-BIG5MAX;
|
||||
continue;
|
||||
} else {
|
||||
*p++ = 0xA1 + (r/BIG5FONT);
|
||||
r = r%BIG5FONT;
|
||||
if(r <= 62) r += 64;
|
||||
else r += 0xA1-63;
|
||||
*p++ = r;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(squawk)
|
||||
EPR "%s: rune 0x%x not in output cs\n", argv0, r);
|
||||
nerrors++;
|
||||
if(clean)
|
||||
continue;
|
||||
*p++ = BYTEBADMAP;
|
||||
}
|
||||
}
|
||||
noutput += p-obuf;
|
||||
if(p > obuf)
|
||||
write(1, obuf, p-obuf);
|
||||
}
|
||||
134
src/cmd/tcs/conv_gb.c
Normal file
134
src/cmd/tcs/conv_gb.c
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
#ifdef PLAN9
|
||||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <bio.h>
|
||||
#else
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include "plan9.h"
|
||||
#endif
|
||||
#include "hdr.h"
|
||||
#include "conv.h"
|
||||
#include "gb.h"
|
||||
|
||||
/*
|
||||
a state machine for interpreting gb.
|
||||
*/
|
||||
void
|
||||
gbproc(int c, Rune **r, long input_loc)
|
||||
{
|
||||
static enum { state0, state1 } state = state0;
|
||||
static int lastc;
|
||||
long n, ch, cold = c;
|
||||
|
||||
switch(state)
|
||||
{
|
||||
case state0: /* idle state */
|
||||
if(c < 0)
|
||||
return;
|
||||
if(c >= 0xA1){
|
||||
lastc = c;
|
||||
state = state1;
|
||||
return;
|
||||
}
|
||||
emit(c);
|
||||
return;
|
||||
|
||||
case state1: /* seen a font spec */
|
||||
if(c >= 0xA1)
|
||||
n = (lastc-0xA0)*100 + (c-0xA0);
|
||||
else {
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: bad gb glyph %d (from 0x%x,0x%lx) near byte %ld in %s\n", argv0, c-0xA0, lastc, cold, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
state = state0;
|
||||
return;
|
||||
}
|
||||
ch = tabgb[n];
|
||||
if(ch < 0){
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: unknown gb %ld (from 0x%x,0x%lx) near byte %ld in %s\n", argv0, n, lastc, cold, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
} else
|
||||
emit(ch);
|
||||
state = state0;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
gb_in(int fd, long *notused, struct convert *out)
|
||||
{
|
||||
Rune ob[N];
|
||||
Rune *r, *re;
|
||||
uchar ibuf[N];
|
||||
int n, i;
|
||||
long nin;
|
||||
|
||||
USED(notused);
|
||||
r = ob;
|
||||
re = ob+N-3;
|
||||
nin = 0;
|
||||
while((n = read(fd, ibuf, sizeof ibuf)) > 0){
|
||||
for(i = 0; i < n; i++){
|
||||
gbproc(ibuf[i], &r, nin++);
|
||||
if(r >= re){
|
||||
OUT(out, ob, r-ob);
|
||||
r = ob;
|
||||
}
|
||||
}
|
||||
if(r > ob){
|
||||
OUT(out, ob, r-ob);
|
||||
r = ob;
|
||||
}
|
||||
}
|
||||
gbproc(-1, &r, nin);
|
||||
if(r > ob)
|
||||
OUT(out, ob, r-ob);
|
||||
}
|
||||
|
||||
void
|
||||
gb_out(Rune *base, int n, long *notused)
|
||||
{
|
||||
char *p;
|
||||
int i;
|
||||
Rune r;
|
||||
static int first = 1;
|
||||
|
||||
USED(notused);
|
||||
if(first){
|
||||
first = 0;
|
||||
for(i = 0; i < NRUNE; i++)
|
||||
tab[i] = -1;
|
||||
for(i = 0; i < GBMAX; i++)
|
||||
if(tabgb[i] != -1)
|
||||
tab[tabgb[i]] = i;
|
||||
}
|
||||
nrunes += n;
|
||||
p = obuf;
|
||||
for(i = 0; i < n; i++){
|
||||
r = base[i];
|
||||
if(r < 128)
|
||||
*p++ = r;
|
||||
else {
|
||||
if(tab[r] != -1){
|
||||
r = tab[r];
|
||||
*p++ = 0xA0 + (r/100);
|
||||
*p++ = 0xA0 + (r%100);
|
||||
continue;
|
||||
}
|
||||
if(squawk)
|
||||
EPR "%s: rune 0x%x not in output cs\n", argv0, r);
|
||||
nerrors++;
|
||||
if(clean)
|
||||
continue;
|
||||
*p++ = BYTEBADMAP;
|
||||
}
|
||||
}
|
||||
noutput += p-obuf;
|
||||
if(p > obuf)
|
||||
write(1, obuf, p-obuf);
|
||||
}
|
||||
535
src/cmd/tcs/conv_jis.c
Normal file
535
src/cmd/tcs/conv_jis.c
Normal file
|
|
@ -0,0 +1,535 @@
|
|||
#ifdef PLAN9
|
||||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <bio.h>
|
||||
#else
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include "plan9.h"
|
||||
#endif
|
||||
#include "hdr.h"
|
||||
#include "conv.h"
|
||||
#include "kuten208.h"
|
||||
#include "jis.h"
|
||||
|
||||
/*
|
||||
a state machine for interpreting all sorts of encodings
|
||||
*/
|
||||
static void
|
||||
alljis(int c, Rune **r, long input_loc)
|
||||
{
|
||||
static enum { state0, state1, state2, state3, state4 } state = state0;
|
||||
static int set8 = 0;
|
||||
static int japan646 = 0;
|
||||
static int lastc;
|
||||
int n;
|
||||
long l;
|
||||
|
||||
again:
|
||||
switch(state)
|
||||
{
|
||||
case state0: /* idle state */
|
||||
if(c == ESC){ state = state1; return; }
|
||||
if(c < 0) return;
|
||||
if(!set8 && (c < 128)){
|
||||
if(japan646){
|
||||
switch(c)
|
||||
{
|
||||
case '\\': emit(0xA5); return; /* yen */
|
||||
case '~': emit(0xAF); return; /* spacing macron */
|
||||
default: emit(c); return;
|
||||
}
|
||||
} else {
|
||||
emit(c);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(c < 0x21){ /* guard against bogus characters in JIS mode */
|
||||
if(squawk)
|
||||
EPR "%s: non-JIS character %02x in %s near byte %ld\n", argv0, c, file, input_loc);
|
||||
emit(c);
|
||||
return;
|
||||
}
|
||||
lastc = c; state = state4; return;
|
||||
|
||||
case state1: /* seen an escape */
|
||||
if(c == '$'){ state = state2; return; }
|
||||
if(c == '('){ state = state3; return; }
|
||||
emit(ESC); state = state0; goto again;
|
||||
|
||||
case state2: /* may be shifting into JIS */
|
||||
if((c == '@') || (c == 'B')){
|
||||
set8 = 1; state = state0; return;
|
||||
}
|
||||
emit(ESC); emit('$'); state = state0; goto again;
|
||||
|
||||
case state3: /* may be shifting out of JIS */
|
||||
if((c == 'J') || (c == 'H') || (c == 'B')){
|
||||
japan646 = (c == 'J');
|
||||
set8 = 0; state = state0; return;
|
||||
}
|
||||
emit(ESC); emit('('); state = state0; goto again;
|
||||
|
||||
case state4: /* two part char */
|
||||
if(c < 0){
|
||||
if(squawk)
|
||||
EPR "%s: unexpected EOF in %s\n", argv0, file);
|
||||
c = 0x21 | (lastc&0x80);
|
||||
}
|
||||
if(CANS2J(lastc, c)){ /* ms dos sjis */
|
||||
int hi = lastc, lo = c;
|
||||
S2J(hi, lo); /* convert to 208 */
|
||||
n = hi*100 + lo - 3232; /* convert to kuten208 */
|
||||
} else
|
||||
n = (lastc&0x7F)*100 + (c&0x7f) - 3232; /* kuten208 */
|
||||
if((n >= KUTEN208MAX) || ((l = tabkuten208[n]) == -1)){
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: unknown kuten208 %d (from 0x%x,0x%x) near byte %ld in %s\n", argv0, n, lastc, c, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
} else {
|
||||
if(l < 0){
|
||||
l = -l;
|
||||
if(squawk)
|
||||
EPR "%s: ambiguous kuten208 %d (mapped to 0x%lx) near byte %ld in %s\n", argv0, n, l, input_loc, file);
|
||||
}
|
||||
emit(l);
|
||||
}
|
||||
state = state0;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
a state machine for interpreting ms-kanji == shift-jis.
|
||||
*/
|
||||
static void
|
||||
ms(int c, Rune **r, long input_loc)
|
||||
{
|
||||
static enum { state0, state1, state2, state3, state4 } state = state0;
|
||||
static int set8 = 0;
|
||||
static int japan646 = 0;
|
||||
static int lastc;
|
||||
int n;
|
||||
long l;
|
||||
|
||||
again:
|
||||
switch(state)
|
||||
{
|
||||
case state0: /* idle state */
|
||||
if(c == ESC){ state = state1; return; }
|
||||
if(c < 0) return;
|
||||
if(!set8 && (c < 128)){
|
||||
if(japan646){
|
||||
switch(c)
|
||||
{
|
||||
case '\\': emit(0xA5); return; /* yen */
|
||||
case '~': emit(0xAF); return; /* spacing macron */
|
||||
default: emit(c); return;
|
||||
}
|
||||
} else {
|
||||
emit(c);
|
||||
return;
|
||||
}
|
||||
}
|
||||
lastc = c; state = state4; return;
|
||||
|
||||
case state1: /* seen an escape */
|
||||
if(c == '$'){ state = state2; return; }
|
||||
if(c == '('){ state = state3; return; }
|
||||
emit(ESC); state = state0; goto again;
|
||||
|
||||
case state2: /* may be shifting into JIS */
|
||||
if((c == '@') || (c == 'B')){
|
||||
set8 = 1; state = state0; return;
|
||||
}
|
||||
emit(ESC); emit('$'); state = state0; goto again;
|
||||
|
||||
case state3: /* may be shifting out of JIS */
|
||||
if((c == 'J') || (c == 'H') || (c == 'B')){
|
||||
japan646 = (c == 'J');
|
||||
set8 = 0; state = state0; return;
|
||||
}
|
||||
emit(ESC); emit('('); state = state0; goto again;
|
||||
|
||||
case state4: /* two part char */
|
||||
if(c < 0){
|
||||
if(squawk)
|
||||
EPR "%s: unexpected EOF in %s\n", argv0, file);
|
||||
c = 0x21 | (lastc&0x80);
|
||||
}
|
||||
if(CANS2J(lastc, c)){ /* ms dos sjis */
|
||||
int hi = lastc, lo = c;
|
||||
S2J(hi, lo); /* convert to 208 */
|
||||
n = hi*100 + lo - 3232; /* convert to kuten208 */
|
||||
} else {
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: illegal byte pair (0x%x,0x%x) near byte %ld in %s\n", argv0, lastc, c, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
state = state0;
|
||||
goto again;
|
||||
}
|
||||
if((n >= KUTEN208MAX) || ((l = tabkuten208[n]) == -1)){
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: unknown kuten208 %d (from 0x%x,0x%x) near byte %ld in %s\n", argv0, n, lastc, c, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
} else {
|
||||
if(l < 0){
|
||||
l = -l;
|
||||
if(squawk)
|
||||
EPR "%s: ambiguous kuten208 %d (mapped to 0x%lx) near byte %ld in %s\n", argv0, n, l, input_loc, file);
|
||||
}
|
||||
emit(l);
|
||||
}
|
||||
state = state0;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
a state machine for interpreting ujis == EUC
|
||||
*/
|
||||
static void
|
||||
ujis(int c, Rune **r, long input_loc)
|
||||
{
|
||||
static enum { state0, state1 } state = state0;
|
||||
static int lastc;
|
||||
int n;
|
||||
long l;
|
||||
|
||||
switch(state)
|
||||
{
|
||||
case state0: /* idle state */
|
||||
if(c < 0) return;
|
||||
if(c < 128){
|
||||
emit(c);
|
||||
return;
|
||||
}
|
||||
if(c == 0x8e){ /* codeset 2 */
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: unknown codeset 2 near byte %ld in %s\n", argv0, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
return;
|
||||
}
|
||||
if(c == 0x8f){ /* codeset 3 */
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: unknown codeset 3 near byte %ld in %s\n", argv0, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
return;
|
||||
}
|
||||
lastc = c;
|
||||
state = state1;
|
||||
return;
|
||||
|
||||
case state1: /* two part char */
|
||||
if(c < 0){
|
||||
if(squawk)
|
||||
EPR "%s: unexpected EOF in %s\n", argv0, file);
|
||||
c = 0xA1;
|
||||
}
|
||||
n = (lastc&0x7F)*100 + (c&0x7F) - 3232; /* kuten208 */
|
||||
if((n >= KUTEN208MAX) || ((l = tabkuten208[n]) == -1)){
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: unknown kuten208 %d (from 0x%x,0x%x) near byte %ld in %s\n", argv0, n, lastc, c, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
} else {
|
||||
if(l < 0){
|
||||
l = -l;
|
||||
if(squawk)
|
||||
EPR "%s: ambiguous kuten208 %d (mapped to 0x%lx) near byte %ld in %s\n", argv0, n, l, input_loc, file);
|
||||
}
|
||||
emit(l);
|
||||
}
|
||||
state = state0;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
a state machine for interpreting jis-kanji == 2022-JP
|
||||
*/
|
||||
static void
|
||||
jis(int c, Rune **r, long input_loc)
|
||||
{
|
||||
static enum { state0, state1, state2, state3, state4 } state = state0;
|
||||
static int set8 = 0;
|
||||
static int japan646 = 0;
|
||||
static int lastc;
|
||||
int n;
|
||||
long l;
|
||||
|
||||
again:
|
||||
switch(state)
|
||||
{
|
||||
case state0: /* idle state */
|
||||
if(c == ESC){ state = state1; return; }
|
||||
if(c < 0) return;
|
||||
if(!set8 && (c < 128)){
|
||||
if(japan646){
|
||||
switch(c)
|
||||
{
|
||||
case '\\': emit(0xA5); return; /* yen */
|
||||
case '~': emit(0xAF); return; /* spacing macron */
|
||||
default: emit(c); return;
|
||||
}
|
||||
} else {
|
||||
emit(c);
|
||||
return;
|
||||
}
|
||||
}
|
||||
lastc = c; state = state4; return;
|
||||
|
||||
case state1: /* seen an escape */
|
||||
if(c == '$'){ state = state2; return; }
|
||||
if(c == '('){ state = state3; return; }
|
||||
emit(ESC); state = state0; goto again;
|
||||
|
||||
case state2: /* may be shifting into JIS */
|
||||
if((c == '@') || (c == 'B')){
|
||||
set8 = 1; state = state0; return;
|
||||
}
|
||||
emit(ESC); emit('$'); state = state0; goto again;
|
||||
|
||||
case state3: /* may be shifting out of JIS */
|
||||
if((c == 'J') || (c == 'H') || (c == 'B')){
|
||||
japan646 = (c == 'J');
|
||||
set8 = 0; state = state0; return;
|
||||
}
|
||||
emit(ESC); emit('('); state = state0; goto again;
|
||||
|
||||
case state4: /* two part char */
|
||||
if(c < 0){
|
||||
if(squawk)
|
||||
EPR "%s: unexpected EOF in %s\n", argv0, file);
|
||||
c = 0x21 | (lastc&0x80);
|
||||
}
|
||||
if((lastc&0x80) != (c&0x80)){ /* guard against latin1 in jis */
|
||||
emit(lastc);
|
||||
state = state0;
|
||||
goto again;
|
||||
}
|
||||
n = (lastc&0x7F)*100 + (c&0x7f) - 3232; /* kuten208 */
|
||||
if((n >= KUTEN208MAX) || ((l = tabkuten208[n]) == -1)){
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: unknown kuten208 %d (from 0x%x,0x%x) near byte %ld in %s\n", argv0, n, lastc, c, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
} else {
|
||||
if(l < 0){
|
||||
l = -l;
|
||||
if(squawk)
|
||||
EPR "%s: ambiguous kuten208 %d (mapped to 0x%lx) near byte %ld in %s\n", argv0, n, l, input_loc, file);
|
||||
}
|
||||
emit(l);
|
||||
}
|
||||
state = state0;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
do_in(int fd, void (*procfn)(int, Rune **, long), struct convert *out)
|
||||
{
|
||||
Rune ob[N];
|
||||
Rune *r, *re;
|
||||
uchar ibuf[N];
|
||||
int n, i;
|
||||
long nin;
|
||||
|
||||
r = ob;
|
||||
re = ob+N-3;
|
||||
nin = 0;
|
||||
while((n = read(fd, ibuf, sizeof ibuf)) > 0){
|
||||
for(i = 0; i < n; i++){
|
||||
(*procfn)(ibuf[i], &r, nin++);
|
||||
if(r >= re){
|
||||
OUT(out, ob, r-ob);
|
||||
r = ob;
|
||||
}
|
||||
}
|
||||
if(r > ob){
|
||||
OUT(out, ob, r-ob);
|
||||
r = ob;
|
||||
}
|
||||
}
|
||||
(*procfn)(-1, &r, nin);
|
||||
if(r > ob)
|
||||
OUT(out, ob, r-ob);
|
||||
}
|
||||
|
||||
void
|
||||
jis_in(int fd, long *notused, struct convert *out)
|
||||
{
|
||||
USED(notused);
|
||||
do_in(fd, alljis, out);
|
||||
}
|
||||
|
||||
void
|
||||
ujis_in(int fd, long *notused, struct convert *out)
|
||||
{
|
||||
USED(notused);
|
||||
do_in(fd, ujis, out);
|
||||
}
|
||||
|
||||
void
|
||||
msjis_in(int fd, long *notused, struct convert *out)
|
||||
{
|
||||
USED(notused);
|
||||
do_in(fd, ms, out);
|
||||
}
|
||||
|
||||
void
|
||||
jisjis_in(int fd, long *notused, struct convert *out)
|
||||
{
|
||||
USED(notused);
|
||||
do_in(fd, jis, out);
|
||||
}
|
||||
|
||||
static int first = 1;
|
||||
|
||||
static void
|
||||
tab_init(void)
|
||||
{
|
||||
int i;
|
||||
long l;
|
||||
|
||||
first = 0;
|
||||
for(i = 0; i < NRUNE; i++)
|
||||
tab[i] = -1;
|
||||
for(i = 0; i < KUTEN208MAX; i++)
|
||||
if((l = tabkuten208[i]) != -1){
|
||||
if(l < 0)
|
||||
tab[-l] = i;
|
||||
else
|
||||
tab[l] = i;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* jis-kanji, or ISO 2022-JP */
|
||||
void
|
||||
jisjis_out(Rune *base, int n, long *notused)
|
||||
{
|
||||
char *p;
|
||||
int i;
|
||||
Rune r;
|
||||
static enum { ascii, japan646, jp2022 } state = ascii;
|
||||
|
||||
USED(notused);
|
||||
if(first)
|
||||
tab_init();
|
||||
nrunes += n;
|
||||
p = obuf;
|
||||
for(i = 0; i < n; i++){
|
||||
r = base[i];
|
||||
if(r < 128){
|
||||
if(state == jp2022){
|
||||
*p++ = ESC; *p++ = '('; *p++ = 'B';
|
||||
state = ascii;
|
||||
}
|
||||
*p++ = r;
|
||||
} else {
|
||||
if(tab[r] != -1){
|
||||
if(state != jp2022){
|
||||
*p++ = ESC; *p++ = '$'; *p++ = 'B';
|
||||
state = jp2022;
|
||||
}
|
||||
*p++ = tab[r]/100 + ' ';
|
||||
*p++ = tab[r]%100 + ' ';
|
||||
continue;
|
||||
}
|
||||
if(squawk)
|
||||
EPR "%s: rune 0x%x not in output cs\n", argv0, r);
|
||||
nerrors++;
|
||||
if(clean)
|
||||
continue;
|
||||
*p++ = BYTEBADMAP;
|
||||
}
|
||||
}
|
||||
noutput += p-obuf;
|
||||
if(p > obuf)
|
||||
write(1, obuf, p-obuf);
|
||||
}
|
||||
|
||||
/* ms-kanji, or Shift-JIS */
|
||||
void
|
||||
msjis_out(Rune *base, int n, long *notused)
|
||||
{
|
||||
char *p;
|
||||
int i, hi, lo;
|
||||
Rune r;
|
||||
|
||||
USED(notused);
|
||||
if(first)
|
||||
tab_init();
|
||||
nrunes += n;
|
||||
p = obuf;
|
||||
for(i = 0; i < n; i++){
|
||||
r = base[i];
|
||||
if(r < 128)
|
||||
*p++ = r;
|
||||
else {
|
||||
if(tab[r] != -1){
|
||||
hi = tab[r]/100 + ' ';
|
||||
lo = tab[r]%100 + ' ';
|
||||
J2S(hi, lo);
|
||||
*p++ = hi;
|
||||
*p++ = lo;
|
||||
continue;
|
||||
}
|
||||
if(squawk)
|
||||
EPR "%s: rune 0x%x not in output cs\n", argv0, r);
|
||||
nerrors++;
|
||||
if(clean)
|
||||
continue;
|
||||
*p++ = BYTEBADMAP;
|
||||
}
|
||||
}
|
||||
noutput += p-obuf;
|
||||
if(p > obuf)
|
||||
write(1, obuf, p-obuf);
|
||||
}
|
||||
|
||||
/* ujis, or EUC */
|
||||
void
|
||||
ujis_out(Rune *base, int n, long *notused)
|
||||
{
|
||||
char *p;
|
||||
int i;
|
||||
Rune r;
|
||||
|
||||
USED(notused);
|
||||
if(first)
|
||||
tab_init();
|
||||
nrunes += n;
|
||||
p = obuf;
|
||||
for(i = 0; i < n; i++){
|
||||
r = base[i];
|
||||
if(r < 128)
|
||||
*p++ = r;
|
||||
else {
|
||||
if(tab[r] != -1){
|
||||
*p++ = 0x80 | (tab[r]/100 + ' ');
|
||||
*p++ = 0x80 | (tab[r]%100 + ' ');
|
||||
continue;
|
||||
}
|
||||
if(squawk)
|
||||
EPR "%s: rune 0x%x not in output cs\n", argv0, r);
|
||||
nerrors++;
|
||||
if(clean)
|
||||
continue;
|
||||
*p++ = BYTEBADMAP;
|
||||
}
|
||||
}
|
||||
noutput += p-obuf;
|
||||
if(p > obuf)
|
||||
write(1, obuf, p-obuf);
|
||||
}
|
||||
160
src/cmd/tcs/conv_ksc.c
Normal file
160
src/cmd/tcs/conv_ksc.c
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
#ifdef PLAN9
|
||||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <bio.h>
|
||||
#else
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include "plan9.h"
|
||||
#endif
|
||||
#include "hdr.h"
|
||||
#include "conv.h"
|
||||
#include "ksc.h"
|
||||
|
||||
/*
|
||||
contributed by kuro@vodka.Eng.Sun.COM (Teruhiko Kurosaka)
|
||||
*/
|
||||
|
||||
/*
|
||||
a state machine for interpreting shift-ksc.
|
||||
*/
|
||||
|
||||
#define SS2 0x8e
|
||||
#define SS3 0x8f
|
||||
/*
|
||||
* Convert EUC in Koran locale to Unicode.
|
||||
* Only codeset 0 and 1 are used.
|
||||
*/
|
||||
void
|
||||
ukscproc(int c, Rune **r, long input_loc)
|
||||
{
|
||||
static enum { init, cs1last /*, cs2, cs3first, cs3last*/} state = init;
|
||||
static int korean646 = 1; /* fixed to 1 for now. */
|
||||
static int lastc;
|
||||
int n;
|
||||
long l;
|
||||
|
||||
switch(state)
|
||||
{
|
||||
case init:
|
||||
if (c < 0){
|
||||
return;
|
||||
}else if (c < 128){
|
||||
if(korean646 && (c=='\\')){
|
||||
emit(0x20A9);
|
||||
} else {
|
||||
emit(c);
|
||||
}
|
||||
/* }else if (c==SS2){
|
||||
state = cs2;
|
||||
}else if (c==SS3){
|
||||
state = cs3first;
|
||||
*/ }else{
|
||||
lastc = c;
|
||||
state = cs1last;
|
||||
}
|
||||
return;
|
||||
|
||||
case cs1last: /* 2nd byte of codeset 1 (KSC 5601) */
|
||||
if(c < 0){
|
||||
if(squawk)
|
||||
EPR "%s: unexpected EOF in %s\n", argv0, file);
|
||||
c = 0x21 | (lastc&0x80);
|
||||
}
|
||||
n = ((lastc&0x7f)-33)*94 + (c&0x7f)-33;
|
||||
if((n >= ksc5601max) || ((l = tabksc5601[n]) < 0)){
|
||||
nerrors++;
|
||||
if(squawk)
|
||||
EPR "%s: unknown ksc5601 %d (from 0x%x,0x%x) near byte %ld in %s\n", argv0, n, lastc, c, input_loc, file);
|
||||
if(!clean)
|
||||
emit(BADMAP);
|
||||
} else {
|
||||
emit(l);
|
||||
}
|
||||
state = init;
|
||||
return;
|
||||
default:
|
||||
if(squawk)
|
||||
EPR "%s: ukscproc: unknown state %d\n",
|
||||
argv0, init);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
uksc_in(int fd, long *notused, struct convert *out)
|
||||
{
|
||||
Rune ob[N];
|
||||
Rune *r, *re;
|
||||
uchar ibuf[N];
|
||||
int n, i;
|
||||
long nin;
|
||||
|
||||
USED(notused);
|
||||
r = ob;
|
||||
re = ob+N-3;
|
||||
nin = 0;
|
||||
while((n = read(fd, ibuf, sizeof ibuf)) > 0){
|
||||
for(i = 0; i < n; i++){
|
||||
ukscproc(ibuf[i], &r, nin++);
|
||||
if(r >= re){
|
||||
OUT(out, ob, r-ob);
|
||||
r = ob;
|
||||
}
|
||||
}
|
||||
if(r > ob){
|
||||
OUT(out, ob, r-ob);
|
||||
r = ob;
|
||||
}
|
||||
}
|
||||
ukscproc(-1, &r, nin);
|
||||
if(r > ob)
|
||||
OUT(out, ob, r-ob);
|
||||
}
|
||||
|
||||
void
|
||||
uksc_out(Rune *base, int n, long *notused)
|
||||
{
|
||||
char *p;
|
||||
int i;
|
||||
Rune r;
|
||||
long l;
|
||||
static int first = 1;
|
||||
|
||||
USED(notused);
|
||||
if(first){
|
||||
first = 0;
|
||||
for(i = 0; i < NRUNE; i++)
|
||||
tab[i] = -1;
|
||||
for(i = 0; i < ksc5601max; i++)
|
||||
if((l = tabksc5601[i]) != -1){
|
||||
if(l < 0)
|
||||
tab[-l] = i;
|
||||
else
|
||||
tab[l] = i;
|
||||
}
|
||||
}
|
||||
nrunes += n;
|
||||
p = obuf;
|
||||
for(i = 0; i < n; i++){
|
||||
r = base[i];
|
||||
if(r < 128)
|
||||
*p++ = r;
|
||||
else {
|
||||
if(tab[r] != -1){
|
||||
*p++ = 0x80 | (tab[r]/94 + 0x21);
|
||||
*p++ = 0x80 | (tab[r]%94 + 0x21);
|
||||
continue;
|
||||
}
|
||||
if(squawk)
|
||||
EPR "%s: rune 0x%x not in output cs\n", argv0, r);
|
||||
nerrors++;
|
||||
if(clean)
|
||||
continue;
|
||||
*p++ = BYTEBADMAP;
|
||||
}
|
||||
}
|
||||
noutput += p-obuf;
|
||||
if(p > obuf)
|
||||
write(1, obuf, p-obuf);
|
||||
}
|
||||
|
||||
162
src/cmd/tcs/cyrillic.h
Normal file
162
src/cmd/tcs/cyrillic.h
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
long tabucode[256] =
|
||||
{
|
||||
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
|
||||
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
|
||||
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
|
||||
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
|
||||
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
|
||||
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
|
||||
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
|
||||
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
0x00a0, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417,
|
||||
0x0418,0x0419,0x041a,0x041b,0x041c,0x041d,0x041e,0x041f,
|
||||
0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427,
|
||||
0x0428,0x0429,0x042a,0x042b,0x042c,0x042d,0x042e,0x042f,
|
||||
0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0436,0x0437,
|
||||
0x0438,0x0439,0x043a,0x043b,0x043c,0x043d,0x043e,0x043f,
|
||||
0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
|
||||
0x0448,0x0449,0x044a,0x044b,0x044c,0x044d,0x044e,0x044f,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
};
|
||||
long tabkoi8[256] =
|
||||
{
|
||||
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
|
||||
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
|
||||
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
|
||||
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
|
||||
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
|
||||
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
|
||||
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
|
||||
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
0x044e,0x0430,0x0431,0x0446,0x0434,0x0435,0x0444,0x0433,
|
||||
0x0445,0x0438,0x0439,0x043a,0x043b,0x043c,0x043d,0x043e,
|
||||
0x043f,0x044f,0x0440,0x0441,0x0442,0x0443,0x0436,0x0432,
|
||||
0x044c,0x044b,0x0437,0x0448,0x044d,0x0449,0x0447,0x044a,
|
||||
0x042e,0x0410,0x0411,0x0426,0x0414,0x0415,0x0424,0x0413,
|
||||
0x0425,0x0418,0x0419,0x041a,0x041b,0x041c,0x041d,0x041e,
|
||||
0x041f,0x042f,0x0420,0x0421,0x0422,0x0423,0x0416,0x0412,
|
||||
0x042c,0x042b,0x0417,0x0428,0x042d,0x0429,0x0427,0x042a,
|
||||
};
|
||||
long tab866[256] =
|
||||
{
|
||||
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
|
||||
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
|
||||
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
|
||||
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
|
||||
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
|
||||
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
|
||||
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
|
||||
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
|
||||
0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417,
|
||||
0x0418,0x0419,0x041a,0x041b,0x041c,0x041d,0x041e,0x041f,
|
||||
0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427,
|
||||
0x0428,0x0429,0x042a,0x042b,0x042c,0x042d,0x042e,0x042f,
|
||||
0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0436,0x0437,
|
||||
0x0438,0x0439,0x043a,0x043b,0x043c,0x043d,0x043e,0x043f,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
|
||||
0x0448,0x0449,0x044a,0x044b,0x044c,0x044d,0x044e,0x044f,
|
||||
0x0401,0x0451, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
};
|
||||
long tabav[256] =
|
||||
{
|
||||
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
|
||||
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
|
||||
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
|
||||
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
|
||||
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
|
||||
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
|
||||
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
|
||||
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
|
||||
0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417,
|
||||
0x0418,0x0419,0x041a,0x041b,0x041c,0x041d,0x041e,0x041f,
|
||||
0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427,
|
||||
0x0428,0x0429,0x042a,0x042b,0x042c,0x042d,0x042e,0x042f,
|
||||
0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0436,0x0437,
|
||||
0x0438,0x0439,0x043a,0x043b,0x043c,0x043d,0x043e,0x043f,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
|
||||
0x0448,0x0449,0x044a,0x044b,0x044c,0x044d,0x044e,0x044f,
|
||||
0x0401,0x0451,0x0301,0x0300,0x0301,0x0300,0x2192,0x2190,
|
||||
0x2193,0x2191,0x00f7,0x00b1,0x2116,0x00a4, -1, -1,
|
||||
};
|
||||
long tabcp1251[256] =
|
||||
{
|
||||
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
|
||||
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
|
||||
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
|
||||
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
|
||||
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
|
||||
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
|
||||
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
|
||||
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
|
||||
0x0402,0x0403,0x201a,0x0453,0x201e,0x2026,0x2020,0x2021,
|
||||
-1,0x2030,0x0409,0x2039,0x040a,0x040c,0x040b,0x040f,
|
||||
0x0452,0x2018,0x2019,0x201c,0x201d,0x2022,0x2013,0x2014,
|
||||
-1,0x2122,0x0459,0x203a,0x045a,0x045c,0x045b,0x045f,
|
||||
0x00a0,0x040e,0x045e,0x0408,0x00a4,0x0490,0x00a6,0x00a7,
|
||||
0x0401,0x00a9,0x0404,0x00ab,0x00ac,0x00ad,0x00ae,0x0407,
|
||||
0x00b0,0x00b1,0x0406,0x0456,0x0491,0x00b5,0x00b6,0x00b7,
|
||||
0x0451,0x2116,0x0454,0x00bb,0x0458,0x0405,0x0455,0x0457,
|
||||
0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417,
|
||||
0x0418,0x0419,0x041a,0x041b,0x041c,0x041d,0x041e,0x041f,
|
||||
0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427,
|
||||
0x0428,0x0429,0x042a,0x042b,0x042c,0x042d,0x042e,0x042f,
|
||||
0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0436,0x0437,
|
||||
0x0438,0x0439,0x043a,0x043b,0x043c,0x043d,0x043e,0x043f,
|
||||
0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
|
||||
0x0448,0x0449,0x044a,0x044b,0x044c,0x044d,0x044e,0x044f,
|
||||
};
|
||||
long tabov[256] =
|
||||
{
|
||||
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
|
||||
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
|
||||
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
|
||||
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,
|
||||
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
|
||||
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,
|
||||
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
|
||||
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0x7f,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
0x0410,0x0411,0x0412,0x0413,0x0414,0x0415,0x0416,0x0417,
|
||||
0x0418,0x0419,0x041a,0x041b,0x041c,0x041d,0x041e,0x041f,
|
||||
0x0420,0x0421,0x0422,0x0423,0x0424,0x0425,0x0426,0x0427,
|
||||
0x0428,0x0429,0x042a,0x042b,0x042c,0x042d,0x042e,0x042f,
|
||||
0x0430,0x0431,0x0432,0x0433,0x0434,0x0435,0x0436,0x0437,
|
||||
0x0438,0x0439,0x043a,0x043b,0x043c,0x043d,0x043e,0x043f,
|
||||
0x0440,0x0441,0x0442,0x0443,0x0444,0x0445,0x0446,0x0447,
|
||||
0x0448,0x0449,0x044a,0x044b,0x044c,0x044d,0x044e,0x044f,
|
||||
0x0401,0x0451,0x0301,0x0300,0x0301,0x0300,0x2192,0x2190,
|
||||
0x2193,0x2191,0x00f7,0x00b1,0x2116,0x00a4, -1, -1,
|
||||
};
|
||||
488
src/cmd/tcs/desc.latin
Normal file
488
src/cmd/tcs/desc.latin
Normal file
|
|
@ -0,0 +1,488 @@
|
|||
From Eng.Sun.COM!Bill.Tuthill Sat Jan 25 13:46:31 PST 1992
|
||||
Received: by pyxis; Sat Jan 25 21:57 EST 1992
|
||||
Received: by inet.att.com; Sat Jan 25 21:57 EST 1992
|
||||
Received: from Eng.Sun.COM (zigzag-bb.Corp.Sun.COM) by Sun.COM (4.1/SMI-4.1)
|
||||
id AA00310; Sat, 25 Jan 92 18:57:42 PST
|
||||
Received: from cairo.Eng.Sun.COM by Eng.Sun.COM (4.1/SMI-4.1)
|
||||
id AA24397; Sat, 25 Jan 92 13:44:29 PST
|
||||
Received: by cairo.Eng.Sun.COM (4.1/SMI-4.1)
|
||||
id AA16411; Sat, 25 Jan 92 13:46:31 PST
|
||||
Date: Sat, 25 Jan 92 13:46:31 PST
|
||||
From: Bill.Tuthill@Eng.Sun.COM (Bill "Bill" Tuthill)
|
||||
Message-Id: <9201252146.AA16411@cairo.Eng.Sun.COM>
|
||||
To: andrew@research.att.com
|
||||
Subject: Unicode => 8859
|
||||
|
||||
6.1a ISO Mapping Tables
|
||||
|
||||
This section includes the following mapping tables:
|
||||
* Unicode value to ISO 8859, which contains several 8-bit character sets
|
||||
covering the Latin, Greek, Cyrillic, Hebrew and Arabic scripts.
|
||||
|
||||
Unicode Encoding to ISO 8859 Mappings
|
||||
|
||||
(For Unicode U+0000 to U+007F all mappings are identities.)
|
||||
|
||||
UNIC 2 3 4 5 6 7 8 9 Unicode character name
|
||||
00A0 A0 A0 A0 A0 A0 A0 A0 A0 NON-BREAKING SPACE
|
||||
00A1 A1 INVERTED EXCLAMATION MARK
|
||||
00A2 A2 A2 CENT SIGN
|
||||
00A3 A3 A3 A3 A3 POUND SIGN
|
||||
00A4 A4 A4 A4 A4 A4 A4 CURRENCY SIGN
|
||||
00A5 A5 A5 YEN SIGN
|
||||
00A6 A6 A6 A6 BROKEN VERTICAL BAR
|
||||
00A7 A7 A7 A7 FD A7 A7 A7 SECTION SIGN
|
||||
00A8 A8 A8 A8 A8 A8 A8 SPACING DIAERESIS
|
||||
00A9 A9 A9 A9 COPYRIGHT SIGN
|
||||
00AA AA FEMININE ORDINAL INDICATOR
|
||||
00AB AB AB AB LEFT POINTING GUILLEMET
|
||||
00AC AC AC AC NOT SIGN
|
||||
00AD AD AD AD AD AD AD AD AD SOFT HYPHEN
|
||||
00AE AE AE REGISTERED TRADE MARK SIGN
|
||||
00AF AF AF SPACING MACRON
|
||||
00B0 B0 B0 B0 B0 B0 B0 DEGREE SIGN
|
||||
00B1 B1 B1 B1 PLUS-OR-MINUS SIGN
|
||||
00B2 B2 B2 B2 B2 SUPERSCRIPT DIGIT TWO
|
||||
00B3 B3 B3 B3 B3 SUPERSCRIPT DIGIT THREE
|
||||
00B4 B4 B4 B4 B4 B4 SPACING ACUTE
|
||||
00B5 B5 B5 B5 MICRO SIGN
|
||||
00B6 B6 B6 PARAGRAPH SIGN
|
||||
00B7 B7 B7 B7 B7 MIDDLE DOT
|
||||
00B8 B8 B8 B8 B8 B8 SPACING CEDILLA
|
||||
00B9 B9 B9 SUPERSCRIPT DIGIT ONE
|
||||
00BA BA MASCULINE ORDINAL INDICATOR
|
||||
00BB BB BB BB RIGHT POINTING GUILLEMET
|
||||
00BC BC BC FRACTION ONE QUARTER
|
||||
00BD BD BD BD BD FRACTION ONE HALF
|
||||
00BE BE BE FRACTION THREE QUARTERS
|
||||
00BF BF INVERTED QUESTION MARK
|
||||
00C0 C0 C0 LATIN CAPITAL LETTER A GRAVE
|
||||
00C1 C1 C1 C1 C1 LATIN CAPITAL LETTER A ACUTE
|
||||
00C2 C2 C2 C2 C2 LATIN CAPITAL LETTER A CIRCUMFLEX
|
||||
00C3 C3 C3 LATIN CAPITAL LETTER A TILDE
|
||||
00C4 C4 C4 C4 C4 LATIN CAPITAL LETTER A DIAERESIS
|
||||
00C5 C5 C5 LATIN CAPITAL LETTER A RING
|
||||
00C6 C6 C6 LATIN CAPITAL LETTER A E
|
||||
00C7 C7 C7 C7 LATIN CAPITAL LETTER C CEDILLA
|
||||
00C8 C8 C8 LATIN CAPITAL LETTER E GRAVE
|
||||
00C9 C9 C9 C9 C9 LATIN CAPITAL LETTER E ACUTE
|
||||
00CA CA CA LATIN CAPITAL LETTER E CIRCUMFLEX
|
||||
00CB CB CB CB CB LATIN CAPITAL LETTER E DIAERESIS
|
||||
00CC CC CC LATIN CAPITAL LETTER I GRAVE
|
||||
00CD CD CD CD CD LATIN CAPITAL LETTER I ACUTE
|
||||
00CE CE CE CE CE LATIN CAPITAL LETTER I CIRCUMFLEX
|
||||
00CF CF CF LATIN CAPITAL LETTER I DIAERESIS
|
||||
00D1 D1 D1 LATIN CAPITAL LETTER N TILDE
|
||||
00D2 D2 D2 LATIN CAPITAL LETTER O GRAVE
|
||||
00D3 D3 D3 D3 LATIN CAPITAL LETTER O ACUTE
|
||||
00D4 D4 D4 D4 D4 LATIN CAPITAL LETTER O CIRCUMFLEX
|
||||
00D5 D5 D5 LATIN CAPITAL LETTER O TILDE
|
||||
00D6 D6 D6 D6 D6 LATIN CAPITAL LETTER O DIAERESIS
|
||||
00D7 D7 D7 D7 AA D7 MULTIPLICATION SIGN
|
||||
00D8 D8 D8 LATIN CAPITAL LETTER O SLASH
|
||||
00D9 D9 D9 LATIN CAPITAL LETTER U GRAVE
|
||||
00DA DA DA DA DA LATIN CAPITAL LETTER U ACUTE
|
||||
00DB DB DB DB LATIN CAPITAL LETTER U CIRCUMFLEX
|
||||
00DC DC DC DC DC LATIN CAPITAL LETTER U DIAERESIS
|
||||
00DD DD LATIN CAPITAL LETTER Y ACUTE
|
||||
00DF DF DF DF DF LATIN SMALL LETTER SHARP S
|
||||
00E0 E0 E0 LATIN SMALL LETTER A GRAVE
|
||||
00E1 E1 E1 E1 E1 LATIN SMALL LETTER A ACUTE
|
||||
00E2 E2 E2 E2 E2 LATIN SMALL LETTER A CIRCUMFLEX
|
||||
00E3 E3 E3 LATIN SMALL LETTER A TILDE
|
||||
00E4 E4 E4 E4 E4 LATIN SMALL LETTER A DIAERESIS
|
||||
00E5 E5 E5 LATIN SMALL LETTER A RING
|
||||
00E6 E6 E6 LATIN SMALL LETTER A E
|
||||
00E7 E7 E7 E7 LATIN SMALL LETTER C CEDILLA
|
||||
00E8 E8 E8 LATIN SMALL LETTER E GRAVE
|
||||
00E9 E9 E9 E9 E9 LATIN SMALL LETTER E ACUTE
|
||||
00EA EA EA LATIN SMALL LETTER E CIRCUMFLEX
|
||||
00EB EB EB EB EB LATIN SMALL LETTER E DIAERESIS
|
||||
00EC EC EC LATIN SMALL LETTER I GRAVE
|
||||
00ED ED ED ED ED LATIN SMALL LETTER I ACUTE
|
||||
00EE EE EE EE EE LATIN SMALL LETTER I CIRCUMFLEX
|
||||
00EF EF EF LATIN SMALL LETTER I DIAERESIS
|
||||
00F1 F1 F1 LATIN SMALL LETTER N TILDE
|
||||
00F2 F2 F2 LATIN SMALL LETTER O GRAVE
|
||||
00F3 F3 F3 F3 LATIN SMALL LETTER O ACUTE
|
||||
00F4 F4 F4 F4 F4 LATIN SMALL LETTER O CIRCUMFLEX
|
||||
00F5 F5 F5 LATIN SMALL LETTER O TILDE
|
||||
00F6 F6 F6 F6 F6 LATIN SMALL LETTER O DIAERESIS
|
||||
00F7 F7 F7 F7 BA F7 DIVISION SIGN
|
||||
00F8 F8 F8 LATIN SMALL LETTER O SLASH
|
||||
00F9 F9 F9 LATIN SMALL LETTER U GRAVE
|
||||
00FA FA FA FA FA LATIN SMALL LETTER U ACUTE
|
||||
00FB FB FB FB LATIN SMALL LETTER U CIRCUMFLEX
|
||||
00FC FC FC FC FC LATIN SMALL LETTER U DIAERESIS
|
||||
00FD FD LATIN SMALL LETTER Y ACUTE
|
||||
00FF FF LATIN SMALL LETTER Y DIAERESIS
|
||||
0100 C0 LATIN CAPITAL LETTER A MACRON
|
||||
0101 E0 LATIN SMALL LETTER A MACRON
|
||||
0102 C3 LATIN CAPITAL LETTER A BREVE
|
||||
0103 E3 LATIN SMALL LETTER A BREVE
|
||||
0104 A1 A1 LATIN CAPITAL LETTER A OGONEK
|
||||
0105 B1 B1 LATIN SMALL LETTER A OGONEK
|
||||
0106 C6 LATIN CAPITAL LETTER C ACUTE
|
||||
0107 E6 LATIN SMALL LETTER C ACUTE
|
||||
0108 C6 LATIN CAPITAL LETTER C CIRCUMFLEX
|
||||
0109 E6 LATIN SMALL LETTER C CIRCUMFLEX
|
||||
010A C5 LATIN CAPITAL LETTER C DOT
|
||||
010B E5 LATIN SMALL LETTER C DOT
|
||||
010C C8 C8 LATIN CAPITAL LETTER C HACEK
|
||||
010D E8 E8 LATIN SMALL LETTER C HACEK
|
||||
010E CF LATIN CAPITAL LETTER D HACEK
|
||||
010F EF LATIN SMALL LETTER D HACEK
|
||||
0110 D0 D0 LATIN CAPITAL LETTER D BAR
|
||||
0111 F0 F0 LATIN SMALL LETTER D BAR
|
||||
0112 AA LATIN CAPITAL LETTER E MACRON
|
||||
0113 BA LATIN SMALL LETTER E MACRON
|
||||
0116 CC LATIN CAPITAL LETTER E DOT
|
||||
0117 EC LATIN SMALL LETTER E DOT
|
||||
0118 CA CA LATIN CAPITAL LETTER E OGONEK
|
||||
0119 EA EA LATIN SMALL LETTER E OGONEK
|
||||
011A CC LATIN CAPITAL LETTER E HACEK
|
||||
011B EC LATIN SMALL LETTER E HACEK
|
||||
011C D8 LATIN CAPITAL LETTER G CIRCUMFLEX
|
||||
011D F8 LATIN SMALL LETTER G CIRCUMFLEX
|
||||
011E AB D0 LATIN CAPITAL LETTER G BREVE
|
||||
011F BB F0 LATIN SMALL LETTER G BREVE
|
||||
0120 D5 LATIN CAPITAL LETTER G DOT
|
||||
0121 F5 LATIN SMALL LETTER G DOT
|
||||
0122 AB LATIN CAPITAL LETTER G CEDILLA
|
||||
0123 BB LATIN SMALL LETTER G CEDILLA
|
||||
0124 A6 LATIN CAPITAL LETTER H CIRCUMFLEX
|
||||
0125 B6 LATIN SMALL LETTER H CIRCUMFLEX
|
||||
0126 A1 LATIN CAPITAL LETTER H BAR
|
||||
0127 B1 LATIN SMALL LETTER H BAR
|
||||
0128 A5 LATIN CAPITAL LETTER I TILDE
|
||||
0129 B5 LATIN SMALL LETTER I TILDE
|
||||
012A CF LATIN CAPITAL LETTER I MACRON
|
||||
012B EF LATIN SMALL LETTER I MACRON
|
||||
012E C7 LATIN CAPITAL LETTER I OGONEK
|
||||
012F E7 LATIN SMALL LETTER I OGONEK
|
||||
0130 A9 DD LATIN CAPITAL LETTER I DOT
|
||||
0131 B9 FD LATIN SMALL LETTER DOTLESS I
|
||||
0134 AC LATIN CAPITAL LETTER J CIRCUMFLEX
|
||||
0135 BC LATIN SMALL LETTER J CIRCUMFLEX
|
||||
0136 D3 LATIN CAPITAL LETTER K CEDILLA
|
||||
0137 F3 LATIN SMALL LETTER K CEDILLA
|
||||
0138 A2 LATIN SMALL LETTER KRA
|
||||
0139 C5 LATIN CAPITAL LETTER L ACUTE
|
||||
013A E5 LATIN SMALL LETTER L ACUTE
|
||||
013B A6 LATIN CAPITAL LETTER L CEDILLA
|
||||
013C B6 LATIN SMALL LETTER L CEDILLA
|
||||
013D A5 LATIN CAPITAL LETTER L HACEK
|
||||
013E B5 LATIN SMALL LETTER L HACEK
|
||||
0141 A3 LATIN CAPITAL LETTER L SLASH
|
||||
0142 B3 LATIN SMALL LETTER L SLASH
|
||||
0143 D1 LATIN CAPITAL LETTER N ACUTE
|
||||
0144 F1 LATIN SMALL LETTER N ACUTE
|
||||
0145 D1 LATIN CAPITAL LETTER N CEDILLA
|
||||
0146 F1 LATIN SMALL LETTER N CEDILLA
|
||||
0147 D2 LATIN CAPITAL LETTER N HACEK
|
||||
0148 F2 LATIN SMALL LETTER N HACEK
|
||||
014A BD LATIN CAPITAL LETTER ENG
|
||||
014B BF LATIN SMALL LETTER ENG
|
||||
014C D2 LATIN CAPITAL LETTER O MACRON
|
||||
014D F2 LATIN SMALL LETTER O MACRON
|
||||
0150 D5 LATIN CAPITAL LETTER O DOUBLE ACUTE
|
||||
0151 F5 LATIN SMALL LETTER O DOUBLE ACUTE
|
||||
0154 C0 LATIN CAPITAL LETTER R ACUTE
|
||||
0155 E0 LATIN SMALL LETTER R ACUTE
|
||||
0156 A3 LATIN CAPITAL LETTER R CEDILLA
|
||||
0157 B3 LATIN SMALL LETTER R CEDILLA
|
||||
0158 D8 LATIN CAPITAL LETTER R HACEK
|
||||
0159 F8 LATIN SMALL LETTER R HACEK
|
||||
015A A6 LATIN CAPITAL LETTER S ACUTE
|
||||
015B B6 LATIN SMALL LETTER S ACUTE
|
||||
015C DE LATIN CAPITAL LETTER S CIRCUMFLEX
|
||||
015D FE LATIN SMALL LETTER S CIRCUMFLEX
|
||||
015E AA AA DE LATIN CAPITAL LETTER S CEDILLA
|
||||
015F BA BA FE LATIN SMALL LETTER S CEDILLA
|
||||
0160 A9 A9 LATIN CAPITAL LETTER S HACEK
|
||||
0161 B9 B9 LATIN SMALL LETTER S HACEK
|
||||
0162 DE LATIN CAPITAL LETTER T CEDILLA
|
||||
0163 FE LATIN SMALL LETTER T CEDILLA
|
||||
0164 AB LATIN CAPITAL LETTER T HACEK
|
||||
0165 BB LATIN SMALL LETTER T HACEK
|
||||
0166 AC LATIN CAPITAL LETTER T BAR
|
||||
0167 BC LATIN SMALL LETTER T BAR
|
||||
0168 DD LATIN CAPITAL LETTER U TILDE
|
||||
0169 FD LATIN SMALL LETTER U TILDE
|
||||
016A DE LATIN CAPITAL LETTER U MACRON
|
||||
016B FE LATIN SMALL LETTER U MACRON
|
||||
016C DD LATIN CAPITAL LETTER U BREVE
|
||||
016D FD LATIN SMALL LETTER U BREVE
|
||||
016E D9 LATIN CAPITAL LETTER U RING
|
||||
016F F9 LATIN SMALL LETTER U RING
|
||||
0170 DB LATIN CAPITAL LETTER U DOUBLE ACUTE
|
||||
0171 FB LATIN SMALL LETTER U DOUBLE ACUTE
|
||||
0172 D9 LATIN CAPITAL LETTER U OGONEK
|
||||
0173 F9 LATIN SMALL LETTER U OGONEK
|
||||
0179 AC LATIN CAPITAL LETTER Z ACUTE
|
||||
017A BC LATIN SMALL LETTER Z ACUTE
|
||||
017B AF AF LATIN CAPITAL LETTER Z DOT
|
||||
017C BF BF LATIN SMALL LETTER Z DOT
|
||||
017D AE AE LATIN CAPITAL LETTER Z HACEK
|
||||
017E BE BE LATIN SMALL LETTER Z HACEK
|
||||
02C7 B7 B7 MODIFIER LETTER HACEK
|
||||
02D8 A2 A2 SPACING BREVE
|
||||
02D9 FF FF FF SPACING DOT ABOVE
|
||||
02DB B2 B2 SPACING OGONEK
|
||||
02DD BD SPACING DOUBLE ACUTE
|
||||
0371 A1 GREEK NON-SPACING DASIA PNEUMATA
|
||||
0372 A2 GREEK NON-SPACING PSILI PNEUMATA
|
||||
0386 B6 GREEK CAPITAL LETTER ALPHA TONOS
|
||||
0388 B8 GREEK CAPITAL LETTER EPSILON TONOS
|
||||
0389 B9 GREEK CAPITAL LETTER ETA TONOS
|
||||
038A BA GREEK CAPITAL LETTER IOTA TONOS
|
||||
038C BC GREEK CAPITAL LETTER OMICRON TONOS
|
||||
038E BE GREEK CAPITAL LETTER UPSILON TONOS
|
||||
038F BF GREEK CAPITAL LETTER OMEGA TONOS
|
||||
0390 C0 GREEK SMALL LETTER IOTA DIAERESIS TONOS
|
||||
0391 C1 GREEK CAPITAL LETTER ALPHA
|
||||
0392 C2 GREEK CAPITAL LETTER BETA
|
||||
0393 C3 GREEK CAPITAL LETTER GAMMA
|
||||
0394 C4 GREEK CAPITAL LETTER DELTA
|
||||
0395 C5 GREEK CAPITAL LETTER EPSILON
|
||||
0396 C6 GREEK CAPITAL LETTER ZETA
|
||||
0397 C7 GREEK CAPITAL LETTER ETA
|
||||
0398 C8 GREEK CAPITAL LETTER THETA
|
||||
0399 C9 GREEK CAPITAL LETTER IOTA
|
||||
039A CA GREEK CAPITAL LETTER KAPPA
|
||||
039B CB GREEK CAPITAL LETTER LAMBDA
|
||||
039C CC GREEK CAPITAL LETTER MU
|
||||
039D CD GREEK CAPITAL LETTER NU
|
||||
039E CE GREEK CAPITAL LETTER XI
|
||||
039F CF GREEK CAPITAL LETTER OMICRON
|
||||
03A0 D0 GREEK CAPITAL LETTER PI
|
||||
03A1 D1 GREEK CAPITAL LETTER RHO
|
||||
03A3 D3 GREEK CAPITAL LETTER SIGMA
|
||||
03A4 D4 GREEK CAPITAL LETTER TAU
|
||||
03A5 D5 GREEK CAPITAL LETTER UPSILON
|
||||
03A6 D6 GREEK CAPITAL LETTER PHI
|
||||
03A7 D7 GREEK CAPITAL LETTER CHI
|
||||
03A8 D8 GREEK CAPITAL LETTER PSI
|
||||
03A9 D9 GREEK CAPITAL LETTER OMEGA
|
||||
03AA DA GREEK CAPITAL LETTER IOTA DIAERESIS
|
||||
03AB DB GREEK CAPITAL LETTER UPSILON DIAERESIS
|
||||
03AC DC GREEK SMALL LETTER ALPHA TONOS
|
||||
03AD DD GREEK SMALL LETTER EPSILON TONOS
|
||||
03AE DE GREEK SMALL LETTER ETA TONOS
|
||||
03AF DF GREEK SMALL LETTER IOTA TONOS
|
||||
03B0 E0 GREEK SMALL LETTER UPSILON DIAERESIS TONOS
|
||||
03B1 E1 GREEK SMALL LETTER ALPHA
|
||||
03B2 E2 GREEK SMALL LETTER BETA
|
||||
03B3 E3 GREEK SMALL LETTER GAMMA
|
||||
03B4 E4 GREEK SMALL LETTER DELTA
|
||||
03B5 E5 GREEK SMALL LETTER EPSILON
|
||||
03B6 E6 GREEK SMALL LETTER ZETA
|
||||
03B7 E7 GREEK SMALL LETTER ETA
|
||||
03B8 E8 GREEK SMALL LETTER THETA
|
||||
03B9 E9 GREEK SMALL LETTER IOTA
|
||||
03BA EA GREEK SMALL LETTER KAPPA
|
||||
03BB EB GREEK SMALL LETTER LAMBDA
|
||||
03BC EC GREEK SMALL LETTER MU
|
||||
03BD ED GREEK SMALL LETTER NU
|
||||
03BE EE GREEK SMALL LETTER XI
|
||||
03BF EF GREEK SMALL LETTER OMICRON
|
||||
03C0 F0 GREEK SMALL LETTER PI
|
||||
03C1 F1 GREEK SMALL LETTER RHO
|
||||
03C2 F2 GREEK SMALL LETTER FINAL SIGMA
|
||||
03C3 F3 GREEK SMALL LETTER SIGMA
|
||||
03C4 F4 GREEK SMALL LETTER TAU
|
||||
03C5 F5 GREEK SMALL LETTER UPSILON
|
||||
03C6 F6 GREEK SMALL LETTER PHI
|
||||
03C7 F7 GREEK SMALL LETTER CHI
|
||||
03C8 F8 GREEK SMALL LETTER PSI
|
||||
03C9 F9 GREEK SMALL LETTER OMEGA
|
||||
03CA FA GREEK SMALL LETTER IOTA DIAERESIS
|
||||
03CB FB GREEK SMALL LETTER UPSILON DIAERESIS
|
||||
03CC FC GREEK SMALL LETTER OMICRON TONOS
|
||||
03CD FD GREEK SMALL LETTER UPSILON TONOS
|
||||
03CE FE GREEK SMALL LETTER OMEGA TONOS
|
||||
03F3 B4 GREEK SPACING TONOS
|
||||
03F4 B5 GREEK SPACING DIAERESIS TONOS
|
||||
0401 A1 CYRILLIC CAPITAL LETTER IO
|
||||
0402 A2 CYRILLIC CAPITAL LETTER DJE
|
||||
0403 A3 CYRILLIC CAPITAL LETTER GJE
|
||||
0404 A4 CYRILLIC CAPITAL LETTER E
|
||||
0405 A5 CYRILLIC CAPITAL LETTER DZE
|
||||
0406 A6 CYRILLIC CAPITAL LETTER I
|
||||
0407 A7 CYRILLIC CAPITAL LETTER YI
|
||||
0408 A8 CYRILLIC CAPITAL LETTER JE
|
||||
0409 A9 CYRILLIC CAPITAL LETTER LJE
|
||||
040A AA CYRILLIC CAPITAL LETTER NJE
|
||||
040B AB CYRILLIC CAPITAL LETTER TSHE
|
||||
040C AC CYRILLIC CAPITAL LETTER KJE
|
||||
040E AE CYRILLIC CAPITAL LETTER SHORT U
|
||||
040F AF CYRILLIC CAPITAL LETTER DZHE
|
||||
0410 B0 CYRILLIC CAPITAL LETTER A
|
||||
0411 B1 CYRILLIC CAPITAL LETTER BE
|
||||
0412 B2 CYRILLIC CAPITAL LETTER VE
|
||||
0413 B3 CYRILLIC CAPITAL LETTER GE
|
||||
0414 B4 CYRILLIC CAPITAL LETTER DE
|
||||
0415 B5 CYRILLIC CAPITAL LETTER IE
|
||||
0416 B6 CYRILLIC CAPITAL LETTER ZHE
|
||||
0417 B7 CYRILLIC CAPITAL LETTER ZE
|
||||
0418 B8 CYRILLIC CAPITAL LETTER II
|
||||
0419 B9 CYRILLIC CAPITAL LETTER SHORT II
|
||||
041A BA CYRILLIC CAPITAL LETTER KA
|
||||
041B BB CYRILLIC CAPITAL LETTER EL
|
||||
041C BC CYRILLIC CAPITAL LETTER EM
|
||||
041D BD CYRILLIC CAPITAL LETTER EN
|
||||
041E BE CYRILLIC CAPITAL LETTER O
|
||||
041F BF CYRILLIC CAPITAL LETTER PE
|
||||
0420 C0 CYRILLIC CAPITAL LETTER ER
|
||||
0421 C1 CYRILLIC CAPITAL LETTER ES
|
||||
0422 C2 CYRILLIC CAPITAL LETTER TE
|
||||
0423 C3 CYRILLIC CAPITAL LETTER U
|
||||
0424 C4 CYRILLIC CAPITAL LETTER EF
|
||||
0425 C5 CYRILLIC CAPITAL LETTER KHA
|
||||
0426 C6 CYRILLIC CAPITAL LETTER TSE
|
||||
0427 C7 CYRILLIC CAPITAL LETTER CHE
|
||||
0428 C8 CYRILLIC CAPITAL LETTER SHA
|
||||
0429 C9 CYRILLIC CAPITAL LETTER SHCHA
|
||||
042A CA CYRILLIC CAPITAL LETTER HARD SIGN
|
||||
042B CB CYRILLIC CAPITAL LETTER YERI
|
||||
042C CC CYRILLIC CAPITAL LETTER SOFT SIGN
|
||||
042D CD CYRILLIC CAPITAL LETTER REVERSED E
|
||||
042E CE CYRILLIC CAPITAL LETTER IU
|
||||
042F CF CYRILLIC CAPITAL LETTER IA
|
||||
0430 D0 CYRILLIC SMALL LETTER A
|
||||
0431 D1 CYRILLIC SMALL LETTER BE
|
||||
0432 D2 CYRILLIC SMALL LETTER VE
|
||||
0433 D3 CYRILLIC SMALL LETTER GE
|
||||
0434 D4 CYRILLIC SMALL LETTER DE
|
||||
0435 D5 CYRILLIC SMALL LETTER IE
|
||||
0436 D6 CYRILLIC SMALL LETTER ZHE
|
||||
0437 D7 CYRILLIC SMALL LETTER ZE
|
||||
0438 D8 CYRILLIC SMALL LETTER II
|
||||
0439 D9 CYRILLIC SMALL LETTER SHORT II
|
||||
043A DA CYRILLIC SMALL LETTER KA
|
||||
043B DB CYRILLIC SMALL LETTER EL
|
||||
043C DC CYRILLIC SMALL LETTER EM
|
||||
043D DD CYRILLIC SMALL LETTER EN
|
||||
043E DE CYRILLIC SMALL LETTER O
|
||||
043F DF CYRILLIC SMALL LETTER PE
|
||||
0440 E0 CYRILLIC SMALL LETTER ER
|
||||
0441 E1 CYRILLIC SMALL LETTER ES
|
||||
0442 E2 CYRILLIC SMALL LETTER TE
|
||||
0443 E3 CYRILLIC SMALL LETTER U
|
||||
0444 E4 CYRILLIC SMALL LETTER EF
|
||||
0445 E5 CYRILLIC SMALL LETTER KHA
|
||||
0446 E6 CYRILLIC SMALL LETTER TSE
|
||||
0447 E7 CYRILLIC SMALL LETTER CHE
|
||||
0448 E8 CYRILLIC SMALL LETTER SHA
|
||||
0449 E9 CYRILLIC SMALL LETTER SHCHA
|
||||
044A EA CYRILLIC SMALL LETTER HARD SIGN
|
||||
044B EB CYRILLIC SMALL LETTER YERI
|
||||
044C EC CYRILLIC SMALL LETTER SOFT SIGN
|
||||
044D ED CYRILLIC SMALL LETTER REVERSED E
|
||||
044E EE CYRILLIC SMALL LETTER IU
|
||||
044F EF CYRILLIC SMALL LETTER IA
|
||||
0451 F1 CYRILLIC SMALL LETTER IO
|
||||
0452 F2 CYRILLIC SMALL LETTER DJE
|
||||
0453 F3 CYRILLIC SMALL LETTER GJE
|
||||
0454 F4 CYRILLIC SMALL LETTER E
|
||||
0455 F5 CYRILLIC SMALL LETTER DZE
|
||||
0456 F6 CYRILLIC SMALL LETTER I
|
||||
0457 F7 CYRILLIC SMALL LETTER YI
|
||||
0458 F8 CYRILLIC SMALL LETTER JE
|
||||
0459 F9 CYRILLIC SMALL LETTER LJE
|
||||
045A FA CYRILLIC SMALL LETTER NJE
|
||||
045B FB CYRILLIC SMALL LETTER TSHE
|
||||
045C FC CYRILLIC SMALL LETTER KJE
|
||||
045E FE CYRILLIC SMALL LETTER SHORT U
|
||||
045F FF CYRILLIC SMALL LETTER DZHE
|
||||
05D0 E0 HEBREW LETTER ALEF
|
||||
05D1 E1 HEBREW LETTER BET
|
||||
05D2 E2 HEBREW LETTER GIMEL
|
||||
05D3 E3 HEBREW LETTER DALET
|
||||
05D4 E4 HEBREW LETTER HE
|
||||
05D5 E5 HEBREW LETTER VAV
|
||||
05D6 E6 HEBREW LETTER ZAYIN
|
||||
05D7 E7 HEBREW LETTER HET
|
||||
05D8 E8 HEBREW LETTER TET
|
||||
05D9 E9 HEBREW LETTER YOD
|
||||
05DA EA HEBREW LETTER FINAL KAF
|
||||
05DB EB HEBREW LETTER KAF
|
||||
05DC EC HEBREW LETTER LAMED
|
||||
05DD ED HEBREW LETTER FINAL MEM
|
||||
05DE EE HEBREW LETTER MEM
|
||||
05DF EF HEBREW LETTER FINAL NUN
|
||||
05E0 F0 HEBREW LETTER NUN
|
||||
05E1 F1 HEBREW LETTER SAMEKH
|
||||
05E2 F2 HEBREW LETTER AYIN
|
||||
05E3 F3 HEBREW LETTER FINAL PE
|
||||
05E4 F4 HEBREW LETTER PE
|
||||
05E5 F5 HEBREW LETTER FINAL TSADI
|
||||
05E6 F6 HEBREW LETTER TSADI
|
||||
05E7 F7 HEBREW LETTER QOF
|
||||
05E8 F8 HEBREW LETTER RESH
|
||||
05E9 F9 HEBREW LETTER SHIN
|
||||
05EA FA HEBREW LETTER TAV
|
||||
060C AC ARABIC COMMA
|
||||
061B BB ARABIC SEMICOLON
|
||||
061F BF ARABIC QUESTION MARK
|
||||
0621 C1 ARABIC LETTER HAMZAH
|
||||
0622 C2 ARABIC LETTER MADDAH ON ALEF
|
||||
0623 C3 ARABIC LETTER HAMZAH ON ALEF
|
||||
0624 C4 ARABIC LETTER HAMZAH ON WAW
|
||||
0625 C5 ARABIC LETTER HAMZAH UNDER ALEF
|
||||
0626 C6 ARABIC LETTER HAMZAH ON YA
|
||||
0627 C7 ARABIC LETTER ALEF
|
||||
0628 C8 ARABIC LETTER BAA
|
||||
0629 C9 ARABIC LETTER TAA MARBUTAH
|
||||
062A CA ARABIC LETTER TAA
|
||||
062B CB ARABIC LETTER THAA
|
||||
062C CC ARABIC LETTER JEEM
|
||||
062D CD ARABIC LETTER HAA
|
||||
062E CE ARABIC LETTER KHAA
|
||||
062F CF ARABIC LETTER DAL
|
||||
0630 D0 ARABIC LETTER THAL
|
||||
0631 D1 ARABIC LETTER RA
|
||||
0632 D2 ARABIC LETTER ZAIN
|
||||
0633 D3 ARABIC LETTER SEEN
|
||||
0634 D4 ARABIC LETTER SHEEN
|
||||
0635 D5 ARABIC LETTER SAD
|
||||
0636 D6 ARABIC LETTER DAD
|
||||
0637 D7 ARABIC LETTER TAH
|
||||
0638 D8 ARABIC LETTER DHAH
|
||||
0639 D9 ARABIC LETTER AIN
|
||||
063A DA ARABIC LETTER GHAIN
|
||||
0640 E0 ARABIC TATWEEL
|
||||
0641 E1 ARABIC LETTER FA
|
||||
0642 E2 ARABIC LETTER QAF
|
||||
0643 E3 ARABIC LETTER CAF
|
||||
0644 E4 ARABIC LETTER LAM
|
||||
0645 E5 ARABIC LETTER MEEM
|
||||
0646 E6 ARABIC LETTER NOON
|
||||
0647 E7 ARABIC LETTER HA
|
||||
0648 E8 ARABIC LETTER WAW
|
||||
0649 E9 ARABIC LETTER ALEF MAQSURAH
|
||||
064A EA ARABIC LETTER YA
|
||||
064B EB ARABIC FATHATAN
|
||||
064C EC ARABIC DAMMATAN
|
||||
064D ED ARABIC KASRATAN
|
||||
064E EE ARABIC FATHAH
|
||||
064F EF ARABIC DAMMAH
|
||||
0650 F0 ARABIC KASRAH
|
||||
0651 F1 ARABIC SHADDAH
|
||||
0652 F2 ARABIC SUKUN
|
||||
0660 30 ARABIC-INDIC DIGIT ZERO
|
||||
0661 31 ARABIC-INDIC DIGIT ONE
|
||||
0662 32 ARABIC-INDIC DIGIT TWO
|
||||
0663 33 ARABIC-INDIC DIGIT THREE
|
||||
0664 34 ARABIC-INDIC DIGIT FOUR
|
||||
0665 35 ARABIC-INDIC DIGIT FIVE
|
||||
0666 36 ARABIC-INDIC DIGIT SIX
|
||||
0667 37 ARABIC-INDIC DIGIT SEVEN
|
||||
0668 38 ARABIC-INDIC DIGIT EIGHT
|
||||
0669 39 ARABIC-INDIC DIGIT NINE
|
||||
2015 AF QUOTATION DASH
|
||||
2017 DF SPACING DOUBLE UNDERSCORE
|
||||
203E AF SPACING OVERSCORE
|
||||
2116 F0 NUMERO
|
||||
|
||||
|
||||
192
src/cmd/tcs/ex2.utf
Normal file
192
src/cmd/tcs/ex2.utf
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
From dmr Thu Jan 30 17:00:03 EST 1992
|
||||
誠に申し訳ありませんが、MH front end はあと1週間だけ待って下さい。
|
||||
新しい xterm のために vtwin の変更が必要となって、それにちょっと
|
||||
手間取ってしまいました。まだもう1つ直したい bug があるのですが
|
||||
もう今日は時間がありません。
|
||||
拝啓 新緑の候、ますますご清祥のこととお喜び申し上げます。
|
||||
さて、斎藤信男先生は4月1日をもちまして、慶応義塾大学理工学部教
|
||||
授に御昇任なられました。そこで、日頃斎藤先生にお世話になっている
|
||||
私達が斎藤先生に お祝いを申し上げるためのささやかな 祝宴を企画致
|
||||
しました。当日は 斎藤研究室 OB/OG の方々、斎藤研究室現役の学生、
|
||||
また、斎藤先生ゆかりの方々が集まり、斎藤先生を囲んで楽しいひとと
|
||||
きを過ごしたいと考えております。ご家族、御友人おさそいあわせのう
|
||||
え御列席下さるようお願い申し上げます。
|
||||
おそれいりますが、ご出席の確認を下記連絡先に電話または電子メール
|
||||
にてご連絡下さるようお願い申し上げます。
|
||||
敬具
|
||||
「斎藤信男教授を囲む会」
|
||||
日時: 昭和62年4月24日(金) 18:00 より
|
||||
場所: 新橋第一ホテル「レストランクラレット」
|
||||
電話; 03-501-4411
|
||||
会費: 1万5千円 (当日記念品代1口5千円を別に御用意下さい。)
|
||||
ただし、学生料金は別途設定してありますので御安心!
|
||||
連絡先:中村 修 osamu@keio.junet
|
||||
電話 044-63-9137 (斎藤研究室直通)
|
||||
電話 03-704-4715 (中村自宅)
|
||||
幹事代表 村井 純、 中村 修
|
||||
拝啓 新緑の候、ますますご清祥のこととお喜び申し上げます。
|
||||
さて、斎藤信男先生は4月1日をもちまして、慶応義塾大学理工学部教
|
||||
授に御昇任なられました。そこで、日頃斎藤先生にお世話になっている
|
||||
私達が斎藤先生に お祝いを申し上げるためのささやかな 祝宴を企画致
|
||||
しました。当日は 斎藤研究室 OB/OG の方々、斎藤研究室現役の学生、
|
||||
また、斎藤先生ゆかりの方々が集まり、斎藤先生を囲んで楽しいひとと
|
||||
きを過ごしたいと考えております。ご家族、御友人おさそいあわせのう
|
||||
え御列席下さるようお願い申し上げます。
|
||||
おそれいりますが、ご出席の確認を下記連絡先に電話または電子メール
|
||||
にてご連絡下さるようお願い申し上げます。
|
||||
敬具
|
||||
「斎藤信男教授を囲む会」
|
||||
日時: 昭和62年4月24日(金) 18:00 より
|
||||
場所: 新橋第一ホテル「レストランクラレット」
|
||||
電話; 03-501-4411
|
||||
会費: 1万5千円 (当日記念品代1口5千円を別に御用意下さい。)
|
||||
ただし、学生料金は別途設定してありますので御安心!
|
||||
連絡先:中村 修 osamu@keio.junet
|
||||
電話 044-63-9137 (斎藤研究室直通)
|
||||
電話 03-704-4715 (中村自宅)
|
||||
幹事代表 村井 純、 中村 修
|
||||
JUS幹事の皆様:
|
||||
4月10日の幹事会でお話した、次のような講演についての件ですが、
|
||||
発内容:Macintosh IIへのUNIXの移植
|
||||
発 者:米国UniSoftのエンジニア
|
||||
発時間:1時間(幹事会において決まった時間です)
|
||||
発当人からABSTRACTが届きました。このような内容での話でよけれ
|
||||
ば、来日するがどうだろう?との問い合わせがあったのですが、皆様いかがでしょうか?
|
||||
皆様の御意見を伺ったうえで、本当に来てもらうかどうか当人に連絡したいと思います。
|
||||
(交通費、宿泊費などはJUSから出す必要はありません)
|
||||
御返答、よろしくお願いいたします。
|
||||
DCL 坂本 文
|
||||
JUS幹事の皆様:
|
||||
4月10日の幹事会でお話した、次のような講演についての件ですが、
|
||||
発内容:Macintosh IIへのUNIXの移植
|
||||
発 者:米国UniSoftのエンジニア
|
||||
発時間:1時間(幹事会において決まった時間です)
|
||||
発当人からABSTRACTが届きました。このような内容での話でよけれ
|
||||
ば、来日するがどうだろう?との問い合わせがあったのですが、皆様いかがでしょうか?
|
||||
皆様の御意見を伺ったうえで、本当に来てもらうかどうか当人に連絡したいと思います。
|
||||
(交通費、宿泊費などはJUSから出す必要はありません)
|
||||
御返答、よろしくお願いいたします。
|
||||
DCL 坂本 文
|
||||
次回のjus幹事会は下記の場所で行います。
|
||||
日時 5/8(金)午後6時
|
||||
場所 (株)アスキ―、FFFビル、7F役員会議室
|
||||
地図
|
||||
至赤坂
|
||||
国道246号(青山通り)
|
||||
| |*(地下鉄表参道B3出口)
|
||||
| | (ラ―メン屋)
|
||||
紀ノ国屋| |出光GS 天下一
|
||||
| | 住 大 F*
|
||||
| | 友 仁 F
|
||||
| | 南 堂 F
|
||||
至渋谷 青 ビ ビ
|
||||
山 ル ル
|
||||
ビ
|
||||
ル
|
||||
(1)地下鉄表参道駅下車、B3の出口を出る。
|
||||
(2)青山通りを渋谷方面へ歩く
|
||||
(3)初めての信号(角が出光GS)を右へ曲る
|
||||
(4)約500M歩き(信号4つ目)、T字路の交差点の右側
|
||||
(5)FFFビルの7F
|
||||
PS.当日14:40着の便で成田に帰って来ますので、少し遅れるかもしれません
|
||||
が先に始めて下さい。
|
||||
この間の集りでマーク・シートの読み取りのsoftの話題があったと思うので
|
||||
すが,「インタフェース5月号」の新製品紹介の欄で,ANK character の読み取りの
|
||||
softの紹介があったように思います。
|
||||
ただ,その雑誌がいま,手元にないので詳しくはわかりませんが,調べてみ
|
||||
ます。
|
||||
一部の人は知っていると思いますが,現在 rmap のPD化を進めています.
|
||||
余分な機能をそぎ落し,一通り動くようになりました.あと,2,3
|
||||
新たな機能を追加する予定ですが,問題はその前提となる rwhod にあります.
|
||||
御存知のように rwhod はつながるマシンの数が増えると,急激に network 及び
|
||||
CPU を食いはじめます.また,routing の機能がないため複数のネットワークが
|
||||
接続されているような環境ではやはり問題です.東工大ではいままで,gateway
|
||||
となるマシンの rwhod に手をいれて routing をするようにしていましたが,
|
||||
その場しのぎのいい加減なやり方だったので,4月にネットワークの接続形態が
|
||||
変って以来,2重に packet を流していたことが判明しました.昨日急いで
|
||||
直しましたが,それまでネットワークは collision の嵐だった訳です.
|
||||
たかだか30台のネットワークでこの有様ですから,何百,何千という
|
||||
本格的ネットワークを考えると単純に routing を行う今の方法は非現実的です.
|
||||
そこで,いくつかのアイディアを加藤君と考えました.
|
||||
1. broadcast packet は止めて,NFSを利用し /usr/spool/rwho をできる限り
|
||||
共有する.どうしても必要なところは point-to-point で routing を行う.
|
||||
2. routing する場合に独自のプロトコルにより複数のホストの情報を
|
||||
1 packet で送る.
|
||||
3. on demand で必要な時だけ他のマシンに対し情報を要求する.
|
||||
トリガーは,例えば誰かが rmap でそのマシンを含むページを表示しようと
|
||||
した時とする.
|
||||
4. どうせ,そういう情報が必要なのは phone をかけたい時ぐらいだから,
|
||||
むしろ,phone を改造して phoned が broadcasting や routing をしながら,
|
||||
特定のユーザがどこにいるか探し回るようにする.
|
||||
さて,そこで皆さんの意見を聞きたいと思います.どうするのが一番良いでしょうか.
|
||||
今考えているのは,1, 2 の機能を持った public domain rwhod を作るといった
|
||||
ところですが,果してそんなことをするのは意味があるのか.4を実現すれば事実上
|
||||
rmap はいらなくなるんじゃないのか.有益な議論をお待ちしています.
|
||||
私は前の mail で次ぎのようなことを書きました.
|
||||
> 御存知のように rwhod はつながるマシンの数が増えると,急激に network 及び
|
||||
> CPU を食いはじめます.また,routing の機能がないため複数のネットワークが
|
||||
> 接続されているような環境ではやはり問題です.東工大ではいままで,gateway
|
||||
> となるマシンの rwhod に手をいれて routing をするようにしていましたが,
|
||||
> ....,何百,何千という
|
||||
> 本格的ネットワークを考えると単純に routing を行う今の方法は非現実的です.
|
||||
> そこで,いくつかのアイディアを加藤君と考えました.
|
||||
> 1. broadcast packet は止めて,NFSを利用し /usr/spool/rwho をできる限り
|
||||
> 共有する.どうしても必要なところは point-to-point で routing を行う.
|
||||
> 2. routing する場合に独自のプロトコルにより複数のホストの情報を
|
||||
> 1 packet で送る.
|
||||
> 今考えているのは,1, 2 の機能を持った public domain rwhod を作るといった
|
||||
> ところですが,果してそんなことをするのは意味があるのか....
|
||||
今考えていることを,もう少し具体的に説明すると,
|
||||
既存の rwhod は自分のマシンの network configuration を見て
|
||||
自分の属するサブネットワークにはすべて broadcasting で,
|
||||
point-to-point のリンクにはその相手先に対し,自分のマシンの情報のみを
|
||||
流しまています.
|
||||
私が手を入れた rwhod はそれらに加えて,他のマシンから来た
|
||||
情報を自分の spool に書き込むと同時に,リストとして貯め込んでおき,
|
||||
自分の情報を流す時に同時に,個々のマシンの属するネットワーク以外の
|
||||
すべてのリンクにその情報をリレーするというものです.
|
||||
しかし,この方法だといくら broadcast packet を使ったところで,
|
||||
論理的にはネットワーク全体が完全グラフをなすように packet を
|
||||
流すことになりますし,しかも普段はそういう情報を必要としない
|
||||
場合が多い訳ですから,明らかに供給過剰です.で,これを少しでも
|
||||
軽減することができれば,と考えている訳です.
|
||||
新しい rwhod は,様々なネットワーク上の制約を盛り込めるように,
|
||||
例えば /etc/rwhod.rc のようなファイルからリレーのための configuration
|
||||
を読み込むようにするといいでしょう.そのファイルの中に書かれるべき
|
||||
項目としては,次ぎのようなものが考えられます.
|
||||
1. 自分のマシンの情報をどのマシン,またはどのネットワークに対して
|
||||
送信するか.また,それをローカルファイルに格納するか否か.
|
||||
2. 他のマシンの情報をどのマシン,またはどのネットワークに対して
|
||||
リレーするか.それは packet として受信されるべきものなのか,
|
||||
NFSによってそのマシンの rwhod が書き込んだファイルを
|
||||
読みにいくのか.前者の場合には,さらにその情報をローカル
|
||||
ファイルに格納するか否か.
|
||||
3. 1, 2 は何秒間隔で行うのか.
|
||||
これらに加え,さらに通常は packet を流さずに必要な時だけ,
|
||||
rwhod が他のマシンに対し情報を要求するという機能を付け加えるのも
|
||||
いいかもしれません.このためには,/etc/rwhod.rc の中に
|
||||
4. あるマシンの情報に対する要求があった時にどのマシンに
|
||||
対して問い合わせを行うか.
|
||||
という項目を付け加えるべきでしょう.1,2,4 は実際には統一した
|
||||
フォーマットで記述するのがいいかもしれません.
|
||||
もし,こういう on demand 型のサービスを取り入れると当然 rwho, ruptime, rmap
|
||||
といった client 側にも変更が必要になります.恐らくあるマシンの情報を得るには,
|
||||
といったようなライブラリ関数を用意することになるでしょう.
|
||||
この関数は自分のマシンの rwhod に対してそういう request を
|
||||
行い response を受け取るという単純なものにするのがいいと
|
||||
思います.一方その request を受け取った rwhod はスプールを
|
||||
見てそれが充分新しいものであれば,そこから読み取り,そうでなければ
|
||||
rwhod.rc に書かれたマシンに対し問い合わせることになるでしょう.
|
||||
いや,もうそこまでするのだったら,いっそスプールは全廃して
|
||||
rwhod が on core で情報を管理した方がいいかもしれません.
|
||||
というようなところが今まで考えたところですが,そこでこの前にも書いた
|
||||
疑問に戻ります.果してこんなことをする意味があるのだろうか?
|
||||
phone を hack すれば,それで問題は解決するのではないか?
|
||||
何か意見を言ってください.お願いします.
|
||||
私はこれを今度の meeting で議論してもらいたいとは思っていません.
|
||||
あくまで mail で意見を聞かせて下さい.そうすることで,
|
||||
議論がたまたま meeting に出席した人の中だけでの閉じたもので
|
||||
終るということがなくなると思いますから.
|
||||
ところでこの mailing list はいつまで東工大で管理されているのですか.
|
||||
u-tokyo に移した方がいいのではないのですか?
|
||||
|
||||
15
src/cmd/tcs/ex3.utf
Normal file
15
src/cmd/tcs/ex3.utf
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
Привет.
|
||||
|
||||
Так лучше? :-) Что касается Rob Pike, я просто не хочу его
|
||||
беспокоить, но он может быть уверен, что еще услышит от меня
|
||||
ругательства на Plan 9 - когда я прочту статьи :-) :-) :-)
|
||||
|
||||
Кстати, я мог бы прислать русскую версию nroff (руки не дошли
|
||||
сделать troff с кириллицей). Что касается awk, то для меня до сих
|
||||
пор остается загадкой почему никто не сделал нормальную трассировку
|
||||
(tracing) в awk - это сделало бы отладку (debugging) в сто раз
|
||||
проще.
|
||||
|
||||
Ну ладно, всем привет.
|
||||
|
||||
Вадим
|
||||
109
src/cmd/tcs/ex4.utf
Normal file
109
src/cmd/tcs/ex4.utf
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
|
||||
2-ая КОНФЕРЕНЦИЯ SUUG
|
||||
|
||||
С 23 по 28 сентября 1991 года в городе Владимире Совет-
|
||||
ская ассоциация пользователей операционной системы UNIX
|
||||
(SUUG) проводит 2-ую ежегодную конференцию. На конференции
|
||||
предполагается рассмотреть текущее состояние ОС UNIX и перспективные
|
||||
направления ее развития как в СССР, так и за рубежом, воп-
|
||||
росы разработки прикладного программного обеспечения в среде
|
||||
UNIX. На конференцию приглашены ряд ведущих специалистов из
|
||||
Европейской ассоциации пользователей UNIX (EurOpen) и ассоци-
|
||||
ации usenix (США).
|
||||
В рамках конференции будет проведено общее собрание
|
||||
Советской ассоциации пользователей UNIX.
|
||||
|
||||
УЧАСТИЕ В КОНФЕРЕНЦИИ
|
||||
|
||||
Участие в конференции возможно в качестве докладчиков и
|
||||
слушателей. Кроме того, в ходе конференции будут проведены
|
||||
панельные дискуссии по наиболее интересным темам. Предус-
|
||||
мотрены условия для продуктивного общения специалистов.
|
||||
Тезисы всех принятых на конференцию докладов к ее началу
|
||||
будут опубликованы.
|
||||
Участники конференции могут провести демонстрацию на
|
||||
ЭВМ своих разработок, приниматся заявки на рекламу.
|
||||
Конференция будет проводиться в гостинице "Клязьма" г.
|
||||
Владимира. Предполагаемое количество участников 120 чело-
|
||||
век. Регистрационный взнос - 400 руб., для членов SUUG -
|
||||
350 руб. с человека. В регистрационный взнос входят все
|
||||
орграсходы, плата за проживание в гостинице и трехразовое
|
||||
питание в ресторане при гостинице.
|
||||
Для участия в конференции необходимо до 15 мая 1991 г.
|
||||
выслать по адресу организационного комитета заявку по прила-
|
||||
гаемому образцу, для докладчиков - тезисы докладов объемом
|
||||
до 2 страниц в виде, пригодном для копирования. Программный
|
||||
комитет предполагает наиболее интересные доклады опублико-
|
||||
вать целиком. Заявки и тезисы докладов можно также присылать
|
||||
электронной почтой.
|
||||
В случае нескольких авторов доклада, приглашен может
|
||||
быть, как правило, только один. Подтверждение Вашего учас-
|
||||
тия будет выслано до 1 сентября 1991 г.
|
||||
|
||||
ОРГАНИЗАЦИОННЫЙ КОМИТЕТ
|
||||
|
||||
Г.П.Остапенко
|
||||
Э.Мухутдинова
|
||||
ИНЭУМ, Москва, ГСП-1, Вавилова, 24,
|
||||
Советская ассоциация пользователей ОС UNIX (SUUG)
|
||||
тел: (095) 939-00-14, 939-00-49
|
||||
|
||||
ПРОГРАММНЫЙ КОМИТЕТ
|
||||
|
||||
П.Л.Брусиловский
|
||||
МЦНТИ, 125252 Москва ул.Куусинена 21б.
|
||||
тел: (095) 198-70-55
|
||||
e-mail: <plb@plb.icsti.su>
|
||||
|
||||
А.Л.Фридман
|
||||
ИПИАН, 177900 Москва ул. Вавилова 30/6.
|
||||
тел: (095) 930-05-16
|
||||
e-mail: <af@alf.public.su>
|
||||
|
||||
|
||||
Дальнейшие мероприятия SUUG: семинар по прикладным сис-
|
||||
темам в среде UNIX (декабрь, Москва, МЦНТИ); UNIX-шоу - выс-
|
||||
тавка аппаратуры и программных средств, представления фирм
|
||||
(октябрь-ноябрь, Москва). Дополнительная информация будет
|
||||
выслана в ближайшее время.
|
||||
|
||||
|
||||
|
||||
|
||||
З А Я В К А
|
||||
на участие во 2-ой конференции
|
||||
|
||||
Я хотел бы принять участие во 2-ой ежегодной конферен-
|
||||
ции SUUG в качестве: докладчика / слушателя / участника дис-
|
||||
скусии.
|
||||
Фамилия, имя, отчество, ученое звание:
|
||||
..........................................................
|
||||
..........................................................
|
||||
Место работы:
|
||||
..........................................................
|
||||
..........................................................
|
||||
Должность:
|
||||
..........................................................
|
||||
Название доклада:
|
||||
..........................................................
|
||||
..........................................................
|
||||
Тема дискуссии:
|
||||
..........................................................
|
||||
..........................................................
|
||||
Почтовый адрес:
|
||||
..........................................................
|
||||
Телефон:...................E-mail..........................
|
||||
Членство в SUUG: организация-член SUUG
|
||||
индивидуальный член
|
||||
прошу выслать материалы о вступлении
|
||||
нет
|
||||
Основная сфера деятельности моей организации:
|
||||
..........................................................
|
||||
Мои основные интересы лежат в области:
|
||||
..........................................................
|
||||
|
||||
Хотите ли Вы продемонстрировать свои разработки? да/нет
|
||||
Необходимая техника.......................................
|
||||
..........................................................
|
||||
|
||||
|
||||
50
src/cmd/tcs/ex5.utf
Normal file
50
src/cmd/tcs/ex5.utf
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
.tr -\(hy
|
||||
.TL
|
||||
Hello World
|
||||
.br
|
||||
or
|
||||
.br
|
||||
Καλημέρα κόσμε
|
||||
.br
|
||||
or
|
||||
.br
|
||||
こんにちは 世界
|
||||
.AU
|
||||
Rob Pike
|
||||
Ken Thompson
|
||||
.AI
|
||||
.MH
|
||||
.AB
|
||||
Plan 9 from Bell Labs has recently been converted from ASCII
|
||||
to an ASCII-compatible variant of Unicode, a 16-bit character set.
|
||||
In this paper we explain the reasons for the change,
|
||||
describe the character set and representation we chose,
|
||||
and present the programming models and software changes
|
||||
that support the new text format.
|
||||
Although we stopped short of full internationalization\(emfor
|
||||
example, system error messages are in Unixese, not Japanese\(emwe
|
||||
believe Plan 9 is the first system to treat the representation
|
||||
of all major languages on a uniform, equal footing throughout all its
|
||||
software.
|
||||
.AE
|
||||
.SH
|
||||
Introduction
|
||||
.PP
|
||||
The world is multilingual but most computer systems
|
||||
are based on English and ASCII or worse.
|
||||
The pending release of Plan 9 [Pike90], a new distributed operating
|
||||
system from Bell Laboratories, seemed a good occasion
|
||||
to correct this chauvinism.
|
||||
It is easier to make such deep changes when building new systems than
|
||||
by retrofitting old ones.
|
||||
.PP
|
||||
The ANSI C standard [ANSIC] contains some guidance on the matter of
|
||||
`wide' and `multi-byte' characters but falls far short of
|
||||
solving the myriad associated problems.
|
||||
We could find no literature on how to convert a
|
||||
.I system
|
||||
to larger character sets, although some individual
|
||||
.I programs
|
||||
have been converted.
|
||||
This paper reports what we discovered as we
|
||||
explored the problem of representing multilingual
|
||||
145
src/cmd/tcs/ex6.utf
Normal file
145
src/cmd/tcs/ex6.utf
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
簫肓ο汗板正ω
|
||||
﹁﹁牴喃亭樅苔待于廷把閏 ☐淚誓毗
|
||||
|
||||
半搽碌士外征w莽尹夔花,╔簫肓╝巨城Γㄤ外Εο閏籀征絆祖傳沼.Ρ<>
|
||||
拖子稀征ㄓ世ΞΡ芋˙ㄓ丙閏,科志戊闕算褕蜥Ε希夔缺征腎坏ㄒ斐,先散咒工
|
||||
猜碌Γw紫╔久迴證決Ε切新掖闕欣征冶肓╝.半Ε希叱副ˎ搽諭ˎ舨窪汗菅Υ
|
||||
油刨戊水件亭揭Υ征醜夔,ㄒ縫郭堝Ε希夔缺征喃巳決唉才腎彪,脈戊丕w斥淑
|
||||
孓Υ╔球擱╝ㄖ販凹 .
|
||||
|
||||
先齊釗ㄓ舨缶菅征Εν<CE95>命,Ε希夔缺科志征嘰保ㄤ芋閏籀征籀鮭,叼社弟
|
||||
呶邃謙; 硿苔楮ˎ扒錘荐Η亭宗汗; 楹橘五決盔汎仙<E6B18E>吏槳丫製咄決于廷揖,產
|
||||
ㄈ都Υ籀希<EFBFBD>揩,先半╔簫肓╝征ο河都Σ,刨戊共丫水件惕缺.
|
||||
|
||||
z芋ΕοΡ斥閏籀β保半牽皇荐槳Σ子稀.佐鬆征亭迆ㄆ共莊夷ㄈ專間禪取
|
||||
╔惋半丙舨亭宗簫肓ˎ搽諭簫肓ˎ念閏簫肓╝,亮╔城臣舨亭宗搽諭決念閏簫肓
|
||||
征痣w伯簫肓惱虹申衝神╝,枝巨Γㄆ共莊夷征乃鮭.
|
||||
|
||||
半搽諭亭揭ㄓ,ㄣ尋季及ΘΘ外Σ刃外嘰肓征宗您賬腰亭揭,尺征保莊夷ㄓ
|
||||
例滿╔城Γ唔砠河訪外搽諭碌儀橢宵Σ志征ㄒ簫肓包挫╝.申亭宗偎侵<E5818E>炳,砠
|
||||
Γ都丫ㄒ苟淚戊Ε丕漳球缺腕決弋皇茫門征亭宗Θ戾才,濟都丫絲弟窮決鴛含新
|
||||
掖,唔砠慘參,偯交詖亭揖,牽皇半˙ㄓ丙閏花ㄈˊ刖征冶肓,誹唔郁莊睥保ㄓ
|
||||
世甲認抓尺河凶炳嚀舨窪寺詫決舨ㄩ佗炬寺雜征闕濮借扯,仆絲烏叩由瓜皂人妨
|
||||
丫寺詫.
|
||||
|
||||
旦才,城匠牽斥閏籀╔丫腕ρ╝,半閏籀子稀色士外切睬麥窗惱缺簣凹睬缺
|
||||
歪伶子稀Εο躬牠嶇芣閏籀征既頹窄祉砠丫Εο,人<>色鋒石抓製莽做圾褒友征
|
||||
敖諂瓷瓷昆澹取訛滌丫亭更,產保╔Σ祠祁╝,繭夷Εο刁拗決亭更牠缸ㄒ邕惕
|
||||
缺.w冬陰坏征牴喃亭更牠缸迪弋切,工桌刷芾惱坏杉抓洎抆,斕尋牽序產保呸
|
||||
郝協簫肓征ο科沼.
|
||||
|
||||
|
||||
|
||||
闕濮濟歪待ㄓ世算褕蜥
|
||||
|
||||
牽壽祖臥歪伶簫肓征拗惋,ㄒ終保˙弋花亭競郾郾婪蒞征滄區偎侵.先牴喃
|
||||
ο褒庇咸怒吱ㄓ<EFBFBD>怒吱缸盔<EFBFBD>磴漬城,ㄓ世亭競戊胸鮭,岔枋工包˙弋,申士外
|
||||
咄際粱夔裯麴何ο.几阿丫,ㄓ世都丫╔簫肓縛畋w<E7958B>╝保半士外ΞΔ<CE9E>咄際粱
|
||||
夔ㄖ窪,例人牽唧<E789BD>算褕蜥甲認念閏乃敬半ㄓ舨征惱虹胸鮭.盔<>磴滿: ╔几疫
|
||||
戊腆冬漬城,念閏乃敬半咄際丐參Γ,惋半工戊窮ㄓ舨.╝申惋借舨紙砝征搽諭
|
||||
怒吱含敖沼w涪迴槳ㄓ舨歪惱虹珞志,仆絲歪戊昆麥征亭宗念閏簫肓醒詫.
|
||||
|
||||
盔<>磴漬城佐鬆征ㄆ共莊夷保貊夕越洮βㄒ汎唳芣痣,扼灌拗惋半搽諭<E690BD>炳
|
||||
,枝保城伶簫肓ο汗申鏃姘戟麥吊島.盔<>磴滿: ╔牽保w父板只ˎ越洮征莊夷
|
||||
,仙借<E4BB99>俑Γ算褕蜥賂石ㄇ征簫肓決叱丙刨戊去ο杳<CEBF>.╝
|
||||
|
||||
半牽壽河都Σ,ㄓ舨算褕蜥半亭宗Υ岔刨戊水件鈕征興夔偎侵,工保季及久
|
||||
迴詖亭ˎ專砠慘參決鴛織新掖揖由<EFBFBD>姍,豳人洮臾證半Ε切<CE95>尺ㄓ征祁杳.例人
|
||||
,˙ㄓ丙閏都丫Γ歪久迴證新鴛織,訶瓷歪常Η荐蜥,久迴姍抆摺證ㄩ嘟媼; 申
|
||||
亭迆莊夷β迴槳久迴詖亭,專砠慘參,外拖ㄈ稀甸ˊ刖w含丘削樺涿永ο修,睫
|
||||
祖w蜥征戊紜鯛睥瓷昆淑炬謙,人<>杭唉弈凰昌修科弈昆瘩交亭氫<E4BAAD>揖,產半Ε
|
||||
ο閏籀子稀河漳球Γ鴨菅.
|
||||
|
||||
牽序偎侵產ㄒ保鈕瞭希帖.士外z<E5A496>迅亭宗汗β猜碌Γ歪秘╔z氏希╝,先
|
||||
巨俸叼件力Ε檮嘔; 例人借希湃樅缸鞋ρ窈枝滿: ╔ㄓ世戊序希保ㄒ貴秘征,叼
|
||||
切乃ˎ劻競; 戊征保貴秘申秘ㄒ抓征,迤亞枝階城戊洎,絆去保槳賬wΣ忠覲<E5BFA0>
|
||||
ρ征嚇昌.╝亮賂Υ津亭宗偎侵桌囝簫肓Ε<E88293>,几漬城共及戊洎.
|
||||
|
||||
盔<>磴漬城,ㄓ世半ㄒ陰劻競Σ,β貴ㄒ丫ㄟ緊鈕<E7B78A>姍,牽序偎侵賂煤冶亭
|
||||
宗寺汗岔ㄒ妞茲,先╔戊餡<E6888A>刨戊叩╝.几滿: ╔Ξ外佗炬ㄓ,ㄓ舨世悵證征絆
|
||||
ο歙漢,保巨Γw皇ㄒ炬沖征證,w皇位歷征證.╝例人牽序初訛ㄓ世簑址腎敖
|
||||
征偎侵昆熒志滿濟保戊及征.
|
||||
|
||||
ㄒ碌,把伊樅怫漬城,Υ津偎侵甸斜工保熔各共及,桌囝簫肓亭競征闕濮濟
|
||||
半協搽諭,工歪搽諭叩,戟麥ㄩ念閏枝ㄒ閏丫惋ㄟ緊胸鮭.保人佐鬆征亭迆ㄆ共
|
||||
莊夷ㄓβ滿: ╔亭宗簫肓決念閏簫肓保河都,搽諭簫肓保荐薯,翳俾抓迅,仆絲
|
||||
粥ㄓ寨Μ色舨切搽諭辜Υ士.╝申˙ㄓ丙閏征ˊ刖,β迴槳╔色舨切搽諭辜Υ士
|
||||
,臣疫術桌心協ㄒ參ㄖ仟.╝
|
||||
|
||||
|
||||
|
||||
亭宗偎侵俸及戊洎
|
||||
|
||||
牽斥Εο閏籀ㄣ尋迴槳宗您賬腰亭揭.例擋宗您賬腰,保眨賂碌儀搽諭痣交
|
||||
征嶇頭決槳賬散鉍偎侵.也隹停抆念閏餡端伶ˎ茫門嶇征杳猴ˎ縛頭w栘久ㄆㄆ
|
||||
閑決閨草瓢例,色鈕蓄瑙昌決友悵Μ槳劻戟晉瓷昂決專您ˊ尢揖揖.牽紫亭揭半
|
||||
ΘΘ外胎<EFBFBD>于蕨委閏籀ㄓ函呢(樅怫擋滲斯筆半照斥閏籀ㄓ淑話競),眨賂滲斯筆
|
||||
逞亭麥窗征久聿稀劻亭揭褕星搽諭碌儀,杳猴ο蓄,帖綵銅髡ˎ鄉檄ˎ蕭都ㄖ炤
|
||||
弋珞申段肓示ㄤ.
|
||||
|
||||
佐鬆亭迆ㄆ共莊夷決殆牠乃水硿苔楮征搽諭莊夷,產迴槳璨尋宗您賬腰戊w
|
||||
肓巨俸,先念閏端伶ㄣ尋檻ο,悵閑散鉍槳賬德遊,搽諭俸島負揖胸鮭ㄣ兮煤冶
|
||||
,亮宗您賬腰ㄣ城尺Σ例端.先仙借,天協井莽屑爽決石士外Β<E5A496>人志ㄆ閑友悵
|
||||
╔傲沆╝,猖鏘˙皇<CB99>列蓄昆宦示氟蓄昆,亮塘汗<E5A198>Π冶肓劻嚕瘓俾,蓄久杳猴.
|
||||
|
||||
賂Υ津征搽諭亭揭,盔<>磴漬城餡征<E9A4A1>冬保賂征,<2C>找保縛頭猜椅<E78C9C>炳筵巨
|
||||
么,帖綵簫肓Σ志,狐井ㄓ列布Η怫友哄睫城簫肓.睪伺<E79DAA>炳,搽諭亭揭ㄓ牯歪
|
||||
ㄖ紙Α惱虹睪閑,都祖睪紜悵泠征布檄綵決簫肓睪閑友悵瑙倖征綵剜決忘興,牽
|
||||
產彷睪切友哄睫城簫肓.
|
||||
|
||||
旦才,半宗您賬腰碌揩ㄓ崗別楊花征痠鍚爻閑(士外畋痊ΓΡ瓜愈苔),友悵
|
||||
ο洪淑洽拎匆睪伺,盔<>磴漬城璨尋閏戊Εㄒ飽,先睪伺夕人來杉牽檻ο征友悵
|
||||
Μ,璨尋ㄒ閏╔惱睢╝,先戊荐六板稱,篌ㄒ朮; 亮砠枋戊石尋吧苜,囝沼念閏
|
||||
ㄒ閏戊ο缺錢,申寨戍怫拎匆睪閑友悵俸恿β閏都祖.
|
||||
|
||||
ㄒ碌,賂痠鍚爻閑ο皓畋痊球巨征念閏俸咒,員閏褒砝搽諭含紜擦赳瘦順控
|
||||
枝ㄒ叼旦閥騾,几漬城色丐閑ο洪滌抓睪伺,保色念閏仗輝睪伺<E79DAA>,申ΒΞ外刁
|
||||
衹丫惋術閑祖計麥,睪伺絀Μ難難婪缺,彼咳ㄣ保餌比征胸鮭.
|
||||
|
||||
示協劻嚕杳猴,樅怫血湃宦去.盔<>磴枝漬城,牽保歪伶戟麥ㄩ征亭宗簫肓
|
||||
,ㄋ肄Γ昆麥征搽諭惱虹亭揭,包城蓄久猴啼力ㄒ掬出唔焜散鉍,興照杉抓崗別
|
||||
征痠鍚爻閑枸巡喘翌,友悵駐縛征淬泠,ㄒ鋒尊各搽諭俸島都祖,β尊各槳賬悵
|
||||
閑散競,何洮歪征,保閏球巨猜椅丕臥丫惋.
|
||||
|
||||
希資Υ,ㄆ閑傲沆決井莽屑爽岔枋包嶇頭亭揭申褕星 (ΘΒ外淬啼<E6B7AC>搽諭碌
|
||||
儀征ΘΘ外濟歪蓄久瓜<EFBFBD>ㄖΞz),申保唧<E4BF9D>悵泠散鉍摺唔焜散鉍ㄒ掬,先ㄆ共莊
|
||||
夷ㄓ油兮戊都丫佗晾散鉍征扼灌偎侵,保宗鉼ㄒ宗六征秘姍.佐鬆半Ρ<E58D8A>父舨紙
|
||||
砝丙灌閏籀Υㄈ都丫半Υ刃外征戟麥窗仆絲艮醜列蓄昆征汗炳,牽斕尋保歪╔叩
|
||||
叩棡棡╝征亭宗甲認包挫芒去.
|
||||
|
||||
|
||||
|
||||
搽諭亭揭夕彆門戟麥簫肓
|
||||
|
||||
牽壽亭宗裯麴搽諭惱虹征陛妳筵力Ε賦誤,鞋ρ窈枝漬城,色搽諭亭揭亭宗
|
||||
<EFBFBD>保去外志兮戊煤冶征胸鮭.賂搽諭亭揭征ㄒ仙賁圾,ㄒ桌及切乃決恢褒征冶揭
|
||||
碌揩煤冶,申保ㄛ彥到巡,宦示及Γ半亭宗Υ仍畋賂<E7958B>征秘姍,球巨碌士訪外溧
|
||||
搽諭亭揭<EFBFBD><EFBFBD>蹈蹈,去斥歙丐址輝.
|
||||
|
||||
几漬城,偯缺佗炬決嫡您搽諭絲ㄛ彥眩出,先碌邦ㄒ仙痺彈征Εㄛ彥唔朕賂
|
||||
<EFBFBD>征寨Μ,抓Γㄤ<CE93>,璨尋興照保都丫佗炬征借枇,先ㄈ刨戊Ε儀<CE95>痣交佗炬,
|
||||
樂泣璣樂枝半亭宗Υ戊胸鮭.例人,歪佗夔牽皇陛妳,濟保歪亭宗灌抆Υ佗炬.
|
||||
|
||||
旦才,鞋ρ窈璨尋β蹙仙瓷父搽諭亭揭,先油檮嘔Ε切賂╔碌訪外嶇<E5A496>ρ╝
|
||||
戊件<EFBFBD>興.几漬城租叼亭迆征祁杳祖,Ε切夕做杉w珞納嶇學軒,先塘Ε切簽邕
|
||||
牽皇岔ㄒ保城几疫憾墅吊征亭迆借,枝ㄒ做杉碌嶇<E7A28C>ρΓ. 几漬城尺河ㄓ舨征
|
||||
搽諭虎虎絆端歪w皇戊祁杳征亭競,先惋帕油虎虎彥<E8998E>,牽保殉轅ㄖ氫.租某半
|
||||
Θ弋ˎΘㄜ外痣交嶇頭,Ε切枝夕人做杉.ㄒ碌,盔<>磴油漬城,半尺河吏橘豌
|
||||
征陛妳Σ,ㄒ鞭偕β邕偕,包城ㄓ舨惱虹<E683B1>五決搽諭奢氏列,ㄒ桌窮界歷<E7958C>輓駢
|
||||
鈴.
|
||||
|
||||
餡隹申坏,鞋ρ窈漬城半ΔˎΡ外窗歪彆門搽諭Υ征拗炳簫肓ㄒ雜,搽諭Υ
|
||||
<EFBFBD>夔缺決列蓄昆保絆╔簫破╝征秘姍,Ε切β夕人做杉.几漬城牽賂佐鬆亭競征
|
||||
桌Μ申坏β保璀塘征,汎唳半戊敔駐Σ辜丫友輝.先几油阿丫,ㄓ舨亭競綁wˎ
|
||||
把外枝閏逼娑神岱w惠,例人,樂β雜倖抓ㄓ世Π閏囝╔丕w斥石婀╝.
|
||||
|
||||
申盔<E794B3>磴沼任殆尺河征槳賬亭揭閏彆門弋ˎㄜ外,先麥窗閏戊<E9968F>蹈,忌叼半
|
||||
塘外鄉檄駁犀邕征耗泠彷及沌麥碌花,唔焜Μ閏丕丫惋,杳猴衹閏半Σ刃外丕斥
|
||||
布頭.几甸斜漬城仆絲歪戊w皇簫肓汗炳,ㄏ夕色搽諭寺雜遊遊唔煤.搽諭醒詫
|
||||
簫肓,Ε切枝夕人做杉.几β彥杳半碌w叛借窗花,塘亭宗ˎ念閏決搽諭睫城簫
|
||||
肓借,亭宗Υ衹閏劻嚕,<2C>姍保決郝河w銖,王半Εο閏籀劻蜜坏樅.丁待取外
|
||||
征Εο閏籀戊囝佗痣地!
|
||||
|
||||
|
||||
|
||||
|
||||
89
src/cmd/tcs/font/bbits.c
Normal file
89
src/cmd/tcs/font/bbits.c
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <libg.h>
|
||||
#include <bio.h>
|
||||
#include "hdr.h"
|
||||
|
||||
enum {
|
||||
Charsperfont = 157,
|
||||
Void1b = (0xC6-0xA2)*Charsperfont+0x3f,
|
||||
Void1e = (0xC9-0xA2)*Charsperfont - 1 ,
|
||||
};
|
||||
|
||||
Bitmap *
|
||||
breadbits(char *file, int n, long *chars, int size, uchar *bits, int **doneptr)
|
||||
{
|
||||
Bitmap *bm;
|
||||
Biobuf *bf;
|
||||
int i, j, byt;
|
||||
int nch;
|
||||
long c;
|
||||
uchar *b, *nbits;
|
||||
int *done;
|
||||
static uchar missing[32] = {0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
uchar buf[32];
|
||||
|
||||
bf = Bopen(file, OREAD);
|
||||
if(bf == 0){
|
||||
fprint(2, "%s: %s: %r\n", argv0, file);
|
||||
exits("bitfile open error");
|
||||
}
|
||||
done = (int *)malloc(n*sizeof(done[0]));
|
||||
if(done == 0){
|
||||
fprint(2, "%s: malloc error (%d bytes)\n", argv0, n);
|
||||
exits("malloc error");
|
||||
}
|
||||
*doneptr = done;
|
||||
byt = size/8;
|
||||
nch = 0;
|
||||
for(i = 0; i < n; i++){
|
||||
done[i] = 1;
|
||||
nch++;
|
||||
c = chars[i];
|
||||
if((c >= Void1b) && (c <= Void1e)){
|
||||
done[i] = 0;
|
||||
nch--;
|
||||
continue;
|
||||
}
|
||||
/* magic via presotto for calculating the seek */
|
||||
j = c;
|
||||
if(c >= 2*Charsperfont)
|
||||
j += 294; /* baffling hole between A3 and A4 */
|
||||
if(c > Void1e)
|
||||
j -= 3*Charsperfont - 0x3F;
|
||||
j *= byt*size; /* bytes per char */
|
||||
j += 256; /* 256 front matter */
|
||||
Bseek(bf, j, 0);
|
||||
Bread(bf, buf, sizeof(missing));
|
||||
if(memcmp(buf, missing, sizeof(missing)) == 0){
|
||||
done[i] = 0;
|
||||
nch--;
|
||||
continue;
|
||||
}
|
||||
Bseek(bf, j, 0);
|
||||
b = bits + i*byt;
|
||||
for(j = 0; j < size; j++){ /* rows */
|
||||
Bread(bf, b, byt);
|
||||
b += n*byt;
|
||||
}
|
||||
}
|
||||
nbits = (uchar *)malloc(nch*byt*size);
|
||||
if(nbits == 0){
|
||||
fprint(2, "%s: malloc error (%d bytes)\n", argv0, nch*byt);
|
||||
exits("malloc error");
|
||||
}
|
||||
c = 0;
|
||||
for(i = 0; i < n; i++)
|
||||
if(done[i]){
|
||||
for(j = 0; j < size; j++)
|
||||
memmove(nbits+c*byt+j*nch*byt, bits+i*byt+j*n*byt, byt);
|
||||
c++;
|
||||
}
|
||||
bm = balloc((Rectangle){(Point){0, 0}, (Point){nch*size, size}}, 0);
|
||||
if(bm == 0){
|
||||
fprint(2, "%s: balloc failure\n", argv0);
|
||||
exits("balloc failure");
|
||||
}
|
||||
wrbitmap(bm, 0, size, nbits);
|
||||
return(bm);
|
||||
}
|
||||
34
src/cmd/tcs/font/bmap.c
Normal file
34
src/cmd/tcs/font/bmap.c
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <bio.h>
|
||||
#include <libg.h>
|
||||
#include "hdr.h"
|
||||
#include "../big5.h"
|
||||
|
||||
/*
|
||||
map: put big5 for runes from..to into chars
|
||||
*/
|
||||
|
||||
void
|
||||
bmap(int from, int to, long *chars)
|
||||
{
|
||||
long *l, *ll;
|
||||
int k, k1, n;
|
||||
|
||||
for(n = from; n <= to; n++)
|
||||
chars[n-from] = 0;
|
||||
for(l = tabbig5, ll = tabbig5+BIG5MAX; l < ll; l++)
|
||||
if((*l >= from) && (*l <= to))
|
||||
chars[*l-from] = l-tabbig5;
|
||||
k = 0;
|
||||
k1 = 0; /* not necessary; just shuts ken up */
|
||||
for(n = from; n <= to; n++)
|
||||
if(chars[n-from] == 0){
|
||||
k++;
|
||||
k1 = n;
|
||||
}
|
||||
if(k){
|
||||
fprint(2, "%s: %d/%d chars found (missing include 0x%x=%d)\n", argv0, (to-from+1-k), to-from+1, k1, k1);
|
||||
/*exits("map problem");/**/
|
||||
}
|
||||
}
|
||||
34
src/cmd/tcs/font/font.c
Normal file
34
src/cmd/tcs/font/font.c
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <libg.h>
|
||||
#include <bio.h>
|
||||
#include "hdr.h"
|
||||
|
||||
Subfont *
|
||||
bf(int n, int size, Bitmap *b, int *done)
|
||||
{
|
||||
Fontchar *fc;
|
||||
int i, j;
|
||||
Subfont *f;
|
||||
|
||||
fc = (Fontchar *)malloc(sizeof(Fontchar)*(n+1));
|
||||
if(fc == 0){
|
||||
fprint(2, "%s: fontchar malloc(%d) failure\n", argv0, sizeof(Fontchar)*(n+1));
|
||||
exits("fontchar malloc failure");
|
||||
}
|
||||
j = 0;
|
||||
for(i = 0; i <= n; i++){
|
||||
fc[i] = (Fontchar){j, 0, size, 0, size};
|
||||
if(done[i])
|
||||
j += size;
|
||||
else
|
||||
fc[i].width = 0;
|
||||
}
|
||||
fc[n] = (Fontchar){j, 0, size, 0, size};
|
||||
f = subfalloc(n, size, size*7/8, fc, b, ~0, ~0);
|
||||
if(f == 0){
|
||||
fprint(2, "%s: falloc failure\n", argv0);
|
||||
exits("falloc failure");
|
||||
}
|
||||
return(f);
|
||||
}
|
||||
137
src/cmd/tcs/font/gbits.c
Normal file
137
src/cmd/tcs/font/gbits.c
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <libg.h>
|
||||
#include <bio.h>
|
||||
#include "hdr.h"
|
||||
|
||||
/*
|
||||
this file reads bdf fonts. it is mapping dependent in that the ENCODING
|
||||
field is font dependent.
|
||||
*/
|
||||
|
||||
static char *field(Biobuf *, char *);
|
||||
|
||||
Bitmap *
|
||||
greadbits(char *file, int n, long *chars, int size, uchar *bits, int **doneptr)
|
||||
{
|
||||
Bitmap *bm;
|
||||
Biobuf *bf;
|
||||
char *p, *s;
|
||||
long kmin, kmax;
|
||||
int i, j, byt;
|
||||
int nch;
|
||||
long c;
|
||||
uchar *b;
|
||||
int *done;
|
||||
uchar *nbits;
|
||||
char buf[1024]; /* big enough for one char! */
|
||||
static int dig[256] = {
|
||||
['0'] 0, ['1'] 1, ['2'] 2, ['3'] 3, ['4'] 4, ['5'] 5, ['6'] 6, ['7'] 7,
|
||||
['8'] 8, ['9'] 9, ['a'] 10, ['b'] 11, ['c'] 12, ['d'] 13, ['e'] 14, ['f'] 15,
|
||||
};
|
||||
|
||||
bf = Bopen(file, OREAD);
|
||||
if(bf == 0){
|
||||
fprint(2, "%s: %s: %r\n", argv0, file);
|
||||
exits("bitfile open error");
|
||||
}
|
||||
done = (int *)malloc(n*sizeof(done[0]));
|
||||
if(done == 0){
|
||||
fprint(2, "%s: malloc error (%d bytes)\n", argv0, n);
|
||||
exits("malloc error");
|
||||
}
|
||||
*doneptr = done;
|
||||
memset(done, 0, n*sizeof(done[0]));
|
||||
kmin = 65536;
|
||||
kmax = 0;
|
||||
for(i = 0; i < n; i++){
|
||||
c = chars[i];
|
||||
if(kmin > c)
|
||||
kmin = c;
|
||||
if(kmax < c)
|
||||
kmax = c;
|
||||
}
|
||||
nch = 0;
|
||||
byt = size/8;
|
||||
for(;;){
|
||||
while(s = Brdline(bf, '\n')){
|
||||
if(strncmp(s, "STARTCHAR", 9) == 0)
|
||||
break;
|
||||
}
|
||||
if(s == 0)
|
||||
break;
|
||||
s = field(bf, "ENCODING");
|
||||
c = strtol(s, (char **)0, 10);
|
||||
c = (c/256 - 0xA0)*100 + (c%256 - 0xA0);
|
||||
field(bf, "BITMAP");
|
||||
p = buf;
|
||||
for(i = 0; i < size; i++){ /* rows */
|
||||
if((s = Brdline(bf, '\n')) == 0){
|
||||
exits("bad bdf");
|
||||
}
|
||||
memcpy(p, s, 2*byt);
|
||||
p += 2*byt;
|
||||
}
|
||||
field(bf, "ENDCHAR");
|
||||
if((c < kmin) || (c > kmax))
|
||||
continue;
|
||||
for(i = 0; i < n; i++)
|
||||
if(c == chars[i]){
|
||||
nch++;
|
||||
done[i] = 1;
|
||||
p = buf;
|
||||
b = bits + i*byt;
|
||||
for(i = 0; i < size; i++){ /* rows */
|
||||
for(j = 0; j < byt; j++){
|
||||
*b++ = (dig[*p]<<4) | dig[p[1]];
|
||||
p += 2;
|
||||
}
|
||||
b += (n-1)*byt;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
nbits = (uchar *)malloc(nch*byt*size);
|
||||
if(nbits == 0){
|
||||
fprint(2, "%s: malloc error (%d bytes)\n", argv0, nch*byt);
|
||||
exits("malloc error");
|
||||
}
|
||||
c = 0;
|
||||
for(i = 0; i < n; i++)
|
||||
if(done[i]){
|
||||
for(j = 0; j < size; j++)
|
||||
memmove(nbits+c*byt+j*nch*byt, bits+i*byt+j*n*byt, byt);
|
||||
c++;
|
||||
}
|
||||
bm = balloc((Rectangle){(Point){0, 0}, (Point){nch*size, size}}, 0);
|
||||
if(bm == 0){
|
||||
fprint(2, "%s: balloc failure\n", argv0);
|
||||
exits("balloc failure");
|
||||
}
|
||||
wrbitmap(bm, 0, size, nbits);
|
||||
for(i = 0; i < n; i++)
|
||||
if(done[i] == 0){
|
||||
/*fprint(2, "char 0x%x (%d) not found\n", chars[i], chars[i]);/**/
|
||||
}
|
||||
return(bm);
|
||||
}
|
||||
|
||||
static char *
|
||||
field(Biobuf *bf, char *name)
|
||||
{
|
||||
char *s;
|
||||
int n;
|
||||
|
||||
n = strlen(name);
|
||||
while(s = Brdline(bf, '\n')){
|
||||
if(strncmp(s, name, n) == 0)
|
||||
return(s+n);
|
||||
if(strncmp(s, "ENDCHAR", 7) == 0){
|
||||
fprint(2, "%s: char missing %s field\n", argv0, name);
|
||||
exits("bad bdf");
|
||||
}
|
||||
}
|
||||
fprint(2, "%s: char missing %s field; unexpected EOF\n", argv0, name);
|
||||
exits("bad bdf");
|
||||
return(0);
|
||||
}
|
||||
34
src/cmd/tcs/font/gmap.c
Normal file
34
src/cmd/tcs/font/gmap.c
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <bio.h>
|
||||
#include <libg.h>
|
||||
#include "hdr.h"
|
||||
#include "../gb.h"
|
||||
|
||||
/*
|
||||
map: put gb for runes from..to into chars
|
||||
*/
|
||||
|
||||
void
|
||||
gmap(int from, int to, long *chars)
|
||||
{
|
||||
long *l, *ll;
|
||||
int k, k1, n;
|
||||
|
||||
for(n = from; n <= to; n++)
|
||||
chars[n-from] = 0;
|
||||
for(l = tabgb, ll = tabgb+GBMAX; l < ll; l++)
|
||||
if((*l >= from) && (*l <= to))
|
||||
chars[*l-from] = l-tabgb;
|
||||
k = 0;
|
||||
k1 = 0; /* not necessary; just shuts ken up */
|
||||
for(n = from; n <= to; n++)
|
||||
if(chars[n-from] == 0){
|
||||
k++;
|
||||
k1 = n;
|
||||
}
|
||||
if(k){
|
||||
fprint(2, "%s: %d/%d chars found (missing include 0x%x=%d)\n", argv0, (to-from+1-k), to-from+1, k1, k1);
|
||||
/*exits("map problem");/**/
|
||||
}
|
||||
}
|
||||
11
src/cmd/tcs/font/hdr.h
Normal file
11
src/cmd/tcs/font/hdr.h
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
typedef Bitmap *readbitsfn(char *, int, long *, int, uchar *, int **);
|
||||
typedef void mapfn(int, int, long *);
|
||||
|
||||
extern Bitmap *kreadbits(char *file, int nc, long *chars, int size, uchar *bits, int **);
|
||||
extern void kmap(int from, int to, long *chars);
|
||||
extern Bitmap *breadbits(char *file, int nc, long *chars, int size, uchar *bits, int **);
|
||||
extern void bmap(int from, int to, long *chars);
|
||||
extern Bitmap *greadbits(char *file, int nc, long *chars, int size, uchar *bits, int **);
|
||||
extern void gmap(int from, int to, long *chars);
|
||||
extern Bitmap *qreadbits(char *file, int nc, long *chars, int size, uchar *bits, int **);
|
||||
extern Subfont *bf(int n, int size, Bitmap *b, int *);
|
||||
93
src/cmd/tcs/font/kbits.c
Normal file
93
src/cmd/tcs/font/kbits.c
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <libg.h>
|
||||
#include <bio.h>
|
||||
#include "hdr.h"
|
||||
|
||||
Bitmap *
|
||||
kreadbits(char *file, int n, long *chars, int size, uchar *bits, int **doneptr)
|
||||
{
|
||||
Bitmap *bm;
|
||||
Biobuf *bf;
|
||||
char *p;
|
||||
long kmin, kmax;
|
||||
int i, j, byt;
|
||||
int nch;
|
||||
long c;
|
||||
uchar *b;
|
||||
int *done;
|
||||
uchar *nbits;
|
||||
static int dig[256] = {
|
||||
['0'] 0, ['1'] 1, ['2'] 2, ['3'] 3, ['4'] 4, ['5'] 5, ['6'] 6, ['7'] 7,
|
||||
['8'] 8, ['9'] 9, ['a'] 10, ['b'] 11, ['c'] 12, ['d'] 13, ['e'] 14, ['f'] 15,
|
||||
};
|
||||
|
||||
bf = Bopen(file, OREAD);
|
||||
if(bf == 0){
|
||||
fprint(2, "%s: %s: %r\n", argv0, file);
|
||||
exits("bitfile open error");
|
||||
}
|
||||
done = (int *)malloc(n*sizeof(done[0]));
|
||||
if(done == 0){
|
||||
fprint(2, "%s: malloc error (%d bytes)\n", argv0, n);
|
||||
exits("malloc error");
|
||||
}
|
||||
*doneptr = done;
|
||||
memset(done, 0, n*sizeof(done[0]));
|
||||
kmin = 65536;
|
||||
kmax = 0;
|
||||
for(i = 0; i < n; i++){
|
||||
c = chars[i];
|
||||
if(kmin > c)
|
||||
kmin = c;
|
||||
if(kmax < c)
|
||||
kmax = c;
|
||||
}
|
||||
nch = 0;
|
||||
byt = size/8;
|
||||
Brdline(bf, '\n'); /* header line 1 */
|
||||
Brdline(bf, '\n'); /* header line 2 */
|
||||
while(p = (char *)Brdline(bf, '\n')){
|
||||
c = strtol(p+17, (char **)0, 10);
|
||||
if((c < kmin) || (c > kmax))
|
||||
continue;
|
||||
for(i = 0; i < n; i++)
|
||||
if(c == chars[i]){
|
||||
nch++;
|
||||
done[i] = 1;
|
||||
p += 25;
|
||||
b = bits + i*byt;
|
||||
for(i = 0; i < size; i++){ /* rows */
|
||||
for(j = 0; j < byt; j++){
|
||||
*b++ = (dig[*p]<<4) | dig[p[1]];
|
||||
p += 2;
|
||||
}
|
||||
b += (n-1)*byt;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
nbits = (uchar *)malloc(nch*byt*size);
|
||||
if(nbits == 0){
|
||||
fprint(2, "%s: malloc error (%d bytes)\n", argv0, nch*byt);
|
||||
exits("malloc error");
|
||||
}
|
||||
c = 0;
|
||||
for(i = 0; i < n; i++)
|
||||
if(done[i]){
|
||||
for(j = 0; j < size; j++)
|
||||
memmove(nbits+c*byt+j*nch*byt, bits+i*byt+j*n*byt, byt);
|
||||
c++;
|
||||
}
|
||||
bm = balloc((Rectangle){(Point){0, 0}, (Point){nch*size, size}}, 0);
|
||||
if(bm == 0){
|
||||
fprint(2, "%s: balloc failure\n", argv0);
|
||||
exits("balloc failure");
|
||||
}
|
||||
wrbitmap(bm, 0, size, nbits);
|
||||
for(i = 0; i < n; i++)
|
||||
if(done[i] == 0){
|
||||
/*fprint(2, "char 0x%x (%d) not found\n", chars[i], chars[i]);/**/
|
||||
}
|
||||
return(bm);
|
||||
}
|
||||
34
src/cmd/tcs/font/kmap.c
Normal file
34
src/cmd/tcs/font/kmap.c
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <bio.h>
|
||||
#include <libg.h>
|
||||
#include "hdr.h"
|
||||
#include "../kuten208.h"
|
||||
|
||||
/*
|
||||
map: put kuten for runes from..to into chars
|
||||
*/
|
||||
|
||||
void
|
||||
kmap(int from, int to, long *chars)
|
||||
{
|
||||
long *l, *ll;
|
||||
int k, k1, n;
|
||||
|
||||
for(n = from; n <= to; n++)
|
||||
chars[n-from] = 0;
|
||||
for(l = tabkuten208, ll = tabkuten208+KUTEN208MAX; l < ll; l++)
|
||||
if((*l >= from) && (*l <= to))
|
||||
chars[*l-from] = l-tabkuten208;
|
||||
k = 0;
|
||||
k1 = 0; /* not necessary; just shuts ken up */
|
||||
for(n = from; n <= to; n++)
|
||||
if(chars[n-from] == 0){
|
||||
k++;
|
||||
k1 = n;
|
||||
}
|
||||
if(k){
|
||||
fprint(2, "%s: %d/%d chars found (missing include 0x%x=%d)\n", argv0, (to-from+1-k), to-from+1, k1, k1);
|
||||
/*exits("map problem");/**/
|
||||
}
|
||||
}
|
||||
87
src/cmd/tcs/font/main.c
Normal file
87
src/cmd/tcs/font/main.c
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <libg.h>
|
||||
#include <bio.h>
|
||||
#include "hdr.h"
|
||||
|
||||
/*
|
||||
produces the bitmap for the designated han characters
|
||||
*/
|
||||
|
||||
static void usage(void);
|
||||
enum { Jis = 0, Big5, Gb_bdf, Gb_qw };
|
||||
enum { Size24 = 0, Size16 };
|
||||
struct {
|
||||
char *names[2];
|
||||
mapfn *mfn;
|
||||
readbitsfn *bfn;
|
||||
} source[] = {
|
||||
[Jis] { "../han/jis.bits", "../han/jis16.bits", kmap, kreadbits },
|
||||
[Big5] { "no 24 bit file", "../han/big5.16.bits", bmap, breadbits },
|
||||
[Gb_bdf] { "no 24 bit file", "../han/cclib16fs.bdf", gmap, greadbits },
|
||||
[Gb_qw] { "no 24 bit file", "no 16bit file", gmap, qreadbits },
|
||||
};
|
||||
|
||||
void
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int from, to;
|
||||
int size = 24;
|
||||
int src = Jis;
|
||||
char *file = 0;
|
||||
long nc, nb;
|
||||
int x;
|
||||
uchar *bits;
|
||||
long *chars;
|
||||
int raw = 0;
|
||||
Bitmap *b, *b1;
|
||||
Subfont *f;
|
||||
int *found;
|
||||
|
||||
ARGBEGIN{
|
||||
case 'f': file = ARGF(); break;
|
||||
case 'r': raw = 1; break;
|
||||
case '5': src = Big5; break;
|
||||
case 's': size = 16; break;
|
||||
case 'g': src = Gb_bdf; break;
|
||||
case 'q': src = Gb_qw; break;
|
||||
default: usage();
|
||||
}ARGEND
|
||||
if(file == 0)
|
||||
file = source[src].names[(size==24)? Size24:Size16];
|
||||
if(argc != 2)
|
||||
usage();
|
||||
from = strtol(argv[0], (char **)0, 0);
|
||||
to = strtol(argv[1], (char **)0, 0);
|
||||
binit(0, 0, "fontgen");
|
||||
nc = to-from+1;
|
||||
nb = size*size/8; /* bytes per char */
|
||||
nb *= nc;
|
||||
bits = (uchar *)malloc(nb);
|
||||
chars = (long *)malloc(sizeof(long)*nc);
|
||||
found = (int *)malloc(sizeof(found[0])*nc);
|
||||
if(bits == 0 || chars == 0){
|
||||
fprint(2, "%s: couldn't malloc %d bytes for %d chars\n", argv0, nb, nc);
|
||||
exits("out of memory");
|
||||
}
|
||||
if(raw){
|
||||
for(x = from; x <= to; x++)
|
||||
chars[x-from] = x;
|
||||
} else
|
||||
source[src].mfn(from, to, chars);
|
||||
memset(bits, 0, nb);
|
||||
b = source[src].bfn(file, nc, chars, size, bits, &found);
|
||||
b1 = balloc(b->r, b->ldepth);
|
||||
bitblt(b1, b1->r.min, b, b->r, S);
|
||||
f = bf(nc, size, b1, found);
|
||||
wrbitmapfile(1, b);
|
||||
wrsubfontfile(1, f);/**/
|
||||
exits(0);
|
||||
}
|
||||
|
||||
static void
|
||||
usage(void)
|
||||
{
|
||||
fprint(2, "Usage: %s [-s] from to\n", argv0);
|
||||
exits("usage");
|
||||
}
|
||||
127
src/cmd/tcs/font/merge.c
Normal file
127
src/cmd/tcs/font/merge.c
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <libg.h>
|
||||
#include <bio.h>
|
||||
|
||||
static void usage(void);
|
||||
static void snarf(char *, int);
|
||||
static void choose(Fontchar *, Bitmap *, int, int, int);
|
||||
struct {
|
||||
char *name;
|
||||
Bitmap *bm;
|
||||
Subfont *sf;
|
||||
} ft[1024];
|
||||
int nf;
|
||||
|
||||
void
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int i, errs;
|
||||
Fontchar *fc;
|
||||
Bitmap *b;
|
||||
int nc, ht, as;
|
||||
Subfont *f;
|
||||
|
||||
binit(0, 0, "font merge");
|
||||
if(argc < 1)
|
||||
usage();
|
||||
nf = argc-1;
|
||||
for(i = 0; i < nf; i++)
|
||||
snarf(argv[i+1], i);
|
||||
nc = ft[0].sf->n;
|
||||
ht = ft[0].sf->height;
|
||||
as = ft[0].sf->ascent;
|
||||
errs = 0;
|
||||
for(i = 0; i < nf; i++){
|
||||
if(nc < ft[i].sf->n) nc = ft[i].sf->n;
|
||||
if(ht != ft[1].sf->height){
|
||||
fprint(2, "%s: %s.height=%d (!= %s.height=%d)\n", argv[0],
|
||||
ft[i].name, ft[i].sf->height, ft[0].name, ht);
|
||||
errs = 1;
|
||||
}
|
||||
if(as != ft[1].sf->ascent){
|
||||
fprint(2, "%s: %s.ascent=%d (!= %s.ascent=%d)\n", argv[0],
|
||||
ft[i].name, ft[i].sf->ascent, ft[0].name, ht);
|
||||
errs = 1;
|
||||
}
|
||||
}
|
||||
if(errs)
|
||||
exits("param mismatch");
|
||||
fc = (Fontchar *)malloc(nc*sizeof(Fontchar));
|
||||
b = balloc(Rect(0, 0, nc*64, ht), ft[0].bm->ldepth);
|
||||
if(b == 0 || fc == 0){
|
||||
fprint(2, "%s: couldn't malloc %d chars\n", argv0, nc);
|
||||
exits("out of memory");
|
||||
}
|
||||
bitblt(b, b->r.min, b, b->r, Zero);
|
||||
choose(fc, b, nc, ht, as);
|
||||
wrbitmapfile(1, b);
|
||||
bitblt(&screen, screen.r.min, b, b->r, S); bflush();sleep(5000);
|
||||
f = subfalloc(nc, ht, as, fc, b, ~0, ~0);
|
||||
wrsubfontfile(1, f);
|
||||
exits(0);
|
||||
}
|
||||
|
||||
static void
|
||||
usage(void)
|
||||
{
|
||||
fprint(2, "Usage: %s file ...\n", argv0);
|
||||
exits("usage");
|
||||
}
|
||||
|
||||
static void
|
||||
snarf(char *name, int i)
|
||||
{
|
||||
int fd;
|
||||
Bitmap *b;
|
||||
|
||||
ft[i].name = name;
|
||||
if((fd = open(name, OREAD)) < 0){
|
||||
perror(name);
|
||||
exits("font read");
|
||||
}
|
||||
if((b = rdbitmapfile(fd)) == 0){
|
||||
fprint(2, "rdbitmapfile failed\n");
|
||||
exits("font read");
|
||||
}
|
||||
if((ft[i].bm = balloc(b->r, b->ldepth)) == 0){
|
||||
fprint(2, "ballocsnarf failed\n");
|
||||
exits("font read");
|
||||
}
|
||||
bitblt(ft[i].bm, b->r.min, b, b->r, S);
|
||||
if((ft[i].sf = rdsubfontfile(fd, b)) == 0){
|
||||
fprint(2, "rdsubfontfile failed\n");
|
||||
exits("font read");
|
||||
}
|
||||
close(fd);
|
||||
}
|
||||
|
||||
static void
|
||||
choose(Fontchar *f, Bitmap *b, int nc, int ht, int as)
|
||||
{
|
||||
int j;
|
||||
Fontchar *info;
|
||||
int lastx = 0;
|
||||
int w, n;
|
||||
|
||||
for(n = 0; n < nc; n++, f++){
|
||||
f->x = lastx;
|
||||
for(j = 0; j < nf; j++){
|
||||
if(n >= ft[j].sf->n)
|
||||
continue;
|
||||
info = ft[j].sf->info;
|
||||
if(info[n+1].x != info[n].x)
|
||||
goto found;
|
||||
}
|
||||
continue;
|
||||
found:
|
||||
f->left = info[n].left;
|
||||
f->top = info[n].top;
|
||||
f->bottom = info[n].bottom;
|
||||
f->width = info[n].width;
|
||||
w = info[n+1].x - info[n].x;
|
||||
bitblt(b, Pt(0, lastx), ft[j].bm, Rect(0, info[n].x, ht, info[n+1].x), S);
|
||||
lastx += w;
|
||||
}
|
||||
f->x = lastx;
|
||||
}
|
||||
103
src/cmd/tcs/font/mkfile
Normal file
103
src/cmd/tcs/font/mkfile
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
<$PLAN9/src/mkhdr
|
||||
NPROC=3
|
||||
|
||||
OBJ=main.$O font.$O \
|
||||
kmap.$O kbits.$O kuten208.$O \
|
||||
bmap.$O bbits.$O big5.$O \
|
||||
gmap.$O gbits.$O qbits.$O gb.$O
|
||||
|
||||
$O.out: $OBJ
|
||||
$LD $prereq -lbio -lg
|
||||
|
||||
%.$O: %.c
|
||||
$CC -w $stem.c
|
||||
|
||||
$O: hdr.h
|
||||
|
||||
kuten208.$O: ../kuten208.c
|
||||
$CC -I.. -w ../kuten208.c
|
||||
big5.$O: ../big5.c
|
||||
$CC -I.. -w ../big5.c
|
||||
gb.$O: ../gb.c
|
||||
$CC -I.. -w ../gb.c
|
||||
|
||||
kuten208.$O kmap.$O: ../kuten208.h
|
||||
big5.$O bmap.$O: ../big5.h
|
||||
gb.$O gmap.$O: ../gb.h
|
||||
|
||||
clean:V:
|
||||
rm -f [$OS].out *.[$OS] y.tab.? rc.*
|
||||
|
||||
poot:V: merge
|
||||
merge /lib/font/bit/gb/*.7000.24 > /dev/null
|
||||
|
||||
merge: merge.c
|
||||
$CC -w merge.c && vl -o merge merge.$O && rm merge.$O
|
||||
|
||||
fonts:V: v.out rc.jis rc.big5
|
||||
jis.rc
|
||||
big5.rc
|
||||
|
||||
rc.jis:VQD:
|
||||
awk 'BEGIN {
|
||||
fontsize = 512 # set this to chars/subfont
|
||||
dest = "/lib/font/bit/jis"
|
||||
print "#!/bin/rc"
|
||||
printf "v.out -s 0x3000 0x303f > %s/jis3000.16\n", dest
|
||||
printf "v.out -s 0x30a1 0x30fe > %s/katakana.16\n", dest
|
||||
printf "v.out -s 0x3041 0x309e > %s/hiragana.16\n", dest
|
||||
printf "v.out 0x3000 0x303f > %s/jis3000.24\n", dest
|
||||
printf "v.out 0x30a1 0x30fe > %s/katakana.24\n", dest
|
||||
printf "v.out 0x3041 0x309e > %s/hiragana.24\n", dest
|
||||
for(i = 19968; i < 40865; i += fontsize)
|
||||
printf "v.out -s 0x%x 0x%x > %s/jis%x.16\n", i, i+fontsize-1, dest, i
|
||||
for(i = 19968; i < 40865; i += fontsize)
|
||||
printf "v.out 0x%x 0x%x > %s/jis%x.24\n", i, i+fontsize-1, dest, i
|
||||
exit
|
||||
}' > $target
|
||||
chmod 775 $target
|
||||
|
||||
rc.big5:VQD:
|
||||
awk 'BEGIN {
|
||||
fontsize = 512 # set this to chars/subfont
|
||||
dest = "/lib/font/bit/big5"
|
||||
print "#!/bin/rc"
|
||||
for(i = 19968; i < 40869; i += fontsize)
|
||||
printf "v.out -5 -s 0x%x 0x%x > %s/%x.16\n", i, i+fontsize-1, dest, i
|
||||
exit
|
||||
}' > $target
|
||||
chmod 775 $target
|
||||
|
||||
rc.gb:VQD:
|
||||
fn g{
|
||||
x=$1
|
||||
y=$2
|
||||
z=$3
|
||||
awk 'BEGIN {
|
||||
fontsize = 512 # set this to chars/subfont
|
||||
dest = "/lib/font/bit/gb/'$"x'."
|
||||
opt = "'$"y'"
|
||||
sz = "'$"z'"
|
||||
print "#!/bin/rc"
|
||||
printf "v.out %s 0x3000 0x303f > %s3000.%s\n", opt, dest, sz
|
||||
printf "v.out %s 0x30a1 0x30fe > %skatakana.%s\n", opt, dest, sz
|
||||
printf "v.out %s 0x3041 0x309e > %shiragana.%s\n", opt, dest, sz
|
||||
printf "v.out %s 0x3100 0x312f > %sbopomofo.%s\n", opt, dest, sz
|
||||
printf "v.out %s 0x3200 0x32ff > %s3200.%s\n", opt, dest, sz
|
||||
for(i = 19968; i < 40869; i += fontsize)
|
||||
printf "v.out %s 0x%x 0x%x > %s%x.%s\n", opt, i, i+fontsize-1, dest, i, sz
|
||||
exit
|
||||
}'
|
||||
}
|
||||
{
|
||||
g TradSong '-q -f ../han/cfan24.ccf' 24
|
||||
g FangSong '-q -f ../han/cfang24.ccf' 24
|
||||
g Hei '-q -f ../han/chei24.ccf' 24
|
||||
g Kai '-q -f ../han/ckai24.ccf' 24
|
||||
g Song '-q -f ../han/csong24.ccf' 24
|
||||
g Song '-g -s -f ../han/cclib16st.bdf' 16
|
||||
g FangSong '-g -s -f ../han/cclib16fs.bdf' 16
|
||||
} > $target
|
||||
chmod 775 $target
|
||||
|
||||
<$PLAN9/src/mkmany
|
||||
93
src/cmd/tcs/font/qbits.c
Normal file
93
src/cmd/tcs/font/qbits.c
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <libg.h>
|
||||
#include <bio.h>
|
||||
#include "hdr.h"
|
||||
|
||||
/* quwei encoding for gb */
|
||||
|
||||
Bitmap *
|
||||
qreadbits(char *file, int n, long *chars, int size, uchar *bits, int **doneptr)
|
||||
{
|
||||
Bitmap *bm;
|
||||
Biobuf *bf;
|
||||
char *p;
|
||||
long kmin, kmax;
|
||||
int i, j, byt;
|
||||
int nch;
|
||||
long c;
|
||||
uchar *b;
|
||||
int *done;
|
||||
uchar *nbits;
|
||||
static int dig[256] = {
|
||||
['0'] 0, ['1'] 1, ['2'] 2, ['3'] 3, ['4'] 4, ['5'] 5, ['6'] 6, ['7'] 7,
|
||||
['8'] 8, ['9'] 9, ['a'] 10, ['b'] 11, ['c'] 12, ['d'] 13, ['e'] 14, ['f'] 15,
|
||||
};
|
||||
|
||||
bf = Bopen(file, OREAD);
|
||||
if(bf == 0){
|
||||
fprint(2, "%s: %s: %r\n", argv0, file);
|
||||
exits("bitfile open error");
|
||||
}
|
||||
done = (int *)malloc(n*sizeof(done[0]));
|
||||
if(done == 0){
|
||||
fprint(2, "%s: malloc error (%d bytes)\n", argv0, n);
|
||||
exits("malloc error");
|
||||
}
|
||||
*doneptr = done;
|
||||
memset(done, 0, n*sizeof(done[0]));
|
||||
kmin = 65536;
|
||||
kmax = 0;
|
||||
for(i = 0; i < n; i++){
|
||||
c = chars[i];
|
||||
if(kmin > c)
|
||||
kmin = c;
|
||||
if(kmax < c)
|
||||
kmax = c;
|
||||
}
|
||||
nch = 0;
|
||||
byt = size/8;
|
||||
while(p = (char *)Brdline(bf, '\n')){
|
||||
c = (p[0]-'0')*1000 + (p[1]-'0')*100 + (p[2]-'0')*10 + (p[3]-'0');
|
||||
if((c < kmin) || (c > kmax))
|
||||
continue;
|
||||
for(i = 0; i < n; i++)
|
||||
if(c == chars[i]){
|
||||
nch++;
|
||||
done[i] = 1;
|
||||
p += 5;
|
||||
b = bits + i*byt;
|
||||
for(i = 0; i < size; i++){ /* rows */
|
||||
for(j = 0; j < byt; j++){
|
||||
*b++ = (dig[*p]<<4) | dig[p[1]];
|
||||
p += 2;
|
||||
}
|
||||
b += (n-1)*byt;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
nbits = (uchar *)malloc(nch*byt*size);
|
||||
if(nbits == 0){
|
||||
fprint(2, "%s: malloc error (%d bytes)\n", argv0, nch*byt);
|
||||
exits("malloc error");
|
||||
}
|
||||
c = 0;
|
||||
for(i = 0; i < n; i++)
|
||||
if(done[i]){
|
||||
for(j = 0; j < size; j++)
|
||||
memmove(nbits+c*byt+j*nch*byt, bits+i*byt+j*n*byt, byt);
|
||||
c++;
|
||||
}
|
||||
bm = balloc((Rectangle){(Point){0, 0}, (Point){nch*size, size}}, 0);
|
||||
if(bm == 0){
|
||||
fprint(2, "%s: balloc failure\n", argv0);
|
||||
exits("balloc failure");
|
||||
}
|
||||
wrbitmap(bm, 0, size, nbits);
|
||||
for(i = 0; i < n; i++)
|
||||
if(done[i] == 0){
|
||||
/*fprint(2, "char 0x%x (%d) not found\n", chars[i], chars[i]);/**/
|
||||
}
|
||||
return(bm);
|
||||
}
|
||||
1104
src/cmd/tcs/gb.c
Normal file
1104
src/cmd/tcs/gb.c
Normal file
File diff suppressed because it is too large
Load diff
7
src/cmd/tcs/gb.h
Normal file
7
src/cmd/tcs/gb.h
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
/*
|
||||
gb ranges from a1a1 to f7fe inclusive
|
||||
we use a kuten-like mapping the above range to 101-8794
|
||||
*/
|
||||
#define GBMAX 8795
|
||||
|
||||
extern long tabgb[GBMAX]; /* runes indexed by gb ordinal */
|
||||
46
src/cmd/tcs/hdr.h
Normal file
46
src/cmd/tcs/hdr.h
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
extern int squawk;
|
||||
extern int clean;
|
||||
extern char *file;
|
||||
extern int verbose;
|
||||
extern long ninput, noutput, nrunes, nerrors;
|
||||
|
||||
enum { From = 1, Table = 2, Func = 4 };
|
||||
|
||||
typedef void (*Fnptr)(void);
|
||||
struct convert{
|
||||
char *name;
|
||||
char *chatter;
|
||||
int flags;
|
||||
void *data;
|
||||
Fnptr fn;
|
||||
};
|
||||
extern struct convert convert[];
|
||||
struct convert *conv(char *, int);
|
||||
typedef void (*Infn)(int, long *, struct convert *);
|
||||
typedef void (*Outfn)(Rune *, int, long *);
|
||||
void outtable(Rune *, int, long *);
|
||||
|
||||
void utf_in(int, long *, struct convert *);
|
||||
void utf_out(Rune *, int, long *);
|
||||
void isoutf_in(int, long *, struct convert *);
|
||||
void isoutf_out(Rune *, int, long *);
|
||||
|
||||
#define N 10000 /* just blocking */
|
||||
#define OUT(out, r, n) if(out->flags&Table) outtable(r, n, (long *)out->data);\
|
||||
else ((Outfn)(out->fn))(r, n, (long *)0)
|
||||
|
||||
extern Rune runes[N];
|
||||
extern char obuf[UTFmax*N]; /* maximum bloat from N runes */
|
||||
|
||||
#define BADMAP (0xFFFD)
|
||||
#define BYTEBADMAP ('?') /* badmap but has to fit in a byte */
|
||||
#define ESC 033
|
||||
|
||||
#ifdef PLAN9
|
||||
#define EPR fprint(2,
|
||||
#define EXIT(n,s) exits(s)
|
||||
#else
|
||||
#define EPR fprintf(stderr,
|
||||
#define USED(x) /* in plan 9, USED(x) tells the compiler to treat x as used */
|
||||
#define EXIT(n,s) exit(n)
|
||||
#endif
|
||||
107
src/cmd/tcs/jis.h
Normal file
107
src/cmd/tcs/jis.h
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
/*
|
||||
following astonishing goo courtesy of kogure.
|
||||
*/
|
||||
/*
|
||||
* MicroSoft Kanji Encoding (SJIS) Transformation
|
||||
*/
|
||||
|
||||
/*
|
||||
* void
|
||||
* J2S(unsigned char *_h, unsigned char *_l)
|
||||
* JIS X 208 to MS kanji transformation.
|
||||
*
|
||||
* Calling/Exit State:
|
||||
* _h and _l should be in their valid range.
|
||||
* No return value.
|
||||
*/
|
||||
#define J2S(_h, _l) { \
|
||||
/* lower: 21-7e >> 40-9d,9e-fb >> 40-7e,(skip 7f),80-fc */ \
|
||||
if (((_l) += (((_h)-- % 2) ? 0x1f : 0x7d)) > 0x7e) (_l)++; \
|
||||
/* upper: 21-7e >> 81-af >> 81-9f,(skip a0-df),e0-ef */ \
|
||||
if (((_h) = ((_h) / 2 + 0x71)) > 0x9f) (_h) += 0x40; \
|
||||
}
|
||||
|
||||
/*
|
||||
* void
|
||||
* S2J(unsigned char *_h, unsigned char *_l)
|
||||
* MS kanji to JIS X 208 transformation.
|
||||
*
|
||||
* Calling/Exit State:
|
||||
* _h and _l should be in valid range.
|
||||
* No return value.
|
||||
*/
|
||||
#define S2J(_h, _l) { \
|
||||
/* lower: 40-7e,80-fc >> 21-5f,61-dd >> 21-7e,7f-dc */ \
|
||||
if (((_l) -= 0x1f) > 0x60) (_l)--; \
|
||||
/* upper: 81-9f,e0-ef >> 00-1e,5f-6e >> 00-2e >> 21-7d */ \
|
||||
if (((_h) -= 0x81) > 0x5e) (_h) -= 0x40; (_h) *= 2, (_h) += 0x21; \
|
||||
/* upper: ,21-7d >> ,22-7e ; lower: ,7f-dc >> ,21-7e */ \
|
||||
if ((_l) > 0x7e) (_h)++, (_l) -= 0x5e; \
|
||||
}
|
||||
|
||||
/*
|
||||
* int
|
||||
* ISJKANA(const unsigned char *_b)
|
||||
* Tests given byte is in the range of JIS X 0201 katakana.
|
||||
*
|
||||
* Calling/Exit State:
|
||||
* Returns 1 if it is, or 0 otherwise.
|
||||
*/
|
||||
#define ISJKANA(_b) (0xa0 <= (_b) && (_b) < 0xe0)
|
||||
|
||||
/*
|
||||
* int
|
||||
* CANS2JH(const unsigned char *_h)
|
||||
* Tests given byte is in the range of valid first byte of MS
|
||||
* kanji code; either acts as a subroutine of CANS2J() macro
|
||||
* or can be used to parse MS kanji encoded strings.
|
||||
*
|
||||
* Calling/Exit State:
|
||||
* Returns 1 if it is, or 0 otherwise.
|
||||
*/
|
||||
#define CANS2JH(_h) ((0x81 <= (_h) && (_h) < 0xf0) && !ISJKANA(_h))
|
||||
|
||||
/*
|
||||
* int
|
||||
* CANS2JL(const unsigned char *_l)
|
||||
* Tests given byte is in the range of valid second byte of MS
|
||||
* kanji code; acts as a subroutine of CANS2J() macro.
|
||||
*
|
||||
* Calling/Exit State:
|
||||
* Returns 1 if it is, or 0 otherwise.
|
||||
*/
|
||||
#define CANS2JL(_l) (0x40 <= (_l) && (_l) < 0xfd && (_l) != 0x7f)
|
||||
|
||||
/*
|
||||
* int
|
||||
* CANS2J(const unsigned char *_h, const unsinged char *_l)
|
||||
* Tests given bytes form a MS kanji code point which can be
|
||||
* transformed to a valid JIS X 208 code point.
|
||||
*
|
||||
* Calling/Exit State:
|
||||
* Returns 1 if they are, or 0 otherwise.
|
||||
*/
|
||||
#define CANS2J(_h, _l) (CANS2JH(_h) && CANS2JL(_l))
|
||||
|
||||
/*
|
||||
* int
|
||||
* CANJ2SB(const unsigned char *_b)
|
||||
* Tests given bytes is in the range of valid 94 graphic
|
||||
* character set; acts as a subroutine of CANJ2S() macro.
|
||||
*
|
||||
* Calling/Exit State:
|
||||
* Returns 1 if it is, or 0 otherwise.
|
||||
*/
|
||||
#define CANJ2SB(_b) (0x21 <= (_b) && (_b) < 0x7f)
|
||||
|
||||
/*
|
||||
* int
|
||||
* CANJ2S(const unsigned char *_h, const unsigned char *_l)
|
||||
* Tests given bytes form valid JIS X 208 code points
|
||||
* (which can be transformed to MS kanji).
|
||||
*
|
||||
* Calling/Exit State:
|
||||
* Returns 1 if they are, or 0 otherwise.
|
||||
*/
|
||||
#define CANJ2S(_h, _l) (CANJ2SB(_h) && CANJ2SB(_l))
|
||||
|
||||
988
src/cmd/tcs/ksc.c
Normal file
988
src/cmd/tcs/ksc.c
Normal file
|
|
@ -0,0 +1,988 @@
|
|||
#include "ksc.h"
|
||||
|
||||
/* KSC5601 -> Unicode mapping table, compressed for the 94*94 codeset. */
|
||||
/*
|
||||
* Unlike kuten-table, needed offset is 33 (0x21) instead of
|
||||
* 32 for 7-bit portion of each byte. i.e., a Unicode
|
||||
* codepoint for KSC's codepoint (n, m) would be found at
|
||||
* index (n-33)*94+m-33.
|
||||
*/
|
||||
long tabksc5601[] = {
|
||||
/* KSC 5601 -> Unicode mapping table; max codepoint = 0x7d7e */
|
||||
0x3000, 0x3001, 0x3002, 0x00b7, 0x2025, 0x2026, 0x00a8, 0x3003, 0x00ad,
|
||||
0x2015, 0x2225, 0xff3c, 0x223c, 0x2018, 0x2019, 0x201c, 0x201d, 0x3014,
|
||||
0x3015, 0x3008, 0x3009, 0x300a, 0x300b, 0x300c, 0x300d, 0x300e, 0x300f,
|
||||
0x3010, 0x3011, 0x00b1, 0x00d7, 0x00f7, 0x2260, 0x2264, 0x2265, 0x221e,
|
||||
0x2234, 0x00b0, 0x2032, 0x2033, 0x2103, 0x212b, 0xffe0, 0xffe1, 0xffe5,
|
||||
0x2642, 0x2640, 0x2220, 0x22a5, 0x2312, 0x2202, 0x2207, 0x2261, 0x2252,
|
||||
0x00a7, 0x203b, 0x2606, 0x2605, 0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x25c6,
|
||||
0x25a1, 0x25a0, 0x25b3, 0x25b2, 0x25bd, 0x25bc, 0x2192, 0x2190, 0x2191,
|
||||
0x2193, 0x2194, 0x3013, 0x226a, 0x226b, 0x221a, 0x223d, 0x221d, 0x2235,
|
||||
0x222b, 0x222c, 0x2208, 0x220b, 0x2286, 0x2287, 0x2282, 0x2283, 0x222a,
|
||||
0x2229, 0x2227, 0x2228, 0xffe2, 0x21d2, 0x21d4, 0x2200, 0x2203, 0x00b4,
|
||||
0xff5e, 0x02c7, 0x02d8, 0x02dd, 0x02da, 0x02d9, 0x00b8, 0x02db, 0x00a1,
|
||||
0x00bf, 0x02d0, 0x222e, 0x2211, 0x220f, 0x00a4, 0x2109, 0x2030, 0x25c1,
|
||||
0x25c0, 0x25b7, 0x25b6, 0x2664, 0x2660, 0x2661, 0x2665, 0x2667, 0x2663,
|
||||
0x25c9, 0x25c8, 0x25a3, 0x25d0, 0x25d1, 0x2592, 0x25a4, 0x25a5, 0x25a8,
|
||||
0x25a7, 0x25a6, 0x25a9, 0x2668, 0x260f, 0x260e, 0x261c, 0x261e, 0x00b6,
|
||||
0x2020, 0x2021, 0x2195, 0x2197, 0x2199, 0x2196, 0x2198, 0x266d, 0x2669,
|
||||
0x266a, 0x266c, 0x327f, 0x321c, 0x2116, 0x33c7, 0x2122, 0x33c2, 0x33d8,
|
||||
0x2121, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, 0xff01,
|
||||
0xff02, 0xff03, 0xff04, 0xff05, 0xff06, 0xff07, 0xff08, 0xff09, 0xff0a,
|
||||
0xff0b, 0xff0c, 0xff0d, 0xff0e, 0xff0f, 0xff10, 0xff11, 0xff12, 0xff13,
|
||||
0xff14, 0xff15, 0xff16, 0xff17, 0xff18, 0xff19, 0xff1a, 0xff1b, 0xff1c,
|
||||
0xff1d, 0xff1e, 0xff1f, 0xff20, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25,
|
||||
0xff26, 0xff27, 0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e,
|
||||
0xff2f, 0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37,
|
||||
0xff38, 0xff39, 0xff3a, 0xff3b, 0xffe6, 0xff3d, 0xff3e, 0xff3f, 0xff40,
|
||||
0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47, 0xff48, 0xff49,
|
||||
0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f, 0xff50, 0xff51, 0xff52,
|
||||
0xff53, 0xff54, 0xff55, 0xff56, 0xff57, 0xff58, 0xff59, 0xff5a, 0xff5b,
|
||||
0xff5c, 0xff5d, 0xffe3, 0x3131, 0x3132, 0x3133, 0x3134, 0x3135, 0x3136,
|
||||
0x3137, 0x3138, 0x3139, 0x313a, 0x313b, 0x313c, 0x313d, 0x313e, 0x313f,
|
||||
0x3140, 0x3141, 0x3142, 0x3143, 0x3144, 0x3145, 0x3146, 0x3147, 0x3148,
|
||||
0x3149, 0x314a, 0x314b, 0x314c, 0x314d, 0x314e, 0x314f, 0x3150, 0x3151,
|
||||
0x3152, 0x3153, 0x3154, 0x3155, 0x3156, 0x3157, 0x3158, 0x3159, 0x315a,
|
||||
0x315b, 0x315c, 0x315d, 0x315e, 0x315f, 0x3160, 0x3161, 0x3162, 0x3163,
|
||||
0x3164, 0x3165, 0x3166, 0x3167, 0x3168, 0x3169, 0x316a, 0x316b, 0x316c,
|
||||
0x316d, 0x316e, 0x316f, 0x3170, 0x3171, 0x3172, 0x3173, 0x3174, 0x3175,
|
||||
0x3176, 0x3177, 0x3178, 0x3179, 0x317a, 0x317b, 0x317c, 0x317d, 0x317e,
|
||||
0x317f, 0x3180, 0x3181, 0x3182, 0x3183, 0x3184, 0x3185, 0x3186, 0x3187,
|
||||
0x3188, 0x3189, 0x318a, 0x318b, 0x318c, 0x318d, 0x318e, 0x2170, 0x2171,
|
||||
0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, -1,
|
||||
-1, -1, -1, -1, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164,
|
||||
0x2165, 0x2166, 0x2167, 0x2168, 0x2169, -1, -1, -1, -1,
|
||||
-1, -1, -1, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396,
|
||||
0x0397, 0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
|
||||
0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, 0x03b1,
|
||||
0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba,
|
||||
0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c4,
|
||||
0x03c5, 0x03c6, 0x03c7, 0x03c8, 0x03c9, -1, -1, -1, -1,
|
||||
-1, -1, 0x2500, 0x2502, 0x250c, 0x2510, 0x2518, 0x2514, 0x251c,
|
||||
0x252c, 0x2524, 0x2534, 0x253c, 0x2501, 0x2503, 0x250f, 0x2513, 0x251b,
|
||||
0x2517, 0x2523, 0x2533, 0x252b, 0x253b, 0x254b, 0x2520, 0x252f, 0x2528,
|
||||
0x2537, 0x253f, 0x251d, 0x2530, 0x2525, 0x2538, 0x2542, 0x2512, 0x2511,
|
||||
0x251a, 0x2519, 0x2516, 0x2515, 0x250e, 0x250d, 0x251e, 0x251f, 0x2521,
|
||||
0x2522, 0x2526, 0x2527, 0x2529, 0x252a, 0x252d, 0x252e, 0x2531, 0x2532,
|
||||
0x2535, 0x2536, 0x2539, 0x253a, 0x253d, 0x253e, 0x2540, 0x2541, 0x2543,
|
||||
0x2544, 0x2545, 0x2546, 0x2547, 0x2548, 0x2549, 0x254a, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, 0x3395, 0x3396, 0x3397,
|
||||
0x2113, 0x3398, 0x33c4, 0x33a3, 0x33a4, 0x33a5, 0x33a6, 0x3399, 0x339a,
|
||||
0x339b, 0x339c, 0x339d, 0x339e, 0x339f, 0x33a0, 0x33a1, 0x33a2, 0x33ca,
|
||||
0x338d, 0x338e, 0x338f, 0x33cf, 0x3388, 0x3389, 0x33c8, 0x33a7, 0x33a8,
|
||||
0x33b0, 0x33b1, 0x33b2, 0x33b3, 0x33b4, 0x33b5, 0x33b6, 0x33b7, 0x33b8,
|
||||
0x33b9, 0x3380, 0x3381, 0x3382, 0x3383, 0x3384, 0x33ba, 0x33bb, 0x33bc,
|
||||
0x33bd, 0x33be, 0x33bf, 0x3390, 0x3391, 0x3392, 0x3393, 0x3394, 0x2126,
|
||||
0x33c0, 0x33c1, 0x338a, 0x338b, 0x338c, 0x33d6, 0x33c5, 0x33ad, 0x33ae,
|
||||
0x33af, 0x33db, 0x33a9, 0x33aa, 0x33ab, 0x33ac, 0x33dd, 0x33d0, 0x33d3,
|
||||
0x33c3, 0x33c9, 0x33dc, 0x33c6, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, 0x00c6, 0x00d0, 0x00aa, 0x0126, -1, 0x0132, -1, 0x013f,
|
||||
0x0141, 0x00d8, 0x0152, 0x00ba, 0x00de, 0x0166, 0x014a, -1, 0x3260,
|
||||
0x3261, 0x3262, 0x3263, 0x3264, 0x3265, 0x3266, 0x3267, 0x3268, 0x3269,
|
||||
0x326a, 0x326b, 0x326c, 0x326d, 0x326e, 0x326f, 0x3270, 0x3271, 0x3272,
|
||||
0x3273, 0x3274, 0x3275, 0x3276, 0x3277, 0x3278, 0x3279, 0x327a, 0x327b,
|
||||
0x24d0, 0x24d1, 0x24d2, 0x24d3, 0x24d4, 0x24d5, 0x24d6, 0x24d7, 0x24d8,
|
||||
0x24d9, 0x24da, 0x24db, 0x24dc, 0x24dd, 0x24de, 0x24df, 0x24e0, 0x24e1,
|
||||
0x24e2, 0x24e3, 0x24e4, 0x24e5, 0x24e6, 0x24e7, 0x24e8, 0x24e9, 0x2460,
|
||||
0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469,
|
||||
0x246a, 0x246b, 0x246c, 0x246d, 0x246e, 0x00bd, 0x2153, 0x2154, 0x00bc,
|
||||
0x00be, 0x215b, 0x215c, 0x215d, 0x215e, 0x00e6, 0x0111, 0x00f0, 0x0127,
|
||||
0x0131, 0x0133, 0x0138, 0x0140, 0x0142, 0x00f8, 0x0153, 0x00df, 0x00fe,
|
||||
0x0167, 0x014b, 0x0149, 0x3200, 0x3201, 0x3202, 0x3203, 0x3204, 0x3205,
|
||||
0x3206, 0x3207, 0x3208, 0x3209, 0x320a, 0x320b, 0x320c, 0x320d, 0x320e,
|
||||
0x320f, 0x3210, 0x3211, 0x3212, 0x3213, 0x3214, 0x3215, 0x3216, 0x3217,
|
||||
0x3218, 0x3219, 0x321a, 0x321b, 0x249c, 0x249d, 0x249e, 0x249f, 0x24a0,
|
||||
0x24a1, 0x24a2, 0x24a3, 0x24a4, 0x24a5, 0x24a6, 0x24a7, 0x24a8, 0x24a9,
|
||||
0x24aa, 0x24ab, 0x24ac, 0x24ad, 0x24ae, 0x24af, 0x24b0, 0x24b1, 0x24b2,
|
||||
0x24b3, 0x24b4, 0x24b5, 0x2474, 0x2475, 0x2476, 0x2477, 0x2478, 0x2479,
|
||||
0x247a, 0x247b, 0x247c, 0x247d, 0x247e, 0x247f, 0x2480, 0x2481, 0x2482,
|
||||
0x00b9, 0x00b2, 0x00b3, 0x2074, 0x207f, 0x2081, 0x2082, 0x2083, 0x2084,
|
||||
0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049,
|
||||
0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f, 0x3050, 0x3051, 0x3052,
|
||||
0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305a, 0x305b,
|
||||
0x305c, 0x305d, 0x305e, 0x305f, 0x3060, 0x3061, 0x3062, 0x3063, 0x3064,
|
||||
0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306a, 0x306b, 0x306c, 0x306d,
|
||||
0x306e, 0x306f, 0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076,
|
||||
0x3077, 0x3078, 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f,
|
||||
0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088,
|
||||
0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f, 0x3090, 0x3091,
|
||||
0x3092, 0x3093, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5,
|
||||
0x30a6, 0x30a7, 0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae,
|
||||
0x30af, 0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7,
|
||||
0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf, 0x30c0,
|
||||
0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7, 0x30c8, 0x30c9,
|
||||
0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf, 0x30d0, 0x30d1, 0x30d2,
|
||||
0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7, 0x30d8, 0x30d9, 0x30da, 0x30db,
|
||||
0x30dc, 0x30dd, 0x30de, 0x30df, 0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4,
|
||||
0x30e5, 0x30e6, 0x30e7, 0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed,
|
||||
0x30ee, 0x30ef, 0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, 0x0410,
|
||||
0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401, 0x0416, 0x0417, 0x0418,
|
||||
0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, 0x0420, 0x0421,
|
||||
0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042a,
|
||||
0x042b, 0x042c, 0x042d, 0x042e, 0x042f, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451,
|
||||
0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e,
|
||||
0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
|
||||
0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, 0x3400, 0x3401, 0x3402,
|
||||
0x3403, 0x3404, 0x3405, 0x3406, 0x3407, 0x3408, 0x3409, 0x340a, 0x340b,
|
||||
0x340c, 0x340d, 0x340e, 0x340f, 0x3410, 0x3411, 0x3412, 0x3413, 0x3414,
|
||||
0x3415, 0x3416, 0x3417, 0x3418, 0x3419, 0x341a, 0x341b, 0x341c, 0x341d,
|
||||
0x341e, 0x341f, 0x3420, 0x3421, 0x3422, 0x3423, 0x3424, 0x3425, 0x3426,
|
||||
0x3427, 0x3428, 0x3429, 0x342a, 0x342b, 0x342c, 0x342d, 0x342e, 0x342f,
|
||||
0x3430, 0x3431, 0x3432, 0x3433, 0x3434, 0x3435, 0x3436, 0x3437, 0x3438,
|
||||
0x3439, 0x343a, 0x343b, 0x343c, 0x343d, 0x343e, 0x343f, 0x3440, 0x3441,
|
||||
0x3442, 0x3443, 0x3444, 0x3445, 0x3446, 0x3447, 0x3448, 0x3449, 0x344a,
|
||||
0x344b, 0x344c, 0x344d, 0x344e, 0x344f, 0x3450, 0x3451, 0x3452, 0x3453,
|
||||
0x3454, 0x3455, 0x3456, 0x3457, 0x3458, 0x3459, 0x345a, 0x345b, 0x345c,
|
||||
0x345d, 0x345e, 0x345f, 0x3460, 0x3461, 0x3462, 0x3463, 0x3464, 0x3465,
|
||||
0x3466, 0x3467, 0x3468, 0x3469, 0x346a, 0x346b, 0x346c, 0x346d, 0x346e,
|
||||
0x346f, 0x3470, 0x3471, 0x3472, 0x3473, 0x3474, 0x3475, 0x3476, 0x3477,
|
||||
0x3478, 0x3479, 0x347a, 0x347b, 0x347c, 0x347d, 0x347e, 0x347f, 0x3480,
|
||||
0x3481, 0x3482, 0x3483, 0x3484, 0x3485, 0x3486, 0x3487, 0x3488, 0x3489,
|
||||
0x348a, 0x348b, 0x348c, 0x348d, 0x348e, 0x348f, 0x3490, 0x3491, 0x3492,
|
||||
0x3493, 0x3494, 0x3495, 0x3496, 0x3497, 0x3498, 0x3499, 0x349a, 0x349b,
|
||||
0x349c, 0x349d, 0x349e, 0x349f, 0x34a0, 0x34a1, 0x34a2, 0x34a3, 0x34a4,
|
||||
0x34a5, 0x34a6, 0x34a7, 0x34a8, 0x34a9, 0x34aa, 0x34ab, 0x34ac, 0x34ad,
|
||||
0x34ae, 0x34af, 0x34b0, 0x34b1, 0x34b2, 0x34b3, 0x34b4, 0x34b5, 0x34b6,
|
||||
0x34b7, 0x34b8, 0x34b9, 0x34ba, 0x34bb, 0x34bc, 0x34bd, 0x34be, 0x34bf,
|
||||
0x34c0, 0x34c1, 0x34c2, 0x34c3, 0x34c4, 0x34c5, 0x34c6, 0x34c7, 0x34c8,
|
||||
0x34c9, 0x34ca, 0x34cb, 0x34cc, 0x34cd, 0x34ce, 0x34cf, 0x34d0, 0x34d1,
|
||||
0x34d2, 0x34d3, 0x34d4, 0x34d5, 0x34d6, 0x34d7, 0x34d8, 0x34d9, 0x34da,
|
||||
0x34db, 0x34dc, 0x34dd, 0x34de, 0x34df, 0x34e0, 0x34e1, 0x34e2, 0x34e3,
|
||||
0x34e4, 0x34e5, 0x34e6, 0x34e7, 0x34e8, 0x34e9, 0x34ea, 0x34eb, 0x34ec,
|
||||
0x34ed, 0x34ee, 0x34ef, 0x34f0, 0x34f1, 0x34f2, 0x34f3, 0x34f4, 0x34f5,
|
||||
0x34f6, 0x34f7, 0x34f8, 0x34f9, 0x34fa, 0x34fb, 0x34fc, 0x34fd, 0x34fe,
|
||||
0x34ff, 0x3500, 0x3501, 0x3502, 0x3503, 0x3504, 0x3505, 0x3506, 0x3507,
|
||||
0x3508, 0x3509, 0x350a, 0x350b, 0x350c, 0x350d, 0x350e, 0x350f, 0x3510,
|
||||
0x3511, 0x3512, 0x3513, 0x3514, 0x3515, 0x3516, 0x3517, 0x3518, 0x3519,
|
||||
0x351a, 0x351b, 0x351c, 0x351d, 0x351e, 0x351f, 0x3520, 0x3521, 0x3522,
|
||||
0x3523, 0x3524, 0x3525, 0x3526, 0x3527, 0x3528, 0x3529, 0x352a, 0x352b,
|
||||
0x352c, 0x352d, 0x352e, 0x352f, 0x3530, 0x3531, 0x3532, 0x3533, 0x3534,
|
||||
0x3535, 0x3536, 0x3537, 0x3538, 0x3539, 0x353a, 0x353b, 0x353c, 0x353d,
|
||||
0x353e, 0x353f, 0x3540, 0x3541, 0x3542, 0x3543, 0x3544, 0x3545, 0x3546,
|
||||
0x3547, 0x3548, 0x3549, 0x354a, 0x354b, 0x354c, 0x354d, 0x354e, 0x354f,
|
||||
0x3550, 0x3551, 0x3552, 0x3553, 0x3554, 0x3555, 0x3556, 0x3557, 0x3558,
|
||||
0x3559, 0x355a, 0x355b, 0x355c, 0x355d, 0x355e, 0x355f, 0x3560, 0x3561,
|
||||
0x3562, 0x3563, 0x3564, 0x3565, 0x3566, 0x3567, 0x3568, 0x3569, 0x356a,
|
||||
0x356b, 0x356c, 0x356d, 0x356e, 0x356f, 0x3570, 0x3571, 0x3572, 0x3573,
|
||||
0x3574, 0x3575, 0x3576, 0x3577, 0x3578, 0x3579, 0x357a, 0x357b, 0x357c,
|
||||
0x357d, 0x357e, 0x357f, 0x3580, 0x3581, 0x3582, 0x3583, 0x3584, 0x3585,
|
||||
0x3586, 0x3587, 0x3588, 0x3589, 0x358a, 0x358b, 0x358c, 0x358d, 0x358e,
|
||||
0x358f, 0x3590, 0x3591, 0x3592, 0x3593, 0x3594, 0x3595, 0x3596, 0x3597,
|
||||
0x3598, 0x3599, 0x359a, 0x359b, 0x359c, 0x359d, 0x359e, 0x359f, 0x35a0,
|
||||
0x35a1, 0x35a2, 0x35a3, 0x35a4, 0x35a5, 0x35a6, 0x35a7, 0x35a8, 0x35a9,
|
||||
0x35aa, 0x35ab, 0x35ac, 0x35ad, 0x35ae, 0x35af, 0x35b0, 0x35b1, 0x35b2,
|
||||
0x35b3, 0x35b4, 0x35b5, 0x35b6, 0x35b7, 0x35b8, 0x35b9, 0x35ba, 0x35bb,
|
||||
0x35bc, 0x35bd, 0x35be, 0x35bf, 0x35c0, 0x35c1, 0x35c2, 0x35c3, 0x35c4,
|
||||
0x35c5, 0x35c6, 0x35c7, 0x35c8, 0x35c9, 0x35ca, 0x35cb, 0x35cc, 0x35cd,
|
||||
0x35ce, 0x35cf, 0x35d0, 0x35d1, 0x35d2, 0x35d3, 0x35d4, 0x35d5, 0x35d6,
|
||||
0x35d7, 0x35d8, 0x35d9, 0x35da, 0x35db, 0x35dc, 0x35dd, 0x35de, 0x35df,
|
||||
0x35e0, 0x35e1, 0x35e2, 0x35e3, 0x35e4, 0x35e5, 0x35e6, 0x35e7, 0x35e8,
|
||||
0x35e9, 0x35ea, 0x35eb, 0x35ec, 0x35ed, 0x35ee, 0x35ef, 0x35f0, 0x35f1,
|
||||
0x35f2, 0x35f3, 0x35f4, 0x35f5, 0x35f6, 0x35f7, 0x35f8, 0x35f9, 0x35fa,
|
||||
0x35fb, 0x35fc, 0x35fd, 0x35fe, 0x35ff, 0x3600, 0x3601, 0x3602, 0x3603,
|
||||
0x3604, 0x3605, 0x3606, 0x3607, 0x3608, 0x3609, 0x360a, 0x360b, 0x360c,
|
||||
0x360d, 0x360e, 0x360f, 0x3610, 0x3611, 0x3612, 0x3613, 0x3614, 0x3615,
|
||||
0x3616, 0x3617, 0x3618, 0x3619, 0x361a, 0x361b, 0x361c, 0x361d, 0x361e,
|
||||
0x361f, 0x3620, 0x3621, 0x3622, 0x3623, 0x3624, 0x3625, 0x3626, 0x3627,
|
||||
0x3628, 0x3629, 0x362a, 0x362b, 0x362c, 0x362d, 0x362e, 0x362f, 0x3630,
|
||||
0x3631, 0x3632, 0x3633, 0x3634, 0x3635, 0x3636, 0x3637, 0x3638, 0x3639,
|
||||
0x363a, 0x363b, 0x363c, 0x363d, 0x363e, 0x363f, 0x3640, 0x3641, 0x3642,
|
||||
0x3643, 0x3644, 0x3645, 0x3646, 0x3647, 0x3648, 0x3649, 0x364a, 0x364b,
|
||||
0x364c, 0x364d, 0x364e, 0x364f, 0x3650, 0x3651, 0x3652, 0x3653, 0x3654,
|
||||
0x3655, 0x3656, 0x3657, 0x3658, 0x3659, 0x365a, 0x365b, 0x365c, 0x365d,
|
||||
0x365e, 0x365f, 0x3660, 0x3661, 0x3662, 0x3663, 0x3664, 0x3665, 0x3666,
|
||||
0x3667, 0x3668, 0x3669, 0x366a, 0x366b, 0x366c, 0x366d, 0x366e, 0x366f,
|
||||
0x3670, 0x3671, 0x3672, 0x3673, 0x3674, 0x3675, 0x3676, 0x3677, 0x3678,
|
||||
0x3679, 0x367a, 0x367b, 0x367c, 0x367d, 0x367e, 0x367f, 0x3680, 0x3681,
|
||||
0x3682, 0x3683, 0x3684, 0x3685, 0x3686, 0x3687, 0x3688, 0x3689, 0x368a,
|
||||
0x368b, 0x368c, 0x368d, 0x368e, 0x368f, 0x3690, 0x3691, 0x3692, 0x3693,
|
||||
0x3694, 0x3695, 0x3696, 0x3697, 0x3698, 0x3699, 0x369a, 0x369b, 0x369c,
|
||||
0x369d, 0x369e, 0x369f, 0x36a0, 0x36a1, 0x36a2, 0x36a3, 0x36a4, 0x36a5,
|
||||
0x36a6, 0x36a7, 0x36a8, 0x36a9, 0x36aa, 0x36ab, 0x36ac, 0x36ad, 0x36ae,
|
||||
0x36af, 0x36b0, 0x36b1, 0x36b2, 0x36b3, 0x36b4, 0x36b5, 0x36b6, 0x36b7,
|
||||
0x36b8, 0x36b9, 0x36ba, 0x36bb, 0x36bc, 0x36bd, 0x36be, 0x36bf, 0x36c0,
|
||||
0x36c1, 0x36c2, 0x36c3, 0x36c4, 0x36c5, 0x36c6, 0x36c7, 0x36c8, 0x36c9,
|
||||
0x36ca, 0x36cb, 0x36cc, 0x36cd, 0x36ce, 0x36cf, 0x36d0, 0x36d1, 0x36d2,
|
||||
0x36d3, 0x36d4, 0x36d5, 0x36d6, 0x36d7, 0x36d8, 0x36d9, 0x36da, 0x36db,
|
||||
0x36dc, 0x36dd, 0x36de, 0x36df, 0x36e0, 0x36e1, 0x36e2, 0x36e3, 0x36e4,
|
||||
0x36e5, 0x36e6, 0x36e7, 0x36e8, 0x36e9, 0x36ea, 0x36eb, 0x36ec, 0x36ed,
|
||||
0x36ee, 0x36ef, 0x36f0, 0x36f1, 0x36f2, 0x36f3, 0x36f4, 0x36f5, 0x36f6,
|
||||
0x36f7, 0x36f8, 0x36f9, 0x36fa, 0x36fb, 0x36fc, 0x36fd, 0x36fe, 0x36ff,
|
||||
0x3700, 0x3701, 0x3702, 0x3703, 0x3704, 0x3705, 0x3706, 0x3707, 0x3708,
|
||||
0x3709, 0x370a, 0x370b, 0x370c, 0x370d, 0x370e, 0x370f, 0x3710, 0x3711,
|
||||
0x3712, 0x3713, 0x3714, 0x3715, 0x3716, 0x3717, 0x3718, 0x3719, 0x371a,
|
||||
0x371b, 0x371c, 0x371d, 0x371e, 0x371f, 0x3720, 0x3721, 0x3722, 0x3723,
|
||||
0x3724, 0x3725, 0x3726, 0x3727, 0x3728, 0x3729, 0x372a, 0x372b, 0x372c,
|
||||
0x372d, 0x372e, 0x372f, 0x3730, 0x3731, 0x3732, 0x3733, 0x3734, 0x3735,
|
||||
0x3736, 0x3737, 0x3738, 0x3739, 0x373a, 0x373b, 0x373c, 0x373d, 0x373e,
|
||||
0x373f, 0x3740, 0x3741, 0x3742, 0x3743, 0x3744, 0x3745, 0x3746, 0x3747,
|
||||
0x3748, 0x3749, 0x374a, 0x374b, 0x374c, 0x374d, 0x374e, 0x374f, 0x3750,
|
||||
0x3751, 0x3752, 0x3753, 0x3754, 0x3755, 0x3756, 0x3757, 0x3758, 0x3759,
|
||||
0x375a, 0x375b, 0x375c, 0x375d, 0x375e, 0x375f, 0x3760, 0x3761, 0x3762,
|
||||
0x3763, 0x3764, 0x3765, 0x3766, 0x3767, 0x3768, 0x3769, 0x376a, 0x376b,
|
||||
0x376c, 0x376d, 0x376e, 0x376f, 0x3770, 0x3771, 0x3772, 0x3773, 0x3774,
|
||||
0x3775, 0x3776, 0x3777, 0x3778, 0x3779, 0x377a, 0x377b, 0x377c, 0x377d,
|
||||
0x377e, 0x377f, 0x3780, 0x3781, 0x3782, 0x3783, 0x3784, 0x3785, 0x3786,
|
||||
0x3787, 0x3788, 0x3789, 0x378a, 0x378b, 0x378c, 0x378d, 0x378e, 0x378f,
|
||||
0x3790, 0x3791, 0x3792, 0x3793, 0x3794, 0x3795, 0x3796, 0x3797, 0x3798,
|
||||
0x3799, 0x379a, 0x379b, 0x379c, 0x379d, 0x379e, 0x379f, 0x37a0, 0x37a1,
|
||||
0x37a2, 0x37a3, 0x37a4, 0x37a5, 0x37a6, 0x37a7, 0x37a8, 0x37a9, 0x37aa,
|
||||
0x37ab, 0x37ac, 0x37ad, 0x37ae, 0x37af, 0x37b0, 0x37b1, 0x37b2, 0x37b3,
|
||||
0x37b4, 0x37b5, 0x37b6, 0x37b7, 0x37b8, 0x37b9, 0x37ba, 0x37bb, 0x37bc,
|
||||
0x37bd, 0x37be, 0x37bf, 0x37c0, 0x37c1, 0x37c2, 0x37c3, 0x37c4, 0x37c5,
|
||||
0x37c6, 0x37c7, 0x37c8, 0x37c9, 0x37ca, 0x37cb, 0x37cc, 0x37cd, 0x37ce,
|
||||
0x37cf, 0x37d0, 0x37d1, 0x37d2, 0x37d3, 0x37d4, 0x37d5, 0x37d6, 0x37d7,
|
||||
0x37d8, 0x37d9, 0x37da, 0x37db, 0x37dc, 0x37dd, 0x37de, 0x37df, 0x37e0,
|
||||
0x37e1, 0x37e2, 0x37e3, 0x37e4, 0x37e5, 0x37e6, 0x37e7, 0x37e8, 0x37e9,
|
||||
0x37ea, 0x37eb, 0x37ec, 0x37ed, 0x37ee, 0x37ef, 0x37f0, 0x37f1, 0x37f2,
|
||||
0x37f3, 0x37f4, 0x37f5, 0x37f6, 0x37f7, 0x37f8, 0x37f9, 0x37fa, 0x37fb,
|
||||
0x37fc, 0x37fd, 0x37fe, 0x37ff, 0x3800, 0x3801, 0x3802, 0x3803, 0x3804,
|
||||
0x3805, 0x3806, 0x3807, 0x3808, 0x3809, 0x380a, 0x380b, 0x380c, 0x380d,
|
||||
0x380e, 0x380f, 0x3810, 0x3811, 0x3812, 0x3813, 0x3814, 0x3815, 0x3816,
|
||||
0x3817, 0x3818, 0x3819, 0x381a, 0x381b, 0x381c, 0x381d, 0x381e, 0x381f,
|
||||
0x3820, 0x3821, 0x3822, 0x3823, 0x3824, 0x3825, 0x3826, 0x3827, 0x3828,
|
||||
0x3829, 0x382a, 0x382b, 0x382c, 0x382d, 0x382e, 0x382f, 0x3830, 0x3831,
|
||||
0x3832, 0x3833, 0x3834, 0x3835, 0x3836, 0x3837, 0x3838, 0x3839, 0x383a,
|
||||
0x383b, 0x383c, 0x383d, 0x383e, 0x383f, 0x3840, 0x3841, 0x3842, 0x3843,
|
||||
0x3844, 0x3845, 0x3846, 0x3847, 0x3848, 0x3849, 0x384a, 0x384b, 0x384c,
|
||||
0x384d, 0x384e, 0x384f, 0x3850, 0x3851, 0x3852, 0x3853, 0x3854, 0x3855,
|
||||
0x3856, 0x3857, 0x3858, 0x3859, 0x385a, 0x385b, 0x385c, 0x385d, 0x385e,
|
||||
0x385f, 0x3860, 0x3861, 0x3862, 0x3863, 0x3864, 0x3865, 0x3866, 0x3867,
|
||||
0x3868, 0x3869, 0x386a, 0x386b, 0x386c, 0x386d, 0x386e, 0x386f, 0x3870,
|
||||
0x3871, 0x3872, 0x3873, 0x3874, 0x3875, 0x3876, 0x3877, 0x3878, 0x3879,
|
||||
0x387a, 0x387b, 0x387c, 0x387d, 0x387e, 0x387f, 0x3880, 0x3881, 0x3882,
|
||||
0x3883, 0x3884, 0x3885, 0x3886, 0x3887, 0x3888, 0x3889, 0x388a, 0x388b,
|
||||
0x388c, 0x388d, 0x388e, 0x388f, 0x3890, 0x3891, 0x3892, 0x3893, 0x3894,
|
||||
0x3895, 0x3896, 0x3897, 0x3898, 0x3899, 0x389a, 0x389b, 0x389c, 0x389d,
|
||||
0x389e, 0x389f, 0x38a0, 0x38a1, 0x38a2, 0x38a3, 0x38a4, 0x38a5, 0x38a6,
|
||||
0x38a7, 0x38a8, 0x38a9, 0x38aa, 0x38ab, 0x38ac, 0x38ad, 0x38ae, 0x38af,
|
||||
0x38b0, 0x38b1, 0x38b2, 0x38b3, 0x38b4, 0x38b5, 0x38b6, 0x38b7, 0x38b8,
|
||||
0x38b9, 0x38ba, 0x38bb, 0x38bc, 0x38bd, 0x38be, 0x38bf, 0x38c0, 0x38c1,
|
||||
0x38c2, 0x38c3, 0x38c4, 0x38c5, 0x38c6, 0x38c7, 0x38c8, 0x38c9, 0x38ca,
|
||||
0x38cb, 0x38cc, 0x38cd, 0x38ce, 0x38cf, 0x38d0, 0x38d1, 0x38d2, 0x38d3,
|
||||
0x38d4, 0x38d5, 0x38d6, 0x38d7, 0x38d8, 0x38d9, 0x38da, 0x38db, 0x38dc,
|
||||
0x38dd, 0x38de, 0x38df, 0x38e0, 0x38e1, 0x38e2, 0x38e3, 0x38e4, 0x38e5,
|
||||
0x38e6, 0x38e7, 0x38e8, 0x38e9, 0x38ea, 0x38eb, 0x38ec, 0x38ed, 0x38ee,
|
||||
0x38ef, 0x38f0, 0x38f1, 0x38f2, 0x38f3, 0x38f4, 0x38f5, 0x38f6, 0x38f7,
|
||||
0x38f8, 0x38f9, 0x38fa, 0x38fb, 0x38fc, 0x38fd, 0x38fe, 0x38ff, 0x3900,
|
||||
0x3901, 0x3902, 0x3903, 0x3904, 0x3905, 0x3906, 0x3907, 0x3908, 0x3909,
|
||||
0x390a, 0x390b, 0x390c, 0x390d, 0x390e, 0x390f, 0x3910, 0x3911, 0x3912,
|
||||
0x3913, 0x3914, 0x3915, 0x3916, 0x3917, 0x3918, 0x3919, 0x391a, 0x391b,
|
||||
0x391c, 0x391d, 0x391e, 0x391f, 0x3920, 0x3921, 0x3922, 0x3923, 0x3924,
|
||||
0x3925, 0x3926, 0x3927, 0x3928, 0x3929, 0x392a, 0x392b, 0x392c, 0x392d,
|
||||
0x392e, 0x392f, 0x3930, 0x3931, 0x3932, 0x3933, 0x3934, 0x3935, 0x3936,
|
||||
0x3937, 0x3938, 0x3939, 0x393a, 0x393b, 0x393c, 0x393d, 0x393e, 0x393f,
|
||||
0x3940, 0x3941, 0x3942, 0x3943, 0x3944, 0x3945, 0x3946, 0x3947, 0x3948,
|
||||
0x3949, 0x394a, 0x394b, 0x394c, 0x394d, 0x394e, 0x394f, 0x3950, 0x3951,
|
||||
0x3952, 0x3953, 0x3954, 0x3955, 0x3956, 0x3957, 0x3958, 0x3959, 0x395a,
|
||||
0x395b, 0x395c, 0x395d, 0x395e, 0x395f, 0x3960, 0x3961, 0x3962, 0x3963,
|
||||
0x3964, 0x3965, 0x3966, 0x3967, 0x3968, 0x3969, 0x396a, 0x396b, 0x396c,
|
||||
0x396d, 0x396e, 0x396f, 0x3970, 0x3971, 0x3972, 0x3973, 0x3974, 0x3975,
|
||||
0x3976, 0x3977, 0x3978, 0x3979, 0x397a, 0x397b, 0x397c, 0x397d, 0x397e,
|
||||
0x397f, 0x3980, 0x3981, 0x3982, 0x3983, 0x3984, 0x3985, 0x3986, 0x3987,
|
||||
0x3988, 0x3989, 0x398a, 0x398b, 0x398c, 0x398d, 0x398e, 0x398f, 0x3990,
|
||||
0x3991, 0x3992, 0x3993, 0x3994, 0x3995, 0x3996, 0x3997, 0x3998, 0x3999,
|
||||
0x399a, 0x399b, 0x399c, 0x399d, 0x399e, 0x399f, 0x39a0, 0x39a1, 0x39a2,
|
||||
0x39a3, 0x39a4, 0x39a5, 0x39a6, 0x39a7, 0x39a8, 0x39a9, 0x39aa, 0x39ab,
|
||||
0x39ac, 0x39ad, 0x39ae, 0x39af, 0x39b0, 0x39b1, 0x39b2, 0x39b3, 0x39b4,
|
||||
0x39b5, 0x39b6, 0x39b7, 0x39b8, 0x39b9, 0x39ba, 0x39bb, 0x39bc, 0x39bd,
|
||||
0x39be, 0x39bf, 0x39c0, 0x39c1, 0x39c2, 0x39c3, 0x39c4, 0x39c5, 0x39c6,
|
||||
0x39c7, 0x39c8, 0x39c9, 0x39ca, 0x39cb, 0x39cc, 0x39cd, 0x39ce, 0x39cf,
|
||||
0x39d0, 0x39d1, 0x39d2, 0x39d3, 0x39d4, 0x39d5, 0x39d6, 0x39d7, 0x39d8,
|
||||
0x39d9, 0x39da, 0x39db, 0x39dc, 0x39dd, 0x39de, 0x39df, 0x39e0, 0x39e1,
|
||||
0x39e2, 0x39e3, 0x39e4, 0x39e5, 0x39e6, 0x39e7, 0x39e8, 0x39e9, 0x39ea,
|
||||
0x39eb, 0x39ec, 0x39ed, 0x39ee, 0x39ef, 0x39f0, 0x39f1, 0x39f2, 0x39f3,
|
||||
0x39f4, 0x39f5, 0x39f6, 0x39f7, 0x39f8, 0x39f9, 0x39fa, 0x39fb, 0x39fc,
|
||||
0x39fd, 0x39fe, 0x39ff, 0x3a00, 0x3a01, 0x3a02, 0x3a03, 0x3a04, 0x3a05,
|
||||
0x3a06, 0x3a07, 0x3a08, 0x3a09, 0x3a0a, 0x3a0b, 0x3a0c, 0x3a0d, 0x3a0e,
|
||||
0x3a0f, 0x3a10, 0x3a11, 0x3a12, 0x3a13, 0x3a14, 0x3a15, 0x3a16, 0x3a17,
|
||||
0x3a18, 0x3a19, 0x3a1a, 0x3a1b, 0x3a1c, 0x3a1d, 0x3a1e, 0x3a1f, 0x3a20,
|
||||
0x3a21, 0x3a22, 0x3a23, 0x3a24, 0x3a25, 0x3a26, 0x3a27, 0x3a28, 0x3a29,
|
||||
0x3a2a, 0x3a2b, 0x3a2c, 0x3a2d, 0x3a2e, 0x3a2f, 0x3a30, 0x3a31, 0x3a32,
|
||||
0x3a33, 0x3a34, 0x3a35, 0x3a36, 0x3a37, 0x3a38, 0x3a39, 0x3a3a, 0x3a3b,
|
||||
0x3a3c, 0x3a3d, 0x3a3e, 0x3a3f, 0x3a40, 0x3a41, 0x3a42, 0x3a43, 0x3a44,
|
||||
0x3a45, 0x3a46, 0x3a47, 0x3a48, 0x3a49, 0x3a4a, 0x3a4b, 0x3a4c, 0x3a4d,
|
||||
0x3a4e, 0x3a4f, 0x3a50, 0x3a51, 0x3a52, 0x3a53, 0x3a54, 0x3a55, 0x3a56,
|
||||
0x3a57, 0x3a58, 0x3a59, 0x3a5a, 0x3a5b, 0x3a5c, 0x3a5d, 0x3a5e, 0x3a5f,
|
||||
0x3a60, 0x3a61, 0x3a62, 0x3a63, 0x3a64, 0x3a65, 0x3a66, 0x3a67, 0x3a68,
|
||||
0x3a69, 0x3a6a, 0x3a6b, 0x3a6c, 0x3a6d, 0x3a6e, 0x3a6f, 0x3a70, 0x3a71,
|
||||
0x3a72, 0x3a73, 0x3a74, 0x3a75, 0x3a76, 0x3a77, 0x3a78, 0x3a79, 0x3a7a,
|
||||
0x3a7b, 0x3a7c, 0x3a7d, 0x3a7e, 0x3a7f, 0x3a80, 0x3a81, 0x3a82, 0x3a83,
|
||||
0x3a84, 0x3a85, 0x3a86, 0x3a87, 0x3a88, 0x3a89, 0x3a8a, 0x3a8b, 0x3a8c,
|
||||
0x3a8d, 0x3a8e, 0x3a8f, 0x3a90, 0x3a91, 0x3a92, 0x3a93, 0x3a94, 0x3a95,
|
||||
0x3a96, 0x3a97, 0x3a98, 0x3a99, 0x3a9a, 0x3a9b, 0x3a9c, 0x3a9d, 0x3a9e,
|
||||
0x3a9f, 0x3aa0, 0x3aa1, 0x3aa2, 0x3aa3, 0x3aa4, 0x3aa5, 0x3aa6, 0x3aa7,
|
||||
0x3aa8, 0x3aa9, 0x3aaa, 0x3aab, 0x3aac, 0x3aad, 0x3aae, 0x3aaf, 0x3ab0,
|
||||
0x3ab1, 0x3ab2, 0x3ab3, 0x3ab4, 0x3ab5, 0x3ab6, 0x3ab7, 0x3ab8, 0x3ab9,
|
||||
0x3aba, 0x3abb, 0x3abc, 0x3abd, 0x3abe, 0x3abf, 0x3ac0, 0x3ac1, 0x3ac2,
|
||||
0x3ac3, 0x3ac4, 0x3ac5, 0x3ac6, 0x3ac7, 0x3ac8, 0x3ac9, 0x3aca, 0x3acb,
|
||||
0x3acc, 0x3acd, 0x3ace, 0x3acf, 0x3ad0, 0x3ad1, 0x3ad2, 0x3ad3, 0x3ad4,
|
||||
0x3ad5, 0x3ad6, 0x3ad7, 0x3ad8, 0x3ad9, 0x3ada, 0x3adb, 0x3adc, 0x3add,
|
||||
0x3ade, 0x3adf, 0x3ae0, 0x3ae1, 0x3ae2, 0x3ae3, 0x3ae4, 0x3ae5, 0x3ae6,
|
||||
0x3ae7, 0x3ae8, 0x3ae9, 0x3aea, 0x3aeb, 0x3aec, 0x3aed, 0x3aee, 0x3aef,
|
||||
0x3af0, 0x3af1, 0x3af2, 0x3af3, 0x3af4, 0x3af5, 0x3af6, 0x3af7, 0x3af8,
|
||||
0x3af9, 0x3afa, 0x3afb, 0x3afc, 0x3afd, 0x3afe, 0x3aff, 0x3b00, 0x3b01,
|
||||
0x3b02, 0x3b03, 0x3b04, 0x3b05, 0x3b06, 0x3b07, 0x3b08, 0x3b09, 0x3b0a,
|
||||
0x3b0b, 0x3b0c, 0x3b0d, 0x3b0e, 0x3b0f, 0x3b10, 0x3b11, 0x3b12, 0x3b13,
|
||||
0x3b14, 0x3b15, 0x3b16, 0x3b17, 0x3b18, 0x3b19, 0x3b1a, 0x3b1b, 0x3b1c,
|
||||
0x3b1d, 0x3b1e, 0x3b1f, 0x3b20, 0x3b21, 0x3b22, 0x3b23, 0x3b24, 0x3b25,
|
||||
0x3b26, 0x3b27, 0x3b28, 0x3b29, 0x3b2a, 0x3b2b, 0x3b2c, 0x3b2d, 0x3b2e,
|
||||
0x3b2f, 0x3b30, 0x3b31, 0x3b32, 0x3b33, 0x3b34, 0x3b35, 0x3b36, 0x3b37,
|
||||
0x3b38, 0x3b39, 0x3b3a, 0x3b3b, 0x3b3c, 0x3b3d, 0x3b3e, 0x3b3f, 0x3b40,
|
||||
0x3b41, 0x3b42, 0x3b43, 0x3b44, 0x3b45, 0x3b46, 0x3b47, 0x3b48, 0x3b49,
|
||||
0x3b4a, 0x3b4b, 0x3b4c, 0x3b4d, 0x3b4e, 0x3b4f, 0x3b50, 0x3b51, 0x3b52,
|
||||
0x3b53, 0x3b54, 0x3b55, 0x3b56, 0x3b57, 0x3b58, 0x3b59, 0x3b5a, 0x3b5b,
|
||||
0x3b5c, 0x3b5d, 0x3b5e, 0x3b5f, 0x3b60, 0x3b61, 0x3b62, 0x3b63, 0x3b64,
|
||||
0x3b65, 0x3b66, 0x3b67, 0x3b68, 0x3b69, 0x3b6a, 0x3b6b, 0x3b6c, 0x3b6d,
|
||||
0x3b6e, 0x3b6f, 0x3b70, 0x3b71, 0x3b72, 0x3b73, 0x3b74, 0x3b75, 0x3b76,
|
||||
0x3b77, 0x3b78, 0x3b79, 0x3b7a, 0x3b7b, 0x3b7c, 0x3b7d, 0x3b7e, 0x3b7f,
|
||||
0x3b80, 0x3b81, 0x3b82, 0x3b83, 0x3b84, 0x3b85, 0x3b86, 0x3b87, 0x3b88,
|
||||
0x3b89, 0x3b8a, 0x3b8b, 0x3b8c, 0x3b8d, 0x3b8e, 0x3b8f, 0x3b90, 0x3b91,
|
||||
0x3b92, 0x3b93, 0x3b94, 0x3b95, 0x3b96, 0x3b97, 0x3b98, 0x3b99, 0x3b9a,
|
||||
0x3b9b, 0x3b9c, 0x3b9d, 0x3b9e, 0x3b9f, 0x3ba0, 0x3ba1, 0x3ba2, 0x3ba3,
|
||||
0x3ba4, 0x3ba5, 0x3ba6, 0x3ba7, 0x3ba8, 0x3ba9, 0x3baa, 0x3bab, 0x3bac,
|
||||
0x3bad, 0x3bae, 0x3baf, 0x3bb0, 0x3bb1, 0x3bb2, 0x3bb3, 0x3bb4, 0x3bb5,
|
||||
0x3bb6, 0x3bb7, 0x3bb8, 0x3bb9, 0x3bba, 0x3bbb, 0x3bbc, 0x3bbd, 0x3bbe,
|
||||
0x3bbf, 0x3bc0, 0x3bc1, 0x3bc2, 0x3bc3, 0x3bc4, 0x3bc5, 0x3bc6, 0x3bc7,
|
||||
0x3bc8, 0x3bc9, 0x3bca, 0x3bcb, 0x3bcc, 0x3bcd, 0x3bce, 0x3bcf, 0x3bd0,
|
||||
0x3bd1, 0x3bd2, 0x3bd3, 0x3bd4, 0x3bd5, 0x3bd6, 0x3bd7, 0x3bd8, 0x3bd9,
|
||||
0x3bda, 0x3bdb, 0x3bdc, 0x3bdd, 0x3bde, 0x3bdf, 0x3be0, 0x3be1, 0x3be2,
|
||||
0x3be3, 0x3be4, 0x3be5, 0x3be6, 0x3be7, 0x3be8, 0x3be9, 0x3bea, 0x3beb,
|
||||
0x3bec, 0x3bed, 0x3bee, 0x3bef, 0x3bf0, 0x3bf1, 0x3bf2, 0x3bf3, 0x3bf4,
|
||||
0x3bf5, 0x3bf6, 0x3bf7, 0x3bf8, 0x3bf9, 0x3bfa, 0x3bfb, 0x3bfc, 0x3bfd,
|
||||
0x3bfe, 0x3bff, 0x3c00, 0x3c01, 0x3c02, 0x3c03, 0x3c04, 0x3c05, 0x3c06,
|
||||
0x3c07, 0x3c08, 0x3c09, 0x3c0a, 0x3c0b, 0x3c0c, 0x3c0d, 0x3c0e, 0x3c0f,
|
||||
0x3c10, 0x3c11, 0x3c12, 0x3c13, 0x3c14, 0x3c15, 0x3c16, 0x3c17, 0x3c18,
|
||||
0x3c19, 0x3c1a, 0x3c1b, 0x3c1c, 0x3c1d, 0x3c1e, 0x3c1f, 0x3c20, 0x3c21,
|
||||
0x3c22, 0x3c23, 0x3c24, 0x3c25, 0x3c26, 0x3c27, 0x3c28, 0x3c29, 0x3c2a,
|
||||
0x3c2b, 0x3c2c, 0x3c2d, 0x3c2e, 0x3c2f, 0x3c30, 0x3c31, 0x3c32, 0x3c33,
|
||||
0x3c34, 0x3c35, 0x3c36, 0x3c37, 0x3c38, 0x3c39, 0x3c3a, 0x3c3b, 0x3c3c,
|
||||
0x3c3d, 0x3c3e, 0x3c3f, 0x3c40, 0x3c41, 0x3c42, 0x3c43, 0x3c44, 0x3c45,
|
||||
0x3c46, 0x3c47, 0x3c48, 0x3c49, 0x3c4a, 0x3c4b, 0x3c4c, 0x3c4d, 0x3c4e,
|
||||
0x3c4f, 0x3c50, 0x3c51, 0x3c52, 0x3c53, 0x3c54, 0x3c55, 0x3c56, 0x3c57,
|
||||
0x3c58, 0x3c59, 0x3c5a, 0x3c5b, 0x3c5c, 0x3c5d, 0x3c5e, 0x3c5f, 0x3c60,
|
||||
0x3c61, 0x3c62, 0x3c63, 0x3c64, 0x3c65, 0x3c66, 0x3c67, 0x3c68, 0x3c69,
|
||||
0x3c6a, 0x3c6b, 0x3c6c, 0x3c6d, 0x3c6e, 0x3c6f, 0x3c70, 0x3c71, 0x3c72,
|
||||
0x3c73, 0x3c74, 0x3c75, 0x3c76, 0x3c77, 0x3c78, 0x3c79, 0x3c7a, 0x3c7b,
|
||||
0x3c7c, 0x3c7d, 0x3c7e, 0x3c7f, 0x3c80, 0x3c81, 0x3c82, 0x3c83, 0x3c84,
|
||||
0x3c85, 0x3c86, 0x3c87, 0x3c88, 0x3c89, 0x3c8a, 0x3c8b, 0x3c8c, 0x3c8d,
|
||||
0x3c8e, 0x3c8f, 0x3c90, 0x3c91, 0x3c92, 0x3c93, 0x3c94, 0x3c95, 0x3c96,
|
||||
0x3c97, 0x3c98, 0x3c99, 0x3c9a, 0x3c9b, 0x3c9c, 0x3c9d, 0x3c9e, 0x3c9f,
|
||||
0x3ca0, 0x3ca1, 0x3ca2, 0x3ca3, 0x3ca4, 0x3ca5, 0x3ca6, 0x3ca7, 0x3ca8,
|
||||
0x3ca9, 0x3caa, 0x3cab, 0x3cac, 0x3cad, 0x3cae, 0x3caf, 0x3cb0, 0x3cb1,
|
||||
0x3cb2, 0x3cb3, 0x3cb4, 0x3cb5, 0x3cb6, 0x3cb7, 0x3cb8, 0x3cb9, 0x3cba,
|
||||
0x3cbb, 0x3cbc, 0x3cbd, 0x3cbe, 0x3cbf, 0x3cc0, 0x3cc1, 0x3cc2, 0x3cc3,
|
||||
0x3cc4, 0x3cc5, 0x3cc6, 0x3cc7, 0x3cc8, 0x3cc9, 0x3cca, 0x3ccb, 0x3ccc,
|
||||
0x3ccd, 0x3cce, 0x3ccf, 0x3cd0, 0x3cd1, 0x3cd2, 0x3cd3, 0x3cd4, 0x3cd5,
|
||||
0x3cd6, 0x3cd7, 0x3cd8, 0x3cd9, 0x3cda, 0x3cdb, 0x3cdc, 0x3cdd, 0x3cde,
|
||||
0x3cdf, 0x3ce0, 0x3ce1, 0x3ce2, 0x3ce3, 0x3ce4, 0x3ce5, 0x3ce6, 0x3ce7,
|
||||
0x3ce8, 0x3ce9, 0x3cea, 0x3ceb, 0x3cec, 0x3ced, 0x3cee, 0x3cef, 0x3cf0,
|
||||
0x3cf1, 0x3cf2, 0x3cf3, 0x3cf4, 0x3cf5, 0x3cf6, 0x3cf7, 0x3cf8, 0x3cf9,
|
||||
0x3cfa, 0x3cfb, 0x3cfc, 0x3cfd, 0x3cfe, 0x3cff, 0x3d00, 0x3d01, 0x3d02,
|
||||
0x3d03, 0x3d04, 0x3d05, 0x3d06, 0x3d07, 0x3d08, 0x3d09, 0x3d0a, 0x3d0b,
|
||||
0x3d0c, 0x3d0d, 0x3d0e, 0x3d0f, 0x3d10, 0x3d11, 0x3d12, 0x3d13, 0x3d14,
|
||||
0x3d15, 0x3d16, 0x3d17, 0x3d18, 0x3d19, 0x3d1a, 0x3d1b, 0x3d1c, 0x3d1d,
|
||||
0x3d1e, 0x3d1f, 0x3d20, 0x3d21, 0x3d22, 0x3d23, 0x3d24, 0x3d25, 0x3d26,
|
||||
0x3d27, 0x3d28, 0x3d29, 0x3d2a, 0x3d2b, 0x3d2c, 0x3d2d, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, 0x4f3d, 0x4f73, 0x5047, 0x50f9, 0x52a0, 0x53ef, 0x5475,
|
||||
0x54e5, 0x5609, 0x5ac1, 0x5bb6, 0x6687, 0x67b6, 0x67b7, 0x67ef, 0x6b4c,
|
||||
0x73c2, 0x75c2, 0x7a3c, 0x82db, 0x8304, 0x8857, 0x8888, 0x8a36, 0x8cc8,
|
||||
0x8dcf, 0x8efb, 0x8fe6, 0x99d5, 0x523b, 0x5374, 0x5404, 0x606a, 0x6164,
|
||||
0x6bbc, 0x73cf, 0x811a, 0x89ba, 0x89d2, 0x95a3, 0x4f83, 0x520a, 0x58be,
|
||||
0x5978, 0x59e6, 0x5e72, 0x5e79, 0x61c7, 0x63c0, 0x6746, 0x67ec, 0x687f,
|
||||
0x6f97, 0x764e, 0x770b, 0x78f5, 0x7a08, 0x7aff, 0x7c21, 0x809d, 0x826e,
|
||||
0x8271, 0x8aeb, 0x9593, 0x4e6b, 0x559d, 0x66f7, 0x6e34, 0x78a3, 0x7aed,
|
||||
0x845b, 0x8910, 0x874e, 0x97a8, 0x52d8, 0x574e, 0x582a, 0x5d4c, 0x611f,
|
||||
0x61be, 0x6221, 0x6562, 0x67d1, 0x6a44, 0x6e1b, 0x7518, 0x75b3, 0x76e3,
|
||||
0x77b0, 0x7d3a, 0x90af, 0x9451, 0x9452, 0x9f95, 0x5323, 0x5cac, 0x7532,
|
||||
0x80db, 0x9240, 0x9598, 0x525b, 0x5808, 0x59dc, 0x5ca1, 0x5d17, 0x5eb7,
|
||||
0x5f3a, 0x5f4a, 0x6177, 0x6c5f, 0x757a, 0x7586, 0x7ce0, 0x7d73, 0x7db1,
|
||||
0x7f8c, 0x8154, 0x8221, 0x8591, 0x8941, 0x8b1b, 0x92fc, 0x964d, 0x9c47,
|
||||
0x4ecb, 0x4ef7, 0x500b, 0x51f1, 0x584f, 0x6137, 0x613e, 0x6168, 0x6539,
|
||||
0x69ea, 0x6f11, 0x75a5, 0x7686, 0x76d6, 0x7b87, 0x82a5, 0x84cb, 0xf900,
|
||||
0x93a7, 0x958b, 0x5580, 0x5ba2, 0x5751, 0xf901, 0x7cb3, 0x7fb9, 0x91b5,
|
||||
0x5028, 0x53bb, 0x5c45, 0x5de8, 0x62d2, 0x636e, 0x64da, 0x64e7, 0x6e20,
|
||||
0x70ac, 0x795b, 0x8ddd, 0x8e1e, 0xf902, 0x907d, 0x9245, 0x92f8, 0x4e7e,
|
||||
0x4ef6, 0x5065, 0x5dfe, 0x5efa, 0x6106, 0x6957, 0x8171, 0x8654, 0x8e47,
|
||||
0x9375, 0x9a2b, 0x4e5e, 0x5091, 0x6770, 0x6840, 0x5109, 0x528d, 0x5292,
|
||||
0x6aa2, 0x77bc, 0x9210, 0x9ed4, 0x52ab, 0x602f, 0x8ff2, 0x5048, 0x61a9,
|
||||
0x63ed, 0x64ca, 0x683c, 0x6a84, 0x6fc0, 0x8188, 0x89a1, 0x9694, 0x5805,
|
||||
0x727d, 0x72ac, 0x7504, 0x7d79, 0x7e6d, 0x80a9, 0x898b, 0x8b74, 0x9063,
|
||||
0x9d51, 0x6289, 0x6c7a, 0x6f54, 0x7d50, 0x7f3a, 0x8a23, 0x517c, 0x614a,
|
||||
0x7b9d, 0x8b19, 0x9257, 0x938c, 0x4eac, 0x4fd3, 0x501e, 0x50be, 0x5106,
|
||||
0x52c1, 0x52cd, 0x537f, 0x5770, 0x5883, 0x5e9a, 0x5f91, 0x6176, 0x61ac,
|
||||
0x64ce, 0x656c, 0x666f, 0x66bb, 0x66f4, 0x6897, 0x6d87, 0x7085, 0x70f1,
|
||||
0x749f, 0x74a5, 0x74ca, 0x75d9, 0x786c, 0x78ec, 0x7adf, 0x7af6, 0x7d45,
|
||||
0x7d93, 0x8015, 0x803f, 0x811b, 0x8396, 0x8b66, 0x8f15, 0x9015, 0x93e1,
|
||||
0x9803, 0x9838, 0x9a5a, 0x9be8, 0x4fc2, 0x5553, 0x583a, 0x5951, 0x5b63,
|
||||
0x5c46, 0x60b8, 0x6212, 0x6842, 0x68b0, 0x68e8, 0x6eaa, 0x754c, 0x7678,
|
||||
0x78ce, 0x7a3d, 0x7cfb, 0x7e6b, 0x7e7c, 0x8a08, 0x8aa1, 0x8c3f, 0x968e,
|
||||
0x9dc4, 0x53e4, 0x53e9, 0x544a, 0x5471, 0x56fa, 0x59d1, 0x5b64, 0x5c3b,
|
||||
0x5eab, 0x62f7, 0x6537, 0x6545, 0x6572, 0x66a0, 0x67af, 0x69c1, 0x6cbd,
|
||||
0x75fc, 0x7690, 0x777e, 0x7a3f, 0x7f94, 0x8003, 0x80a1, 0x818f, 0x82e6,
|
||||
0x82fd, 0x83f0, 0x85c1, 0x8831, 0x88b4, 0x8aa5, 0xf903, 0x8f9c, 0x932e,
|
||||
0x96c7, 0x9867, 0x9ad8, 0x9f13, 0x54ed, 0x659b, 0x66f2, 0x688f, 0x7a40,
|
||||
0x8c37, 0x9d60, 0x56f0, 0x5764, 0x5d11, 0x6606, 0x68b1, 0x68cd, 0x6efe,
|
||||
0x7428, 0x889e, 0x9be4, 0x6c68, 0xf904, 0x9aa8, 0x4f9b, 0x516c, 0x5171,
|
||||
0x529f, 0x5b54, 0x5de5, 0x6050, 0x606d, 0x62f1, 0x63a7, 0x653b, 0x73d9,
|
||||
0x7a7a, 0x86a3, 0x8ca2, 0x978f, 0x4e32, 0x5be1, 0x6208, 0x679c, 0x74dc,
|
||||
0x79d1, 0x83d3, 0x8a87, 0x8ab2, 0x8de8, 0x904e, 0x934b, 0x9846, 0x5ed3,
|
||||
0x69e8, 0x85ff, 0x90ed, 0xf905, 0x51a0, 0x5b98, 0x5bec, 0x6163, 0x68fa,
|
||||
0x6b3e, 0x704c, 0x742f, 0x74d8, 0x7ba1, 0x7f50, 0x83c5, 0x89c0, 0x8cab,
|
||||
0x95dc, 0x9928, 0x522e, 0x605d, 0x62ec, 0x9002, 0x4f8a, 0x5149, 0x5321,
|
||||
0x58d9, 0x5ee3, 0x66e0, 0x6d38, 0x709a, 0x72c2, 0x73d6, 0x7b50, 0x80f1,
|
||||
0x945b, 0x5366, 0x639b, 0x7f6b, 0x4e56, 0x5080, 0x584a, 0x58de, 0x602a,
|
||||
0x6127, 0x62d0, 0x69d0, 0x9b41, 0x5b8f, 0x7d18, 0x80b1, 0x8f5f, 0x4ea4,
|
||||
0x50d1, 0x54ac, 0x55ac, 0x5b0c, 0x5da0, 0x5de7, 0x652a, 0x654e, 0x6821,
|
||||
0x6a4b, 0x72e1, 0x768e, 0x77ef, 0x7d5e, 0x7ff9, 0x81a0, 0x854e, 0x86df,
|
||||
0x8f03, 0x8f4e, 0x90ca, 0x9903, 0x9a55, 0x9bab, 0x4e18, 0x4e45, 0x4e5d,
|
||||
0x4ec7, 0x4ff1, 0x5177, 0x52fe, 0x5340, 0x53e3, 0x53e5, 0x548e, 0x5614,
|
||||
0x5775, 0x57a2, 0x5bc7, 0x5d87, 0x5ed0, 0x61fc, 0x62d8, 0x6551, 0x67b8,
|
||||
0x67e9, 0x69cb, 0x6b50, 0x6bc6, 0x6bec, 0x6c42, 0x6e9d, 0x7078, 0x72d7,
|
||||
0x7396, 0x7403, 0x77bf, 0x77e9, 0x7a76, 0x7d7f, 0x8009, 0x81fc, 0x8205,
|
||||
0x820a, 0x82df, 0x8862, 0x8b33, 0x8cfc, 0x8ec0, 0x9011, 0x90b1, 0x9264,
|
||||
0x92b6, 0x99d2, 0x9a45, 0x9ce9, 0x9dd7, 0x9f9c, 0x570b, 0x5c40, 0x83ca,
|
||||
0x97a0, 0x97ab, 0x9eb4, 0x541b, 0x7a98, 0x7fa4, 0x88d9, 0x8ecd, 0x90e1,
|
||||
0x5800, 0x5c48, 0x6398, 0x7a9f, 0x5bae, 0x5f13, 0x7a79, 0x7aae, 0x828e,
|
||||
0x8eac, 0x5026, 0x5238, 0x52f8, 0x5377, 0x5708, 0x62f3, 0x6372, 0x6b0a,
|
||||
0x6dc3, 0x7737, 0x53a5, 0x7357, 0x8568, 0x8e76, 0x95d5, 0x673a, 0x6ac3,
|
||||
0x6f70, 0x8a6d, 0x8ecc, 0x994b, 0xf906, 0x6677, 0x6b78, 0x8cb4, 0x9b3c,
|
||||
0xf907, 0x53eb, 0x572d, 0x594e, 0x63c6, 0x69fb, 0x73ea, 0x7845, 0x7aba,
|
||||
0x7ac5, 0x7cfe, 0x8475, 0x898f, 0x8d73, 0x9035, 0x95a8, 0x52fb, 0x5747,
|
||||
0x7547, 0x7b60, 0x83cc, 0x921e, 0xf908, 0x6a58, 0x514b, 0x524b, 0x5287,
|
||||
0x621f, 0x68d8, 0x6975, 0x9699, 0x50c5, 0x52a4, 0x52e4, 0x61c3, 0x65a4,
|
||||
0x6839, 0x69ff, 0x747e, 0x7b4b, 0x82b9, 0x83eb, 0x89b2, 0x8b39, 0x8fd1,
|
||||
0x9949, 0xf909, 0x4eca, 0x5997, 0x64d2, 0x6611, 0x6a8e, 0x7434, 0x7981,
|
||||
0x79bd, 0x82a9, 0x887e, 0x887f, 0x895f, 0xf90a, 0x9326, 0x4f0b, 0x53ca,
|
||||
0x6025, 0x6271, 0x6c72, 0x7d1a, 0x7d66, 0x4e98, 0x5162, 0x77dc, 0x80af,
|
||||
0x4f01, 0x4f0e, 0x5176, 0x5180, 0x55dc, 0x5668, 0x573b, 0x57fa, 0x57fc,
|
||||
0x5914, 0x5947, 0x5993, 0x5bc4, 0x5c90, 0x5d0e, 0x5df1, 0x5e7e, 0x5fcc,
|
||||
0x6280, 0x65d7, 0x65e3, 0x671e, 0x671f, 0x675e, 0x68cb, 0x68c4, 0x6a5f,
|
||||
0x6b3a, 0x6c23, 0x6c7d, 0x6c82, 0x6dc7, 0x7398, 0x7426, 0x742a, 0x7482,
|
||||
0x74a3, 0x7578, 0x757f, 0x7881, 0x78ef, 0x7941, 0x7947, 0x7948, 0x797a,
|
||||
0x7b95, 0x7d00, 0x7dba, 0x7f88, 0x8006, 0x802d, 0x808c, 0x8a18, 0x8b4f,
|
||||
0x8c48, 0x8d77, 0x9321, 0x9324, 0x98e2, 0x9951, 0x9a0e, 0x9a0f, 0x9a65,
|
||||
0x9e92, 0x7dca, 0x4f76, 0x5409, 0x62ee, 0x6854, 0x91d1, 0x55ab, 0x513a,
|
||||
0xf90b, 0xf90c, 0x5a1c, 0x61e6, 0xf90d, 0x62cf, 0x62ff, 0xf90e, 0xf90f,
|
||||
0xf910, 0xf911, 0xf912, 0xf913, 0x90a3, 0xf914, 0xf915, 0xf916, 0xf917,
|
||||
0xf918, 0x8afe, 0xf919, 0xf91a, 0xf91b, 0xf91c, 0x6696, 0xf91d, 0x7156,
|
||||
0xf91e, 0xf91f, 0x96e3, 0xf920, 0x634f, 0x637a, 0x5357, 0xf921, 0x678f,
|
||||
0x6960, 0x6e73, 0xf922, 0x7537, 0xf923, 0xf924, 0xf925, 0x7d0d, 0xf926,
|
||||
0xf927, 0x8872, 0x56ca, 0x5a18, 0xf928, 0xf929, 0xf92a, 0xf92b, 0xf92c,
|
||||
0x4e43, 0xf92d, 0x5167, 0x5948, 0x67f0, 0x8010, 0xf92e, 0x5973, 0x5e74,
|
||||
0x649a, 0x79ca, 0x5ff5, 0x606c, 0x62c8, 0x637b, 0x5be7, 0x5bd7, 0x52aa,
|
||||
0xf92f, 0x5974, 0x5f29, 0x6012, 0xf930, 0xf931, 0xf932, 0x7459, 0xf933,
|
||||
0xf934, 0xf935, 0xf936, 0xf937, 0xf938, 0x99d1, 0xf939, 0xf93a, 0xf93b,
|
||||
0xf93c, 0xf93d, 0xf93e, 0xf93f, 0xf940, 0xf941, 0xf942, 0xf943, 0x6fc3,
|
||||
0xf944, 0xf945, 0x81bf, 0x8fb2, 0x60f1, 0xf946, 0xf947, 0x8166, 0xf948,
|
||||
0xf949, 0x5c3f, 0xf94a, 0xf94b, 0xf94c, 0xf94d, 0xf94e, 0xf94f, 0xf950,
|
||||
0xf951, 0x5ae9, 0x8a25, 0x677b, 0x7d10, 0xf952, 0xf953, 0xf954, 0xf955,
|
||||
0xf956, 0xf957, 0x80fd, 0xf958, 0xf959, 0x5c3c, 0x6ce5, 0x533f, 0x6eba,
|
||||
0x591a, 0x8336, 0x4e39, 0x4eb6, 0x4f46, 0x55ae, 0x5718, 0x58c7, 0x5f56,
|
||||
0x65b7, 0x65e6, 0x6a80, 0x6bb5, 0x6e4d, 0x77ed, 0x7aef, 0x7c1e, 0x7dde,
|
||||
0x86cb, 0x8892, 0x9132, 0x935b, 0x64bb, 0x6fbe, 0x737a, 0x75b8, 0x9054,
|
||||
0x5556, 0x574d, 0x61ba, 0x64d4, 0x66c7, 0x6de1, 0x6e5b, 0x6f6d, 0x6fb9,
|
||||
0x75f0, 0x8043, 0x81bd, 0x8541, 0x8983, 0x8ac7, 0x8b5a, 0x931f, 0x6c93,
|
||||
0x7553, 0x7b54, 0x8e0f, 0x905d, 0x5510, 0x5802, 0x5858, 0x5e62, 0x6207,
|
||||
0x649e, 0x68e0, 0x7576, 0x7cd6, 0x87b3, 0x9ee8, 0x4ee3, 0x5788, 0x576e,
|
||||
0x5927, 0x5c0d, 0x5cb1, 0x5e36, 0x5f85, 0x6234, 0x64e1, 0x73b3, 0x81fa,
|
||||
0x888b, 0x8cb8, 0x968a, 0x9edb, 0x5b85, 0x5fb7, 0x60b3, 0x5012, 0x5200,
|
||||
0x5230, 0x5716, 0x5835, 0x5857, 0x5c0e, 0x5c60, 0x5cf6, 0x5d8b, 0x5ea6,
|
||||
0x5f92, 0x60bc, 0x6311, 0x6389, 0x6417, 0x6843, 0x68f9, 0x6ac2, 0x6dd8,
|
||||
0x6e21, 0x6ed4, 0x6fe4, 0x71fe, 0x76dc, 0x7779, 0x79b1, 0x7a3b, 0x8404,
|
||||
0x89a9, 0x8ced, 0x8df3, 0x8e48, 0x9003, 0x9014, 0x9053, 0x90fd, 0x934d,
|
||||
0x9676, 0x97dc, 0x6bd2, 0x7006, 0x7258, 0x72a2, 0x7368, 0x7763, 0x79bf,
|
||||
0x7be4, 0x7e9b, 0x8b80, 0x58a9, 0x60c7, 0x6566, 0x65fd, 0x66be, 0x6c8c,
|
||||
0x711e, 0x71c9, 0x8c5a, 0x9813, 0x4e6d, 0x7a81, 0x4edd, 0x51ac, 0x51cd,
|
||||
0x52d5, 0x540c, 0x61a7, 0x6771, 0x6850, 0x68df, 0x6d1e, 0x6f7c, 0x75bc,
|
||||
0x77b3, 0x7ae5, 0x80f4, 0x8463, 0x9285, 0x515c, 0x6597, 0x675c, 0x6793,
|
||||
0x75d8, 0x7ac7, 0x8373, 0xf95a, 0x8c46, 0x9017, 0x982d, 0x5c6f, 0x81c0,
|
||||
0x829a, 0x9041, 0x906f, 0x920d, 0x5f97, 0x5d9d, 0x6a59, 0x71c8, 0x767b,
|
||||
0x7b49, 0x85e4, 0x8b04, 0x9127, 0x9a30, 0x5587, 0x61f6, 0xf95b, 0x7669,
|
||||
0x7f85, 0x863f, 0x87ba, 0x88f8, 0x908f, 0xf95c, 0x6d1b, 0x70d9, 0x73de,
|
||||
0x7d61, 0x843d, 0xf95d, 0x916a, 0x99f1, 0xf95e, 0x4e82, 0x5375, 0x6b04,
|
||||
0x6b12, 0x703e, 0x721b, 0x862d, 0x9e1e, 0x524c, 0x8fa3, 0x5d50, 0x64e5,
|
||||
0x652c, 0x6b16, 0x6feb, 0x7c43, 0x7e9c, 0x85cd, 0x8964, 0x89bd, 0x62c9,
|
||||
0x81d8, 0x881f, 0x5eca, 0x6717, 0x6d6a, 0x72fc, 0x7405, 0x746f, 0x8782,
|
||||
0x90de, 0x4f86, 0x5d0d, 0x5fa0, 0x840a, 0x51b7, 0x63a0, 0x7565, 0x4eae,
|
||||
0x5006, 0x5169, 0x51c9, 0x6881, 0x6a11, 0x7cae, 0x7cb1, 0x7ce7, 0x826f,
|
||||
0x8ad2, 0x8f1b, 0x91cf, 0x4fb6, 0x5137, 0x52f5, 0x5442, 0x5eec, 0x616e,
|
||||
0x623e, 0x65c5, 0x6ada, 0x6ffe, 0x792a, 0x85dc, 0x8823, 0x95ad, 0x9a62,
|
||||
0x9a6a, 0x9e97, 0x9ece, 0x529b, 0x66c6, 0x6b77, 0x701d, 0x792b, 0x8f62,
|
||||
0x9742, 0x6190, 0x6200, 0x6523, 0x6f23, 0x7149, 0x7489, 0x7df4, 0x806f,
|
||||
0x84ee, 0x8f26, 0x9023, 0x934a, 0x51bd, 0x5217, 0x52a3, 0x6d0c, 0x70c8,
|
||||
0x88c2, 0x5ec9, 0x6582, 0x6bae, 0x6fc2, 0x7c3e, 0x7375, 0x4ee4, 0x4f36,
|
||||
0x56f9, 0xf95f, 0x5cba, 0x5dba, 0x601c, 0x73b2, 0x7b2d, 0x7f9a, 0x7fce,
|
||||
0x8046, 0x901e, 0x9234, 0x96f6, 0x9748, 0x9818, 0x9f61, 0x4f8b, 0x6fa7,
|
||||
0x79ae, 0x91b4, 0x96b7, 0x52de, 0xf960, 0x6488, 0x64c4, 0x6ad3, 0x6f5e,
|
||||
0x7018, 0x7210, 0x76e7, 0x8001, 0x8606, 0x865c, 0x8def, 0x8f05, 0x9732,
|
||||
0x9b6f, 0x9dfa, 0x9e75, 0x788c, 0x797f, 0x7da0, 0x83c9, 0x9304, 0x9e7f,
|
||||
0x9e93, 0x8ad6, 0x58df, 0x5f04, 0x6727, 0x7027, 0x74cf, 0x7c60, 0x807e,
|
||||
0x5121, 0x7028, 0x7262, 0x78ca, 0x8cc2, 0x8cda, 0x8cf4, 0x96f7, 0x4e86,
|
||||
0x50da, 0x5bee, 0x5ed6, 0x6599, 0x71ce, 0x7642, 0x77ad, 0x804a, 0x84fc,
|
||||
0x907c, 0x9b27, 0x9f8d, 0x58d8, 0x5a41, 0x5c62, 0x6a13, 0x6dda, 0x6f0f,
|
||||
0x763b, 0x7d2f, 0x7e37, 0x851e, 0x8938, 0x93e4, 0x964b, 0x5289, 0x65d2,
|
||||
0x67f3, 0x69b4, 0x6d41, 0x6e9c, 0x700f, 0x7409, 0x7460, 0x7559, 0x7624,
|
||||
0x786b, 0x8b2c, 0x985e, 0x516d, 0x622e, 0x9678, 0x4f96, 0x502b, 0x5d19,
|
||||
0x6dea, 0x7db8, 0x8f2a, 0x5f8b, 0x6144, 0x6817, 0xf961, 0x9686, 0x52d2,
|
||||
0x808b, 0x51dc, 0x51cc, 0x695e, 0x7a1c, 0x7dbe, 0x83f1, 0x9675, 0x4fda,
|
||||
0x5229, 0x5398, 0x540f, 0x550e, 0x5c65, 0x60a7, 0x674e, 0x68a8, 0x6d6c,
|
||||
0x7281, 0x72f8, 0x7406, 0x7483, 0xf962, 0x75e2, 0x7c6c, 0x7f79, 0x7fb8,
|
||||
0x8389, 0x88cf, 0x88e1, 0x91cc, 0x91d0, 0x96e2, 0x9bc9, 0x541d, 0x6f7e,
|
||||
0x71d0, 0x7498, 0x85fa, 0x8eaa, 0x96a3, 0x9c57, 0x9e9f, 0x6797, 0x6dcb,
|
||||
0x7433, 0x81e8, 0x9716, 0x782c, 0x7acb, 0x7b20, 0x7c92, 0x6469, 0x746a,
|
||||
0x75f2, 0x78bc, 0x78e8, 0x99ac, 0x9b54, 0x9ebb, 0x5bde, 0x5e55, 0x6f20,
|
||||
0x819c, 0x83ab, 0x9088, 0x4e07, 0x534d, 0x5a29, 0x5dd2, 0x5f4e, 0x6162,
|
||||
0x633d, 0x6669, 0x66fc, 0x6eff, 0x6f2b, 0x7063, 0x779e, 0x842c, 0x8513,
|
||||
0x883b, 0x8f13, 0x9945, 0x9c3b, 0x551c, 0x62b9, 0x672b, 0x6cab, 0x8309,
|
||||
0x896a, 0x977a, 0x4ea1, 0x5984, 0x5fd8, 0x5fd9, 0x671b, 0x7db2, 0x7f54,
|
||||
0x8292, 0x832b, 0x83bd, 0x8f1e, 0x9099, 0x57cb, 0x59b9, 0x5a92, 0x5bd0,
|
||||
0x6627, 0x679a, 0x6885, 0x6bcf, 0x7164, 0x7f75, 0x8cb7, 0x8ce3, 0x9081,
|
||||
0x9b45, 0x8108, 0x8c8a, 0x964c, 0x9a40, 0x9ea5, 0x5b5f, 0x6c13, 0x731b,
|
||||
0x76f2, 0x76df, 0x840c, 0x51aa, 0x8993, 0x514d, 0x5195, 0x52c9, 0x68c9,
|
||||
0x6c94, 0x7704, 0x7720, 0x7dbf, 0x7dec, 0x9762, 0x9eb5, 0x6ec5, 0x8511,
|
||||
0x51a5, 0x540d, 0x547d, 0x660e, 0x669d, 0x6927, 0x6e9f, 0x76bf, 0x7791,
|
||||
0x8317, 0x84c2, 0x879f, 0x9169, 0x9298, 0x9cf4, 0x8882, 0x4fae, 0x5192,
|
||||
0x52df, 0x59c6, 0x5e3d, 0x6155, 0x6478, 0x6479, 0x66ae, 0x67d0, 0x6a21,
|
||||
0x6bcd, 0x6bdb, 0x725f, 0x7261, 0x7441, 0x7738, 0x77db, 0x8017, 0x82bc,
|
||||
0x8305, 0x8b00, 0x8b28, 0x8c8c, 0x6728, 0x6c90, 0x7267, 0x76ee, 0x7766,
|
||||
0x7a46, 0x9da9, 0x6b7f, 0x6c92, 0x5922, 0x6726, 0x8499, 0x536f, 0x5893,
|
||||
0x5999, 0x5edf, 0x63cf, 0x6634, 0x6773, 0x6e3a, 0x732b, 0x7ad7, 0x82d7,
|
||||
0x9328, 0x52d9, 0x5deb, 0x61ae, 0x61cb, 0x620a, 0x62c7, 0x64ab, 0x65e0,
|
||||
0x6959, 0x6b66, 0x6bcb, 0x7121, 0x73f7, 0x755d, 0x7e46, 0x821e, 0x8302,
|
||||
0x856a, 0x8aa3, 0x8cbf, 0x9727, 0x9d61, 0x58a8, 0x9ed8, 0x5011, 0x520e,
|
||||
0x543b, 0x554f, 0x6587, 0x6c76, 0x7d0a, 0x7d0b, 0x805e, 0x868a, 0x9580,
|
||||
0x96ef, 0x52ff, 0x6c95, 0x7269, 0x5473, 0x5a9a, 0x5c3e, 0x5d4b, 0x5f4c,
|
||||
0x5fae, 0x672a, 0x68b6, 0x6963, 0x6e3c, 0x6e44, 0x7709, 0x7c73, 0x7f8e,
|
||||
0x8587, 0x8b0e, 0x8ff7, 0x9761, 0x9ef4, 0x5cb7, 0x60b6, 0x610d, 0x61ab,
|
||||
0x654f, 0x65fb, 0x65fc, 0x6c11, 0x6cef, 0x739f, 0x73c9, 0x7de1, 0x9594,
|
||||
0x5bc6, 0x871c, 0x8b10, 0x525d, 0x535a, 0x62cd, 0x640f, 0x64b2, 0x6734,
|
||||
0x6a38, 0x6cca, 0x73c0, 0x749e, 0x7b94, 0x7c95, 0x7e1b, 0x818a, 0x8236,
|
||||
0x8584, 0x8feb, 0x96f9, 0x99c1, 0x4f34, 0x534a, 0x53cd, 0x53db, 0x62cc,
|
||||
0x642c, 0x6500, 0x6591, 0x69c3, 0x6cee, 0x6f58, 0x73ed, 0x7554, 0x7622,
|
||||
0x76e4, 0x76fc, 0x78d0, 0x78fb, 0x792c, 0x7d46, 0x822c, 0x87e0, 0x8fd4,
|
||||
0x9812, 0x98ef, 0x52c3, 0x62d4, 0x64a5, 0x6e24, 0x6f51, 0x767c, 0x8dcb,
|
||||
0x91b1, 0x9262, 0x9aee, 0x9b43, 0x5023, 0x508d, 0x574a, 0x59a8, 0x5c28,
|
||||
0x5e47, 0x5f77, 0x623f, 0x653e, 0x65b9, 0x65c1, 0x6609, 0x678b, 0x699c,
|
||||
0x6ec2, 0x78c5, 0x7d21, 0x80aa, 0x8180, 0x822b, 0x82b3, 0x84a1, 0x868c,
|
||||
0x8a2a, 0x8b17, 0x90a6, 0x9632, 0x9f90, 0x500d, 0x4ff3, 0xf963, 0x57f9,
|
||||
0x5f98, 0x62dc, 0x6392, 0x676f, 0x6e43, 0x7119, 0x76c3, 0x80cc, 0x80da,
|
||||
0x88f4, 0x88f5, 0x8919, 0x8ce0, 0x8f29, 0x914d, 0x966a, 0x4f2f, 0x4f70,
|
||||
0x5e1b, 0x67cf, 0x6822, 0x767d, 0x767e, 0x9b44, 0x5e61, 0x6a0a, 0x7169,
|
||||
0x71d4, 0x756a, 0xf964, 0x7e41, 0x8543, 0x85e9, 0x98dc, 0x4f10, 0x7b4f,
|
||||
0x7f70, 0x95a5, 0x51e1, 0x5e06, 0x68b5, 0x6c3e, 0x6c4e, 0x6cdb, 0x72af,
|
||||
0x7bc4, 0x8303, 0x6cd5, 0x743a, 0x50fb, 0x5288, 0x58c1, 0x64d8, 0x6a97,
|
||||
0x74a7, 0x7656, 0x78a7, 0x8617, 0x95e2, 0x9739, 0xf965, 0x535e, 0x5f01,
|
||||
0x8b8a, 0x8fa8, 0x8faf, 0x908a, 0x5225, 0x77a5, 0x9c49, 0x9f08, 0x4e19,
|
||||
0x5002, 0x5175, 0x5c5b, 0x5e77, 0x661e, 0x663a, 0x67c4, 0x68c5, 0x70b3,
|
||||
0x7501, 0x75c5, 0x79c9, 0x7add, 0x8f27, 0x9920, 0x9a08, 0x4fdd, 0x5821,
|
||||
0x5831, 0x5bf6, 0x666e, 0x6b65, 0x6d11, 0x6e7a, 0x6f7d, 0x73e4, 0x752b,
|
||||
0x83e9, 0x88dc, 0x8913, 0x8b5c, 0x8f14, 0x4f0f, 0x50d5, 0x5310, 0x535c,
|
||||
0x5b93, 0x5fa9, 0x670d, 0x798f, 0x8179, 0x832f, 0x8514, 0x8907, 0x8986,
|
||||
0x8f39, 0x8f3b, 0x99a5, 0x9c12, 0x672c, 0x4e76, 0x4ff8, 0x5949, 0x5c01,
|
||||
0x5cef, 0x5cf0, 0x6367, 0x68d2, 0x70fd, 0x71a2, 0x742b, 0x7e2b, 0x84ec,
|
||||
0x8702, 0x9022, 0x92d2, 0x9cf3, 0x4e0d, 0x4ed8, 0x4fef, 0x5085, 0x5256,
|
||||
0x526f, 0x5426, 0x5490, 0x57e0, 0x592b, 0x5a66, 0x5b5a, 0x5b75, 0x5bcc,
|
||||
0x5e9c, 0xf966, 0x6276, 0x6577, 0x65a7, 0x6d6e, 0x6ea5, 0x7236, 0x7b26,
|
||||
0x7c3f, 0x7f36, 0x8150, 0x8151, 0x819a, 0x8240, 0x8299, 0x83a9, 0x8a03,
|
||||
0x8ca0, 0x8ce6, 0x8cfb, 0x8d74, 0x8dba, 0x90e8, 0x91dc, 0x961c, 0x9644,
|
||||
0x99d9, 0x9ce7, 0x5317, 0x5206, 0x5429, 0x5674, 0x58b3, 0x5954, 0x596e,
|
||||
0x5fff, 0x61a4, 0x626e, 0x6610, 0x6c7e, 0x711a, 0x76c6, 0x7c89, 0x7cde,
|
||||
0x7d1b, 0x82ac, 0x8cc1, 0x96f0, 0xf967, 0x4f5b, 0x5f17, 0x5f7f, 0x62c2,
|
||||
0x5d29, 0x670b, 0x68da, 0x787c, 0x7e43, 0x9d6c, 0x4e15, 0x5099, 0x5315,
|
||||
0x532a, 0x5351, 0x5983, 0x5a62, 0x5e87, 0x60b2, 0x618a, 0x6249, 0x6279,
|
||||
0x6590, 0x6787, 0x69a7, 0x6bd4, 0x6bd6, 0x6bd7, 0x6bd8, 0x6cb8, 0xf968,
|
||||
0x7435, 0x75fa, 0x7812, 0x7891, 0x79d5, 0x79d8, 0x7c83, 0x7dcb, 0x7fe1,
|
||||
0x80a5, 0x813e, 0x81c2, 0x83f2, 0x871a, 0x88e8, 0x8ab9, 0x8b6c, 0x8cbb,
|
||||
0x9119, 0x975e, 0x98db, 0x9f3b, 0x56ac, 0x5b2a, 0x5f6c, 0x658c, 0x6ab3,
|
||||
0x6baf, 0x6d5c, 0x6ff1, 0x7015, 0x725d, 0x73ad, 0x8ca7, 0x8cd3, 0x983b,
|
||||
0x6191, 0x6c37, 0x8058, 0x9a01, 0x4e4d, 0x4e8b, 0x4e9b, 0x4ed5, 0x4f3a,
|
||||
0x4f3c, 0x4f7f, 0x4fdf, 0x50ff, 0x53f2, 0x53f8, 0x5506, 0x55e3, 0x56db,
|
||||
0x58eb, 0x5962, 0x5a11, 0x5beb, 0x5bfa, 0x5c04, 0x5df3, 0x5e2b, 0x5f99,
|
||||
0x601d, 0x6368, 0x659c, 0x65af, 0x67f6, 0x67fb, 0x68ad, 0x6b7b, 0x6c99,
|
||||
0x6cd7, 0x6e23, 0x7009, 0x7345, 0x7802, 0x793e, 0x7940, 0x7960, 0x79c1,
|
||||
0x7be9, 0x7d17, 0x7d72, 0x8086, 0x820d, 0x838e, 0x84d1, 0x86c7, 0x88df,
|
||||
0x8a50, 0x8a5e, 0x8b1d, 0x8cdc, 0x8d66, 0x8fad, 0x90aa, 0x98fc, 0x99df,
|
||||
0x9e9d, 0x524a, 0xf969, 0x6714, 0xf96a, 0x5098, 0x522a, 0x5c71, 0x6563,
|
||||
0x6c55, 0x73ca, 0x7523, 0x759d, 0x7b97, 0x849c, 0x9178, 0x9730, 0x4e77,
|
||||
0x6492, 0x6bba, 0x715e, 0x85a9, 0x4e09, 0xf96b, 0x6749, 0x68ee, 0x6e17,
|
||||
0x829f, 0x8518, 0x886b, 0x63f7, 0x6f81, 0x9212, 0x98af, 0x4e0a, 0x50b7,
|
||||
0x50cf, 0x511f, 0x5546, 0x55aa, 0x5617, 0x5b40, 0x5c19, 0x5ce0, 0x5e38,
|
||||
0x5e8a, 0x5ea0, 0x5ec2, 0x60f3, 0x6851, 0x6a61, 0x6e58, 0x723d, 0x7240,
|
||||
0x72c0, 0x76f8, 0x7965, 0x7bb1, 0x7fd4, 0x88f3, 0x89f4, 0x8a73, 0x8c61,
|
||||
0x8cde, 0x971c, 0x585e, 0x74bd, 0x8cfd, 0x55c7, 0xf96c, 0x7a61, 0x7d22,
|
||||
0x8272, 0x7272, 0x751f, 0x7525, 0xf96d, 0x7b19, 0x5885, 0x58fb, 0x5dbc,
|
||||
0x5e8f, 0x5eb6, 0x5f90, 0x6055, 0x6292, 0x637f, 0x654d, 0x6691, 0x66d9,
|
||||
0x66f8, 0x6816, 0x68f2, 0x7280, 0x745e, 0x7b6e, 0x7d6e, 0x7dd6, 0x7f72,
|
||||
0x80e5, 0x8212, 0x85af, 0x897f, 0x8a93, 0x901d, 0x92e4, 0x9ecd, 0x9f20,
|
||||
0x5915, 0x596d, 0x5e2d, 0x60dc, 0x6614, 0x6673, 0x6790, 0x6c50, 0x6dc5,
|
||||
0x6f5f, 0x77f3, 0x78a9, 0x84c6, 0x91cb, 0x932b, 0x4ed9, 0x50ca, 0x5148,
|
||||
0x5584, 0x5b0b, 0x5ba3, 0x6247, 0x657e, 0x65cb, 0x6e32, 0x717d, 0x7401,
|
||||
0x7444, 0x7487, 0x74bf, 0x766c, 0x79aa, 0x7dda, 0x7e55, 0x7fa8, 0x817a,
|
||||
0x81b3, 0x8239, 0x861a, 0x87ec, 0x8a75, 0x8de3, 0x9078, 0x9291, 0x9425,
|
||||
0x994d, 0x9bae, 0x5368, 0x5c51, 0x6954, 0x6cc4, 0x6d29, 0x6e2b, 0x820c,
|
||||
0x859b, 0x893b, 0x8a2d, 0x8aaa, 0x96ea, 0x9f67, 0x5261, 0x66b9, 0x6bb2,
|
||||
0x7e96, 0x87fe, 0x8d0d, 0x9583, 0x965d, 0x651d, 0x6d89, 0x71ee, 0xf96e,
|
||||
0x57ce, 0x59d3, 0x5bac, 0x6027, 0x60fa, 0x6210, 0x661f, 0x665f, 0x7329,
|
||||
0x73f9, 0x76db, 0x7701, 0x7b6c, 0x8056, 0x8072, 0x8165, 0x8aa0, 0x9192,
|
||||
0x4e16, 0x52e2, 0x6b72, 0x6d17, 0x7a05, 0x7b39, 0x7d30, 0xf96f, 0x8cb0,
|
||||
0x53ec, 0x562f, 0x5851, 0x5bb5, 0x5c0f, 0x5c11, 0x5de2, 0x6240, 0x6383,
|
||||
0x6414, 0x662d, 0x68b3, 0x6cbc, 0x6d88, 0x6eaf, 0x701f, 0x70a4, 0x71d2,
|
||||
0x7526, 0x758f, 0x758e, 0x7619, 0x7b11, 0x7be0, 0x7c2b, 0x7d20, 0x7d39,
|
||||
0x852c, 0x856d, 0x8607, 0x8a34, 0x900d, 0x9061, 0x90b5, 0x92b7, 0x97f6,
|
||||
0x9a37, 0x4fd7, 0x5c6c, 0x675f, 0x6d91, 0x7c9f, 0x7e8c, 0x8b16, 0x8d16,
|
||||
0x901f, 0x5b6b, 0x5dfd, 0x640d, 0x84c0, 0x905c, 0x98e1, 0x7387, 0x5b8b,
|
||||
0x609a, 0x677e, 0x6dde, 0x8a1f, 0x8aa6, 0x9001, 0x980c, 0x5237, 0xf970,
|
||||
0x7051, 0x788e, 0x9396, 0x8870, 0x91d7, 0x4fee, 0x53d7, 0x55fd, 0x56da,
|
||||
0x5782, 0x58fd, 0x5ac2, 0x5b88, 0x5cab, 0x5cc0, 0x5e25, 0x6101, 0x620d,
|
||||
0x624b, 0x6388, 0x641c, 0x6536, 0x6578, 0x6a39, 0x6b8a, 0x6c34, 0x6d19,
|
||||
0x6f31, 0x71e7, 0x72e9, 0x7378, 0x7407, 0x74b2, 0x7626, 0x7761, 0x79c0,
|
||||
0x7a57, 0x7aea, 0x7cb9, 0x7d8f, 0x7dac, 0x7e61, 0x7f9e, 0x8129, 0x8331,
|
||||
0x8490, 0x84da, 0x85ea, 0x8896, 0x8ab0, 0x8b90, 0x8f38, 0x9042, 0x9083,
|
||||
0x916c, 0x9296, 0x92b9, 0x968b, 0x96a7, 0x96a8, 0x96d6, 0x9700, 0x9808,
|
||||
0x9996, 0x9ad3, 0x9b1a, 0x53d4, 0x587e, 0x5919, 0x5b70, 0x5bbf, 0x6dd1,
|
||||
0x6f5a, 0x719f, 0x7421, 0x74b9, 0x8085, 0x83fd, 0x5de1, 0x5f87, 0x5faa,
|
||||
0x6042, 0x65ec, 0x6812, 0x696f, 0x6a53, 0x6b89, 0x6d35, 0x6df3, 0x73e3,
|
||||
0x76fe, 0x77ac, 0x7b4d, 0x7d14, 0x8123, 0x821c, 0x8340, 0x84f4, 0x8563,
|
||||
0x8a62, 0x8ac4, 0x9187, 0x931e, 0x9806, 0x99b4, 0x620c, 0x8853, 0x8ff0,
|
||||
0x9265, 0x5d07, 0x5d27, 0x5d69, 0x745f, 0x819d, 0x8768, 0x6fd5, 0x62fe,
|
||||
0x7fd2, 0x8936, 0x8972, 0x4e1e, 0x4e58, 0x50e7, 0x52dd, 0x5347, 0x627f,
|
||||
0x6607, 0x7e69, 0x8805, 0x965e, 0x4f8d, 0x5319, 0x5636, 0x59cb, 0x5aa4,
|
||||
0x5c38, 0x5c4e, 0x5c4d, 0x5e02, 0x5f11, 0x6043, 0x65bd, 0x662f, 0x6642,
|
||||
0x67be, 0x67f4, 0x731c, 0x77e2, 0x793a, 0x7fc5, 0x8494, 0x84cd, 0x8996,
|
||||
0x8a66, 0x8a69, 0x8ae1, 0x8c55, 0x8c7a, 0x57f4, 0x5bd4, 0x5f0f, 0x606f,
|
||||
0x62ed, 0x690d, 0x6b96, 0x6e5c, 0x7184, 0x7bd2, 0x8755, 0x8b58, 0x8efe,
|
||||
0x98df, 0x98fe, 0x4f38, 0x4f81, 0x4fe1, 0x547b, 0x5a20, 0x5bb8, 0x613c,
|
||||
0x65b0, 0x6668, 0x71fc, 0x7533, 0x795e, 0x7d33, 0x814e, 0x81e3, 0x8398,
|
||||
0x85aa, 0x85ce, 0x8703, 0x8a0a, 0x8eab, 0x8f9b, 0xf971, 0x8fc5, 0x5931,
|
||||
0x5ba4, 0x5be6, 0x6089, 0x5be9, 0x5c0b, 0x5fc3, 0x6c81, 0xf972, 0x6df1,
|
||||
0x700b, 0x751a, 0x82af, 0x8af6, 0x4ec0, 0x5341, 0xf973, 0x96d9, 0x6c0f,
|
||||
0x4e9e, 0x4fc4, 0x5152, 0x555e, 0x5a25, 0x5ce8, 0x6211, 0x7259, 0x82bd,
|
||||
0x83aa, 0x86fe, 0x8859, 0x8a1d, 0x963f, 0x96c5, 0x9913, 0x9d09, 0x9d5d,
|
||||
0x580a, 0x5cb3, 0x5dbd, 0x5e44, 0x60e1, 0x6115, 0x63e1, 0x6a02, 0x6e25,
|
||||
0x9102, 0x9354, 0x984e, 0x9c10, 0x9f77, 0x5b89, 0x5cb8, 0x6309, 0x664f,
|
||||
0x6848, 0x773c, 0x96c1, 0x978d, 0x9854, 0x9b9f, 0x65a1, 0x8b01, 0x8ecb,
|
||||
0x95bc, 0x5535, 0x5ca9, 0x5dd6, 0x5eb5, 0x6697, 0x764c, 0x83f4, 0x95c7,
|
||||
0x58d3, 0x62bc, 0x72ce, 0x9d28, 0x4ef0, 0x592e, 0x600f, 0x663b, 0x6b83,
|
||||
0x79e7, 0x9d26, 0x5393, 0x54c0, 0x57c3, 0x5d16, 0x611b, 0x66d6, 0x6daf,
|
||||
0x788d, 0x827e, 0x9698, 0x9744, 0x5384, 0x627c, 0x6396, 0x6db2, 0x7e0a,
|
||||
0x814b, 0x984d, 0x6afb, 0x7f4c, 0x9daf, 0x9e1a, 0x4e5f, 0x503b, 0x51b6,
|
||||
0x591c, 0x60f9, 0x63f6, 0x6930, 0x723a, 0x8036, 0xf974, 0x91ce, 0x5f31,
|
||||
0xf975, 0xf976, 0x7d04, 0x82e5, 0x846f, 0x84bb, 0x85e5, 0x8e8d, 0xf977,
|
||||
0x4f6f, 0xf978, 0xf979, 0x58e4, 0x5b43, 0x6059, 0x63da, 0x6518, 0x656d,
|
||||
0x6698, 0xf97a, 0x694a, 0x6a23, 0x6d0b, 0x7001, 0x716c, 0x75d2, 0x760d,
|
||||
0x79b3, 0x7a70, 0xf97b, 0x7f8a, 0xf97c, 0x8944, 0xf97d, 0x8b93, 0x91c0,
|
||||
0x967d, 0xf97e, 0x990a, 0x5704, 0x5fa1, 0x65bc, 0x6f01, 0x7600, 0x79a6,
|
||||
0x8a9e, 0x99ad, 0x9b5a, 0x9f6c, 0x5104, 0x61b6, 0x6291, 0x6a8d, 0x81c6,
|
||||
0x5043, 0x5830, 0x5f66, 0x7109, 0x8a00, 0x8afa, 0x5b7c, 0x8616, 0x4ffa,
|
||||
0x513c, 0x56b4, 0x5944, 0x63a9, 0x6df9, 0x5daa, 0x696d, 0x5186, 0x4e88,
|
||||
0x4f59, 0xf97f, 0xf980, 0xf981, 0x5982, 0xf982, 0xf983, 0x6b5f, 0x6c5d,
|
||||
0xf984, 0x74b5, 0x7916, 0xf985, 0x8207, 0x8245, 0x8339, 0x8f3f, 0x8f5d,
|
||||
0xf986, 0x9918, 0xf987, 0xf988, 0xf989, 0x4ea6, 0xf98a, 0x57df, 0x5f79,
|
||||
0x6613, 0xf98b, 0xf98c, 0x75ab, 0x7e79, 0x8b6f, 0xf98d, 0x9006, 0x9a5b,
|
||||
0x56a5, 0x5827, 0x59f8, 0x5a1f, 0x5bb4, 0xf98e, 0x5ef6, 0xf98f, 0xf990,
|
||||
0x6350, 0x633b, 0xf991, 0x693d, 0x6c87, 0x6cbf, 0x6d8e, 0x6d93, 0x6df5,
|
||||
0x6f14, 0xf992, 0x70df, 0x7136, 0x7159, 0xf993, 0x71c3, 0x71d5, 0xf994,
|
||||
0x784f, 0x786f, 0xf995, 0x7b75, 0x7de3, 0xf996, 0x7e2f, 0xf997, 0x884d,
|
||||
0x8edf, 0xf998, 0xf999, 0xf99a, 0x925b, 0xf99b, 0x9cf6, 0xf99c, 0xf99d,
|
||||
0xf99e, 0x6085, 0x6d85, 0xf99f, 0x71b1, 0xf9a0, 0xf9a1, 0x95b1, 0x53ad,
|
||||
0xf9a2, 0xf9a3, 0xf9a4, 0x67d3, 0xf9a5, 0x708e, 0x7130, 0x7430, 0x8276,
|
||||
0x82d2, 0xf9a6, 0x95bb, 0x9ae5, 0x9e7d, 0x66c4, 0xf9a7, 0x71c1, 0x8449,
|
||||
0xf9a8, 0xf9a9, 0x584b, 0xf9aa, 0xf9ab, 0x5db8, 0x5f71, 0xf9ac, 0x6620,
|
||||
0x668e, 0x6979, 0x69ae, 0x6c38, 0x6cf3, 0x6e36, 0x6f41, 0x6fda, 0x701b,
|
||||
0x702f, 0x7150, 0x71df, 0x7370, 0xf9ad, 0x745b, 0xf9ae, 0x74d4, 0x76c8,
|
||||
0x7a4e, 0x7e93, 0xf9af, 0xf9b0, 0x82f1, 0x8a60, 0x8fce, 0xf9b1, 0x9348,
|
||||
0xf9b2, 0x9719, 0xf9b3, 0xf9b4, 0x4e42, 0x502a, 0xf9b5, 0x5208, 0x53e1,
|
||||
0x66f3, 0x6c6d, 0x6fca, 0x730a, 0x777f, 0x7a62, 0x82ae, 0x85dd, 0x8602,
|
||||
0xf9b6, 0x88d4, 0x8a63, 0x8b7d, 0x8c6b, 0xf9b7, 0x92b3, 0xf9b8, 0x9713,
|
||||
0x9810, 0x4e94, 0x4f0d, 0x4fc9, 0x50b2, 0x5348, 0x543e, 0x5433, 0x55da,
|
||||
0x5862, 0x58ba, 0x5967, 0x5a1b, 0x5be4, 0x609f, 0xf9b9, 0x61ca, 0x6556,
|
||||
0x65ff, 0x6664, 0x68a7, 0x6c5a, 0x6fb3, 0x70cf, 0x71ac, 0x7352, 0x7b7d,
|
||||
0x8708, 0x8aa4, 0x9c32, 0x9f07, 0x5c4b, 0x6c83, 0x7344, 0x7389, 0x923a,
|
||||
0x6eab, 0x7465, 0x761f, 0x7a69, 0x7e15, 0x860a, 0x5140, 0x58c5, 0x64c1,
|
||||
0x74ee, 0x7515, 0x7670, 0x7fc1, 0x9095, 0x96cd, 0x9954, 0x6e26, 0x74e6,
|
||||
0x7aa9, 0x7aaa, 0x81e5, 0x86d9, 0x8778, 0x8a1b, 0x5a49, 0x5b8c, 0x5b9b,
|
||||
0x68a1, 0x6900, 0x6d63, 0x73a9, 0x7413, 0x742c, 0x7897, 0x7de9, 0x7feb,
|
||||
0x8118, 0x8155, 0x839e, 0x8c4c, 0x962e, 0x9811, 0x66f0, 0x5f80, 0x65fa,
|
||||
0x6789, 0x6c6a, 0x738b, 0x502d, 0x5a03, 0x6b6a, 0x77ee, 0x5916, 0x5d6c,
|
||||
0x5dcd, 0x7325, 0x754f, 0xf9ba, 0xf9bb, 0x50e5, 0x51f9, 0x582f, 0x592d,
|
||||
0x5996, 0x59da, 0x5be5, 0xf9bc, 0xf9bd, 0x5da2, 0x62d7, 0x6416, 0x6493,
|
||||
0x64fe, 0xf9be, 0x66dc, 0xf9bf, 0x6a48, 0xf9c0, 0x71ff, 0x7464, 0xf9c1,
|
||||
0x7a88, 0x7aaf, 0x7e47, 0x7e5e, 0x8000, 0x8170, 0xf9c2, 0x87ef, 0x8981,
|
||||
0x8b20, 0x9059, 0xf9c3, 0x9080, 0x9952, 0x617e, 0x6b32, 0x6d74, 0x7e1f,
|
||||
0x8925, 0x8fb1, 0x4fd1, 0x50ad, 0x5197, 0x52c7, 0x57c7, 0x5889, 0x5bb9,
|
||||
0x5eb8, 0x6142, 0x6995, 0x6d8c, 0x6e67, 0x6eb6, 0x7194, 0x7462, 0x7528,
|
||||
0x752c, 0x8073, 0x8338, 0x84c9, 0x8e0a, 0x9394, 0x93de, 0xf9c4, 0x4e8e,
|
||||
0x4f51, 0x5076, 0x512a, 0x53c8, 0x53cb, 0x53f3, 0x5b87, 0x5bd3, 0x5c24,
|
||||
0x611a, 0x6182, 0x65f4, 0x725b, 0x7397, 0x7440, 0x76c2, 0x7950, 0x7991,
|
||||
0x79b9, 0x7d06, 0x7fbd, 0x828b, 0x85d5, 0x865e, 0x8fc2, 0x9047, 0x90f5,
|
||||
0x91ea, 0x9685, 0x96e8, 0x96e9, 0x52d6, 0x5f67, 0x65ed, 0x6631, 0x682f,
|
||||
0x715c, 0x7a36, 0x90c1, 0x980a, 0x4e91, 0xf9c5, 0x6a52, 0x6b9e, 0x6f90,
|
||||
0x7189, 0x8018, 0x82b8, 0x8553, 0x904b, 0x9695, 0x96f2, 0x97fb, 0x851a,
|
||||
0x9b31, 0x4e90, 0x718a, 0x96c4, 0x5143, 0x539f, 0x54e1, 0x5713, 0x5712,
|
||||
0x57a3, 0x5a9b, 0x5ac4, 0x5bc3, 0x6028, 0x613f, 0x63f4, 0x6c85, 0x6d39,
|
||||
0x6e72, 0x6e90, 0x7230, 0x733f, 0x7457, 0x82d1, 0x8881, 0x8f45, 0x9060,
|
||||
0xf9c6, 0x9662, 0x9858, 0x9d1b, 0x6708, 0x8d8a, 0x925e, 0x4f4d, 0x5049,
|
||||
0x50de, 0x5371, 0x570d, 0x59d4, 0x5a01, 0x5c09, 0x6170, 0x6690, 0x6e2d,
|
||||
0x7232, 0x744b, 0x7def, 0x80c3, 0x840e, 0x8466, 0x853f, 0x875f, 0x885b,
|
||||
0x8918, 0x8b02, 0x9055, 0x97cb, 0x9b4f, 0x4e73, 0x4f91, 0x5112, 0x516a,
|
||||
0xf9c7, 0x552f, 0x55a9, 0x5b7a, 0x5ba5, 0x5e7c, 0x5e7d, 0x5ebe, 0x60a0,
|
||||
0x60df, 0x6108, 0x6109, 0x63c4, 0x6538, 0x6709, 0xf9c8, 0x67d4, 0x67da,
|
||||
0xf9c9, 0x6961, 0x6962, 0x6cb9, 0x6d27, 0xf9ca, 0x6e38, 0xf9cb, 0x6fe1,
|
||||
0x7336, 0x7337, 0xf9cc, 0x745c, 0x7531, 0xf9cd, 0x7652, 0xf9ce, 0xf9cf,
|
||||
0x7dad, 0x81fe, 0x8438, 0x88d5, 0x8a98, 0x8adb, 0x8aed, 0x8e30, 0x8e42,
|
||||
0x904a, 0x903e, 0x907a, 0x9149, 0x91c9, 0x936e, 0xf9d0, 0xf9d1, 0x5809,
|
||||
0xf9d2, 0x6bd3, 0x8089, 0x80b2, 0xf9d3, 0xf9d4, 0x5141, 0x596b, 0x5c39,
|
||||
0xf9d5, 0xf9d6, 0x6f64, 0x73a7, 0x80e4, 0x8d07, 0xf9d7, 0x9217, 0x958f,
|
||||
0xf9d8, 0xf9d9, 0xf9da, 0xf9db, 0x807f, 0x620e, 0x701c, 0x7d68, 0x878d,
|
||||
0xf9dc, 0x57a0, 0x6069, 0x6147, 0x6bb7, 0x8abe, 0x9280, 0x96b1, 0x4e59,
|
||||
0x541f, 0x6deb, 0x852d, 0x9670, 0x97f3, 0x98ee, 0x63d6, 0x6ce3, 0x9091,
|
||||
0x51dd, 0x61c9, 0x81ba, 0x9df9, 0x4f9d, 0x501a, 0x5100, 0x5b9c, 0x610f,
|
||||
0x61ff, 0x64ec, 0x6905, 0x6bc5, 0x7591, 0x77e3, 0x7fa9, 0x8264, 0x858f,
|
||||
0x87fb, 0x8863, 0x8abc, 0x8b70, 0x91ab, 0x4e8c, 0x4ee5, 0x4f0a, 0xf9dd,
|
||||
0xf9de, 0x5937, 0x59e8, 0xf9df, 0x5df2, 0x5f1b, 0x5f5b, 0x6021, 0xf9e0,
|
||||
0xf9e1, 0xf9e2, 0xf9e3, 0x723e, 0x73e5, 0xf9e4, 0x7570, 0x75cd, 0xf9e5,
|
||||
0x79fb, 0xf9e6, 0x800c, 0x8033, 0x8084, 0x82e1, 0x8351, 0xf9e7, 0xf9e8,
|
||||
0x8cbd, 0x8cb3, 0x9087, 0xf9e9, 0xf9ea, 0x98f4, 0x990c, 0xf9eb, 0xf9ec,
|
||||
0x7037, 0x76ca, 0x7fca, 0x7fcc, 0x7ffc, 0x8b1a, 0x4eba, 0x4ec1, 0x5203,
|
||||
0x5370, 0xf9ed, 0x54bd, 0x56e0, 0x59fb, 0x5bc5, 0x5f15, 0x5fcd, 0x6e6e,
|
||||
0xf9ee, 0xf9ef, 0x7d6a, 0x8335, 0xf9f0, 0x8693, 0x8a8d, 0xf9f1, 0x976d,
|
||||
0x9777, 0xf9f2, 0xf9f3, 0x4e00, 0x4f5a, 0x4f7e, 0x58f9, 0x65e5, 0x6ea2,
|
||||
0x9038, 0x93b0, 0x99b9, 0x4efb, 0x58ec, 0x598a, 0x59d9, 0x6041, 0xf9f4,
|
||||
0xf9f5, 0x7a14, 0xf9f6, 0x834f, 0x8cc3, 0x5165, 0x5344, 0xf9f7, 0xf9f8,
|
||||
0xf9f9, 0x4ecd, 0x5269, 0x5b55, 0x82bf, 0x4ed4, 0x523a, 0x54a8, 0x59c9,
|
||||
0x59ff, 0x5b50, 0x5b57, 0x5b5c, 0x6063, 0x6148, 0x6ecb, 0x7099, 0x716e,
|
||||
0x7386, 0x74f7, 0x75b5, 0x78c1, 0x7d2b, 0x8005, 0x81ea, 0x8328, 0x8517,
|
||||
0x85c9, 0x8aee, 0x8cc7, 0x96cc, 0x4f5c, 0x52fa, 0x56bc, 0x65ab, 0x6628,
|
||||
0x707c, 0x70b8, 0x7235, 0x7dbd, 0x828d, 0x914c, 0x96c0, 0x9d72, 0x5b71,
|
||||
0x68e7, 0x6b98, 0x6f7a, 0x76de, 0x5c91, 0x66ab, 0x6f5b, 0x7bb4, 0x7c2a,
|
||||
0x8836, 0x96dc, 0x4e08, 0x4ed7, 0x5320, 0x5834, 0x58bb, 0x58ef, 0x596c,
|
||||
0x5c07, 0x5e33, 0x5e84, 0x5f35, 0x638c, 0x66b2, 0x6756, 0x6a1f, 0x6aa3,
|
||||
0x6b0c, 0x6f3f, 0x7246, 0xf9fa, 0x7350, 0x748b, 0x7ae0, 0x7ca7, 0x8178,
|
||||
0x81df, 0x81e7, 0x838a, 0x846c, 0x8523, 0x8594, 0x85cf, 0x88dd, 0x8d13,
|
||||
0x91ac, 0x9577, 0x969c, 0x518d, 0x54c9, 0x5728, 0x5bb0, 0x624d, 0x6750,
|
||||
0x683d, 0x6893, 0x6e3d, 0x6ed3, 0x707d, 0x7e21, 0x88c1, 0x8ca1, 0x8f09,
|
||||
0x9f4b, 0x9f4e, 0x722d, 0x7b8f, 0x8acd, 0x931a, 0x4f47, 0x4f4e, 0x5132,
|
||||
0x5480, 0x59d0, 0x5e95, 0x62b5, 0x6775, 0x696e, 0x6a17, 0x6cae, 0x6e1a,
|
||||
0x72d9, 0x732a, 0x75bd, 0x7bb8, 0x7d35, 0x82e7, 0x83f9, 0x8457, 0x85f7,
|
||||
0x8a5b, 0x8caf, 0x8e87, 0x9019, 0x90b8, 0x96ce, 0x9f5f, 0x52e3, 0x540a,
|
||||
0x5ae1, 0x5bc2, 0x6458, 0x6575, 0x6ef4, 0x72c4, 0xf9fb, 0x7684, 0x7a4d,
|
||||
0x7b1b, 0x7c4d, 0x7e3e, 0x7fdf, 0x837b, 0x8b2b, 0x8cca, 0x8d64, 0x8de1,
|
||||
0x8e5f, 0x8fea, 0x8ff9, 0x9069, 0x93d1, 0x4f43, 0x4f7a, 0x50b3, 0x5168,
|
||||
0x5178, 0x524d, 0x526a, 0x5861, 0x587c, 0x5960, 0x5c08, 0x5c55, 0x5edb,
|
||||
0x609b, 0x6230, 0x6813, 0x6bbf, 0x6c08, 0x6fb1, 0x714e, 0x7420, 0x7530,
|
||||
0x7538, 0x7551, 0x7672, 0x7b4c, 0x7b8b, 0x7bad, 0x7bc6, 0x7e8f, 0x8a6e,
|
||||
0x8f3e, 0x8f49, 0x923f, 0x9293, 0x9322, 0x942b, 0x96fb, 0x985a, 0x986b,
|
||||
0x991e, 0x5207, 0x622a, 0x6298, 0x6d59, 0x7664, 0x7aca, 0x7bc0, 0x7d76,
|
||||
0x5360, 0x5cbe, 0x5e97, 0x6f38, 0x70b9, 0x7c98, 0x9711, 0x9b8e, 0x9ede,
|
||||
0x63a5, 0x647a, 0x8776, 0x4e01, 0x4e95, 0x4ead, 0x505c, 0x5075, 0x5448,
|
||||
0x59c3, 0x5b9a, 0x5e40, 0x5ead, 0x5ef7, 0x5f81, 0x60c5, 0x633a, 0x653f,
|
||||
0x6574, 0x65cc, 0x6676, 0x6678, 0x67fe, 0x6968, 0x6a89, 0x6b63, 0x6c40,
|
||||
0x6dc0, 0x6de8, 0x6e1f, 0x6e5e, 0x701e, 0x70a1, 0x738e, 0x73fd, 0x753a,
|
||||
0x775b, 0x7887, 0x798e, 0x7a0b, 0x7a7d, 0x7cbe, 0x7d8e, 0x8247, 0x8a02,
|
||||
0x8aea, 0x8c9e, 0x912d, 0x914a, 0x91d8, 0x9266, 0x92cc, 0x9320, 0x9706,
|
||||
0x9756, 0x975c, 0x9802, 0x9f0e, 0x5236, 0x5291, 0x557c, 0x5824, 0x5e1d,
|
||||
0x5f1f, 0x608c, 0x63d0, 0x68af, 0x6fdf, 0x796d, 0x7b2c, 0x81cd, 0x85ba,
|
||||
0x88fd, 0x8af8, 0x8e44, 0x918d, 0x9664, 0x969b, 0x973d, 0x984c, 0x9f4a,
|
||||
0x4fce, 0x5146, 0x51cb, 0x52a9, 0x5632, 0x5f14, 0x5f6b, 0x63aa, 0x64cd,
|
||||
0x65e9, 0x6641, 0x66fa, 0x66f9, 0x671d, 0x689d, 0x68d7, 0x69fd, 0x6f15,
|
||||
0x6f6e, 0x7167, 0x71e5, 0x722a, 0x74aa, 0x773a, 0x7956, 0x795a, 0x79df,
|
||||
0x7a20, 0x7a95, 0x7c97, 0x7cdf, 0x7d44, 0x7e70, 0x8087, 0x85fb, 0x86a4,
|
||||
0x8a54, 0x8abf, 0x8d99, 0x8e81, 0x9020, 0x906d, 0x91e3, 0x963b, 0x96d5,
|
||||
0x9ce5, 0x65cf, 0x7c07, 0x8db3, 0x93c3, 0x5b58, 0x5c0a, 0x5352, 0x62d9,
|
||||
0x731d, 0x5027, 0x5b97, 0x5f9e, 0x60b0, 0x616b, 0x68d5, 0x6dd9, 0x742e,
|
||||
0x7a2e, 0x7d42, 0x7d9c, 0x7e31, 0x816b, 0x8e2a, 0x8e35, 0x937e, 0x9418,
|
||||
0x4f50, 0x5750, 0x5de6, 0x5ea7, 0x632b, 0x7f6a, 0x4e3b, 0x4f4f, 0x4f8f,
|
||||
0x505a, 0x59dd, 0x80c4, 0x546a, 0x5468, 0x55fe, 0x594f, 0x5b99, 0x5dde,
|
||||
0x5eda, 0x665d, 0x6731, 0x67f1, 0x682a, 0x6ce8, 0x6d32, 0x6e4a, 0x6f8d,
|
||||
0x70b7, 0x73e0, 0x7587, 0x7c4c, 0x7d02, 0x7d2c, 0x7da2, 0x821f, 0x86db,
|
||||
0x8a3b, 0x8a85, 0x8d70, 0x8e8a, 0x8f33, 0x9031, 0x914e, 0x9152, 0x9444,
|
||||
0x99d0, 0x7af9, 0x7ca5, 0x4fca, 0x5101, 0x51c6, 0x57c8, 0x5bef, 0x5cfb,
|
||||
0x6659, 0x6a3d, 0x6d5a, 0x6e96, 0x6fec, 0x710c, 0x756f, 0x7ae3, 0x8822,
|
||||
0x9021, 0x9075, 0x96cb, 0x99ff, 0x8301, 0x4e2d, 0x4ef2, 0x8846, 0x91cd,
|
||||
0x537d, 0x6adb, 0x696b, 0x6c41, 0x847a, 0x589e, 0x618e, 0x66fe, 0x62ef,
|
||||
0x70dd, 0x7511, 0x75c7, 0x7e52, 0x84b8, 0x8b49, 0x8d08, 0x4e4b, 0x53ea,
|
||||
0x54ab, 0x5730, 0x5740, 0x5fd7, 0x6301, 0x6307, 0x646f, 0x652f, 0x65e8,
|
||||
0x667a, 0x679d, 0x67b3, 0x6b62, 0x6c60, 0x6c9a, 0x6f2c, 0x77e5, 0x7825,
|
||||
0x7949, 0x7957, 0x7d19, 0x80a2, 0x8102, 0x81f3, 0x829d, 0x82b7, 0x8718,
|
||||
0x8a8c, 0xf9fc, 0x8d04, 0x8dbe, 0x9072, 0x76f4, 0x7a19, 0x7a37, 0x7e54,
|
||||
0x8077, 0x5507, 0x55d4, 0x5875, 0x632f, 0x6422, 0x6649, 0x664b, 0x686d,
|
||||
0x699b, 0x6b84, 0x6d25, 0x6eb1, 0x73cd, 0x7468, 0x74a1, 0x755b, 0x75b9,
|
||||
0x76e1, 0x771e, 0x778b, 0x79e6, 0x7e09, 0x7e1d, 0x81fb, 0x852f, 0x8897,
|
||||
0x8a3a, 0x8cd1, 0x8eeb, 0x8fb0, 0x9032, 0x93ad, 0x9663, 0x9673, 0x9707,
|
||||
0x4f84, 0x53f1, 0x59ea, 0x5ac9, 0x5e19, 0x684e, 0x74c6, 0x75be, 0x79e9,
|
||||
0x7a92, 0x81a3, 0x86ed, 0x8cea, 0x8dcc, 0x8fed, 0x659f, 0x6715, 0xf9fd,
|
||||
0x57f7, 0x6f57, 0x7ddd, 0x8f2f, 0x93f6, 0x96c6, 0x5fb5, 0x61f2, 0x6f84,
|
||||
0x4e14, 0x4f98, 0x501f, 0x53c9, 0x55df, 0x5d6f, 0x5dee, 0x6b21, 0x6b64,
|
||||
0x78cb, 0x7b9a, 0xf9fe, 0x8e49, 0x8eca, 0x906e, 0x6349, 0x643e, 0x7740,
|
||||
0x7a84, 0x932f, 0x947f, 0x9f6a, 0x64b0, 0x6faf, 0x71e6, 0x74a8, 0x74da,
|
||||
0x7ac4, 0x7c12, 0x7e82, 0x7cb2, 0x7e98, 0x8b9a, 0x8d0a, 0x947d, 0x9910,
|
||||
0x994c, 0x5239, 0x5bdf, 0x64e6, 0x672d, 0x7d2e, 0x50ed, 0x53c3, 0x5879,
|
||||
0x6158, 0x6159, 0x61fa, 0x65ac, 0x7ad9, 0x8b92, 0x8b96, 0x5009, 0x5021,
|
||||
0x5275, 0x5531, 0x5a3c, 0x5ee0, 0x5f70, 0x6134, 0x655e, 0x660c, 0x6636,
|
||||
0x66a2, 0x69cd, 0x6ec4, 0x6f32, 0x7316, 0x7621, 0x7a93, 0x8139, 0x8259,
|
||||
0x83d6, 0x84bc, 0x50b5, 0x57f0, 0x5bc0, 0x5be8, 0x5f69, 0x63a1, 0x7826,
|
||||
0x7db5, 0x83dc, 0x8521, 0x91c7, 0x91f5, 0x518a, 0x67f5, 0x7b56, 0x8cac,
|
||||
0x51c4, 0x59bb, 0x60bd, 0x8655, 0x501c, 0xf9ff, 0x5254, 0x5c3a, 0x617d,
|
||||
0x621a, 0x62d3, 0x64f2, 0x65a5, 0x6ecc, 0x7620, 0x810a, 0x8e60, 0x965f,
|
||||
0x96bb, 0x4edf, 0x5343, 0x5598, 0x5929, 0x5ddd, 0x64c5, 0x6cc9, 0x6dfa,
|
||||
0x7394, 0x7a7f, 0x821b, 0x85a6, 0x8ce4, 0x8e10, 0x9077, 0x91e7, 0x95e1,
|
||||
0x9621, 0x97c6, 0x51f8, 0x54f2, 0x5586, 0x5fb9, 0x64a4, 0x6f88, 0x7db4,
|
||||
0x8f1f, 0x8f4d, 0x9435, 0x50c9, 0x5c16, 0x6cbe, 0x6dfb, 0x751b, 0x77bb,
|
||||
0x7c3d, 0x7c64, 0x8a79, 0x8ac2, 0x581e, 0x59be, 0x5e16, 0x6377, 0x7252,
|
||||
0x758a, 0x776b, 0x8adc, 0x8cbc, 0x8f12, 0x5ef3, 0x6674, 0x6df8, 0x807d,
|
||||
0x83c1, 0x8acb, 0x9751, 0x9bd6, 0xfa00, 0x5243, 0x66ff, 0x6d95, 0x6eef,
|
||||
0x7de0, 0x8ae6, 0x902e, 0x905e, 0x9ad4, 0x521d, 0x527f, 0x54e8, 0x6194,
|
||||
0x6284, 0x62db, 0x68a2, 0x6912, 0x695a, 0x6a35, 0x7092, 0x7126, 0x785d,
|
||||
0x7901, 0x790e, 0x79d2, 0x7a0d, 0x8096, 0x8278, 0x82d5, 0x8349, 0x8549,
|
||||
0x8c82, 0x8d85, 0x9162, 0x918b, 0x91ae, 0x4fc3, 0x56d1, 0x71ed, 0x77d7,
|
||||
0x8700, 0x89f8, 0x5bf8, 0x5fd6, 0x6751, 0x90a8, 0x53e2, 0x585a, 0x5bf5,
|
||||
0x60a4, 0x6181, 0x6460, 0x7e3d, 0x8070, 0x8525, 0x9283, 0x64ae, 0x50ac,
|
||||
0x5d14, 0x6700, 0x589c, 0x62bd, 0x63a8, 0x690e, 0x6978, 0x6a1e, 0x6e6b,
|
||||
0x76ba, 0x79cb, 0x82bb, 0x8429, 0x8acf, 0x8da8, 0x8ffd, 0x9112, 0x914b,
|
||||
0x919c, 0x9310, 0x9318, 0x939a, 0x96db, 0x9a36, 0x9c0d, 0x4e11, 0x755c,
|
||||
0x795d, 0x7afa, 0x7b51, 0x7bc9, 0x7e2e, 0x84c4, 0x8e59, 0x8e74, 0x8ef8,
|
||||
0x9010, 0x6625, 0x693f, 0x7443, 0x51fa, 0x672e, 0x9edc, 0x5145, 0x5fe0,
|
||||
0x6c96, 0x87f2, 0x885d, 0x8877, 0x60b4, 0x81b5, 0x8403, 0x8d05, 0x53d6,
|
||||
0x5439, 0x5634, 0x5a36, 0x5c31, 0x708a, 0x7fe0, 0x805a, 0x8106, 0x81ed,
|
||||
0x8da3, 0x9189, 0x9a5f, 0x9df2, 0x5074, 0x4ec4, 0x53a0, 0x60fb, 0x6e2c,
|
||||
0x5c64, 0x4f88, 0x5024, 0x55e4, 0x5cd9, 0x5e5f, 0x6065, 0x6894, 0x6cbb,
|
||||
0x6dc4, 0x71be, 0x75d4, 0x75f4, 0x7661, 0x7a1a, 0x7a49, 0x7dc7, 0x7dfb,
|
||||
0x7f6e, 0x81f4, 0x86a9, 0x8f1c, 0x96c9, 0x99b3, 0x9f52, 0x5247, 0x52c5,
|
||||
0x98ed, 0x89aa, 0x4e03, 0x67d2, 0x6f06, 0x4fb5, 0x5be2, 0x6795, 0x6c88,
|
||||
0x6d78, 0x741b, 0x7827, 0x91dd, 0x937c, 0x87c4, 0x79e4, 0x7a31, 0x5feb,
|
||||
0x4ed6, 0x54a4, 0x553e, 0x58ae, 0x59a5, 0x60f0, 0x6253, 0x62d6, 0x6736,
|
||||
0x6955, 0x8235, 0x9640, 0x99b1, 0x99dd, 0x502c, 0x5353, 0x5544, 0x577c,
|
||||
0xfa01, 0x6258, 0xfa02, 0x64e2, 0x666b, 0x67dd, 0x6fc1, 0x6fef, 0x7422,
|
||||
0x7438, 0x8a17, 0x9438, 0x5451, 0x5606, 0x5766, 0x5f48, 0x619a, 0x6b4e,
|
||||
0x7058, 0x70ad, 0x7dbb, 0x8a95, 0x596a, 0x812b, 0x63a2, 0x7708, 0x803d,
|
||||
0x8caa, 0x5854, 0x642d, 0x69bb, 0x5b95, 0x5e11, 0x6e6f, 0xfa03, 0x8569,
|
||||
0x514c, 0x53f0, 0x592a, 0x6020, 0x614b, 0x6b86, 0x6c70, 0x6cf0, 0x7b1e,
|
||||
0x80ce, 0x82d4, 0x8dc6, 0x90b0, 0x98b1, 0xfa04, 0x64c7, 0x6fa4, 0x6491,
|
||||
0x6504, 0x514e, 0x5410, 0x571f, 0x8a0e, 0x615f, 0x6876, 0xfa05, 0x75db,
|
||||
0x7b52, 0x7d71, 0x901a, 0x5806, 0x69cc, 0x817f, 0x892a, 0x9000, 0x9839,
|
||||
0x5078, 0x5957, 0x59ac, 0x6295, 0x900f, 0x9b2a, 0x615d, 0x7279, 0x95d6,
|
||||
0x5761, 0x5a46, 0x5df4, 0x628a, 0x64ad, 0x64fa, 0x6777, 0x6ce2, 0x6d3e,
|
||||
0x722c, 0x7436, 0x7834, 0x7f77, 0x82ad, 0x8ddb, 0x9817, 0x5224, 0x5742,
|
||||
0x677f, 0x7248, 0x74e3, 0x8ca9, 0x8fa6, 0x9211, 0x962a, 0x516b, 0x53ed,
|
||||
0x634c, 0x4f69, 0x5504, 0x6096, 0x6557, 0x6c9b, 0x6d7f, 0x724c, 0x72fd,
|
||||
0x7a17, 0x8987, 0x8c9d, 0x5f6d, 0x6f8e, 0x70f9, 0x81a8, 0x610e, 0x4fbf,
|
||||
0x504f, 0x6241, 0x7247, 0x7bc7, 0x7de8, 0x7fe9, 0x904d, 0x97ad, 0x9a19,
|
||||
0x8cb6, 0x576a, 0x5e73, 0x67b0, 0x840d, 0x8a55, 0x5420, 0x5b16, 0x5e63,
|
||||
0x5ee2, 0x5f0a, 0x6583, 0x80ba, 0x853d, 0x9589, 0x965b, 0x4f48, 0x5305,
|
||||
0x530d, 0x530f, 0x5486, 0x54fa, 0x5703, 0x5e03, 0x6016, 0x629b, 0x62b1,
|
||||
0x6355, 0xfa06, 0x6ce1, 0x6d66, 0x75b1, 0x7832, 0x80de, 0x812f, 0x82de,
|
||||
0x8461, 0x84b2, 0x888d, 0x8912, 0x900b, 0x92ea, 0x98fd, 0x9b91, 0x5e45,
|
||||
0x66b4, 0x66dd, 0x7011, 0x7206, 0xfa07, 0x4ff5, 0x527d, 0x5f6a, 0x6153,
|
||||
0x6753, 0x6a19, 0x6f02, 0x74e2, 0x7968, 0x8868, 0x8c79, 0x98c7, 0x98c4,
|
||||
0x9a43, 0x54c1, 0x7a1f, 0x6953, 0x8af7, 0x8c4a, 0x98a8, 0x99ae, 0x5f7c,
|
||||
0x62ab, 0x75b2, 0x76ae, 0x88ab, 0x907f, 0x9642, 0x5339, 0x5f3c, 0x5fc5,
|
||||
0x6ccc, 0x73cc, 0x7562, 0x758b, 0x7b46, 0x82fe, 0x999d, 0x4e4f, 0x903c,
|
||||
0x4e0b, 0x4f55, 0x53a6, 0x590f, 0x5ec8, 0x6630, 0x6cb3, 0x7455, 0x8377,
|
||||
0x8766, 0x8cc0, 0x9050, 0x971e, 0x9c15, 0x58d1, 0x5b78, 0x8650, 0x8b14,
|
||||
0x9db4, 0x5bd2, 0x6068, 0x608d, 0x65f1, 0x6c57, 0x6f22, 0x6fa3, 0x701a,
|
||||
0x7f55, 0x7ff0, 0x9591, 0x9592, 0x9650, 0x97d3, 0x5272, 0x8f44, 0x51fd,
|
||||
0x542b, 0x54b8, 0x5563, 0x558a, 0x6abb, 0x6db5, 0x7dd8, 0x8266, 0x929c,
|
||||
0x9677, 0x9e79, 0x5408, 0x54c8, 0x76d2, 0x86e4, 0x95a4, 0x95d4, 0x965c,
|
||||
0x4ea2, 0x4f09, 0x59ee, 0x5ae6, 0x5df7, 0x6052, 0x6297, 0x676d, 0x6841,
|
||||
0x6c86, 0x6e2f, 0x7f38, 0x809b, 0x822a, 0xfa08, 0xfa09, 0x9805, 0x4ea5,
|
||||
0x5055, 0x54b3, 0x5793, 0x595a, 0x5b69, 0x5bb3, 0x61c8, 0x6977, 0x6d77,
|
||||
0x7023, 0x87f9, 0x89e3, 0x8a72, 0x8ae7, 0x9082, 0x99ed, 0x9ab8, 0x52be,
|
||||
0x6838, 0x5016, 0x5e78, 0x674f, 0x8347, 0x884c, 0x4eab, 0x5411, 0x56ae,
|
||||
0x73e6, 0x9115, 0x97ff, 0x9909, 0x9957, 0x9999, 0x5653, 0x589f, 0x865b,
|
||||
0x8a31, 0x61b2, 0x6af6, 0x737b, 0x8ed2, 0x6b47, 0x96aa, 0x9a57, 0x5955,
|
||||
0x7200, 0x8d6b, 0x9769, 0x4fd4, 0x5cf4, 0x5f26, 0x61f8, 0x665b, 0x6ceb,
|
||||
0x70ab, 0x7384, 0x73b9, 0x73fe, 0x7729, 0x774d, 0x7d43, 0x7d62, 0x7e23,
|
||||
0x8237, 0x8852, 0xfa0a, 0x8ce2, 0x9249, 0x986f, 0x5b51, 0x7a74, 0x8840,
|
||||
0x9801, 0x5acc, 0x4fe0, 0x5354, 0x593e, 0x5cfd, 0x633e, 0x6d79, 0x72f9,
|
||||
0x8105, 0x8107, 0x83a2, 0x92cf, 0x9830, 0x4ea8, 0x5144, 0x5211, 0x578b,
|
||||
0x5f62, 0x6cc2, 0x6ece, 0x7005, 0x7050, 0x70af, 0x7192, 0x73e9, 0x7469,
|
||||
0x834a, 0x87a2, 0x8861, 0x9008, 0x90a2, 0x93a3, 0x99a8, 0x516e, 0x5f57,
|
||||
0x60e0, 0x6167, 0x66b3, 0x8559, 0x8e4a, 0x91af, 0x978b, 0x4e4e, 0x4e92,
|
||||
0x547c, 0x58d5, 0x58fa, 0x597d, 0x5cb5, 0x5f27, 0x6236, 0x6248, 0x660a,
|
||||
0x6667, 0x6beb, 0x6d69, 0x6dcf, 0x6e56, 0x6ef8, 0x6f94, 0x6fe0, 0x6fe9,
|
||||
0x705d, 0x72d0, 0x7425, 0x745a, 0x74e0, 0x7693, 0x795c, 0x7cca, 0x7e1e,
|
||||
0x80e1, 0x82a6, 0x846b, 0x84bf, 0x864e, 0x865f, 0x8774, 0x8b77, 0x8c6a,
|
||||
0x93ac, 0x9800, 0x9865, 0x60d1, 0x6216, 0x9177, 0x5a5a, 0x660f, 0x6df7,
|
||||
0x6e3e, 0x743f, 0x9b42, 0x5ffd, 0x60da, 0x7b0f, 0x54c4, 0x5f18, 0x6c5e,
|
||||
0x6cd3, 0x6d2a, 0x70d8, 0x7d05, 0x8679, 0x8a0c, 0x9d3b, 0x5316, 0x548c,
|
||||
0x5b05, 0x6a3a, 0x706b, 0x7575, 0x798d, 0x79be, 0x82b1, 0x83ef, 0x8a71,
|
||||
0x8b41, 0x8ca8, 0x9774, 0xfa0b, 0x64f4, 0x652b, 0x78ba, 0x78bb, 0x7a6b,
|
||||
0x4e38, 0x559a, 0x5950, 0x5ba6, 0x5e7b, 0x60a3, 0x63db, 0x6b61, 0x6665,
|
||||
0x6853, 0x6e19, 0x7165, 0x74b0, 0x7d08, 0x9084, 0x9a69, 0x9c25, 0x6d3b,
|
||||
0x6ed1, 0x733e, 0x8c41, 0x95ca, 0x51f0, 0x5e4c, 0x5fa8, 0x604d, 0x60f6,
|
||||
0x6130, 0x614c, 0x6643, 0x6644, 0x69a5, 0x6cc1, 0x6e5f, 0x6ec9, 0x6f62,
|
||||
0x714c, 0x749c, 0x7687, 0x7bc1, 0x7c27, 0x8352, 0x8757, 0x9051, 0x968d,
|
||||
0x9ec3, 0x532f, 0x56de, 0x5efb, 0x5f8a, 0x6062, 0x6094, 0x61f7, 0x6666,
|
||||
0x6703, 0x6a9c, 0x6dee, 0x6fae, 0x7070, 0x736a, 0x7e6a, 0x81be, 0x8334,
|
||||
0x86d4, 0x8aa8, 0x8cc4, 0x5283, 0x7372, 0x5b96, 0x6a6b, 0x9404, 0x54ee,
|
||||
0x5686, 0x5b5d, 0x6548, 0x6585, 0x66c9, 0x689f, 0x6d8d, 0x6dc6, 0x723b,
|
||||
0x80b4, 0x9175, 0x9a4d, 0x4faf, 0x5019, 0x539a, 0x540e, 0x543c, 0x5589,
|
||||
0x55c5, 0x5e3f, 0x5f8c, 0x673d, 0x7166, 0x73dd, 0x9005, 0x52db, 0x52f3,
|
||||
0x5864, 0x58ce, 0x7104, 0x718f, 0x71fb, 0x85b0, 0x8a13, 0x6688, 0x85a8,
|
||||
0x55a7, 0x6684, 0x714a, 0x8431, 0x5349, 0x5599, 0x6bc1, 0x5f59, 0x5fbd,
|
||||
0x63ee, 0x6689, 0x7147, 0x8af1, 0x8f1d, 0x9ebe, 0x4f11, 0x643a, 0x70cb,
|
||||
0x7566, 0x8667, 0x6064, 0x8b4e, 0x9df8, 0x5147, 0x51f6, 0x5308, 0x6d36,
|
||||
0x80f8, 0x9ed1, 0x6615, 0x6b23, 0x7098, 0x75d5, 0x5403, 0x5c79, 0x7d07,
|
||||
0x8a16, 0x6b20, 0x6b3d, 0x6b46, 0x5438, 0x6070, 0x6d3d, 0x7fd5, 0x8208,
|
||||
0x50d6, 0x51de, 0x559c, 0x566b, 0x56cd, 0x59ec, 0x5b09, 0x5e0c, 0x6199,
|
||||
0x6198, 0x6231, 0x665e, 0x66e6, 0x7199, 0x71b9, 0x71ba, 0x72a7, 0x79a7,
|
||||
0x7a00, 0x7fb2, 0x8a70,
|
||||
0/* End of table; # of entries=8741(0x2225)+1 */
|
||||
|
||||
};
|
||||
int ksc5601max=sizeof(tabksc5601)/sizeof(tabksc5601[0])-1;
|
||||
/* # of entries in the table. */
|
||||
2
src/cmd/tcs/ksc.h
Normal file
2
src/cmd/tcs/ksc.h
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
extern long tabksc5601[]; /* runes indexed by kuten */
|
||||
extern int ksc5601max; /* # of entries in the table. */
|
||||
1055
src/cmd/tcs/kuten208.c
Normal file
1055
src/cmd/tcs/kuten208.c
Normal file
File diff suppressed because it is too large
Load diff
3
src/cmd/tcs/kuten208.h
Normal file
3
src/cmd/tcs/kuten208.h
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#define KUTEN208MAX 8407
|
||||
|
||||
extern long tabkuten208[KUTEN208MAX]; /* runes indexed by kuten */
|
||||
975
src/cmd/tcs/kuten212.c
Normal file
975
src/cmd/tcs/kuten212.c
Normal file
|
|
@ -0,0 +1,975 @@
|
|||
#include "kuten212.h"
|
||||
|
||||
long tabkuten212[KUTEN212MAX] = {
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1,0x02d8,
|
||||
0x02c7,0x00b8,0x02d9,0x02dd,0x00af,0x02db,0x02da,0x007e,
|
||||
0x0384,0x0385, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1,0x00a1,0x00a6,0x00bf, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1,0x00ba,0x00aa,0x00a9,0x00ae,0x2122,
|
||||
0x00a4,0x2116, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1,0x0386,0x0388,0x0389,0x038a,0x03aa, -1,0x038c,
|
||||
-1,0x038e,0x03ab, -1,0x038f, -1, -1, -1,
|
||||
-1,0x03ac,0x03ad,0x03ae,0x03af,0x03ca,0x0390,0x03cc,
|
||||
0x03c2,0x03cd,0x03cb,0x03b0,0x03ce, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1,0x0402,0x0403,
|
||||
0x0404,0x0405,0x0406,0x0407,0x0408,0x0409,0x040a,0x040b,
|
||||
0x040c,0x040e,0x040f, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1,0x0452,0x0453,
|
||||
0x0454,0x0455,0x0456,0x0457,0x0458,0x0459,0x045a,0x045b,
|
||||
0x045c,0x045e,0x045f, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1,0x00c6,0x0110, -1,
|
||||
0x0126, -1,0x0132, -1,0x0141,0x013f, -1,0x014a,
|
||||
0x00d8,0x0152, -1,0x0166,0x00de, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1,0x00e6,0x0111,0x00f0,
|
||||
0x0127,0x0131,0x0133,0x0138,0x0142,0x0140,0x0149,0x014b,
|
||||
0x00f8,0x0153,0x00df,0x0167,0x00fe, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1,0x00c1,0x00c0,0x00c4,0x00c2,0x0102,0x01cd,0x0100,
|
||||
0x0104,0x00c5,0x00c3,0x0106,0x0108,0x010c,0x00c7,0x010a,
|
||||
0x010e,0x00c9,0x00c8,0x00cb,0x00ca,0x011a,0x0116,0x0112,
|
||||
0x0118, -1,0x011c,0x011e,0x0122,0x0120,0x0124,0x00cd,
|
||||
0x00cc,0x00cf,0x00ce,0x01cf,0x0130,0x012a,0x012e,0x0128,
|
||||
0x0134,0x0136,0x0139,0x013d,0x013b,0x0143,0x0147,0x0145,
|
||||
0x00d1,0x00d3,0x00d2,0x00d6,0x00d4,0x01d1,0x0150,0x014c,
|
||||
0x00d5,0x0154,0x0158,0x0156,0x015a,0x015c,0x0160,0x015e,
|
||||
0x0164,0x0162,0x00da,0x00d9,0x00dc,0x00db,0x016c,0x01d3,
|
||||
0x0170,0x016a,0x0172,0x016e,0x0168,0x01d7,0x01db,0x01d9,
|
||||
0x01d5,0x0174,0x00dd,0x0178,0x0176,0x0179,0x017d,0x017b,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1,0x00e1,0x00e0,0x00e4,
|
||||
0x00e2,0x0103,0x01ce,0x0101,0x0105,0x00e5,0x00e3,0x0107,
|
||||
0x0109,0x010d,0x00e7,0x010b,0x010f,0x00e9,0x00e8,0x00eb,
|
||||
0x00ea,0x011b,0x0117,0x0113,0x0119,0x01f5,0x011d,0x011f,
|
||||
-1,0x0121,0x0125,0x00ed,0x00ec,0x00ef,0x00ee,0x01d0,
|
||||
-1,0x012b,0x012f,0x0129,0x0135,0x0137,0x013a,0x013e,
|
||||
0x013c,0x0144,0x0148,0x0146,0x00f1,0x00f3,0x00f2,0x00f6,
|
||||
0x00f4,0x01d2,0x0151,0x014d,0x00f5,0x0155,0x0159,0x0157,
|
||||
0x015b,0x015d,0x0161,0x015f,0x0165,0x0163,0x00fa,0x00f9,
|
||||
0x00fc,0x00fb,0x016d,0x01d4,0x0171,0x016b,0x0173,0x016f,
|
||||
0x0169,0x01d8,0x01dc,0x01da,0x01d6,0x0175,0x00fd,0x00ff,
|
||||
0x0177,0x017a,0x017e,0x017c, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1,0x4e02,0x4e04,0x4e05,0x4e0c,0x4e12,0x4e1f,0x4e23,
|
||||
0x4e24,0x4e28,0x4e2b,0x4e2e,0x4e2f,0x4e30,0x4e35,0x4e40,
|
||||
0x4e41,0x4e44,0x4e47,0x4e51,0x4e5a,0x4e5c,0x4e63,0x4e68,
|
||||
0x4e69,0x4e74,0x4e75,0x4e79,0x4e7f,0x4e8d,0x4e96,0x4e97,
|
||||
0x4e9d,0x4eaf,0x4eb9,0x4ec3,0x4ed0,0x4eda,0x4edb,0x4ee0,
|
||||
0x4ee1,0x4ee2,0x4ee8,0x4eef,0x4ef1,0x4ef3,0x4ef5,0x4efd,
|
||||
0x4efe,0x4eff,0x4f00,0x4f02,0x4f03,0x4f08,0x4f0b,0x4f0c,
|
||||
0x4f12,0x4f15,0x4f16,0x4f17,0x4f19,0x4f2e,0x4f31,0x4f60,
|
||||
0x4f33,0x4f35,0x4f37,0x4f39,0x4f3b,0x4f3e,0x4f40,0x4f42,
|
||||
0x4f48,0x4f49,0x4f4b,0x4f4c,0x4f52,0x4f54,0x4f56,0x4f58,
|
||||
0x4f5f,0x4f63,0x4f6a,0x4f6c,0x4f6e,0x4f71,0x4f77,0x4f78,
|
||||
0x4f79,0x4f7a,0x4f7d,0x4f7e,0x4f81,0x4f82,0x4f84, -1,
|
||||
-1, -1, -1, -1, -1,0x4f85,0x4f89,0x4f8a,
|
||||
0x4f8c,0x4f8e,0x4f90,0x4f92,0x4f93,0x4f94,0x4f97,0x4f99,
|
||||
0x4f9a,0x4f9e,0x4f9f,0x4fb2,0x4fb7,0x4fb9,0x4fbb,0x4fbc,
|
||||
0x4fbd,0x4fbe,0x4fc0,0x4fc1,0x4fc5,0x4fc6,0x4fc8,0x4fc9,
|
||||
0x4fcb,0x4fcc,0x4fcd,0x4fcf,0x4fd2,0x4fdc,0x4fe0,0x4fe2,
|
||||
0x4ff0,0x4ff2,0x4ffc,0x4ffd,0x4fff,0x5000,0x5001,0x5004,
|
||||
0x5007,0x500a,0x500c,0x500e,0x5010,0x5013,0x5017,0x5018,
|
||||
0x501b,0x501c,0x501d,0x501e,0x5022,0x5027,0x502e,0x5030,
|
||||
0x5032,0x5033,0x5035,0x5040,0x5041,0x5042,0x5045,0x5046,
|
||||
0x504a,0x504c,0x504e,0x5051,0x5052,0x5053,0x5057,0x5059,
|
||||
0x505f,0x5060,0x5062,0x5063,0x5066,0x5067,0x506a,0x506d,
|
||||
0x5070,0x5071,0x503b,0x5081,0x5083,0x5084,0x5086,0x508a,
|
||||
0x508e,0x508f,0x5090, -1, -1, -1, -1, -1,
|
||||
-1,0x5092,0x5093,0x5094,0x5096,0x509b,0x509c,0x509e,
|
||||
0x509f,0x50a0,0x50a1,0x50a2,0x50aa,0x50af,0x50b0,0x50b9,
|
||||
0x50ba,0x50bd,0x50c0,0x50c3,0x50c4,0x50c7,0x50cc,0x50ce,
|
||||
0x50d0,0x50d3,0x50d4,0x50d8,0x50dc,0x50dd,0x50df,0x50e2,
|
||||
0x50e4,0x50e6,0x50e8,0x50e9,0x50ef,0x50f1,0x50f6,0x50fa,
|
||||
0x50fe,0x5103,0x5106,0x5107,0x5108,0x510b,0x510c,0x510d,
|
||||
0x510e,0x50f2,0x5110,0x5117,0x5119,0x511b,0x511c,0x511d,
|
||||
0x511e,0x5123,0x5127,0x5128,0x512c,0x512d,0x512f,0x5131,
|
||||
0x5133,0x5134,0x5135,0x5138,0x5139,0x5142,0x514a,0x514f,
|
||||
0x5153,0x5155,0x5157,0x5158,0x515f,0x5164,0x5166,0x517e,
|
||||
0x5183,0x5184,0x518b,0x518e,0x5198,0x519d,0x51a1,0x51a3,
|
||||
0x51ad,0x51b8,0x51ba,0x51bc,0x51be,0x51bf,0x51c2, -1,
|
||||
-1, -1, -1, -1, -1,0x51c8,0x51cf,0x51d1,
|
||||
0x51d2,0x51d3,0x51d5,0x51d8,0x51de,0x51e2,0x51e5,0x51ee,
|
||||
0x51f2,0x51f3,0x51f4,0x51f7,0x5201,0x5202,0x5205,0x5212,
|
||||
0x5213,0x5215,0x5216,0x5218,0x5222,0x5228,0x5231,0x5232,
|
||||
0x5235,0x523c,0x5245,0x5249,0x5255,0x5257,0x5258,0x525a,
|
||||
0x525c,0x525f,0x5260,0x5261,0x5266,0x526e,0x5277,0x5278,
|
||||
0x5279,0x5280,0x5282,0x5285,0x528a,0x528c,0x5293,0x5295,
|
||||
0x5296,0x5297,0x5298,0x529a,0x529c,0x52a4,0x52a5,0x52a6,
|
||||
0x52a7,0x52af,0x52b0,0x52b6,0x52b7,0x52b8,0x52ba,0x52bb,
|
||||
0x52bd,0x52c0,0x52c4,0x52c6,0x52c8,0x52cc,0x52cf,0x52d1,
|
||||
0x52d4,0x52d6,0x52db,0x52dc,0x52e1,0x52e5,0x52e8,0x52e9,
|
||||
0x52ea,0x52ec,0x52f0,0x52f1,0x52f4,0x52f6,0x52f7,0x5300,
|
||||
0x5303,0x530a,0x530b, -1, -1, -1, -1, -1,
|
||||
-1,0x530c,0x5311,0x5313,0x5318,0x531b,0x531c,0x531e,
|
||||
0x531f,0x5325,0x5327,0x5328,0x5329,0x532b,0x532c,0x532d,
|
||||
0x5330,0x5332,0x5335,0x533c,0x533d,0x533e,0x5342,0x534c,
|
||||
0x534b,0x5359,0x535b,0x5361,0x5363,0x5365,0x536c,0x536d,
|
||||
0x5372,0x5379,0x537e,0x5383,0x5387,0x5388,0x538e,0x5393,
|
||||
0x5394,0x5399,0x539d,0x53a1,0x53a4,0x53aa,0x53ab,0x53af,
|
||||
0x53b2,0x53b4,0x53b5,0x53b7,0x53b8,0x53ba,0x53bd,0x53c0,
|
||||
0x53c5,0x53cf,0x53d2,0x53d3,0x53d5,0x53da,0x53dd,0x53de,
|
||||
0x53e0,0x53e6,0x53e7,0x53f5,0x5402,0x5413,0x541a,0x5421,
|
||||
0x5427,0x5428,0x542a,0x542f,0x5431,0x5434,0x5435,0x5443,
|
||||
0x5444,0x5447,0x544d,0x544f,0x545e,0x5462,0x5464,0x5466,
|
||||
0x5467,0x5469,0x546b,0x546d,0x546e,0x5474,0x547f, -1,
|
||||
-1, -1, -1, -1, -1,0x5481,0x5483,0x5485,
|
||||
0x5488,0x5489,0x548d,0x5491,0x5495,0x5496,0x549c,0x549f,
|
||||
0x54a1,0x54a6,0x54a7,0x54a9,0x54aa,0x54ad,0x54ae,0x54b1,
|
||||
0x54b7,0x54b9,0x54ba,0x54bb,0x54bf,0x54c6,0x54ca,0x54cd,
|
||||
0x54ce,0x54e0,0x54ea,0x54ec,0x54ef,0x54f6,0x54fc,0x54fe,
|
||||
0x54ff,0x5500,0x5501,0x5505,0x5508,0x5509,0x550c,0x550d,
|
||||
0x550e,0x5515,0x552a,0x552b,0x5532,0x5535,0x5536,0x553b,
|
||||
0x553c,0x553d,0x5541,0x5547,0x5549,0x554a,0x554d,0x5550,
|
||||
0x5551,0x5558,0x555a,0x555b,0x555e,0x5560,0x5561,0x5564,
|
||||
0x5566,0x557f,0x5581,0x5582,0x5586,0x5588,0x558e,0x558f,
|
||||
0x5591,0x5592,0x5593,0x5594,0x5597,0x55a3,0x55a4,0x55ad,
|
||||
0x55b2,0x55bf,0x55c1,0x55c3,0x55c6,0x55c9,0x55cb,0x55cc,
|
||||
0x55ce,0x55d1,0x55d2, -1, -1, -1, -1, -1,
|
||||
-1,0x55d3,0x55d7,0x55d8,0x55db,0x55de,0x55e2,0x55e9,
|
||||
0x55f6,0x55ff,0x5605,0x5608,0x560a,0x560d,0x560e,0x560f,
|
||||
0x5610,0x5611,0x5612,0x5619,0x562c,0x5630,0x5633,0x5635,
|
||||
0x5637,0x5639,0x563b,0x563c,0x563d,0x563f,0x5640,0x5641,
|
||||
0x5643,0x5644,0x5646,0x5649,0x564b,0x564d,0x564f,0x5654,
|
||||
0x565e,0x5660,0x5661,0x5662,0x5663,0x5666,0x5669,0x566d,
|
||||
0x566f,0x5671,0x5672,0x5675,0x5684,0x5685,0x5688,0x568b,
|
||||
0x568c,0x5695,0x5699,0x569a,0x569d,0x569e,0x569f,0x56a6,
|
||||
0x56a7,0x56a8,0x56a9,0x56ab,0x56ac,0x56ad,0x56b1,0x56b3,
|
||||
0x56b7,0x56be,0x56c5,0x56c9,0x56ca,0x56cb,0x56cf,0x56d0,
|
||||
0x56cc,0x56cd,0x56d9,0x56dc,0x56dd,0x56df,0x56e1,0x56e4,
|
||||
0x56e5,0x56e6,0x56e7,0x56e8,0x56f1,0x56eb,0x56ed, -1,
|
||||
-1, -1, -1, -1, -1,0x56f6,0x56f7,0x5701,
|
||||
0x5702,0x5707,0x570a,0x570c,0x5711,0x5715,0x571a,0x571b,
|
||||
0x571d,0x5720,0x5722,0x5723,0x5724,0x5725,0x5729,0x572a,
|
||||
0x572c,0x572e,0x572f,0x5733,0x5734,0x573d,0x573e,0x573f,
|
||||
0x5745,0x5746,0x574c,0x574d,0x5752,0x5762,0x5765,0x5767,
|
||||
0x5768,0x576b,0x576d,0x576e,0x576f,0x5770,0x5771,0x5773,
|
||||
0x5774,0x5775,0x5777,0x5779,0x577a,0x577b,0x577c,0x577e,
|
||||
0x5781,0x5783,0x578c,0x5794,0x5797,0x5799,0x579a,0x579c,
|
||||
0x579d,0x579e,0x579f,0x57a1,0x5795,0x57a7,0x57a8,0x57a9,
|
||||
0x57ac,0x57b8,0x57bd,0x57c7,0x57c8,0x57cc,0x57cf,0x57d5,
|
||||
0x57dd,0x57de,0x57e4,0x57e6,0x57e7,0x57e9,0x57ed,0x57f0,
|
||||
0x57f5,0x57f6,0x57f8,0x57fd,0x57fe,0x57ff,0x5803,0x5804,
|
||||
0x5808,0x5809,0x57e1, -1, -1, -1, -1, -1,
|
||||
-1,0x580c,0x580d,0x581b,0x581e,0x581f,0x5820,0x5826,
|
||||
0x5827,0x582d,0x5832,0x5839,0x583f,0x5849,0x584c,0x584d,
|
||||
0x584f,0x5850,0x5855,0x585f,0x5861,0x5864,0x5867,0x5868,
|
||||
0x5878,0x587c,0x587f,0x5880,0x5881,0x5887,0x5888,0x5889,
|
||||
0x588a,0x588c,0x588d,0x588f,0x5890,0x5894,0x5896,0x589d,
|
||||
0x58a0,0x58a1,0x58a2,0x58a6,0x58a9,0x58b1,0x58b2,0x58c4,
|
||||
0x58bc,0x58c2,0x58c8,0x58cd,0x58ce,0x58d0,0x58d2,0x58d4,
|
||||
0x58d6,0x58da,0x58dd,0x58e1,0x58e2,0x58e9,0x58f3,0x5905,
|
||||
0x5906,0x590b,0x590c,0x5912,0x5913,0x5914,0x8641,0x591d,
|
||||
0x5921,0x5923,0x5924,0x5928,0x592f,0x5930,0x5933,0x5935,
|
||||
0x5936,0x593f,0x5943,0x5946,0x5952,0x5953,0x5959,0x595b,
|
||||
0x595d,0x595e,0x595f,0x5961,0x5963,0x596b,0x596d, -1,
|
||||
-1, -1, -1, -1, -1,0x596f,0x5972,0x5975,
|
||||
0x5976,0x5979,0x597b,0x597c,0x598b,0x598c,0x598e,0x5992,
|
||||
0x5995,0x5997,0x599f,0x59a4,0x59a7,0x59ad,0x59ae,0x59af,
|
||||
0x59b0,0x59b3,0x59b7,0x59ba,0x59bc,0x59c1,0x59c3,0x59c4,
|
||||
0x59c8,0x59ca,0x59cd,0x59d2,0x59dd,0x59de,0x59df,0x59e3,
|
||||
0x59e4,0x59e7,0x59ee,0x59ef,0x59f1,0x59f2,0x59f4,0x59f7,
|
||||
0x5a00,0x5a04,0x5a0c,0x5a0d,0x5a0e,0x5a12,0x5a13,0x5a1e,
|
||||
0x5a23,0x5a24,0x5a27,0x5a28,0x5a2a,0x5a2d,0x5a30,0x5a44,
|
||||
0x5a45,0x5a47,0x5a48,0x5a4c,0x5a50,0x5a55,0x5a5e,0x5a63,
|
||||
0x5a65,0x5a67,0x5a6d,0x5a77,0x5a7a,0x5a7b,0x5a7e,0x5a8b,
|
||||
0x5a90,0x5a93,0x5a96,0x5a99,0x5a9c,0x5a9e,0x5a9f,0x5aa0,
|
||||
0x5aa2,0x5aa7,0x5aac,0x5ab1,0x5ab2,0x5ab3,0x5ab5,0x5ab8,
|
||||
0x5aba,0x5abb,0x5abf, -1, -1, -1, -1, -1,
|
||||
-1,0x5ac4,0x5ac6,0x5ac8,0x5acf,0x5ada,0x5adc,0x5ae0,
|
||||
0x5ae5,0x5aea,0x5aee,0x5af5,0x5af6,0x5afd,0x5b00,0x5b01,
|
||||
0x5b08,0x5b17,0x5b34,0x5b19,0x5b1b,0x5b1d,0x5b21,0x5b25,
|
||||
0x5b2d,0x5b38,0x5b41,0x5b4b,0x5b4c,0x5b52,0x5b56,0x5b5e,
|
||||
0x5b68,0x5b6e,0x5b6f,0x5b7c,0x5b7d,0x5b7e,0x5b7f,0x5b81,
|
||||
0x5b84,0x5b86,0x5b8a,0x5b8e,0x5b90,0x5b91,0x5b93,0x5b94,
|
||||
0x5b96,0x5ba8,0x5ba9,0x5bac,0x5bad,0x5baf,0x5bb1,0x5bb2,
|
||||
0x5bb7,0x5bba,0x5bbc,0x5bc0,0x5bc1,0x5bcd,0x5bcf,0x5bd6,
|
||||
0x5bd7,0x5bd8,0x5bd9,0x5bda,0x5be0,0x5bef,0x5bf1,0x5bf4,
|
||||
0x5bfd,0x5c0c,0x5c17,0x5c1e,0x5c1f,0x5c23,0x5c26,0x5c29,
|
||||
0x5c2b,0x5c2c,0x5c2e,0x5c30,0x5c32,0x5c35,0x5c36,0x5c59,
|
||||
0x5c5a,0x5c5c,0x5c62,0x5c63,0x5c67,0x5c68,0x5c69, -1,
|
||||
-1, -1, -1, -1, -1,0x5c6d,0x5c70,0x5c74,
|
||||
0x5c75,0x5c7a,0x5c7b,0x5c7c,0x5c7d,0x5c87,0x5c88,0x5c8a,
|
||||
0x5c8f,0x5c92,0x5c9d,0x5c9f,0x5ca0,0x5ca2,0x5ca3,0x5ca6,
|
||||
0x5caa,0x5cb2,0x5cb4,0x5cb5,0x5cba,0x5cc9,0x5ccb,0x5cd2,
|
||||
0x5cdd,0x5cd7,0x5cee,0x5cf1,0x5cf2,0x5cf4,0x5d01,0x5d06,
|
||||
0x5d0d,0x5d12,0x5d2b,0x5d23,0x5d24,0x5d26,0x5d27,0x5d31,
|
||||
0x5d34,0x5d39,0x5d3d,0x5d3f,0x5d42,0x5d43,0x5d46,0x5d48,
|
||||
0x5d55,0x5d51,0x5d59,0x5d4a,0x5d5f,0x5d60,0x5d61,0x5d62,
|
||||
0x5d64,0x5d6a,0x5d6d,0x5d70,0x5d79,0x5d7a,0x5d7e,0x5d7f,
|
||||
0x5d81,0x5d83,0x5d88,0x5d8a,0x5d92,0x5d93,0x5d94,0x5d95,
|
||||
0x5d99,0x5d9b,0x5d9f,0x5da0,0x5da7,0x5dab,0x5db0,0x5db4,
|
||||
0x5db8,0x5db9,0x5dc3,0x5dc7,0x5dcb,0x5dd0,0x5dce,0x5dd8,
|
||||
0x5dd9,0x5de0,0x5de4, -1, -1, -1, -1, -1,
|
||||
-1,0x5de9,0x5df8,0x5df9,0x5e00,0x5e07,0x5e0d,0x5e12,
|
||||
0x5e14,0x5e15,0x5e18,0x5e1f,0x5e20,0x5e2e,0x5e28,0x5e32,
|
||||
0x5e35,0x5e3e,0x5e4b,0x5e50,0x5e49,0x5e51,0x5e56,0x5e58,
|
||||
0x5e5b,0x5e5c,0x5e5e,0x5e68,0x5e6a,0x5e6b,0x5e6c,0x5e6d,
|
||||
0x5e6e,0x5e70,0x5e80,0x5e8b,0x5e8e,0x5ea2,0x5ea4,0x5ea5,
|
||||
0x5ea8,0x5eaa,0x5eac,0x5eb1,0x5eb3,0x5ebd,0x5ebe,0x5ebf,
|
||||
0x5ec6,0x5ecc,0x5ecb,0x5ece,0x5ed1,0x5ed2,0x5ed4,0x5ed5,
|
||||
0x5edc,0x5ede,0x5ee5,0x5eeb,0x5f02,0x5f06,0x5f07,0x5f08,
|
||||
0x5f0e,0x5f19,0x5f1c,0x5f1d,0x5f21,0x5f22,0x5f23,0x5f24,
|
||||
0x5f28,0x5f2b,0x5f2c,0x5f2e,0x5f30,0x5f34,0x5f36,0x5f3b,
|
||||
0x5f3d,0x5f3f,0x5f40,0x5f44,0x5f45,0x5f47,0x5f4d,0x5f50,
|
||||
0x5f54,0x5f58,0x5f5b,0x5f60,0x5f63,0x5f64,0x5f67, -1,
|
||||
-1, -1, -1, -1, -1,0x5f6f,0x5f72,0x5f74,
|
||||
0x5f75,0x5f78,0x5f7a,0x5f7d,0x5f7e,0x5f89,0x5f8d,0x5f8f,
|
||||
0x5f96,0x5f9c,0x5f9d,0x5fa2,0x5fa7,0x5fab,0x5fa4,0x5fac,
|
||||
0x5faf,0x5fb0,0x5fb1,0x5fb8,0x5fc4,0x5fc7,0x5fc8,0x5fc9,
|
||||
0x5fcb,0x5fd0,0x5fd1,0x5fd2,0x5fd3,0x5fd4,0x5fde,0x5fe1,
|
||||
0x5fe2,0x5fe8,0x5fe9,0x5fea,0x5fec,0x5fed,0x5fee,0x5fef,
|
||||
0x5ff2,0x5ff3,0x5ff6,0x5ffa,0x5ffc,0x6007,0x600a,0x600d,
|
||||
0x6013,0x6014,0x6017,0x6018,0x601a,0x601f,0x6024,0x602d,
|
||||
0x6033,0x6035,0x6040,0x6047,0x6048,0x6049,0x604c,0x6051,
|
||||
0x6054,0x6056,0x6057,0x605d,0x6061,0x6067,0x6071,0x607e,
|
||||
0x607f,0x6082,0x6086,0x6088,0x608a,0x608e,0x6091,0x6093,
|
||||
0x6095,0x6098,0x609d,0x609e,0x60a2,0x60a4,0x60a5,0x60a8,
|
||||
0x60b0,0x60b1,0x60b7, -1, -1, -1, -1, -1,
|
||||
-1,0x60bb,0x60be,0x60c2,0x60c4,0x60c8,0x60c9,0x60ca,
|
||||
0x60cb,0x60ce,0x60cf,0x60d4,0x60d5,0x60d9,0x60db,0x60dd,
|
||||
0x60de,0x60e2,0x60e5,0x60f2,0x60f5,0x60f8,0x60fc,0x60fd,
|
||||
0x6102,0x6107,0x610a,0x610c,0x6110,0x6111,0x6112,0x6113,
|
||||
0x6114,0x6116,0x6117,0x6119,0x611c,0x611e,0x6122,0x612a,
|
||||
0x612b,0x6130,0x6131,0x6135,0x6136,0x6137,0x6139,0x6141,
|
||||
0x6145,0x6146,0x6149,0x615e,0x6160,0x616c,0x6172,0x6178,
|
||||
0x617b,0x617c,0x617f,0x6180,0x6181,0x6183,0x6184,0x618b,
|
||||
0x618d,0x6192,0x6193,0x6197,0x6198,0x619c,0x619d,0x619f,
|
||||
0x61a0,0x61a5,0x61a8,0x61aa,0x61ad,0x61b8,0x61b9,0x61bc,
|
||||
0x61c0,0x61c1,0x61c2,0x61ce,0x61cf,0x61d5,0x61dc,0x61dd,
|
||||
0x61de,0x61df,0x61e1,0x61e2,0x61e7,0x61e9,0x61e5, -1,
|
||||
-1, -1, -1, -1, -1,0x61ec,0x61ed,0x61ef,
|
||||
0x6201,0x6203,0x6204,0x6207,0x6213,0x6215,0x621c,0x6220,
|
||||
0x6222,0x6223,0x6227,0x6229,0x622b,0x6239,0x623d,0x6242,
|
||||
0x6243,0x6244,0x6246,0x624c,0x6250,0x6251,0x6252,0x6254,
|
||||
0x6256,0x625a,0x625c,0x6264,0x626d,0x626f,0x6273,0x627a,
|
||||
0x627d,0x628d,0x628e,0x628f,0x6290,0x62a6,0x62a8,0x62b3,
|
||||
0x62b6,0x62b7,0x62ba,0x62be,0x62bf,0x62c4,0x62ce,0x62d5,
|
||||
0x62d6,0x62da,0x62ea,0x62f2,0x62f4,0x62fc,0x62fd,0x6303,
|
||||
0x6304,0x630a,0x630b,0x630d,0x6310,0x6313,0x6316,0x6318,
|
||||
0x6329,0x632a,0x632d,0x6335,0x6336,0x6339,0x633c,0x6341,
|
||||
0x6342,0x6343,0x6344,0x6346,0x634a,0x634b,0x634e,0x6352,
|
||||
0x6353,0x6354,0x6358,0x635b,0x6365,0x6366,0x636c,0x636d,
|
||||
0x6371,0x6374,0x6375, -1, -1, -1, -1, -1,
|
||||
-1,0x6378,0x637c,0x637d,0x637f,0x6382,0x6384,0x6387,
|
||||
0x638a,0x6390,0x6394,0x6395,0x6399,0x639a,0x639e,0x63a4,
|
||||
0x63a6,0x63ad,0x63ae,0x63af,0x63bd,0x63c1,0x63c5,0x63c8,
|
||||
0x63ce,0x63d1,0x63d3,0x63d4,0x63d5,0x63dc,0x63e0,0x63e5,
|
||||
0x63ea,0x63ec,0x63f2,0x63f3,0x63f5,0x63f8,0x63f9,0x6409,
|
||||
0x640a,0x6410,0x6412,0x6414,0x6418,0x641e,0x6420,0x6422,
|
||||
0x6424,0x6425,0x6429,0x642a,0x642f,0x6430,0x6435,0x643d,
|
||||
0x643f,0x644b,0x644f,0x6451,0x6452,0x6453,0x6454,0x645a,
|
||||
0x645b,0x645c,0x645d,0x645f,0x6460,0x6461,0x6463,0x646d,
|
||||
0x6473,0x6474,0x647b,0x647d,0x6485,0x6487,0x648f,0x6490,
|
||||
0x6491,0x6498,0x6499,0x649b,0x649d,0x649f,0x64a1,0x64a3,
|
||||
0x64a6,0x64a8,0x64ac,0x64b3,0x64bd,0x64be,0x64bf, -1,
|
||||
-1, -1, -1, -1, -1,0x64c4,0x64c9,0x64ca,
|
||||
0x64cb,0x64cc,0x64ce,0x64d0,0x64d1,0x64d5,0x64d7,0x64e4,
|
||||
0x64e5,0x64e9,0x64ea,0x64ed,0x64f0,0x64f5,0x64f7,0x64fb,
|
||||
0x64ff,0x6501,0x6504,0x6508,0x6509,0x650a,0x650f,0x6513,
|
||||
0x6514,0x6516,0x6519,0x651b,0x651e,0x651f,0x6522,0x6526,
|
||||
0x6529,0x652e,0x6531,0x653a,0x653c,0x653d,0x6543,0x6547,
|
||||
0x6549,0x6550,0x6552,0x6554,0x655f,0x6560,0x6567,0x656b,
|
||||
0x657a,0x657d,0x6581,0x6585,0x658a,0x6592,0x6595,0x6598,
|
||||
0x659d,0x65a0,0x65a3,0x65a6,0x65ae,0x65b2,0x65b3,0x65b4,
|
||||
0x65bf,0x65c2,0x65c8,0x65c9,0x65ce,0x65d0,0x65d4,0x65d6,
|
||||
0x65d8,0x65df,0x65f0,0x65f2,0x65f4,0x65f5,0x65f9,0x65fe,
|
||||
0x65ff,0x6600,0x6604,0x6608,0x6609,0x660d,0x6611,0x6612,
|
||||
0x6615,0x6616,0x661d, -1, -1, -1, -1, -1,
|
||||
-1,0x661e,0x6621,0x6622,0x6623,0x6624,0x6626,0x6629,
|
||||
0x662a,0x662b,0x662c,0x662e,0x6630,0x6631,0x6633,0x6639,
|
||||
0x6637,0x6640,0x6645,0x6646,0x664a,0x664c,0x6651,0x664e,
|
||||
0x6657,0x6658,0x6659,0x665b,0x665c,0x6660,0x6661,0x66fb,
|
||||
0x666a,0x666b,0x666c,0x667e,0x6673,0x6675,0x667f,0x6677,
|
||||
0x6678,0x6679,0x667b,0x6680,0x667c,0x668b,0x668c,0x668d,
|
||||
0x6690,0x6692,0x6699,0x669a,0x669b,0x669c,0x669f,0x66a0,
|
||||
0x66a4,0x66ad,0x66b1,0x66b2,0x66b5,0x66bb,0x66bf,0x66c0,
|
||||
0x66c2,0x66c3,0x66c8,0x66cc,0x66ce,0x66cf,0x66d4,0x66db,
|
||||
0x66df,0x66e8,0x66eb,0x66ec,0x66ee,0x66fa,0x6705,0x6707,
|
||||
0x670e,0x6713,0x6719,0x671c,0x6720,0x6722,0x6733,0x673e,
|
||||
0x6745,0x6747,0x6748,0x674c,0x6754,0x6755,0x675d, -1,
|
||||
-1, -1, -1, -1, -1,0x6766,0x676c,0x676e,
|
||||
0x6774,0x6776,0x677b,0x6781,0x6784,0x678e,0x678f,0x6791,
|
||||
0x6793,0x6796,0x6798,0x6799,0x679b,0x67b0,0x67b1,0x67b2,
|
||||
0x67b5,0x67bb,0x67bc,0x67bd,0x67f9,0x67c0,0x67c2,0x67c3,
|
||||
0x67c5,0x67c8,0x67c9,0x67d2,0x67d7,0x67d9,0x67dc,0x67e1,
|
||||
0x67e6,0x67f0,0x67f2,0x67f6,0x67f7,0x6852,0x6814,0x6819,
|
||||
0x681d,0x681f,0x6828,0x6827,0x682c,0x682d,0x682f,0x6830,
|
||||
0x6831,0x6833,0x683b,0x683f,0x6844,0x6845,0x684a,0x684c,
|
||||
0x6855,0x6857,0x6858,0x685b,0x686b,0x686e,0x686f,0x6870,
|
||||
0x6871,0x6872,0x6875,0x6879,0x687a,0x687b,0x687c,0x6882,
|
||||
0x6884,0x6886,0x6888,0x6896,0x6898,0x689a,0x689c,0x68a1,
|
||||
0x68a3,0x68a5,0x68a9,0x68aa,0x68ae,0x68b2,0x68bb,0x68c5,
|
||||
0x68c8,0x68cc,0x68cf, -1, -1, -1, -1, -1,
|
||||
-1,0x68d0,0x68d1,0x68d3,0x68d6,0x68d9,0x68dc,0x68dd,
|
||||
0x68e5,0x68e8,0x68ea,0x68eb,0x68ec,0x68ed,0x68f0,0x68f1,
|
||||
0x68f5,0x68f6,0x68fb,0x68fc,0x68fd,0x6906,0x6909,0x690a,
|
||||
0x6910,0x6911,0x6913,0x6916,0x6917,0x6931,0x6933,0x6935,
|
||||
0x6938,0x693b,0x6942,0x6945,0x6949,0x694e,0x6957,0x695b,
|
||||
0x6963,0x6964,0x6965,0x6966,0x6968,0x6969,0x696c,0x6970,
|
||||
0x6971,0x6972,0x697a,0x697b,0x697f,0x6980,0x698d,0x6992,
|
||||
0x6996,0x6998,0x69a1,0x69a5,0x69a6,0x69a8,0x69ab,0x69ad,
|
||||
0x69af,0x69b7,0x69b8,0x69ba,0x69bc,0x69c5,0x69c8,0x69d1,
|
||||
0x69d6,0x69d7,0x69e2,0x69e5,0x69ee,0x69ef,0x69f1,0x69f3,
|
||||
0x69f5,0x69fe,0x6a00,0x6a01,0x6a03,0x6a0f,0x6a11,0x6a15,
|
||||
0x6a1a,0x6a1d,0x6a20,0x6a24,0x6a28,0x6a30,0x6a32, -1,
|
||||
-1, -1, -1, -1, -1,0x6a34,0x6a37,0x6a3b,
|
||||
0x6a3e,0x6a3f,0x6a45,0x6a46,0x6a49,0x6a4a,0x6a4e,0x6a50,
|
||||
0x6a51,0x6a52,0x6a55,0x6a56,0x6a5b,0x6a64,0x6a67,0x6a6a,
|
||||
0x6a71,0x6a73,0x6a7e,0x6a81,0x6a83,0x6a86,0x6a87,0x6a89,
|
||||
0x6a8b,0x6a91,0x6a9b,0x6a9d,0x6a9e,0x6a9f,0x6aa5,0x6aab,
|
||||
0x6aaf,0x6ab0,0x6ab1,0x6ab4,0x6abd,0x6abe,0x6abf,0x6ac6,
|
||||
0x6ac9,0x6ac8,0x6acc,0x6ad0,0x6ad4,0x6ad5,0x6ad6,0x6adc,
|
||||
0x6add,0x6ae4,0x6ae7,0x6aec,0x6af0,0x6af1,0x6af2,0x6afc,
|
||||
0x6afd,0x6b02,0x6b03,0x6b06,0x6b07,0x6b09,0x6b0f,0x6b10,
|
||||
0x6b11,0x6b17,0x6b1b,0x6b1e,0x6b24,0x6b28,0x6b2b,0x6b2c,
|
||||
0x6b2f,0x6b35,0x6b36,0x6b3b,0x6b3f,0x6b46,0x6b4a,0x6b4d,
|
||||
0x6b52,0x6b56,0x6b58,0x6b5d,0x6b60,0x6b67,0x6b6b,0x6b6e,
|
||||
0x6b70,0x6b75,0x6b7d, -1, -1, -1, -1, -1,
|
||||
-1,0x6b7e,0x6b82,0x6b85,0x6b97,0x6b9b,0x6b9f,0x6ba0,
|
||||
0x6ba2,0x6ba3,0x6ba8,0x6ba9,0x6bac,0x6bad,0x6bae,0x6bb0,
|
||||
0x6bb8,0x6bb9,0x6bbd,0x6bbe,0x6bc3,0x6bc4,0x6bc9,0x6bcc,
|
||||
0x6bd6,0x6bda,0x6be1,0x6be3,0x6be6,0x6be7,0x6bee,0x6bf1,
|
||||
0x6bf7,0x6bf9,0x6bff,0x6c02,0x6c04,0x6c05,0x6c09,0x6c0d,
|
||||
0x6c0e,0x6c10,0x6c12,0x6c19,0x6c1f,0x6c26,0x6c27,0x6c28,
|
||||
0x6c2c,0x6c2e,0x6c33,0x6c35,0x6c36,0x6c3a,0x6c3b,0x6c3f,
|
||||
0x6c4a,0x6c4b,0x6c4d,0x6c4f,0x6c52,0x6c54,0x6c59,0x6c5b,
|
||||
0x6c5c,0x6c6b,0x6c6d,0x6c6f,0x6c74,0x6c76,0x6c78,0x6c79,
|
||||
0x6c7b,0x6c85,0x6c86,0x6c87,0x6c89,0x6c94,0x6c95,0x6c97,
|
||||
0x6c98,0x6c9c,0x6c9f,0x6cb0,0x6cb2,0x6cb4,0x6cc2,0x6cc6,
|
||||
0x6ccd,0x6ccf,0x6cd0,0x6cd1,0x6cd2,0x6cd4,0x6cd6, -1,
|
||||
-1, -1, -1, -1, -1,0x6cda,0x6cdc,0x6ce0,
|
||||
0x6ce7,0x6ce9,0x6ceb,0x6cec,0x6cee,0x6cf2,0x6cf4,0x6d04,
|
||||
0x6d07,0x6d0a,0x6d0e,0x6d0f,0x6d11,0x6d13,0x6d1a,0x6d26,
|
||||
0x6d27,0x6d28,0x6c67,0x6d2e,0x6d2f,0x6d31,0x6d39,0x6d3c,
|
||||
0x6d3f,0x6d57,0x6d5e,0x6d5f,0x6d61,0x6d65,0x6d67,0x6d6f,
|
||||
0x6d70,0x6d7c,0x6d82,0x6d87,0x6d91,0x6d92,0x6d94,0x6d96,
|
||||
0x6d97,0x6d98,0x6daa,0x6dac,0x6db4,0x6db7,0x6db9,0x6dbd,
|
||||
0x6dbf,0x6dc4,0x6dc8,0x6dca,0x6dce,0x6dcf,0x6dd6,0x6ddb,
|
||||
0x6ddd,0x6ddf,0x6de0,0x6de2,0x6de5,0x6de9,0x6def,0x6df0,
|
||||
0x6df4,0x6df6,0x6dfc,0x6e00,0x6e04,0x6e1e,0x6e22,0x6e27,
|
||||
0x6e32,0x6e36,0x6e39,0x6e3b,0x6e3c,0x6e44,0x6e45,0x6e48,
|
||||
0x6e49,0x6e4b,0x6e4f,0x6e51,0x6e52,0x6e53,0x6e54,0x6e57,
|
||||
0x6e5c,0x6e5d,0x6e5e, -1, -1, -1, -1, -1,
|
||||
-1,0x6e62,0x6e63,0x6e68,0x6e73,0x6e7b,0x6e7d,0x6e8d,
|
||||
0x6e93,0x6e99,0x6ea0,0x6ea7,0x6ead,0x6eae,0x6eb1,0x6eb3,
|
||||
0x6ebb,0x6ebf,0x6ec0,0x6ec1,0x6ec3,0x6ec7,0x6ec8,0x6eca,
|
||||
0x6ecd,0x6ece,0x6ecf,0x6eeb,0x6eed,0x6eee,0x6ef9,0x6efb,
|
||||
0x6efd,0x6f04,0x6f08,0x6f0a,0x6f0c,0x6f0d,0x6f16,0x6f18,
|
||||
0x6f1a,0x6f1b,0x6f26,0x6f29,0x6f2a,0x6f2f,0x6f30,0x6f33,
|
||||
0x6f36,0x6f3b,0x6f3c,0x6f2d,0x6f4f,0x6f51,0x6f52,0x6f53,
|
||||
0x6f57,0x6f59,0x6f5a,0x6f5d,0x6f5e,0x6f61,0x6f62,0x6f68,
|
||||
0x6f6c,0x6f7d,0x6f7e,0x6f83,0x6f87,0x6f88,0x6f8b,0x6f8c,
|
||||
0x6f8d,0x6f90,0x6f92,0x6f93,0x6f94,0x6f96,0x6f9a,0x6f9f,
|
||||
0x6fa0,0x6fa5,0x6fa6,0x6fa7,0x6fa8,0x6fae,0x6faf,0x6fb0,
|
||||
0x6fb5,0x6fb6,0x6fbc,0x6fc5,0x6fc7,0x6fc8,0x6fca, -1,
|
||||
-1, -1, -1, -1, -1,0x6fda,0x6fde,0x6fe8,
|
||||
0x6fe9,0x6ff0,0x6ff5,0x6ff9,0x6ffc,0x6ffd,0x7000,0x7005,
|
||||
0x7006,0x7007,0x700d,0x7017,0x7020,0x7023,0x702f,0x7034,
|
||||
0x7037,0x7039,0x703c,0x7043,0x7044,0x7048,0x7049,0x704a,
|
||||
0x704b,0x7054,0x7055,0x705d,0x705e,0x704e,0x7064,0x7065,
|
||||
0x706c,0x706e,0x7075,0x7076,0x707e,0x7081,0x7085,0x7086,
|
||||
0x7094,0x7095,0x7096,0x7097,0x7098,0x709b,0x70a4,0x70ab,
|
||||
0x70b0,0x70b1,0x70b4,0x70b7,0x70ca,0x70d1,0x70d3,0x70d4,
|
||||
0x70d5,0x70d6,0x70d8,0x70dc,0x70e4,0x70fa,0x7103,0x7104,
|
||||
0x7105,0x7106,0x7107,0x710b,0x710c,0x710f,0x711e,0x7120,
|
||||
0x712b,0x712d,0x712f,0x7130,0x7131,0x7138,0x7141,0x7145,
|
||||
0x7146,0x7147,0x714a,0x714b,0x7150,0x7152,0x7157,0x715a,
|
||||
0x715c,0x715e,0x7160, -1, -1, -1, -1, -1,
|
||||
-1,0x7168,0x7179,0x7180,0x7185,0x7187,0x718c,0x7192,
|
||||
0x719a,0x719b,0x71a0,0x71a2,0x71af,0x71b0,0x71b2,0x71b3,
|
||||
0x71ba,0x71bf,0x71c0,0x71c1,0x71c4,0x71cb,0x71cc,0x71d3,
|
||||
0x71d6,0x71d9,0x71da,0x71dc,0x71f8,0x71fe,0x7200,0x7207,
|
||||
0x7208,0x7209,0x7213,0x7217,0x721a,0x721d,0x721f,0x7224,
|
||||
0x722b,0x722f,0x7234,0x7238,0x7239,0x7241,0x7242,0x7243,
|
||||
0x7245,0x724e,0x724f,0x7250,0x7253,0x7255,0x7256,0x725a,
|
||||
0x725c,0x725e,0x7260,0x7263,0x7268,0x726b,0x726e,0x726f,
|
||||
0x7271,0x7277,0x7278,0x727b,0x727c,0x727f,0x7284,0x7289,
|
||||
0x728d,0x728e,0x7293,0x729b,0x72a8,0x72ad,0x72ae,0x72b1,
|
||||
0x72b4,0x72be,0x72c1,0x72c7,0x72c9,0x72cc,0x72d5,0x72d6,
|
||||
0x72d8,0x72df,0x72e5,0x72f3,0x72f4,0x72fa,0x72fb, -1,
|
||||
-1, -1, -1, -1, -1,0x72fe,0x7302,0x7304,
|
||||
0x7305,0x7307,0x730b,0x730d,0x7312,0x7313,0x7318,0x7319,
|
||||
0x731e,0x7322,0x7324,0x7327,0x7328,0x732c,0x7331,0x7332,
|
||||
0x7335,0x733a,0x733b,0x733d,0x7343,0x734d,0x7350,0x7352,
|
||||
0x7356,0x7358,0x735d,0x735e,0x735f,0x7360,0x7366,0x7367,
|
||||
0x7369,0x736b,0x736c,0x736e,0x736f,0x7371,0x7377,0x7379,
|
||||
0x737c,0x7380,0x7381,0x7383,0x7385,0x7386,0x738e,0x7390,
|
||||
0x7393,0x7395,0x7397,0x7398,0x739c,0x739e,0x739f,0x73a0,
|
||||
0x73a2,0x73a5,0x73a6,0x73aa,0x73ab,0x73ad,0x73b5,0x73b7,
|
||||
0x73b9,0x73bc,0x73bd,0x73bf,0x73c5,0x73c6,0x73c9,0x73cb,
|
||||
0x73cc,0x73cf,0x73d2,0x73d3,0x73d6,0x73d9,0x73dd,0x73e1,
|
||||
0x73e3,0x73e6,0x73e7,0x73e9,0x73f4,0x73f5,0x73f7,0x73f9,
|
||||
0x73fa,0x73fb,0x73fd, -1, -1, -1, -1, -1,
|
||||
-1,0x73ff,0x7400,0x7401,0x7404,0x7407,0x740a,0x7411,
|
||||
0x741a,0x741b,0x7424,0x7426,0x7428,0x7429,0x742a,0x742b,
|
||||
0x742c,0x742d,0x742e,0x742f,0x7430,0x7431,0x7439,0x7440,
|
||||
0x7443,0x7444,0x7446,0x7447,0x744b,0x744d,0x7451,0x7452,
|
||||
0x7457,0x745d,0x7462,0x7466,0x7467,0x7468,0x746b,0x746d,
|
||||
0x746e,0x7471,0x7472,0x7480,0x7481,0x7485,0x7486,0x7487,
|
||||
0x7489,0x748f,0x7490,0x7491,0x7492,0x7498,0x7499,0x749a,
|
||||
0x749c,0x749f,0x74a0,0x74a1,0x74a3,0x74a6,0x74a8,0x74a9,
|
||||
0x74aa,0x74ab,0x74ae,0x74af,0x74b1,0x74b2,0x74b5,0x74b9,
|
||||
0x74bb,0x74bf,0x74c8,0x74c9,0x74cc,0x74d0,0x74d3,0x74d8,
|
||||
0x74da,0x74db,0x74de,0x74df,0x74e4,0x74e8,0x74ea,0x74eb,
|
||||
0x74ef,0x74f4,0x74fa,0x74fb,0x74fc,0x74ff,0x7506, -1,
|
||||
-1, -1, -1, -1, -1,0x7512,0x7516,0x7517,
|
||||
0x7520,0x7521,0x7524,0x7527,0x7529,0x752a,0x752f,0x7536,
|
||||
0x7539,0x753d,0x753e,0x753f,0x7540,0x7543,0x7547,0x7548,
|
||||
0x754e,0x7550,0x7552,0x7557,0x755e,0x755f,0x7561,0x756f,
|
||||
0x7571,0x7579,0x757a,0x757b,0x757c,0x757d,0x757e,0x7581,
|
||||
0x7585,0x7590,0x7592,0x7593,0x7595,0x7599,0x759c,0x75a2,
|
||||
0x75a4,0x75b4,0x75ba,0x75bf,0x75c0,0x75c1,0x75c4,0x75c6,
|
||||
0x75cc,0x75ce,0x75cf,0x75d7,0x75dc,0x75df,0x75e0,0x75e1,
|
||||
0x75e4,0x75e7,0x75ec,0x75ee,0x75ef,0x75f1,0x75f9,0x7600,
|
||||
0x7602,0x7603,0x7604,0x7607,0x7608,0x760a,0x760c,0x760f,
|
||||
0x7612,0x7613,0x7615,0x7616,0x7619,0x761b,0x761c,0x761d,
|
||||
0x761e,0x7623,0x7625,0x7626,0x7629,0x762d,0x7632,0x7633,
|
||||
0x7635,0x7638,0x7639, -1, -1, -1, -1, -1,
|
||||
-1,0x763a,0x763c,0x764a,0x7640,0x7641,0x7643,0x7644,
|
||||
0x7645,0x7649,0x764b,0x7655,0x7659,0x765f,0x7664,0x7665,
|
||||
0x766d,0x766e,0x766f,0x7671,0x7674,0x7681,0x7685,0x768c,
|
||||
0x768d,0x7695,0x769b,0x769c,0x769d,0x769f,0x76a0,0x76a2,
|
||||
0x76a3,0x76a4,0x76a5,0x76a6,0x76a7,0x76a8,0x76aa,0x76ad,
|
||||
0x76bd,0x76c1,0x76c5,0x76c9,0x76cb,0x76cc,0x76ce,0x76d4,
|
||||
0x76d9,0x76e0,0x76e6,0x76e8,0x76ec,0x76f0,0x76f1,0x76f6,
|
||||
0x76f9,0x76fc,0x7700,0x7706,0x770a,0x770e,0x7712,0x7714,
|
||||
0x7715,0x7717,0x7719,0x771a,0x771c,0x7722,0x7728,0x772d,
|
||||
0x772e,0x772f,0x7734,0x7735,0x7736,0x7739,0x773d,0x773e,
|
||||
0x7742,0x7745,0x7746,0x774a,0x774d,0x774e,0x774f,0x7752,
|
||||
0x7756,0x7757,0x775c,0x775e,0x775f,0x7760,0x7762, -1,
|
||||
-1, -1, -1, -1, -1,0x7764,0x7767,0x776a,
|
||||
0x776c,0x7770,0x7772,0x7773,0x7774,0x777a,0x777d,0x7780,
|
||||
0x7784,0x778c,0x778d,0x7794,0x7795,0x7796,0x779a,0x779f,
|
||||
0x77a2,0x77a7,0x77aa,0x77ae,0x77af,0x77b1,0x77b5,0x77be,
|
||||
0x77c3,0x77c9,0x77d1,0x77d2,0x77d5,0x77d9,0x77de,0x77df,
|
||||
0x77e0,0x77e4,0x77e6,0x77ea,0x77ec,0x77f0,0x77f1,0x77f4,
|
||||
0x77f8,0x77fb,0x7805,0x7806,0x7809,0x780d,0x780e,0x7811,
|
||||
0x781d,0x7821,0x7822,0x7823,0x782d,0x782e,0x7830,0x7835,
|
||||
0x7837,0x7843,0x7844,0x7847,0x7848,0x784c,0x784e,0x7852,
|
||||
0x785c,0x785e,0x7860,0x7861,0x7863,0x7864,0x7868,0x786a,
|
||||
0x786e,0x787a,0x787e,0x788a,0x788f,0x7894,0x7898,0x78a1,
|
||||
0x789d,0x789e,0x789f,0x78a4,0x78a8,0x78ac,0x78ad,0x78b0,
|
||||
0x78b1,0x78b2,0x78b3, -1, -1, -1, -1, -1,
|
||||
-1,0x78bb,0x78bd,0x78bf,0x78c7,0x78c8,0x78c9,0x78cc,
|
||||
0x78ce,0x78d2,0x78d3,0x78d5,0x78d6,0x78e4,0x78db,0x78df,
|
||||
0x78e0,0x78e1,0x78e6,0x78ea,0x78f2,0x78f3,0x7900,0x78f6,
|
||||
0x78f7,0x78fa,0x78fb,0x78ff,0x7906,0x790c,0x7910,0x791a,
|
||||
0x791c,0x791e,0x791f,0x7920,0x7925,0x7927,0x7929,0x792d,
|
||||
0x7931,0x7934,0x7935,0x793b,0x793d,0x793f,0x7944,0x7945,
|
||||
0x7946,0x794a,0x794b,0x794f,0x7951,0x7954,0x7958,0x795b,
|
||||
0x795c,0x7967,0x7969,0x796b,0x7972,0x7979,0x797b,0x797c,
|
||||
0x797e,0x798b,0x798c,0x7991,0x7993,0x7994,0x7995,0x7996,
|
||||
0x7998,0x799b,0x799c,0x79a1,0x79a8,0x79a9,0x79ab,0x79af,
|
||||
0x79b1,0x79b4,0x79b8,0x79bb,0x79c2,0x79c4,0x79c7,0x79c8,
|
||||
0x79ca,0x79cf,0x79d4,0x79d6,0x79da,0x79dd,0x79de, -1,
|
||||
-1, -1, -1, -1, -1,0x79e0,0x79e2,0x79e5,
|
||||
0x79ea,0x79eb,0x79ed,0x79f1,0x79f8,0x79fc,0x7a02,0x7a03,
|
||||
0x7a07,0x7a09,0x7a0a,0x7a0c,0x7a11,0x7a15,0x7a1b,0x7a1e,
|
||||
0x7a21,0x7a27,0x7a2b,0x7a2d,0x7a2f,0x7a30,0x7a34,0x7a35,
|
||||
0x7a38,0x7a39,0x7a3a,0x7a44,0x7a45,0x7a47,0x7a48,0x7a4c,
|
||||
0x7a55,0x7a56,0x7a59,0x7a5c,0x7a5d,0x7a5f,0x7a60,0x7a65,
|
||||
0x7a67,0x7a6a,0x7a6d,0x7a75,0x7a78,0x7a7e,0x7a80,0x7a82,
|
||||
0x7a85,0x7a86,0x7a8a,0x7a8b,0x7a90,0x7a91,0x7a94,0x7a9e,
|
||||
0x7aa0,0x7aa3,0x7aac,0x7ab3,0x7ab5,0x7ab9,0x7abb,0x7abc,
|
||||
0x7ac6,0x7ac9,0x7acc,0x7ace,0x7ad1,0x7adb,0x7ae8,0x7ae9,
|
||||
0x7aeb,0x7aec,0x7af1,0x7af4,0x7afb,0x7afd,0x7afe,0x7b07,
|
||||
0x7b14,0x7b1f,0x7b23,0x7b27,0x7b29,0x7b2a,0x7b2b,0x7b2d,
|
||||
0x7b2e,0x7b2f,0x7b30, -1, -1, -1, -1, -1,
|
||||
-1,0x7b31,0x7b34,0x7b3d,0x7b3f,0x7b40,0x7b41,0x7b47,
|
||||
0x7b4e,0x7b55,0x7b60,0x7b64,0x7b66,0x7b69,0x7b6a,0x7b6d,
|
||||
0x7b6f,0x7b72,0x7b73,0x7b77,0x7b84,0x7b89,0x7b8e,0x7b90,
|
||||
0x7b91,0x7b96,0x7b9b,0x7b9e,0x7ba0,0x7ba5,0x7bac,0x7baf,
|
||||
0x7bb0,0x7bb2,0x7bb5,0x7bb6,0x7bba,0x7bbb,0x7bbc,0x7bbd,
|
||||
0x7bc2,0x7bc5,0x7bc8,0x7bca,0x7bd4,0x7bd6,0x7bd7,0x7bd9,
|
||||
0x7bda,0x7bdb,0x7be8,0x7bea,0x7bf2,0x7bf4,0x7bf5,0x7bf8,
|
||||
0x7bf9,0x7bfa,0x7bfc,0x7bfe,0x7c01,0x7c02,0x7c03,0x7c04,
|
||||
0x7c06,0x7c09,0x7c0b,0x7c0c,0x7c0e,0x7c0f,0x7c19,0x7c1b,
|
||||
0x7c20,0x7c25,0x7c26,0x7c28,0x7c2c,0x7c31,0x7c33,0x7c34,
|
||||
0x7c36,0x7c39,0x7c3a,0x7c46,0x7c4a,0x7c55,0x7c51,0x7c52,
|
||||
0x7c53,0x7c59,0x7c5a,0x7c5b,0x7c5c,0x7c5d,0x7c5e, -1,
|
||||
-1, -1, -1, -1, -1,0x7c61,0x7c63,0x7c67,
|
||||
0x7c69,0x7c6d,0x7c6e,0x7c70,0x7c72,0x7c79,0x7c7c,0x7c7d,
|
||||
0x7c86,0x7c87,0x7c8f,0x7c94,0x7c9e,0x7ca0,0x7ca6,0x7cb0,
|
||||
0x7cb6,0x7cb7,0x7cba,0x7cbb,0x7cbc,0x7cbf,0x7cc4,0x7cc7,
|
||||
0x7cc8,0x7cc9,0x7ccd,0x7ccf,0x7cd3,0x7cd4,0x7cd5,0x7cd7,
|
||||
0x7cd9,0x7cda,0x7cdd,0x7ce6,0x7ce9,0x7ceb,0x7cf5,0x7d03,
|
||||
0x7d07,0x7d08,0x7d09,0x7d0f,0x7d11,0x7d12,0x7d13,0x7d16,
|
||||
0x7d1d,0x7d1e,0x7d23,0x7d26,0x7d2a,0x7d2d,0x7d31,0x7d3c,
|
||||
0x7d3d,0x7d3e,0x7d40,0x7d41,0x7d47,0x7d48,0x7d4d,0x7d51,
|
||||
0x7d53,0x7d57,0x7d59,0x7d5a,0x7d5c,0x7d5d,0x7d65,0x7d67,
|
||||
0x7d6a,0x7d70,0x7d78,0x7d7a,0x7d7b,0x7d7f,0x7d81,0x7d82,
|
||||
0x7d83,0x7d85,0x7d86,0x7d88,0x7d8b,0x7d8c,0x7d8d,0x7d91,
|
||||
0x7d96,0x7d97,0x7d9d, -1, -1, -1, -1, -1,
|
||||
-1,0x7d9e,0x7da6,0x7da7,0x7daa,0x7db3,0x7db6,0x7db7,
|
||||
0x7db9,0x7dc2,0x7dc3,0x7dc4,0x7dc5,0x7dc6,0x7dcc,0x7dcd,
|
||||
0x7dce,0x7dd7,0x7dd9,0x7e00,0x7de2,0x7de5,0x7de6,0x7dea,
|
||||
0x7deb,0x7ded,0x7df1,0x7df5,0x7df6,0x7df9,0x7dfa,0x7e08,
|
||||
0x7e10,0x7e11,0x7e15,0x7e17,0x7e1c,0x7e1d,0x7e20,0x7e27,
|
||||
0x7e28,0x7e2c,0x7e2d,0x7e2f,0x7e33,0x7e36,0x7e3f,0x7e44,
|
||||
0x7e45,0x7e47,0x7e4e,0x7e50,0x7e52,0x7e58,0x7e5f,0x7e61,
|
||||
0x7e62,0x7e65,0x7e6b,0x7e6e,0x7e6f,0x7e73,0x7e78,0x7e7e,
|
||||
0x7e81,0x7e86,0x7e87,0x7e8a,0x7e8d,0x7e91,0x7e95,0x7e98,
|
||||
0x7e9a,0x7e9d,0x7e9e,0x7f3c,0x7f3b,0x7f3d,0x7f3e,0x7f3f,
|
||||
0x7f43,0x7f44,0x7f47,0x7f4f,0x7f52,0x7f53,0x7f5b,0x7f5c,
|
||||
0x7f5d,0x7f61,0x7f63,0x7f64,0x7f65,0x7f66,0x7f6d, -1,
|
||||
-1, -1, -1, -1, -1,0x7f71,0x7f7d,0x7f7e,
|
||||
0x7f7f,0x7f80,0x7f8b,0x7f8d,0x7f8f,0x7f90,0x7f91,0x7f96,
|
||||
0x7f97,0x7f9c,0x7fa1,0x7fa2,0x7fa6,0x7faa,0x7fad,0x7fb4,
|
||||
0x7fbc,0x7fbf,0x7fc0,0x7fc3,0x7fc8,0x7fce,0x7fcf,0x7fdb,
|
||||
0x7fdf,0x7fe3,0x7fe5,0x7fe8,0x7fec,0x7fee,0x7fef,0x7ff2,
|
||||
0x7ffa,0x7ffd,0x7ffe,0x7fff,0x8007,0x8008,0x800a,0x800d,
|
||||
0x800e,0x800f,0x8011,0x8013,0x8014,0x8016,0x801d,0x801e,
|
||||
0x801f,0x8020,0x8024,0x8026,0x802c,0x802e,0x8030,0x8034,
|
||||
0x8035,0x8037,0x8039,0x803a,0x803c,0x803e,0x8040,0x8044,
|
||||
0x8060,0x8064,0x8066,0x806d,0x8071,0x8075,0x8081,0x8088,
|
||||
0x808e,0x809c,0x809e,0x80a6,0x80a7,0x80ab,0x80b8,0x80b9,
|
||||
0x80c8,0x80cd,0x80cf,0x80d2,0x80d4,0x80d5,0x80d7,0x80d8,
|
||||
0x80e0,0x80ed,0x80ee, -1, -1, -1, -1, -1,
|
||||
-1,0x80f0,0x80f2,0x80f3,0x80f6,0x80f9,0x80fa,0x80fe,
|
||||
0x8103,0x810b,0x8116,0x8117,0x8118,0x811c,0x811e,0x8120,
|
||||
0x8124,0x8127,0x812c,0x8130,0x8135,0x813a,0x813c,0x8145,
|
||||
0x8147,0x814a,0x814c,0x8152,0x8157,0x8160,0x8161,0x8167,
|
||||
0x8168,0x8169,0x816d,0x816f,0x8177,0x8181,0x8190,0x8184,
|
||||
0x8185,0x8186,0x818b,0x818e,0x8196,0x8198,0x819b,0x819e,
|
||||
0x81a2,0x81ae,0x81b2,0x81b4,0x81bb,0x81cb,0x81c3,0x81c5,
|
||||
0x81ca,0x81ce,0x81cf,0x81d5,0x81d7,0x81db,0x81dd,0x81de,
|
||||
0x81e1,0x81e4,0x81eb,0x81ec,0x81f0,0x81f1,0x81f2,0x81f5,
|
||||
0x81f6,0x81f8,0x81f9,0x81fd,0x81ff,0x8200,0x8203,0x820f,
|
||||
0x8213,0x8214,0x8219,0x821a,0x821d,0x8221,0x8222,0x8228,
|
||||
0x8232,0x8234,0x823a,0x8243,0x8244,0x8245,0x8246, -1,
|
||||
-1, -1, -1, -1, -1,0x824b,0x824e,0x824f,
|
||||
0x8251,0x8256,0x825c,0x8260,0x8263,0x8267,0x826d,0x8274,
|
||||
0x827b,0x827d,0x827f,0x8280,0x8281,0x8283,0x8284,0x8287,
|
||||
0x8289,0x828a,0x828e,0x8291,0x8294,0x8296,0x8298,0x829a,
|
||||
0x829b,0x82a0,0x82a1,0x82a3,0x82a4,0x82a7,0x82a8,0x82a9,
|
||||
0x82aa,0x82ae,0x82b0,0x82b2,0x82b4,0x82b7,0x82ba,0x82bc,
|
||||
0x82be,0x82bf,0x82c6,0x82d0,0x82d5,0x82da,0x82e0,0x82e2,
|
||||
0x82e4,0x82e8,0x82ea,0x82ed,0x82ef,0x82f6,0x82f7,0x82fd,
|
||||
0x82fe,0x8300,0x8301,0x8307,0x8308,0x830a,0x830b,0x8354,
|
||||
0x831b,0x831d,0x831e,0x831f,0x8321,0x8322,0x832c,0x832d,
|
||||
0x832e,0x8330,0x8333,0x8337,0x833a,0x833c,0x833d,0x8342,
|
||||
0x8343,0x8344,0x8347,0x834d,0x834e,0x8351,0x8355,0x8356,
|
||||
0x8357,0x8370,0x8378, -1, -1, -1, -1, -1,
|
||||
-1,0x837d,0x837f,0x8380,0x8382,0x8384,0x8386,0x838d,
|
||||
0x8392,0x8394,0x8395,0x8398,0x8399,0x839b,0x839c,0x839d,
|
||||
0x83a6,0x83a7,0x83a9,0x83ac,0x83be,0x83bf,0x83c0,0x83c7,
|
||||
0x83c9,0x83cf,0x83d0,0x83d1,0x83d4,0x83dd,0x8353,0x83e8,
|
||||
0x83ea,0x83f6,0x83f8,0x83f9,0x83fc,0x8401,0x8406,0x840a,
|
||||
0x840f,0x8411,0x8415,0x8419,0x83ad,0x842f,0x8439,0x8445,
|
||||
0x8447,0x8448,0x844a,0x844d,0x844f,0x8451,0x8452,0x8456,
|
||||
0x8458,0x8459,0x845a,0x845c,0x8460,0x8464,0x8465,0x8467,
|
||||
0x846a,0x8470,0x8473,0x8474,0x8476,0x8478,0x847c,0x847d,
|
||||
0x8481,0x8485,0x8492,0x8493,0x8495,0x849e,0x84a6,0x84a8,
|
||||
0x84a9,0x84aa,0x84af,0x84b1,0x84b4,0x84ba,0x84bd,0x84be,
|
||||
0x84c0,0x84c2,0x84c7,0x84c8,0x84cc,0x84cf,0x84d3, -1,
|
||||
-1, -1, -1, -1, -1,0x84dc,0x84e7,0x84ea,
|
||||
0x84ef,0x84f0,0x84f1,0x84f2,0x84f7,0x8532,0x84fa,0x84fb,
|
||||
0x84fd,0x8502,0x8503,0x8507,0x850c,0x850e,0x8510,0x851c,
|
||||
0x851e,0x8522,0x8523,0x8524,0x8525,0x8527,0x852a,0x852b,
|
||||
0x852f,0x8533,0x8534,0x8536,0x853f,0x8546,0x854f,0x8550,
|
||||
0x8551,0x8552,0x8553,0x8556,0x8559,0x855c,0x855d,0x855e,
|
||||
0x855f,0x8560,0x8561,0x8562,0x8564,0x856b,0x856f,0x8579,
|
||||
0x857a,0x857b,0x857d,0x857f,0x8581,0x8585,0x8586,0x8589,
|
||||
0x858b,0x858c,0x858f,0x8593,0x8598,0x859d,0x859f,0x85a0,
|
||||
0x85a2,0x85a5,0x85a7,0x85b4,0x85b6,0x85b7,0x85b8,0x85bc,
|
||||
0x85bd,0x85be,0x85bf,0x85c2,0x85c7,0x85ca,0x85cb,0x85ce,
|
||||
0x85ad,0x85d8,0x85da,0x85df,0x85e0,0x85e6,0x85e8,0x85ed,
|
||||
0x85f3,0x85f6,0x85fc, -1, -1, -1, -1, -1,
|
||||
-1,0x85ff,0x8600,0x8604,0x8605,0x860d,0x860e,0x8610,
|
||||
0x8611,0x8612,0x8618,0x8619,0x861b,0x861e,0x8621,0x8627,
|
||||
0x8629,0x8636,0x8638,0x863a,0x863c,0x863d,0x8640,0x8642,
|
||||
0x8646,0x8652,0x8653,0x8656,0x8657,0x8658,0x8659,0x865d,
|
||||
0x8660,0x8661,0x8662,0x8663,0x8664,0x8669,0x866c,0x866f,
|
||||
0x8675,0x8676,0x8677,0x867a,0x868d,0x8691,0x8696,0x8698,
|
||||
0x869a,0x869c,0x86a1,0x86a6,0x86a7,0x86a8,0x86ad,0x86b1,
|
||||
0x86b3,0x86b4,0x86b5,0x86b7,0x86b8,0x86b9,0x86bf,0x86c0,
|
||||
0x86c1,0x86c3,0x86c5,0x86d1,0x86d2,0x86d5,0x86d7,0x86da,
|
||||
0x86dc,0x86e0,0x86e3,0x86e5,0x86e7,0x8688,0x86fa,0x86fc,
|
||||
0x86fd,0x8704,0x8705,0x8707,0x870b,0x870e,0x870f,0x8710,
|
||||
0x8713,0x8714,0x8719,0x871e,0x871f,0x8721,0x8723, -1,
|
||||
-1, -1, -1, -1, -1,0x8728,0x872e,0x872f,
|
||||
0x8731,0x8732,0x8739,0x873a,0x873c,0x873d,0x873e,0x8740,
|
||||
0x8743,0x8745,0x874d,0x8758,0x875d,0x8761,0x8764,0x8765,
|
||||
0x876f,0x8771,0x8772,0x877b,0x8783,0x8784,0x8785,0x8786,
|
||||
0x8787,0x8788,0x8789,0x878b,0x878c,0x8790,0x8793,0x8795,
|
||||
0x8797,0x8798,0x8799,0x879e,0x87a0,0x87a3,0x87a7,0x87ac,
|
||||
0x87ad,0x87ae,0x87b1,0x87b5,0x87be,0x87bf,0x87c1,0x87c8,
|
||||
0x87c9,0x87ca,0x87ce,0x87d5,0x87d6,0x87d9,0x87da,0x87dc,
|
||||
0x87df,0x87e2,0x87e3,0x87e4,0x87ea,0x87eb,0x87ed,0x87f1,
|
||||
0x87f3,0x87f8,0x87fa,0x87ff,0x8801,0x8803,0x8806,0x8809,
|
||||
0x880a,0x880b,0x8810,0x8819,0x8812,0x8813,0x8814,0x8818,
|
||||
0x881a,0x881b,0x881c,0x881e,0x881f,0x8828,0x882d,0x882e,
|
||||
0x8830,0x8832,0x8835, -1, -1, -1, -1, -1,
|
||||
-1,0x883a,0x883c,0x8841,0x8843,0x8845,0x8848,0x8849,
|
||||
0x884a,0x884b,0x884e,0x8851,0x8855,0x8856,0x8858,0x885a,
|
||||
0x885c,0x885f,0x8860,0x8864,0x8869,0x8871,0x8879,0x887b,
|
||||
0x8880,0x8898,0x889a,0x889b,0x889c,0x889f,0x88a0,0x88a8,
|
||||
0x88aa,0x88ba,0x88bd,0x88be,0x88c0,0x88ca,0x88cb,0x88cc,
|
||||
0x88cd,0x88ce,0x88d1,0x88d2,0x88d3,0x88db,0x88de,0x88e7,
|
||||
0x88ef,0x88f0,0x88f1,0x88f5,0x88f7,0x8901,0x8906,0x890d,
|
||||
0x890e,0x890f,0x8915,0x8916,0x8918,0x8919,0x891a,0x891c,
|
||||
0x8920,0x8926,0x8927,0x8928,0x8930,0x8931,0x8932,0x8935,
|
||||
0x8939,0x893a,0x893e,0x8940,0x8942,0x8945,0x8946,0x8949,
|
||||
0x894f,0x8952,0x8957,0x895a,0x895b,0x895c,0x8961,0x8962,
|
||||
0x8963,0x896b,0x896e,0x8970,0x8973,0x8975,0x897a, -1,
|
||||
-1, -1, -1, -1, -1,0x897b,0x897c,0x897d,
|
||||
0x8989,0x898d,0x8990,0x8994,0x8995,0x899b,0x899c,0x899f,
|
||||
0x89a0,0x89a5,0x89b0,0x89b4,0x89b5,0x89b6,0x89b7,0x89bc,
|
||||
0x89d4,0x89d5,0x89d6,0x89d7,0x89d8,0x89e5,0x89e9,0x89eb,
|
||||
0x89ed,0x89f1,0x89f3,0x89f6,0x89f9,0x89fd,0x89ff,0x8a04,
|
||||
0x8a05,0x8a07,0x8a0f,0x8a11,0x8a12,0x8a14,0x8a15,0x8a1e,
|
||||
0x8a20,0x8a22,0x8a24,0x8a26,0x8a2b,0x8a2c,0x8a2f,0x8a35,
|
||||
0x8a37,0x8a3d,0x8a3e,0x8a40,0x8a43,0x8a45,0x8a47,0x8a49,
|
||||
0x8a4d,0x8a4e,0x8a53,0x8a56,0x8a57,0x8a58,0x8a5c,0x8a5d,
|
||||
0x8a61,0x8a65,0x8a67,0x8a75,0x8a76,0x8a77,0x8a79,0x8a7a,
|
||||
0x8a7b,0x8a7e,0x8a7f,0x8a80,0x8a83,0x8a86,0x8a8b,0x8a8f,
|
||||
0x8a90,0x8a92,0x8a96,0x8a97,0x8a99,0x8a9f,0x8aa7,0x8aa9,
|
||||
0x8aae,0x8aaf,0x8ab3, -1, -1, -1, -1, -1,
|
||||
-1,0x8ab6,0x8ab7,0x8abb,0x8abe,0x8ac3,0x8ac6,0x8ac8,
|
||||
0x8ac9,0x8aca,0x8ad1,0x8ad3,0x8ad4,0x8ad5,0x8ad7,0x8add,
|
||||
0x8adf,0x8aec,0x8af0,0x8af4,0x8af5,0x8af6,0x8afc,0x8aff,
|
||||
0x8b05,0x8b06,0x8b0b,0x8b11,0x8b1c,0x8b1e,0x8b1f,0x8b0a,
|
||||
0x8b2d,0x8b30,0x8b37,0x8b3c,0x8b42,0x8b43,0x8b44,0x8b45,
|
||||
0x8b46,0x8b48,0x8b52,0x8b53,0x8b54,0x8b59,0x8b4d,0x8b5e,
|
||||
0x8b63,0x8b6d,0x8b76,0x8b78,0x8b79,0x8b7c,0x8b7e,0x8b81,
|
||||
0x8b84,0x8b85,0x8b8b,0x8b8d,0x8b8f,0x8b94,0x8b95,0x8b9c,
|
||||
0x8b9e,0x8b9f,0x8c38,0x8c39,0x8c3d,0x8c3e,0x8c45,0x8c47,
|
||||
0x8c49,0x8c4b,0x8c4f,0x8c51,0x8c53,0x8c54,0x8c57,0x8c58,
|
||||
0x8c5b,0x8c5d,0x8c59,0x8c63,0x8c64,0x8c66,0x8c68,0x8c69,
|
||||
0x8c6d,0x8c73,0x8c75,0x8c76,0x8c7b,0x8c7e,0x8c86, -1,
|
||||
-1, -1, -1, -1, -1,0x8c87,0x8c8b,0x8c90,
|
||||
0x8c92,0x8c93,0x8c99,0x8c9b,0x8c9c,0x8ca4,0x8cb9,0x8cba,
|
||||
0x8cc5,0x8cc6,0x8cc9,0x8ccb,0x8ccf,0x8cd6,0x8cd5,0x8cd9,
|
||||
0x8cdd,0x8ce1,0x8ce8,0x8cec,0x8cef,0x8cf0,0x8cf2,0x8cf5,
|
||||
0x8cf7,0x8cf8,0x8cfe,0x8cff,0x8d01,0x8d03,0x8d09,0x8d12,
|
||||
0x8d17,0x8d1b,0x8d65,0x8d69,0x8d6c,0x8d6e,0x8d7f,0x8d82,
|
||||
0x8d84,0x8d88,0x8d8d,0x8d90,0x8d91,0x8d95,0x8d9e,0x8d9f,
|
||||
0x8da0,0x8da6,0x8dab,0x8dac,0x8daf,0x8db2,0x8db5,0x8db7,
|
||||
0x8db9,0x8dbb,0x8dc0,0x8dc5,0x8dc6,0x8dc7,0x8dc8,0x8dca,
|
||||
0x8dce,0x8dd1,0x8dd4,0x8dd5,0x8dd7,0x8dd9,0x8de4,0x8de5,
|
||||
0x8de7,0x8dec,0x8df0,0x8dbc,0x8df1,0x8df2,0x8df4,0x8dfd,
|
||||
0x8e01,0x8e04,0x8e05,0x8e06,0x8e0b,0x8e11,0x8e14,0x8e16,
|
||||
0x8e20,0x8e21,0x8e22, -1, -1, -1, -1, -1,
|
||||
-1,0x8e23,0x8e26,0x8e27,0x8e31,0x8e33,0x8e36,0x8e37,
|
||||
0x8e38,0x8e39,0x8e3d,0x8e40,0x8e41,0x8e4b,0x8e4d,0x8e4e,
|
||||
0x8e4f,0x8e54,0x8e5b,0x8e5c,0x8e5d,0x8e5e,0x8e61,0x8e62,
|
||||
0x8e69,0x8e6c,0x8e6d,0x8e6f,0x8e70,0x8e71,0x8e79,0x8e7a,
|
||||
0x8e7b,0x8e82,0x8e83,0x8e89,0x8e90,0x8e92,0x8e95,0x8e9a,
|
||||
0x8e9b,0x8e9d,0x8e9e,0x8ea2,0x8ea7,0x8ea9,0x8ead,0x8eae,
|
||||
0x8eb3,0x8eb5,0x8eba,0x8ebb,0x8ec0,0x8ec1,0x8ec3,0x8ec4,
|
||||
0x8ec7,0x8ecf,0x8ed1,0x8ed4,0x8edc,0x8ee8,0x8eee,0x8ef0,
|
||||
0x8ef1,0x8ef7,0x8ef9,0x8efa,0x8eed,0x8f00,0x8f02,0x8f07,
|
||||
0x8f08,0x8f0f,0x8f10,0x8f16,0x8f17,0x8f18,0x8f1e,0x8f20,
|
||||
0x8f21,0x8f23,0x8f25,0x8f27,0x8f28,0x8f2c,0x8f2d,0x8f2e,
|
||||
0x8f34,0x8f35,0x8f36,0x8f37,0x8f3a,0x8f40,0x8f41, -1,
|
||||
-1, -1, -1, -1, -1,0x8f43,0x8f47,0x8f4f,
|
||||
0x8f51,0x8f52,0x8f53,0x8f54,0x8f55,0x8f58,0x8f5d,0x8f5e,
|
||||
0x8f65,0x8f9d,0x8fa0,0x8fa1,0x8fa4,0x8fa5,0x8fa6,0x8fb5,
|
||||
0x8fb6,0x8fb8,0x8fbe,0x8fc0,0x8fc1,0x8fc6,0x8fca,0x8fcb,
|
||||
0x8fcd,0x8fd0,0x8fd2,0x8fd3,0x8fd5,0x8fe0,0x8fe3,0x8fe4,
|
||||
0x8fe8,0x8fee,0x8ff1,0x8ff5,0x8ff6,0x8ffb,0x8ffe,0x9002,
|
||||
0x9004,0x9008,0x900c,0x9018,0x901b,0x9028,0x9029,0x902f,
|
||||
0x902a,0x902c,0x902d,0x9033,0x9034,0x9037,0x903f,0x9043,
|
||||
0x9044,0x904c,0x905b,0x905d,0x9062,0x9066,0x9067,0x906c,
|
||||
0x9070,0x9074,0x9079,0x9085,0x9088,0x908b,0x908c,0x908e,
|
||||
0x9090,0x9095,0x9097,0x9098,0x9099,0x909b,0x90a0,0x90a1,
|
||||
0x90a2,0x90a5,0x90b0,0x90b2,0x90b3,0x90b4,0x90b6,0x90bd,
|
||||
0x90cc,0x90be,0x90c3, -1, -1, -1, -1, -1,
|
||||
-1,0x90c4,0x90c5,0x90c7,0x90c8,0x90d5,0x90d7,0x90d8,
|
||||
0x90d9,0x90dc,0x90dd,0x90df,0x90e5,0x90d2,0x90f6,0x90eb,
|
||||
0x90ef,0x90f0,0x90f4,0x90fe,0x90ff,0x9100,0x9104,0x9105,
|
||||
0x9106,0x9108,0x910d,0x9110,0x9114,0x9116,0x9117,0x9118,
|
||||
0x911a,0x911c,0x911e,0x9120,0x9125,0x9122,0x9123,0x9127,
|
||||
0x9129,0x912e,0x912f,0x9131,0x9134,0x9136,0x9137,0x9139,
|
||||
0x913a,0x913c,0x913d,0x9143,0x9147,0x9148,0x914f,0x9153,
|
||||
0x9157,0x9159,0x915a,0x915b,0x9161,0x9164,0x9167,0x916d,
|
||||
0x9174,0x9179,0x917a,0x917b,0x9181,0x9183,0x9185,0x9186,
|
||||
0x918a,0x918e,0x9191,0x9193,0x9194,0x9195,0x9198,0x919e,
|
||||
0x91a1,0x91a6,0x91a8,0x91ac,0x91ad,0x91ae,0x91b0,0x91b1,
|
||||
0x91b2,0x91b3,0x91b6,0x91bb,0x91bc,0x91bd,0x91bf, -1,
|
||||
-1, -1, -1, -1, -1,0x91c2,0x91c3,0x91c5,
|
||||
0x91d3,0x91d4,0x91d7,0x91d9,0x91da,0x91de,0x91e4,0x91e5,
|
||||
0x91e9,0x91ea,0x91ec,0x91ed,0x91ee,0x91ef,0x91f0,0x91f1,
|
||||
0x91f7,0x91f9,0x91fb,0x91fd,0x9200,0x9201,0x9204,0x9205,
|
||||
0x9206,0x9207,0x9209,0x920a,0x920c,0x9210,0x9212,0x9213,
|
||||
0x9216,0x9218,0x921c,0x921d,0x9223,0x9224,0x9225,0x9226,
|
||||
0x9228,0x922e,0x922f,0x9230,0x9233,0x9235,0x9236,0x9238,
|
||||
0x9239,0x923a,0x923c,0x923e,0x9240,0x9242,0x9243,0x9246,
|
||||
0x9247,0x924a,0x924d,0x924e,0x924f,0x9251,0x9258,0x9259,
|
||||
0x925c,0x925d,0x9260,0x9261,0x9265,0x9267,0x9268,0x9269,
|
||||
0x926e,0x926f,0x9270,0x9275,0x9276,0x9277,0x9278,0x9279,
|
||||
0x927b,0x927c,0x927d,0x927f,0x9288,0x9289,0x928a,0x928d,
|
||||
0x928e,0x9292,0x9297, -1, -1, -1, -1, -1,
|
||||
-1,0x9299,0x929f,0x92a0,0x92a4,0x92a5,0x92a7,0x92a8,
|
||||
0x92ab,0x92af,0x92b2,0x92b6,0x92b8,0x92ba,0x92bb,0x92bc,
|
||||
0x92bd,0x92bf,0x92c0,0x92c1,0x92c2,0x92c3,0x92c5,0x92c6,
|
||||
0x92c7,0x92c8,0x92cb,0x92cc,0x92cd,0x92ce,0x92d0,0x92d3,
|
||||
0x92d5,0x92d7,0x92d8,0x92d9,0x92dc,0x92dd,0x92df,0x92e0,
|
||||
0x92e1,0x92e3,0x92e5,0x92e7,0x92e8,0x92ec,0x92ee,0x92f0,
|
||||
0x92f9,0x92fb,0x92ff,0x9300,0x9302,0x9308,0x930d,0x9311,
|
||||
0x9314,0x9315,0x931c,0x931d,0x931e,0x931f,0x9321,0x9324,
|
||||
0x9325,0x9327,0x9329,0x932a,0x9333,0x9334,0x9336,0x9337,
|
||||
0x9347,0x9348,0x9349,0x9350,0x9351,0x9352,0x9355,0x9357,
|
||||
0x9358,0x935a,0x935e,0x9364,0x9365,0x9367,0x9369,0x936a,
|
||||
0x936d,0x936f,0x9370,0x9371,0x9373,0x9374,0x9376, -1,
|
||||
-1, -1, -1, -1, -1,0x937a,0x937d,0x937f,
|
||||
0x9380,0x9381,0x9382,0x9388,0x938a,0x938b,0x938d,0x938f,
|
||||
0x9392,0x9395,0x9398,0x939b,0x939e,0x93a1,0x93a3,0x93a4,
|
||||
0x93a6,0x93a8,0x93ab,0x93b4,0x93b5,0x93b6,0x93ba,0x93a9,
|
||||
0x93c1,0x93c4,0x93c5,0x93c6,0x93c7,0x93c9,0x93ca,0x93cb,
|
||||
0x93cc,0x93cd,0x93d3,0x93d9,0x93dc,0x93de,0x93df,0x93e2,
|
||||
0x93e6,0x93e7,0x93f9,0x93f7,0x93f8,0x93fa,0x93fb,0x93fd,
|
||||
0x9401,0x9402,0x9404,0x9408,0x9409,0x940d,0x940e,0x940f,
|
||||
0x9415,0x9416,0x9417,0x941f,0x942e,0x942f,0x9431,0x9432,
|
||||
0x9433,0x9434,0x943b,0x943f,0x943d,0x9443,0x9445,0x9448,
|
||||
0x944a,0x944c,0x9455,0x9459,0x945c,0x945f,0x9461,0x9463,
|
||||
0x9468,0x946b,0x946d,0x946e,0x946f,0x9471,0x9472,0x9484,
|
||||
0x9483,0x9578,0x9579, -1, -1, -1, -1, -1,
|
||||
-1,0x957e,0x9584,0x9588,0x958c,0x958d,0x958e,0x959d,
|
||||
0x959e,0x959f,0x95a1,0x95a6,0x95a9,0x95ab,0x95ac,0x95b4,
|
||||
0x95b6,0x95ba,0x95bd,0x95bf,0x95c6,0x95c8,0x95c9,0x95cb,
|
||||
0x95d0,0x95d1,0x95d2,0x95d3,0x95d9,0x95da,0x95dd,0x95de,
|
||||
0x95df,0x95e0,0x95e4,0x95e6,0x961d,0x961e,0x9622,0x9624,
|
||||
0x9625,0x9626,0x962c,0x9631,0x9633,0x9637,0x9638,0x9639,
|
||||
0x963a,0x963c,0x963d,0x9641,0x9652,0x9654,0x9656,0x9657,
|
||||
0x9658,0x9661,0x966e,0x9674,0x967b,0x967c,0x967e,0x967f,
|
||||
0x9681,0x9682,0x9683,0x9684,0x9689,0x9691,0x9696,0x969a,
|
||||
0x969d,0x969f,0x96a4,0x96a5,0x96a6,0x96a9,0x96ae,0x96af,
|
||||
0x96b3,0x96ba,0x96ca,0x96d2,0x5db2,0x96d8,0x96da,0x96dd,
|
||||
0x96de,0x96df,0x96e9,0x96ef,0x96f1,0x96fa,0x9702, -1,
|
||||
-1, -1, -1, -1, -1,0x9703,0x9705,0x9709,
|
||||
0x971a,0x971b,0x971d,0x9721,0x9722,0x9723,0x9728,0x9731,
|
||||
0x9733,0x9741,0x9743,0x974a,0x974e,0x974f,0x9755,0x9757,
|
||||
0x9758,0x975a,0x975b,0x9763,0x9767,0x976a,0x976e,0x9773,
|
||||
0x9776,0x9777,0x9778,0x977b,0x977d,0x977f,0x9780,0x9789,
|
||||
0x9795,0x9796,0x9797,0x9799,0x979a,0x979e,0x979f,0x97a2,
|
||||
0x97ac,0x97ae,0x97b1,0x97b2,0x97b5,0x97b6,0x97b8,0x97b9,
|
||||
0x97ba,0x97bc,0x97be,0x97bf,0x97c1,0x97c4,0x97c5,0x97c7,
|
||||
0x97c9,0x97ca,0x97cc,0x97cd,0x97ce,0x97d0,0x97d1,0x97d4,
|
||||
0x97d7,0x97d8,0x97d9,0x97dd,0x97de,0x97e0,0x97db,0x97e1,
|
||||
0x97e4,0x97ef,0x97f1,0x97f4,0x97f7,0x97f8,0x97fa,0x9807,
|
||||
0x980a,0x9819,0x980d,0x980e,0x9814,0x9816,0x981c,0x981e,
|
||||
0x9820,0x9823,0x9826, -1, -1, -1, -1, -1,
|
||||
-1,0x982b,0x982e,0x982f,0x9830,0x9832,0x9833,0x9835,
|
||||
0x9825,0x983e,0x9844,0x9847,0x984a,0x9851,0x9852,0x9853,
|
||||
0x9856,0x9857,0x9859,0x985a,0x9862,0x9863,0x9865,0x9866,
|
||||
0x986a,0x986c,0x98ab,0x98ad,0x98ae,0x98b0,0x98b4,0x98b7,
|
||||
0x98b8,0x98ba,0x98bb,0x98bf,0x98c2,0x98c5,0x98c8,0x98cc,
|
||||
0x98e1,0x98e3,0x98e5,0x98e6,0x98e7,0x98ea,0x98f3,0x98f6,
|
||||
0x9902,0x9907,0x9908,0x9911,0x9915,0x9916,0x9917,0x991a,
|
||||
0x991b,0x991c,0x991f,0x9922,0x9926,0x9927,0x992b,0x9931,
|
||||
0x9932,0x9933,0x9934,0x9935,0x9939,0x993a,0x993b,0x993c,
|
||||
0x9940,0x9941,0x9946,0x9947,0x9948,0x994d,0x994e,0x9954,
|
||||
0x9958,0x9959,0x995b,0x995c,0x995e,0x995f,0x9960,0x999b,
|
||||
0x999d,0x999f,0x99a6,0x99b0,0x99b1,0x99b2,0x99b5, -1,
|
||||
-1, -1, -1, -1, -1,0x99b9,0x99ba,0x99bd,
|
||||
0x99bf,0x99c3,0x99c9,0x99d3,0x99d4,0x99d9,0x99da,0x99dc,
|
||||
0x99de,0x99e7,0x99ea,0x99eb,0x99ec,0x99f0,0x99f4,0x99f5,
|
||||
0x99f9,0x99fd,0x99fe,0x9a02,0x9a03,0x9a04,0x9a0b,0x9a0c,
|
||||
0x9a10,0x9a11,0x9a16,0x9a1e,0x9a20,0x9a22,0x9a23,0x9a24,
|
||||
0x9a27,0x9a2d,0x9a2e,0x9a33,0x9a35,0x9a36,0x9a38,0x9a47,
|
||||
0x9a41,0x9a44,0x9a4a,0x9a4b,0x9a4c,0x9a4e,0x9a51,0x9a54,
|
||||
0x9a56,0x9a5d,0x9aaa,0x9aac,0x9aae,0x9aaf,0x9ab2,0x9ab4,
|
||||
0x9ab5,0x9ab6,0x9ab9,0x9abb,0x9abe,0x9abf,0x9ac1,0x9ac3,
|
||||
0x9ac6,0x9ac8,0x9ace,0x9ad0,0x9ad2,0x9ad5,0x9ad6,0x9ad7,
|
||||
0x9adb,0x9adc,0x9ae0,0x9ae4,0x9ae5,0x9ae7,0x9ae9,0x9aec,
|
||||
0x9af2,0x9af3,0x9af5,0x9af9,0x9afa,0x9afd,0x9aff,0x9b00,
|
||||
0x9b01,0x9b02,0x9b03, -1, -1, -1, -1, -1,
|
||||
-1,0x9b04,0x9b05,0x9b08,0x9b09,0x9b0b,0x9b0c,0x9b0d,
|
||||
0x9b0e,0x9b10,0x9b12,0x9b16,0x9b19,0x9b1b,0x9b1c,0x9b20,
|
||||
0x9b26,0x9b2b,0x9b2d,0x9b33,0x9b34,0x9b35,0x9b37,0x9b39,
|
||||
0x9b3a,0x9b3d,0x9b48,0x9b4b,0x9b4c,0x9b55,0x9b56,0x9b57,
|
||||
0x9b5b,0x9b5e,0x9b61,0x9b63,0x9b65,0x9b66,0x9b68,0x9b6a,
|
||||
0x9b6b,0x9b6c,0x9b6d,0x9b6e,0x9b73,0x9b75,0x9b77,0x9b78,
|
||||
0x9b79,0x9b7f,0x9b80,0x9b84,0x9b85,0x9b86,0x9b87,0x9b89,
|
||||
0x9b8a,0x9b8b,0x9b8d,0x9b8f,0x9b90,0x9b94,0x9b9a,0x9b9d,
|
||||
0x9b9e,0x9ba6,0x9ba7,0x9ba9,0x9bac,0x9bb0,0x9bb1,0x9bb2,
|
||||
0x9bb7,0x9bb8,0x9bbb,0x9bbc,0x9bbe,0x9bbf,0x9bc1,0x9bc7,
|
||||
0x9bc8,0x9bce,0x9bd0,0x9bd7,0x9bd8,0x9bdd,0x9bdf,0x9be5,
|
||||
0x9be7,0x9bea,0x9beb,0x9bef,0x9bf3,0x9bf7,0x9bf8, -1,
|
||||
-1, -1, -1, -1, -1,0x9bf9,0x9bfa,0x9bfd,
|
||||
0x9bff,0x9c00,0x9c02,0x9c0b,0x9c0f,0x9c11,0x9c16,0x9c18,
|
||||
0x9c19,0x9c1a,0x9c1c,0x9c1e,0x9c22,0x9c23,0x9c26,0x9c27,
|
||||
0x9c28,0x9c29,0x9c2a,0x9c31,0x9c35,0x9c36,0x9c37,0x9c3d,
|
||||
0x9c41,0x9c43,0x9c44,0x9c45,0x9c49,0x9c4a,0x9c4e,0x9c4f,
|
||||
0x9c50,0x9c53,0x9c54,0x9c56,0x9c58,0x9c5b,0x9c5d,0x9c5e,
|
||||
0x9c5f,0x9c63,0x9c69,0x9c6a,0x9c5c,0x9c6b,0x9c68,0x9c6e,
|
||||
0x9c70,0x9c72,0x9c75,0x9c77,0x9c7b,0x9ce6,0x9cf2,0x9cf7,
|
||||
0x9cf9,0x9d0b,0x9d02,0x9d11,0x9d17,0x9d18,0x9d1c,0x9d1d,
|
||||
0x9d1e,0x9d2f,0x9d30,0x9d32,0x9d33,0x9d34,0x9d3a,0x9d3c,
|
||||
0x9d45,0x9d3d,0x9d42,0x9d43,0x9d47,0x9d4a,0x9d53,0x9d54,
|
||||
0x9d5f,0x9d63,0x9d62,0x9d65,0x9d69,0x9d6a,0x9d6b,0x9d70,
|
||||
0x9d76,0x9d77,0x9d7b, -1, -1, -1, -1, -1,
|
||||
-1,0x9d7c,0x9d7e,0x9d83,0x9d84,0x9d86,0x9d8a,0x9d8d,
|
||||
0x9d8e,0x9d92,0x9d93,0x9d95,0x9d96,0x9d97,0x9d98,0x9da1,
|
||||
0x9daa,0x9dac,0x9dae,0x9db1,0x9db5,0x9db9,0x9dbc,0x9dbf,
|
||||
0x9dc3,0x9dc7,0x9dc9,0x9dca,0x9dd4,0x9dd5,0x9dd6,0x9dd7,
|
||||
0x9dda,0x9dde,0x9ddf,0x9de0,0x9de5,0x9de7,0x9de9,0x9deb,
|
||||
0x9dee,0x9df0,0x9df3,0x9df4,0x9dfe,0x9e0a,0x9e02,0x9e07,
|
||||
0x9e0e,0x9e10,0x9e11,0x9e12,0x9e15,0x9e16,0x9e19,0x9e1c,
|
||||
0x9e1d,0x9e7a,0x9e7b,0x9e7c,0x9e80,0x9e82,0x9e83,0x9e84,
|
||||
0x9e85,0x9e87,0x9e8e,0x9e8f,0x9e96,0x9e98,0x9e9b,0x9e9e,
|
||||
0x9ea4,0x9ea8,0x9eac,0x9eae,0x9eaf,0x9eb0,0x9eb3,0x9eb4,
|
||||
0x9eb5,0x9ec6,0x9ec8,0x9ecb,0x9ed5,0x9edf,0x9ee4,0x9ee7,
|
||||
0x9eec,0x9eed,0x9eee,0x9ef0,0x9ef1,0x9ef2,0x9ef5, -1,
|
||||
-1, -1, -1, -1, -1,0x9ef8,0x9eff,0x9f02,
|
||||
0x9f03,0x9f09,0x9f0f,0x9f10,0x9f11,0x9f12,0x9f14,0x9f16,
|
||||
0x9f17,0x9f19,0x9f1a,0x9f1b,0x9f1f,0x9f22,0x9f26,0x9f2a,
|
||||
0x9f2b,0x9f2f,0x9f31,0x9f32,0x9f34,0x9f37,0x9f39,0x9f3a,
|
||||
0x9f3c,0x9f3d,0x9f3f,0x9f41,0x9f43,0x9f44,0x9f45,0x9f46,
|
||||
0x9f47,0x9f53,0x9f55,0x9f56,0x9f57,0x9f58,0x9f5a,0x9f5d,
|
||||
0x9f5e,0x9f68,0x9f69,0x9f6d,0x9f6e,0x9f6f,0x9f70,0x9f71,
|
||||
0x9f73,0x9f75,0x9f7a,0x9f7d,0x9f8f,0x9f90,0x9f91,0x9f92,
|
||||
0x9f94,0x9f96,0x9f97,0x9f9e,0x9fa1,0x9fa2,0x9fa3,0x9fa5,
|
||||
};
|
||||
3
src/cmd/tcs/kuten212.h
Normal file
3
src/cmd/tcs/kuten212.h
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#define KUTEN212MAX 7768
|
||||
|
||||
extern long tabkuten212[KUTEN212MAX]; /* runes indexed by kuten */
|
||||
33
src/cmd/tcs/mkfile
Normal file
33
src/cmd/tcs/mkfile
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
<$PLAN9/src/mkhdr
|
||||
|
||||
TARG=tcs
|
||||
OFILES=tcs.$O\
|
||||
conv_jis.$O\
|
||||
conv_big5.$O\
|
||||
conv_gb.$O\
|
||||
conv_ksc.$O\
|
||||
utf.$O\
|
||||
kuten208.$O\
|
||||
gb.$O\
|
||||
ksc.$O\
|
||||
big5.$O
|
||||
|
||||
SHORTLIB=bio 9
|
||||
<$PLAN9/src/mkone
|
||||
CFLAGS= -DPLAN9 $CFLAGS
|
||||
|
||||
tcs.$O utf.$O: hdr.h
|
||||
tcs.$O: jis.h
|
||||
tcs.$O kuten208.$O: kuten208.h
|
||||
tcs.$O big5.$O: big5.h
|
||||
tcs.$O gb.$O: gb.h
|
||||
tcs.$O: cyrillic.h
|
||||
tcs.$O: conv.h
|
||||
conv%.$O: conv.h
|
||||
conv_ksc.$O: ksc.h
|
||||
|
||||
clean:V:
|
||||
rm -f *.[$OS] [$OS].out y.tab.? y.debug y.output $TARG
|
||||
|
||||
nuke:V:
|
||||
rm -f *.[$OS] [$OS].out y.tab.? y.debug y.output $TARG
|
||||
23
src/cmd/tcs/plan9.h
Normal file
23
src/cmd/tcs/plan9.h
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
typedef unsigned short Rune; /* 16 bits */
|
||||
typedef unsigned char uchar;
|
||||
#define Runeerror 0x80 /* decoding error in UTF */
|
||||
#define Runeself 0x80 /* rune and UTF sequences are the same (<) */
|
||||
#define UTFmax 6 /* maximum bytes per rune */
|
||||
|
||||
/*
|
||||
plan 9 argument parsing
|
||||
*/
|
||||
#define ARGBEGIN for((argv0? 0: (argv0= *argv)),argv++,argc--;\
|
||||
argv[0] && argv[0][0]=='-' && argv[0][1];\
|
||||
argc--, argv++) {\
|
||||
char *_args, *_argt, _argc;\
|
||||
_args = &argv[0][1];\
|
||||
if(_args[0]=='-' && _args[1]==0){\
|
||||
argc--; argv++; break;\
|
||||
}\
|
||||
_argc=0;while(*_args) switch(_argc= *_args++)
|
||||
#define ARGEND }
|
||||
#define ARGF() (_argt=_args, _args="",\
|
||||
(*_argt? _argt: argv[1]? (argc--, *++argv): 0))
|
||||
#define ARGC() _argc
|
||||
extern char *argv0;
|
||||
1053
src/cmd/tcs/tcs.c
Normal file
1053
src/cmd/tcs/tcs.c
Normal file
File diff suppressed because it is too large
Load diff
581
src/cmd/tcs/utf.c
Normal file
581
src/cmd/tcs/utf.c
Normal file
|
|
@ -0,0 +1,581 @@
|
|||
#ifdef PLAN9
|
||||
#include <u.h>
|
||||
#include <libc.h>
|
||||
#include <bio.h>
|
||||
#else
|
||||
#include <sys/types.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include "plan9.h"
|
||||
#endif
|
||||
#include "hdr.h"
|
||||
|
||||
/*
|
||||
the our_* routines are implementations for the corresponding library
|
||||
routines. for a while, i tried to actually name them wctomb etc
|
||||
but stopped that after i found a system which made wchar_t an
|
||||
unsigned char.
|
||||
*/
|
||||
|
||||
#ifdef PLAN9
|
||||
long getrune(Biobuf *);
|
||||
long getisorune(Biobuf *);
|
||||
#else
|
||||
long getrune(FILE *);
|
||||
long getisorune(FILE *);
|
||||
#endif
|
||||
int our_wctomb(char *s, unsigned long wc);
|
||||
int our_mbtowc(unsigned long *p, char *s, unsigned n);
|
||||
int runetoisoutf(char *str, Rune *rune);
|
||||
int fullisorune(char *str, int n);
|
||||
int isochartorune(Rune *rune, char *str);
|
||||
|
||||
void
|
||||
utf_in(int fd, long *notused, struct convert *out)
|
||||
{
|
||||
#ifndef PLAN9
|
||||
FILE *fp;
|
||||
#else /* PLAN9 */
|
||||
Biobuf b;
|
||||
#endif /* PLAN9 */
|
||||
Rune *r;
|
||||
long l;
|
||||
|
||||
USED(notused);
|
||||
#ifndef PLAN9
|
||||
if((fp = fdopen(fd, "r")) == NULL){
|
||||
EPR "%s: input setup error: %s\n", argv0, strerror(errno));
|
||||
#else /* PLAN9 */
|
||||
if(Binit(&b, fd, OREAD) < 0){
|
||||
EPR "%s: input setup error: %r\n", argv0);
|
||||
#endif /* PLAN9 */
|
||||
EXIT(1, "input error");
|
||||
}
|
||||
r = runes;
|
||||
for(;;)
|
||||
#ifndef PLAN9
|
||||
switch(l = getrune(fp))
|
||||
#else /* PLAN9 */
|
||||
switch(l = getrune(&b))
|
||||
#endif /* PLAN9 */
|
||||
{
|
||||
case -1:
|
||||
goto done;
|
||||
case -2:
|
||||
if(squawk)
|
||||
EPR "%s: bad UTF sequence near byte %ld in input\n", argv0, ninput);
|
||||
if(clean)
|
||||
continue;
|
||||
nerrors++;
|
||||
l = Runeerror;
|
||||
default:
|
||||
*r++ = l;
|
||||
if(r >= &runes[N]){
|
||||
OUT(out, runes, r-runes);
|
||||
r = runes;
|
||||
}
|
||||
}
|
||||
done:
|
||||
if(r > runes)
|
||||
OUT(out, runes, r-runes);
|
||||
}
|
||||
|
||||
void
|
||||
utf_out(Rune *base, int n, long *notused)
|
||||
{
|
||||
char *p;
|
||||
Rune *r;
|
||||
|
||||
USED(notused);
|
||||
nrunes += n;
|
||||
for(r = base, p = obuf; n-- > 0; r++){
|
||||
p += our_wctomb(p, *r);
|
||||
}
|
||||
noutput += p-obuf;
|
||||
write(1, obuf, p-obuf);
|
||||
}
|
||||
|
||||
void
|
||||
isoutf_in(int fd, long *notused, struct convert *out)
|
||||
{
|
||||
#ifndef PLAN9
|
||||
FILE *fp;
|
||||
#else /* PLAN9 */
|
||||
Biobuf b;
|
||||
#endif /* PLAN9 */
|
||||
Rune *r;
|
||||
long l;
|
||||
|
||||
USED(notused);
|
||||
#ifndef PLAN9
|
||||
if((fp = fdopen(fd, "r")) == 0){
|
||||
EPR "%s: input setup error: %s\n", argv0, strerror(errno));
|
||||
#else /* PLAN9 */
|
||||
if(Binit(&b, fd, OREAD) < 0){
|
||||
EPR "%s: input setup error: %r\n", argv0);
|
||||
#endif /* PLAN9 */
|
||||
EXIT(1, "input error");
|
||||
}
|
||||
r = runes;
|
||||
for(;;)
|
||||
#ifndef PLAN9
|
||||
switch(l = getisorune(fp))
|
||||
#else /* PLAN9 */
|
||||
switch(l = getisorune(&b))
|
||||
#endif /* PLAN9 */
|
||||
{
|
||||
case -1:
|
||||
goto done;
|
||||
case -2:
|
||||
if(squawk)
|
||||
EPR "%s: bad UTF sequence near byte %ld in input\n", argv0, ninput);
|
||||
if(clean)
|
||||
continue;
|
||||
nerrors++;
|
||||
l = Runeerror;
|
||||
default:
|
||||
*r++ = l;
|
||||
if(r >= &runes[N]){
|
||||
OUT(out, runes, r-runes);
|
||||
r = runes;
|
||||
}
|
||||
}
|
||||
done:
|
||||
if(r > runes)
|
||||
OUT(out, runes, r-runes);
|
||||
}
|
||||
|
||||
void
|
||||
isoutf_out(Rune *base, int n, long *notused)
|
||||
{
|
||||
char *p;
|
||||
Rune *r;
|
||||
|
||||
USED(notused);
|
||||
nrunes += n;
|
||||
for(r = base, p = obuf; n-- > 0; r++)
|
||||
p += runetoisoutf(p, r);
|
||||
noutput += p-obuf;
|
||||
write(1, obuf, p-obuf);
|
||||
}
|
||||
|
||||
long
|
||||
#ifndef PLAN9
|
||||
getrune(FILE *fp)
|
||||
#else /* PLAN9 */
|
||||
getrune(Biobuf *bp)
|
||||
#endif /* PLAN9 */
|
||||
{
|
||||
int c, i;
|
||||
char str[UTFmax]; /* MB_LEN_MAX really */
|
||||
unsigned long l;
|
||||
int n;
|
||||
|
||||
for(i = 0;;){
|
||||
#ifndef PLAN9
|
||||
c = getc(fp);
|
||||
#else /* PLAN9 */
|
||||
c = Bgetc(bp);
|
||||
#endif /* PLAN9 */
|
||||
if(c < 0)
|
||||
return(c);
|
||||
ninput++;
|
||||
str[i++] = c;
|
||||
n = our_mbtowc(&l, str, i);
|
||||
if(n == -1)
|
||||
return(-2);
|
||||
if(n > 0)
|
||||
return(l);
|
||||
}
|
||||
}
|
||||
|
||||
long
|
||||
#ifndef PLAN9
|
||||
getisorune(FILE *fp)
|
||||
#else /* PLAN9 */
|
||||
getisorune(Biobuf *bp)
|
||||
#endif /* PLAN9 */
|
||||
{
|
||||
int c, i;
|
||||
Rune rune;
|
||||
char str[UTFmax]; /* MB_LEN_MAX really */
|
||||
|
||||
for(i = 0;;){
|
||||
#ifndef PLAN9
|
||||
c = getc(fp);
|
||||
#else /* PLAN9 */
|
||||
c = Bgetc(bp);
|
||||
#endif /* PLAN9 */
|
||||
if(c < 0)
|
||||
return(c);
|
||||
ninput++;
|
||||
str[i++] = c;
|
||||
if(fullisorune(str, i))
|
||||
break;
|
||||
}
|
||||
isochartorune(&rune, str);
|
||||
if(rune == Runeerror)
|
||||
return -2;
|
||||
return(rune);
|
||||
}
|
||||
|
||||
enum
|
||||
{
|
||||
Char1 = Runeself, Rune1 = Runeself,
|
||||
Char21 = 0xA1, Rune21 = 0x0100,
|
||||
Char22 = 0xF6, Rune22 = 0x4016,
|
||||
Char3 = 0xFC, Rune3 = 0x10000, /* really 0x38E2E */
|
||||
Esc = 0xBE, Bad = Runeerror
|
||||
};
|
||||
|
||||
static uchar U[256];
|
||||
static uchar T[256];
|
||||
|
||||
static
|
||||
void
|
||||
mktable(void)
|
||||
{
|
||||
int i, u;
|
||||
|
||||
for(i=0; i<256; i++) {
|
||||
u = i + (0x5E - 0xA0);
|
||||
if(i < 0xA0)
|
||||
u = i + (0xDF - 0x7F);
|
||||
if(i < 0x7F)
|
||||
u = i + (0x00 - 0x21);
|
||||
if(i < 0x21)
|
||||
u = i + (0xBE - 0x00);
|
||||
U[i] = u;
|
||||
T[u] = i;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
isochartorune(Rune *rune, char *str)
|
||||
{
|
||||
int c, c1, c2;
|
||||
long l;
|
||||
|
||||
if(U[0] == 0)
|
||||
mktable();
|
||||
|
||||
/*
|
||||
* one character sequence
|
||||
* 00000-0009F => 00-9F
|
||||
*/
|
||||
c = *(uchar*)str;
|
||||
if(c < Char1) {
|
||||
*rune = c;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* two character sequence
|
||||
* 000A0-000FF => A0; A0-FF
|
||||
*/
|
||||
c1 = *(uchar*)(str+1);
|
||||
if(c < Char21) {
|
||||
if(c1 >= Rune1 && c1 < Rune21) {
|
||||
*rune = c1;
|
||||
return 2;
|
||||
}
|
||||
goto bad;
|
||||
}
|
||||
|
||||
/*
|
||||
* two character sequence
|
||||
* 00100-04015 => A1-F5; 21-7E/A0-FF
|
||||
*/
|
||||
c1 = U[c1];
|
||||
if(c1 >= Esc)
|
||||
goto bad;
|
||||
if(c < Char22) {
|
||||
*rune = (c-Char21)*Esc + c1 + Rune21;
|
||||
return 2;
|
||||
}
|
||||
|
||||
/*
|
||||
* three character sequence
|
||||
* 04016-38E2D => A6-FB; 21-7E/A0-FF
|
||||
*/
|
||||
c2 = U[*(uchar*)(str+2)];
|
||||
if(c2 >= Esc)
|
||||
goto bad;
|
||||
if(c < Char3) {
|
||||
l = (c-Char22)*Esc*Esc + c1*Esc + c2 + Rune22;
|
||||
if(l >= Rune3)
|
||||
goto bad;
|
||||
*rune = l;
|
||||
return 3;
|
||||
}
|
||||
|
||||
/*
|
||||
* bad decoding
|
||||
*/
|
||||
bad:
|
||||
*rune = Bad;
|
||||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
runetoisoutf(char *str, Rune *rune)
|
||||
{
|
||||
long c;
|
||||
|
||||
if(T[0] == 0)
|
||||
mktable();
|
||||
|
||||
/*
|
||||
* one character sequence
|
||||
* 00000-0009F => 00-9F
|
||||
*/
|
||||
c = *rune;
|
||||
if(c < Rune1) {
|
||||
str[0] = c;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* two character sequence
|
||||
* 000A0-000FF => A0; A0-FF
|
||||
*/
|
||||
if(c < Rune21) {
|
||||
str[0] = (uchar)Char1;
|
||||
str[1] = c;
|
||||
return 2;
|
||||
}
|
||||
|
||||
/*
|
||||
* two character sequence
|
||||
* 00100-04015 => A1-F5; 21-7E/A0-FF
|
||||
*/
|
||||
if(c < Rune22) {
|
||||
c -= Rune21;
|
||||
str[0] = c/Esc + Char21;
|
||||
str[1] = T[c%Esc];
|
||||
return 2;
|
||||
}
|
||||
|
||||
/*
|
||||
* three character sequence
|
||||
* 04016-38E2D => A6-FB; 21-7E/A0-FF
|
||||
*/
|
||||
c -= Rune22;
|
||||
str[0] = c/(Esc*Esc) + Char22;
|
||||
str[1] = T[c/Esc%Esc];
|
||||
str[2] = T[c%Esc];
|
||||
return 3;
|
||||
}
|
||||
|
||||
int
|
||||
fullisorune(char *str, int n)
|
||||
{
|
||||
int c;
|
||||
|
||||
if(n > 0) {
|
||||
c = *(uchar*)str;
|
||||
if(c < Char1)
|
||||
return 1;
|
||||
if(n > 1)
|
||||
if(c < Char22 || n > 2)
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef PLAN9
|
||||
int errno;
|
||||
#endif
|
||||
|
||||
enum
|
||||
{
|
||||
T1 = 0x00,
|
||||
Tx = 0x80,
|
||||
T2 = 0xC0,
|
||||
T3 = 0xE0,
|
||||
T4 = 0xF0,
|
||||
T5 = 0xF8,
|
||||
T6 = 0xFC,
|
||||
|
||||
Bit1 = 7,
|
||||
Bitx = 6,
|
||||
Bit2 = 5,
|
||||
Bit3 = 4,
|
||||
Bit4 = 3,
|
||||
Bit5 = 2,
|
||||
Bit6 = 2,
|
||||
|
||||
Mask1 = (1<<Bit1)-1,
|
||||
Maskx = (1<<Bitx)-1,
|
||||
Mask2 = (1<<Bit2)-1,
|
||||
Mask3 = (1<<Bit3)-1,
|
||||
Mask4 = (1<<Bit4)-1,
|
||||
Mask5 = (1<<Bit5)-1,
|
||||
Mask6 = (1<<Bit6)-1,
|
||||
|
||||
Wchar1 = (1UL<<Bit1)-1,
|
||||
Wchar2 = (1UL<<(Bit2+Bitx))-1,
|
||||
Wchar3 = (1UL<<(Bit3+2*Bitx))-1,
|
||||
Wchar4 = (1UL<<(Bit4+3*Bitx))-1,
|
||||
Wchar5 = (1UL<<(Bit5+4*Bitx))-1
|
||||
|
||||
#ifndef EILSEQ
|
||||
, /* we hate ansi c's comma rules */
|
||||
EILSEQ = 123
|
||||
#endif /* PLAN9 */
|
||||
};
|
||||
|
||||
int
|
||||
our_wctomb(char *s, unsigned long wc)
|
||||
{
|
||||
if(s == 0)
|
||||
return 0; /* no shift states */
|
||||
if(wc & ~Wchar2) {
|
||||
if(wc & ~Wchar4) {
|
||||
if(wc & ~Wchar5) {
|
||||
/* 6 bytes */
|
||||
s[0] = T6 | ((wc >> 5*Bitx) & Mask6);
|
||||
s[1] = Tx | ((wc >> 4*Bitx) & Maskx);
|
||||
s[2] = Tx | ((wc >> 3*Bitx) & Maskx);
|
||||
s[3] = Tx | ((wc >> 2*Bitx) & Maskx);
|
||||
s[4] = Tx | ((wc >> 1*Bitx) & Maskx);
|
||||
s[5] = Tx | (wc & Maskx);
|
||||
return 6;
|
||||
}
|
||||
/* 5 bytes */
|
||||
s[0] = T5 | (wc >> 4*Bitx);
|
||||
s[1] = Tx | ((wc >> 3*Bitx) & Maskx);
|
||||
s[2] = Tx | ((wc >> 2*Bitx) & Maskx);
|
||||
s[3] = Tx | ((wc >> 1*Bitx) & Maskx);
|
||||
s[4] = Tx | (wc & Maskx);
|
||||
return 5;
|
||||
}
|
||||
if(wc & ~Wchar3) {
|
||||
/* 4 bytes */
|
||||
s[0] = T4 | (wc >> 3*Bitx);
|
||||
s[1] = Tx | ((wc >> 2*Bitx) & Maskx);
|
||||
s[2] = Tx | ((wc >> 1*Bitx) & Maskx);
|
||||
s[3] = Tx | (wc & Maskx);
|
||||
return 4;
|
||||
}
|
||||
/* 3 bytes */
|
||||
s[0] = T3 | (wc >> 2*Bitx);
|
||||
s[1] = Tx | ((wc >> 1*Bitx) & Maskx);
|
||||
s[2] = Tx | (wc & Maskx);
|
||||
return 3;
|
||||
}
|
||||
if(wc & ~Wchar1) {
|
||||
/* 2 bytes */
|
||||
s[0] = T2 | (wc >> 1*Bitx);
|
||||
s[1] = Tx | (wc & Maskx);
|
||||
return 2;
|
||||
}
|
||||
/* 1 byte */
|
||||
s[0] = T1 | wc;
|
||||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
our_mbtowc(unsigned long *p, char *s, unsigned n)
|
||||
{
|
||||
uchar *us;
|
||||
int c0, c1, c2, c3, c4, c5;
|
||||
unsigned long wc;
|
||||
|
||||
if(s == 0)
|
||||
return 0; /* no shift states */
|
||||
|
||||
if(n < 1)
|
||||
goto badlen;
|
||||
us = (uchar*)s;
|
||||
c0 = us[0];
|
||||
if(c0 >= T3) {
|
||||
if(n < 3)
|
||||
goto badlen;
|
||||
c1 = us[1] ^ Tx;
|
||||
c2 = us[2] ^ Tx;
|
||||
if((c1|c2) & T2)
|
||||
goto bad;
|
||||
if(c0 >= T5) {
|
||||
if(n < 5)
|
||||
goto badlen;
|
||||
c3 = us[3] ^ Tx;
|
||||
c4 = us[4] ^ Tx;
|
||||
if((c3|c4) & T2)
|
||||
goto bad;
|
||||
if(c0 >= T6) {
|
||||
/* 6 bytes */
|
||||
if(n < 6)
|
||||
goto badlen;
|
||||
c5 = us[5] ^ Tx;
|
||||
if(c5 & T2)
|
||||
goto bad;
|
||||
wc = ((((((((((c0 & Mask6) << Bitx) |
|
||||
c1) << Bitx) | c2) << Bitx) |
|
||||
c3) << Bitx) | c4) << Bitx) | c5;
|
||||
if(wc <= Wchar5)
|
||||
goto bad;
|
||||
*p = wc;
|
||||
return 6;
|
||||
}
|
||||
/* 5 bytes */
|
||||
wc = ((((((((c0 & Mask5) << Bitx) |
|
||||
c1) << Bitx) | c2) << Bitx) |
|
||||
c3) << Bitx) | c4;
|
||||
if(wc <= Wchar4)
|
||||
goto bad;
|
||||
*p = wc;
|
||||
return 5;
|
||||
}
|
||||
if(c0 >= T4) {
|
||||
/* 4 bytes */
|
||||
if(n < 4)
|
||||
goto badlen;
|
||||
c3 = us[3] ^ Tx;
|
||||
if(c3 & T2)
|
||||
goto bad;
|
||||
wc = ((((((c0 & Mask4) << Bitx) |
|
||||
c1) << Bitx) | c2) << Bitx) |
|
||||
c3;
|
||||
if(wc <= Wchar3)
|
||||
goto bad;
|
||||
*p = wc;
|
||||
return 4;
|
||||
}
|
||||
/* 3 bytes */
|
||||
wc = ((((c0 & Mask3) << Bitx) |
|
||||
c1) << Bitx) | c2;
|
||||
if(wc <= Wchar2)
|
||||
goto bad;
|
||||
*p = wc;
|
||||
return 3;
|
||||
}
|
||||
if(c0 >= T2) {
|
||||
/* 2 bytes */
|
||||
if(n < 2)
|
||||
goto badlen;
|
||||
c1 = us[1] ^ Tx;
|
||||
if(c1 & T2)
|
||||
goto bad;
|
||||
wc = ((c0 & Mask2) << Bitx) |
|
||||
c1;
|
||||
if(wc <= Wchar1)
|
||||
goto bad;
|
||||
*p = wc;
|
||||
return 2;
|
||||
}
|
||||
/* 1 byte */
|
||||
if(c0 >= Tx)
|
||||
goto bad;
|
||||
*p = c0;
|
||||
return 1;
|
||||
|
||||
bad:
|
||||
errno = EILSEQ;
|
||||
return -1;
|
||||
badlen:
|
||||
return -2;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue