From 2f4fdf541dc04813bd2c8e2f3fad9a2ae66b71a3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 11 Jan 2006 23:49:47 +0000 Subject: trunk/Master/texmf-dist/source/latex/CJK git-svn-id: svn://tug.org/texlive/trunk@118 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/CJK/contrib/wadalab/fixwada | 63 + .../source/latex/CJK/contrib/wadalab/fixwada2.pl | 225 + .../source/latex/CJK/contrib/wadalab/makefont | 91 + .../latex/CJK/contrib/wadalab/makeuniwada.pl | 316 + .../source/latex/CJK/contrib/wadalab/wadalab.map | 187 + .../source/latex/CJK/texinput/KS/HLaTeX/c63mj.fd | 53 + .../source/latex/CJK/texinput/KS/HLaTeX/c64mj.fd | 53 + .../source/latex/CJK/texinput/KS/HLaTeX/c65mj.fd | 53 + .../source/latex/CJK/utils/lisp/cjkspace.el | 85 + .../source/latex/CJK/utils/lisp/cjktilde.el | 94 + .../source/latex/CJK/utils/lisp/emacs/cjk-enc.el | 1100 ++ .../source/latex/CJK/utils/lisp/emacs/thai-word.el | 11052 +++++++++++++++++++ .../latex/CJK/utils/lisp/mule-2.3/cjk-enc.el | 625 ++ .../source/latex/CJK/utils/pyhyphen/pinyin.c | 461 + .../source/latex/CJK/utils/pyhyphen/pinyin.tr | 35 + .../source/latex/CJK/utils/subfonts/clonevf.pl | 105 + .../source/latex/CJK/utils/subfonts/makefdx.pl | 228 + .../source/latex/CJK/utils/subfonts/sfd2uni.pl | 328 + .../source/latex/CJK/utils/subfonts/subfonts.pe | 61 + .../source/latex/CJK/utils/subfonts/uni2sfd.pl | 292 + .../source/latex/CJK/utils/subfonts/vertical.pe | 66 + .../source/latex/CJK/utils/subfonts/vertref.pe | 69 + .../source/latex/CJK/utils/thaifont/INSTALL | 337 + .../source/latex/CJK/utils/thaifont/c90.etx | 2329 ++++ .../source/latex/CJK/utils/thaifont/c90.mtx | 25 + .../CJK/utils/thaifont/dbtt-old/config.dbtt-old | 1 + .../CJK/utils/thaifont/dbtt-old/dbtt-old-alias.etx | 29 + .../CJK/utils/thaifont/dbtt-old/dbtt-old-alias.mtx | 19 + .../CJK/utils/thaifont/dbtt-old/dbtt-old-alias.tex | 122 + .../CJK/utils/thaifont/dbtt-old/dbtt-old.fontinst | 61 + .../latex/CJK/utils/thaifont/dbtt-old/dbtt-old.map | 4 + .../latex/CJK/utils/thaifont/garuda.fontinst | 60 + .../latex/CJK/utils/thaifont/norasi.fontinst | 68 + 33 files changed, 18697 insertions(+) create mode 100755 Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada create mode 100644 Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada2.pl create mode 100755 Master/texmf-dist/source/latex/CJK/contrib/wadalab/makefont create mode 100644 Master/texmf-dist/source/latex/CJK/contrib/wadalab/makeuniwada.pl create mode 100644 Master/texmf-dist/source/latex/CJK/contrib/wadalab/wadalab.map create mode 100644 Master/texmf-dist/source/latex/CJK/texinput/KS/HLaTeX/c63mj.fd create mode 100644 Master/texmf-dist/source/latex/CJK/texinput/KS/HLaTeX/c64mj.fd create mode 100644 Master/texmf-dist/source/latex/CJK/texinput/KS/HLaTeX/c65mj.fd create mode 100644 Master/texmf-dist/source/latex/CJK/utils/lisp/cjkspace.el create mode 100644 Master/texmf-dist/source/latex/CJK/utils/lisp/cjktilde.el create mode 100644 Master/texmf-dist/source/latex/CJK/utils/lisp/emacs/cjk-enc.el create mode 100644 Master/texmf-dist/source/latex/CJK/utils/lisp/emacs/thai-word.el create mode 100644 Master/texmf-dist/source/latex/CJK/utils/lisp/mule-2.3/cjk-enc.el create mode 100644 Master/texmf-dist/source/latex/CJK/utils/pyhyphen/pinyin.c create mode 100644 Master/texmf-dist/source/latex/CJK/utils/pyhyphen/pinyin.tr create mode 100644 Master/texmf-dist/source/latex/CJK/utils/subfonts/clonevf.pl create mode 100644 Master/texmf-dist/source/latex/CJK/utils/subfonts/makefdx.pl create mode 100644 Master/texmf-dist/source/latex/CJK/utils/subfonts/sfd2uni.pl create mode 100644 Master/texmf-dist/source/latex/CJK/utils/subfonts/subfonts.pe create mode 100644 Master/texmf-dist/source/latex/CJK/utils/subfonts/uni2sfd.pl create mode 100644 Master/texmf-dist/source/latex/CJK/utils/subfonts/vertical.pe create mode 100644 Master/texmf-dist/source/latex/CJK/utils/subfonts/vertref.pe create mode 100644 Master/texmf-dist/source/latex/CJK/utils/thaifont/INSTALL create mode 100644 Master/texmf-dist/source/latex/CJK/utils/thaifont/c90.etx create mode 100644 Master/texmf-dist/source/latex/CJK/utils/thaifont/c90.mtx create mode 100644 Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/config.dbtt-old create mode 100644 Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.etx create mode 100644 Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.mtx create mode 100644 Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.tex create mode 100644 Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old.fontinst create mode 100644 Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old.map create mode 100644 Master/texmf-dist/source/latex/CJK/utils/thaifont/garuda.fontinst create mode 100644 Master/texmf-dist/source/latex/CJK/utils/thaifont/norasi.fontinst (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada new file mode 100755 index 00000000000..acaded60a4a --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada @@ -0,0 +1,63 @@ +# This script fixes the Wadalab fonts which have been created with the +# `makefont' script of the CJK package version 4.5.1 or earlier. +# +# It converts all PFB files in the current directory. + +for i in *.pfb; do + echo $i + mv $i $i.old + cat $i.old | \ + t1disasm | \ + awk ' + { + sub(/001\.001/, "001.002") + + if (/%%Creation/) { + print "%%CreationDate: 2003-Feb-07" + next + } + + if (/0 -160 rmoveto/ && last_is_hsbw) { + last_is_hsbw = 0 + next + } + + if (/hsbw/) { + last_is_hsbw = 1 + waiting_for_Xmoveto = 1 + } + else + last_is_hsbw = 0 + + if (waiting_for_Xmoveto) { + if (/rmoveto/) { + printf "\t%d %d rmoveto\n", $1, $2 - 160 + waiting_for_Xmoveto = 0 + next + } + else if (/vmoveto/) { + printf "\t%d vmoveto\n", $1 - 160 + waiting_for_Xmoveto = 0 + next + } + else if (/hmoveto/) { + printf "\t%d %d rmoveto\n", $1, -160 + waiting_for_Xmoveto = 0 + next + } + } + + if (/moveto/) + print "\tclosepath" + + if (/hstem/) { + printf "\t%d %d hstem\n", $1 - 160, $2 + next + } + + print + } + ' | \ + t1asm > $i + rm $i.old +done diff --git a/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada2.pl b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada2.pl new file mode 100644 index 00000000000..9c4a818da3d --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/fixwada2.pl @@ -0,0 +1,225 @@ +#! /usr/bin/perl -w +# +# This script fixes the Wadalab fonts which have been created with the +# `makefont' script version 1.0 (from CJK 4.6.0), or which have been updated +# with the `fixwada' script. +# +# . Make all glyph names compliant to the Adobe Glyph List (AGL) to +# get proper ToUnicode mappings in PDF documents. +# +# . Fix the encoding vector in the PFBs to contain only glyphs which +# actually have an outline. +# +# . Update the version number and creation date. +# +# . Fix a typo in the original fonts (`UniqueId' -> `UniqueID'). +# +# The files `JIS0208.TXT' and `JIS0212.TXT' from the `OBSOLETE' directory in +# the `MAPPINGS' tree on ftp.unicode.org are necessary for running this +# script. It also reads the file `DNP.sfd' which gives the relationship +# between JIS X 0208 (and JIS X 0212) in EUC encoding and wadalab's DNP font +# encoding. Finally, the programs `t1asm' and `t1disasm' must be available +# (and in the path). +# +# Call the script as +# +# perl fixwada2.pl wadalab_namestem [JIS0208|JIS0212] +# +# Example: +# +# perl fixwada2.pl dmj JIS0208 +# +# `fixwada2' reads all PFB and AFM files from the given wadalab font +# family and replaces them with new versions. + +use strict; + +my $prog = $0; +$prog =~ s@.*/@@; + +if ($#ARGV != 1) { + die("usage: $prog wadalab_namestem [JIS0208|JIS0212]\n"); +} + +my $namestem = $ARGV[0]; +my $encoding = $ARGV[1]; +my $encfile; +my $doshift; + + +if ("\U$encoding" eq "JIS0208") { + $encfile = "JIS0208.TXT"; + $doshift = 1; +} +elsif ("\U$encoding" eq "JIS0212") { + $encfile = "JIS0212.TXT"; + $doshift = 0; +} +else { + die("$prog: unknown encoding\n"); +} + + +# Read `DNP.sfd'. + +my %sfd; +my @subfonts; + +print("Reading \`DNP.sfd'...\n"); + +open(DNP, "DNP.sfd") +|| die("$prog: can't open \`DNP.sfd': $!\n"); + +# This loop doesn't handle the complete syntax of SFD files yet. +while () { + chop; + my @field = split(" "); + next if ($#field < 0); + next if ($field[0] =~ /^#/); + + my $suffix = $field[0]; + push(@subfonts, $suffix); + + shift(@field); + my $index = 0; + + while (@field) { + if ($field[0] =~ /(.*):$/) { + $index = $1; + } + elsif ($field[0] =~ /(0x[0-9A-Fa-f]+)_(0x[0-9A-Fa-f]+)/) { + foreach my $i (hex($1) .. hex($2)) { + $sfd{$suffix . "c" . sprintf("%02X", $index)} = $i; + $index++; + } + } + shift(@field); + } +} + + +# Read encoding file. + +print("Reading \`$encfile'...\n"); + +my %jisx; + +open(JISX, $encfile) +|| die("$prog: can't open \`$encfile': $!\n"); + +while () { + chop; + my @field = split(" "); + next if ($#field < 0); + next if ($field[0] =~ /^#/); + + if ($doshift) { + shift(@field); + } + + my $unicode = $field[1]; + $unicode =~ s/0x//; + my $value = hex($field[0]) + 0x8080; + $jisx{$value} = $unicode; +} + + +# Process AFM files. + +foreach my $afm (@subfonts) { + my $filename = "$namestem$afm.afm"; + print("Processing \`$filename'...\n"); + + if (!-f $filename) { + print("$prog: \`$filename' doesn't exist\n"); + next; + } + + rename($filename, "$filename.old"); + + open(INFILE, "$filename.old") + || die("$prog: can't open \`$filename.old': $!\n"); + open(OUTFILE, ">", "$filename") + || die("$prog: can't open \`$filename': $!\n"); + + while () { + # Replace the `cXX' entries with correct `uniXXXX' glyph names. + s/ N (.*?) ;/ N uni$jisx{$sfd{$afm . $1}} ;/; + + # Update version number. + s/001\.001/001.004/; + + print(OUTFILE $_); + } + + close(INFILE); + close(OUTFILE); + + unlink("$filename.old"); +} + + +# Process PFB files. + +foreach my $pfb (@subfonts) { + my $arg; + my $filename = "$namestem$pfb.pfb"; + print("Processing \`$filename'...\n"); + + if (!-f $filename) { + print("$prog: \`$filename' doesn't exist\n"); + next; + } + + rename($filename, "$filename.old"); + + $arg = "t1disasm < $filename.old > $filename.disasm.old"; + system("$arg") == 0 + || die("$prog: calling \`$arg' failed: $?"); + + open(INFILE, "$filename.disasm.old") + || die("$prog: can't open \`$filename.disasm.old': $!\n"); + open(OUTFILE, ">", "$filename.disasm") + || die("$prog: can't open \`$filename.disasm': $!\n"); + + while () { + # Replace the `cXX' entries with correct `uniXXXX' glyph names + # (or `.notdef' if there isn't one). + if (m@/(c.*?) @) { + my $replacement; + if (defined ($sfd{$pfb . $1}) + && defined ($jisx{$sfd{$pfb . $1}})) { + $replacement = "uni$jisx{$sfd{$pfb . $1}}"; + } + else { + $replacement = ".notdef"; + } + s@/(c.*?) @/$replacement @; + } + + # Fix a typo in original fonts. + s/UniqueId/UniqueID/; + + # Update version number. + s/001\.002/001.004/; + + # Update creation date. + s/2003-Feb-07/2005-Jul-29/; + + print(OUTFILE $_); + } + + close(INFILE); + close(OUTFILE); + + $arg = "t1asm < $filename.disasm > $filename"; + system("$arg") == 0 + || die("$prog: calling \`$arg' failed: $?"); + + unlink("$filename.disasm.old", "$filename.disasm"); + unlink("$filename.old"); +} + +print("Done.\n"); + +# eof diff --git a/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makefont b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makefont new file mode 100755 index 00000000000..7c70ef0c1ce --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makefont @@ -0,0 +1,91 @@ +#!/bin/sh +# +# Version 1.0 +# +# This script transforms Wadalab PFA and AFM files created by the +# wftodm program into PFB and TFM files. All files in the current +# directory and its subdirectories are converted. +# +# Additionally, it normalizes the font matrix so that the subfonts work +# with pdfTeX; for convenience, it also inserts `closepath' commands to +# end subpaths in glyphs. +# +# Note that an older version of this script (without a version number) has +# some flaws; you should either regenerate all Wadalab subfonts or use the +# `fixwada' script to fix PFB fonts which have already been created with +# this older version. +# +# The programs t1asm, t1disasm, and afm2tfm must be in the path. + +for f in `find . -name '*.pfa' -print`; do + echo processing $f + name=`basename $f .pfa` + t1disasm < $name.pfa > $name.old + + cat $name.old | \ + awk ' + { + sub(/001\.001/, "001.002") + sub(/\[.001 0 0 .001 0 -0.16\]/, "[.001 0 0 .001 0 0]") + sub(/\[0 0 1000 1000\]/, "[0 -160 1000 840]") + + if (/%%Creation/) { + print "%%CreationDate: 2003-Feb-07" + next + } + + if (/hsbw/) + waiting_for_Xmoveto = 1 + + if (waiting_for_Xmoveto) { + if (/rmoveto/) { + printf "\t%d %d rmoveto\n", $1, $2 - 160 + waiting_for_Xmoveto = 0 + next + } + if (/vmoveto/) { + printf "\t%d vmoveto\n", $1 - 160 + waiting_for_Xmoveto = 0 + next + } + if (/hmoveto/) { + printf "\t%d %d rmoveto\n", $1, -160 + waiting_for_Xmoveto = 0 + next + } + } + + if (/moveto/) + print "\tclosepath" + + if (/hstem/) { + printf "\t%d %d hstem\n", $1 - 160, $2 + next + } + + print + } + ' > $name.asm + rm $name.old + + t1asm < $name.asm > $name.pfb + rm $name.asm +done + +for f in `find . -name '*.afm' -print`; do + echo processing $f + name=`basename $f .afm` + mv $name.afm $name.old + + cat $name.old | \ + sed -e " + s/FontBBox 0 0 1000 1000/FontBBox 0 -160 1000 840/ + s/B 0 0 1000 1000/B 0 -160 1000 840/ + " > $name.afm + + rm $name.old + + afm2tfm $name.afm &> /dev/null +done + +# EOF diff --git a/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makeuniwada.pl b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makeuniwada.pl new file mode 100644 index 00000000000..fa8c205f3c8 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/makeuniwada.pl @@ -0,0 +1,316 @@ +#! /usr/bin/perl -w +# +# This script creates virtual subfonts in Unicode encoding for Wadalab +# subfonts. It can merge a JIS X 0208 and JIS X 0212 family into a single +# set of Unicode subfonts. +# +# As prerequisites, it needs the files `JIS0208.TXT' and `JIS0212.TXT' from +# the `OBSOLETE' directory in the `MAPPINGS' tree on ftp.unicode.org. It +# also needs the file `DNP.sfd' which gives the relationship between JIS X +# 0208 (and JIS X 0212) in EUC encoding and wadalab's DNP font encoding. +# The program `vptovf' must be available (and in the path). +# +# Call the script as +# +# perl makeuniwada.pl namestem1 [namestem2] uni_namestem +# +# `namestem1' is the font in JIS X 0208 encoding. The optional `namestem2' +# argument is the font in JIS X 0212, and `uni_namestem' holds the prefix +# for the Unicode subfonts. `makeuniwada.pl' reads all AFM files from the +# given wadalab font families. +# +# Example: +# +# perl makeuniwada.pl dmj mc2j udmj +# +# This call mixes the mincho-0-12 (dmj) with mincho-1-8 (mc2j) families. + +use strict; + +my $prog = $0; +$prog =~ s@.*/@@; + +if ($#ARGV < 1 || $#ARGV > 2) { + die("usage: $prog namestem1 [namestem2] uni_namestem\n"); +} + +my $namestem1; +my $namestem2; +my $two_encodings = 0; +my @args = @ARGV; + +$namestem1 = $ARGV[0]; +if ($#ARGV == 2) { + $namestem2 = $ARGV[1]; + $two_encodings = 1; + shift; +} +my $uninamestem = $ARGV[1]; + + +# Read `DNP.sfd'. + +my %sfd; +my @subfonts; + +read_sfdfile("DNP.sfd", \%sfd, \@subfonts); + + +# Read encoding files. +# +# The files `JIS0208.TXT' and `JIS0212.TXT' are from the `OBSOLETE' +# directory in the `MAPPINGS' tree on ftp.unicode.org. + +my %jisx0208; +my %jisx0212; + +read_encfile("JIS0208.TXT", \%jisx0208, 1); +if ($two_encodings) { + read_encfile("JIS0212.TXT", \%jisx0212, 0); +} + + +# Read AFM files. + +my @unicode; + +foreach my $sub (@subfonts) { + my $afmname = "$namestem1$sub.afm"; + + if (-f $afmname) { + read_afmfile($afmname, \@unicode, \%sfd, \%jisx0208, $sub); + } +} +if ($two_encodings) { + foreach my $sub (@subfonts) { + my $afmname = "$namestem2$sub.afm"; + + if (-f $afmname) { + read_afmfile($afmname, \@unicode, \%sfd, \%jisx0212, $sub); + } + } +} + + +# Write VPL files. + +my $index = 0; +foreach my $i (0 .. 255) { + my @entries; + + foreach my $j (0 .. 255) { + if (defined ($unicode[$index])) { + push(@entries, "$j $unicode[$index]"); + } + $index++; + } + + if ($#entries >= 0) { + write_vplfile($uninamestem . sprintf("%02x.vpl", $i), \@entries); + } +} + + +# Generate VF and TFM files, then remove the VPL files. + +my @vplfiles = glob("$uninamestem*.vpl"); +foreach my $vplfile (@vplfiles) { + print("Processing \`$vplfile'...\n"); + my $arg = "vptovf $vplfile"; + system($arg) == 0 + || die("$prog: calling \`$arg' failed: $?");; + print("Removing \`$vplfile'...\n"); + unlink($vplfile); +} + + +# Read an SFD file. +# +# $1: Name of the SFD file. +# $2: Reference to the target hash file, mapping from the subfont index +# to the character code. The format of the hash key is the +# concatenation of the subfont suffix, a space, and the index. +# $3: Reference to a target array which holds the subfont suffixes. + +sub read_sfdfile { + my ($sfdfile, $sfdhash, $sfdarray) = @_; + + print("Reading subfont definition file \`$sfdfile'...\n"); + + open(SFD, $sfdfile) + || die("$prog: can't open \`$sfdfile': $!\n"); + + # This loop doesn't handle the complete syntax of SFD files yet. + while () { + chop; + my @field = split(" "); + next if ($#field < 0); + next if ($field[0] =~ /^#/); + + my $suffix = $field[0]; + push(@{$sfdarray}, $suffix); + + shift(@field); + my $index = 0; + + while (@field) { + if ($field[0] =~ /(.*):$/) { + $index = $1; + } + elsif ($field[0] =~ /(0x[0-9A-Fa-f]+)_(0x[0-9A-Fa-f]+)/) { + foreach my $i (hex($1) .. hex($2)) { + $sfdhash->{"$suffix $index"} = $i; + $index++; + } + } + shift(@field); + } + } + close(SFD); +} + + +# Read encoding file. +# +# $1: Name of the encoding file. +# $2: Reference to the target hash file, mapping from the charset +# to Unicode. +# $3: Set to 1 if the needed mapping data is not in field 1 and 2, but in +# field 2 and 3. + +sub read_encfile { + my ($encfile, $enchash, $doshift) = @_; + + print("Reading encoding file \`$encfile'...\n"); + + open(ENC, $encfile) + || die("$prog: can't open \`$encfile': $!\n"); + + while () { + chop; + my @field = split(" "); + next if ($#field < 0); + next if ($field[0] =~ /^#/); + + if ($doshift) { + shift(@field); + } + + my $unicode = $field[1]; + $unicode =~ s/0x//; + my $value = hex($field[0]) + 0x8080; + $enchash->{$value} = hex($unicode); + } + close(ENC); +} + + +# Read AFM file. +# +# $1: Name of the AFM file. +# $2: Reference to the target array which maps from Unicode to the string +# " ". +# $3: Reference to the SFD hash (as extracted by `read_sfdfile'). +# $4: Reference to the encoding hash (as extracted by `read_encfile'). +# $5: Suffix. + +sub read_afmfile { + my ($afmfile, $unicarray, $sfdhash, $enchash, $suffix) = @_; + + print("Reading metric file \`$afmfile'...\n"); + + open(AFM, $afmfile) + || die("$prog: can't open \`$afmfile': $!\n"); + + $afmfile =~ s/\.[^.]*$//; + while () { + if (/^C (\d+) ;/) { + my $key = "$suffix $1"; + my $value = $sfdhash->{$key}; + my $unicvalue = $enchash->{$value}; + my $s = "$afmfile $1"; + + # Add advance width. + / WX (.*?) ;/; + $s .= " $1"; + + # Add glyph height and depth. + / B .*? (.*?) .*? (.*?) ;/; + $s .= " $1 $2"; + + $unicarray->[$unicvalue] = $s; + } + } + close(AFM); +} + + +# Write VPL file. +# +# $1: Name of the VPL file. +# $2: Reference to list which holds the font entries. An entry has the +# form ` '. + +sub write_vplfile { + my ($vplfile, $glypharray) = @_; + + my %subfonts; + my $subcount = 0; + + foreach my $entry (@{$glypharray}) { + my @field = split(" ", $entry); + my $subfont = $field[1]; + if (!defined ($subfonts{$subfont})) { + $subfonts{$subfont} = $subcount; + $subcount++; + } + } + + print("Writing virtual property list file \`$vplfile'...\n"); + + open(VPL, ">", $vplfile) + || die("$prog: can't open \`$vplfile': $!\n"); + my $oldfh = select(VPL); + + print("(VTITLE Created by \`$prog " . join(" ", @args) . "')\n"); + print("(FAMILY TEX-\U$uninamestem\E)\n"); + print("(CODINGSCHEME DNPUNICODE)\n"); + print("(FONTDIMEN\n"); + print(" (SPACE R 0.5)\n"); + print(" (XHEIGHT R 0.4)\n"); + print(" (QUAD R 1)\n"); + print(" )\n"); + + foreach my $subfont + (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) { + print("(MAPFONT D $subfonts{$subfont}\n"); + print(" (FONTNAME $subfont)\n"); + print(" )\n"); + } + + foreach my $entry (@{$glypharray}) { + my @field = split(" ", $entry); + my $index = $field[0]; + my $subnumber = $subfonts{$field[1]}; + my $subindex = $field[2]; + my $adv_width = $field[3] / 1000.0; + my $depth = $field[4] / -1000.0; + my $height = $field[5] / 1000.0; + + print("(CHARACTER D $index\n"); + print(" (CHARWD R $adv_width)\n"); + print(" (CHARHT R $height)\n"); + print(" (CHARDP R $depth)\n"); + print(" (MAP\n"); + print(" (SELECTFONT D $subnumber)\n"); + print(" (SETCHAR D $subindex)\n"); + print(" )\n"); + print(" )\n"); + } + + close(VPL); + select($oldfh); +} + + +# eof diff --git a/Master/texmf-dist/source/latex/CJK/contrib/wadalab/wadalab.map b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/wadalab.map new file mode 100644 index 00000000000..dd008d525fa --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/contrib/wadalab/wadalab.map @@ -0,0 +1,187 @@ + +% Wadalab Japanese fonts + +dgjgreek dgjgreek +% +% Version 4.6.0 (11-Aug-2005) + +\def\fileversion{4.6.0} +\def\filedate{2005/08/11} +\ProvidesFile{c63mj.fd}[\filedate\space\fileversion] + +% Korean characters (Hangul) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C63}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C63}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C63}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C63}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C63}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C63}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C63}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C63}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C63}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C63}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C63}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C63}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C63}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C63}{mj}{bc}{n}{<-> CJK * wmjbc}{} +\DeclareFontShape{C63}{mj}{bc}{sl}{<-> CJK * wmjbco}{} +\DeclareFontShape{C63}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C63}{mj}{b}{n}{<-> CJK * wmjb}{} +\DeclareFontShape{C63}{mj}{b}{sl}{<-> CJK * wmjbo}{} +\DeclareFontShape{C63}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C63}{mj}{bx}{n}{<-> CJK * wmjbx}{} +\DeclareFontShape{C63}{mj}{bx}{sl}{<-> CJK * wmjbxo}{} +\DeclareFontShape{C63}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C63}{mj}{bux}{n}{<-> CJK * wmjbu}{} +\DeclareFontShape{C63}{mj}{bux}{sl}{<-> CJK * wmjbuo}{} +\DeclareFontShape{C63}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/source/latex/CJK/texinput/KS/HLaTeX/c64mj.fd b/Master/texmf-dist/source/latex/CJK/texinput/KS/HLaTeX/c64mj.fd new file mode 100644 index 00000000000..5b348007fba --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/texinput/KS/HLaTeX/c64mj.fd @@ -0,0 +1,53 @@ +% This is file c64mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg +% +% Version 4.6.0 (11-Aug-2005) + +\def\fileversion{4.6.0} +\def\filedate{2005/08/11} +\ProvidesFile{c64mj.fd}[\filedate\space\fileversion] + +% Korean characters (Symbols) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C64}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C64}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C64}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C64}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C64}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C64}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C64}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C64}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C64}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C64}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C64}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C64}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C64}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C64}{mj}{bc}{n}{<-> CJK * wmjbc}{} +\DeclareFontShape{C64}{mj}{bc}{sl}{<-> CJK * wmjbco}{} +\DeclareFontShape{C64}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C64}{mj}{b}{n}{<-> CJK * wmjb}{} +\DeclareFontShape{C64}{mj}{b}{sl}{<-> CJK * wmjbo}{} +\DeclareFontShape{C64}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C64}{mj}{bx}{n}{<-> CJK * wmjbx}{} +\DeclareFontShape{C64}{mj}{bx}{sl}{<-> CJK * wmjbxo}{} +\DeclareFontShape{C64}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C64}{mj}{bux}{n}{<-> CJK * wmjbu}{} +\DeclareFontShape{C64}{mj}{bux}{sl}{<-> CJK * wmjbuo}{} +\DeclareFontShape{C64}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/source/latex/CJK/texinput/KS/HLaTeX/c65mj.fd b/Master/texmf-dist/source/latex/CJK/texinput/KS/HLaTeX/c65mj.fd new file mode 100644 index 00000000000..8132c80545d --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/texinput/KS/HLaTeX/c65mj.fd @@ -0,0 +1,53 @@ +% This is file c65mj.fd of the CJK package +% for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e +% +% created by Werner Lemberg +% +% Version 4.6.0 (11-Aug-2005) + +\def\fileversion{4.6.0} +\def\filedate{2005/08/11} +\ProvidesFile{c65mj.fd}[\filedate\space\fileversion] + +% Korean characters (Hanja) +% +% character set: KS X 1001:1992 (=KS C 5601-1992) +% font encoding: HL + +% UhcMyoungjo + +\DeclareFontFamily{C65}{mj}{\hyphenchar \font\m@ne} + +\DeclareFontShape{C65}{mj}{c}{n}{<-> CJK * wmjc}{} +\DeclareFontShape{C65}{mj}{c}{sl}{<-> CJK * wmjco}{} +\DeclareFontShape{C65}{mj}{c}{it}{<-> CJKssub * mj/c/sl}{} + +\DeclareFontShape{C65}{mj}{m}{n}{<-> CJK * wmj}{} +\DeclareFontShape{C65}{mj}{m}{sl}{<-> CJK * wmjo}{} +\DeclareFontShape{C65}{mj}{m}{it}{<-> CJKssub * mj/m/sl}{} + +\DeclareFontShape{C65}{mj}{x}{n}{<-> CJK * wmjx}{} +\DeclareFontShape{C65}{mj}{x}{sl}{<-> CJK * wmjxo}{} +\DeclareFontShape{C65}{mj}{x}{it}{<-> CJKssub * mj/x/sl}{} + +\DeclareFontShape{C65}{mj}{ux}{n}{<-> CJK * wmju}{} +\DeclareFontShape{C65}{mj}{ux}{sl}{<-> CJK * wmjuo}{} +\DeclareFontShape{C65}{mj}{ux}{it}{<-> CJKssub * mj/ux/sl}{} + +\DeclareFontShape{C65}{mj}{bc}{n}{<-> CJK * wmjbc}{} +\DeclareFontShape{C65}{mj}{bc}{sl}{<-> CJK * wmjbco}{} +\DeclareFontShape{C65}{mj}{bc}{it}{<-> CJKssub * mj/bc/sl}{} + +\DeclareFontShape{C65}{mj}{b}{n}{<-> CJK * wmjb}{} +\DeclareFontShape{C65}{mj}{b}{sl}{<-> CJK * wmjbo}{} +\DeclareFontShape{C65}{mj}{b}{it}{<-> CJKssub * mj/b/sl}{} + +\DeclareFontShape{C65}{mj}{bx}{n}{<-> CJK * wmjbx}{} +\DeclareFontShape{C65}{mj}{bx}{sl}{<-> CJK * wmjbxo}{} +\DeclareFontShape{C65}{mj}{bx}{it}{<-> CJKssub * mj/bx/sl}{} + +\DeclareFontShape{C65}{mj}{bux}{n}{<-> CJK * wmjbu}{} +\DeclareFontShape{C65}{mj}{bux}{sl}{<-> CJK * wmjbuo}{} +\DeclareFontShape{C65}{mj}{bux}{it}{<-> CJKssub * mj/bux/sl}{} + +\endinput diff --git a/Master/texmf-dist/source/latex/CJK/utils/lisp/cjkspace.el b/Master/texmf-dist/source/latex/CJK/utils/lisp/cjkspace.el new file mode 100644 index 00000000000..c8f18330d1c --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/lisp/cjkspace.el @@ -0,0 +1,85 @@ +;;; cjkspace.el --- provide a tilde character if you type a space. +;;; use this file with AUCTeX. + +;; This file is part of the CJK package Version 4.6.0 (11-Aug-2005) + +;; Insert tilde characters instead of spaces for LaTeX CJK documents. +;; If `CJK-space-after-space' is non-nil, typing a space yields a space. +;; Typing two consecutive spaces yields a tilde. If `CJK-space-after-space' +;; is nil, the behaviour is reversed. +;; +;; You should put the following in your .emacs file (additionally to the +;; common AUCTeX adaptations): +;; +;; (autoload 'CJK-insert-space "cjkspace" +;; "Insert tildes appropriately in CJK document." t) +;; (defun my-LaTeX-mode-hook () +;; "Key definitions for LaTeX mode." +;; (define-key LaTeX-mode-map " " 'CJK-insert-space) +;; ) +;; (add-hook 'LaTeX-mode-hook 'my-LaTeX-mode-hook) + + +;;; Code: + +(provide 'cjkspace) + + +(defvar CJK-space "~") + +(defvar CJK-space-after-space nil + + "*If non-nil, typing a space yields a space. Typing two consecutive +spaces yields a tilde. If nil the behaviour is reversed.") + +(make-variable-buffer-local 'CJK-space-after-space) + + +;;;###autoload +(defun CJK-insert-space (arg) + + "Insert tilde characters instead of spaces for LaTeX CJK documents. +If `CJK-space-after-space' is non-nil, typing a space yields a space. +Typing two consecutive spaces yields a tilde. If `CJK-space-after-space' +is nil, the behaviour is reversed. + +With prefix argument, always inserts space characters." + + (interactive "*P") + + (if arg + (self-insert-command (prefix-numeric-value arg)) + (TeX-update-style) + (if CJK-space-after-space + (insert (cond ((bobp) + ?\ ) + ((not (= (preceding-char) ?\ )) + ?\ ) + ((and (> (point) 2) + (save-excursion + (forward-char -2) + (looking-at (concat "[" CJK-space + (regexp-quote TeX-esc) "]")))) + ?\ ) + (t + (delete-backward-char 1) + CJK-space))) + (insert (cond ((bobp) + ?\ ) + ((= (preceding-char) (string-to-char TeX-esc)) + ?\ ) + ((= (preceding-char) ?\ ) + ?\ ) + ((and (> (point) 2) + (save-excursion + (forward-char -2) + (looking-at (concat (regexp-quote TeX-esc) + CJK-space)))) + CJK-space) + ((= (preceding-char) (string-to-char CJK-space)) + (delete-backward-char 1) + ?\ ) + (t + CJK-space)))))) + +;;; EOF diff --git a/Master/texmf-dist/source/latex/CJK/utils/lisp/cjktilde.el b/Master/texmf-dist/source/latex/CJK/utils/lisp/cjktilde.el new file mode 100644 index 00000000000..b3eebfb7731 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/lisp/cjktilde.el @@ -0,0 +1,94 @@ +;;; cjktilde.el -- minor mode exchanging `~' and ` ' keys. + +;; This file is part of the CJK package Version 4.6.0 (11-Aug-2005) + +;; Function `cjk-tilde-mode' activates a minor mode (`cjk-tilde-minor-mode') +;; which exchanges the tilde key with the space key. This is useful for +;; writing Chinese or Japanese with the CJK macro package for LaTeX 2e which +;; redefines the `~' command to insert a shibuaki space (see documentation +;; of the \CJKtilde macro for further details). + +;;; Code: + +(provide 'cjktilde) + + +(defvar cjk-tilde-minor-mode nil + + "*Non-nil enables CJK tilde mode. +Setting this variable makes it local to the current buffer. +See `cjk-tilde-mode' for details.") + +(make-variable-buffer-local 'cjk-tilde-minor-mode) + + +;; the following two functions do the exchange. +(defun electric-cjk-tilde (arg) + + "insert space if tilde key is pressed provided cjk-tilde-minor-mode is +activated." + + (if cjk-tilde-minor-mode + (char-to-string ?\ ) + (char-to-string ?\~) + ) +) + + +(defun electric-cjk-space (arg) + + "insert tilde if space key is pressed provided cjk-tilde-minor-mode is +activated." + + (if cjk-tilde-minor-mode + (char-to-string ?\~) + (char-to-string ?\ ) + ) +) + + +(or key-translation-map (setq key-translation-map (make-sparse-keymap))) + +(define-key key-translation-map " " 'electric-cjk-space) +(define-key key-translation-map "~" 'electric-cjk-tilde) + + +;; we indicate the minor mode in the mode line. +(or (assq 'cjk-tilde-minor-mode minor-mode-map-alist) + (setq minor-mode-alist + (append minor-mode-alist + '((cjk-tilde-minor-mode " ~")) + ) + ) +) + +;;;###autoload +(defun cjk-tilde-mode (&optional arg) + + "Toggle CJK tilde mode. If enabled, a tilde character will be inserted if +the space key is pressed and vice versa. + +Use with caution! This minor mode makes only sense for CJK environments +after insertion of the \\CJKtilde command. See the documentation of the +CJK package for further details. + +With an argument, a positive argument enables CJK tilde mode, +and a negative argument disables it." + + (interactive "P") + + (if (if arg + ;; negative arg: switch off + (<= (prefix-numeric-value arg) 0) + ;; no arg: toggle + cjk-tilde-minor-mode) + (setq cjk-tilde-minor-mode nil) + + ;; positive arg: switch on + (setq cjk-tilde-minor-mode t) + ) + (force-mode-line-update) +) + + +;;; end of cjktilde.el diff --git a/Master/texmf-dist/source/latex/CJK/utils/lisp/emacs/cjk-enc.el b/Master/texmf-dist/source/latex/CJK/utils/lisp/emacs/cjk-enc.el new file mode 100644 index 00000000000..a926203b061 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/lisp/emacs/cjk-enc.el @@ -0,0 +1,1100 @@ +;;; cjk-enc.el --- provide a coding system for LaTeX2e CJK package + +;; Copyright (C) 1996-2000 Electrotechnical Laboratory, JAPAN. + +;; Author: Kenichi HANDA +;; Werner LEMBERG + +;; Keywords: CJK package, LaTeX2e, emacs, xemacs + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to +;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +;; +;; CJK Version 4.6.0 (11-Aug-2005) +;; + +;;; Code + +;; This file will work with both Emacs (>=20.3) and XEmacs (>=21). In +;; the following `Emacs' is used for both Emacs and XEmacs except where +;; it differs. + +;; XXX: Thai stuff not yet ported to XEmacs. I don't know whether it +;; makes sense currently to support it because the Thai implementation +;; in XEmacs (version 21.1 and probably the upcoming 21.2) is not +;; complete: For example, there is no correct display handling of IR +;; 166 (this is the right part of TIS-620) in an ISO-2022 data stream, +;; decomposition of precomposed Thai (in xtis character set) doesn't +;; provide linguistic properties, etc. + +;; The following tables map from Emacs's character sets to LaTeX2e +;; macros. Note that not all macros defined here really do exist. See +;; MULEenc.sty and cjk-enc.txt for further details. +;; +;; MULEenc.sty makes TeX character 0x7F `active' and assigns to it a +;; multiplex command which executes its first argument. To make the +;; macro expansion robust against \uppercase and \lowercase, only +;; numbers are used as parameters which index the various commands. +;; +;; 0x7F will be used as a parameter delimiting character also. +;; +(defconst cjk-latin-1 + [;0xa0 + "99\177" "1\177" "2\177" "3\177" + "4\177" "5\177" "6\177" "7\177" + "8\177\\ " "9\177" "10\177" "11\177" + "12\177" "0\177-{}" "14\177" "15\177\\ " + + ; 0xb0 + "16\177" "17\177" "18\177" "19\177" + "20\177\\ " "21\177" "22\177" "23\177" + "24\177\\ " "25\177" "26\177" "27\177" + "28\177" "29\177" "30\177" "31\177" + + ; 0xc0 + "32\177A" "20\177A" "33\177A" "34\177A" + "8\177A" "0\177\\AA" "0\177\\AE" "24\177C" + "32\177E" "20\177E" "33\177E" "8\177E" + "32\177I" "20\177I" "33\177I" "8\177I" + + ; 0xd0 + "0\177\\DJ" "34\177N" "32\177O" "20\177O" + "33\177O" "34\177O" "8\177O" "38\177" + "0\177\\O" "32\177U" "20\177U" "33\177U" + "8\177U" "20\177Y" "0\177\\TH" "0\177\\ss" + + ; 0xe0 + "32\177a" "20\177a" "33\177a" "34\177a" + "8\177a" "0\177\\aa" "0\177\\ae" "24\177c" + "32\177e" "20\177e" "33\177e" "8\177e" + "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" + + ; 0xf0 + "0\177\\dj" "34\177n" "32\177o" "20\177o" + "33\177o" "34\177o" "8\177o" "45\177" + "0\177\\o" "32\177u" "20\177u" "33\177u" + "8\177u" "20\177y" "0\177\\th" "8\177y" + ]) + +(defconst cjk-latin-2 + [; 0xa0 + "99\177" "48\177A" "49\177\\ " "0\177\\L" + "4\177" "51\177L" "20\177S" "7\177" + "8\177\\ " "51\177S" "24\177S" "51\177T" + "20\177Z" "0\177-{}" "51\177Z" "52\177Z" + + ; 0xb0 + "16\177" "48\177a" "48\177\\ " "0\177\\l" + "20\177\\ " "51\177l" "20\177s" "51\177\\ " + "24\177\\ " "51\177s" "24\177s" "51\177t" + "20\177z" "55\177\\ " "51\177z" "52\177z" + + ; 0xc0 + "20\177R" "20\177A" "33\177A" "49\177A" + "8\177A" "20\177L" "20\177C" "24\177C" + "51\177C" "20\177E" "48\177E" "8\177E" + "51\177E" "20\177I" "33\177I" "51\177D" + + ; 0xd0 + "0\177\\DJ" "20\177N" "51\177N" "20\177O" + "33\177O" "55\177O" "8\177O" "38\177" + "51\177R" "53\177U" "20\177U" "55\177U" + "8\177U" "20\177Y" "24\177T" "0\177\\ss" + + ; 0xe0 + "20\177r" "20\177a" "33\177a" "49\177a" + "8\177a" "20\177l" "20\177c" "24\177c" + "51\177c" "20\177e" "48\177e" "8\177e" + "51\177e" "20\177\\i" "33\177\\i" "51\177d" + + ; 0xf0 + "0\177\\dj" "20\177n" "51\177n" "20\177o" + "33\177o" "55\177o" "8\177o" "45\177" + "51\177r" "53\177u" "20\177u" "55\177u" + "8\177u" "20\177y" "24\177t" "52\177\\ " + ]) + +(defconst cjk-latin-3 + [; 0xa0 + "99\177" "0\177\\TEXTMALTESEH" "49\177\\ " "3\177" + "4\177" "" "33\177H" "7\177" + "8\177\\ " "52\177I" "24\177S" "49\177G" + "33\177J" "0\177-{}" "" "52\177Z" + + ; 0xb0 + "16\177" "0\177\\textmalteseh" "18\177" "19\177" + "20\177\\ " "21\177" "33\177h" "23\177" + "24\177\\ " "0\177\\i" "24\177s" "49\177g" + "33\177\\j" "29\177" "" "52\177z" + + ; 0xc0 + "32\177A" "20\177A" "33\177A" "" + "8\177A" "52\177C" "33\177C" "24\177C" + "32\177E" "20\177E" "33\177E" "8\177E" + "32\177I" "20\177I" "33\177I" "8\177I" + + ; 0xd0 + "" "34\177N" "32\177O" "20\177O" + "33\177O" "52\177G" "8\177O" "38\177" + "33\177G" "32\177U" "20\177U" "33\177U" + "8\177U" "49\177U" "33\177S" "0\177\\ss" + + ; 0xe0 + "32\177a" "20\177a" "33\177a" "" + "8\177a" "52\177c" "33\177c" "24\177c" + "32\177e" "20\177e" "33\177e" "8\177e" + "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" + + ; 0xf0 + "" "34\177n" "32\177o" "20\177o" + "33\177o" "52\177g" "8\177o" "45\177" + "33\177g" "32\177u" "20\177u" "33\177u" + "8\177u" "49\177u" "33\177s" "52\177\\ " + ]) + +(defconst cjk-latin-4 + [; 0xa0 + "99\177" "48\177A" "59\177" "24\177R" + "4\177" "34\177I" "24\177L" "7\177" + "8\177\\ " "51\177S" "15\177E" "24\177G" + "0\177\\TEXTTSTROKE" "0\177-{}" "51\177Z" "15\177\\ " + + ; 0xb0 + "16\177" "48\177a" "48\177\\ " "24\177r" + "20\177\\ " "34\177\\i" "24\177l" "51\177\\ " + "24\177\\ " "51\177s" "15\177e" "24\177g" + "0\177\\texttstroke" "0\177\\NG" "51\177z" "0\177\\ng" + + ; 0xc0 + "15\177A" "20\177A" "33\177A" "34\177A" + "8\177A" "0\177\\AA" "0\177\\AE" "48\177I" + "51\177C" "20\177E" "48\177E" "8\177E" + "52\177E" "20\177I" "33\177I" "15\177I" + + ; 0xd0 + "0\177\\DJ" "24\177N" "15\177O" "24\177K" + "33\177O" "34\177O" "8\177O" "38\177" + "0\177\\O" "48\177U" "20\177U" "33\177U" + "8\177U" "34\177U" "15\177U" "0\177\\ss" + + ; 0xe0 + "15\177a" "20\177a" "33\177a" "34\177a" + "8\177a" "0\177\\aa" "0\177\\ae" "48\177i" + "51\177c" "20\177e" "48\177e" "8\177e" + "52\177e" "20\177\\i" "33\177\\i" "15\177\\i" + + ; 0xf0 + "0\177\\dj" "24\177n" "15\177o" "24\177k" + "33\177o" "34\177o" "8\177o" "45\177" + "0\177\\o" "48\177u" "20\177u" "33\177u" + "8\177u" "34\177u" "15\177u" "52\177\\ " + ]) + +(defconst cjk-latin-5 ; ISO 8859-9 + [; 0xa0 + "99\177" "1\177" "2\177" "3\177" + "4\177" "5\177" "6\177" "7\177" + "8\177\\ " "9\177" "10\177" "11\177" + "12\177" "0\177-{}" "14\177" "15\177\\ " + + ; 0xb0 + "16\177" "17\177" "18\177" "19\177" + "20\177\\ " "21\177" "22\177" "23\177" + "24\177\\ " "25\177" "26\177" "27\177" + "28\177" "29\177" "30\177" "31\177" + + ; 0xc0 + "32\177A" "20\177A" "33\177A" "34\177A" + "8\177A" "0\177\\AA" "0\177\\AE" "24\177C" + "32\177E" "20\177E" "33\177E" "8\177E" + "32\177I" "20\177I" "33\177I" "8\177I" + + ; 0xd0 + "49\177G" "34\177N" "32\177O" "20\177O" + "33\177O" "34\177O" "8\177O" "38\177" + "0\177\\O" "32\177U" "20\177U" "33\177U" + "8\177U" "52\177I" "24\177S" "0\177\\ss" + + ; 0xe0 + "32\177a" "20\177a" "33\177a" "34\177a" + "8\177a" "0\177\\aa" "0\177\\ae" "24\177c" + "32\177e" "20\177e" "33\177e" "8\177e" + "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" + + ; 0xf0 + "49\177g" "34\177n" "32\177o" "20\177o" + "33\177o" "34\177o" "8\177o" "45\177" + "0\177\\o" "32\177u" "20\177u" "33\177u" + "8\177u" "0\177\\i" "24\177s" "8\177y" + ]) + +(defconst cjk-latin-jisx ; JIS X 0201 lower half + [; 0xa0 + "" "0\177!" "37\177" "0\177\\#" + "39\177" "0\177\\%" "0\177\\&" "40\177" + "0\177(" "0\177)" "0\177*" "0\177+" + "0\177," "0\177-" "0\177." "0\177/" + + ; 0xb0 + "0\1770" "0\1771" "0\1772" "0\1773" + "0\1774" "0\1775" "0\1776" "0\1777" + "0\1778" "0\1779" "0\177:" "0\177;" + "41\177" "0\177=" "42\177" "0\177?" + + ; 0xc0 + "36\177" "0\177A" "0\177B" "0\177C" + "0\177D" "0\177E" "0\177F" "0\177G" + "0\177H" "0\177I" "0\177J" "0\177K" + "0\177L" "0\177M" "0\177N" "0\177O" + + ; 0xd0 + "0\177P" "0\177Q" "0\177R" "0\177S" + "0\177T" "0\177U" "0\177V" "0\177W" + "0\177X" "0\177Y" "0\177Z" "0\177[" + "5\177" "0\177]" "43\177" "44\177" + + ; 0xe0 + "46\177" "0\177a" "0\177b" "0\177c" + "0\177d" "0\177e" "0\177f" "0\177g" + "0\177h" "0\177i" "0\177j" "0\177k" + "0\177l" "0\177m" "0\177n" "0\177o" + + ; 0xf0 + "0\177p" "0\177q" "0\177r" "0\177s" + "0\177t" "0\177u" "0\177v" "0\177w" + "0\177x" "0\177y" "0\177z" "47\177" + "50\177" "54\177" "56\177" "" + ]) + +(defconst cjk-cyrillic ; ISO 8859-5 + [; 0xa0 + "99\177" "0\177\\CYRYO" "0\177\\CYRDJE" "20\177\\CYRG" + "0\177\\CYRIE" "0\177\\CYRDZE" "0\177\\CYRII" "0\177\\CYRYI" + "0\177\\CYRJE" "0\177\\CYRLJE" "0\177\\CYRNJE" "0\177\\CYRTSHE" + "20\177\\CYRK" "0\177-{}" "0\177\\CYRUSHRT" "0\177\\CYRDZHE" + + ; 0xb0 + "0\177\\CYRA" "0\177\\CYRB" "0\177\\CYRV" "0\177\\CYRG" + "0\177\\CYRD" "0\177\\CYRE" "0\177\\CYRZH" "0\177\\CYRZ" + "0\177\\CYRI" "0\177\\CYRISHRT" "0\177\\CYRK" "0\177\\CYRL" + "0\177\\CYRM" "0\177\\CYRN" "0\177\\CYRO" "0\177\\CYRP" + + ; 0xc0 + "0\177\\CYRR" "0\177\\CYRS" "0\177\\CYRT" "0\177\\CYRU" + "0\177\\CYRF" "0\177\\CYRH" "0\177\\CYRC" "0\177\\CYRCH" + "0\177\\CYRSH" "0\177\\CYRSHCH" "0\177\\CYRHRDSN" "0\177\\CYRERY" + "0\177\\CYRSFTSN" "0\177\\CYREREV" "0\177\\CYRYU" "0\177\\CYRYA" + + ; 0xd0 + "0\177\\cyra" "0\177\\cyrb" "0\177\\cyrv" "0\177\\cyrg" + "0\177\\cyrd" "0\177\\cyre" "0\177\\cyrzh" "0\177\\cyrz" + "0\177\\cyri" "0\177\\cyrishrt" "0\177\\cyrk" "0\177\\cyrl" + "0\177\\cyrm" "0\177\\cyrn" "0\177\\cyro" "0\177\\cyrp" + + ; 0xe0 + "0\177\\cyrr" "0\177\\cyrs" "0\177\\cyrt" "0\177\\cyru" + "0\177\\cyrf" "0\177\\cyrh" "0\177\\cyrc" "0\177\\cyrch" + "0\177\\cyrsh" "0\177\\cyrshch" "0\177\\cyrhrdsn" "0\177\\cyrery" + "0\177\\cyrsftsn" "0\177\\cyrerev" "0\177\\cyryu" "0\177\\cyrya" + + ; 0xf0 + "35\177" "0\177\\cyryo" "0\177\\cyrdje" "20\177\\cyrg" + "0\177\\cyrie" "0\177\\cyrdze" "0\177\\cyrii" "0\177\\cyryi" + "0\177\\cyrje" "0\177\\cyrlje" "0\177\\cyrnje" "0\177\\cyrtshe" + "20\177\\cyrk" "7\177" "0\177\\cyrushrt" "0\177\\cyrdzhe" + ]) + +(defconst cjk-greek ; ISO 8859-7 + [;0xa0 + "99\177" "0\177<{}" "0\177>{}" "3\177" + "" "" "6\177" "7\177" + "8\177\\ " "9\177" "" "0\177((" + "12\177" "0\177-{}" "" "0\177---" + + ; 0xb0 + "16\177" "17\177" "18\177" "19\177" + "0\177'{}" "0\177\"'{}" "0\177'A" "0\177;" + "0\177'E" "0\177'H" "0\177'I" "0\177))" + "0\177'O" "29\177" "0\177'U" "0\177'W" + + ; 0xc0 + "0\177\"'i" "0\177A" "0\177B" "0\177G" + "0\177D" "0\177E" "0\177Z" "0\177H" + "0\177J" "0\177I" "0\177K" "0\177L" + "0\177M" "0\177N" "0\177X" "0\177O" + + ; 0xd0 + "0\177P" "0\177R" "" "0\177S" + "0\177T" "0\177U" "0\177F" "0\177Q" + "0\177Y" "0\177W" "0\177\"I" "0\177\"U" + "0\177'a" "0\177'e" "0\177'h" "0\177'i" + + ; 0xe0 + "0\177\"'u" "0\177a" "0\177b" "0\177g" + "0\177d" "0\177e" "0\177z" "0\177h" + "0\177j" "0\177i" "0\177k" "0\177l" + "0\177m" "0\177n" "0\177x" "0\177o" + + ; 0xf0 + "0\177p" "0\177r" "0\177c" "0\177s" + "0\177t" "0\177u" "0\177f" "0\177q" + "0\177y" "0\177w" "0\177\"i" "0\177\"u" + "0\177'o" "0\177'u" "0\177'w" "" + ]) + +(defconst cjk-viscii-lower + [; 0xA0 + "" "20\177\\abreve" "32\177\\abreve" "71\177\\abreve" + "20\177\\acircumflex" "32\177\\acircumflex" "73\177\\acircumflex" "71\177\\acircumflex" + "34\177e" "71\177e" "20\177\\ecircumflex" "32\177\\ecircumflex" + "73\177\\ecircumflex" "34\177\\ecircumflex" "71\177\\ecircumflex" "20\177\\ocircumflex" + + ; 0xB0 + "32\177\\ocircumflex" "73\177\\ocircumflex" "34\177\\ocircumflex" "" + "" "71\177\\ocircumflex" "32\177\\ohorn" "73\177\\ohorn" + "71\177i" "" "" "" + "" "0\177\\ohorn" "20\177\\ohorn" "" + + ; 0xC0 + "" "" "" "" + "" "" "73\177\\abreve" "34\177\\abreve" + "" "" "" "" + "" "" "" "32\177y" + + ; 0xD0 + "" "20\177\\uhorn" "" "" + "" "71\177a" "73\177y" "32\177\\uhorn" + "73\177\\uhorn" "" "" "34\177y" + "71\177y" "" "34\177\\ohorn" "0\177\\uhorn" + + ; 0xE0 + "32\177a" "20\177a" "0\177\\acircumflex" "34\177a" + "73\177a" "0\177\\abreve" "34\177\\uhorn" "34\177\\acircumflex" + "32\177e" "20\177e" "0\177\\ecircumflex" "73\177e" + "32\177i" "20\177i" "34\177i" "73\177i" + + ; 0xF0 + "0\177\\dj" "71\177\\uhorn" "32\177o" "20\177o" + "0\177\\ocircumflex" "34\177o" "73\177o" "71\177o" + "71\177u" "32\177u" "20\177u" "34\177u" + "73\177u" "20\177y" "71\177\\ohorn" "" + ]) + +(defconst cjk-viscii-upper + [; 0xA0 + "" "20\177\\ABREVE" "32\177\\ABREVE" "71\177\\ABREVE" + "20\177\\ACIRCUMFLEX" "32\177\\ACIRCUMFLEX" "73\177\\ACIRCUMFLEX" "71\177\\ACIRCUMFLEX" + "34\177E" "71\177E" "20\177\\ECIRCUMFLEX" "32\177\\ECIRCUMFLEX" + "73\177\\ECIRCUMFLEX" "34\177\\ECIRCUMFLEX" "71\177\\ECIRCUMFLEX" "20\177\\OCIRCUMFLEX" + + ; 0xB0 + "32\177\\OCIRCUMFLEX" "73\177\\OCIRCUMFLEX" "34\177\\OCIRCUMFLEX" "" + "" "71\177\\OCIRCUMFLEX" "32\177\\OHORN" "73\177\\OHORN" + "71\177I" "" "" "" + "" "0\177\\OHORN" "20\177\\OHORN" "" + + ; 0xC0 + "" "" "" "" + "" "" "73\177\\ABREVE" "34\177\\ABREVE" + "" "" "" "" + "" "" "" "32\177Y" + + ; 0xD0 + "" "20\177\\UHORN" "" "" + "" "71\177A" "73\177Y" "32\177\\UHORN" + "73\177\\UHORN" "" "" "34\177Y" + "71\177Y" "" "34\177\\OHORN" "0\177\\UHORN" + + ; 0xE0 + "32\177A" "20\177A" "0\177\\ACIRCUMFLEX" "34\177A" + "73\177A" "0\177\\ABREVE" "34\177\\UHORN" "34\177\\ACIRCUMFLEX" + "32\177E" "20\177E" "0\177\\ECIRCUMFLEX" "73\177E" + "32\177I" "20\177I" "34\177I" "73\177I" + + ; 0xF0 + "0\177\\DJ" "71\177\\UHORN" "32\177O" "20\177O" + "0\177\\OCIRCUMFLEX" "34\177O" "73\177O" "71\177O" + "71\177U" "32\177U" "20\177U" "34\177U" + "73\177U" "20\177Y" "71\177\\OHORN" "" + ]) + + +;; The following encodings will be selected (if they occur in the input +;; buffer) at the very beginning of the output buffer to load the +;; corresponding CJK macros. +;; +(defconst cjk-enc-table + '((chinese-gb2312 . GB) + (katakana-jisx0201 . SJIS) + (japanese-jisx0208 . JIS) + (japanese-jisx0212 . JIS2) + (korean-ksc5601 . KS) + (chinese-big5-1 . Bg5) + (chinese-big5-2 . Bg5) + (chinese-cns11643-1 . CNS1) + (chinese-cns11643-2 . CNS2) + (chinese-cns11643-3 . CNS3) + (chinese-cns11643-4 . CNS4) + (chinese-cns11643-5 . CNS5) + (chinese-cns11643-6 . CNS6) + (chinese-cns11643-7 . CNS7))) + + +;; MULEenc's versions of \CJKspace and \CJKnospace +;; +(defconst cjk-space "\17764\177\177") +(defconst cjk-nospace "\17765\177\177") + +;; MULEenc's command to insert a word break. +;; +(defconst cjk-word-break "\17761\177\177") + + +;; Here we have the format specification table which defines what to do +;; for each encoding. +;; +;; Later in the code we check to which group of commands the encoding +;; belongs. This is done by testing how the encoding and its data is +;; stored, e.g. whether it is a vector, or a cons cell, etc. +;; +(defconst cjk-format-spec-table + `( + ;; Cdr part is a vector VEC. Each character is formatted as: + ;; + ;; (format "\177%s\177" (aref VEC (- char-position-code-1 32))) + ;; + (latin-iso8859-1 . ,cjk-latin-1) + (latin-iso8859-2 . ,cjk-latin-2) + (latin-iso8859-3 . ,cjk-latin-3) + (latin-iso8859-4 . ,cjk-latin-4) + (latin-iso8859-9 . ,cjk-latin-5) + (latin-jisx0201 . ,cjk-latin-jisx) + ;; T2A encoding is used for Cyrillic letters. You must explicitly + ;; switch between T2 and T1/OT1 encoding. + (cyrillic-iso8859-5 . ,cjk-cyrillic) + ;; LGR encoding (resp. its ligatures) is used for Greek letters. + ;; You must explicitly switch between LGR and T1/OT1 encoding (using + ;; e.g. Babel's `greek' option). + (greek-iso8859-7 . ,cjk-greek) + ;; For Vietnamese a Vietnamese TeX-font has to be used which + ;; contains ASCII characters too! You must explicitly switch + ;; between Vietnamese T5 and T1/OT1 encoding. + (vietnamese-viscii-lower . ,cjk-viscii-lower) + (vietnamese-viscii-upper . ,cjk-viscii-upper) + + ;; Cdr part is a cons of header HEAD and formatter FORMAT. HEAD is + ;; printed first, then each character is formatted as: + ;; + ;; (format FORMAT char-code-1 [char-code-2]) + ;; + (katakana-jisx0201 . ("\17770\177\177" . "\177%c\177\177")) + (japanese-jisx0208 . ("\17766\177\177" . "\177%c\177%d\177")) + (chinese-gb2312 . ("\17767\177\177" . "\177%c\177%d\177")) + (chinese-big5-1 . ("\17768\177\177" . "\177%c\177%d\177")) + (chinese-big5-2 . ("\17768\177\177" . "\177%c\177%d\177")) + (korean-ksc5601 . ("\17769\177\177" . "\177%c\177%d\177")) + + ;; Cdr part is a formatter string FORMAT. Each character is + ;; formatted as: + ;; + ;; (format FORMAT char-code-1 char-code-2) + ;; + (japanese-jisx0212 . "\17772\177JIS2\177\177%d\177%d\177") + (chinese-cns11643-1 . "\17772\177CNS1\177\177%d\177%d\177") + (chinese-cns11643-2 . "\17772\177CNS2\177\177%d\177%d\177") + (chinese-cns11643-3 . "\17772\177CNS3\177\177%d\177%d\177") + (chinese-cns11643-4 . "\17772\177CNS4\177\177%d\177%d\177") + (chinese-cns11643-5 . "\17772\177CNS5\177\177%d\177%d\177") + (chinese-cns11643-6 . "\17772\177CNS6\177\177%d\177%d\177") + (chinese-cns11643-7 . "\17772\177CNS7\177\177%d\177%d\177") + + ;; Cdr part is a list of the form (SYMBOL ARG1 ARG2 ...). SYMBOL + ;; indicates how to process the following characters. + ;; + (thai-tis620 . (thai + "\17757\177\177" ; Thai start + "\17758\177\177" ; Thai end + "\17762\177%d\177" ; Thai base character + "\17760\177%d\177" ; Thai upper/lower vowel and tone + "\17763\177\177" ; Thai EOL + )) + )) + + +;; An alist of charsets vs list of features required for processing +;; the corresponding charset. The feature is loaded then on demand. +;; +(defconst cjk-feature-table + '((thai-tis620 thai-word))) + + +;; Create an output encoding called `cjk-coding', using the function +;; cjk-encode to actually convert the output. +;; +(if (featurep 'xemacs) + (make-coding-system + 'cjk-coding 'no-conversion + "Coding-system for LaTeX2e CJK Package" + '(mnemonic "CJK" + pre-write-conversion cjk-encode)) + (make-coding-system + 'cjk-coding 0 ?c + "Coding-system for LaTeX2e CJK Package" + nil + '((pre-write-conversion . cjk-encode)))) + + +;; XEmacs doesn't have set-buffer-multibyte. +;; +(defmacro cjk-set-buffer-multibyte (arg) + (if (fboundp 'set-buffer-multibyte) + `(set-buffer-multibyte ,arg))) + + +;; The conversion routine. Its main idea is to analyze the character +;; set for each character and then to do something if the previous +;; character has a different character set. For Thai, we must +;; additionally find proper word breaks using a large word list. +;; +(defun cjk-encode (from to) + (let ((old-buf (current-buffer)) + (temp-buf (get-buffer-create " *cjk-tmp*")) + (work-buf (get-buffer-create " *cjk-work*")) + (required-features (copy-sequence cjk-feature-table))) + ;; Initialize all working buffers. + (set-buffer work-buf) + (erase-buffer) + (cjk-set-buffer-multibyte nil) + + (set-buffer temp-buf) + (erase-buffer) + (cjk-set-buffer-multibyte t) + + ;; Copy the original contents into TEMP-BUF. + (insert-buffer-substring old-buf from to) + (if (and (not (featurep 'xemacs)) + (string< emacs-version "21.0")) + (progn + (message "Decomposing...") + (decompose-region (point-min) (point-max)))) + + (let ((enc nil) + (space-state nil) + prev-charset charset + ch ch1 ch2 + format-spec + (skipped-whitespace nil) + (last-pos 0)) + ;; Now we go to beginning of TEMP-BUF and start the loop. + (goto-char (point-min)) + (setq prev-charset 'ascii) + + (while (not (eobp)) + (setq ch (following-char)) + (set-buffer work-buf) + + ;; Set CHARSET to the character set of the current character. + (setq charset (char-charset ch)) + (if (eq charset 'ascii) + ;; Not a multibyte character. + (progn + ;; Don't modify PREV-CHARSET for whitespace characters. + (setq skipped-whitespace (string-match "[ \t\n]" + (string ch))) + (if (not skipped-whitespace) + (setq prev-charset 'ascii)) + (insert ch)) + + ;; Now we are at a multibyte character. Set the following + ;; variables: + ;; + ;; CH1 -- first character code + ;; CH2 -- second character code (of two-byte characters) + ;; if any + (if (or (eq charset 'chinese-big5-1) + (eq charset 'chinese-big5-2)) + ;; Emacs uses two special character sets for Big5 + ;; characters. We must decode the current character to + ;; get the real Big5 character code. + (progn + (setq ch (encode-big5-char ch)) + (if (consp ch) + ;; XEmacs + (setq ch1 (car ch) + ch2 (cdr ch)) + ;; Emacs + (setq ch1 (lsh ch -8) + ch2 (logand ch 255))) + ;; 128 will be later added again. + (setq ch1 (- ch1 128)) + (setq ch2 (- ch2 128))) + ;; For all other character sets, split-char does the right + ;; thing. Note that CH2 can be zero in case it is a + ;; single-byte character set. + (let ((l (split-char ch))) + (setq ch1 (nth 1 l) + ch2 (or (nth 2 l) 0)))) + + ;; FORMAT-SPEC tells how to encode this character. + (setq format-spec (cdr (assq charset cjk-format-spec-table))) + (if (null format-spec) + ;; Unsupported character set. Do nothing. + nil + ;; Ok, it is supported. If this character set is a CJK + ;; character set (i.e., it is in CJK-ENC-TABLE), we need a + ;; special header at the beginning of the output file. + ;; This information is stored in the ENC list. + (let ((tag (cdr (assq charset cjk-enc-table)))) + (if tag + (or (memq tag enc) + (setq enc (cons tag enc))))) + + ;; Load all features which are required to handle this + ;; character set. + (let ((tail (assq charset required-features))) + ;; We remove all occurrences of TAIL in the feature list + ;; to avoid loading packages multiple times. + (setq required-features (delete tail required-features) + tail (cdr tail)) + (while tail + (require (car tail)) + (setq tail (cdr tail)))) + + (cond + ;; If FORMAT-SPEC has the form (SYMBOL ARG1 ARG2 ...), + ;; SYMBOL indicates how to process the following + ;; characters. + ((and (consp format-spec) (symbolp (car format-spec))) + (cond + ((eq (car format-spec) 'thai) + ;; FORMAT-SPEC has this form: + ;; (thai START-STRING END-STRING + ;; BASE-CHAR-FORMAT COMBINING-CHAR-FORMAT + ;; EOL-STRING) + (let ((base-format (nth 3 format-spec)) + (combining-format (nth 4 format-spec)) + pos + start + end + str + len + (i 0)) + ;; First, insert the code for starting Thai. + (if (not (eq prev-charset charset)) + (insert (nth 1 format-spec))) + ;; Analyze the maximum run of Thai characters in + ;; TEMP-BUF and insert `|' at all word boundaries. + (set-buffer temp-buf) + (setq start (point)) + ;; "\\ct+" searches for characters which have the + ;; category `t', i.e. are Thai characters. + (re-search-forward "\\ct+" nil t) + (setq end (point-marker)) + (goto-char start) + (thai-break-words "|" end) + ;; Extract this run. + (setq str (buffer-substring start end) + len (length str)) + (goto-char end) + (set-marker end nil) + ;; Insert characters in STR one by one while + ;; converting `|' to `cjk-word-break' and formatting + ;; Thai characters according to FORMAT-SPEC. + (set-buffer work-buf) + (while (< i len) + (setq ch (aref str i) + i (1+ i)) + (if (= ch ?|) + (insert cjk-word-break) + (let* ((split (split-char ch)) + (category-set (char-category-set ch))) + ;; We now analyze the linguistic category + ;; assigned to the current character and take + ;; the appropriate format. Then we add 128 + ;; for producing TIS-620 output. + (insert (format + (if (or (aref category-set ?2) + (aref category-set ?3) + (aref category-set ?4)) + combining-format + base-format) + (+ (nth 1 split) 128)))))) + ;; It depends on the following characters what to do + ;; next. If we have tabs and spaces followed by a + ;; Thai character, nothing will be done. If we have + ;; a newline character additionally, we insert a + ;; special command which usually expands to + ;; `\ignorespaces' (which will suppress all + ;; whitespace characters). In all other cases, we + ;; close the Thai block. + ;; + ;; Reason for this algorithm is the fact that in the + ;; Thai language a space isn't used to separate + ;; words but to structure a sentence. A normal line + ;; break shall not automatically cause the insertion + ;; of a space. The user has rather to explicitly + ;; type one or more space characters in the middle + ;; of a line to indicate that he or she really wants + ;; a space -- note that usually a Thai space is + ;; wider than a Roman space resp. can be stretched + ;; more. + (set-buffer temp-buf) + (if (looking-at "[ \t]+\\ct") + (setq str "") + (if (looking-at "[ \t]*\n[ \t]*\\ct") + (setq str (nth 5 format-spec)) + (setq str (nth 2 format-spec)))) + ;; To compensate the forward-char at the end of loop. + (forward-char -1) + (set-buffer work-buf) + (insert str))))) + + ;; We may have to insert the car part of the cons and/or + ;; space controlling commands (cjk-space/cjk-nospace) + ;; depending on the current context. + ;; + ;; Note that this logic sometimes fails. In the example + ;; below, cjk-encode will insert \CJKspace in the comment + ;; instead of right after the comment. Since cjk-encode + ;; should be a low-level function we can't assume that + ;; `%' is always the TeX comment character. Only TeX + ;; itself can reliably detect the current comment + ;; character. + ;; + ;; Chinese Text + ;; % Korean comment + ;; Korean Text + ;; + ;; Two solutions: Either switch between Korean and other + ;; languages only outside of a comment, or manually insert + ;; \CJKspace and \CJKnospace commands as needed. + ((consp format-spec) + (if (eq charset 'korean-ksc5601) + (or (eq space-state cjk-space) + (insert (setq space-state cjk-space))) + (or (eq space-state cjk-nospace) + (insert (setq space-state cjk-nospace)))) + + ;; Now insert the the header and character(s) + ;; according to CJK-FORMAT-SPEC-TABLE. The CJK + ;; package needs the characters in GR notation, so + ;; we add 0x80. + (if (not (eq prev-charset charset)) + (insert (car format-spec))) + (insert (format (cdr format-spec) + (+ ch1 128) (+ ch2 128)))) + + ;; Since Emacs provides the character sets in GL + ;; notation, we simply subtract 0x20 to get the proper + ;; index. + ((vectorp format-spec) + (insert (format "\177%s\177" + (aref format-spec (- ch1 32))))) + + ;; Otherwise, FORMAT-SPEC is just a formatting + ;; string. + (t + (insert (format format-spec ch1 ch2))))) + + (setq prev-charset charset)) + + ;; We have finished the analysis of the character set. Print + ;; some progress information if we have done another 1000 + ;; characters. + (set-buffer temp-buf) + (if (> (- (point) last-pos) 1000) + (progn + (setq last-pos (point)) + (message "Converting: %2d%%" + (/ (* 100 (point)) (point-max))))) + + ;; Advance to the next character and loop. + (forward-char 1)) + + ;; The remaining task is to insert an appropriate header at the + ;; very beginning of the output file. If ENC isn't empty, we need + ;; the extra LaTeX commands to load CJK package and to output all + ;; collected CJK encodings. + (set-buffer work-buf) + (goto-char (point-min)) + (if enc + (progn + (insert "\\def\\CJKhook{") + (while enc + (insert (format "\\CJKenc{%s}" (car enc))) + (setq enc (cdr enc))) + (insert "}") + (insert "\\ifx\\CJKpreproc\\undefined") + (insert "\\def\\CJKpreproc{cjk-enc}") + (insert "\\RequirePackage[global]{CJK}") + (insert "\\AtBeginDocument{\\begin{CJK}{}{}\\CJKspace}") + (insert "\\AtEndDocument{\\end{CJK}}") + (insert "\\else\\CJKhook\\fi ")) + (insert "\\ifx\\CJKpreproc\\undefined") + (insert "\\def\\CJKpreproc{cjk-enc}") + (insert "\\RequirePackage{MULEenc}") + (insert "\\fi "))))) + + +(defun cjk-get-name (filename) + "Replace the extension of the file name with `.cjk'. +If the extension of FILENAME is `.bib', `-cjk.bib' will be appended +to the file name without extension." + + (concat (file-name-sans-extension filename) + (if (string-equal (file-name-extension filename) "bib") + "-cjk.bib" + ".cjk"))) + + +(defun cjk-write-file () + "Save current buffer and .cjk in cjk-coding. +Files of the form .bib are saved as -cjk.bib. + +If no file is associated with the buffer, you are asked to specify a +file name." + + (interactive) + (save-buffer) + (let* ((bufname (buffer-file-name)) + (newbufname (cjk-get-name bufname))) + (message "Saving %s and %s" bufname newbufname) + (let ((coding-system-for-write 'cjk-coding)) + (write-region (point-min) (point-max) newbufname)))) + + +(defun cjk-file-write-file (filename &optional load) + "Save FILENAME as .cjk in cjk-coding. +With prefix arg (noninteractively: 2nd arg LOAD), load FILENAME into +current buffer also." + + (interactive + (let ((file buffer-file-name) + (file-name nil) + (file-dir nil)) + (and file + ;; If we are in LaTeX mode, we present the file associated + ;; with the current buffer as the default. + (eq (cdr (assq 'major-mode (buffer-local-variables))) + 'latex-mode) + (setq file-name (file-name-nondirectory file) + file-dir (file-name-directory file))) + ;; Now we build the argument list. + (list (read-file-name (if current-prefix-arg + "Load file and save it in cjk-coding: " + "Save file in cjk-coding: ") + file-dir file-name nil) + current-prefix-arg))) + + (setq filename (expand-file-name filename)) + + (let (input-buffer + (new-filename (cjk-get-name filename))) + (save-excursion + (setq input-buffer (get-buffer-create " *cjk-temp*")) + (set-buffer input-buffer) + (erase-buffer) + (cjk-set-buffer-multibyte t) + (insert-file-contents filename) + (let ((coding-system-for-write 'cjk-coding)) + (write-region (point-min) (point-max) new-filename)))) + + (if load + (find-file filename))) + + +;; To be independent from AUC TeX, we copy the TeX-in-comment function. + +(defvar cjk-tex-esc "\\" + "The TeX escape character.") + + +(defconst cjk-comment-start-skip (concat "\\(\\(^\\|[^\\]\\)\\(" + (regexp-quote cjk-tex-esc) + (regexp-quote cjk-tex-esc) + "\\)*\\)\\(%+ *\\)") + "A regexp to identify the beginning of a comment in TeX.") + + +(defun cjk-tex-in-comment () + "Return non-nil if point is in a TeX comment." + + (if (or (bolp) + (eq (preceding-char) ?\r)) + nil + (save-excursion + (let ((pos (point))) + (re-search-backward "^\\|\r" nil t) + (or (looking-at cjk-comment-start-skip) + (re-search-forward cjk-comment-start-skip pos t)))))) + + +(defun cjk-write-all-files (filename &optional load force) + "Save FILENAME and all files included in FILENAME in cjk-coding. +This function runs `cjk-file-write-file' on each file if necessary. +The inclusion commands scanned for are `\\CJKinput', `\\CJKinclude', +and `\\CJKbibliography'. + +With 1 \\[universal-argument] (noninteractively: 2nd arg LOAD), + load FILENAME into current buffer also. +With 2 \\[universal-argument]'s (noninteractively: 3rd arg FORCE), + run `cjk-file-write-file' unconditionally. +With 3 \\[universal-argument]'s, do both." + + (interactive + (let ((file buffer-file-name) + (file-name nil) + (file-dir nil)) + (and file + ;; If we are in LaTeX mode, we present the file associated + ;; with the current buffer as the default. + (eq (cdr (assq 'major-mode (buffer-local-variables))) + 'latex-mode) + (setq file-name (file-name-nondirectory file) + file-dir (file-name-directory file))) + ;; Now we build the argument list. + (setq load (member current-prefix-arg '((4) (64)))) + (setq force (member current-prefix-arg '((16) (64)))) + (list + (read-file-name (if load + "Load file and save it in cjk-coding: " + "Save file in cjk-coding: ") + file-dir file-name nil) + load + force))) + + (let (input-buffer + (dir (file-name-directory filename)) + (tex-include-regexp "\\\\CJKinclude *{\\(.*\\)}") + (tex-input-regexp "\\\\CJKinput *{\\(.*\\)}") + (bib-regexp "\\\\CJKbibliography *{\\(.*\\)}") + (result '()) + (newresult '())) + (save-excursion + ;; First, load the file associated with FILENAME into INPUT-BUFFER + (setq input-buffer (get-buffer-create " *cjk-temp*")) + (set-buffer input-buffer) + (erase-buffer) + (cjk-set-buffer-multibyte t) + (insert-file-contents filename) + (goto-char (point-min)) + + ;; Then, search `\CJKinput', `\CJKinclude', and `\CJKbibliography' and + ;; append the found filenames to the RESULT list. + (while (re-search-forward tex-include-regexp nil t) + ;; We assume that the include file name is well behaved and + ;; doesn't contain a comment character. + (let ((match (match-string 1))) + (if (not (cjk-tex-in-comment)) + (setq result (cons (concat match ".tex") result))))) + (while (re-search-forward tex-input-regexp nil t) + (let ((match (match-string 1))) + (if (not (cjk-tex-in-comment)) + (if (string-equal (file-name-sans-extension match) match) + (setq result (cons (concat match ".tex") result)) + (setq result (cons match result)))))) + (while (re-search-forward bib-regexp nil t) + (let ((match (match-string 1))) + (if (not (cjk-tex-in-comment)) + (setq result (cons (concat match ".bib") result)))))) + + ;; Add directory to each element. + (dolist (elt result) + (setq newresult (cons (concat dir elt) newresult))) + + ;; Add the master file itself to the list. + (setq newresult (cons filename newresult)) + + ;; Process file by file. + (dolist (source newresult) + (if (not (file-readable-p source)) + (message "Can't operate on %s" source) + (if (or (file-newer-than-file-p source (cjk-get-name source)) + force) + (cjk-file-write-file source))))) + + (if load + (find-file filename))) + + +(defun batch-cjk-write-file () + "Run `cjk-file-write-file' on the remaining files if necessary. +Use this from the command line, with `--batch' (or `-batch'); it won't +work in an interactive Emacs. For example, invoke + + \"emacs -batch -l cjk-enc -f batch-cjk-write-file *.tex\" + +Note that if you specify a directory name, all files in this directory +are processed." + + (do-batch-cjk-write-file)) + + +(defun batch-force-cjk-write-file () + "Run `cjk-file-write-file' on the remaining files unconditionally. +Use this from the command line, with `--batch' (or `-batch'); it won't +work in an interactive Emacs. For example, invoke + + \"emacs -b -l cjk-enc -f batch-force-cjk-write-file *.tex\" + +Note that if you specify a directory name, all files in this directory +are processed. + +This function is useful for Makefiles to let the make program do the +file time management." + + (do-batch-cjk-write-file t)) + + +(defun do-batch-cjk-write-file (&optional force) + "Run `cjk-file-write-file' on remaining arguments. +If optional argument FORCE is non-nil, run it unconditionally." + + (defvar command-line-args-left) ; Avoid `free variable' warning. + + (if (not noninteractive) + (error "`batch-write-cjk-file' is to be used only with --batch")) + + (while command-line-args-left + (let ((source (car command-line-args-left)) + dest) + (if (file-directory-p (expand-file-name source)) + ;; Handle all files in directory. + (let ((files (directory-files source))) + (while files + (if (and (not (auto-save-file-name-p (car files))) + ;; Replace the directory name saved in `source' + ;; with a file name. + (setq source + (expand-file-name (car files) source)) + (setq dest (cjk-get-name source)) + (not (file-directory-p source)) + (or (file-newer-than-file-p source dest) + force)) + (cjk-file-write-file source)) + (setq files (cdr files)))) + ;; Otherwise, process a single file. + (if (not (file-readable-p source)) + (message "Can't operate on %s" source) + (if (or (file-newer-than-file-p source (cjk-get-name source)) + force) + (cjk-file-write-file source))))) + + (setq command-line-args-left (cdr command-line-args-left))) + + (message "Done") + (kill-emacs 0)) + +;;; EOF diff --git a/Master/texmf-dist/source/latex/CJK/utils/lisp/emacs/thai-word.el b/Master/texmf-dist/source/latex/CJK/utils/lisp/emacs/thai-word.el new file mode 100644 index 00000000000..956cf27b06e --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/lisp/emacs/thai-word.el @@ -0,0 +1,11052 @@ +;;; thai-word.el -- find Thai word boundaries + +;; Copyright (C) 2000, 2001, 2002, 2003, 2004 +;; Electrotechnical Laboratory, JAPAN. + +;; Author: Kenichi HANDA + +;; Keywords: thai, word break, emacs + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to +;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +;; The used Thai word list has been taken from IBM's ICU4J project +;; (file `thai6.ucs', version 1.4, converted to TIS encoding, with +;; removal of three incorrect entries) to which the following license +;; applies: +;; +;; COPYRIGHT AND PERMISSION NOTICE +;; +;; +;; Copyright (c) 1995-2001 International Business Machines +;; Corporation and others +;; +;; All rights reserved. +;; +;; +;; Permission is hereby granted, free of charge, to any person +;; obtaining a copy of this software and associated documentation +;; files (the "Software"), to deal in the Software without +;; restriction, including without limitation the rights to use, +;; copy, modify, merge, publish, distribute, and/or sell copies of +;; the Software, and to permit persons to whom the Software is +;; furnished to do so, provided that the above copyright notice(s) +;; and this permission notice appear in all copies of the Software +;; and that both the above copyright notice(s) and this permission +;; notice appear in supporting documentation. +;; +;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +;; OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +;; NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE +;; COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE +;; FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +;; OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +;; PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +;; PERFORMANCE OF THIS SOFTWARE. +;; +;; Except as contained in this notice, the name of a copyright +;; holder shall not be used in advertising or otherwise to promote +;; the sale, use or other dealings in this Software without prior +;; written authorization of the copyright holder. + + +;; This file implements an algorithm to find Thai word breaks using a +;; dictionary. It is based on the C program `cttex' written by +;; Vuthichai Ampornaramveth . + + +;; Table of Thai words. It is a nested alist (see `nested-alist-p'), +;; which means that you can easily index the list character by +;; character. + +(defconst thai-word-table nil) + + +;; Set up `thai-word-table'. + +(let + ((l + '("¡¡" + "¡¡Å" + "¡¡Ø¸Àѳ±ì" + "¡§" + "¡§¡ÒÃ" + "¡§ÊØÅ" + "¡§àµê¡" + "¡®" + "¡®ËÁÒÂ" + "¡°Ô¹" + "¡´" + "¡µÑ­ªÅÕ" + "¡µÑ­­ØµÒ" + "¡µÑ­­Ù" + "¡µÒ¸Ô¡ÒÃ" + "¡µÒÀÔ¹ÔËÒÃ" + "¡µÔ¡Ò" + "¡µàÇ·ÔµÒ" + "¡µàÇ·Õ" + "¡¶Ò" + "¡·Á" + "¡·ÅÕ" + "¡¹" + "¡¹¡" + "¡¹ÔÉ°Ò" + "¡º" + "¡º¯" + "¡º´Ò¹" + "¡º·Ù" + "¡ºÒÅ" + "¡ºÔ¹·Ãì" + "¡ºÔÅ" + "¡ºÕè" + "¡ÁÅ" + "¡Ã" + "¡Ã¡®" + "¡Ã¡®Ò¤Á" + "¡Ã¡¯" + "¡Ã§" + "¡Ã³±ì" + "¡Ã³Õ" + "¡Ã³Õ¡Ԩ" + "¡Ã³ÕÂì" + "¡Ã´" + "¡Ã¹" + "¡Ãº" + "¡ÃºÙÃ" + "¡ÃÁ" + "¡ÃÁ·èÒ" + "¡ÃÁ¸ÃÃÁì" + "¡ÃÃ" + "¡Ãêԧ" + "¡Ãó" + "¡ÃóԡÒÃì" + "¡ÃþØÁ" + "¡ÃÃÁ" + "¡ÃÃÁ¡Ã" + "¡ÃÃÁ¡ÒÃ" + "¡ÃÃÁªÇÒµ" + "¡ÃÃÁÒª¹" + "¡ÃÃÁÒªÕ¾" + "¡ÃÃÁÒ¸Ô¡ÒÃ" + "¡ÃÃà¨Õ¡" + "¡ÃÃàªÕ§" + "¡ÃÃá·Ã¡" + "¡ÃÃ⪡" + "¡ÃÃä¡Ã" + "¡ÃÇ´" + "¡ÃǺ" + "¡ÃÇÂ" + "¡ÃÍ" + "¡ÃÍ¡" + "¡ÃÍ¡á¡Ã¡" + "¡Ãͧ" + "¡Ãͧ¡ÃÍÂ" + "¡ÃÍ´" + "¡Ãͺ" + "¡ÃÍÁ" + "¡ÃÐ" + "¡ÃЧ¡¡ÃÐà§Ôè¹" + "¡ÃЧèͧ¡ÃÐá§è§" + "¡ÃЧè͹¡ÃÐá§è¹" + "¡ÃШ¡" + "¡ÃШ͡" + "¡ÃШͧÍá§" + "¡ÃШѧ" + "¡ÃШѺ" + "¡ÃШҴ" + "¡ÃШҺ" + "¡ÃШÒÂ" + "¡ÃШԴ" + "¡ÃШԺ" + "¡ÃШÔÃÔ´" + "¡ÃШء" + "¡ÃШغ¡ÃШԺ" + "¡ÃШØÂ" + "¡ÃШØ맡ÃШÔë§" + "¡ÃШØëÁ¡ÃШÔëÁ" + "¡ÃШÙë¡ÃШÕë" + "¡ÃШèÒ§" + "¡ÃШé͹" + "¡ÃЩ͡" + "¡ÃЩѺ¡ÃÐ੧" + "¡ÃЩٴ" + "¡ÃЩè͹" + "¡ÃЪ͹" + "¡ÃЪѺ" + "¡ÃЪÑé¹" + "¡ÃЪҡ" + "¡ÃЪØ" + "¡ÃЫԡ" + "¡ÃЫԺ" + "¡ÃЮØÁ¾Õ" + "¡Ãд¡" + "¡Ãдͧ" + "¡Ãд͹" + "¡Ãдѧ§Ò" + "¡Ãдҡ" + "¡ÃдҧÅÒ§" + "¡Ãдҹ" + "¡ÃдÒÉ" + "¡Ãдԡ" + "¡ÃдÔè§" + "¡ÃдÕè" + "¡Ãд׺" + "¡ÃдØÁ" + "¡Ãд١" + "¡Ãдé§" + "¡ÃдéÒ§" + "¡Ãеԡ" + "¡ÃеԺ" + "¡ÃеÔê´" + "¡Ãе×ÍÃ×ÍÃé¹" + "¡Ãеء" + "¡ÃеØ駡ÃеÔé§" + "¡ÃеØé¹" + "¡Ãеèͧ¡ÃÐáµè§" + "¡ÃеèÒÂ" + "¡ÃеéÇÁ¡ÃÐàµÕéÂÁ" + "¡Ãеêͺ" + "¡ÃжԹ" + "¡Ãз§" + "¡Ãзº" + "¡ÃзÃǧ" + "¡ÃзÐ" + "¡ÃзÑè§" + "¡Ãзԧ" + "¡Ãз׺" + "¡Ãзا" + "¡ÃзÙé" + "¡ÃзèÍÁ" + "¡Ãзé͹" + "¡ÃзéÍÁ¡ÃÐá·éÁ" + "¡ÃйÑé¹" + "¡Ãкǹ" + "¡ÃкÇÂ" + "¡Ãк͡" + "¡Ãкͧ" + "¡ÃкÐ" + "¡ÃкÔ" + "¡ÃкÕè" + "¡Ãк×Í" + "¡Ãкا" + "¡ÃлÃÕé¡ÃÐà»ÃèÒ" + "¡ÃлÑéÇ¡ÃÐà»ÕéÂ" + "¡ÃлèÓ" + "¡ÃлéÍ¡ÃÐá»é" + "¡Ãлëͧ" + "¡ÃмÅÕ¡ÃмÅÒÁ" + "¡Ãмա" + "¡ÃоÕé" + "¡Ãо×Í" + "¡ÃоØé§" + "¡ÃпѴ¡ÃÐà¿Õ´" + "¡ÃпÙÁ¡ÃпÒÂ" + "¡ÃÐÁÍÁ¡ÃÐáÁÁ" + "¡ÃÐÁѧ" + "¡ÃÐÂÒ˧ѹ" + "¡ÃÐÂÖ¡¡ÃÐÂ×Í" + "¡ÃÐÂè͹" + "¡ÃÐÃÍ¡" + "¡ÃÐÅÍÁ" + "¡ÃÐÅÑÁ¾Ã" + "¡ÃÐÇÔ¹" + "¡ÃÐÇÕ¡ÃÐÇÒ´" + "¡ÃÐÉÑÂ" + "¡ÃÐÉÒ»³ì" + "¡ÃÐÊͺ" + "¡ÃÐÊѧ" + "¡ÃÐÊѹ" + "¡ÃÐÊÒ" + "¡ÃÐÊ×Í" + "¡ÃÐÊا¡ÃÐÊÔ§" + "¡ÃÐÊع" + "¡ÃÐ˹¡" + "¡ÃÐ˹Һ" + "¡ÃÐ˹èÓ" + "¡ÃÐËÁÔº" + "¡ÃÐËÁèÍÁ" + "¡ÃÐËÂÔèÁ" + "¡ÃÐËÒÂ" + "¡ÃÐËÖÁ" + "¡ÃÐËÖèÁ" + "¡ÃÐÍͺ" + "¡ÃÐÍÑ¡" + "¡ÃÐÍÑ¡¡ÃÐÍèǹ" + "¡ÃÐà§éÒ¡ÃЧʹ" + "¡ÃÐà¨Ò" + "¡ÃÐà¨Ô§" + "¡ÃÐà¨Ô´¡ÃÐà¨Ô§" + "¡ÃÐà¨Õêº" + "¡ÃÐàªéÒ" + "¡ÃÐà«Í" + "¡ÃÐà«Ô§" + "¡ÃÐà«ç¹" + "¡ÃÐà«éÒ" + "¡ÃÐà´Ô´" + "¡ÃÐà´Õ´" + "¡ÃÐà´×Í¡" + "¡ÃÐà´×èͧ" + "¡ÃÐà´ç¹" + "¡ÃÐà´éÒ" + "¡ÃÐ൧" + "¡ÃÐàµÒÐ" + "¡ÃÐàµ×éͧ" + "¡ÃÐàµç¹" + "¡ÃÐà¶Ôº" + "¡ÃÐà·ÕÂÁ" + "¡ÃÐà·×͹" + "¡ÃÐູ" + "¡ÃÐàºÕ´" + "¡ÃÐàº×éͧ" + "¡ÃÐà»ÒÐ" + "¡ÃÐà»ëÒ" + "¡ÃÐà¾ÒÐ" + "¡ÃÐà¾×èÍÁ" + "¡ÃÐàÂéÍ¡ÃÐáËÂè§" + "¡ÃÐàÃÕ¹" + "¡ÃÐàÊÕ¹" + "¡ÃÐàÊÕÂÃ" + "¡ÃÐàÊ繡ÃÐÊÒÂ" + "¡ÃÐàÊèÒ" + "¡ÃÐàËÁç´¡ÃÐáËÁè" + "¡ÃÐá¨Ð" + "¡ÃÐá«Ð" + "¡ÃÐá´Ð" + "¡ÃÐá´èÇ" + "¡ÃÐáµ" + "¡ÃÐá·¡" + "¡ÃÐáÊ" + "¡ÃÐáÍÁ" + "¡ÃÐ⨹" + "¡ÃÐâ¨Á" + "¡ÃÐâ©¡¡ÃÐà©¡" + "¡ÃÐâ´¡" + "¡ÃÐâ´¡¡ÃÐà´¡" + "¡ÃÐâ´§" + "¡ÃÐâ´´" + "¡ÃÐⶹ" + "¡ÃÐâºÁ" + "¡ÃÐâ»Ã§" + "¡ÃÐâËé" + "¡ÃÑ¡" + "¡Ãѧ" + "¡Ãѹ" + "¡ÃѺ" + "¡ÃÑÁ" + "¡ÃÒ¡" + "¡ÃÒ§" + "¡ÃÒ´" + "¡ÃÒ¹" + "¡ÃÒº" + "¡ÃÒ¿" + "¡ÃÒ¿¿Ô¡" + "¡ÃÒ¿Ô¡" + "¡ÃÒÁ" + "¡ÃÒÂ" + "¡ÃÒÇ" + "¡ÃÓ" + "¡ÃÔ¡" + "¡ÃÔ§¡ÃÔÇ" + "¡ÃÔª" + "¡ÃÔº" + "¡ÃÔÁ" + "¡ÃÔÂÒ" + "¡ÃÔÇ" + "¡ÃÔè§" + "¡ÃÔèÁ" + "¡ÃÔéÇ" + "¡ÃÔê¡" + "¡ÃÔê§" + "¡ÃÕ" + "¡ÃÕ¡" + "¡ÃÕ±Ò" + "¡ÃÕ´" + "¡ÃÕ¸Ò" + "¡ÃÕê´" + "¡ÃØ" + "¡ÃØ¡" + "¡Ãا" + "¡Ãا෾" + "¡ÃسÒ" + "¡ÃسҸԤس" + "¡Ãع" + "¡Ãغ" + "¡ÃØÂ" + "¡ÃØè¹" + "¡ÃØèÁ" + "¡ÃØéÁ¡ÃÔèÁ" + "¡ÃØê»" + "¡ÃÙ" + "¡ÃÙ´" + "¡ÃçÍ¡¡ÃëÍÂ" + "¡Ãè͹" + "¡ÃèÍÂ" + "¡ÃèÒ§" + "¡ÃèÒÂ" + "¡ÃèÓ" + "¡ÃéÇÁ" + "¡ÃéÍ" + "¡ÃéÒ¹" + "¡ÃéÒÇ" + "¡ÄɮաÒ" + "¡ÄɳÒ" + "¡Å" + "¡Å´" + "¡Åº" + "¡ÅÁ" + "¡ÅÂØ·¸ì" + "¡Åǧ" + "¡ÅÍ¡" + "¡Åͧ" + "¡Å͹" + "¡ÅÍÂ" + "¡ÅÑ¡" + "¡ÅÑ´" + "¡ÅѺ" + "¡ÅÑÇ" + "¡ÅÑè¹" + "¡ÅÑé¹" + "¡ÅÑéÇ" + "¡ÅÒ¡" + "¡ÅÒ§" + "¡ÅÒ´" + "¡ÅÒÂ" + "¡ÅÒâËÁ" + "¡ÅÔè§" + "¡ÅÔè¹" + "¡ÅÔé§" + "¡ÅÔéÁ" + "¡ÅÕ" + "¡ÅÕº" + "¡ÅÕè" + "¡ÅÖ§" + "¡Å×¹" + "¡ÅØèÁ" + "¡ÅØéÁ" + "¡ÅÙâ¤Ê" + "¡ÅàÁç´" + "¡Åè¹" + "¡Åèͧ" + "¡Åè͹" + "¡ÅèÍÁ" + "¡ÅèÒÇ" + "¡ÅèÓ" + "¡ÅéÇÂ" + "¡ÅéÇÂäÁé" + "¡ÅéÍ" + "¡Åéͧ" + "¡Åé͹" + "¡ÅéÍÁá¡ÅéÁ" + "¡ÅéÒ" + "¡ÅéÒÁ" + "¡ÅéÓ" + "¡Ç´" + "¡Ç¹" + "¡ÇÁ" + "¡ÇÂ" + "¡Ç¨Ñêº" + "¡Ç¨Õê" + "¡ÇÑ¡" + "¡ÇÑ´" + "¡ÇÒ§" + "¡ÇÒ§µØé§" + "¡ÇÒ´" + "¡ÇÒÇà¤Ã×Í" + "¡ÇÕ" + "¡ÇèÒ" + "¡ÇéÒ§" + "¡ÇéÒ¹" + "¡ÇêÒ¹" + "¡ÉѵÃÔÂì" + "¡ÉÑÂ" + "¡ÉÒ»³ì" + "¡ÊÔ" + "¡ÊÔ¡Ã" + "¡ÊÔ¡ÃÃÁ" + "¡ÊÔ³" + "¡Í" + "¡Í¡" + "¡Í§" + "¡Í«" + "¡Í´" + "¡Íº" + "¡Í»Ã" + "¡ÍÂ" + "¡ÍÃÔÅÅÒ" + "¡ÍÅì¿" + "¡ÍàÍÕêÂÐ" + "¡Ð" + "¡ÐªÖ衡ЪÑè¡" + "¡Ð«Ç¡" + "¡Ð´Õè" + "¡ÐµéÓ" + "¡ÐµêÒ¡" + "¡Ð·¡Ã¡" + "¡Ð·Ñ´ÃÑ´" + "¡Ð·Ñ¹Ëѹ" + "¡Ð·Ô" + "¡Ð·×Í" + "¡ÐºÑ§ÅÁ" + "¡ÐºÔé§" + "¡Ð»ÃÔ´¡Ð»ÃÍÂ" + "¡Ð»Ç¡¡Ðà»Õ¡" + "¡Ð»Ð" + "¡Ð»Ô" + "¡Ð¾§" + "¡Ð¾ÃÔº" + "¡Ð¾Åèͧ¡Ðá¾Åè§" + "¡Ð¾éÍ" + "¡ÐÃѵ" + "¡ÐÃØ觡ÐÃÔè§" + "¡ÐÅÇÂ" + "¡ÐÅÍ" + "¡ÐÅлѧËÒ" + "¡ÐÅÐÁѧ" + "¡ÐÅÐáÁ" + "¡ÐÅÒ" + "¡ÐÅÒÊÕ" + "¡ÐÅÔéÁ¡ÐàËÅÕèÂ" + "¡ÐÅè͹" + "¡ÐÅèÍÁ¡ÐáÅèÁ" + "¡ÐÅèÍ¡ÐËÅÔº" + "¡ÐÊéÒËÍÂ" + "¡Ð˹ا¡Ð˹ԧ" + "¡Ð˹çͧ¡Ðá˹ç§" + "¡ÐËÃÍ´" + "¡ÐËÃÕè" + "¡ÐËÃçÍÁ¡ÐáËÃçÁ" + "¡ÐËÃèͧ" + "¡ÐËÅÕè" + "¡ÐËÅØ¡¡ÐËÅÔ¡" + "¡ÐËÅèÓ" + "¡Ðà´¡" + "¡Ð൧" + "¡Ðà·Â" + "¡Ðà·ÒÐ" + "¡Ðà»Ô꺡лêÒº" + "¡Ðà¼Å¡" + "¡ÐàÃÕè¡ÐÃÒ´" + "¡ÐàÅÔ´" + "¡ÐàÅèÍ¡ÐÅèÒ" + "¡ÐàËÃÕè§" + "¡ÐàËÅÒÐà»ÒÐ" + "¡Ðáªè" + "¡Ðⵧ¡Ð൧" + "¡Ðâµé§âËè§" + "¡Ðâµê¡" + "¡Ðâ»Ã§" + "¡Ðâ»âÅ" + "¡Ðâ¼Å¡¡Ðà¼Å¡" + "¡ÐâËÅ¡" + "¡Ñ¡" + "¡Ñ¡¢ÌÐ" + "¡Ñ§" + "¡Ñ§¡éÒ" + "¡Ñ§¢Ò" + "¡Ñ§©Ô¹" + "¡Ñ§¿Ù" + "¡Ñ§ÇÅ" + "¡Ñ§ÇÒ¹" + "¡Ñ§Ê´ÒÅ" + "¡Ñ§Ëѹ" + "¡Ñ§äÊ" + "¡Ñ­ªÒ" + "¡Ñ­­Ò" + "¡Ñ³±ì" + "¡Ñ´" + "¡Ñ¹" + "¡Ñ¹´ÒÃ" + "¡Ñ¹µì" + "¡Ñ¹ÂÒ¹" + "¡Ñ¹Âì" + "¡Ñº" + "¡Ñ»" + "¡Ñ»µÑ¹" + "¡ÑÁ»¹Ò·" + "¡ÑÁ»ÃÐâ´" + "¡ÑÁ¾ÙªÒ" + "¡ÑÁÁѹµÀÒ¾ÃѧÊÕ" + "¡ÑÁÁѹµÃѧÊÕ" + "¡Ñź¡" + "¡ÑÅ»¾Ä¡Éì" + "¡ÑŻѧËÒ" + "¡ÑÅ»ÒÇÊÒ¹" + "¡ÑÅ»ì" + "¡ÑÅÂÒ" + "¡ÑÅÂÒ³" + "¡ÑÅÂÒ³ÁÔµÃ" + "¡ÑÅÂÒ³Õ" + "¡ÑÅâª" + "¡Ñè¹" + "¡Ñé§" + "¡Ñé¹" + "¡Ñé¹ËÂÑè¹" + "¡Ñê¡" + "¡Ò" + "¡Ò¡" + "¡Ò¡Õ" + "¡Ò§" + "¡Ò§à¡§" + "¡Ò§à¢¹" + "¡Ò«ÐÅͧ" + "¡Ò­¨¹ºØÃÕ" + "¡Ò­¨¹Ò" + "¡Ò´" + "¡Ò¹" + "¡Ò¹´Ò" + "¡Ò¹¾ÅÙ" + "¡Òº" + "¡Ò½Ò¡" + "¡Ò¾Âì" + "¡ÒÁ" + "¡ÒÁÒÃÁ³ì" + "¡ÒÂ" + "¡Ò¡ÃÃÁ" + "¡ÒÂÀÒ¾" + "¡ÒÂÇÔÀÒ¤" + "¡ÒÂÊÔ·¸Ôì" + "¡ÒÂҾ¾" + "¡ÒÃ" + "¡Òóì" + "¡ÒúÙÃ" + "¡ÒÃÐà¡´" + "¡ÒÃѳÂì" + "¡ÒÃѹµì" + "¡ÒÃØ­" + "¡ÒÃسÂì" + "¡ÒÃàÇ¡" + "¡ÒÃì" + "¡ÒÃì´" + "¡ÒÃìµÙ¹" + "¡ÒÅ" + "¡ÒÅ¡Ô³Õ" + "¡ÒÅÕ" + "¡ÒÅà·ÈÐ" + "¡ÒÇ" + "¡ÒÈ" + "¡ÒÊ" + "¡ÒÊÃ" + "¡ÒÊÔâ¹" + "¡ÒËŧ" + "¡ÒÌ" + "¡ÒàËÇèÒ" + "¡Òá¿" + "¡ÒáÅç¡«Õ" + "¡Ó" + "¡Ó¡ÇÁ" + "¡Ó¡Ñ´" + "¡Ó¡Ñº" + "¡Ó¨Ã" + "¡Ó¨Ñ´" + "¡Ó¨ÒÂ" + "¡ÓªÑº" + "¡Ó«Òº" + "¡Ó´Ñ´" + "¡Ó¸Ã" + "¡Ó¹Ñ¹" + "¡Ó¹ÑÅ" + "¡ÓºÑ§" + "¡Ó»Ñè¹" + "¡Ó¾ÃéÒ" + "¡Ó¾×´" + "¡ÓÁжѹ" + "¡ÓÁÐÅÍ" + "¡ÓÁÐËÂÕè" + "¡ÓÂÒ¹" + "¡ÓÂÓ" + "¡ÓÃÒº" + "¡ÓÅѧ" + "¡ÓÊÃÇÅ" + "¡Ó˹´" + "¡Ó˹Ѵ" + "¡Óà´Ò" + "¡Óà¹Ô´" + "¡ÓàÃÔº" + "¡Óà˹ç¨" + "¡Óᾧ" + "¡Óá˧" + "¡ÓäÃ" + "¡ÓäÅ" + "¡Ô¡" + "¡Ô¡Ð" + "¡Ô¨" + "¡Ô¨¡ÃÃÁ" + "¡Ô¨¡ÒÃ" + "¡Ô¨¨ÐÅѡɳÐ" + "¡Ô¨¨Ò" + "¡ÔµµÔ" + "¡ÔµµÔ¤Ø³" + "¡ÔµµÔÁÈÑ¡´Ôì" + "¡ÔµµÔÈѾ·ì" + "¡Ô¹" + "¡Ô¹¹Ã" + "¡Ô¹ÃÕ" + "¡ÔÃÔ³Õ" + "¡ÔÃÔÂÒ" + "¡ÔàŹ" + "¡ÔàÅÊ" + "¡ÔâÁâ¹" + "¡Ôâµչ" + "¡ÔâÅ" + "¡ÔâÅ¡ÃÑÁ" + "¡ÔâÅÅÔµÃ" + "¡ÔâÅàÁµÃ" + "¡ÔâÅàÎÔõ«ì" + "¡Ôè§" + "¡ÔèÇ" + "¡Ô駡×Í" + "¡Ô駡èÒ" + "¡Ôê¡" + "¡Ôêº" + "¡ÔëÇ" + "¡Õ¯ÇÔ·ÂÒ" + "¡Õ´" + "¡ÕµÒÃì" + "¡Õº" + "¡ÕÌÒ" + "¡Õè" + "¡Õé" + "¡Õë" + "¡Ö¡" + "¡Ö¡¡éͧ" + "¡Öè§" + "¡Öë¹" + "¡Ø" + "¡Ø¡" + "¡Ø¡¡Ñ¡" + "¡Ø­ªÃ" + "¡Ø­á¨" + "¡Ø®ØÁ¾Õ" + "¡Ø¯°Ñ§" + "¡Ø¯Ô" + "¡Ø³±Å" + "¡Ø´" + "¡Ø´Ñ§" + "¡Ø´Ñè¹" + "¡Ø¹" + "¡Ø¹«×Í" + "¡Ø¹àªÕ§" + "¡Øº" + "¡ØÁ" + "¡ØÁÀÒ" + "¡ØÁÀì" + "¡ØÁÒÃ" + "¡ØÁÒÃÒ" + "¡ØÁÒÃÕ" + "¡ØÂ" + "¡ØªèÒÂ" + "¡ØÂàΧ" + "¡ØÅ" + "¡ØŸԴÒ" + "¡ØźصÃ" + "¡ØÅʵÃÕ" + "¡ØÅÒ" + "¡ØÅÕ" + "¡ØÅաبÍ" + "¡ØÈÅ" + "¡ØÈâźÒÂ" + "¡ØËÅÒº" + "¡ØèÁ" + "¡Øé§" + "¡Øê¡" + "¡Øê¹" + "¡ØêÂ" + "¡ØëÂ" + "¡Ù" + "¡Ù³±ì" + "¡Ù´" + "¡Ùº" + "¡Ùè" + "¡Ùé" + "¡àÌÇÃÒ¡" + "¡ç" + "¡è§" + "¡è¹" + "¡èÍ" + "¡èͧ" + "¡è͹" + "¡èÒÂ" + "¡èÓ" + "¡é§â¤é§" + "¡é¹" + "¡éÁ" + "¡éÍ" + "¡éͧ" + "¡é͹" + "¡éÍÁ" + "¡éÍÂ" + "¡éÍÃèÍ¡é͵ԡ" + "¡éÒ§" + "¡éÒ¹" + "¡éÒÁ" + "¡éÒÇ" + "¡éÓ" + "¡éÓ¡Öè§" + "¡éÓà¡Ô¹" + "¡ê¡" + "¡ê§" + "¡êÍ¡" + "¡êͺ»Õé" + "¡êÍ»»Õé" + "¡êÒ«" + "¡êÒ´" + "¡ë§" + "¡ëÇÂàµÕëÂÇ" + "¡ëÍÂ" + "¡ëÒ" + "¢§¨×êÍ" + "¢¨Ã" + "¢¨Ñ´" + "¢¨ÒÂ" + "¢¨Õ" + "¢¨ØÂ" + "¢³Ð" + "¢´" + "¢¹" + "¢¹§" + "¢¹´" + "¢¹¹" + "¢¹º" + "¢¹Á" + "¢¹Áͺ" + "¢¹Ñ´" + "¢¹Ñ¹" + "¢¹Ò¡" + "¢¹Ò§" + "¢¹Ò´" + "¢¹Ò¹" + "¢¹Òº" + "¢¹ÒÂ" + "¢¹ÔÉ°Ò" + "¢¹Ø¹" + "¢º" + "¢º¶" + "¢ºÇ¹" + "¢Á" + "¢ÁÇ´" + "¢Áͧ" + "¢ÁÍÂ" + "¢Áѧ" + "¢ÁѺ" + "¢ÁÒ" + "¢ÁÔº" + "¢ÁÔé¹" + "¢ÁÕ¢Áѹ" + "¢ÁÖ§" + "¢ÁØ¡¢ÁÍÁ" + "¢ÁØ¡¢ÁÑÇ" + "¢Áغ" + "¢Áغ¢ÁÔº" + "¢ÁèÍÁ" + "¢ÁéÓ" + "¢ÂÍ¡" + "¢Âͧ" + "¢ÂÐ" + "¢ÂÑ¡" + "¢Âѹ" + "¢ÂѺ" + "¢ÂÑé¹" + "¢ÂÒ´" + "¢ÂÒº" + "¢ÂÒÂ" + "¢ÂÓ" + "¢ÂÔ¡" + "¢ÂÔº" + "¢ÂÔèÁ" + "¢ÂÕé" + "¢ÂØ¡¢ÂÔ¡" + "¢ÂØ¡¢ÂØÂ" + "¢Âغ" + "¢Âغ¢ÂÔº" + "¢ÂØÁ" + "¢ÂØÂ" + "¢ÂØéÁ" + "¢ÂèÁ" + "¢Âè͹" + "¢Âé͹" + "¢ÂéÓ" + "¢ÃÁ" + "¢Ãäì" + "¢ÃÑÇ" + "¢ÃÔº" + "¢ÃÖÁ" + "¢ÃØ¢ÃÐ" + "¢Åѧ" + "¢ÅѺ" + "¢ÅÒ" + "¢ÅÒ´" + "¢ÅÔº" + "¢ÅØ¡" + "¢ÅØ¡¢ÅÑ¡" + "¢ÅØ¡¢ÅÔ¡" + "¢Åغ" + "¢ÅØÁ" + "¢ÅØèÂ" + "¢Ç§" + "¢Ç´" + "¢Ç¹¢ÇÒÂ" + "¢Çº" + "¢ÇÂ" + "¢ÇÑ¡ä¢Çè" + "¢ÇÑ­" + "¢ÇÑ´" + "¢ÇѺ" + "¢ÇѺà¢ÇÕÂÇ" + "¢ÇÑé¹" + "¢ÇÒ" + "¢ÇÒ¡" + "¢ÇÒ§" + "¢ÇÒ´" + "¢ÇÒ¹" + "¢ÇÒ¢ǹ" + "¢ÇÔ´" + "¢ÇéÒ§" + "¢Í" + "¢Í¡" + "¢Í§" + "¢Í´" + "¢Í¹" + "¢Íº" + "¢Íº¤Ø³" + "¢Íºã¨" + "¢ÍÁ" + "¢ÐÁÍÁ¢ÐáÁÁ" + "¢ÐÁÑ¡à¢Áé¹" + "¢ÐÁØ¡¢ÐÁÍÁ" + "¢ÐÂÔ¡" + "¢ÐÂØ¡" + "¢ÐàÂéÍá¢Âè§" + "¢ÐáÂÐ" + "¢Ñ§" + "¢Ñ³±Ê¡Ã" + "¢Ñ³±ÊÕÁÒ" + "¢Ñ´" + "¢ÑµµÔÂÁÒ¹Ð" + "¢Ñ¹" + "¢Ñ¹ªÐà¹ÒÐ" + "¢Ñ¹µÔ" + "¢Ñ¹·Õ" + "¢Ñ¹¸ì" + "¢Ñ¹ËÁÒ¡" + "¢Ñ¹âµ¡" + "¢Ñº" + "¢ÑÂ" + "¢Ñé¹" + "¢ÑéÇ" + "¢Ò" + "¢Ò¡" + "¢Ò¡êÇÂ" + "¢Ò§" + "¢Ò´" + "¢Ò¹" + "¢Òº" + "¢ÒÁ" + "¢ÒÂ" + "¢ÒÅ" + "¢ÒÇ" + "¢Ó" + "¢Ô¡" + "¢Ô§" + "¢ÔÁ" + "¢Ôè§" + "¢Õ´" + "¢Õ»¹ÒÇظ" + "¢Õè" + "¢Õé" + "¢ÕéàËÃè" + "¢Ö§" + "¢Öé§" + "¢Öé¹" + "¢Ö鹩èÒÂ" + "¢×¹" + "¢×è¹" + "¢×èÍ" + "¢Ø¡" + "¢Ø´" + "¢Ø¹" + "¢Ø¹·Í§" + "¢Ø¹á¼¹" + "¢ØÁ" + "¢ØÂ" + "¢Øè¹" + "¢Ù´" + "¢Ùè" + "¢âÁÂ" + "¢èÁ" + "¢èǹ" + "¢èÍ" + "¢è͹" + "¢èÍÂ" + "¢èÒ" + "¢èÒ§" + "¢èÒÂ" + "¢èÒÇ" + "¢èÒÇÊÒÃ" + "¢é¹" + "¢éÍ" + "¢éͧ" + "¢é͹" + "¢éÍÁÙÅ" + "¢éÍÂ" + "¢éÒ" + "¢éÒ§" + "¢éÒ¾à¨éÒ" + "¢éÒÁ" + "¢éÒÇ" + "¢éÒÇÊÒÃ" + "¢éÒÇàÁèÒ" + "¢éÒÇâ¾´" + "¢éÒÈÖ¡" + "¢éÒËÅǧ" + "¤¤¹ÑÁ¾Ã" + "¤¤¹Ò§¤ì" + "¤¤¹Ò¹µì" + "¤§" + "¤§¤Ò" + "¤ªÃÒª" + "¤ªÊÒÃ" + "¤ªÒªÒµÔ" + "¤ªÒªÕ¾" + "¤ªÒ¸ÒÃ" + "¤ªÒÀóì" + "¤³¹Ò" + "¤³º´Õ" + "¤³Ð" + "¤³Ò¨ÒÃÂì" + "¤³Ò¸Ô¡ÒÃ" + "¤³Ò¸Ô»äµÂ" + "¤³Ò¹Ñº" + "¤³Ô¡Ò" + "¤³Ôµ" + "¤³ÔµÈÒʵÃì" + "¤´" + "¤´Õ" + "¤µÔ" + "¤µÔ¸ÃÃÁ" + "¤µÔ¾¨¹ì" + "¤·Ò" + "¤¹" + "¤¹¸Ãþì" + "¤¹â·" + "¤º" + "¤Á" + "¤Á¹Ò¡ÒÃ" + "¤Á¹Ò¤Á" + "¤Ã¡" + "¤Ãº" + "¤ÃêԵ" + "¤ÃÃÀ" + "¤ÃÃÀì" + "¤ÃÃÅͧ" + "¤ÃÃâŧ" + "¤ÃÃäÅ" + "¤ÃÇ­" + "¤ÃÇÑ¡" + "¤ÃÇÕ" + "¤ÃËÒ" + "¤ÃÍ¡" + "¤Ãͧ" + "¤Ãͧá¤Ã§" + "¤Ãͺ" + "¤Ãͺ¤ÃÑÇ" + "¤ÃÐ" + "¤ÃÑ´à¤Ãè§" + "¤Ãѹ" + "¤ÃѺ" + "¤ÃÑÇ" + "¤ÃÑè§" + "¤ÃÑè¹" + "¤ÃÑé§" + "¤ÃÑé¹" + "¤ÃÒ" + "¤ÃÒ¡" + "¤ÃÒ§" + "¤ÃÒ­" + "¤ÃÒ´" + "¤ÃÒº" + "¤ÃÒÁ" + "¤ÃÒÇ" + "¤ÃÒÊ" + "¤ÃÓ" + "¤ÃÔʵ¡ÒÅ" + "¤ÃÔʵѧ" + "¤ÃÔʵì" + "¤ÃÔʵìÁÒÊ" + "¤ÃÔÊàµÕ¹" + "¤ÃÕº" + "¤ÃÕÁ" + "¤ÃÖ" + "¤ÃÖ¡¤Ã×é¹" + "¤ÃÖ¡â¤ÃÁ" + "¤ÃÖ¹" + "¤ÃÖÁ" + "¤ÃÖè§" + "¤ÃÖéÁ" + "¤Ã×´" + "¤Ã×¹" + "¤Ã×Í" + "¤Ã×é¹" + "¤Ã×鹤ÃÖ¡" + "¤ÃØ" + "¤Ãر" + "¤ÃØÁà¤Ã×Í" + "¤ÃØÂ" + "¤ÃØè¹" + "¤ÃÙ" + "¤ÃÙ´" + "¤ÃÙè" + "¤Ãè§" + "¤ÃèÍÁ" + "¤ÃèÒ" + "¤ÃèÒÇ" + "¤ÃèÓ" + "¤ÃéÒ¹" + "¤ÃéÒÁ" + "¤ÄË" + "¤ÄËÑʶì" + "¤ÄËÒʹì" + "¤ÅÍ" + "¤ÅÍ¡" + "¤Åͧ" + "¤ÅÍ´" + "¤Å͹" + "¤ÅÍÃÕ¹" + "¤ÅÍâÿÍÃìÁ" + "¤ÅÍâÿÕÅÅì" + "¤ÅÐ" + "¤ÅÑ¡" + "¤Åѧ" + "¤Åѵªì" + "¤ÅѺ" + "¤ÅÑè¡" + "¤ÅÑè§" + "¤ÅÒ" + "¤ÅÒ§á¤Å§" + "¤ÅÒ´" + "¤ÅÒ¹" + "¤ÅÒÂ" + "¤ÅÒÊ" + "¤ÅÒÊÊÔ¤" + "¤ÅÓ" + "¤ÅÔ¹Ô¡" + "¤ÅÔé¡" + "¤ÅÕ" + "¤ÅÕ¹Ô¤" + "¤ÅÕè" + "¤ÅÖ§" + "¤Å×è¹" + "¤Å×è¹àËÕ¹" + "¤Å×è¹äÊé" + "¤ÅØ¡" + "¤ÅØÁ" + "¤ÅØèÁ" + "¤ÅØé§" + "¤ÅØéÁ" + "¤Åèͧ" + "¤Åèͧá¤ÅèÇ" + "¤ÅèÓ" + "¤Åéͧ" + "¤ÅéÍÂ" + "¤ÅéÒÂ" + "¤ÅéÓ" + "¤Ç§" + "¤Çº" + "¤ÇÃ" + "¤ÇÑ¡" + "¤Çѹ" + "¤ÇÑè¹" + "¤ÇÒ¡" + "¤ÇÒ­" + "¤ÇÒ¹" + "¤ÇÒÁ" + "¤ÇÒÂ" + "¤ÇÔ¹Ô¹" + "¤ÇÕ¹" + "¤ÇèÓ" + "¤ÇéÒ" + "¤ÇéÒ§" + "¤ÇéÒ¹" + "¤Ë¡ÃÃÁ" + "¤Ë¡ÃÃÁÈÒʵÃì" + "¤Ëº´Õ" + "¤Ë»µÒ¹Õ" + "¤Í" + "¤Í¡" + "¤Í´" + "¤Í¹" + "¤Í¹¡ÃÕµ" + "¤Í¹¿Ô¡" + "¤Í¹à´¹à«ÍÃì" + "¤Í¹àÊÔÃìµ" + "¤Í¹àÊÔÃì·" + "¤Í¹áǹµì" + "¤ÍÁ" + "¤ÍÁ¾ÔÇàµÍÃì" + "¤ÍÁÁÒ¹â´" + "¤ÍÁÁÔǹÔʵì" + "¤ÍÁᾤ" + "¤ÍÁâ¾à¹¹·ì" + "¤ÍÂ" + "¤ÍÂÅì" + "¤ÍÃÑ»ªÑè¹" + "¤ÍÃì«Ô¡Ò" + "¤ÍÃì´" + "¤ÍÃì»ÍàêÑè¹" + "¤ÍÅÑÁ¹ì" + "¤ÍʵÒÃÔ¡Ò" + "¤ÍफÍ´ì" + "¤ÍàÅÊàµÍÃÍÅ" + "¤Ð" + "¤Ð¹Í§" + "¤Ð¹Ö§" + "¤Ð¹éÒ" + "¤ÐÁÓ" + "¤ÐÂÑ鹤ÐÂÍ" + "¤Ðà¹" + "¤ÐàÂÍ" + "¤Ðá¹¹" + "¤Ñ¡" + "¤Ñ¤¹ÑÁ¾Ã" + "¤Ñ¤¹Ò§¤ì" + "¤Ñ¤¹Ò¹µì" + "¤Ñ³±ÊÙµÃ" + "¤Ñ´" + "¤Ñ·ÅÕÂÒ" + "¤Ñ¹" + "¤Ñ¹©ÒÂ" + "¤Ñ¹·Ã§" + "¤Ñº" + "¤ÑÁÀÕÃÀÒ¾" + "¤ÑÁÀÕÃì" + "¤Ñè¡" + "¤Ñè§" + "¤Ñè¹" + "¤ÑèÇ" + "¤Ñé¹" + "¤Ò" + "¤Ò§" + "¤Ò§¤¡" + "¤Ò´" + "¤Ò¶Ò" + "¤Ò·ÍÅÔ¡" + "¤Ò¹" + "¤Òº" + "¤ÒÁ" + "¤ÒÁÇÒÊÕ" + "¤ÒÂ" + "¤ÒÃÁ" + "¤ÒÃÇÐ" + "¤ÒÃÒÇÒ¹" + "¤ÒÃÒàµé" + "¤ÒÃÒâÍà¡Ð" + "¤ÒÃì" + "¤ÒÃìºÍ¹" + "¤ÒÃìºÍ¹Á͹͡䫴ì" + "¤ÒÃìºÍ¹ä´ÍÍ¡ä«´ì" + "¤ÒÃìºÍÅÔ¡" + "¤ÒÃìºÍ๵" + "¤ÒÃìºÙàÃàµÍÃì" + "¤ÒÃìÅ" + "¤ÒÃìâºäÎà´Ãµ" + "¤ÒÇ" + "¤ÒÇÕ" + "¤Òà¸Âì" + "¤Òà¿è" + "¤Ó" + "¤Ó¹Ç³" + "¤Ó¹Ñº" + "¤Ó¹Ö§" + "¤Óù" + "¤Óú" + "¤ÓÃÒÁ" + "¤Óá˧" + "¤Óãµé" + "¤Ô¡" + "¤Ô§" + "¤Ô´" + "¤ÔÁËѹµì" + "¤ÔÇ" + "¤ÔéÇ" + "¤Õµ" + "¤Õ¹ÂÒ" + "¤Õº" + "¤ÕÁ" + "¤ÕÂì" + "¤ÕÂìºÍÃì´" + "¤ÕÃÕ" + "¤Õè" + "¤Ö¡" + "¤Ö¡¤Ñ¡" + "¤Öè¡" + "¤×¹" + "¤×º" + "¤×Í" + "¤Ø" + "¤Ø¡" + "¤Ø¡¡Õé" + "¤Ø³" + "¤Ø³¸ÃÃÁ" + "¤Ø³ÀÒ¾" + "¤Ø³ÇزÔ" + "¤Ø³ÈѾ·ì" + "¤Ø³ÊÁºÑµÔ" + "¤Ø³Ò¡Ã" + "¤Ø³Ù»¡ÒÃ" + "¤Ø´" + "¤Ø´·ÐÃÒ´" + "¤ØÁ" + "¤ØÂ" + "¤ØÃØ" + "¤Øâ³»¡ÒÃ" + "¤ØèÁ" + "¤Øé§" + "¤Øé¹" + "¤ØéÁ" + "¤ØéÂ" + "¤Ù" + "¤Ù³" + "¤Ù¹" + "¤Ù»Í§" + "¤ÙËÒ" + "¤Ùè" + "¤Ùé" + "¤à¹¨Ã" + "¤çÍ¡à·Å" + "¤è͹" + "¤èÍÁ" + "¤èÍÂ" + "¤èÐ" + "¤èÒ" + "¤èÒ§" + "¤èÒÂ" + "¤èÓ" + "¤é¹" + "¤é͹" + "¤éÍÁ" + "¤éÒ" + "¤éÒ§" + "¤éÒ§¤ÒÇ" + "¤éÒ§àµÔè§" + "¤éÒ¹" + "¤éÓ" + "¦ÃÒÇÒÊ" + "¦Òµ" + "¦Òµ¡Ã" + "¦Òµ¡ÃÃÁ" + "¦èÒ" + "¦éͧ" + "§¡" + "§§" + "§§§ÇÂ" + "§´" + "§º" + "§Á" + "§Ç§" + "§Ç´" + "§Ç§§" + "§Í" + "§Í¡" + "§Í¡á§¡" + "§Í´" + "§Í´á§´" + "§Í¹" + "§Í¹Ë§èÍ" + "§Íº" + "§ÍÁ" + "§ÍÂ" + "§Íá§" + "§Ð" + "§Ñ¡" + "§Ñ´" + "§Ñ¹" + "§Ñº" + "§ÑÇ" + "§ÑÇà§ÕÂ" + "§Ñè¡" + "§Ñè§" + "§ÑèÇ" + "§Ò" + "§Ò¹" + "§Òº" + "§ÒÁ" + "§ÒÂ" + "§Ó" + "§ÔéÇ" + "§Õº" + "§Ö¡" + "§ÖÁ" + "§ÖÁ§Ó" + "§Ø´" + "§Ø¹§§" + "§Øº" + "§Øº§Ôº" + "§ØÂ" + "§Ø蹧èÒ¹" + "§ØèÁ§èÒÁ" + "§ØéÁ" + "§Ù" + "§ÙÊÇÑ´" + "§èǧ" + "§èǹ" + "§èͧ" + "§è͹" + "§èÍÂ" + "§èÒ" + "§èÒ¹" + "§èÒÁ" + "§èÒÂ" + "§èÓ" + "§éǹ" + "§éÍ" + "§éÍÁ" + "§éÒ§" + "§éÒÇ" + "§éÓ" + "¨¡" + "¨§" + "¨§¡Å¹Õ" + "¨§ÍÒ§" + "¨´" + "¨µØ" + "¨µØç¤ì" + "¨µØþԸ" + "¨µØÊ´ÁÀì" + "¨¹" + "¨º" + "¨Á" + "¨ÁÙ¡" + "¨Ã" + "¨Ã¨Ñ´" + "¨Ã´" + "¨ÃÃÂÒ" + "¨ÃÃâŧ" + "¨ÃÅÕ" + "¨ÃÇ´" + "¨ÃÐà¢é" + "¨ÃÑÅ" + "¨ÃÑÊ" + "¨ÃÒ¨Ã" + "¨ÃÔ§" + "¨ÃÔµ" + "¨ÃÔ¸ÃÃÁ" + "¨ÃÔÂÈÒʵÃì" + "¨ÃÔÂÈÖ¡ÉÒ" + "¨ÃÔÂÒ" + "¨Ãا" + "¨ÃÙ­" + "¨Å" + "¨Å¹¾ÅÈÒʵÃì" + "¨Å¹ÈÒʵÃì" + "¨ÅÒ¨Å" + "¨Ç¡" + "¨Ç§" + "¨Ç¹" + "¨Çº" + "¨ÇÑ¡" + "¨Í" + "¨Í¡" + "¨Í§" + "¨Í§Ëͧ" + "¨Í´" + "¨Í¹" + "¨Íº" + "¨ÍÁ" + "¨ÍÃìá´¹" + "¨Íá¨" + "¨Ð" + "¨Ð¡ÅÐ" + "¨Ð¡ÅÒÁ" + "¨ÐÅÐËÇÑè¹" + "¨ÐÅÐàÁç´" + "¨Ðà¢é" + "¨Ñ¡" + "¨Ñ¡¢Ø" + "¨Ñ¡¨Ñè¹" + "¨Ñ¡Ã" + "¨Ñ¡Ã¾ÃôÔ" + "¨Ñ¡ÃÀ¾" + "¨Ñ¡ÃÂÒ¹" + "¨Ñ¡ÃÇÃôÔ" + "¨Ñ¡ÃÇÒÅ" + "¨Ñ¡ÃÕ" + "¨Ñ¡ÉØ" + "¨Ñ¡áËÅè¹" + "¨Ñ§" + "¨Ñ§¡Íº" + "¨Ñ§¡éÒ" + "¨Ñ§§Ñ§" + "¨Ñ§ËÇÐ" + "¨Ñ§ËÇÑ´" + "¨Ñ§Ëѹ" + "¨Ñ§äÃ" + "¨Ñ­äÃ" + "¨Ñ³±ÒÅ" + "¨Ñ³±ì" + "¨Ñ´" + "¨Ñ´¡ÒÃ" + "¨ÑµÇÒ" + "¨ÑµØÃÑÊ" + "¨Ñ¹" + "¨Ñ¹·¹ì" + "¨Ñ¹·ºØÃÕ" + "¨Ñ¹·Ã" + "¨Ñ¹·Ã¤µÔ" + "¨Ñ¹·Ã¤ÃÒÊ" + "¨Ñ¹·ÃØ»ÃÒ¤Ò" + "¨Ñ¹·Ãì" + "¨Ñº" + "¨Ñº¡Ñ§" + "¨Ñº©èÒÂ" + "¨Ñè¹" + "¨ÑèÇ" + "¨Ñé¡" + "¨ÑꡨÕé" + "¨Ñê¡à´ÕÂÁ" + "¨ÑêÇÐ" + "¨Ò¡" + "¨Ò§" + "¨Ò´" + "¨ÒµØç¤Êѹ¹ÔºÒµ" + "¨Ò¹" + "¨Òº" + "¨ÒºÑÅ" + "¨ÒºÑÅÂì" + "¨ÒÁ" + "¨ÒÁ¨ØÃÕ" + "¨ÒÁÃ" + "¨ÒÁÃÕ" + "¨ÒÃ" + "¨ÒÃкÕ" + "¨ÒÃÐä¹" + "¨ÒÃÔ¡" + "¨ÒÃÕ" + "¨ÒÃÕµ" + "¨ÒÃÖ¡" + "¨ÒÇ" + "¨ÒÇÒ" + "¨ÒàÁ¡Ò" + "¨Ó" + "¨Ó¡Ñ´" + "¨Ó¹§" + "¨Ó¹¹" + "¨Ó¹ÃèÒ" + "¨Ó¹Ãèì" + "¨Ó¹Ç¹" + "¨Ó¹Í§" + "¨Ó¹Ó" + "¨Ó»Ò" + "¨Ó»Õ" + "¨Ó¾Ç¡" + "¨ÓÃÑÊ" + "¨ÓÃÙ­" + "¨ÓÅͧ" + "¨Ó˹èÒÂ" + "¨ÓÍÇ´" + "¨Óà¾ÒÐ" + "¨ÓàÃÔ­" + "¨ÓàÃÕ§" + "¨ÓàÅÂ" + "¨Óṡ" + "¨Ô¡" + "¨Ô§â¨é" + "¨Ôµ" + "¨ÔµÃ" + "¨ÔµÃ¡Ã" + "¨ÔµÃ¡ÃÃÁ" + "¨ÔµÃÅ´Ò" + "¨ÔµÇÔ·ÂÒ" + "¨ÔµàǪ" + "¨Ôµá¾·Âì" + "¨Ô¹´Ò" + "¨Ô¹µ¡ÇÕ" + "¨Ô¹µ¹Ò" + "¨Ô¹µ¹Ò¡ÒÃ" + "¨Ô¹µÀÒ¾" + "¨Ôº" + "¨Ô»Ò¶Ð" + "¨ÔèÁ" + "¨Ô駨¡" + "¨Ô駨͡" + "¨Ôé§ËÃÕ´" + "¨Ôé§àËŹ" + "¨ÔéÁ" + "¨ÔëÇ" + "¨Õ¹" + "¨Õ¹áÊ" + "¨Õº" + "¨ÕÇÃ" + "¨Õè" + "¨Õé" + "¨Õê" + "¨Õê´" + "¨Õë" + "¨Ö§" + "¨Öè§" + "¨Öé§" + "¨×´" + "¨Ø" + "¨Ø¡" + "¨Ø´" + "¨ØµÔ" + "¨Ø¹" + "¨Øº" + "¨Øº¨Ôº" + "¨ØÁ¾¯" + "¨ØÁ¾Ôµ" + "¨ØŨÍÁ" + "¨ØŪվ" + "¨ØŪÕÇѹ" + "¨ØŪÕÇÔ¹" + "¨ØÅ·ÃÃȹì" + "¨ØÅÀÒ¤" + "¨ØÅÇÃä" + "¨ØÅÈÑ¡ÃÒª" + "¨ØÅÊÒÃ" + "¨ØÅÔ¹·ÃÕÂì" + "¨ØÌÒ" + "¨ØÌÒŧ¡Ã³ì" + "¨Øè§" + "¨Øè¹" + "¨ØèÁ" + "¨Øé¹" + "¨Ø鹨Ùê" + "¨ØéÁ" + "¨ØéÂ" + "¨Øê¡¡ÃÙê" + "¨Øêº" + "¨Øêºá¨§" + "¨Ø맨Ôë§" + "¨ØëÁ¨ÔëÁ" + "¨Ù" + "¨Ù§" + "¨Ùº" + "¨Ùè" + "¨Ùé" + "¨Ùê´" + "¨Ùë" + "¨àÃ" + "¨èÍ" + "¨èÍÁ" + "¨èÒ" + "¨èÒ§" + "¨èÒÂ" + "¨é¹" + "¨éǧ" + "¨éÍ" + "¨éÍ¡" + "¨éÍ¡á¨é¡" + "¨éͧ" + "¨é͹" + "¨éÍÂ" + "¨éÐ" + "¨éÒ" + "¨éÒ§" + "¨éÒ¹" + "¨éÒÅÐËÇÑè¹" + "¨éÒÇ" + "¨éÓ" + "¨éÓ¨Õé" + "¨éÓÁèÓ" + "¨êÍ¡" + "¨êÐ" + "¨ëÍ" + "¨ëͧ" + "¨ëÍÂ" + "¨ëÐ" + "¨ëÒ" + "©¡" + "©¡Ãèì" + "©¡ÉѵÃÔÂì" + "©¡Ò¨" + "©¡ÒÁÒ¾¨Ã" + "©§¹" + "©§ÒÂ" + "©¹Ç¹" + "©¹Ñ§" + "©¹Ò¡" + "©¹Ó" + "©ºÑ§" + "©ºÑº" + "©Á" + "©ÁÇ¡" + "©Áѧ" + "©ÁÒ" + "©ÁÓ" + "©Å" + "©ÅÇÂ" + "©Åͧ" + "©ÅÍÁ" + "©ÅÑ¡" + "©ÅÒ¡" + "©ÅÒ´" + "©ÅÒÁ" + "©ÅÒÂ" + "©ÅÔÇ" + "©ÅØ" + "©ÅØ¡©ÅÇÂ" + "©ÅÙ" + "©ÇÂ" + "©ÇÑ´à©ÇÕ¹" + "©ÇÒ§" + "©ÇÕ" + "©È¡" + "©Í¡" + "©Í´" + "©ÍàÅÒÐ" + "©Ð" + "©Ð©Ò¹" + "©Ð¹Ñé¹" + "©Ð¹Õé" + "©ÐÍé͹" + "©ÑµÃ" + "©Ñ¹" + "©Ñ¹·Åѡɳì" + "©Ñ¹·Ð" + "©Ñ¹·Ò" + "©Ñ¹·Ò¹ØÁѵÔ" + "©Ñ¹·ì" + "©Ñº" + "©Ò¡" + "©Ò§" + "©Ò´" + "©Ò¹" + "©Òº" + "©ÒÂ" + "©ÒÂÒ" + "©ÒÇ" + "©Ó©Ò" + "©Ô¹" + "©Ôº" + "©ÔÁ¾ÅÕ" + "©ÔÇ" + "©Ôè§" + "©Õ¡" + "©Õ´" + "©Õè" + "©Ø" + "©Ø¡" + "©Ø¡à©Ô¹" + "©Ø´" + "©Ø¹" + "©ØÂ" + "©Ù´" + "©Ùè" + "©èͧ" + "©èÍÂ" + "©èÒ" + "©èÒ§" + "©èÓ" + "©éÍ" + "ª¡" + "ª§" + "ª§â¤" + "ª®Ò" + "ª´" + "ª¹" + "ª¹¡" + "ª¹¹Õ" + "ª¹Á¾ÃÃÉÒ" + "ª¹Áì" + "ª¹Ç¹" + "ª¹Ð" + "ª¹Ñ¡" + "ª¹Ô´" + "ªºÒ" + "ªÁ" + "ªÁ´ªÁéÍÂ" + "ªÁ¾Ù" + "ªÁ¾Ù¹·" + "ªÁ¾Ù¹Ø·" + "ªÁ¾Ùè" + "ªÁÃÁ" + "ªÁÒ" + "ªÁéÍÂ" + "ªÁéÒÂ" + "ªÂ" + "ªÃ" + "ªÃÐ" + "ªÃÑÇ" + "ªÃÒ" + "ªÅ" + "ªÅ¸ÒÃ" + "ªÅ¸Õ" + "ªÅ¹Ò" + "ªÅ»Ãзҹ" + "ªÅÒÅÑÂ" + "ªÅÒÈÑÂ" + "ªÇ" + "ªÇ´" + "ªÇ¹" + "ªÇÃ" + "ªÇÅÔµ" + "ªÇÒ" + "ªÇÒÅ" + "ªÍ¡" + "ªÍ¡ªéÓ" + "ªÍ§" + "ªÍ¹" + "ªÍº" + "ªÍ»»Ôé§" + "ªÍÁ" + "ªÍÅì¡" + "ªÍ×éÍ" + "ªÍØèÁ" + "ªÍèÓ" + "ªÐ" + "ªÐ§Ñ¡" + "ªÐ§Ñ´" + "ªÐ§ØéÁ" + "ªÐ§è͹" + "ªÐ§éÓ" + "ªÐµÒ" + "ªÐ¹Õ" + "ªÐÁ´" + "ªÐÁÑ´" + "ªÐÃÍÂ" + "ªÐÅÍ" + "ªÐÅÍÁ" + "ªÐÅÙ´" + "ªÐÅèÒ" + "ªÐà§éÍ" + "ªÐà¹ÒÐ" + "ªÐá§é" + "ªÐáŧ" + "ªÐ⧡" + "ªÐâ´" + "ªÑ¡" + "ªÑ§" + "ªÑªÇÒÅ" + "ªÑ¯" + "ªÑ´" + "ªÑ¹" + "ªÑ¹¹ÐµØ" + "ªÑ¹ÉÒ" + "ªÑ¹ÊÙµÃ" + "ªÑÂ" + "ªÑ¾ġÉì" + "ªÑÂÀÙÁÔ" + "ªÑè§" + "ªÑèÇ" + "ªÑèÇâÁ§" + "ªÑé¹" + "ªÑéÇ" + "ªÒ" + "ªÒ­" + "ªÒ´" + "ªÒ´¡" + "ªÒµÃÕ" + "ªÒµÐ" + "ªÒµÔ" + "ªÒ¹" + "ªÒ¹Ø" + "ªÒÁ" + "ªÒÂ" + "ªÒÂÒ" + "ªÒÅÒ" + "ªÒÇ" + "ªÒÇàÅ" + "ªÓ" + "ªÓ¹Ñ­" + "ªÓ¹Ò­" + "ªÓ¹Ô" + "ªÓÃÐ" + "ªÓÃØ´" + "ªÓÃèÇÂ" + "ªÓà¹Õ¹" + "ªÓà¹ÕÂÃ" + "ªÓàÃÒ" + "ªÓàÅ×ͧ" + "ªÓáËÅÐ" + "ªÔ" + "ªÔ¤Òâ¡" + "ªÔ§" + "ªÔ§ªéÒ" + "ªÔ´" + "ªÔ¹" + "ªÔ»" + "ªÔ¾" + "ªÔÁ" + "ªÔÁỹ«Õ" + "ªÔÇËÒ" + "ªÔè§" + "ªÔé¹" + "ªÕ" + "ªÕ»Ð¢ÒÇ" + "ªÕ¾" + "ªÕ¾ÔµÑ¡ÉÑÂ" + "ªÕÇ»ÃÐÇѵÔ" + "ªÕÇÇÔ·ÂÒ" + "ªÕÇÒµÁì" + "ªÕÇÒÅÑÂ" + "ªÕÇÔµ" + "ªÕÇԵѡÉÑÂ" + "ªÕÇÔ¹" + "ªÕÇÕ" + "ªÕÇà¤ÁÕ" + "ªÕé" + "ª×´" + "ª×è¹" + "ª×è¹Á×è¹" + "ª×èÍ" + "ª×é¹" + "ª×éÍ" + "ªØ¡" + "ªØ´" + "ªØ¹" + "ªØº" + "ªØÁ" + "ªØÁ¹ØÁ" + "ªØÁ¾Ã" + "ªØÅÁع" + "ªØÅÕ" + "ªØèÁ" + "ªØèÂ" + "ªØé§" + "ªÙ" + "ªÙé" + "ªâÂ" + "ªâÅ·Ã" + "ªâÅÁ" + "ªäÁ" + "ªçÍ¡â¡àŵ" + "ªçÍ¡â¡áŵ" + "ªèǧ" + "ªèÇÂ" + "ªèÍ" + "ªèͧ" + "ªè͹" + "ªèÒ§" + "ªèÓ" + "ªèӪͧ" + "ªéͧ" + "ªé͹" + "ªéÍÂ" + "ªéÒ" + "ªéÒ§" + "ªéÓ" + "«¡" + "«´" + "«¹" + "«º" + "«Á" + "«Ç´à«" + "«Ç¹" + "«ÇÂ" + "«Í" + "«Í¡" + "«Í§" + "«Í¹" + "«Í¿µìáÇÃì" + "«Í¿·ì" + "«Í¿·ìáÇÃì" + "«ÍÁ«èÍ" + "«ÍÂ" + "«ÍÊ" + "«Ñ¡" + "«Ñ§" + "«Ñ´" + "«Ñ¹" + "«Ñ¹µÒ¤ÅÍÊ" + "«Ñº" + "«Ñ¾¾ÍÃìµ" + "«ÑÅ¿Ò" + "«Ò" + "«Ò¡" + "«Ò¡ØÃÐ" + "«Ò§" + "«Ò¹" + "«Òº«Öé§" + "«Òº«èÒ¹" + "«ÒÁÙäÃ" + "«ÒÅÒà»Ò" + "«ÒÇ" + "«ÒÇ´ì" + "«Ô" + "«Ô¡" + "«Ô¡ÒÃì" + "«Ô¡á«ç¡" + "«Ô¹áÊ" + "«Ôº" + "«Ô»" + "«Ô¿ÔÅÔÊ" + "«ÔÅԤ͹" + "«ÔÇ" + "«Ôè¹" + "«Õ" + "«Õ¡" + "«Õ´" + "«Õ´Õ" + "«Õ¹Í¹" + "«ÕÃÍ¡«ì" + "«Õà¡ÁÊì" + "«ÕàÁ¹µì" + "«ÕàÃÕÂ" + "«Õè" + "«Õé" + "«Ö§" + "«ÖÁ" + "«Öè§" + "«Öé§" + "«×èÍ" + "«×éÍ" + "«Ø¡" + "«Ø§" + "«Ø¹" + "«Øº" + "«Ø»" + "«ØÂ" + "«ØèÁ" + "«ØèÁ«èÒÁ" + "«ØéÁ" + "«ÙªÔ" + "«Ù´«Ò´" + "«Ù´Ò¹" + "«Ùº" + "«Ùà»ÍÃìÁÒà¡çµ" + "«Ùâ¤ÃÊ" + "«Ùè" + "«è¡" + "«èͧ" + "«è͹" + "«èÍÁ" + "«èÒ" + "«èÒ¹" + "«èÒËÃÔèÁ" + "«é¹" + "«éͧ" + "«é͹" + "«éÍÁ" + "«éÒÂ" + "«éÓ" + "¬Ò¹" + "¬Ò»¹¡Ô¨" + "¬Ò»¹Ê¶Ò¹" + "­Ç¹" + "­ÑµµÔ" + "­Ò³" + "­ÒµÔ" + "­Õè»Øè¹" + "°Ò¹" + "°Ò¹Ð" + "°Ò¹Ñ¹´Ã" + "°Ò»¹Ò" + "´¡" + "´§" + "´¹µÃÕ" + "´¹â´è" + "´Á" + "´Ãê¹Õ" + "´ÃÒ¿µì" + "´Ãس" + "´ÃسÕ" + "´Å" + "´Ç§" + "´Ç´" + "´ÇÅ" + "´Í¡" + "´Í¡àºÕéÂ" + "´Í¡äÁé" + "´Í§" + "´Í´" + "´Í¹" + "´ÍÁ" + "´ÍÂ" + "´ÍÅÅÒÃì" + "´ÍÊ" + "´Ð" + "´Ñ¡" + "´Ñ¡´Ò¹" + "´Ñ¡á´é" + "´Ñ§" + "´Ñª¹Õ" + "´Ñ´" + "´Ñµ«ì" + "´Ñ¹" + "´Ñº" + "´ÑºàºÔéÅ" + "´ÑÁ¾ì" + "´ÑÊ¡Ã" + "´Ñè§" + "´Ñé§" + "´Ñé¹" + "´Ò" + "´Ò¡" + "´Ò´" + "´ÒµéÒ" + "´Ò¹" + "´Òº" + "´ÒºÊ" + "´ÒÁ" + "´ÒÁ¾ì" + "´ÒÂ" + "´ÒóÕ" + "´ÒôÒÉ" + "´ÒÃÒ" + "´ÒÃì" + "´ÒÅ" + "´ÒÅÑ´" + "´ÒÇ" + "´ÒÇ´Ö§Êì" + "´ÒǹìâËÅ´" + "´ÒÇ⨹Êì" + "´ÒÉ" + "´ÒÉ´Ò" + "´Ó" + "´Óç" + "´ÓÃÑÊ" + "´ÓÃÔ" + "´ÓÄɳÒ" + "´Óà¡Ô§" + "´Óà¹Ô¹" + "´Óᤧ" + "´Ô" + "´Ô¡" + "´Ô¨ÔµÍÅ" + "´Ô©Ñ¹" + "´Ô¶Õ" + "´Ô¹" + "´Ôº" + "´ÔÃѨ©Ò¹" + "´ÔÅ¡" + "´ÔÇÔªÑè¹" + "´ÔʹÕÂì" + "´ÔÊࡵ" + "´Ôè§" + "´ÔèÇ" + "´Ôé¹" + "´ÔéÇ" + "´Õ" + "´Õ¡ÃÕ" + "´Õ´" + "´Õ´Õ·Õ" + "´ÕºØ¡" + "´ÕÇÕ´Õ" + "´Õà«Å" + "´Õà»ÃʪÑè¹" + "´Õ䫹ì" + "´Õä«à¹ÍÃì" + "´Ö¡" + "´Ö¡´ÓºÃþì" + "´Ö§" + "´Ö§ÊÐ" + "´Öè§" + "´ÖèÁ" + "´×Í" + "´×è¹" + "´×èÁ" + "´×éÍ" + "´Ø" + "´Ø¡" + "´Ø¨" + "´Ø´" + "´Ø¹" + "´Øº" + "´ØÁ" + "´Øç¤ì" + "´ØÃÔÂÒ§¤ÈÒʵÃì" + "´ØÃÔÂÒ§¤ÈÔÅ»ì" + "´ØÃÔÂÒ§¤ì" + "´ØÅ" + "´ØžԹԨ" + "´ØÅÀÒ¤" + "´ØžԹԨ" + "´ØÅÂÀÒ¾" + "´ØÉ®Õ" + "´ØɳÕ" + "´ØÉÔµ" + "´ØÊÔµ" + "´ØàËÇèÒ" + "´ØèÁ" + "´ØèÂ" + "´Øé§" + "´Ø駴Ôé§" + "´Øé¹" + "´Ù" + "´Ù¡Ã" + "´Ù´" + "´ÙÃÒ" + "´èǹ" + "´è͹" + "´èÍÁ" + "´èÒ" + "´èÒ§" + "´èÒ¹" + "´èÒÇ" + "´èÓ" + "´é§" + "´é¹" + "´éǧ" + "´éǹ" + "´éÇÂ" + "´éÍÁ" + "´éÍÂ" + "´éÒ¹" + "´éÒÁ" + "´éÒÂ" + "´éÒÇ" + "´éÓ" + "µ¡" + "µ¡Å§" + "µ§" + "µ§©Ô¹" + "µ§Ô´" + "µ´" + "µ¶Ò¤µ" + "µ¹" + "µº" + "µºÐ" + "µÁ" + "µÃ§" + "µÃÁ" + "µÃÁµÃÍÁ" + "µÃáÇÔ·ÂÒ" + "µÃáÈÒʵÃì" + "µÃáÐ" + "µÃǨ" + "µÃǹ" + "µÃÍ¡" + "µÃͧ" + "µÃÍÁµÃÁ" + "µÃÍÁã¨" + "µÃÐ" + "µÃСÙÅ" + "µÃÐ˧èÒ¹" + "µÃÐ˹¡" + "µÃÐ˹ѡ" + "µÃÐ˹Õè" + "µÃÐàǹ" + "µÃѧ" + "µÃѺ" + "µÃÑÂ" + "µÃÑÊ" + "µÃÒ" + "µÃÒ¡µÃÓ" + "µÃÒº" + "µÃÒÊѧ" + "µÃÓ" + "µÃÔ" + "µÃÕ" + "µÃÕÂÑÁ»ÇÒÂ" + "µÃÕ⡳" + "µÃÖ¡" + "µÃÖ§" + "µÃØ" + "µÃØÉ" + "µÃÙ" + "µÃÙè" + "µÄ³" + "µÅ¡" + "µÅº" + "µÅÍ´" + "µÅѺ" + "µÅÒ´" + "µÅÔè§" + "µÇ§" + "µÇÑ´" + "µÇÒ´" + "µÍ" + "µÍ¡" + "µÍ§" + "µÍ´" + "µÍ¹" + "µÍº" + "µÍÁ" + "µÍÃì" + "µÍÃì»Ôâ´" + "µÍáÂ" + "µÍáËÅ" + "µÐ" + "µÐ¡Ãѹ" + "µÐ¡ÃØ´" + "µÐ¡ÃØÁ" + "µÐ¡ÃéÍ" + "µÐ¡ÃéÒ" + "µÐ¡ÅÐ" + "µÐ¡ÅÒÁ" + "µÐ¡Í¹" + "µÐ¡Ñ§" + "µÐ¡ÑèÇ" + "µÐ¡Ø¡µÐ¡Ñ¡" + "µÐ¢Í" + "µÐ¢Òº" + "µÐ¢Ô´µÐ¢Ç§" + "µÐ¤ÃÔÇ" + "µÐ¤Ãغ" + "µÐ¤Í¡" + "µÐ¹ÍÂ" + "µÐºÍ§" + "µÐºÍÂ" + "µÐºÑ¹" + "µÐ»ØèÁµÐ»èÓ" + "µÐ¾Òº" + "µÐ¾Ö´" + "µÐ¾Ö´µÐ¾×Í" + "µÐ¾Øè¹" + "µÐÅÕµÐÅÒ¹" + "µÐÅÖ§" + "µÐÅا" + "µÐÅØÁºÍ¹" + "µÐÅØÁ¾Ø¡" + "µÐÅèÍÁ" + "µÐÇѹ" + "µÐËÅÔÇ" + "µÐà¡Õ¡µÐ¡ÒÂ" + "µÐà¡Õ§" + "µÐà¡Õº" + "µÐà¢çº" + "µÐà¤Õ¹" + "µÐà¦è" + "µÐàºç§" + "µÐà¾Ô´" + "µÐà¾Ôè¹" + "µÐà¾Õ¹" + "µÐàÀÒ" + "µÐàŧ" + "µÐá¡Ã§" + "µÐᤧ" + "µÐầ" + "µÐâ¡" + "µÐâ¡¡" + "µÐ⡹" + "µÐâ¡é" + "µÐ⢧" + "µÐâºÁ" + "µÐ⾡" + "µÐâ˧¡" + "µÐä¡Ã" + "µÐä¤Ãè" + "µÐä¤Ãé" + "µÐäº" + "µÐäÅ" + "µÑ¡" + "µÑ¡ÉÑÂ" + "µÑ§" + "µÑ§©èÒÂ" + "µÑ§à¡" + "µÑ§àÁ" + "µÑ§âÍë" + "µÑ³ËÒ" + "µÑ´" + "µÑ´ÊÔ¹" + "µÑ¹" + "µÑ¹Ë§" + "µÑº" + "µÑÇ" + "µÑè§" + "µÑé§" + "µÑé§áµè" + "µÑéÇâ¼" + "µÑê¡áµ¹" + "µÑëÇ" + "µÒ" + "µÒ¡" + "µÒ´" + "µÒ¹" + "µÒ¹Õ" + "µÒº" + "µÒÁ" + "µÒÂ" + "µÒÅ" + "µÒŻѵÃ" + "µÓ" + "µÓ¹Ò¹" + "µÓºÅ" + "µÓÃǨ" + "µÓÃѺ" + "µÓÃÒ" + "µÓÅÖ§" + "µÓ˹ѡ" + "µÓ˹Ô" + "µÓáÂ" + "µÓá˹è§" + "µÔ" + "µÔ¡ÒËÃѧ" + "µÔ§" + "µÔ³" + "µÔ´" + "µÔÃѨ©Ò¹" + "µÔÅ¡" + "µÔè§" + "µÔéÇ" + "µÔê¡" + "µÔë§" + "µÕ" + "µÕ¹" + "µÕº" + "µÕè" + "µÕë" + "µÖ" + "µÖ¡" + "µÖ§" + "µÖ´µ×ëÍ" + "µÖé¡" + "µÖ页Ñé¡" + "µÖê´µ×ëÍ" + "µ×´" + "µ×ÍÎǹ" + "µ×è¹" + "µ×é¹" + "µ×éÍ" + "µ×êÍ" + "µ×ëÍ" + "µØ" + "µØ¡µÔ¡" + "µØ§" + "µØ¹" + "µØ¹Ò˧ѹ" + "µØº" + "µØáÕ" + "µØÅÒ" + "µØÅÒ¡ÒÃ" + "µØÅÒ¤Á" + "µØËÃÑ´µØàËÃè" + "µØè¹" + "µØèÁ" + "µØèÂ" + "µØ駡èÒ" + "µØ駵Ôé§" + "µØéº" + "µØéÁ" + "µØéÂ" + "µØê" + "µØê¡" + "µØ꡵Ò" + "µØê¡á¡" + "µØê´" + "µØêµêÐ" + "µØ꺻èͧ" + "µØêÂ" + "µØë¹" + "µØëÁ" + "µØëµØèÂ" + "µÙ" + "µÙ¡" + "µÙ´" + "µÙº" + "µÙÁ" + "µÙè" + "µÙé" + "µèǹ" + "µèÍ" + "µèͧáµè§" + "µèÍÁ" + "µèÍÂ" + "µèÒ§" + "µèÓ" + "µé¹" + "µéÁ" + "µéÇÁàµÕéÂÁ" + "µéÍ" + "µéͧ" + "µéͧàµ" + "µé͹" + "µéÍÂ" + "µé͵Ôè§" + "µé͵ÕÇÔ´" + "µéÒ¹" + "µêÍ¡" + "µêÍ¡µëÍÂ" + "µë§" + "µëÍÁ" + "¶¡" + "¶´" + "¶¹¹" + "¶¹ÍÁ" + "¶¹Ñ´" + "¶¹Ñ´¶¹Õè" + "¶¹ÔÁ" + "¶Á" + "¶ÁÖ§·Ö§" + "¶Å¡" + "¶Å¹" + "¶ÅÍ¡" + "¶Åѹ" + "¶ÅÒ" + "¶ÅÒ¡" + "¶ÅÓ" + "¶ÅÕ¶ÅÓ" + "¶ÅÖ§µÒ" + "¶Åا" + "¶Åع" + "¶ÅèÁ" + "¶ÇÑÅÂì" + "¶ÇÒÂ" + "¶ÇÔÅ" + "¶Í¡" + "¶Í§" + "¶Í´" + "¶Í¹" + "¶ÍÂ" + "¶Ð" + "¶Ñ¡" + "¶Ñ§" + "¶Ñ´" + "¶Ñ¹" + "¶ÑÇ" + "¶ÑèÇ" + "¶Ò" + "¶Ò¡" + "¶Ò§" + "¶Ò´" + "¶Ò¹" + "¶ÒÁ" + "¶ÒÇÃ" + "¶Ôè¹" + "¶Õº" + "¶Õè" + "¶Ö¡" + "¶Ö§" + "¶×Í" + "¶Ø§" + "¶Ø¹" + "¶ØÂ" + "¶Ù" + "¶Ù¡" + "¶èÁ" + "¶èǧ" + "¶èÍ" + "¶èͧ" + "¶èÍÁ" + "¶èÍÂ" + "¶èÒ§" + "¶èÒ¹" + "¶èÒÂ" + "¶éǹ" + "¶éÇÂ" + "¶éÍÂ" + "¶éÒ" + "¶éÓ" + "·¡" + "·¡ÅéÒ" + "·´" + "·¹" + "·¹µì" + "·¹ÒÂ" + "·¹â·è" + "·º" + "·º·Ç¹" + "·ºÇ§" + "·ÁÔÌ" + "·ÂÍÂ" + "·Ã¡ÃÃÁ" + "·Ã§" + "·Ãª¹" + "·ÃªÒµÔ" + "·Ã¾ÔÉ" + "·Ã¾Õ" + "·ÃÁÒ¹" + "·ÃÂÈ" + "·ÃÂؤ" + "·Ãû" + "·ÃÃȹÐ" + "·ÃÃÒª" + "·ÃÅѡɳì" + "·Ãǧ" + "·ÃÇ´·Ã§" + "·ÃË´" + "·ÃѾÂÒ¡Ã" + "·ÃѾÂì" + "·ÃѾÂìÊÔ¹" + "·ÃÑÁà»çµ" + "·ÃÒ¹«ÔÊàµÍÃì" + "·ÃÒº" + "·ÃÒÁ" + "·ÃÒÂ" + "·ÃØ´" + "·ÄÉ®Õ" + "·ÅÒÂ" + "·Ç§" + "·Ç´" + "·Ç¹" + "·ÇÂ" + "·ÇÒ·È" + "·ÇÒÂ" + "·ÇÒÃ" + "·ÇÔ" + "·ÇÕ" + "·ÇÕ¸ÒÀÔàÉ¡" + "·ÇÕ»" + "·ÇèÒ" + "·È" + "·È¹ÔÂÁ" + "·ËÒÃ" + "·Í" + "·Í¡" + "·Í§" + "·Í§¡ÇÒÇ" + "·Í§ËÅÒ§" + "·Í´" + "·Í¹" + "·Í¹«ÔÅ" + "·Í¿¿Õè" + "·ÍÂ" + "·ÍÅì¤" + "·Ð¹§" + "·Ð¹Ò¹" + "·Ð¹Ø" + "·ÐÁÑ´·ÐáÁ§" + "·ÐÁÖ¹" + "·ÐÁ×è¹" + "·ÐÂÒ¹" + "·ÐÅǧ" + "·ÐÅÑ¡" + "·ÐÅÒÂ" + "·ÐÅÖè§" + "·ÐÅØ" + "·ÐÇÒÂ" + "·ÐàºÕ¹" + "·ÐàÂÍ·ÐÂÒ¹" + "·ÐàÅ" + "·ÐàÅÒÐ" + "·ÐàÅèÍ·ÐÅèÒ" + "·ÐàÅé¹" + "·ÐáÁè§" + "·Ñ¡" + "·Ñ¡¢Ô­" + "·Ñ¡¢Ô³Ò" + "·Ñ¡¢Ô³ÒÇѯ" + "·Ñ¡¢ì" + "·Ñ¡ÉÐ" + "·Ñ¡ÉÔ³" + "·Ñ¡ÉÔ³Ò" + "·Ñ¡ÉÔ³ÒÇÃõ" + "·Ñ¡ÉÔâ³·¡" + "·Ñ§Ê൹" + "·Ñ³±¡ÃÃÁ" + "·Ñ³±¦Òµ" + "·Ñ³±Ê¶Ò¹" + "·Ñ³±ì" + "·Ñ´" + "·Ñ¹" + "·Ñ¹µá¾·Âì" + "·Ñ¹µì" + "·Ñ¹·Õ" + "·Ñº" + "·ÑºÊÁÔ§¤ÅÒ" + "·Ñ¾" + "·Ñ¾¾Õ" + "·Ñȹ¤µÔ" + "·ÑȹÇÔÊÑÂ" + "·ÑȹÈÖ¡ÉÒ" + "·ÑȹÐ" + "·ÑȹÒ" + "·ÑȹҨÃ" + "·ÑȹÕÂÀÒ¾" + "·ÑȹÕÂì" + "·Ñȹٻ¡Ã³ì" + "·Ñȹì" + "·ÑÈä¹Â" + "·Ñè§" + "·ÑèÇ" + "·Ñé§" + "·Ò" + "·Ò¡" + "·Ò§" + "·Ò¹" + "·Òº" + "·ÒÁ" + "·ÒÂ" + "·ÒÂÒ´" + "·ÒÂÒ·" + "·Òá" + "·ÒÃÔ¡Ò" + "·ÒÃس" + "·ÒÃì«Ò¹" + "·ÒÊ" + "·Ó" + "·Ó¹º" + "·Ó¹Í§" + "·Ó¹ÒÂ" + "·Ó¹Ø" + "·ÓÅÒÂ" + "·Óà¹Ò" + "·Óà¹Õº" + "·ÓàÅ" + "·ÓäÁ" + "·Ô¤ÑÁ¾Ã" + "·Ô¦ÑÁ¾Ã" + "·Ô§à¨ÍÃì" + "·Ô°Ô" + "·Ô´" + "·Ô¾Â¨Ñ¡ÉØ" + "·Ô¾Â­Ò³" + "·Ô¾ÂÃÊ" + "·Ô¾Â๵Ã" + "·Ô¾Âì" + "·Ô¾Ò¡Ã" + "·ÔÁ" + "·ÔÇ" + "·Ôǧ¤µ" + "·ÔÇ·Ñȹì" + "·ÔÇÒ" + "·ÔÈ" + "·ÔÈÒ" + "·ÔÈҹطÔÈ" + "·Ôີ" + "·ÔèÁ" + "·Ôé§" + "·Õ" + "·Õ¦ªÒµÔ" + "·ÕÁ" + "·Õà͹·Õ" + "·Õè" + "·Õè´Ô¹" + "·Ö¡" + "·Ö¹·Ö¡" + "·Öº" + "·ÖÁ" + "·Öè§" + "·ÖèÁ" + "·Öé§" + "·×èÍ" + "·Ø" + "·Ø¡" + "·Ø¡¢ÅÒÀ" + "·Ø¡¢ÒÃÁ³ì" + "·Ø¡¢àÇ·¹Ò" + "·Ø¡¢ì" + "·Ø¡Ã¡ÔÃÔÂÒ" + "·Ø¤µÔ" + "·Ø¨ÃÔµ" + "·Ø´" + "·Ø¹" + "·Øº" + "·Ø¾¾Å" + "·Ø¾ÀÔ¡¢ÀÑÂ" + "·ØÂ" + "·Øáѹ´ÒÃ" + "·Øê¹" + "·ØêҵÔ" + "·Øù·ØÃÒÂ" + "·ØþÅ" + "·ØÅÑ¡·ØàÅ" + "·ØÈÕÅ" + "·ØàÃÈ" + "·ØàÃÕ¹" + "·ØàÅÒ" + "·Øè§" + "·Øè¹" + "·ØèÁ" + "·Øé§" + "·ØéÁ" + "·ØéÂ" + "·Ù" + "·Ùµ" + "·ÙµÒ¹Ø·Ùµ" + "·Ù¹" + "·Ùº" + "·ÙÁ" + "·ÙÅ" + "·Ùè" + "·Ùé" + "·á¡ÅéÇ" + "·á§" + "·âÁ¹" + "·èǧ·Ó¹Í§" + "·èǧ·Õ" + "·èǧ·èÒ" + "·èÇÁ" + "·èÍ" + "·èͧ" + "·è͹" + "·èÍÁ" + "·èÒ" + "·èÒ¹" + "·èÒÁ¡ÅÒ§" + "·é¹" + "·éǧ" + "·éǹ" + "·éÇÁ" + "·éÍ" + "·éͧ" + "·éÒ" + "·éÒÂ" + "·éÒÇ" + "¸§" + "¸¹" + "¸¹ºÑµÃ" + "¸¹ºØÃÕ" + "¸¹ÊÁºÑµÔ" + "¸¹ÊÒÃ" + "¸¹Ò¤ÒÃ" + "¸¹Ò³ÑµÔ" + "¸¹ÒÃÑ¡Éì" + "¸¹Ù" + "¸Á" + "¸Ã" + "¸Ã³Õ" + "¸ÃÃÁ" + "¸ÃÃÁ¡ÒÂ" + "¸ÃÃÁªÒµÔ" + "¸ÃÃÁ´Ò" + "¸ÃÃÁÈÒʵÃì" + "¸ÃÃÁÐ" + "¸ÃÃÁиÑÁâÁ" + "¸ÃÃÁÒ·ÔµÂì" + "¸ÃÃÁÒ¸ÃÃÁ" + "¸ÃÃÁÒ¸Ô»äµÂ" + "¸ÃÃÁÒ¸ÔÉ°Ò¹" + "¸ÃÃÁÒ¹ØÊÒ¹" + "¸ÃÃÁÒÀÔÁØ¢" + "¸ÃÃÁÒÀÔÊÁÑÂ" + "¸ÃÃÁÒµ¹Ð" + "¸ÃÃÁÒÃÁ³ì" + "¸ÃÃÁÒʹì" + "¸ÃÃÁÔ¡" + "¸ÃÒ¸Ã" + "¸ÃÒ¸ÒÃ" + "¸ÃÒ¸Ôº´Õ" + "¸ÃÒ¸Ô»" + "¸Ñ­" + "¸Ñ­­ÒËÒÃ" + "¸Ñ­¾×ª" + "¸Ñ¹ÇÒ¤Á" + "¸ÑÁÁÐ" + "¸ÒµØ" + "¸Ò¹Õ" + "¸ÒÃ" + "¸ÒÃÒ" + "¸ÓÁç¤ì" + "¸Óç" + "¸Ô´Ò" + "¸Ôີ" + "¸Ø´§¤ì" + "¸ØáÃÃÁ" + "¸ØáÒÃ" + "¸ØáԨ" + "¸ØÃÐ" + "¸ØÅÕ" + "¸ØÇ´ÒÃÒ" + "¸ØÇÀÒ¤" + "¸ØÇÁ³±Å" + "¸Ù»" + "¹¡" + "¹¤Ã" + "¹¤ÃÃÒªÊÕÁÒ" + "¹¤ÃÔ¹·Ãì" + "¹¤àÃÈ" + "¹§¤ÃÒ­" + "¹§¹Øª" + "¹§¾Ð§Ò" + "¹§¾ÒÅ" + "¹§ÃÒÁ" + "¹§Åѡɳì" + "¹§àÂÒÇì" + "¹·Õ" + "¹¹·ºØÃÕ" + "¹¹·ÃÕ" + "¹¹·ÅÕ" + "¹º" + "¹¾" + "¹¾»®Å" + "¹¾È¡" + "¹¾ÈÙÅ" + "¹ÀÒ" + "¹ÀÒÅÑÂ" + "¹Á" + "¹ÁÑÊ¡ÒÃ" + "¹Ã¡" + "¹ÃÊÔ§Ëì" + "¹ÃÕàǪ" + "¹ÃÕá¾·Âì" + "¹Ä¤ËÔµ" + "¹Ä¹Ò·" + "¹ÄÁÅ" + "¹ÄÁÔµ" + "¹ÅÒ¯" + "¹ÅÔ¹Õ" + "¹Ç´" + "¹Ç¹ÔÂÒÂ" + "¹ÇÁ" + "¹ÇÂ" + "¹ÇÅ" + "¹ÇÅÅÍÍ" + "¹ÇÅÅÐÍͧ" + "¹Í" + "¹Í¡" + "¹Í§" + "¹Íµ" + "¹Í¹" + "¹Íº" + "¹ÍÂ" + "¹ÍÃìàÇÂì" + "¹Ð" + "¹Ñ¡" + "¹Ñ¡¢Ñµ" + "¹Ñ¡ÈÖ¡ÉÒ" + "¹Ñ¡ÉѵÃ" + "¹Ñ¡àÃÕ¹" + "¹Ñ§¤ÑÅ" + "¹Ñ´" + "¹Ñ´´Ò" + "¹Ñµ¶Øì" + "¹Ñ¹·¹Ò¡ÒÃ" + "¹Ñº" + "¹ÑÂ" + "¹Ñ¹ì" + "¹ÑÇ" + "¹Ñè§" + "¹Ñè¹" + "¹Ñé¹" + "¹Ò" + "¹Ò¡" + "¹Ò¤" + "¹Ò¤Ã" + "¹Ò¤ÃÒª" + "¹Ò¤Õ" + "¹Ò§" + "¹Ò§ÊÒÇ" + "¹Ò§áÍè¹" + "¹Ò«Ò" + "¹Ò¯" + "¹Ò´" + "¹Ò¶" + "¹Ò·" + "¹Ò·Õ" + "¹Ò¹" + "¹Ò¹Ñ»¡ÒÃ" + "¹Ò¹Ò" + "¹Òº" + "¹ÒÀÕ" + "¹ÒÁ" + "¹ÒÁ¡Ã" + "¹ÒÁÊ¡ØÅ" + "¹ÒÁҹءÃÁ" + "¹ÒÁÒÀÔä¸Â" + "¹ÒÂ" + "¹Ò¡" + "¹ÒÃÒ³ì" + "¹ÒÃÕ" + "¹ÒÇÒ" + "¹ÒÇÔ¡" + "¹ÒÇÔ¹" + "¹ÒÇÕ" + "¹ÒÊÔ¡" + "¹ÒÌÔ¡Ò" + "¹ÒÌÔà¡" + "¹Òâ¹" + "¹Ó" + "¹Ô" + "¹Ô¡Ã" + "¹Ô¡ÃÍ´ì" + "¹Ô¡ÒÂ" + "¹Ô¡à¡ÔÅ" + "¹Ô¤Á" + "¹Ô¤Ã¹¶ì" + "¹Ô¤ËÔµ" + "¹Ô¨" + "¹Ô´" + "¹ÔµÂÊÒÃ" + "¹ÔµÂì" + "¹ÔµÔ" + "¹Ô·ÃÃÈ" + "¹Ô·ÃÒ" + "¹Ô·Ñȹì" + "¹Ô·Ò¹" + "¹Ô¹·Ò" + "¹ÔºÒµ" + "¹Ô¾¹¸ì" + "¹Ô¾¾Ò¹" + "¹ÔÁ¹µì" + "¹ÔÁÁÒ¹" + "¹ÔÁÁҹôÕ" + "¹ÔÁÔµ" + "¹ÔÂÁ" + "¹ÔÂÒÁ" + "¹ÔÂÒÂ" + "¹Ô÷ء¢ì" + "¹ÔùÒÁ" + "¹ÔÃÀÑÂ" + "¹ÔÃÁÅ" + "¹ÔÃÁÔµ" + "¹ÔÃѹ´Ã" + "¹ÔÃÒÈ" + "¹ÔÃâ·É" + "¹ÔÅ" + "¹ÔÅغÅ" + "¹ÔÇ¡Ô¹Õ" + "¹ÔǤÅÔÍÔ¡" + "¹ÔÇ«ÕᏴì" + "¹ÔǵÃ͹" + "¹ÔÇÂÍÃì¤" + "¹ÔÇóì" + "¹ÔÇѵ" + "¹ÔÇѵ¹ì" + "¹ÔÇÒµ" + "¹ÔÇÒÊ" + "¹ÔÇà¤ÅÕÂÃì" + "¹ÔÇà¤ÅÕÂÊ" + "¹ÔÊÑÂ" + "¹ÔÊÔµ" + "¹Ôà·È" + "¹ÔàÇÈ" + "¹ÔàÇȹì" + "¹Ô⤵Թ" + "¹Ôâø" + "¹ÔâźÅ" + "¹Ôè§" + "¹ÔèÁ" + "¹ÔèÇ" + "¹ÔéÇ" + "¹Õ" + "¹ÕÍ͹" + "¹ÕâÍ´ÔàÁÕÂÁ" + "¹Õè" + "¹Õé" + "¹Ö¡" + "¹Öè§" + "¹Ø§" + "¹Øª" + "¹Øè§" + "¹Øè¹" + "¹ØèÁ" + "¹ØéÂ" + "¹Ù¹" + "¹Ùè¹" + "¹Ùé¹" + "¹àÃÈÇÃ" + "¹âºÒÂ" + "¹âôÁ" + "¹èÇÁ" + "¹èͧ" + "¹èÒ" + "¹èÒ¹" + "¹éͧ" + "¹éÍÁ" + "¹éÍÂ" + "¹éÍÂ˹èÒ" + "¹éÍÂâ˹è§" + "¹éÒ" + "¹éÒÇ" + "¹éÓ" + "¹éÓÁѹ" + "¹éÓà§Ô¹" + "º¡" + "º¡¾Ãèͧ" + "º§" + "º§¡ª" + "º´" + "º´Ô¹·Ãà´ªÒ" + "º´Ô¹·Ãì" + "º´Õ" + "º·" + "º¹" + "º¾ÔµÃ" + "º¾Ô¸" + "ºÃÁ" + "ºÃÁѵ¶ì" + "ºÃÃ" + "ºÃè§" + "ºÃè¶Ã³ì" + "ºÃèº" + "ºÃèǺ" + "ºÃèØ" + "ºÃó" + "ºÃóҡÒÃ" + "ºÃóҤÁ" + "ºÃóҸԡÒÃ" + "ºÃóҹءÃÁ" + "ºÃóÒÃÑ¡ÉÈÒʵÃì" + "ºÃóÒÃÑ¡Éì" + "ºÃôÒ" + "ºÃ÷Á" + "ºÃ÷Ѵ" + "ºÃ÷ء" + "ºÃþ" + "ºÃþªÒ" + "ºÃþªÔµ" + "ºÃþµ" + "ºÃþºØÃØÉ" + "ºÃç" + "ºÃç¡ì" + "ºÃÃÂÒ¡ÒÈ" + "ºÃÃÂÒÂ" + "ºÃÃÅÑÂ" + "ºÃÃÅØ" + "ºÃÃÉÑ·" + "ºÃÃËÒÃ" + "ºÃÃà¨Ô´" + "ºÃÃà·Ò" + "ºÃÃàŧ" + "ºÃÃâÅÁ" + "ºÃÑè¹´Õ" + "ºÃÒÇà«ÍÃì" + "ºÃÔ" + "ºÃÔ¡ÃÃÁ" + "ºÃÔ¡ÒÃ" + "ºÃÔ¢ÒÃ" + "ºÃÔ¤³Ëì" + "ºÃÔ¨Ò¤" + "ºÃÔ¨Òá" + "ºÃÔ¨ÒÃÔ¡Ò" + "ºÃÔºÒÅ" + "ºÃÔºÙóì" + "ºÃԾѵÃ" + "ºÃÔ¾ÒÃ" + "ºÃÔÀѳ±ì" + "ºÃÔÀÒÉ" + "ºÃÔÃÑ¡Éì" + "ºÃÔÃÒª" + "ºÃÔÇÒÃ" + "ºÃÔÉÑ·" + "ºÃÔÊØ·¸Ôì" + "ºÃÔËÒÃ" + "ºÃÔà©·" + "ºÃÔ൹" + "ºÃÔàdz" + "ºÃÔâÀ¤" + "ºÅçÍ¡" + "ºÇ¡" + "ºÇ§" + "ºÇª" + "ºÇ¹" + "ºÇº" + "ºÇÁ" + "ºÇÃ" + "ºÍ" + "ºÍ¡" + "ºÍ´" + "ºÍ´Õé" + "ºÍ¹" + "ºÍº" + "ºÍÃì¡" + "ºÍÃì´" + "ºÍÃìà¹ÕÂÇ" + "ºÍÅ" + "ºÍÅÅÙ¹" + "ºÐËÁÕè" + "ºÑ¡" + "ºÑ¤àµÃÕ" + "ºÑ§" + "ºÑ§¡ÐâÅ" + "ºÑ§¤Á" + "ºÑ§¤Å" + "ºÑ§¤Ñº" + "ºÑ§ÊØ¡ØÅ" + "ºÑ§ÍÃ" + "ºÑ§ÍÒ¨" + "ºÑ§à¡Ô´" + "ºÑ§àËÕ¹" + "ºÑ§àÍÔ­" + "ºÑ­ªÃ" + "ºÑ­ªÒ" + "ºÑ­ªÕ" + "ºÑ­­ÑµÔ" + "ºÑ³±Ôµ" + "ºÑ³±ÔµÂì" + "ºÑ³±Ø" + "ºÑ³±ÙÃ" + "ºÑ³³ÒÊ" + "ºÑ³ÃÊ" + "ºÑ³ÃÊÕ" + "ºÑ³à±ÒСì" + "ºÑ³à±ÒÐÇì" + "ºÑ´" + "ºÑ´¡ÃÕ" + "ºÑ´«º" + "ºÑ´ÊÕ" + "ºÑµÃ" + "ºÑ¹" + "ºÑ¹´ÒÅ" + "ºÑ¹·Ö¡" + "ºÑ¹ÂкѹÂѧ" + "ºÑ¹Å×Í" + "ºÑ¹à·Ô§" + "ºÑ¹ä´" + "ºÑ»¼ÒÊÐ" + "ºÑ¾" + "ºÑÅ¡ÒàÃÕÂ" + "ºÑÅÅѧ¡ì" + "ºÑÅÅÙ¹" + "ºÑÇ" + "ºÑÊ" + "ºÑè¹" + "ºÑé§" + "ºÑé¹" + "ºÑê¡" + "ºÒ" + "ºÒ¡" + "ºÒ§" + "ºÒ´" + "ºÒ´·ÐÂÑ¡" + "ºÒ´ÒÅ" + "ºÒµ" + "ºÒµÃ" + "ºÒ·" + "ºÒ·º§ÊØì" + "ºÒ·ËÅǧ" + "ºÒ·Ò¸Ö¡" + "ºÒ·Ø¡Ò" + "ºÒ¹" + "ºÒ¹ª×è¹" + "ºÒ¹ºØÃÕ" + "ºÒ¹ÕÂÐ" + "ºÒ¹àªéÒ" + "ºÒ¹àÂç¹" + "ºÒ»" + "ºÒÂ" + "ºÒÃÁÕ" + "ºÒÃÍÁÔàµÍÃì" + "ºÒÃì" + "ºÒÃìàÃÅ" + "ºÒÅ" + "ºÒÅÕ" + "ºÒÈ" + "ºÒÈ¡ì" + "ºÒÊࡵºÍÅ" + "ºÒËÅÕ" + "ºÓ¹Ò­" + "ºÓºÑ´" + "ºÓÃÒº" + "ºÓÃÒÈ" + "ºÓÃا" + "ºÓÃÙ" + "ºÓà¾ç­" + "ºÓàÃÍ" + "ºÓà˹ç¨" + "ºÔ" + "ºÔ°" + "ºÔ³±ºÒµ" + "ºÔ´" + "ºÔ´¾ÅÔéÇ" + "ºÔ´Ã" + "ºÔ´Ò" + "ºÔµ" + "ºÔ¹" + "ºÔÅ" + "ºÔÅàÅÕ´" + "ºÔè¹" + "ºÕ±Ò" + "ºÕ¹" + "ºÕº" + "ºÕé" + "ºÖ¡" + "ºÖ¡ºÖ¹" + "ºÖ§" + "ºÖè§" + "ºÖé§" + "ºØ" + "ºØ¡" + "ºØ¡ÃØ¡" + "ºØ¡É¡" + "ºØ¤¤Å" + "ºØ¤ÅÒ¡Ã" + "ºØ¤ÅÒ¸ÔÉ°Ò¹" + "ºØ¤ÅÔ¡" + "ºØ¤ÅÔ¡ÀÒ¾" + "ºØ­" + "ºØ­­Ò¹ØÀÒ¾" + "ºØ­­ÒÀÔ¹ÔËÒÃ" + "ºØ³±ÃÔ¡" + "ºØ³Âì" + "ºØµÃ" + "ºØµÃÒ" + "ºØµÃÕ" + "ºØº" + "ºØ»¼ªÒµÔ" + "ºØ¾¡ÃÃÁ" + "ºØ¾¡ÒÃÕ" + "ºØ¾¡Ô¨" + "ºØ¾ªÒµÔ" + "ºØ¾·Ñ¡ÉÔ³" + "ºØ¾¹ÔÁÔµ" + "ºØ¾º·" + "ºØ¾¾Ò¨ÒÃÂì" + "ºØ¾à¾Êѹ¹ÔÇÒÊ" + "ºØ¿à¿èµì" + "ºØþ·ÔÈ" + "ºØþº·" + "ºØþҨÒÃÂì" + "ºØÃÒ³" + "ºØÃÔÁ·ÔÈ" + "ºØÃÔÁ¾ÃÃÉÒ" + "ºØÃÔÁÊÔ·¸Ô" + "ºØÃÕ" + "ºØÃØÉ" + "ºØÉ¡Ã" + "ºØɺ§" + "ºØɺÒ" + "ºØÉÂÁÒÊ" + "ºØÉÃÒ¤ÑÁ" + "ºØ˧ѹ" + "ºØ˧Ò" + "ºØËç" + "ºØËÃÕè" + "ºØËÅѹ" + "ºØâ÷Ñè§" + "ºØèÁºèÒÁ" + "ºØé§" + "ºØéÂ" + "ºØëÁ" + "ºÙªÒ" + "ºÙªÒÂÑ­" + "ºÙ´" + "ºÙµ" + "ºÙóÀÒ¾" + "ºÙóÐ" + "ºÙþÒ" + "ºÙþҨÒÃÂì" + "ºÙé" + "ºÙê" + "ºè" + "ºè§" + "ºè¹" + "ºèÁ" + "ºèǧ" + "ºèÍ" + "ºèͧ" + "ºè͹" + "ºèÍÂ" + "ºèÒ" + "ºèÒ§" + "ºèÒÂ" + "ºèÒÇ" + "ºéǹ" + "ºéͧ" + "ºéͧáºêÇ" + "ºéÍÁ" + "ºéÒ" + "ºéÒ§" + "ºéÒ¹" + "ºéÒÃÐËèÓ" + "ºê§àºê§" + "ºêÇÂ" + "ºêͧ" + "ºêÐ" + "ºëÍÁ" + "ºëÍÂ" + "ºëÓ" + "»¡" + "»¡¤Ãͧ" + "»¡µÔ" + "»¡Ã³ì" + "»¡ÒÃ" + "»¡Ô³¡Ð" + "»¯Ñ¡" + "»¯Ô¡Ã³ì" + "»¯Ô¡ÃÃÁ" + "»¯Ô¡ÔÃÔÂÒ" + "»¯Ô¡ÙÅ" + "»¯Ô¤Á" + "»¯ÔªÕǹÐ" + "»¯Ô­­Ò" + "»¯Ô­Ò³" + "»¯Ô·Ô¹" + "»¯Ôº¶" + "»¯ÔºÑµÔ" + "»¯Ô»·Ò" + "»¯Ô»Ñ¡Éì" + "»¯Ô¾Ñ·¸ì" + "»¯Ô¾Ò¡Âì" + "»¯ÔÀÒ¤" + "»¯ÔÀÒ³" + "»¯ÔÁÒ" + "»¯ÔÁÒ¡Ã" + "»¯ÔÂØ·¸ì" + "»¯ÔÃÙ»" + "»¯ÔÇѵÔ" + "»¯ÔÇÒµ" + "»¯ÔÇÒ·" + "»¯Ôʹ¸Ô" + "»¯ÔÊѧ¢Ã³ì" + "»¯ÔÊѹ¶ÒÃ" + "»¯ÔÊÑÁ¾Ñ¹¸ì" + "»¯ÔàǸ" + "»¯Ôàʸ" + "»¯ÔâÅÁ" + "»°¾Õ" + "»°Á" + "»°Á·Ñȹì" + "»°Á¹Ôà·È" + "»°Á¾ÂÒºÒÅ" + "»°ÁÄ¡Éì" + "»°ÁÇÑÂ" + "»°Áà·È¹Ò" + "»³µ" + "»³Ô¸Ò¹" + "»´" + "»¶¾Õ" + "»·Ò¹Ø¡ÃÁ" + "»·ØÁ" + "»·ØÁ¸Ò¹Õ" + "»¹" + "»¹Ñ´´Ò" + "»¹à»" + "»º" + "»Á" + "»Ã¡" + "»Ã¡µÔ" + "»Ã§" + "»Ã¹" + "»Ã¹¹ÔºÑµÔ" + "»Ã¹ÑÂ" + "»Ãº" + "»Ã»Ñ¡Éì" + "»ÃÁѵ¶ì" + "»ÃÁÒ¨ÒÃÂì" + "»ÃÁÒ³Ù" + "»ÃÁÒÀÔàÉ¡" + "»ÃÁÒÀÔä¸Â" + "»ÃÇ´" + "»Ãǹá»Ã" + "»ÃÇÒ·Õ" + "»ÃÊÔµ" + "»Ãͧ´Í§" + "»ÃÍ´" + "»ÃÍ·" + "»ÃÍÂ" + "»ÃÐ" + "»ÃСº" + "»ÃСǴ" + "»ÃСͺ" + "»ÃСѹ" + "»ÃСѺ" + "»ÃСÒÂ" + "»ÃСÒÃ" + "»ÃСÒÈ" + "»ÃСÒȹÕºѵÃ" + "»ÃСÒÈÔµ" + "»ÃСԴ" + "»ÃФº" + "»ÃФº»ÃÐ˧Á" + "»ÃФͧ" + "»ÃФÓ" + "»ÃШº" + "»ÃШǺ" + "»ÃШѡÉì" + "»ÃШѭ" + "»ÃШѹ" + "»ÃШҤ" + "»ÃШҹ" + "»ÃШÓ" + "»ÃШÔÁ" + "»ÃШØ" + "»ÃШëÍ»ÃÐá¨ë" + "»ÃЪ´" + "»ÃЪÇÃ" + "»ÃЪѹ" + "»ÃЪÒ" + "»ÃЪҪ¹" + "»ÃЪҸԻѵÂì" + "»ÃЪҸԻäµÂ" + "»ÃЪÒÀÔºÒÅ" + "»ÃЪԴ" + "»ÃЪØÁ" + "»Ãгµ" + "»ÃгÁ" + "»ÃгÒÁ" + "»ÃгԸҹ" + "»ÃгԸÔ" + "»Ãгյ" + "»Ãд¹" + "»Ãдǹ" + "»Ãд͹" + "»Ãдѡ»ÃÐà´Ô´" + "»Ãдѧ" + "»ÃдѺ" + "»ÃдÒ" + "»Ãдһ" + "»ÃдÒÉ" + "»ÃдԴ»ÃдÍÂ" + "»ÃдԷԹ" + "»ÃдÔÉ°Ò¹" + "»ÃдÔÉ°ì" + "»Ãдا" + "»Ãдب" + "»ÃдÙè" + "»ÃеÙ" + "»ÃжÁ" + "»Ãзǹ" + "»ÃзѡÉì" + "»Ãзѧ" + "»ÃзѴ" + "»ÃзѺ" + "»Ãзҹ" + "»ÃзԹ" + "»ÃзÔè¹" + "»Ãзջ" + "»Ãзع" + "»ÃзØÉ" + "»ÃзØÉÃéÒÂ" + "»Ãзéǧ" + "»Ãиҹ" + "»ÃиҹҸԺ´Õ" + "»ÃйÁ" + "»ÃйÍÁ" + "»ÃйջÃйÍÁ" + "»ÃлÃÒÂ" + "»ÃлÒ" + "»ÃоĵÔ" + "»ÃоĸÔì" + "»Ãоѷ¸ì" + "»Ãоѹ¸ì" + "»Ãоҵ" + "»ÃоÒÊ" + "»ÃоÒÌ" + "»ÃоԳ" + "»Ãоط¸ì" + "»ÃÐÀÑÊÊÃ" + "»ÃÐÀÒ" + "»ÃÐÀÒ¤ÒÃ" + "»ÃÐÀÒ¾" + "»ÃÐÀÒÊ" + "»ÃÐÁ§" + "»ÃÐÁÇ­" + "»ÃÐÁÇÅ" + "»ÃÐÁÒ³" + "»ÃÐÁÒ·" + "»ÃÐÁØ¢" + "»ÃÐÁØ·" + "»ÃÐÁÙÅ" + "»ÃÐÂØ¡µì" + "»ÃÐÂØ·¸ì" + "»ÃÐÂÙÃ" + "»ÃÐÅÁ¾ì" + "»ÃÐÅͧ" + "»ÃÐÅÑÂ" + "»ÃÐÅÒµ" + "»ÃÐÇÃõ" + "»ÃÐÇÃõ¹ì" + "»ÃÐÇѵÔ" + "»ÃÐÇѵԡÒóì" + "»ÃÐÇѵÔÈÒʵÃì" + "»ÃÐÇÒµ" + "»ÃÐÇÒÅ" + "»ÃÐÇÒÊ" + "»ÃÐÇÔ§" + "»ÃÐÇÔª" + "»ÃÐÇÔµÃ" + "»ÃÐÇÕ³" + "»ÃÐÈÁ" + "»ÃÐÈÒʹì" + "»ÃÐÊ¡" + "»ÃÐʧ¤ì" + "»ÃÐʺ" + "»ÃÐʺ¡Òóì" + "»ÃÐʾ" + "»ÃÐÊÒ" + "»ÃÐÊÒ·" + "»ÃÐÊÒ¹" + "»ÃÐÊÔ·¸Ô¼Å" + "»ÃÐÊÔ·¸ÔÀÒ¾" + "»ÃÐÊÔ·¸Ôì" + "»ÃÐÊÙµÔ" + "»ÃÐËÁèÒ" + "»ÃÐËÂÑ´" + "»ÃÐËÅÒ´" + "»ÃÐËÅèÓ" + "»ÃÐËÒÃ" + "»ÃÐÎÒÁ" + "»ÃÐह" + "»ÃÐਡ" + "»ÃÐà¨Ô´»ÃÐà¨éÍ" + "»ÃÐà¨Õ´" + "»ÃÐà´" + "»ÃÐà´ÔÁ" + "»ÃÐà´Õ§" + "»ÃÐà´ÕëÂÇ" + "»ÃÐà´ÕëÂÇ»ÃдëÒÇ" + "»ÃÐà´ç¹" + "»ÃÐà·È" + "»ÃÐà·ÈÃÒª" + "»ÃÐà·Èä·Â" + "»ÃÐà·×ͧ" + "»ÃÐླÕ" + "»ÃÐàÀ·" + "»ÃÐàÁÔ¹" + "»ÃÐàdzÕ" + "»ÃÐàÇÈ" + "»ÃÐàÇȹì" + "»ÃÐàÊÃÔ°" + "»ÃÐá¡¡" + "»ÃÐá¨" + "»ÃÐâ¤Á" + "»ÃÐâ¤" + "»ÃÐ⪹ì" + "»ÃÐâÅÁ" + "»ÃÑ¡" + "»Ãѧ" + "»ÃѪ­Ò" + "»ÃѵÂصºÑ¹" + "»ÃѵÂغѹ" + "»Ãѹ" + "»ÃѺ" + "»ÃÑÁ»ÃÒ" + "»ÃÑȹÕ" + "»ÃÑÈÇì" + "»ÃÒ¡¯" + "»ÃÒ¡ÃÁ" + "»ÃÒ¡ÒÃ" + "»ÃÒ¤ÀÒÃ" + "»ÃÒ§" + "»ÃÒ§¤ì" + "»ÃÒ¨Õ¹" + "»ÃÒª­Ò" + "»ÃÒª­ì" + "»ÃÒªÑÂ" + "»ÃÒªÔµ" + "»ÃÒ³" + "»ÃÒ³Õ" + "»ÃÒ´" + "»ÃÒ¹Õ" + "»ÃÒº" + "»ÃÒº´ÒÀÔàÉ¡" + "»ÃÒ»µì" + "»ÃÒÀ¾" + "»ÃÒÁ" + "»ÃÒÁÒÊ" + "»ÃÒÂ" + "»ÃÒö¹Ò" + "»ÃÒÃÀ" + "»ÃÒÃÁÀì" + "»ÃÒÈ" + "»ÃÒÈÃÑÂ" + "»ÃÒÈÒÃ" + "»ÃÒɳÕ" + "»ÃÒÉÒ³" + "»ÃÒÊÒ·" + "»ÃÒâÁª" + "»ÃÒâÁ·Âì" + "»ÃÓ" + "»ÃÔ" + "»ÃÔ¡" + "»ÃÔ¤³Ëì" + "»ÃÔ¨Ò¤" + "»ÃÔ¨ÒÃÔ¡Ò" + "»ÃÔ«ÖÁ" + "»ÃÔ­­Ò" + "»ÃÔ³ÒÁ" + "»ÃÔ³Ò¡" + "»ÃÔµ" + "»ÃÔµµÐ" + "»ÃÔµÃ" + "»ÃÔ·ÃÃȹì" + "»ÃÔ·Ñȹì" + "»ÃÔ¹" + "»ÃÔ¹Êì" + "»ÃÔ¹Ô¾¾Ò¹" + "»ÃÔº" + "»ÃÔÁ³±Å" + "»ÃÔÁÑ·" + "»ÃÔÁÒ³" + "»ÃÔÁÒµÃ" + "»ÃÔÂѵÔ" + "»ÃÔÂÒÂ" + "»ÃÔÇÃõ" + "»ÃÔÇÒÊ" + "»ÃÔȹÒ" + "»ÃÔà©·" + "»ÃÔèÁ" + "»ÃÕªÒ" + "»ÃÕ´Ò" + "»ÃÕ´Ôì" + "»ÃÕÂÒ" + "»ÃÕè" + "»ÃÕê´" + "»ÃÖ¡ÉÒ" + "»Ã×Í" + "»Ã×ëÍ" + "»ÃØ" + "»Ãا" + "»ÃÙ´" + "»ÃÙê´»ÃêÒ´" + "»ÃÙê¿" + "»ÃàÁ¹·Ãì" + "»ÃâÅ¡" + "»ÃèÒ" + "»ÃëÍ" + "»Ä¨©Ò" + "»Äɮҧ¤ì" + "»Å¡" + "»Å§" + "»Å´" + "»ÅÇ¡" + "»ÅÍ¡" + "»ÅÍ´" + "»ÅÍ´ÀÑÂ" + "»Åͺ" + "»ÅÍÁ" + "»ÅÐ" + "»ÅÑ¡" + "»ÅÑ´" + "»ÅÑè§" + "»ÅÑê¡" + "»ÅÑê¡ÍÔ¹" + "»ÅÒ" + "»ÅÒµ" + "»ÅÒº" + "»ÅÒÂ" + "»ÅÒÇÒÌ" + "»ÅÒʹҡÒÃ" + "»ÅÒÊàµÍÃì" + "»ÅÔ§" + "»ÅÔ´" + "»ÅÔÇ" + "»ÅÔ⾸" + "»ÅÔèÁ" + "»ÅÔé¹" + "»ÅÕ" + "»ÅÕ¡" + "»Å×éÁ" + "»ÅØ¡" + "»ÅÙ¡" + "»Åè§" + "»Åèͧ" + "»ÅèÍÂ" + "»Åé¹" + "»Åéͧ" + "»Åé͹" + "»ÅéÓ" + "»Ç¡à»Õ¡" + "»Ç§" + "»Ç´" + "»ÇÒóÒ" + "»ÈØ" + "»Í" + "»Í¡" + "»Í§" + "»Í´" + "»Í¹" + "»Í¹´ì" + "»Íº" + "»ÍÂ" + "»ÍÃì" + "»ÍÃìµØà¡Ê" + "»Ð" + "»Ð¡¹" + "»Ð¡ÒÃѧ" + "»Ð¢ÒÇ" + "»Ð·Ð" + "»Ð·Ø" + "»Ð˧Ѻ" + "»ÐàËÅÒÐ" + "»ÐáÅèÁ" + "»Ðâŧ" + "»Ñ¡" + "»Ñ¡¡Ôè§" + "»Ñ¡ÉÒ" + "»Ñ¡ÉÒÇÊÒ¹" + "»Ñ¡ÉÔ³" + "»Ñ¡ÉÔ¹" + "»Ñ¡ÉÕ" + "»Ñ¡Éì" + "»Ñ¡à»éÒ" + "»Ñ§" + "»Ñ§ÊØ¡ØÅ" + "»Ñ¨¨Ñ¹µ¤ÒÁ" + "»Ñ¨¨Ñ¹µª¹º·" + "»Ñ¨¨Ñ¹µ»ÃÐà·È" + "»Ñ¨¨Ñ¹µì" + "»Ñ¨¨ÑÂ" + "»Ñ¨¨ÒÁÔµÃ" + "»Ñ¨¨ØºÑ¹" + "»Ñ¨¨ØÊÁÑÂ" + "»Ñ¨©Ò" + "»Ñ¨©ÔÁ" + "»Ñ¨à¨¡" + "»Ñ­¨ÇѤ¤ÕÂì" + "»Ñ­­Ò" + "»Ñ­ËÒ" + "»Ñ´" + "»ÑµµÒ¹Õ" + "»ÑµµÒàÇÕÂ" + "»Ñ·Áì" + "»Ñ¹" + "»Ñº" + "»Ñ»¼ÒÊÐ" + "»ÑÊÊÒÇÐ" + "»ÑÊÊÒÊÐ" + "»Ñè¹" + "»Ñé¹" + "»Ñêº" + "»ÑêÁ" + "»Ñë§" + "»Ò" + "»Ò¡" + "»Ò¡¡Ò" + "»Ò¡Õʶҹ" + "»Ò§" + "»Ò¯ÔËÒÃÔÂì" + "»Ò°¡" + "»Ò°¡¶Ò" + "»Ò³ÒµÔºÒµ" + "»Ò´" + "»ÒµÔâÁ¡¢ì" + "»Ò·Ñ§¡Ò" + "»Ò·èͧâ¡ë" + "»Ò¹" + "»Ò»ÑÇ" + "»ÒÁ" + "»ÒÂÒÊ" + "»ÒÃÒªÔ¡" + "»ÒÃԩѵÃ" + "»ÒÃÔªÒµ" + "»ÒÃÕÊ" + "»ÒÃìࡵì" + "»ÒÅÕ" + "»ÒÅìÁ" + "»ÒÇ" + "»Ò˹ѹ" + "»ÒËÕè" + "»ÒâÁ¡¢ì" + "»Ó" + "»Ô¡¹Ô¡" + "»Ô§»Í§" + "»Ô®¡" + "»Ô´" + "»ÔµÒ" + "»ÔµÔ" + "»ÔµØ" + "»ÔµØ¦Òµ" + "»ÔµØÀÙÁÔ" + "»ÔµØÅÒ" + "»ÔÂÁÔµÃ" + "»ÔÂÐ" + "»ÔÈÒ¨" + "»ÔâµÃàÅÕÂÁ" + "»ÔâÂÃÊ" + "»Ôè¹" + "»Ôè¹âµ" + "»ÔèÁ" + "»Ôé§" + "»ÔéÁ" + "»ÔëÇ" + "»Õ" + "»Õ¡" + "»Õ¹" + "»Õº" + "»ÕÁÐâÇé" + "»ÕÈÒ¨" + "»Õè" + "»Õé" + "»Õê´" + "»Õêº" + "»Õë" + "»Ö¡" + "»Ö§" + "»Öè§" + "»Öé´" + "»Öë§" + "»×¹" + "»×é¹" + "»×ëÍ" + "»Ø" + "»Ø¡" + "»Ø¨©Ò" + "»Ø´" + "»Ø¶Øª¹" + "»Øº" + "»ØÂ" + "»ØâÃËÔµ" + "»ØèÁ" + "»Ø駡Õë" + "»ØéÁ" + "»Øê" + "»Øêº" + "»ØëÁ" + "»ØëÂ" + "»Ù" + "»Ùª¹Õºؤ¤Å" + "»Ùª¹ÕÂÇѵ¶Ø" + "»Ù´" + "»Ù¹" + "»ÙÁ" + "»Ùè" + "»ÙéÂÕé»ÙéÂÓ" + "»àdzÕ" + "»è¹" + "»èǧ" + "»èǹ" + "»èÇÂ" + "»èͧ" + "»èÒ" + "»èÒ¹" + "»èÒÂ" + "»èÒÇ" + "»éǹ" + "»éǹà»Õé¹" + "»éÍ" + "»éͧ" + "»éͧ¡Ñ¹" + "»é͹" + "»éÍÁ" + "»éÍÂ" + "»éÍá»é" + "»éÒ" + "»éÒ§" + "»éÒ¹" + "»éÒº" + "»éÒÂ" + "»éÓ" + "»êÍ¡¡Õé" + "»êÒº" + "»ëÍ" + "»ëÍÁ" + "»ëÒ" + "¼¡" + "¼¡Ò" + "¼¡ÒÂ" + "¼§" + "¼§¡" + "¼§Ð" + "¼§Ò´" + "¼¨§" + "¼¨­" + "¼´" + "¼´Ø§" + "¼¹Ç¡" + "¼¹Çª" + "¼¹Ñ§" + "¼¹Ö¡" + "¼Á" + "¼Áºêͺ" + "¼Âͧ" + "¼ÃØÊÇÒ·" + "¼Å" + "¼ÅÐ" + "¼ÅÑ¡" + "¼ÅÑ´" + "¼ÅÑÇÐ" + "¼ÅÒ­" + "¼ÅÒ¹ÔʧÊì" + "¼ÅÒ¼Å" + "¼ÅÒËÒÃ" + "¼ÅÔ" + "¼ÅÔµ" + "¼ÅÔµÀѳ±ì" + "¼ÅÕ¼ÅÒÁ" + "¼ÅÖ¡" + "¼ÅÖè§" + "¼ÅØ" + "¼Åا" + "¼ÅØ´" + "¼Åع" + "¼Åغ" + "¼ÅØÂ" + "¼ÅÙ" + "¼ÅçÍÂ" + "¼Ç¹" + "¼ÇÂ" + "¼ÇÒ" + "¼ÊÁ" + "¼ÊÒ¹" + "¼ÊÒÂ" + "¼Í¡" + "¼Í§" + "¼Í´" + "¼Íº" + "¼ÍÁ" + "¼ÍÇ´" + "¼ÍÙ¹" + "¼Ð" + "¼Ñ¡" + "¼Ñ§" + "¼Ñ´" + "¼Ñ¹" + "¼Ñ¹¼Ç¹" + "¼Ñº" + "¼ÑÇ" + "¼ÑÇÐ" + "¼Ò" + "¼Ò¡" + "¼Ò§" + "¼Ò³Ôµ" + "¼Ò´" + "¼ÒÂ" + "¼Ô" + "¼Ô§" + "¼Ô´" + "¼Ô¹" + "¼ÔÇ" + "¼Õ" + "¼Ö§" + "¼Öè§" + "¼Öé§" + "¼×¹" + "¼×è¹" + "¼Ø" + "¼Ø´" + "¼Ø¼§" + "¼Ù¡" + "¼Ùé" + "¼çÍÂ" + "¼èͧ" + "¼è͹" + "¼èÍÂ" + "¼èÒ" + "¼èÒ¹" + "¼èÒ¼ÍÁ" + "¼èÒÇ" + "¼éÒ" + "½¹" + "½ÃÑè§" + "½ÃÑè§àÈÊ" + "½ÍÂ" + "½Ñ¡" + "½Ñ§" + "½Ñ´" + "½Ñ¹" + "½Ñè§" + "½Ò" + "½Ò¡" + "½Ò§" + "½Ò´" + "½Ò¹" + "½ÒÂ" + "½Ôè¹" + "½Õ" + "½Ö¡" + "½×´" + "½×¹" + "½Øè¹" + "½Ù§" + "½èÍ" + "½èÒ" + "½èÒÂ" + "½éÒ" + "½éÒÂ" + "¾¡" + "¾§" + "¾§ÈÒÇ´ÒÃ" + "¾§Èì" + "¾¨¹Ò" + "¾¨¹Ò¹Ø¡ÃÁ" + "¾¨¹Òö" + "¾¨¹ÕÂì" + "¾¨¹ì" + "¾¨ÁÒ¹" + "¾¨Õ" + "¾­Ò" + "¾­ÒÅÍ" + "¾³Ôª" + "¾³ÔªÂì" + "¾´" + "¾¸Ù" + "¾¹Á" + "¾¹Ñ¡" + "¾¹Ñ¡§Ò¹" + "¾¹Ñ§" + "¾¹Ñ¹" + "¾¹ÑÊ" + "¾¹Ò" + "¾¹Ò´Ã" + "¾¹ÒÃÒÁ" + "¾¹ÒÅÑÂ" + "¾¹Ô´Ò" + "¾º" + "¾ÁèÒ" + "¾Â¹µì" + "¾ÂÈ" + "¾ÂÑ¡" + "¾ÂÑ¡¾àÂÔ´" + "¾ÂѤ¦Ò" + "¾ÂѤ¦Ô¹" + "¾ÂѤ¦Õ" + "¾ÂѤ¦ì" + "¾ÂÑ­ª¹Ð" + "¾Âѵ" + "¾ÂѺ" + "¾Âҡóì" + "¾ÂÒ§¤ì" + "¾ÂÒ¸Ô" + "¾ÂÒ¹" + "¾ÂÒºÒ·" + "¾ÂÒºÒÅ" + "¾ÂÒÂÒÁ" + "¾ÂØ" + "¾Âا" + "¾ÂØËÂÒµÃÒ" + "¾ÂØËÐ" + "¾ÂØËàʹÒ" + "¾Ã" + "¾Ãµ" + "¾ÃÁ" + "¾ÃÃ" + "¾Ãä" + "¾Ãäì" + "¾Ãó" + "¾Ãó¹Ò" + "¾ÃÃÉ" + "¾ÃÃÉÒ" + "¾ÃÇ´" + "¾Ãǹ" + "¾ÃËÁ" + "¾ÃËÁ¨ÃÃÂì" + "¾ÃËÁ¨ÒÃÔ³Õ" + "¾ÃËÁ¨ÒÃÕ" + "¾ÃÍ´" + "¾ÃÐ" + "¾ÃÐÃÒªÇѧ" + "¾ÃÐͧ¤ì" + "¾ÃÐà¨éÒÍÂÙèËÑÇ" + "¾ÃÑ¡¾ÃéÍÁ" + "¾ÃÑ´" + "¾ÃÑè§" + "¾ÃÑè¹" + "¾ÃÒ¡" + "¾ÃÒ§" + "¾ÃÒ´" + "¾ÃÒ¹" + "¾ÃÒÂ" + "¾ÃÒÇ" + "¾ÃÒËÁ³ì" + "¾ÃÓ" + "¾ÃÔ¡" + "¾ÃÔ¹àµÍÃì" + "¾ÃÔº" + "¾ÃÔé§" + "¾ÃÔéÁ" + "¾ÃÕàÁÕÂÁ" + "¾ÃÕàÁÕÂÃì" + "¾ÃÖ§" + "¾ÃÖ¹" + "¾ÃÖº" + "¾Ã×´" + "¾ÃØ" + "¾ÃØ¡" + "¾Ãع" + "¾ÃØè§" + "¾ÃÙ" + "¾ÃÙ´" + "¾Ãèͧ" + "¾ÃèÍÁ¾ÃéÍ" + "¾ÃèÍÂ" + "¾ÃèÒ" + "¾ÃèÒ§" + "¾ÃèÓ" + "¾Ãéͧ" + "¾ÃéÍÁ" + "¾ÃéÍÁ¾ÃÑ¡" + "¾ÃéÍÂ" + "¾ÃéÒ" + "¾ÃéÓ" + "¾Ä¡ÉªÒµÔ" + "¾Ä¡É·Å" + "¾Ä¡ÉÃÒª" + "¾Ä¡ÉÈÒʵÃì" + "¾Ä¡ÉÒ" + "¾Ä¡Éà·Ç´Ò" + "¾Ä¡Éì" + "¾Ä²" + "¾Ä²Ò" + "¾Ä²Ò¨ÒÃÂì" + "¾Ä²Ô" + "¾Äµ" + "¾ÄµÔ" + "¾ÄµÔ¡ÃÃÁ" + "¾ÄµÔ¡Òóì" + "¾ÄµÔ¹ÑÂ" + "¾Ä·¸Ôì" + "¾Ä·¸ì" + "¾Ä¹µì" + "¾Ä¹·ì" + "¾ÄȨÔ" + "¾ÄȨԡÒ¹" + "¾ÄÉÀ" + "¾ÄÉÀÒ¤Á" + "¾ÄËÑÊ" + "¾ÄËÑʺ´Õ" + "¾Å" + "¾Å¡ÒÃ" + "¾Å¤ÇÒÁ" + "¾Åº" + "¾Åǧ" + "¾ÅÇѵ" + "¾ÅÈÖ¡ÉÒ" + "¾Åͧ" + "¾ÅÍ´" + "¾ÅÍÁá¾ÅÁ" + "¾ÅÍÂ" + "¾ÅÐ" + "¾Åѧ" + "¾Åѧ§Ò¹" + "¾ÅÑ´" + "¾Åѹ" + "¾ÅѺ" + "¾ÅѺ¾ÅÒ" + "¾ÅѺ¾ÅÖ§" + "¾ÅÑè¡" + "¾ÅÑè§" + "¾ÅÑèÇ" + "¾ÅÑé§" + "¾ÅÒ¡Ã" + "¾ÅÒ§" + "¾ÅÒ´" + "¾ÅÒ¸Ô¡ÒÃ" + "¾ÅÒ¹ÒÁÑÂ" + "¾ÅÒÁ" + "¾ÅÒÂ" + "¾ÅÒʵԡ" + "¾ÅÒÊÁÒ" + "¾ÅÒË¡" + "¾ÅÔ¡" + "¾ÅÔéÇ" + "¾ÅÕ" + "¾ÅØ" + "¾ÅØ¡" + "¾ÅØè¡" + "¾ÅØè§" + "¾ÅØéÂ" + "¾ÅÙ" + "¾ÅàÁ×ͧ" + "¾ÅàÃ×͹" + "¾ÅâÅ¡" + "¾ÅèÍÂ" + "¾ÅèÒ" + "¾ÅèÒ¹" + "¾ÅèÒÁ" + "¾ÅéÓ" + "¾Ç¡" + "¾Ç§" + "¾Ç¹" + "¾ÇÂ" + "¾Ê¡" + "¾ÊظÒ" + "¾ËÅ" + "¾ËÅâ¸Թ" + "¾ËØ" + "¾ËÙ" + "¾ËÙ¾¨¹ì" + "¾ËÙÊÙµ" + "¾Í" + "¾Í¡" + "¾Í§" + "¾Í·ÑÅ" + "¾ÍÃìµ" + "¾Ð" + "¾Ð¾Ô§" + "¾ÐÂÙ¹" + "¾ÐÃا¾ÐÃѧ" + "¾Ðǧ" + "¾ÐÇÑ¡¾Ðǹ" + "¾ÐÇéÒ¾ÐÇѧ" + "¾Ðͧ" + "¾ÐÍ×´¾ÐÍÁ" + "¾Ðà¹Õ§" + "¾Ðà¹éҾйÍ" + "¾ÐàÂÔº" + "¾ÐàÂÔº¾ÐÂÒº" + "¾Ðṧ" + "¾ÐâÅé" + "¾Ñ¡" + "¾Ñ¡µÃì" + "¾Ñ§" + "¾Ñ§§Ò" + "¾Ñ§¼×´" + "¾Ñ§¾ÇÂ" + "¾Ñ§¾Í¹" + "¾Ñ§¾Òº" + "¾Ñ§à¾Â" + "¾ÑªÃ" + "¾Ñ²¹Ð" + "¾Ñ²¹Ò" + "¾Ñ´" + "¾ÑµÃ" + "¾Ñ·¸ÊÕÁÒ" + "¾Ñ·ÂÒ" + "¾Ñ·Åا" + "¾Ñ¹" + "¾Ñ¹·Ò§" + "¾Ñ¹¸¡Ã³Õ" + "¾Ñ¹¸·Ô¾Âì" + "¾Ñ¹¸¹Ò¡ÒÃ" + "¾Ñ¹¸ºÑµÃ" + "¾Ñ¹¸ÁÔµÃ" + "¾Ñ¹¸Ð" + "¾Ñ¹¸Ø" + "¾Ñ¹¸Øì" + "¾Ñ¹¸ì" + "¾Ñº" + "¾ÑÅÅÀ" + "¾ÑÅÇѹ" + "¾ÑÇ" + "¾ÑÇÐ" + "¾ÑÈ´Õ" + "¾ÑÊ´Ø" + "¾ÑʵÃì" + "¾Ñʶҹ" + "¾Ò" + "¾Ò¡" + "¾Ò¡Âì" + "¾Ò§" + "¾Ò³" + "¾Ò³Ôª" + "¾Ò³ÔªÂì" + "¾Ò³Õ" + "¾Ò³Õ¹Õ" + "¾Ò´" + "¾Òµ" + "¾Ò·" + "¾Ò·Âì" + "¾Ò¸" + "¾Ò¸Ò" + "¾Ò¹" + "¾Ò¹Ã" + "¾ÒÁ" + "¾ÒÂ" + "¾ÒÂѾ" + "¾ÒÂØ" + "¾Òó" + "¾ÒÃÒ" + "¾ÒÃÒ¿Ô¹" + "¾ÒÃì" + "¾ÒÅ" + "¾ÒÅÕ" + "¾ÒÊ" + "¾ÒʹÒ" + "¾Òʹì" + "¾ÒÊØ¡ÃÕ" + "¾ÒÊàÇÔÃì´" + "¾Ò˹Ð" + "¾ÒËÐ" + "¾ÒËÒ" + "¾ÒËØ" + "¾ÒËØÃÑ´" + "¾ÒÌËÐ" + "¾Òà¹Å" + "¾ÒàËô" + "¾ÒàËÕÂÃ" + "¾ÒâÅ" + "¾Ó" + "¾Ó¹Ñ¡" + "¾Ô¡Å" + "¾Ô¡Ñ´" + "¾Ô¡ÑµÔ" + "¾Ô¡ÒÃ" + "¾Ô¡ØÅ" + "¾Ô¦Òµ" + "¾Ô¦à¹È" + "¾Ô§" + "¾Ô¨ÒóÒ" + "¾Ô¨Òóì" + "¾Ô¨ÔµÃ" + "¾ÔªÑÂ" + "¾ÔªÒ¹" + "¾ÔªÔµ" + "¾Ô««èÒ" + "¾Ô³" + "¾Ô¶Õ¾Ô¶Ñ¹" + "¾Ô·ÂÒ" + "¾Ô·Ñ¡Éì" + "¾Ô¸Ò¹" + "¾Ô¸Õ" + "¾Ô¹·Ø" + "¾Ô¹Íº¾Ôà·Ò" + "¾Ô¹ÑÂ" + "¾Ô¹ÒÈ" + "¾Ô¹Ô¨" + "¾Ô¹Ôµ" + "¾Ô¹ÔÈ" + "¾ÔºÑµÔ" + "¾ÔºÙÅ" + "¾Ô¾Áì" + "¾Ô¾Ñ¡¾Ô¾èǹ" + "¾Ô¾Ñ²¹ì" + "¾Ô¾Ò¡ÉÒ" + "¾Ô¾Ò¡Éì" + "¾Ô¾Ò·" + "¾Ô¾Ô¸" + "¾Ô¾Ô¸Àѳ±Ê¶Ò¹" + "¾Ô¾Ô¸Àѳ±ì" + "¾ÔÀ¾" + "¾ÔÁ¾ì" + "¾ÔÁÅ" + "¾ÔÁÒ¹" + "¾ÔÁØ¢" + "¾ÔÁàʹ" + "¾ÔÃÍ´" + "¾ÔÃÒº" + "¾ÔÃÒÅÑÂ" + "¾ÔÃÕé¾ÔäÃ" + "¾ÔÃس" + "¾ÔÃظ" + "¾ÔÅÒ»" + "¾ÔÅÒÊ" + "¾ÔÅÖ¡" + "¾ÔÅÖ¡¡Ö¡¡×Í" + "¾ÔÅÖ¡¾ÔÅÑè¹" + "¾ÔÈ" + "¾ÔÈǧ" + "¾ÔÈÇÒÊ" + "¾ÔÈÒÅ" + "¾ÔÈØ·¸Ôì" + "¾ÔÈØ·¸ì" + "¾ÔÉ" + "¾ÔɳØâÅ¡" + "¾ÔÉʧ" + "¾ÔÊ´ÒÃ" + "¾ÔÊÁÑÂ" + "¾ÔÊÑÂ" + "¾ÔÊÔ°" + "¾ÔÊØ·¸Ôì" + "¾ÔÊÙ¨¹ì" + "¾ÔËÒÃ" + "¾ÔÌÒÃ" + "¾Ôà¤ÃÒÐËì" + "¾ÔàÈÉ" + "¾Ô⡾Ôࡹ" + "¾Ôâ¤" + "¾Ôâø" + "¾ÔäÃ" + "¾ÔäÅ" + "¾Õ" + "¾Õª¤³Ôµ" + "¾Õ«Õ" + "¾ÕÃÐÁÔ´" + "¾Õè" + "¾Õé" + "¾Ö§" + "¾ÖÁ" + "¾ÖÁ¾Ó" + "¾Öè§" + "¾Öèº" + "¾×ª" + "¾×´" + "¾×é¹" + "¾×é¹·Õè" + "¾Ø" + "¾Ø¡" + "¾Ø§" + "¾Ø²" + "¾Ø²Ô" + "¾Ø´" + "¾Ø·¸" + "¾Ø·¸Ð" + "¾Ø·¸ÒÇÒÊ" + "¾Ø·¸Ô" + "¾Ø·ÃÒ" + "¾Ø·â¸è" + "¾Ø¸" + "¾Øè§" + "¾ØèÁ" + "¾ØéÂ" + "¾Ù" + "¾Ù´" + "¾Ù¹" + "¾Ùè" + "¾Ùé¹" + "¾à¹¨Ã" + "¾è¹" + "¾èǧ" + "¾èÍ" + "¾èÒ§" + "¾èÒ¹" + "¾èÒÂ" + "¾èÒËì" + "¾é¹" + "¾éÍ" + "¾éͧ" + "¾éÍÁ" + "¿¡" + "¿ÃÍ´ì" + "¿ÃÕ" + "¿ÅÍàù«ì" + "¿ÅÙÍÍÃÕ¹" + "¿Í¡" + "¿Í§" + "¿Í´" + "¿Í¹" + "¿Í¹µì" + "¿ÍÃìÁ" + "¿ÍÃìÁÒÅ´Õäδì" + "¿ÍÃìÁÒÅÔ¹" + "¿ÍÃìáÁµ" + "¿ÍÊ«ÔÅ" + "¿ÍÊ¿ÍÃÑÊ" + "¿ÍÊ࿵" + "¿Ñ¡" + "¿Ñ§" + "¿Ñ§¡ìªÑ¹" + "¿Ñ§¡ìªÑè¹" + "¿Ñ´" + "¿Ñ¹" + "¿Ñè¹" + "¿Ñé¹" + "¿Ò¡" + "¿Ò§" + "¿Ò´" + "¿Ò·ÍÁ" + "¿Ò¹" + "¿ÒÂ" + "¿ÒÃìÁ" + "¿ÒÊ«Ôʵì" + "¿Ô¡" + "¿Ô´" + "¿Ô¹áŹ´ì" + "¿Ôº" + "¿ÔÅ´ì" + "¿ÔÅÔ»»Ô¹Êì" + "¿ÔÅìÁ" + "¿ÔÇÊì" + "¿ÔÊÔ¡Êì" + "¿Õ¿èÒ" + "¿Õè" + "¿Õé" + "¿×¹" + "¿×Á" + "¿×é¹" + "¿Ø" + "¿Øµ" + "¿ØµºÍÅ" + "¿Ø¹" + "¿Øº" + "¿Ø¿Ð" + "¿ØÅÊá¡ê»" + "¿Øèº" + "¿ØèÁà¿×ÍÂ" + "¿Øé§" + "¿Ù" + "¿Ù¡" + "¿Ù¨Ô" + "¿Ù´" + "¿ÙÁ" + "¿ÙÁ¿ÒÂ" + "¿Ùè" + "¿èÍ" + "¿èͧ" + "¿è͹" + "¿èÒ§" + "¿èÒÁ" + "¿éÍ" + "¿éͧ" + "¿é͹" + "¿éÒ" + "À¤¹Õ" + "À¾" + "ÀÁÃ" + "ÀÂѹµÃÒÂ" + "Àõ" + "ÀÃÃ" + "ÀÃÃÂÒ" + "ÀÃÒ´Ã" + "ÀÃÔÂÒ" + "ÀǵѳËÒ" + "ÀÇѧ¤ì" + "ÀÑ¡´Õ" + "ÀÑ¡ÉÒ" + "ÀÑ¡ÉÒËÒÃ" + "Àѳ±ì" + "ÀѵµÒ¤ÒÃ" + "ÀѵµÒËÒÃ" + "ÀÑ·Ã" + "ÀѾ" + "ÀÑÂ" + "ÀÑÊ´Ò" + "ÀÑʵÃÒ" + "ÀÒ¤" + "ÀÒ¤Õ" + "ÀÒª¹Ð" + "ÀÒ³Ø" + "ÀÒ¾" + "ÀҾ¹µÃì" + "ÀÒÂ" + "ÀÒÃ" + "ÀÒáԨ" + "ÀÒôÕ" + "ÀÒõ" + "ÀÒÃÐ" + "ÀÒÃÒ" + "ÀÒÃâç" + "ÀÒǹÒ" + "ÀÒÇÐ" + "ÀÒÉ" + "ÀÒÉ¡" + "ÀÒɳì" + "ÀÒÉÒ" + "ÀÒÉÔµ" + "ÀÒÉÕ" + "ÀÒÊ¡Ã" + "ÀÒʹì" + "ÀÒÊÇÃ" + "ÀÔ¡¢Ò" + "ÀÔ¡¢Ò¨ÒÃ" + "ÀÔ¡¢Ø" + "ÀÔ¡¢Ø¹Õ" + "ÀÔ¡ÉÒ" + "ÀÔ¡ÉØ" + "ÀÔ¡ÉسÕ" + "ÀÔ§¤ÒÃ" + "ÀÔ­â­" + "ÀÔ¹·¹Ò¡ÒÃ" + "ÀÔ¹·ì" + "ÀÔÃÁÂì" + "Àت" + "Àت§¤ì" + "ÀØÁÃÒ" + "ÀØÁÃÔ¹" + "ÀØÁÃÕ" + "ÀÙ" + "ÀÙµ" + "ÀÙµÔ" + "ÀÙÁÔ" + "ÀÙÁÔ»ÃÐà·È" + "ÀÙÁÔÀÒ¤" + "ÀÙÁÔÅÓà¹Ò" + "ÀÙÁÔÈÒʵÃì" + "ÀÙÁÕ" + "ÀÙÃÔ" + "ÀÙÃÕ" + "ÀÙÇ´Å" + "ÀÙǹҶ" + "ÀÙÇ๵Ã" + "ÀÙÇä¹Â" + "ÀÙÉÒ" + "ÀÙÉÔµ" + "ÀÙà¡çµ" + "ÀÙè" + "Á¡" + "Á¡Ã" + "Á¡ÃÒ¤Á" + "Á¡Ø®" + "Á¡ØÅ" + "Á§¡Ø®" + "Á§¤Å" + "Á³±¡" + "Á³±»" + "Á³±Å" + "Á³Õ" + "Á³à±ÕÂÃ" + "Á´" + "ÁµÔ" + "Á¸Ø" + "Á¹" + "Á¹µÃÕ" + "Á¹µÃì" + "Á¹µì" + "Á¹ÊÔ¡ÒÃ" + "Á¹ÑÊ" + "Á¹ÑÊÇÕ" + "Á¹ÔÅÒ" + "Á¹ØɪҵÔ" + "Á¹ØɸÃÃÁ" + "Á¹ØÉÂÈÒʵÃì" + "Á¹ØÉÂÊÑÁ¾Ñ¹¸ì" + "Á¹ØÉÂà·¾" + "Á¹ØÉÂâÅ¡" + "Á¹ØÉÂì" + "Á¹à·ÕÂÃ" + "ÁÂØÃÒ" + "ÁÂØÃÕ" + "ÁÂØàÃÈ" + "ÁÂÙÃ" + "ÁÃ" + "Ááµ" + "ÁóÐ" + "Áóì" + "Áô¡" + "ÁÃä" + "ÁÃä¹Ò¡" + "ÁÃäÒ" + "ÁÃÃÂÒ" + "ÁÃÃÂÒ·" + "ÁÃÊØÁ" + "ÁĤ" + "ÁĵÂÙ" + "ÁÅ" + "ÁÅ·Ô¹" + "ÁÅÒÂ" + "ÁÅÒÂÙ" + "ÁÅéÒ§" + "Áǹ" + "ÁÇÂ" + "ÁÇÅ" + "ÁË¡ÃÃÁ" + "ÁËó¾" + "ÁËÃó¾" + "ÁËÃʾ" + "ÁËѹµâ·É" + "ÁËѹµì" + "ÁËÑȨÃÃÂì" + "ÁËÒ" + "ÁËÒª¹" + "ÁËÒ´àÅç¡" + "ÁËÒ´ä·Â" + "ÁËÒµÁÐ" + "ÁËÒÂÒ¹" + "ÁËÒÃÒª" + "ÁËÒÇÔ·ÂÒÅÑÂ" + "ÁËÒÈÒÅ" + "ÁËÒÊÁØ·Ã" + "ÁËÒËÔ§¤Øì" + "ÁËÔ§Êì" + "ÁËÔ´Å" + "ÁËÔÁÒ" + "ÁËÖÁÒ" + "ÁÍ" + "Áͧ" + "Áͧâ¡ÅÍ´ì" + "ÁÍ­" + "ÁÍ´" + "Á͹ÔàµÍÃì" + "Áͺ" + "ÁÍÁ" + "ÁÍÁáÁÁ" + "ÁÍÃͤâ¤" + "ÁÍÃì¿Õ¹" + "ÁÍÅâ·Ê" + "ÁÍÊâ¤Çì" + "ÁÍàµÍÃì" + "ÁÐ" + "ÁСÃÙ´" + "ÁС͡" + "ÁСÐâùÕ" + "ÁТÇÔ´" + "ÁТÒÁ" + "ÁТèǧ" + "ÁФèÒ" + "ÁЧÑèÇ" + "ÁЧØÁÁЧÒËÃÒ" + "ÁЫҧ" + "Áдѹ" + "ÁекÐ" + "ÁеÖè§" + "ÁеÙÁ" + "Áеéͧ" + "ÁйÒÇ" + "ÁлÃÒ§" + "ÁоÃéÒÇ" + "ÁоÅѺ" + "Áоٴ" + "ÁÐÁèǧ" + "ÁÐÂÁ" + "ÁÐÃÐ" + "ÁÐÃ×¹" + "ÁÐÅСÍ" + "ÁÐÅÔ" + "ÁÐËÐËÁÑ´" + "ÁÐÎÍ¡¡Ò¹Õ" + "ÁÐà¡Å×Í" + "ÁÐà¢×Í" + "ÁÐà´×èÍ" + "ÁÐà¿×ͧ" + "ÁÐàÃç§" + "ÁÐàÊç§" + "ÁÐáÁ" + "ÁÐâç" + "ÁÐä¿" + "ÁÑ¡" + "ÁÑ¡¡ÐÊѹ" + "ÁѤ¤Øà·È¡ì" + "ÁѤ¹Ò¡" + "ÁѦÇÒ¹" + "Áѧ¡Ã" + "Áѧ¤Ø´" + "Áѧ¤èÒ" + "ÁѨ¨Ø" + "ÁѨ©Ò" + "ÁѪ¬ÔÁÂÒÁ" + "ÁѪ¬ÔÁÇÑÂ" + "ÁѪ¬ÔÁÒ" + "Áѳ±¹ÈÔÅ»ì" + "Áѳ±¹Ò" + "ÁÑ´" + "ÁѵÊÂÒ" + "ÁÑ·¹Ð" + "ÁÑ·¹ÕÂÐ" + "ÁÑ·ÂÐ" + "ÁѸ°ҹ" + "ÁѸÂÁ" + "ÁѸÂÑʶì" + "Áѹ" + "ÁѺ" + "ÁÑÁÁÕè" + "ÁÑÂ" + "ÁÑŵÔ" + "ÁÑÅÅÔ¡Ò" + "ÁÑÇ" + "ÁÑÈÂÒ" + "ÁÑʵÒÃì´" + "ÁÑÊÁÑè¹" + "ÁÑÊÂÔ´" + "ÁÑÊÅÔ¹" + "ÁÑè§" + "ÁÑè¹" + "ÁÑèÇ" + "ÁÒ" + "ÁÒ¡" + "ÁÒ¡¡ÇèÒ" + "ÁÒ¦ºÙªÒ" + "ÁÒ¦Ð" + "ÁÒ³¾" + "ÁÒ³ÇÔ¡Ò" + "ÁÒ´" + "ÁÒµÃ" + "ÁҵáÒÃ" + "Áҵðҹ" + "ÁÒµÃÒ" + "ÁÒµØ" + "ÁÒµØÅÒ" + "ÁÒ¹" + "ÁÒ¹¾" + "ÁÒ¹Ð" + "ÁÒ¹Ôµ" + "ÁÒ¹Õ" + "ÁÒ¹ØÉ" + "ÁÒ¹ØÉÂÇÔ·ÂÒ" + "ÁÒºµÒ¾Ø´" + "ÁÒÂ" + "ÁÒÂÒ" + "ÁÒÂÒÇÕ" + "ÁÒÃ" + "ÁÒä" + "ÁÒôÃ" + "ÁÒôÒ" + "ÁÒÃÂÒ" + "ÁÒÃÂÒ·" + "ÁÒÃÈÃÕ" + "ÁÒÃص" + "ÁÒÅÑÂ" + "ÁÒÅÒàÃÕÂ" + "ÁÒÅÕ" + "ÁÒÈ" + "ÁÒÊ" + "ÁÒÊàµÍÃì" + "ÁÒàÅà«ÕÂ" + "ÁÒâ¤Ã" + "ÁÒ⹪­ì" + "ÁÓàÅ×ͧ" + "ÁÔ" + "ÁÔ¤ÊÑ­­Õ" + "ÁÔ¨©Ò" + "ÁÔ´" + "ÁÔµÃ" + "ÁÔµÔ" + "ÁԶعÒ¹" + "ÁÔÂѹÁèÒ" + "ÁÔÅÅÔ¡ÃÑÁ" + "ÁÔÅÅÔºÒÃì" + "ÁÔÅÅÔÅÔµÃ" + "ÁÔÅÅÔàÁµÃ" + "ÁÔÅÒµ" + "ÁÔÇÊÔ¤" + "ÁÔÊ" + "ÁÔÊ«Ò" + "ÁÔÊàµÍÃì" + "ÁÔàµÍÃì" + "ÁÔè§" + "ÁÔéÁ" + "ÁÕ" + "ÁÕ´" + "ÁÕ¹" + "ÁÕ¹Ò¤Á" + "ÁÕà·¹" + "ÁÕè" + "ÁÕèÊÑéÇ" + "ÁÖ§" + "ÁÖ¹" + "Á×´" + "Á×¹" + "Á×Í" + "Á×è¹" + "Á×éÍ" + "ÁØ" + "ÁØ¡" + "ÁØ¡´Ò" + "ÁØ¡´ÒËÒÃ" + "ÁØ¢" + "Áا" + "ÁبÅÔ¹·ì" + "ÁØ´" + "Áص¡Ô´" + "ÁØ·ÔµÒ" + "ÁØ·Ø" + "ÁعԹ·Ãì" + "ÁعÕ" + "Áغ" + "ÁغÁÔº" + "ÁØÁ" + "ÁØÊÅÔÁ" + "ÁØÊÒ" + "ÁØè§" + "ÁØè¹" + "ÁØèÂ" + "ÁØé§" + "ÁÙ¡" + "ÁÙµÃ" + "ÁÙ¹" + "ÁÙÁÁÒÁ" + "ÁÙÅ" + "ÁÙŤèÒ" + "ÁÙÅ°Ò¹" + "ÁÙŹԸÔ" + "ÁÙà«Í" + "ÁÙè·Ùè" + "ÁÙèÅÕè" + "ÁàËÈÇÃ" + "ÁàËÊÕ" + "ÁàËÒÌÒÃ" + "Áâ¹" + "Áâ¹ÃÒËì" + "Áâ¹ÊÒàÃè" + "ÁâËÃʾ" + "ÁâËÃз֡" + "ÁâËÃÕ" + "ÁâËÌÒÃ" + "Áèǧ" + "Áèǹ" + "Áè͵éÍ" + "ÁèÍÂ" + "ÁèÍÎèÍÁ" + "ÁèÒ¹" + "ÁèÒÂ" + "Áéǹ" + "ÁéÇÂ" + "ÁéÒ" + "ÁéÒ¹" + "ÁéÒÁ" + "¡" + "¡Âèͧ" + "§" + "§âÂè" + "µÔ" + "¶ҡÃÃÁ" + "¹µÃì" + "¹µì" + "ÂÁ" + "ÂÁ¡" + "ÂÃç" + "ÂÅ" + "Âǧ" + "ÂÇ´" + "Âǹ" + "ÂǺ" + "ÂÈ" + "ÂÍ" + "ÂÍ¡" + "Âͧ" + "ÂÍ´" + "Â͹" + "Âͺ" + "ÂÍÁ" + "ÂÐ" + "ÂÑ¡" + "ÂÑ¡¢Ô¹Õ" + "ÂÑ¡¢ì" + "ÂÑ¡ÂÍ¡" + "ÂÑ¡ÉÔ³Õ" + "ÂÑ¡ÉÕ" + "ÂÑ¡Éì" + "Âѧ" + "ÂÑ´" + "ÂÑ´àÂÕ´" + "Âѹ" + "ÂѹµÃ¡ÃÃÁ" + "ÂѹµÃì" + "Âѹµì" + "ÂѺ" + "ÂÑè§Â×¹" + "ÂÑè¹" + "ÂÑèÇ" + "ÂÑé§" + "ÂÑéÇ" + "ÂÑéÇàÂÕéÂ" + "ÂÒ" + "ÂÒ¡" + "ÂÒ§" + "ÂÒ¨¡" + "ÂÒ´" + "ÂÒ´Ò" + "ÂÒµÃ" + "ÂÒµÃÒ" + "ÂÒ¹" + "ÂÒ¹Õ" + "ÂÒº" + "ÂÒºéÒ" + "ÂÒÁ" + "ÂÒÂ" + "ÂÒÇ" + "ÂÓ" + "ÂÔ¡" + "ÂÔ§" + "ÂÔ¹" + "ÂÔº" + "ÂÔ»«ÑÁ" + "ÂÔ»«Õ" + "ÂÔÁ¹Òʵԡ" + "ÂÔÇ" + "ÂÔËÇÒ" + "ÂÔè§" + "ÂÔéÁ" + "ÂÕ" + "ÂÕ¹" + "ÂÕÃÒ¿" + "ÂÕè" + "ÂÕèÊ¡" + "ÂÕèʧ" + "ÂÕèÊØè¹" + "ÂÕèÊèÒ¹" + "ÂÕèËÃÐ" + "ÂÕèËÃèÒ" + "ÂÕèËéÍ" + "ÂÖ¡Â×Í" + "ÂÖ´" + "Â×´" + "Â×¹" + "Â×Á" + "Â×è¹" + "Â×éÍ" + "ÂØ" + "ÂØ¡µì" + "Âؤ" + "ÂؤÅ" + "Âا" + "ÂØ´" + "ÂصÔ" + "ÂصԸÃÃÁ" + "ÂØ·¸" + "ÂØ·¸¡ÒÃ" + "ÂØ·¸¹Ò" + "ÂØ·¸ì" + "Âط⸻¡Ã³ì" + "Âغ" + "Âؾ´Õ" + "Âؾ§" + "ÂؾÃÒª" + "ÂؾàÂÒÇì" + "ÂؾàÃÈ" + "ÂØÃÂÒµÃ" + "ÂØǪ¹" + "ÂØâû" + "ÂØè§" + "ÂØèÁÂèÒÁ" + "ÂØèÂ" + "ÂØé§" + "ÂØéÂ" + "ÂÙ§" + "ÂÙ¹Ô¡«ì" + "ÂÙÃÂÒµÃ" + "ÂÙÃÔ¡" + "ÂÙÊà«ÍÃì" + "ÂÙàùÑÊ" + "ÂÙàÃà¹ÕÂÁ" + "ÂÙâ¡ÊÅÒàÇÕÂ" + "ÂÙâ´" + "ÂÙâÃ" + "ÂÙè" + "ÂâÊ" + "Âè¹" + "ÂèÍ" + "Âèͧ" + "ÂèÍÁ" + "ÂèÍÂ" + "ÂèÐ" + "ÂèÒ" + "ÂèÒ§" + "ÂèÒ¹" + "ÂèÒÁ" + "ÂèÓ" + "ÂéÇÂ" + "Âé͹" + "ÂéÍÁ" + "ÂéÍÂ" + "ÂéÒÂ" + "ÂéÓ" + "á" + "ç" + "ç¤Çѵ¶Ø" + "ç¤ì" + "è¹Ò" + "èԵ" + "èàè" + "èàÅ¢" + "ó" + "óѰ" + "ô" + "ôÕ" + "õÐ" + "õÔ" + "ö" + "öàÁÅì" + "ù" + "ú" + "þ" + "þÕ" + "ÃÁ" + "ÃÁ³Õ" + "ÃÁ³ÕÂì" + "ÃÁÂì" + "ÃÂÒ§¤ì" + "ÃÇ¡" + "Ãǧ" + "ÃÇ´" + "Ãǹ" + "ÃǹàÃ" + "ÃǺ" + "ÃÇÁ" + "ÃÇÂ" + "ÃÇÔ" + "ÃÇÕ" + "ÃȹÒ" + "ÃÊ" + "ÃʹÒ" + "ÃÊÒ¹àÇ·" + "ÃÊÔ¡" + "ÃËÑÊ" + "ÃËÔµ" + "ÃÍ" + "ÃÍ¡" + "Ãͧ" + "Ãͧà§ç§" + "ÃÍ´" + "Ã͹" + "Ãͺ" + "Ãͺ¤Íº" + "ÃÍÁ" + "ÃÍÂ" + "ÃÐ" + "ÃСÓ" + "ÃФ¹" + "ÃФÒÂ" + "ÃЦѧ" + "ÃЧÁ" + "ÃЧѺ" + "ÃдÁ" + "ÃдѺ" + "ÃдÙ" + "Ãз´" + "ÃзÁ" + "ÃзÇÂ" + "Ãз֡" + "ÃйҴ" + "ÃйҺ" + "ÃйÒÇ" + "Ãкº" + "ÃкÁ" + "Ãкͺ" + "ÃкѺ" + "Ãкҭ" + "ÃкҴ" + "ÃкÒÂ" + "ÃкÓ" + "ÃкÔÅ" + "Ãк×Í" + "ÃкØ" + "ÃÐÂÐ" + "ÃÐÂѺ" + "ÃÐÂÓ" + "ÃÐÂÔº" + "ÃÐÂéÒ" + "ÃÐÃÔ¡" + "ÃÐÅÍ¡" + "ÃÐÅÖ¡" + "ÃÐÇѧ" + "ÃÐÇÒ§" + "ÃÐËÇèÒ§" + "ÃÐËØÂ" + "ÃÐÍÒ" + "ÃÐÍØ" + "ÃÐ๹" + "ÃÐà¹ÃйҴ" + "ÃÐà¹Õ´" + "ÃÐàºÔ´" + "ÃÐàºÕ§" + "ÃÐàºÕ¹" + "ÃÐàºÕº" + "ÃÐàºç§" + "ÃÐàÁÕÂÃ" + "ÃÐàËÂ" + "ÃÐàËÔ´" + "ÃÐàËç¨" + "ÃÐá¤Ð" + "ÃÐá§é" + "ÃÐṧ" + "ÃÐáǧ" + "ÃÑ¡" + "ÃÑ¡¢ì" + "ÃÑ¡ºÕé" + "ÃÑ¡ÉÒ" + "ÃÑ¡Éì" + "ÃÑ¡áÃé" + "Ãѧ" + "ÃѧÊÔµ" + "ÃѧÊÕ" + "Ãѧá¡" + "Ãѧá¤" + "ÃѨ©Ò" + "ÃѪ" + "ÃѪ®ÒÀÔàÉ¡" + "ÃѪ´ÒÀÔàÉ¡" + "ÃѪ¹Õ" + "ÃÑ­¨Ç¹" + "ÃÑ°" + "ÃÑ°ºÒÅ" + "ÃÑ°ºØÃØÉ" + "ÃÑ°»ÃÐÈÒʹÈÒʵÃì" + "ÃÑ°»ÃÐËÒÃ" + "ÃÑ°Á¹µÃÕ" + "ÃÑ°ÇÔÊÒË¡Ô¨" + "ÃÑ°ÈÒʵÃì" + "ÃÑ°ÊÀÒ" + "ÃÑ´" + "Ãѵ" + "ÃѵµÔ" + "Ãѵ¹" + "Ãѵ¹µÃÑÂ" + "Ãѵ¹ºÑÅÅѧ¡ì" + "Ãѵ¹Ð" + "Ãѵ¹Ò" + "Ãѵ¹â¡ÊÔ¹·Ãì" + "Ãѵ¹ì" + "ÃѶÂÒ" + "Ãѹ" + "Ãѹ·´" + "ÃѺ" + "ÃѺÃͧ" + "ÃÑÁÀÒ" + "ÃÑÁÁÕè" + "ÃÑÇ" + "ÃÑÈÁÔÁѵ" + "ÃÑÈÁÔÁÒ¹" + "ÃÑÈÁÕ" + "ÃÑɮҡÃ" + "ÃÑÊà«ÕÂ" + "ÃÑèÇ" + "ÃÑé§" + "ÃÑé¹" + "ÃÑéÇ" + "ÃÒ" + "ÃÒ¡" + "ÃÒ¡ÉÊ" + "ÃÒ¤Ð" + "ÃÒ¤Ò" + "ÃÒ¤Ô¹" + "ÃÒ¤Õ" + "ÃÒ§" + "ÃÒ§ªÒ§" + "ÃÒ§ÇÑÅ" + "ÃÒª" + "ÃÒª¡ÒÃ" + "ÃÒª¹Ô¡ØÅ" + "ÃÒªºÑ³±ÔµÂʶҹ" + "ÃÒªÂì" + "ÃҪǧÈì" + "ÃÒªÇâç¡ÒÃ" + "ÃÒªÊÕÁÒ" + "ÃÒªÊÕËì" + "ÃҪѹÂì" + "ÃÒªÒ" + "ÃÒªÒ¸ÔÃÒª" + "ÃÒªÒÀÔàÉ¡" + "ÃÒªÒÇ´Õ" + "ÃÒªÔ¹Ô¡ØÅ" + "ÃÒªÔ¹Õ" + "ÃÒªÔ¹Ù»¶ÑÁÀì" + "ÃÒªÙ»¶ÑÁÀì" + "ÃÒªÙ»âÀ¤" + "ÃÒ­" + "ÃÒ´" + "ÃÒµ" + "ÃÒµÃ" + "ÃÒµÃÕ" + "ÃÒ¹" + "ÃÒº" + "ÃÒ¾³ÒÊÙÃ" + "ÃÒÁ" + "ÃÒÁ¤Óá˧" + "ÃÒÁÊÙÃ" + "ÃÒÁÑ­" + "ÃÒÁÒ" + "ÃÒÁÒ¸Ôº´Õ" + "ÃÒÁà¡ÕÂõÔì" + "ÃÒÂ" + "ÃÒ¡ÒÃ" + "ÃÒ§ҹ" + "ÃÒÇ" + "ÃÒÇÕ" + "ÃÒÈÕ" + "ÃÒÉ®Ã" + "ÃÒÉ®Ãì" + "ÃÒËÙ" + "ÃÒહ·Ãì" + "ÃÒ⪺ÒÂ" + "ÃÒâªÇÒ·" + "ÃÓ" + "ÃÓ¤Ò­" + "ÃӨǹ" + "ÃӾѹ" + "ÃÓ¾Ö§" + "ÃÓÁйÒ" + "ÃÓÅÖ¡" + "ÃÓà¾Â" + "ÃÔ" + "ÃÔ¡" + "ÃÔ´Êմǧ" + "ÃÔ¹" + "ÃÔº" + "ÃÔººÔé¹" + "ÃÔÁ" + "ÃÔÉÂÒ" + "ÃÔé¹" + "ÃÔéÇ" + "ÃÕ" + "ÃÕ¨ÔÊ·ÃÕ" + "ÃÕ´" + "ÃÕµ" + "ÃÕº" + "ÃÕÁ" + "ÃÕÇÔÇ" + "ÃÕàÊÔÃìª" + "ÃÕàÊÔÃì«" + "ÃÕâÁµ" + "ÃÕè" + "ÃÕé" + "ÃÖ§" + "ÃÖé§" + "Ã×è¹" + "Ã×éÍ" + "ÃØ" + "ÃØ¡" + "ÃØ¡¢¡Ð" + "ÃØ¡¢ªÒµÔ" + "ÃØ¡¢ÁÙÅ" + "ÃØ¡¢à·Ç´Ò" + "ÃØ¡¢ì" + "ÃاÃѧ" + "ÃبÔ" + "ÃبÕ" + "ÃØ´" + "Ãص" + "ÃØ·¸ì" + "ÃØ·Ã" + "Ãع" + "Ãعáç" + "ÃغÃÙè" + "ÃØÁ" + "ÃØɯì" + "ÃØÊâ«" + "ÃØè§" + "ÃØè¹" + "ÃØèÁ" + "ÃØèÁÃèÒÁ" + "ÃØèÂ" + "ÃØé§" + "ÃÙ" + "ÃÙ´" + "ÃÙ»" + "ÃÙÁÒà¹ÕÂ" + "ÃÙÊà«ÕÂ" + "ÃÙàÁà¹ÕÂ" + "ÃÙàÅçµµì" + "ÃÙè" + "ÃÙé" + "ÃÙé¨Ñ¡" + "ÃâË" + "Ãè¹" + "ÃèÁ" + "Ãèǧ" + "Ãèǹ" + "ÃèÇÁ" + "ÃèÍ" + "Ãèͧ" + "Ãè͹" + "ÃèÍÂ" + "ÃèÒ" + "ÃèÒ§" + "ÃèÒ¹" + "ÃèÒÂ" + "ÃèÓ" + "ÃèÓÃÇÂ" + "Ãé¹" + "Ãéͧ" + "Ãé͹" + "ÃéÍÂ" + "ÃéÒ" + "ÃéÒ§" + "ÃéÒ¹" + "ÃéÒÂ" + "ÃéÒÇ" + "Ä¡Éì" + "ĪÒ" + "ĪØ" + "ij" + "Ä´Õ" + "Ä´Ù" + "ĵ" + "Ä·¸Ò" + "Ä·¸Ôì" + "Ä·ÑÂ" + "ÄÉÀ" + "ÄÉÕ" + "Äå" + "ŧ" + "Å´" + "Å´Ò" + "Å´ÒÇÑÅÂì" + "Ź" + "ź" + "žºØÃÕ" + "ÅÁ" + "ÅŹÒ" + "ÅÅÒ¯" + "ÅÅÔµ" + "ÅÇ¡" + "Åǧ" + "ÅÇ´" + "ÅǹÅÒÁ" + "ÅǹÐ" + "ÅÇÐ" + "ÅËØ" + "ÅÍ¡" + "ÅÍ¡ÒÃÔ·ÖÁ" + "Åͧ" + "Åͧ¡Í§" + "Åͧ¨Ô¨Ù´" + "ÅÍ´" + "Å͵àµÍÃÕè" + "Å͹" + "Å͹´Í¹" + "Åͺ" + "ÅÍÁ" + "ÅÍÂ" + "ÅÍÍ" + "ÅÐ" + "ÅФÃ" + "ÅеԨٴ" + "ÅеԹ" + "ÅкѴ" + "ÅÐÁÑè§" + "ÅÐÁع" + "ÅÐÁèÍÁ" + "ÅÐÁéÒÂ" + "ÅÐÅÇÂ" + "ÅÐËÁÒ´" + "ÅÐËÒ¹" + "ÅÐËØè§" + "ÅÐÍͧ" + "ÅÐÍÒÂ" + "ÅÐàÁÍ" + "ÅÐàÁÒÐ" + "ÅÐàÁÔ´" + "ÅÐàÁÕ´" + "ÅÐàŧ" + "ÅÐàÅÔ§" + "ÅÐàÅÕ´" + "ÅÐàǧ" + "ÅÐàËÕèÂ" + "ÅÐàÍÕ´" + "ÅÐáÇ¡" + "ÅÐâÁº" + "ÅÐâÇé" + "ÅÐäÁ" + "ÅÑ¡" + "ÅÑ¡¢³Ð" + "ÅѡɳÐ" + "ÅÑ¡ÉÁÕ" + "ÅѤ¤Ð" + "ÅѤ¹Ò" + "ÅѤ¹ì" + "Åѧ" + "ÅѧàÅ" + "ÅѪªÒ" + "ÅѪªÕ" + "ÅÑ­¨¡Ã" + "ÅÑ­¨¹ì" + "ÅÑ­©" + "ÅÑ­©¡Ã" + "ÅÑ­©¹ì" + "ÅÑ´" + "ÅÑ´Ò" + "ÅÑ·¸Ô" + "ÅÑ·¸ì" + "Åѹ" + "ÅѺ" + "ÅѾ¸ì" + "ÅÑÂ" + "ÅÑè¹" + "ÅÑè¹·Á" + "ÅÒ" + "ÅÒ¡" + "ÅÒ§" + "ÅÒ­" + "ÅÒ´" + "ÅÒ¹" + "ÅÒº" + "ÅÒ»" + "ÅÒÀ" + "ÅÒÁ" + "ÅÒÁ¡" + "ÅÒÂ" + "ÅÒÂÊ×Í" + "ÅÒŹÐ" + "ÅÒÅÊ" + "ÅÒÇ" + "ÅÒÇ¡" + "ÅÒÇѳÂì" + "ÅÒÇÒ" + "ÅÒʹÐ" + "ÅÓ" + "ÅӴǹ" + "ÅӴѺ" + "ÅÓºÒ¡" + "ÅӾǹ" + "ÅӾͧ" + "ÅӾѧ" + "ÅÓÀآѹ" + "ÅÓÂͧ" + "ÅÓà¤ç­" + "ÅÓà¨Õ¡" + "ÅÓà¹Ò" + "ÅÓà¾Ò" + "ÅÓàÅÔ¡" + "ÅÓàÅÕ§" + "ÅÓ⾧" + "ÅÓäÂ" + "ÅÔ" + "ÅÔ¡ä¹µì" + "ÅÔ¢ÊÔ·¸Ôì" + "ÅÔ¢Ôµ" + "ÅÔ§" + "ÅÔ§¡ì" + "ÅÔ§¤ì" + "ÅÔ´" + "ÅÔµ" + "ÅÔµÁÑÊ" + "ÅÔµÃ" + "ÅÔ¹Ô¹" + "ÅÔº" + "ÅÔ»´Ò" + "ÅÔ»µì" + "ÅԻʵԡ" + "ÅÔ»Ô" + "ÅÔ¿µì" + "ÅÔÅÔµ" + "ÅÔÇ" + "ÅÔʧ" + "ÅÔà¡" + "ÅÔàºÕÂ" + "ÅÔàÇÍÃì¾ÙÅ" + "ÅÔèÁ" + "ÅÔèÇ" + "ÅÔé¹" + "ÅÔ鹨Õè" + "ÅÔéÁ" + "ÅÕ" + "ÅÕ¡" + "Åչء«ì" + "ÅÕº" + "ÅÕÅÒ" + "ÅÕÅÒÈ" + "ÅÕè" + "ÅÕé" + "ÅÖ¡" + "ÅÖ§¤ì" + "Å×´" + "Å׺" + "Å×Á" + "Å×Í" + "Å×è¹" + "Å×èÍ" + "Å×é¹" + "Å×éÍ" + "ÅØ" + "ÅØ¡" + "Åا" + "ÅØÂ" + "ÅØè¹" + "ÅØèÁ" + "ÅØèÂ" + "ÅØé§" + "ÅØéÂ" + "ÅÙ¡" + "ÅÙ¡¤éÒ" + "ÅÙ¡ºÒÈ¡ì" + "ÅÙº" + "ÅÙè" + "Åç͡ࡵ" + "Åè¹" + "ÅèÁ" + "Åèǧ" + "ÅèÇÁ" + "ÅèÍ" + "Åèͧ" + "Åè͹" + "ÅèÍÂ" + "ÅèÍáÅè" + "ÅèÐ" + "ÅèÒ" + "ÅèÒ§" + "ÅèÒ¹" + "ÅèÒÁ" + "ÅèÓ" + "Åé§àÅé§" + "Åé¹" + "ÅéÁ" + "Åéǧ" + "Åéǹ" + "ÅéÍ" + "ÅéÍÁ" + "ÅéÒ" + "ÅéÒ§" + "ÅéÒµéÒ" + "ÅéÒ¹" + "ÅéÓ" + "Ç¡" + "Ç¡Ð" + "ǧ" + "ǧ¡µ" + "ǧ¡ì" + "ǧ¨Ã" + "ǧȡÃ" + "ǧÈÒ" + "ǧÈì" + "Ǩ¹Ð" + "ǨÐ" + "ǨÕ" + "ǪÐ" + "ǪÔÃÐ" + "ǪÔÃÒÇظ" + "dzºÑµÃ" + "dz¾Ñ¹¸¹ì" + "dzÐ" + "dzԪ" + "dzԪªÒ" + "dzԪÂÒ" + "dzԪÂì" + "dzԾ¡" + "Ç´Õ" + "ǵÐ" + "Ç·Ð" + "Ç·Ñ­­ØµÒ" + "ǸءÒ" + "ǸÙ" + "ǹ" + "ǹÑÊ" + "ǹÒ" + "ǹҹµì" + "ǹԴÒ" + "ǹԾ¡" + "ÇÂÑÊÂì" + "Çç¤ì" + "ÇóÐ" + "ÇÃÁËÒÇÔËÒÃ" + "ÇÃä" + "ÇÃäÂì" + "ÇÃê" + "ÇÃêÂì" + "ÇÃó¡ÃÃÁ" + "ÇÃó¤´Õ" + "ÇÃó¹Ò" + "ÇÃó¾ÄµÔ" + "ÇÃóÂØ¡µì" + "ÇÃóÂص" + "ÇÃóÈÔÅ»ì" + "ÇÃóÐ" + "ÇÃó֡" + "ÇÃø¡" + "ÇÃø¹Ð" + "ÇÃÃÉ" + "ÇÃÃÉÒ" + "ÇÃÇÔËÒÃ" + "ÇÃÑ­­Ù" + "ÇÃÒ§¤¹Ò" + "ÇÃÒËÐ" + "ÇÃÒËì" + "ÇÃس" + "ÇÅÑ­ª¹ì" + "ÇÅÑÂ" + "ÇÅÒË¡" + "ÇÅÕ" + "ÇÈÐ" + "ÇÊÊÐ" + "ÇÊÊÕ" + "ÇÊÐ" + "ÇÊѹµ´ÔÅ¡" + "ÇÊѹµì" + "ÇÊÒ" + "ÇÊÕ" + "ÇÊØ" + "ÇÊظÒ" + "ÇÊع¸ÃÒ" + "ÇÊØÁ´Õ" + "ÇËÐ" + "ÇËÒ" + "ÇÍ" + "ÇÍ¡" + "ÇÍ¡áÇ¡" + "ÇÍ´" + "Ç͹" + "ÇÍÃìáù·ì" + "ÇÍÅÅìʵÃÕ·" + "ÇÍÅàÅÂì" + "ÇÍÅàÅÂìºÍÅ" + "ÇÍáÇ" + "ÇÐ" + "ÇÑ¡" + "ÇÑ¡¡Ð" + "ÇѤ" + "ÇѤ¤ÕÂì" + "ÇѤ¤Ø" + "ÇѤ«Õ¹" + "Çѧ" + "Çѧ¡ì" + "Çѧàǧ" + "ÇѨ¹Ð" + "ÇѪ" + "ÇѪ¬ì" + "ÇѪÃÐ" + "ÇѪÃÔ¹·Ãì" + "ÇѪÃÕ" + "Çѯ¨Ñ¡Ã" + "Çѯ¯Ô" + "ÇѯʧÊÒÃ" + "ÇѲ¡Ð" + "ÇѲ¡Õ" + "ÇѲ¹¸ÃÃÁ" + "ÇѲ¹Ð" + "ÇѲ¹Ò" + "Çѳ" + "Çѳ¯ì" + "Çѳ¹Ò" + "ÇÑ´" + "Çѵ" + "ÇѵµÒ" + "Çѵµì" + "Çѵ¶Ø" + "Çѵ¶ì" + "Çѵ¹Ð" + "ÇѵÃ" + "ÇѵÔ" + "Çѹ" + "Çѹ·¹Ò" + "Çѹ·¹ÕÂì" + "Çѹ·ÂËѵ¶ì" + "Çѹ·ÂÒÇظ" + "Çѹ·Ò" + "ÇѺ" + "ÇÑ»»Ð" + "ÇÑÁÁÔ¡" + "ÇÑÂ" + "ÇÑÅÂì" + "ÇÑÅÅÀ" + "ÇÑÅÅÕ" + "ÇÑÇ" + "ÇÑÊ´Ø" + "ÇÑÊÊÐ" + "ÇÑÊÊÒ¹Ð" + "ÇÑÊâÊ·¡" + "ÇÒ" + "ÇÒ¡" + "ÇÒ¡ÂÊÑÁ¾Ñ¹¸ì" + "ÇÒ¡ÂÐ" + "ÇÒ§" + "ÇÒ¨¡" + "ÇÒ¨Ò" + "ÇÒ³Ôª" + "ÇÒ³ÔªÂì" + "ÇÒ³Õ" + "ÇÒ´" + "ÇÒµÀÑÂ" + "ÇÒµÐ" + "ÇÒ·" + "ÇÒ·¡" + "Çҷ¡Ã" + "ÇÒ·Âì" + "ÇÒ·Ôµ" + "ÇÒ·Ô¹" + "ÇÒ·Õ" + "ÇÒ¹" + "ÇÒ¹Ã" + "ÇÒ¹ÃÔ¹·Ãì" + "ÇÒº" + "ÇÒ»Ð" + "ÇÒ»ÔµÐ" + "ÇÒ»Õ" + "ÇÒÁ" + "ÇÒÁÐ" + "ÇÒÂ" + "ÇÒ·Ùà¤" + "ÇÒÂÊÐ" + "ÇÒÃ" + "ÇÒÃÊÒÃ" + "ÇÒÃÔ" + "ÇÒÃÕ" + "ÇÒÃس" + "ÇÒÃسÕ" + "ÇÒÅ" + "ÇÒÅìÇ" + "ÇÒÇ" + "ÇÒʹÐ" + "ÇÒʹÒ" + "ÇÒʾ" + "ÇÒËÐ" + "ÇÒËÔ¹Õ" + "ÇÒÌ" + "ÇÔ¡ÃÁ" + "Çԡĵ" + "Çԡĵ¡Òóì" + "ÇԡĵÔ" + "ÇÔ¡Å" + "ÇÔ¡ÊÔµ" + "ÇÔ¡Ñ»" + "ÇÔ¡ÒÅ" + "ÇÔ¤ËÐ" + "ÇÔ§" + "ÇÔ§Ç͹" + "ÇÔ¨Âص" + "ÇԨóÐ" + "ÇÔ¨Å" + "ÇԨѡ¢³ì" + "ÇԨѡɳì" + "ÇÔ¨ÑÂ" + "ÇÔ¨ÒÃ" + "ÇÔ¨Òó­Ò³" + "ÇÔ¨Òóì" + "ÇÔ¨Ô" + "ÇÔ¨Ô¡Ô¨©Ò" + "ÇÔ¨Ôµ" + "ÇÔ¨ÔµÃ" + "ÇÔ¨Ô¹" + "ÇԨس" + "ÇÔ¨Øó" + "ÇÔªªÒ" + "ÇÔªªØ" + "ÇÔªªØÅ´Ò" + "ÇÔª­Ð" + "ÇÔª¹Õ" + "ÇÔªÒ" + "ÇÔªÒ¹¹Ð" + "ÇÔªÔµ" + "ÇÔ­­ÑµÔ" + "ÇÔ­­Ò³" + "ÇÔ­­Ù" + "ÇÔ±ÙÃÂì" + "ÇÔ´" + "ÇÔ´ÕâÍ" + "ÇÔµ¡" + "ÇÔµ¶ÒÃ" + "ÇÔµÒÁÔ¹" + "ÇÔ¶Õ" + "ÇԷ°ҹÐ" + "ÇÔ·ÂÒ" + "ÇÔ·ÂÒÅÑÂ" + "ÇÔ·ÂØ" + "ÇÔ·Âص" + "ÇÔ·ÇÑÊ" + "ÇÔ·Òóì" + "ÇÔ·ÒŹì" + "ÇÔ·Ôµ" + "ÇÔ·Ù" + "ÇÔ·ÙÃ" + "ÇÔ¸" + "ÇÔ¸ÇÒ" + "ÇÔ¸Ò" + "ÇÔ¸Ò¹" + "ÇÔ¸Õ" + "ÇÔ¸Ù»¹Ð" + "ÇԹѹµÙ" + "ÇÔ¹ÑÂ" + "ÇÔ¹Ò·Õ" + "ÇÔ¹ÒÈ" + "ÇÔ¹Ô¨" + "ÇÔ¹Ô¨©ÑÂ" + "ÇÔ¹Ôµ" + "ÇÔ¹ÔºÒµ" + "ÇÔ¹Ô»ÒµÔ¡" + "ÇÔ¹â´ÇÊì" + "ÇÔ¹â´Çì" + "ÇԺѵÔ" + "ÇÔºÒ¡" + "ÇÔºØÅ" + "ÇÔºØÅÂì" + "ÇÔºÙÅ" + "ÇÔºÙÅÂì" + "ÇÔ»¡ÒÃ" + "ÇÔ»¯ÔÊÒÃ" + "ÇÔ»ÃСÒÃ" + "ÇÔ»ÃеÔÊÒÃ" + "ÇÔ»ÃÐÅÒ»" + "ÇÔ»ÃÐÇÒÊ" + "ÇÔ»ÃÔµ" + "ÇÔ»ÅÒ»" + "ÇÔ»ÅÒÊ" + "ÇÔ»ÇÒÊ" + "ÇԻѡÉì" + "ÇÔ»ÑÊÊ¡" + "ÇÔ»ÑÊʹÒ" + "ÇÔ»â¤" + "ÇÔ¾Ò¡Éì" + "ÇÔ¾Ô¸·ÑȹÒ" + "ÇÔÀǵѳËÒ" + "ÇÔÀѧ¤ì" + "ÇÔÀѪ" + "ÇÔÀѵµÔ" + "ÇÔÀÒ" + "ÇÔÀÒÇ´Õ" + "ÇÔÁѵÔ" + "ÇÔÁص" + "ÇÔÁصµÔ" + "ÇÔõÐ" + "ÇÔÃÁ³Ð" + "ÇÔÃÃø¹ì" + "ÇÔÃÇÐ" + "ÇÔÃѪ" + "ÇÔÃѵ" + "ÇÔÃѵÔ" + "ÇÔÃÔÂÀÒ¾" + "ÇÔÃÔÂÐ" + "ÇÔÃظ" + "ÇÔÃØÌË¡" + "ÇÔÃØÌËì" + "ÇÔÅѹ´Ò" + "ÇÔÅÒ´" + "ÇÔÅÒ»" + "ÇÔÅÒÇѳÂì" + "ÇÔÅÒÈ" + "ÇÔÅÒÊ" + "ÇÔÅÒÊÔ¹Õ" + "ÇÔÇ" + "ÇÔÇóì" + "ÇÔÇÃÐ" + "ÇÔÇѯ" + "ÇÔÇѲ¹Ò¡ÒÃ" + "ÇÔÇѲ¹ì" + "ÇÔÇÒ·" + "ÇÔÇÒËÁ§¤Å" + "ÇÔÇÒËÐ" + "ÇÔÇÒËì" + "ÇÔÇÔ¨" + "ÇÔÇÔµ" + "ÇÔÇÔ¸" + "ÇÔÈÃص" + "ÇÔÈÇ¡Ã" + "ÇÔÈÇ¡ÃÃÁ" + "ÇÔÈÑÅÂì" + "ÇÔÈÒ¢Ð" + "ÇÔÈÒ¢Ò" + "ÇÔÈÒ§¤ì" + "ÇÔÈÒÅ" + "ÇÔÈÔÉ°ì" + "ÇÔÈØ·¸Ôì" + "ÇÔÈØ·¸ì" + "ÇÔɳØ" + "ÇÔɸÃ" + "ÇÔÉÑ¡µì" + "ÇÔÉÑÂ" + "ÇÔÉÒ³" + "ÇÔÉØÇѵ" + "ÇÔÊ¡Õé" + "ÇÔÊÃê¹ÕÂì" + "ÇÔÊĵ" + "ÇÔÊÊØ¡ÃÃÁ" + "ÇÔÊѪ¹Ò" + "ÇÔÊÑ­­Õ" + "ÇÔÊÑÂ" + "ÇÔÊÒ¢ºÙªÒ" + "ÇÔÊÒ¢Ð" + "ÇÔÊÒÁÑ­" + "ÇÔÊÒÊÐ" + "ÇÔÊÒË¡Ô¨" + "ÇÔÊÔ°" + "ÇÔÊا¤ÒÁÊÕÁÒ" + "ÇÔÊØ·¸Ôì" + "ÇÔÊØ·¸ì" + "ÇÔÊÙµÃ" + "ÇÔˤ" + "ÇÔ˧¤ì" + "ÇÔËÅÑè¹" + "ÇÔËÒÂÊÐ" + "ÇÔËÒÃ" + "ÇÔËÔ§ÊÐ" + "ÇÔËÔ§ÊÒ" + "ÇÔÌѧ¤ì" + "ÇÔÌÒÃ" + "ÇÔÌÒÃì" + "ÇÔà¤ÃÒÐËì" + "ÇÔàªÕÂÃ" + "ÇÔà·ÇÉ" + "ÇÔà·È" + "ÇÔà·âȺÒÂ" + "ÇÔ๵" + "ÇÔà¹" + "ÇÔàù·Ãì" + "ÇÔàÅ»" + "ÇÔàÇ¡" + "ÇÔàÈÉ" + "ÇÔàÈɳì" + "ÇÔàÊ·" + "ÇÔàËÊÒ" + "ÇÔâ¹·¡" + "ÇÔâÁ¡¢ì" + "ÇÔâ¤" + "ÇÔâè" + "ÇÔâè¹ì" + "ÇÔâò" + "ÇÔâø" + "ÇÔâø¹ì" + "ÇÔâŨ¹Ð" + "ÇÔäÅ" + "ÇÔè§" + "ÇÔè§à»ÕéÂÇ" + "ÇÔè¹" + "ÇÕ" + "ÇÕ¨Ô" + "ÇÕª¹Õ" + "ÇÕ«èÒ" + "ÇÕ³Ò" + "ÇÕáÃÃÁ" + "ÇÕê¹" + "ÇÕúØÃØÉ" + "ÇÕÃʵÃÕ" + "ÇÕèÇѹ" + "ÇÕèáÇÇ" + "ÇÕé´" + "ÇØ°Ô" + "Çز" + "ÇزÔ" + "ÇØ´" + "Çغ" + "ÇØè¹" + "ÇØé§" + "ÇØé¹" + "ÇØéÂ" + "ÇÙ´ÇÒ´" + "ÇÙ¸Ù" + "ÇÙº" + "ÇÙèÇÒÁ" + "ÇÙé" + "Ç๨Ã" + "Çâ¹·ÂÒ¹" + "ÇâÃ" + "ÇâáÒÊ" + "ÇâôÁ" + "Çèͧ" + "Çè͹" + "ÇèÒ" + "ÇèÒ§" + "ÇèÒ¹" + "ÇèÒÂ" + "ÇèÒÇ" + "ÇéÒ" + "ÇéÒ§" + "ÇéÒÂ" + "È¡" + "ȵ" + "ȵÇÃÃÉ" + "Ⱦ" + "ÈÃ" + "ÈÃÑ·¸Ò" + "ÈÃÑÂ" + "ÈÃÕ" + "ÈÃÕÇÔäÅÄ·¸Ôì" + "ÈÃÕÉÐà¡É" + "Èħ¤ÒÃ" + "ÈÈÔ" + "ÈÍ" + "ÈÍ¡" + "ÈÑ¡´Ò" + "ÈÑ¡´Ô¹Ò" + "ÈÑ¡´Ôì" + "ÈÑ¡ÂÀÒ¾" + "ÈÑ¡ÂÐ" + "ÈÑ¡Âì" + "ÈÑ¡ÃÒª" + "ÈѵÃÙ" + "ÈѾ·ì" + "ÈÑÅ¡ÃÃÁ" + "ÈÑÅÂÈÒʵÃì" + "ÈÑÅÂá¾·Âì" + "ÈÑÅÂì" + "Èҡ¾ط¸" + "ÈÒ¡ÂÁعÕ" + "ÈÒ¡ÂÐ" + "ÈÒµÃÒ¨ÒÃÂì" + "ÈÒ¹µÔ" + "ÈÒ¹µì" + "ÈÒ÷" + "ÈÒ÷ÙÅ" + "ÈÒÅ" + "ÈÒÅÒ" + "ÈÒÊ¡" + "ÈÒÊ´Ò" + "ÈÒʵÃÒ" + "ÈÒʵÃÒ¨ÒÃÂì" + "ÈÒʵÃì" + "ÈÒʹ¨Ñ¡Ã" + "ÈÒʹÒ" + "ÈÒʹٻ¶ÑÁÀ¡" + "ÈÒʹì" + "ÈÔ¢ÃÔ¹" + "ÈÔÃÔÃÒª" + "ÈÔÅ»¡Ã" + "ÈÔÅ»¡ÃÃÁ" + "ÈÔÅ»¡ÒÃ" + "ÈÔÅ»¡Ô¨" + "ÈÔÅ»ÇÔ·ÂÒ" + "ÈÔÅ»ÈÒʵÃì" + "ÈÔÅ»Ð" + "ÈÔŻҡÃ" + "ÈÔŻԹ" + "ÈÔÅ»Õ" + "ÈÔÅ»ì" + "ÈÔÅÒ" + "ÈÔÇÅÖ§¤ì" + "ÈÔÇÐ" + "ÈÔÇàÇ·" + "ÈÔÇâÁ¡¢ì" + "ÈÔÉÂì" + "ÈÔâÃÃÒº" + "ÈÕÃÉÐ" + "ÈÕÅ" + "ÈÖ¡" + "ÈÖ¡ÉÒ" + "ÈÖ¡ÉÒ¸Ô¡ÒÃ" + "ÈÖ¡ÉÒ¹Ôà·È¡ì" + "ÈØ¡Ãì" + "ÈØÀ¡Ã" + "ÈØÀ¹ÔÁÔµ" + "ÈØÀÁÑÊ´Ø" + "ÈØÀÁÒµÃÒ" + "ÈØÀÁÒÊ" + "ÈØÀÍÑ¡ÉÃ" + "ÈØÀÒ§¤ì" + "ÈØÀà¤ÃÒÐËì" + "ÈØÅ¡Ò¡Ã" + "ÈØÅ¡ÒÃÑ¡Éì" + "ÈØÅÕ" + "ÈÙ·Ã" + "ÈÙ¹Âì" + "Ê¡" + "Ê¡¹¸ì" + "Ê¡»Ã¡" + "Ê¡Å" + "Ê¡ÇÒ·Õ" + "ʡ͵Ᏼì" + "Ê¡Ñ´" + "Ê¡Ò" + "Ê¡ÒÇ" + "Ê¡Õ" + "ʡس" + "ʡسÒ" + "ʡسÕ" + "ʡعµì" + "Ê¡ØÅ" + "Ê¡ç͵Ᏼì" + "ʧ" + "ʧ¡ÃÒ¹µì" + "ʧ¡Ò" + "ʧ¢ÅÒ" + "ʧ¤ÃÒÁ" + "ʧ¦ì" + "ʧº" + "ʧǹ" + "ʧÊÑÂ" + "ʧÊÒÃ" + "ʧÊÒÃÇѯ" + "ʧѴ" + "ʧà¤ÃÒÐËì" + "ʧèÒ" + "ʳ±ì" + "Ê´" + "Ê´ÁÀì" + "ʴѺ" + "Ê´Ø´Õ" + "ʵÃÕ" + "ʵ͡" + "ʵѿ¿ì" + "ʵҧ¤ì" + "ʵÒÃì·" + "ʵÔ" + "ʵÔê¡à¡ÍÃì" + "ʵÙ" + "ʵêÍ¡" + "ʶÅ" + "ʶҹ" + "ʶҹ¡Òóì" + "ʶҹÐ" + "ʶҹÕ" + "ʶҺѹ" + "ʶһ¹Ò" + "ʶһ¹Ô¡" + "ʶһѵ¡ÃÃÁ" + "ʶҾÃ" + "ʶÒÇÃ" + "ʶԵ" + "ʶԵÂ" + "ʶԵÂÈÒʵÃì" + "ʶԵÂì" + "ʶԵÔ" + "ʶØÅ" + "ʶٻ" + "ʷ;" + "ʹ" + "ʹ·¹Ò" + "ʹ¸ÂÒ" + "ʹ¸Ô" + "ʹ¹ÃÒ¤Ò" + "ʹÁ" + "ʹͧ" + "ʹѺ" + "ʹѺʹع" + "ʹÑè¹" + "ʹҹ" + "ʹÒÁ" + "ʹԷ" + "ʹÔÁ" + "ʹء" + "ʹØè¹" + "ʹà·È" + "ʹà·èËì" + "ʹã¨" + "ʺ" + "ʺ§" + "ʺ¶" + "ʺÒÂ" + "ʺÙè" + "Ê»ÃÔ§" + "Ê»ÒÂ" + "Ê»ÒࡵµÕ" + "Ê»ÔÃÔµ" + "ÊÀÒ" + "ÊÀÒ¾" + "ÊÀҾѲ¹ì" + "ÊÀÒÇÐ" + "ÊÁ" + "ÊÁ¡ÒÃ" + "ÊÁ¤ÇÃ" + "ÊÁ­Ò" + "ÊÁ³ÈÑ¡´Ôì" + "ÊÁ³Ð" + "ÊÁ´ØÅ" + "ÊÁ¶Ð" + "ÊÁ¹Ò¤Ø³" + "ÊÁºÑµÔ" + "ÊÁºÙóҭÒÊÔ·¸ÔÃÒªÂì" + "ÊÁºÙóì" + "ÊÁ»ÃдÕ" + "ÊÁ»Ä´Õ" + "ÊÁÀ¾" + "ÊÁÀÒÃ" + "ÊÁÁµ" + "ÊÁÁµÔ" + "ÊÁÁÒµÃ" + "ÊÁÁصÔ" + "ÊÁÃ" + "ÊÁÃö" + "ÊÁÃö¹Ð" + "ÊÁÃÊ" + "ÊÁÍ" + "ÊÁͧ" + "ÊÁѤÃ" + "ÊÁѪªÒ" + "ÊÁѹ" + "ÊÁÑÂ" + "ÊÁÒ" + "ÊÁÒ¤Á" + "ÊÁÒ¨ÒÃ" + "ÊÁÒªÔ¡" + "ÊÁÒ¸Ô" + "ÊÁÒ¹" + "ÊÁҺѵÔ" + "ÊÁÒÊ" + "ÊÁÔ§" + "ÊÁÔµ" + "ÊÁÕ" + "ÊÁد°Ò¹" + "ÊÁØ´" + "ÊÁØ·Ã" + "ÊÁØ·ÑÂ" + "ÊÁع" + "ÊÁعä¾Ã" + "ÊÁØËì" + "ÊÁà´ç¨" + "ÊÁྪ" + "ÊÁàÊÃç¨" + "ÊÁ⾸Ô" + "ÊÁâÀ¤" + "ÊÁâÀª" + "ÊÁèÓàÊÁÍ" + "Ê´" + "ʺ" + "ÊÂÁÀÙ" + "ÊÂͧ" + "ÊÂÒÁ" + "ÊÂÒÂ" + "ÊÂÔÇ" + "ÊÂØÁ¾Ã" + "ÊÂØÁÀÙ" + "Êç" + "ÊóÐ" + "ÊóҤÁ¹ì" + "ÊõÐ" + "ÊÃÃ" + "ÊÃäì" + "ÊÃþ" + "ÊÃþҡÃ" + "ÊÃþҧ¤ì" + "ÊÃÃྪ­" + "ÊÃÃàÊÃÔ­" + "ÊÃǧ" + "ÊÃÇÁ" + "ÊÃÇÅ" + "ÊÃÐ" + "ÊÃÒ­" + "ÊÃÕáԨ" + "ÊÃÕøҵØ" + "ÊÃÕÃÇÔ·ÂÒ" + "ÊÃÕÃÈÒʵÃì" + "ÊÃÕÃÐ" + "ÊÃØ»" + "ÊÃè§" + "ÊÃèÒ§" + "ÊÃéÍÂ" + "ÊÃéÒ§" + "ÊÃéÒÇàÊÕÂÇ" + "Êĵ" + "ÊÄɯì" + "ÊÅ" + "ÊÅ´" + "Êź" + "ÊÅǹ" + "ÊÅÇÂ" + "ÊÅÍ´" + "ÊÅ͹" + "ÊÅÍÂ" + "ÊÅÐ" + "ÊÅÑ¡" + "ÊÅÑ¡àµé" + "ÊÅÑ´" + "ÊÅÑ´ä´" + "ÊÅѺ" + "ÊÅÑÁ" + "ÊÅÑÇ" + "ÊÅÒ" + "ÊÅÒ¡" + "ÊÅÒ´" + "ÊÅҵѹ" + "ÊÅÒº" + "ÊÅÒÂ" + "ÊÅÔ´" + "ÊÅÔÅ" + "ÊÅÖ¡" + "ÊÅÖ§" + "ÊÅص" + "ÊÅغ" + "ÊÅØÁ¾Ã" + "ÊÅç͵" + "ÊÅéÒ§" + "ÊÇ¡" + "ÊÇ´" + "Êǹ" + "ÊǹÐ" + "ÊǹҡÒÃ" + "ÊǺ" + "ÊÇÁ" + "ÊÇÂ" + "ÊÇÃ" + "ÊÇÃäµ" + "ÊÇÃäÒÅÑÂ" + "ÊÇÃäì" + "ÊÇÃÃÂÒ" + "ÊÇÍ»" + "ÊÇÐ" + "ÊÇÑÊ´Ô¡ÒÃ" + "ÊÇÑÊ´ÔÀÒ¾" + "ÊÇÑÊ´Ôì" + "ÊÇÑÊ´Õ" + "ÊÇÑʵԡÐ" + "ÊÇÒ" + "ÊÇÒ§" + "ÊÇÒ´" + "ÊÇÒ·" + "ÊÇÒÁÔ" + "ÊÇÒÁÕ" + "ÊÇÒÂ" + "ÊÇÒÊ´Ôì" + "ÊÇÒËÐ" + "ÊÇÔ§" + "ÊÇÔµªì" + "ÊÇÔµ«ì" + "ÊÇÔÊà«ÍÃìᏴì" + "ÊÇÕà´¹" + "ÊÇèÒ§" + "ÊÇèÒ¹" + "ÊÇéÒ¹" + "ÊÊÒÃ" + "Êˡóì" + "ÊË¡ÒÃ" + "Ê˨Ã" + "Ê˪ҵÔ" + "ÊË»ÃЪҪҵÔ" + "Ê˾ѹ¸ÃÑ°" + "Ê˾ѹ¸ì" + "ÊËÀÒ¾" + "ÊËÃÑ°" + "ÊËÇÔÃÔÂÒ" + "ÊËÈÖ¡ÉÒ" + "ÊËѪ" + "ÊËÑÁº´Õ" + "ÊËÑʹѹì" + "ÊËÑÊÇÃÃÉ" + "ÊËÑÊÊÐ" + "ÊËÑÊÊÒ" + "ÊËÒÂ" + "ÊÍ" + "Êͧ" + "ÊÍ´" + "Ê͹" + "Êͺ" + "Ê;ÅÍ" + "ÊÍÂ" + "ÊÐ" + "ÊС´" + "ÊСԴ" + "ÊФÃÒ­" + "ÊдÁ" + "Êдǡ" + "ÊдÔé§" + "Êд֧" + "Êд×Í" + "Êдش" + "ÊдØé§" + "ÊеÍ" + "ÊеÖ" + "Êе×Í" + "Êзé͹" + "ÊзéÒ¹" + "Êкѡ" + "ÊкѴ" + "ÊкѴÊкÔé§" + "ÊкÑé¹" + "ÊкéÒ" + "ÊоÃÑ¡" + "ÊоÃÑè§" + "ÊоѴ" + "ÊоÑé¹" + "Êоҹ" + "ÊоÒÂ" + "ÊÐÃеÐ" + "ÊÐÃÐá˹è" + "ÊÐÅÖÁÊÐÅ×Í" + "ÊÐÇÕé´ÊÐÇéÒ´" + "ÊÐÊÁ" + "ÊÐÊÒ§" + "ÊÐÍÒ§" + "ÊÐÍÒ´" + "ÊÐÍÔ´ÊÐàÍÕ¹" + "ÊÐÍÔé§" + "ÊÐÍÖ¡" + "ÊÐÍ×é¹" + "ÊÐÍéÒ¹" + "ÊÐà¡ç´" + "ÊÐà´ç´" + "ÊÐà·Ôé¹" + "ÊÐà·×͹" + "ÊÐà·×é͹" + "ÊÐà¾ÃèÒ" + "ÊÐàÍÍÐ" + "ÊÐ⾡" + "ÊÐâÍ´ÊÐͧ" + "ÊÐãÀé" + "ÊÑ¡" + "ÊÑ¡¢Õ" + "ÊÑ¡ÇÒ" + "ÊÑ¡ËÅÒ´" + "ÊÑ¢ÂÐ" + "Êѧ¡Á·ÃѾÂì" + "Êѧ¡Ã" + "Êѧ¡Ã³Õ" + "Êѧ¡ÐµÑ§" + "Êѧ¡ÐÊÕ" + "Êѧ¡Ñ´" + "Êѧ¡Ñ»»Ð" + "Êѧ¡Ò" + "Êѧ¡ÒÈ" + "Êѧ¢ÂÒ" + "Êѧ¢ÒÃ" + "Êѧ¢ì" + "Êѧ¤­ÒµÔ" + "Êѧ¤Á" + "Êѧ¤Ñ§" + "Êѧ¤Ò¹Ò" + "Êѧ¤Ò¹ÒÂ" + "Êѧ¤Õµ" + "Êѧ¤ì" + "Êѧ¦¡ÃÃÁ" + "Êѧ¦¹Ò¡" + "Êѧ¦Á³±Å" + "Êѧ¦Á¹µÃÕ" + "Êѧ¦ÃÒª" + "Êѧ¦ÊÀÒ" + "Êѧ¦Ò¯Ô" + "Êѧ¦ÒÇÒÊ" + "ÊѧÇÃ" + "ÊѧÇѸÂÒÂ" + "ÊѧÇÒÅ" + "ÊѧÇÒÊ" + "ÊѧʴÁÀì" + "ÊѧÊÃäì" + "ÊѧÊÒÃÇѯ" + "ÊѧËÃ" + "ÊѧËóì" + "ÊѧËÒÃ" + "ÊѧËÒÃÔÁ·ÃѾÂì" + "ÊѧËÔµ" + "Êѧࡵ" + "Êѧࢻ" + "Êѧà¤ÃÒÐËì" + "ÊѧàǤÐ" + "ÊѧàǪ" + "ÊѧàÇÂ" + "ÊѧàÇÕ¹" + "Êѧâ¤" + "Êѧ⪹ì" + "ÊѨ" + "ÊѨ¡ÔÃÔÂÒ" + "ÊѨ¨Ð" + "ÊѨ­Ò³" + "ÊѨ¹ÔÂÁ" + "ÊѨ¾¨¹ì" + "ÊѪ¬Ø" + "ÊÑ­¨Ã" + "ÊÑ­¨ÒÃ" + "ÊÑ­ªÒµ­Ò³" + "ÊÑ­ªÒµÔ" + "ÊÑ­¬Ò" + "ÊÑ­­Ò" + "ÊÑ­­Ò³" + "ÊÑ­­Õ" + "ÊÑ­»ÃСÒÈ" + "ÊÑ­Åѡɳì" + "Êѭਵ¹Ò" + "Êѳ°Ò¹" + "Êѳ±ì" + "ÊѳËì" + "ÊÑ´" + "Êѵ" + "ÊѵµÐ" + "ÊѵºÃó" + "ÊѵÂҺѹ" + "ÊѵÂì" + "ÊѵǺÒÅ" + "ÊѵÇÇÔ·ÂÒ" + "ÊѵÇÒ" + "ÊѵÇÒÃ" + "ÊѵÇá¾·Âì" + "ÊѵÇâÅ¡" + "ÊѵÇì" + "ÊÑ·¸ÃÃÁ" + "ÊÑ·¸Ò" + "ÊÑ·ÈÒʵÃì" + "Êѹ" + "Êѹ´Ò¹" + "Êѹ´Ò»" + "ÊѹµÐ»Ò»Ò" + "ÊѹµÔ" + "Êѹµì" + "Êѹ¶ÇäÁµÃÕ" + "Êѹ¶Ñµ" + "Êѹ¶ÒÃ" + "Êѹ·¹Ð" + "Êѹ·¹Ò¡ÒÃ" + "Êѹ·Ð" + "Êѹ·Ñ´" + "Êѹ¸Ò¹" + "Êѹ¹ÔºÒµ" + "Êѹ¹ÔÇÒÊ" + "Êѹ¹ÔÉ°Ò¹" + "Êѹ¹ÔàÇÊ" + "Êѹʡĵ" + "Êѹâ´É" + "ÊѺ" + "ÊѺ»ÅѺ" + "ÊѺ»Ðô" + "ÊÑ»¤Ñº" + "ÊÑ»´¹" + "ÊÑ»´ÒËì" + "ÊÑ»·¹" + "ÊÑ»ÃÐÂØ·¸ì" + "Êѻ˧¡" + "ÊÑ»àËÃèÍ" + "ÊѾ" + "ÊѾ¾Ð" + "ÊѾ¾Ñ­­Ù" + "ÊѾÂÍ¡" + "ÊѾà¾àËÃÐ" + "ÊÑÁºÙóì" + "ÊÑÁ»ªÑ­­Ð" + "ÊÑÁ»·Ò" + "ÊÑÁ»·Ò¹" + "ÊÑÁ»Âص" + "ÊÑÁ»ÃÐÊÔ·¸Ôì" + "ÊÑÁ»ÃÐËÒÃ" + "ÊÑÁ»ÃÒÂÀ¾" + "ÊÑÁ»ÃÒÂÔ¡À¾" + "ÊÑÁ»â¤" + "ÊÑÁ¼ÑÊ" + "ÊÑÁ¾Ñ·¸ì" + "ÊÑÁ¾Ñ¹¸¹ì" + "ÊÑÁ¾Ñ¹¸ÀÒ¾" + "ÊÑÁ¾Ñ¹¸ÁÔµÃ" + "ÊÑÁ¾Ñ¹¸äÁµÃÕ" + "ÊÑÁ¾Ñ¹¸ì" + "ÊÑÁ¾Ò¸Ð" + "ÊÑÁ¾Ø·¸Ð" + "ÊÑÁÀÒÃÐ" + "ÊÑÁÀÒɳì" + "ÊÑÁÁ¹Ò" + "ÊÑÁÁÒ" + "ÊÑÁÁÒªÕ¾" + "ÊÑÁÄ·¸Ôì" + "ÊÑÁ⾸Ô" + "ÊÑÁâÁ·¹Õ¡¶Ò" + "ÊÑÊ´Õ" + "ÊÑÊÊÐ" + "ÊÑè§" + "ÊÑè¹" + "ÊÑé¹" + "ÊÒ" + "ÊÒ¡" + "ÊÒ¡Ãèì" + "ÊÒ¡Å" + "ÊÒ¢Ò" + "ÊÒ¤Ã" + "ÊÒ¤Ù" + "ÊÒ¤àÃÊ" + "ÊÒ§" + "ÊÒ´" + "ÊÒ·Ã" + "ÊÒ·ÔÊ" + "ÊÒ¸¡" + "ÊÒ¸ÂÒÂ" + "ÊÒ¸ÒóÀÑÂ" + "ÊÒ¸ÒóÃÑ°" + "ÊÒ¸ÒóÊØ¢" + "ÊÒ¸ÒóÐ" + "ÊÒ¸Òóٻ¡ÒÃ" + "ÊÒ¸ÒóٻâÀ¤" + "ÊÒ¸Ôµ" + "ÊÒ¸Ø" + "ÊÒ¹" + "ÊÒ¹ØÈÔÉÂì" + "ÊÒº" + "ÊÒºÊÙ­" + "ÊÒºÒ¹" + "ÊÒ»" + "ÊÒÁ" + "ÊÒÁѤ¤Õ" + "ÊÒÁÑ­" + "ÊÒÁÒ¹Âì" + "ÊÒÁÒö" + "ÊÒÁÔµ" + "ÊÒÁÔÀÑ¡´Ôì" + "ÊÒÁÕ" + "ÊÒÁà³Ã" + "ÊÒÂ" + "ÊÒªÙ" + "ÊÒÂÂÙ" + "ÊÒÂѳËì" + "ÊÒÃ" + "ÊÒä´Õ" + "ÊÒöÕ" + "ÊÒ÷" + "ÊÒùÔà·È" + "ÊÒúº" + "ÊÒúÃó" + "ÊÒúѭ" + "ÊÒúѺ" + "ÊÒúҭ" + "ÊÒþѴ" + "ÊÒþѹ" + "ÊÒþҧ¤ì" + "ÊÒÃÀÒ¾" + "ÊÒÃÀÕ" + "ÊÒÃÇѵÃ" + "ÊÒÃÐ" + "ÊÒÃÐá¹" + "ÊÒÃÑ·¸ì" + "ÊÒÃÑÁÀì" + "ÊÒÃÒ³Õ¡Ã" + "ÊÒÃҹءÃÁ" + "ÊÒÃÕÃÔ¡¸ÒµØ" + "ÊÒÅÐǹ" + "ÊÒÅÔ¡Ò" + "ÊÒÅÔ¹Õ" + "ÊÒÅÕ" + "ÊÒÅÕè" + "ÊÒÇ" + "ÊÒÇ¡" + "ÊÒÇÔ¡Ò" + "ÊÒÇÔµÃ" + "ÊÒÇÔµÃÕ" + "ÊÒʹì" + "ÊÒÊì¹" + "ÊÒËÃèÒÂ" + "ÊÒËÑÊ" + "ÊÒà¡" + "ÊÒà˵Ø" + "ÊÒáËá" + "ÊÒâ·" + "ÊÒâê" + "ÊÒä¶Â" + "ÊÓ" + "ÊӤѭ" + "ÊӷѺ" + "Êӹǹ" + "Êӹѡ" + "ÊÓ¹Ö¡" + "ÊӺѴÊӹǹ" + "ÊÓ»ÐËÅѧ" + "ÊÓ»Ñé¹" + "ÊÓÁÐËÒ" + "ÊÓÁÐàÅà·àÁÒ" + "ÊÓÁÐ⹤ÃÑÇ" + "ÊÓÃǨ" + "ÊÓÃÇÁ" + "ÊÓÃÇÂ" + "ÊÓÃÇÅ" + "ÊÓÃÍ¡" + "ÊÓÃͧ" + "ÊÓÃѺ" + "ÊÓÃÒ¡" + "ÊÓÃÒ­" + "ÊÓÃÔ´" + "ÊÓÅÑ¡" + "ÊÓÅÒ¹" + "ÊÓÅÕ" + "ÊÓÊè͹" + "ÊÓËÃѺ" + "ÊÓËÒ" + "ÊÓÍÍÂ" + "ÊÓÍÒ§" + "ÊÓà¹Ò" + "ÊÓà¹Õ§" + "ÊÓàÀÒ" + "ÊÓàÃÔ§" + "ÊÓàÃç¨" + "ÊÓà˹Õ¡" + "ÊÓàËÃè" + "ÊÓá´§" + "ÊÓáŧ" + "ÊÓâç" + "ÊÔ" + "ÊÔ¡¢Ò" + "ÊÔ¢Ã" + "ÊÔ¤ÒÅ" + "ÊÔ§" + "ÊÔ§¢Ã" + "ÊÔ§¤ÒÃ" + "ÊÔ§¤ÒÅ" + "ÊÔ§¤â»Ãì" + "ÊÔ§¤ì" + "ÊÔ§ÊÒÃÒÊѵÇì" + "Êԧ˹ҷ" + "Êԧ˺ѭªÃ" + "ÊÔ§ËÃÒª" + "ÊÔ§ËÅ" + "ÊÔ§ËÒ¤Á" + "ÊÔ§ËÒʹì" + "ÊÔ§Ëì" + "ÊÔ§âµ" + "ÊÔ­¨¹ì" + "ÊÔµ" + "ÊÔ¶ÔÅ" + "ÊÔ·¸" + "ÊÔ·¸Ò" + "ÊÔ·¸Òö" + "ÊÔ·¸Ô" + "ÊÔ·¸Ôì" + "ÊÔ¹" + "ÊÔ¹¤éÒ" + "ÊÔ¹¸Ø" + "ÊÔ¹Õ" + "ÊÔ¹à¸ÒÇì" + "ÊÔº" + "ÊÔÁ¾ÅÕ" + "ÊÔÃÔ" + "ÊÔÃÔ¡ÔµÔì" + "ÊÔÅÒ" + "ÊÔÇ" + "ÊÔà¹Ë¡" + "ÊÔà¹ËÒ" + "ÊÔà¹èËÒ" + "ÊÔè§" + "ÊÔèÇ" + "ÊÔé¹" + "ÊÕ" + "ÊÕ¡Ò" + "ÊÕ´Í" + "ÊÕè" + "ÊÖ¡" + "Ê׺" + "Ê×èÍ" + "ÊØ" + "ÊØ¡" + "ÊØ¡¢ì" + "ÊØ¡Ã" + "ÊØ¡ÕéÂÒ¡Õé" + "ÊØ¢" + "ÊØ¢Ð" + "ÊØ¢Ò" + "ÊØ¢ÒÀÔºÒÅ" + "ÊØ¢ÒÃÁ³ì" + "ÊØ¢ÒÇ´Õ" + "ÊØ¢Õ" + "ÊØ¢ØÁ" + "ÊØ¢ØÁÒÅ" + "Êؤµ" + "ÊؤµÔ" + "Êؤ¹¸ÃÊ" + "Êؤ¹¸ì" + "Êؤѹ¸ì" + "Êا¡Ò¡Ã" + "ÊاÊÔ§" + "ÊبÃÔµ" + "Êب˹Õè" + "ÊبÔ" + "Êت¹" + "ÊتҴÒ" + "ÊØ­" + "ÊØ­­Ò¡ÒÈ" + "Êس" + "ÊسÔÊÒ" + "ÊØ´" + "ÊØ´Ò" + "Êص" + "ÊصµÐ" + "ÊصÔ" + "ÊØ·¸ÒÇÒÊ" + "ÊØ·¸Ô" + "ÊØ·¸ì" + "ÊØ·Ñȹì" + "ÊظÒ" + "ÊظÕ" + "Êع·Ã" + "Êع·ÃÕ" + "Êع·ÃÕÂÀÒ¾" + "Êع·ÃÕÂÈÒʵÃì" + "ÊعѢ" + "Êعѹ·ì" + "ÊغÃó" + "ÊغԹ" + "ÊؾÃó" + "ÊØÀѤ" + "ÊØÀÒ¾" + "ÊØÀÒÉÔµ" + "ÊØÁ" + "ÊØÁ·ØÁ" + "ÊØÁ¹" + "ÊØÁ¹Ò" + "ÊØÁÒÅÕ" + "ÊØÃÊÕ˹ҷ" + "ÊØÃѵÔ" + "ÊØÃÑÊÇ´Õ" + "ÊØÃÒ" + "ÊØÃÒ§¤¹Ò" + "ÊØÃÒ§¤¹Ò§¤ì" + "ÊØÃÒÃÑ¡Éì" + "ÊØÃÒÅÑÂ" + "ÊØÃÒÉ®Ãì" + "ÊØÃÔ¹·Ãì" + "ÊØÃÔ¡ÒÃ" + "ÊØÃÔ¡ÒÅ" + "ÊØÃÔ¤µÔ" + "ÊØÃÔ¤ÃÒÊ" + "ÊØÃÔ§" + "ÊØÃÔ¹" + "ÊØÃÔÂÁ³±Å" + "ÊØÃÔÂÐ" + "ÊØÃÔÂѹ" + "ÊØÃÔÂÒ" + "ÊØÃÔÂØ»ÃÒ¤Ò" + "ÊØÃÔÂà¤ÃÒÐËì" + "ÊØÃÔ๷Ãì" + "ÊØÃÔàÂÈ" + "ÊØÃÔâÂ" + "ÊØÃÕÂì" + "ÊØÃØèÂÊØÃèÒÂ" + "ÊØÃàÊÕ§" + "ÊØŵèÒ¹" + "ÊØÇÀÒ¾" + "ÊØÇÃó" + "ÊØÇÒ¹" + "ÊØÇÔ·Âì" + "ÊØÇÔ¹ÑÂ" + "ÊØÇÔÁÅ" + "ÊØÊÒ¹" + "ÊØ˹ѵ" + "ÊØËÃèÒÂ" + "ÊØàÁ¸" + "ÊØàÁÃØ" + "ÊØàËÃèÒ" + "ÊØàÍ«" + "ÊØèÁ" + "ÊØéÁ" + "ÊÙ" + "ÊÙ§" + "ÊÙ¨Ô" + "ÊÙ­" + "ÊÙ´" + "ÊÙµ" + "ÊÙµÃ" + "ÊÙµÔ" + "ÊÙµÔ¡ÃÃÁ" + "ÊٵԺѵÃ" + "ÊÙµÔÈÒʵÃì" + "ÊÙµÔá¾·Âì" + "ÊÙ·" + "ÊÙº" + "ÊÙÊÕ" + "ÊÙè" + "ÊÙé" + "Êࡵ" + "ÊàµÍÃÔâÍ" + "Êàµç¡" + "Êà¹èËì" + "Ê໡" + "Ê໡µÃÑÁ" + "Ê໹" + "Êà»Ã´ªÕµ" + "Ê᡹" + "Êáŧ" + "ÊâÁÊÃ" + "Êâê" + "ÊäµÅì" + "Êäº" + "ÊäÅ´ì" + "Êè§" + "Êèǹ" + "ÊèÇÂ" + "ÊèÍ" + "Êèͧ" + "Êè͹" + "ÊèÒ" + "ÊèÒ¹" + "ÊèÒÂ" + "ÊèÒËÃÕè" + "ÊèÒàËÅéÒ" + "ÊèÓ" + "Êé¹" + "ÊéÁ" + "ÊéÁ»èÍÂ" + "Êéǧ" + "ÊéÇÁ" + "ÊéÇÂ" + "Êéͧ" + "ÊéÍÁ" + "Ë¡" + "˧" + "˧Êì" + "˧Í" + "˧͡" + "˧ʹ" + "˧͹" + "˧ÍÂ" + "˧ѡ" + "˧Ѻ" + "˧ÒÂ" + "˧Ó" + "˧ԡ" + "˧ԧ" + "˧ÔÁ" + "˧֡" + "˧ا˧ԧ" + "˧ش˧Դ" + "˧غ" + "˧ØèÂ" + "˧èÍÁ" + "˧èÒ§" + "˧èÒÇ" + "Ë­Ô§" + "Ë­Ôº" + "Ë­éÒ" + "Ë´" + "Ë·ÑÂ" + "˹" + "˹ǡ" + "˹Ǵ" + "˹Í" + "˹͡" + "˹ͧ" + "˹͹" + "˹ѡ" + "˹ѧ" + "˹ѧÊ×Í" + "˹Ѻ" + "˹Ñè¹" + "˹Ò" + "˹Ҵ" + "˹ҹ" + "˹ÒÁ" + "˹ÒÇ" + "˹Ó" + "˹ÓàÅÕéº" + "˹Õ" + "˹պ" + "˹Õé" + "˹ֺ" + "˹Öè§" + "˹״" + "˹Ø" + "˹ع" + "˹غ" + "˹ØèÁ" + "˹ØèÂ" + "˹Ù" + "˹çÍÂá¹è" + "˹èǧ" + "˹èÇÂ" + "˹èÇ¡Ե" + "˹èÍ" + "˹èÍÂ" + "˹èÒ" + "˹èÒ§" + "˹èÒÂ" + "˹éÒ" + "˹éÒ·Õè" + "ËÁ¡" + "ËÁ´" + "ËÁÇ¡" + "ËÁÇ´" + "ËÁÍ" + "ËÁÍ¡" + "ËÁͧ" + "ËÁ͹" + "ËÁͺ" + "ËÁÍÂ" + "ËÁÑ¡" + "ËÁÑ´" + "ËÁѹ" + "ËÁѺ" + "ËÁÑè¹" + "ËÁÑé¹" + "ËÁÒ" + "ËÁÒ¡" + "ËÁÒ¡ÎÍÊ" + "ËÁÒ§" + "ËÁÒ´" + "ËÁÒÂ" + "ËÁÔè¹" + "ËÁÕ" + "ËÁÕè" + "ËÁÖ¡" + "ËÁ×è¹" + "ËÁØ´" + "ËÁع" + "ËÁغ" + "ËÁغËÁÔº" + "ËÁØèÂ" + "ËÁÙ" + "ËÁÙè" + "ËÁè¹" + "ËÁèͧ" + "ËÁè͹" + "ËÁèÍÁ" + "ËÁèÒ" + "ËÁèÓ" + "ËÁéÍ" + "ËÁéÒÂ" + "Ë¡" + "Ë´" + "ËÂÇ¡" + "ËÂǺ" + "ËÂÍ¡" + "ËÂÍ¡àÍÔ¹" + "ËÂͧ" + "ËÂÍ´" + "ËÂÍÁáËÂÁ" + "ËÂÍÂ" + "ËÂÑ¡" + "ËÂѧ" + "ËÂÑ´" + "ËÂѹ" + "ËÂѺ" + "ËÂÑè§" + "ËÂÒ¡äÂè" + "ËÂÒ´" + "ËÂÒº" + "ËÂÒÁ" + "ËÂÒÇ" + "ËÂÓà»" + "ËÂÔ¡" + "ËÂÔº" + "ËÂÔÁ" + "ËÂÔè§" + "ËÂÕ" + "ËÂØ¡ËÂÔ¡" + "ËÂØ´" + "ËÂغ" + "ËÂØÁËÂÔÁ" + "ËÂØè¹" + "ËÂÙ¡ÂÒ" + "ËÂçͧáËÂç§" + "ËÂè§" + "ËÂèͧ" + "ËÂè͹" + "ËÂèÍÁ" + "ËÂèÍÂ" + "ËÂèÒ" + "ËôÕ" + "ËÃÃÉÒ" + "ËÃÍ" + "ËÃÍ¡" + "ËÃÍÂ" + "ËÃÒ" + "ËÃÔ" + "ËÃÔè§" + "ËÃÕ´" + "ËÃÕè" + "ËÃ×Í" + "ËÃغ" + "ËÃغÃÙè" + "ËÃغËÃÙè" + "ËÃØèÁ" + "ËÃÙ" + "ËÃçÍÁáËÃçÁ" + "ËÄ·ÑÂ" + "ËÄËÃÃÉì" + "ËÄâË´" + "ËÅ" + "Ëŧ" + "ËÅ´" + "ËŹ" + "Ëź" + "ËÅǧ" + "ËÅÇÁ" + "ËÅÍ" + "ËÅÍ¡" + "ËÅÍ´" + "ËÅ͹" + "ËÅÍÁ" + "ËÅÐ" + "ËÅÑ¡" + "ËÅѧ" + "ËÅÑ´" + "ËÅѺ" + "ËÅÑÇ" + "ËÅÑè§" + "ËÅÑè¹" + "ËÅÒ" + "ËÅÒ¡" + "ËÅÒ¹" + "ËÅÒº" + "ËÅÒÁ" + "ËÅÒÂ" + "ËÅÒÇ" + "ËÅÔ¡" + "ËÅÔÁ" + "ËÅÔÇ" + "ËÅÔèÇ" + "ËÅÕ" + "ËÅÕ¡" + "ËÅÕÎ×éÍ" + "ËÅ׺" + "ËÅØ¡ËÅÔ¡" + "ËÅØ´" + "ËÅع" + "ËÅغ" + "ËÅØÁ" + "ËÅÙè" + "ËÅè¹" + "ËÅèÁ" + "ËÅèÍ" + "ËÅè͹" + "ËÅèÐ" + "ËÅéÒ" + "Ëǧ" + "ËÇ´" + "Ëǹ" + "ËÇÂ" + "ËÇÍ" + "ËÇÍ´" + "ËÇÐ" + "ËÇѧ" + "ËÇÑ´" + "ËÇÑÇ" + "ËÇÑÇÃèÍ" + "ËÇÑè¹" + "ËÇÒ" + "ËÇÒ´" + "ËÇÒ¹" + "ËÇÒÁ" + "ËÇÒÂ" + "ËÇÓ" + "ËÇÔ´" + "ËÇÔÇ" + "ËÇÕ" + "ËÇÕ´" + "ËÇÕè" + "ËÇ×Í" + "ËÇØ´ËÇÔ´" + "ËÇØÁ" + "ËÇÙ´" + "ËÇçÍÂ" + "ËÇèÒ" + "ËÇèÒ§" + "ËÇèÒ¹" + "ËÇéÒ" + "ËÍ" + "ËÍ¡" + "Ëͧ" + "Ë͹" + "Ëͺ" + "ËÍÁ" + "ËÍÂ" + "ËÐáá" + "ËÑ¡" + "ËÑ´" + "Ëѵ¶¡ÃÃÁ" + "Ëѵ¶¡ÒÃ" + "Ëѵ¶¡Ô¨" + "Ëѵ¶ºÒÊ" + "Ëѵ¶ÈÔÅ»ì" + "Ëѵ¶ÈÖ¡ÉÒ" + "Ëѵ¶Õ" + "Ëѵ¶ì" + "Ëѹ" + "ËѺ" + "ËÑÇ" + "ËÑǺء" + "ËÑÇ˹éÒ" + "ËÑÇàÃÒÐ" + "ËÑÊ" + "ËÑè¹" + "ËÑé¹" + "ËÒ" + "ËÒ¡" + "ËÒ§" + "ËÒ­" + "ËÒ´" + "ËÒ¹" + "ËÒº" + "ËÒÁ" + "ËÒÂ" + "ËÒ¹Ð" + "ËÒÃ" + "ËÒÃ×Í" + "ËÒÇ" + "ËÓ" + "ËÔ§ÊÒ" + "ËÔ§ËéÍÂ" + "ËÔ´" + "ËÔ¹" + "ËÔÁÐ" + "ËÔÁÒÅÑÂ" + "ËÔÃÑ­" + "ËÔÃÔ" + "ËÔÇ" + "ËÔè§ËéÍÂ" + "ËÔé§" + "ËÔéÇ" + "ËÕ¹ÂÒ¹" + "ËÕº" + "ËÖ" + "ËÖ§" + "ËÖè§" + "Ë×´" + "Ë×¹" + "Ë×Í" + "Ë×è¹" + "Ë×éÍ" + "Ëا" + "Ëع" + "Ëغ" + "ËØÂÎÒ" + "ËØè¹" + "ËØé¹" + "ËØéÁ" + "ËÙ" + "ËÙ¡" + "ËÙ´" + "ËÙè" + "Ëâ´Á" + "ËèÁ" + "Ëèǧ" + "ËèÇÂ" + "ËèÍ" + "Ëè͹" + "ËèÒ" + "ËèÒ§" + "ËèÒ¹" + "ËèÒÁ" + "Ëéǧ" + "Ëéǹ" + "ËéÇÂ" + "ËéÍ" + "Ëéͧ" + "ËéÍÁ" + "ËéÍÂ" + "ËéÒ" + "ËéÒ§" + "ËéÒÁ" + "ËéÒÇ" + "ËéÓ" + "Í¡" + "Í¡µÑ­­ØµÒ" + "Í¡µÑ­­Ù" + "Í¡¹ÔÉ°ì" + "͡óÕÂì" + "Í¡ÃÃÁ¡ÃÔÂÒ" + "Í¡ØÈÅ" + "ͤµÔ" + "ͤҸ" + "ͧ¡ì" + "ͧ¤ªÒµÔ" + "ͧ¤Á¹µÃÕ" + "ͧ¤ÁÃÃÉ" + "ͧ¤ÃÑ¡Éì" + "ͧ¤ÇÔ·ÂÒ" + "ͧ¤Ò¾Â¾" + "ͧ¤ØÅ" + "ͧ¤ØÅÕ" + "ͧ¤ì" + "ͧ¤ì¡Ã" + "ͧ¤ì¡ÒÃ" + "ͧÈÒ" + "ͧÍÒ¨" + "ͧØè¹" + "ͨÅÒ" + "ͨԵµÔ" + "ͨԹµÒ" + "ͨԹäµÂ" + "ͨÔÃÐ" + "ͪ" + "ͪÒ" + "ͪԹ" + "ͪԹÕ" + "ͪÔÃ" + "ͯÇÕ" + "ͳÔ" + "ͳØ" + "ͳÙ" + "Í´" + "Í´Ô¶Õ" + "Í´ÔÈÃ" + "Í´ÔÈÇÃ" + "Í´ÔÈÑÂ" + "Í´Ôà·¾" + "Í´Ôàá" + "Í´Õµ" + "Í´ØÅ" + "Í´ØÅÂ" + "Í´ØÅÂì" + "͵Ԫҵ" + "͵ÔÁÒ¹Ð" + "͵ÔÃÒª" + "͵ÔÊÒÃ" + "͵Ôàá" + "Í·Ô¹¹Ò·Ò¹" + "͸ÃÃÁ" + "͸ԡÁÒÊ" + "͸ԡóì" + "͸ԡÇÒÃ" + "͸ԡÊØ÷Թ" + "͸ԡÒÃ" + "͸ԤÁ" + "͸ԯ°Ò¹" + "͸Ժ´Õ" + "͸ԺÒÂ" + "͸Ի" + "͸ԻäµÂ" + "͸ÔÃÒª" + "͸ÔÉ°Ò¹" + "͸֡" + "͹§¤³Ð" + "͹§¤àÅ¢Ò" + "͹§¤ì" + "͹§àÅ¢" + "͹¸¡ÒÃ" + "͹ѵµÒ" + "͹ѹµì" + "͹Ҥµ" + "͹ҤÒÁÕ" + "͹ҨÒÃ" + "͹Ҷ" + "͹ҶÒ" + "͹ҷÃ" + "͹ҸԻäµÂ" + "͹ÒÁÑÂ" + "͹Òê¹" + "͹ÒøÃÃÁ" + "͹ÒÃÂÐ" + "͹ÒÅÑÂ" + "͹Ԩ" + "͹Ԩ¨Ñ§" + "͹Ԩ¨Ò" + "͹ԯ°ÒÃÁÂì" + "͹ÔÂÁ" + "͹Öè§" + "͹Ø" + "͹ءÃ" + "͹ءÃÁ" + "͹ءÃÃÁ¡ÒÃ" + "͹ءҪҴ" + "͹ءÒÃ" + "͹ءÙÅ" + "͹بÃ" + "͹ت¹" + "͹تÒ" + "͹تҵ" + "͹تԵ" + "͹حҵ" + "͹حÒâµµØÅÒ¡ÒÃ" + "͹طԹ" + "͹غ·" + "͹غÒÅ" + "͹ػÃÔ­­Ò" + "͹ؾ§Èì" + "͹ؾѹ¸ì" + "͹ØÀÃÃÂÒ" + "͹ØÀÃÔÂÒ" + "͹ØÀÒ¤" + "͹ØÁѵÔ" + "͹ØÁÒµÃÒ" + "͹ØÁÒ¹" + "͹ØÁÙÅ" + "͹ØÃѡɹÔÂÁ" + "͹ØÃÑ¡Éì" + "͹ØÃÒª" + "͹ØÃÙ»" + "͹ØǧÈì" + "͹ØÇѵ" + "͹ØÈÒÊ¡" + "͹ØÈÒʵÃÒ¨ÒÃÂì" + "͹ØÈÒʹì" + "͹ØÈÔɯì" + "͹ØʵÔ" + "͹Øʹ¸Ô" + "͹ØÊÃ" + "͹ØÊóì" + "͹ØÊÑ­­Ò" + "͹ØÊÑÂ" + "͹ØÊÒÇÃÕÂì" + "͹ØÊÒʹÕ" + "͹Øà¤ÃÒÐËì" + "͹Øà¶ÃÐ" + "͹ØâÁ·¹Ò" + "͹Øâ¤" + "͹ØâÅÁ" + "ͺ" + "ͺÒÂ" + "ͺÒÂÀÙÁÔ" + "ͺÒÂÁØ¢" + "Í»Á§¤Å" + ";¾" + ";ÒÃìµàÁ¹µì" + "ÍÀÑÂ" + "ÍÀÔª¹" + "ÍÀÔªÒµ" + "ÍÀÔ­­Ò" + "ÍÀÔ¸ÃÃÁ" + "ÍÀÔ¸Ò¹" + "ÍÀԹѹ·ì" + "ÍÀÔ¹ÑÂ" + "ÍÀÔ¹ÔËÒÃ" + "ÍÀÔºÒÅ" + "ÍÀÔ»ÃѪ­Ò" + "ÍÀÔ»ÃÒÂ" + "ÍÀÔÁËÒÍÓ¹Ò¨" + "ÍÀÔÁÒ¹Ð" + "ÍÀÔÁØ¢" + "ÍÀÔôÕ" + "ÍÀÔÃÁÂì" + "ÍÀÔÃÑ¡Éì" + "ÍÀÔÅÑ¡¢ÔµÊÁÑÂ" + "ÍÀÔÇѹ·ì" + "ÍÀÔÇÒ·¹ì" + "ÍÀÔÊÁÑÂ" + "ÍÀÔÊÁÒ¨ÒÃ" + "ÍÀÔÊÁ⾸Ô" + "ÍÀÔÊÑÁ⾸Ô" + "ÍÀÔÊÔ·¸Ôì" + "ÍÀÔàÅ»¹ì" + "ÍÀÔàÉ¡" + "ÍÀÔä¸Â" + "ÍÁ" + "ÍÁµÐ" + "ÍÁ¹ØÉÂì" + "ÍÁÃ" + "ÍÁÃÒ" + "ÍÁÃÒÇ´Õ" + "ÍÁÃÔ¹·Ãì" + "ÍÁĵ" + "ÍÁĵÂÙ" + "ÍÁÔµÃ" + "ÍÁàÃÈ" + "ÍÂÒ¡" + "ÍÂظÂÒ" + "ÍÂÙè" + "ÍÂèÒ" + "ÍÂèÒ§" + "ÍÃ" + "ÍêÃ" + "ÍÃó¾" + "ÍÃö" + "ÍÃöҸԺÒÂ" + "ÍÃËÐ" + "ÍÃËѧ" + "ÍÃËѹµì" + "ÍÃÑ­" + "ÍÃÔ" + "ÍÃÔºؤ¤Å" + "ÍÃÔÂÐ" + "ÍÃÔÊâµàµÔÅ" + "ÍÃس" + "ÍÃØâ³·ÑÂ" + "ÍÃä·" + "ÍÃèÍÂ" + "ÍÃèÒÁ" + "Íŧ¡µ" + "Íŧ¡Ã³ì" + "Íŧ¡ÒÃ" + "ÍÅǹ" + "ÍÅËÁèÒ¹" + "ÍÅѧ¡ÒÃ" + "ÍÅѪªÕ" + "ÍÅÖ觩Öè§" + "ÍÅàǧ" + "ÍÅèͧ©èͧ" + "ÍÅèÒ§©èÒ§" + "ÍÇ¡ÒÈ" + "ÍÇ´" + "ÍǵÒÃ" + "Íǹ" + "ÍǺ" + "ÍÇÁ§¤Å" + "ÍÇÂ" + "ÍÇÅ" + "ÍÇÊÒ¹" + "ÍÇËÒÃ" + "ÍÇÑÂÇÐ" + "ÍÇÔªªÒ" + "Íʧä¢Â" + "Íʹպҵ" + "ÍÊÁ¡ÒÃ" + "ÍÊÁÁÒµÃ" + "ÍÊþÔÉ" + "ÍÊѧËÒÃÔÁ·ÃѾÂì" + "ÍÊÑ­­Õ" + "ÍÊÑ­á´ËÇÒ" + "ÍÊѵÂì" + "ÍÊÕµÔ" + "ÍÊبÔ" + "ÍÊعպҵ" + "ÍÊØáÒÂ" + "ÍÊØÃÕ" + "ÍÊÙÃ" + "ÍËѧ¡ÒÃ" + "ÍËÔ§ÊÒ" + "ÍËÔÇÒµ¡âä" + "ÍÍ" + "ÍÍ¡" + "ÍÍ¡«Ôਹ" + "ÍÍ¡«Ôപѹ" + "ÍÍ¡­Ò" + "ÍÍ¡ä«´ì" + "ÍÍ´" + "ÍÍ´ÔâÍ" + "Í͹ªÍÃì" + "Í͹«Í¹" + "Í͹«ì" + "Í͹äŹì" + "ÍÍ»ªÑ¹" + "ÍÍ»à¨ç¡µì" + "ÍÍ¿" + "ÍÍ¿ªÍÃì" + "ÍÍ¿¿ÔÈ" + "ÍÍÁ" + "ÍÍÃÒà¤ÔÅ" + "ÍÍÃì᡹" + "ÍÍÊ" + "ÍÍÊàµÃàÅÕÂ" + "ÍФÃéÒÇ" + "ÍдÃÕ¹ÒÅÔ¹" + "ÍеÍÁ" + "ÍÐÃéÒÍÃèÒÁ" + "ÍÐÅØèÁÍÅèÇÂ" + "ÍÐÅØéÁÍÅèÇÂ" + "ÍÐÅÙÁÔà¹ÕÂÁ" + "ÍÐà¤×éÍ" + "ÍÐà«·ÔÅÕ¹" + "ÍÐäÃ" + "ÍÐäËÅè" + "ÍÑ¡" + "ÍÑ¡¢" + "ÍÑ¡¢ÃÇÔ¸Õ" + "ÍÑ¡¢ÃÇԺѵÔ" + "ÍÑ¡¢ÃÊÁÑÂ" + "ÍÑ¡¢ÃÐ" + "ÍÑ¡ÉÃ" + "ÍÑ¡ÉÐ" + "ÍÑ¡àʺ" + "ÍÑ¡â¢" + "ÍѤ¤Ð" + "ÍѤ¤Õ" + "ÍѤ¹Õ" + "ÍѤêÒÂÒ" + "ÍѤÃÁàËÊÕ" + "ÍѤÃÃÒª·Ùµ" + "Íѧ" + "Íѧ¡ÄÉ" + "Íѧ¡ÐÅا" + "Íѧ¤³Ò" + "Íѧ¤ÒÃ" + "Íѧ¤ÒÊ" + "ÍѧʵÃÍÁ" + "ÍѧʹÒ" + "ÍѨ¡ÅѺ" + "ÍѨ¨Ñ¹µì" + "ÍѨ¨ÑÂ" + "ÍѨ¨Ô" + "ÍѨ©ÃÒ" + "ÍѨ©ÃÔºؤ¤Å" + "ÍѨ©ÃÔÂÐ" + "ÍѨ¹Ò" + "ÍѪ¬Ò" + "ÍѪ¬ÒÊÑÂ" + "ÍÑ­ª¹Ð" + "ÍÑ­ªÅÕ" + "ÍÑ­ªÑ¹" + "ÍÑ­»ÃСÒÈ" + "ÍÑ­Á³Õ" + "ÍÑ­ÁÑ­­Ð" + "ÍÑ­ÃÙ»" + "ÍÑ­àªÔ­" + "Íѯ" + "Íѯ°Ð" + "ÍÑ°" + "ÍÑ°ÌÊ" + "ÍÑ°Ô" + "ÍѲ¨Ñ¹·Ãì" + "ÍѲÀÒ¤" + "ÍѲÁ³±Å" + "ÍѲÁÒÊ" + "ÍѲÃѵµÔ" + "Íѳ±ªÐ" + "Íѳ±Ð" + "Íѳ±Ò¡ÒÃ" + "ÍÑ´" + "Íѵ¤Ñ´" + "ÍѵªÕÇ»ÃÐÇѵÔ" + "ÍѵµÐ" + "ÍѵµÒ" + "ÍѵµÒ¸Ô»äµÂ" + "Íѵ¹ÑÂ" + "ÍѵÀÒ¾" + "ÍѵÃÒ" + "ÍѵÇÔ¹ÔºÒµ¡ÃÃÁ" + "Íѵâ¹ÁѵÔ" + "ÍѸÂÒÈÑÂ" + "Íѹ" + "Íѹ´Ñº" + "ÍѹµÃ¸Ò¹" + "ÍѹµÃÒÂ" + "Íѹ¸¡ÒÃ" + "Íѹ¸¾ÒÅ" + "Íѹà´ÍÃì" + "ÍѺ" + "ÍÑ»ÀÒ¤Âì" + "ÍÑ»Á§¤Å" + "ÍÑ»ÂÈ" + "ÍÑ»ÃÐÁÒ³" + "ÍÑ»ÃÒªÑÂ" + "ÍÑ»ÃÕÂì" + "ÍÑ»Åѡɳì" + "ÍÑ»ÊÃ" + "ÍÑ»à»ËÔ" + "ÍѾà¡Ã´" + "ÍѾവ" + "ÍѾഷ" + "ÍÑ¿" + "ÍÑÁ¾Ã" + "ÍÑÁ¾Ä¡Éì" + "ÍÑÁ¾Ò" + "ÍÑÁ¾Òµ" + "ÍÑÁ¾Øª" + "ÍÑÁÊàµÍÃì´ÑÁ" + "ÍÑ¡Ò" + "ÍÑ¡ÒÃ" + "ÍÑÂÂÔ¡Ò" + "ÍÑŨÕàÃÕÂ" + "ÍÑźÑéÁ" + "ÍÑźÒà¹ÕÂ" + "ÍÑÅàºà¹ÕÂ" + "ÍÑȨÃÃÂì" + "ÍÑÈÇÔ¹" + "ÍÑÈÇÔ¹Õ" + "ÍÑÈà¨ÃÕÂì" + "ÍÑÉ®ÒÂØ·" + "ÍÑÉ®ÒÇظ" + "ÍÑÊ´§" + "ÍÑÊ´§¤µ" + "ÍÑÊ´Ã" + "ÍÑʹÕ" + "ÍÑÊÊÐ" + "ÍÑÊÊÒÊÐ" + "ÍÑÊÊØ" + "ÍÑé¡" + "ÍÑé§ÂÕè" + "ÍÑé§âÅè" + "ÍÑé¹" + "ÍÑê¡" + "ÍÑë¹" + "ÍÒ" + "ÍÒ¡Ã" + "ÍÒ¡Ñ»¡ÔÃÔÂÒ" + "ÍÒ¡ÒÃ" + "ÍÒ¡ÒÈ" + "ÍÒ¡ÙÅ" + "ÍÒ¡éÒ" + "ÍÒ¢ÂÒ¹" + "ÍÒ¤Á" + "ÍҤѹµØ¡Ð" + "ÍÒ¤ÒÃ" + "ÍÒ¤à¹Âì" + "ÍÒ¦Òµ" + "ÍÒ§¢¹Ò§" + "ÍÒ¨" + "ÍÒ¨Á" + "ÍÒ¨ÃÔÂÇѵÃ" + "ÍÒ¨Ò´" + "ÍÒ¨ÒÃÂì" + "ÍÒ¨Ô³" + "ÍÒª­Ò" + "ÍÒªÒ" + "ÍÒªÒä¹Â" + "ÍÒªÕ¾" + "ÍÒªÕÇÈÖ¡ÉÒ" + "ÍÒªÕÇÐ" + "ÍÒ­Ò" + "ÍҳѵÔ" + "ÍÒ³Ò" + "ÍÒ´" + "ÍÒ´ÙÃ" + "ÍÒµÁÀÒ¾" + "ÍÒµÁÒ" + "ÍÒ¶Ãþ³ì" + "ÍÒ¶Ãþì" + "ÍÒ·Ã" + "ÍÒ·Ô" + "ÍÒ·ÔµÂì" + "ÍÒ¹" + "ÍÒ¹ÔʧÊì" + "ÍÒ¹ØÀÒ¾" + "ÍÒº" + "ÍҺѵÔ" + "ÍÒ¾Ò¸" + "ÍÒ¿¡Ò¹Ôʶҹ" + "ÍÒ¿ÃÔ¡Ò" + "ÍÒÀóì" + "ÍÒÀѾ" + "ÍÒÀÒ" + "ÍÒÁÔÊ" + "ÍÒÂ" + "ÍÒµ¹Ð" + "ÍÒÂÑ´" + "ÍÒÂØ" + "ÍÒÂØÃÈÒʵÃì" + "ÍÒÂØÃàǪ" + "ÍÒÂØÃá¾·Âì" + "ÍÒúԤ" + "ÍÒÃÁ³ì" + "ÍÒê¹" + "ÍÒêҵÔ" + "ÍÒøÃÃÁ" + "ÍÒûÃÐà·È" + "ÍÒÃÂÐ" + "ÍÒÃÂѹ" + "ÍÒÃÑ¡¢Ò" + "ÍÒÃÑ¡Éì" + "ÍÒÃÑÁÀ¡¶Ò" + "ÍÒÃÑÁÀº·" + "ÍÒÃÒ¸¹Ò" + "ÍÒÃÒÁ" + "ÍÒÃÒÁÔ¡" + "ÍÒÃÒàºÕÂ" + "ÍÒÃÕ" + "ÍÒÃ줵ԡ" + "ÍÒÃìૹÍÅ" + "ÍÒÅ»¹Ð" + "ÍÒÅÐÇÒ´" + "ÍÒÅѡɳì" + "ÍÒÅÑÂ" + "ÍÒÅÑÇ" + "ÍÒÇ" + "ÍÒÇóì" + "ÍÒÇÒÊ" + "ÍÒÇÒËÐ" + "ÍÒÇظ" + "ÍÒÇØâÊ" + "ÍÒÇì" + "ÍÒÈÃÁ" + "ÍÒÈÑÂ" + "ÍÒÈÔÃÇÒ·" + "ÍÒʹÐ" + "ÍÒʹì" + "ÍÒÊÑ­" + "ÍÒÊÒ" + "ÍÒÊÒÌ˺٪Ò" + "ÍÒÊÙÃ" + "ÍÒËÃѺ" + "ÍÒËÒÃ" + "ÍÒà¨Õ¹" + "ÍÒà«ÕÂ" + "ÍÒàÃàºÕÂ" + "ÍÒàǤ" + "ÍÒàÇÈ" + "ÍÒàÈÕÂÃÇÒ·" + "ÍÓ" + "ÍÓ¹ÇÂ" + "ÍÓ¹Ò¨" + "ÍӾйÓ" + "ÍӾѹ" + "ÍÓÁĵ" + "ÍÓÁËÔµ" + "ÍÓÁÒµÂì" + "ÍÓÅÒ" + "ÍÓàÀÍ" + "ÍÓä¾" + "ÍÔ§" + "ÍÔ§¤ì" + "ÍÔ§¤ìà¨çµ" + "ÍÔ¨©Ò" + "Íԩѹ" + "ÍÔ¯°ÒÃÁ³ì" + "ÍÔ°" + "ÍÔ´" + "ÍÔµ¶Õ" + "ÍÔµÒÅÕ" + "ÍÔµÒàÅÕ¹" + "ÍÔ·¸Ô" + "ÍÔ¹" + "ÍÔ¹«ÙÅÔ¹" + "ÍÔ¹·¹ÔÅ" + "ÍÔ¹·¼ÅÑÁ" + "ÍÔ¹·Ã¸¹Ù" + "ÍÔ¹·ÃǧÈì" + "ÍÔ¹·ÃÇÔàªÕÂÃ" + "ÍÔ¹·ÃÒ" + "ÍÔ¹·ÃÒà¹çµ" + "ÍÔ¹·ÃÕ" + "ÍÔ¹·ÃÕÂÊѧÇÃ" + "ÍÔ¹·ÃÕÂì" + "ÍÔ¹·Ãì" + "ÍÔ¹¾Øµ" + "ÍÔ¹¿ÃÒàô" + "ÍÔ¹¿ÍÃìÁÔ¡" + "ÍԹѧ" + "ÍÔ¹à´ÕÂ" + "ÍÔ¹à´Õ¹ᴧ" + "ÍÔ¹àµÍÃì" + "ÍÔ¹àµÍÃìà¹çµ" + "ÍÔ¹àµÍÃìà¿«" + "ÍÔ¹à·Å" + "ÍÔ¹à·ÍÃì๵" + "ÍÔ¹à·ÍÃìà¹çµ" + "ÍÔ¹à·ÍÃìà¿«" + "ÍԹⴹÔà«ÕÂ" + "ÍԹⴹÕà«ÕÂ" + "ÍÔ¹â´à«ÕÂ" + "ÍÔÁ¾ÍÃìµ" + "ÍÔÁàÁ¨" + "ÍÔÂÔ»µì" + "ÍÔÃÔÂÒº¶" + "ÍÔÈÇÃ" + "ÍÔɯÕ" + "ÍÔɯì" + "ÍÔÊ" + "ÍÔʵÃÕ" + "ÍÔÊÃÀÒ¾" + "ÍÔÊÃÐ" + "ÍÔÊÃÒàÍÅ" + "ÍÔÊÃÔÂÂÈ" + "ÍÔÊÃÔÂÐ" + "ÍÔÊÃÔÂÒÀóì" + "ÍÔÊÊÒ" + "ÍÔÊÔ" + "ÍÔÊÕ" + "ÍÔËÁèÒÁ" + "ÍÔËÃèÒ¹" + "ÍÔËÅÑ¡ÍÔàËÅ×èÍ" + "ÍÔàÅ硵Ã͹" + "ÍÔàÅç¡·Ã͹ԡÊì" + "ÍÔàÅç¡â·¹" + "ÍÔèÁ" + "ÍÕ" + "ÍÕ¡" + "ÍÕ¡Ò" + "ÍÕ¡éÍ" + "ÍÕ¤ÍÁàÁÔÃì«" + "ÍչاµØ§¹Ñ§" + "ÍÕÁÙ" + "ÍÕÂÔ»µì" + "ÍÕÅØè©ØÂá©¡" + "ÍÕÅØéÁ" + "ÍÕÊÒ¹" + "ÍÕÊØ¡ÍÕãÊ" + "ÍÕËÃͺ" + "ÍÕËÅÑ¡ÍÔàËÅ×èÍ" + "ÍÕËÅÕ" + "ÍÕàµéÍ" + "ÍÕà·ÍÃì" + "ÍÕàÁÅì" + "ÍÕàËÅÐà¢Ð¢Ð" + "ÍÕâËÅ¡â¢Å¡à¢Å¡" + "ÍÕê´" + "ÍÕë" + "ÍÖ" + "ÍÖ¡" + "ÍÖ¡·Ö¡" + "ÍÖ¡ÍÑ¡" + "ÍÖ§" + "ÍÖ§ÁÕè" + "ÍÖ§ÍÅ" + "ÍÖ´" + "ÍÖè§" + "ÍÖé§" + "ÍÖé´·Öè´" + "ÍÖê¡" + "Í×´" + "Í×Í" + "Í×è¹" + "Í×é¹" + "Í×éÍ" + "ÍØ" + "ÍØ¡" + "ÍØ¡¡ÒºÒµ" + "ÍØ¡Äɯì" + "Íب¨ÒÃÐ" + "ÍبҴ" + "ÍبÒÃÁÃä" + "Íب੷" + "ÍتØ" + "Íد°Ò¡ÒÃ" + "ÍسËÀÙÁÔ" + "ÍسËÐ" + "ÍسËÒ¡ÒÃ" + "ÍسËÔÊ" + "ÍسÒ" + "ÍØ´" + "ÍØ´Á" + "ÍØ´Ã" + "Íش˹ع" + "Íص¾Ô´" + "ÍصôԵ¶ì" + "ÍصÃÔ" + "ÍصÅØ´" + "ÍصÊÒË¡ÃÃÁ" + "ÍصÊÒËÐ" + "ÍصÊèÒËì" + "ÍصØ" + "ÍØ·¡" + "ÍØ·¸Ã³ì" + "ÍØ·¸Ñ¨" + "ÍØ·ÂÒ¹" + "ÍØ·Ã" + "ÍØ·ÅØÁ" + "ÍطѪ" + "ÍØ·ÑÂ" + "ÍØ·Ò¹" + "ÍØ·ÒÃ" + "ÍØ·ÒËóì" + "ÍØ·ÔÈ" + "ÍØ·ØÁ¾Ã" + "ÍظѨ" + "Íغ" + "ÍغÅ" + "ÍغÍÔº" + "ÍغÐ" + "ÍغѵÔ" + "Íغҷ" + "ÍغҷÇì" + "ÍغÒÂ" + "ÍغÒÊ¡" + "ÍغÒÊÔ¡Ò" + "ÍغêÐ" + "ÍØ»" + "ÍØ»¡Ã³ì" + "ÍØ»¡ÃÁ" + "ÍØ»¡ÒÃÐ" + "ÍØ»¡ÒÃÕ" + "ÍØ»¶ÑÁÀ¡" + "ÍØ»¶ÑÁÀì" + "ÍØ»·Ò¹" + "ÍØ»·Ùµ" + "ÍØ»¹ÑÂ" + "ÍØ»¹Ò¡" + "ÍØ»¹ÔÊÑÂ" + "ÍØ»ÁÒ" + "ÍØ»ÁÒ¹" + "ÍØ»ÃÒª" + "Íػʧ¤ì" + "ÍØ»ÊÁº·" + "ÍØ»ÊÃä" + "ÍØ»ÊÑÁ»·Ò" + "ÍػѪ¬ÒÂÐ" + "ÍػѪ¬ÒÂì" + "Íػѯ°Ò¡" + "Íػѯ°Ò¹Ð" + "ÍػѷÇѹµÃÒÂ" + "ÍػѷÇà˵Ø" + "Íػҷҹ" + "ÍØ»âÀ¤" + "ÍØ»â¤" + "ÍØ»âÅ¡¹ì" + "ÍØ»äÁÂ" + "ÍØÂ" + "ÍØÃÐ" + "ÍØÃѧÍصѧ" + "ÍØÃÒ" + "ÍØÃØ" + "ÍØÃاÍصѧ" + "ÍØɳÕÂì" + "ÍØÉÒ" + "ÍØÊÒ" + "ÍØÊØ" + "ÍØມ¢Ò" + "ÍØàËÁè" + "ÍØáÇé" + "ÍØâ¦É" + "ÍØâºÊ¶" + "ÍØâÁ§¤ì" + "ÍØäÃ" + "ÍØè¹" + "ÍØèÂ" + "ÍØé§" + "ÍØéÁ" + "ÍØéÂ" + "ÍØêÂ" + "ÍÙ" + "ÍÙ°" + "ÍÙ´" + "ÍÙÁ" + "ÍÙÃØ" + "ÍÙè" + "ÍÙé" + "ÍÙéÍÕé" + "ÍÙëÍÕë" + "Íà¨Å¡" + "Íà¨ÅÐ" + "Í๡" + "Í๡¤Ø³" + "Í๨͹Ҷ" + "Íà»ËÔ" + "ÍàÁ" + "ÍàÁÃԡѹ" + "ÍàÁÃÔ¡Ò" + "ÍàǨÕ" + "Íá´»àµÍÃì" + "Íâ¦ÉÐ" + "Íâ³·ÑÂ" + "Í⹪Ò" + "Íâ¹´Òµ" + "ÍâÅËÐ" + "ÍâÈ¡" + "ÍâËÊÔ" + "Íèͧ" + "Íè͹" + "ÍèÍÂ" + "ÍèÒ" + "ÍèÒ§" + "ÍèÒ¹" + "ÍèÒÇ" + "ÍèÓ" + "Íé¹" + "ÍéÇ¡" + "Íéǹ" + "ÍéÍ" + "Íé͹" + "Íé͹áÍé¹" + "ÍéÍÁ" + "ÍéÍÂ" + "ÍéÍÂÊéÍÂ" + "ÍéÍÂÍÔè§" + "ÍéÒ" + "ÍéÒ§" + "ÍéÒÂ" + "ÍéÒÇ" + "ÍéÓÍÖé§" + "ÍêÍ´" + "ÍêÐ" + "ÍëÍ" + "Íëͧ" + "ÍëÍÂ" + "Ρà¡Õé¹" + "Îǧ«ØéÂ" + "Îǹ" + "ÎǺ" + "ÎÍ¡¡Õé" + "ÎÍ´" + "Î͹â¹ÅÙÅÙ" + "ÎÍÃìâÁ¹" + "ÎÍÅѹ´Ò" + "ÎÍÅᏴì" + "ÎÐ" + "ÎÑ¡" + "Îѧ¡ÒÃÕ" + "ÎÑè¹" + "ÎÑéÇ" + "ÎÒ" + "ÎÒÁ" + "ÎÒÃì´´Ôʤì" + "ÎÒÃì´áÇÃì" + "ÎÒàÃçÁ" + "ÎÒâÅÇÕ¹" + "ÎÔµ" + "ÎÔ¹´Ù" + "ÎÔ»â»â»àµÁÑÊ" + "ÎÔÊ·ÕàÃÕÂ" + "ÎÕàÅÕÂÁ" + "ÎÕâÃè" + "ÎÖ" + "ÎÖ¡" + "ÎÖ´" + "ÎÖ´ÎÑ´" + "ÎÖÁ" + "ÎÖÂ" + "ÎÖèÁ" + "Î×´ÎÒ´" + "Î×Í" + "Î×èÍ" + "Î×éÍ" + "Îغ" + "ÎØÂàÅÎØÂ" + "ÎÙ¡" + "ÎÙÁ" + "ÎÙé" + "ÎèÍ" + "Îèͧ¡§" + "Îèͧàµé" + "ÎéÍ" + "ÎéÒ" + "à¡" + "à¡¡ÁÐàËá" + "ࡨÔÍÒ¨ÒÃÂì" + "ࡳ±ì" + "à¡´" + "ࡵØ" + "ࡹ" + "à¡Á" + "à¡ÁÊì" + "à¡Â" + "à¡Ã§" + "à¡Ã´" + "à¡ÃÍÐ" + "à¡ÃÒÐ" + "à¡ÃÔ¡" + "à¡ÃÔè¹" + "à¡ÃÕ¡" + "à¡ÃÕ§" + "à¡ÃÕ¹" + "à¡ÃÕº" + "à¡ÃÕÂÁ" + "à¡ÃÕÂÇ" + "à¡ÃÕéÂÇ" + "à¡Ãç§" + "à¡Ãç´" + "à¡ÃèÍ" + "à¡Å" + "à¡ÅÍ" + "à¡ÅÒ" + "à¡ÅÕ§" + "à¡ÅÕ´" + "à¡ÅÕÂÇ" + "à¡ÅÕèÂ" + "à¡ÅÕéÂ" + "à¡ÅÕé§" + "à¡Å×Í" + "à¡Å×Í¡" + "à¡Å×è͹" + "à¡Å×éÍ" + "à¡Å×é͹" + "à¡Åç´" + "à¡ÅéÒ" + "à¡ÇÕ¹" + "à¡È" + "à¡ÈÒ" + "à¡ÈÔ¹Õ" + "à¡ÉµÃ" + "à¡ÉµÃ¡Ã" + "à¡ÉµÃ¡ÃÃÁ" + "à¡ÉÁ" + "à¡ÉÕ³" + "à¡ÉÕ¹" + "à¡ÊÃ" + "à¡Í" + "à¡ÍÃì" + "à¡ÍÔªÒ" + "à¡Ð" + "à¡Ð¡Ð" + "à¡Ò" + "à¡Òµì" + "à¡Ò·Ñ³±ì" + "à¡ÒÅÑ´" + "à¡ÒËÅÕ" + "à¡ÒÐ" + "à¡ÒàËÅÒ" + "à¡Ô§" + "à¡Ô´" + "à¡Ô¹" + "à¡ÕÂ" + "à¡Õ§" + "à¡Õ¨" + "à¡Õ´" + "à¡Õ¹" + "à¡ÕÂõÔ" + "à¡ÕÂõԤس" + "à¡ÕÂõԹÔÂÁ" + "à¡ÕÂõԻÃÐÇѵÔ" + "à¡ÕÂõÔÀÙÁÔ" + "à¡ÕÂõÔÂÈ" + "à¡ÕÂõÔÈÑ¡´Ôì" + "à¡ÕÂõÔì" + "à¡ÕÂÃì" + "à¡ÕèÂ" + "à¡Õè§" + "à¡ÕèÂÇ" + "à¡ÕéÂÁÍÕë" + "à¡ÕéÂÁä©è" + "à¡ÕéÂÇ" + "à¡ÕêÂÇ" + "à¡ÕêÂÐ" + "à¡×Í¡" + "à¡×ͺ" + "à¡×éÍ" + "à¡àÃ" + "à¡ç§" + "à¡ç¨" + "à¡çº" + "à¡è§" + "à¡è§¡Ò¨" + "à¡è¹" + "à¡èÒ" + "à¡é" + "à¡é§" + "à¡é§¡éÒ§" + "à¡éÍ" + "à¡éÒ" + "à¡éÒÍÕé" + "à¡ê" + "à¡ê¡" + "à¡ê¡ÎÇÂ" + "à¡ë" + "à¡ë§" + "à¡ëÒ" + "à¢" + "ࢡ" + "ࢵ" + "ࢹ" + "ࢹ§" + "ࢹÂ" + "ࢹç´" + "ࢺ稢ºÇ¹" + "ࢺçµ" + "à¢ÁÃ" + "à¢ÁÒ" + "à¢Á×ͺ" + "à¢Áç§" + "à¢Áç´á¢Áè" + "à¢Áè¹" + "à¢ÁèÒ" + "à¢Áé¹" + "à¢Â" + "à¢Â¡" + "à¢ÂÔº" + "à¢Â×é͹" + "à¢Âè§" + "à¢ÂèÒ" + "à¢ÂéÍá¢Âè§" + "à¢ÃÍÐ" + "à¢Å§" + "à¢ÅÍÐ" + "à¢ÅÐ" + "à¢ÅÒ" + "à¢ÅÒÐ" + "à¢Ç" + "à¢ÉÁ" + "à¢ÌÐ" + "à¢Ð¢Ð" + "à¢Ò" + "à¢Ô¹" + "à¢Õ§" + "à¢Õ´" + "à¢Õ¹" + "à¢ÕÂÁ" + "à¢ÕÂÇ" + "à¢ÕèÂ" + "à¢ÕéÂÇ" + "à¢×Í" + "à¢×èͧ" + "à¢×è͹" + "à¢ç­" + "à¢ç´" + "à¢ç¹" + "à¢çÁ" + "à¢è§" + "à¢è¹" + "à¢èÒ" + "à¢éÁ" + "à¢éÒ" + "हÂÒ" + "à¤ÁÕ" + "à¤Â" + "à¤Ã§" + "à¤Ã´Ôµ" + "à¤ÃÒ" + "à¤ÃÒÐËì" + "à¤ÃÕ´" + "à¤Ã×Í" + "à¤Ã×èͧ" + "à¤Ã×èͧ¾ÔÁ¾ì" + "à¤Ãè§" + "à¤Ã觤ÃÑ´" + "à¤ÅÔºà¤ÅÔéÁ" + "à¤ÅÔéÁ" + "à¤ÅÕÂ" + "à¤Å×ͺ" + "à¤Å×è͹" + "à¤Åç´" + "à¤Åé¹" + "à¤ÅéÒ" + "à¤Çé§" + "à¤Ë" + "à¤ËÐ" + "à¤ËÒ" + "à¤ÍÃìà¹Å" + "à¤ÍÐ" + "à¤Ò¹ìàµÍÃì" + "à¤Òþ" + "à¤ÒÐ" + "à¤Õ§" + "à¤Õ´" + "à¤Õ¹" + "à¤ÕÂÇ" + "à¤ÕèÂÁ" + "à¤ÕèÂÇ" + "à¤ÕéÂÇ" + "à¤×ͧ" + "à¤àºÔÅ" + "à¤çÁ" + "à¤é¡" + "à¤é¹" + "à¤éÒ" + "à¤éà¡é" + "à¦Õè¹" + "ৡ" + "à§Â" + "à§ÍÐ" + "à§ÍЧÐ" + "à§Ò" + "à§ÒÐ" + "à§Ô¹" + "à§Õº" + "à§Õè§" + "à§Õè¹" + "à§ÕèÂËÙ" + "à§ÕéÂÇ" + "à§×Í¡" + "à§×Í´" + "à§×ͺ" + "à§×èͧ" + "à§×è͹" + "à§×è͹ä¢" + "à§×éÍ" + "à§×éÍÁ" + "à§èÒ" + "à§éÒ" + "à¨" + "਴ÕÂʶҹ" + "਴ÕÂì" + "ਵ" + "ਵ¤µÔ" + "ਵ¨Ó¹§" + "ਵ¹Ò" + "ਵ¹ÒÃÁ³ì" + "ਵÀÙµ" + "ਵÊÔ¡" + "ਹ" + "à¨ÁÊì" + "à¨Ã¨Ò" + "à¨ÃÔ­" + "à¨ÃÔ´" + "à¨Çç´" + "à¨É®Ò" + "à¨Í" + "à¨ÍÃì" + "à¨ÍÐ" + "à¨ÒÐ" + "à¨Ô´" + "à¨ÔÁ" + "à¨Ôè§" + "à¨Ôè¹" + "à¨Õ´" + "à¨Õ¹" + "à¨ÕÂÁ" + "à¨ÕÂÃÐä¹" + "à¨ÕÂÇ" + "à¨Õêº" + "à¨ÕêÂÇ" + "à¨ÕêÂǨêÒÇ" + "à¨Õë¹" + "à¨ÕëÂÁà¨ÕéÂÁ" + "à¨×Í" + "à¨×è͹" + "à¨×éÍÂ" + "à¨ç´" + "à¨çº" + "à¨èÍ" + "à¨èÒ" + "à¨éÒ" + "à¨éÒªÙé" + "à¨ê" + "à¨ê¡" + "à¨ê§" + "à¨êµ" + "à¨êÒ" + "à¨ëÍ" + "à©" + "à©¡" + "à©´" + "੾ÒÐ" + "à©Â" + "à©ÂàÁÂ" + "à©ÅÂ" + "à©ÅÒ" + "à©ÅÔÁ" + "à©ÅÕ§" + "à©ÅÕÂÇ" + "à©ÅÕèÂ" + "à©ÇÕ§" + "à©ÇÕ¹" + "à©ÍÐá©Ð" + "à©Ò" + "à©Ò¡êÇÂ" + "à©ÒÐ" + "à©Ô´" + "à©Ôº" + "à©Õ§" + "à©Õ´" + "à©Õº" + "à©ÕÂÇ" + "à©ÕèÂÇ" + "à©×͹" + "à©×èÍÂ" + "à©â¡" + "à©è§" + "હ" + "àªÂ" + "àªÅ" + "àªÅÂ" + "àªÉ°Ò" + "àªÍ" + "àªÍÃì" + "àªÒǹì" + "àªÒÇì" + "àªÔ§" + "àªÔ­" + "àªÔ´" + "àªÔéµ" + "àªÕ§" + "àªÕ§ãËÁè" + "àªÕº" + "àªÕÂÃì" + "àªÕÂÇ" + "àªÕè¹" + "àªÕèÂÇ" + "àª×Í¡" + "àª×Í´" + "àª×͹" + "àª×èÍ" + "àª×èͧ" + "àª×èÍÁ" + "àª×éÍ" + "àªç¤" + "àªç´" + "àªè¹" + "àªèÒ" + "àªé§" + "àªéÒ" + "à«" + "૵" + "ૹ" + "ૹµÔ¡ÃÑÁ" + "ૹµÔÅÔµÃ" + "ૹµÔà¡Ã´" + "ૹµÔàÁµÃ" + "ૹµì" + "ૻѡµÃСÃéÍ" + "à«¿" + "à«ÃØèÁ" + "à«ÅÅÙÅÍ´ì" + "à«ÅÅÙâÅÊ" + "à«ÅÅì" + "à«ÅÊì" + "à«Åà«ÕÂÊ" + "à«Í" + "à«ÍÃì" + "à«ÍÃìÇÔÊ" + "à«ÍÐ" + "à«Ò" + "à«ÒÐ" + "à«Ô§" + "à«ÔÃì¿àÇÍÃì" + "à«Ôé§" + "à«Õ¹" + "à«ÕÂÁ«Õ" + "à«ÕÂÇ" + "à«Õè§äÎé" + "à«×èͧ" + "à«ç¡àÁ¹µì" + "à«ç§" + "à«ç¹" + "à«ç¹àµÍÃì" + "à«è§" + "à«è¹" + "à«èÍ" + "à«é§" + "à«éÒ«Õé" + "à¬Í" + "à¬ÍàÍÁ" + "à²èÒ" + "à³Ã" + "à´¡«ìâ·ÃÊ" + "à´¤Ò¡ÃÑÁ" + "à´¤ÒÅÔµÃ" + "à´¤ÒàÁµÃ" + "à´ª" + "à´ªÐ" + "à´«Ô¡ÃÑÁ" + "à´«ÔÅÔµÃ" + "à´«ÔàÁµÃ" + "à´¹" + "à´¹ÁÒÃì¡" + "à´¹ÁÒÃì¤" + "à´ºÔµ" + "à´ÃѨ©Ò¹" + "à´ÅÅì" + "à´ÇÔ´" + "à´Ê¡ì·Í»" + "à´ÍÐ" + "à´Ò" + "à´ÒÐ" + "à´Ô¹" + "à´ÔÁ" + "à´ÕÂ" + "à´Õ§" + "à´Õ´" + "à´ÕÂÃ" + "à´ÕÂôÒÉ" + "à´ÕÂöÕÂì" + "à´ÕÂÃѨ©Ò¹" + "à´ÕÂÇ" + "à´ÕÂÐ" + "à´ÕèÂÇ" + "à´ÕéÂ" + "à´ÕëÂÇ" + "à´×Í´" + "à´×͹" + "à´×ÍÂ" + "à´âª" + "à´ç¡" + "à´ç¨" + "à´ç´" + "à´è" + "à´è¹" + "à´èÒ" + "à´é§" + "à´éÒ" + "à´ëÍ" + "à´ëÍ´ëÒ" + "àµÂ" + "àµÃÕÂ" + "àµÃÕ´" + "àµÃÕÂÁ" + "àµÃç´" + "àµÃè" + "àµÅÔ´" + "àµÇç´" + "àµÍÃì" + "àµÍÃì¡Õ" + "àµÍÐ" + "àµÐ" + "àµÒ" + "àµÒÐáµÐ" + "àµÔº" + "àµÔÁ" + "àµÔè§" + "àµÕ§" + "àµÕ¹" + "àµÕº" + "àµÕèÂ" + "àµÕèÂÇ" + "àµÕéÂ" + "àµÕëÂÁ" + "àµ×͹" + "àµ×éÍ" + "àµç§" + "àµç¹·ì" + "àµçÁ" + "àµè§" + "àµèÍ" + "àµèÒ" + "àµé¹" + "àµéÒ" + "àµéÒ·Ö§" + "àµéÒÊèǹ" + "àµéÒËÙé" + "àµéÒÎÇÂ" + "àµéÒà¨ÕéÂÇ" + "àµéÒàÊÕº" + "àµê¡" + "àµêÐ" + "àµëÒ" + "ඡԧ" + "ඹ" + "à¶Ã" + "à¶ÃÐ" + "à¶ÃÒ¹Øà¶ÃÐ" + "à¶ÅÔ§" + "à¶Å×Í¡¶Å¹" + "à¶Åä¶Å" + "à¶ÍÐ" + "à¶Ò" + "à¶ÒÇÑÅÂì" + "à¶ÒÐ" + "à¶Ô¡" + "à¶Ô´" + "à¶Ô´à·Ô§" + "à¶Ô¹" + "à¶Õ§" + "à¶×Í" + "à¶×Í¡" + "à¶×è͹" + "à¶èÍ" + "à¶éÒ" + "à·" + "à·¤¹Ô¤" + "à·¤â¹âÅÂÕ" + "à·¹¹ÔÊ" + "à·»" + "à·¾" + "à·¾´Ò" + "à·¾¸Ô´Ò" + "à·¾¹Á" + "෾´Ò" + "à·¾Âà¨éÒ" + "à·¾ÒÃÑ¡Éì" + "à·¾Õ" + "à·¾à¨éÒ" + "à·Á»ØÃÐ" + "à·Ã´à´ÍÃì" + "à·Ã¹à¹ÍÃì" + "à·Ç´Ò" + "à·Ç·Ñ³±ì" + "à·Ç·Ùµ" + "à·Ç¸ÃÃÁ" + "à·Ç¸Ô´Ò" + "à·Ç¹ÔÂÁ" + "à·ÇÃÙ»" + "à·ÇÉ" + "à·Çʶҹ" + "à·ÇÑ­" + "à·Çѹ" + "à·ÇÒÅÑÂ" + "à·ÇÕ" + "à·ÇâÅ¡" + "à·È" + "à·È¡ÒÅ" + "à·È¹Ò" + "à·È¹ì" + "à·ÈºÒÅ" + "à·ÈÁ¹µÃÕ" + "à·ÈÒÀÔºÒÅ" + "à·Êµì" + "à·ËÇѵ¶Ø" + "à·Ëì" + "à·Í­" + "à·ÍÁ" + "à·ÍÃìâÁÁÔàµÍÃì" + "à·ÍзÐ" + "à·Ò" + "à·Ô´" + "à·Ô¹" + "à·Ôº" + "à·Ôè§" + "à·ÔéÁ" + "à·Õ¹" + "à·Õº" + "à·ÕÂÁ" + "à·ÕÂÇ" + "à·Õè§" + "à·ÕèÂÇ" + "à·×Í¡" + "à·àºÔÅ" + "à·àŤÍÁ" + "à·àÇÈÃì" + "à·àÇÈÇÃì" + "à·â¾" + "à·ç¨" + "à·è" + "à·èÍ" + "à·èÒ" + "à·é§àµé§" + "à·éÍ" + "à·éÒ" + "ู" + "ูÊì" + "à¸Í" + "๤ä·" + "๵" + "๵Ã" + "๵Êऻ" + "๵Ô" + "๺ÔÇÅÒ" + "๻¨Ù¹" + "๻ÒÅ" + "à¹Â" + "à¹Ã¤Ø³" + "à¹ÃÁÔµ" + "à¹Ãà·È" + "à¹Ò" + "à¹Ô¹" + "à¹Ôº" + "à¹Ôè¹" + "à¹ÕÂ" + "à¹Õ¹" + "à¹ÕÂÁ" + "à¹×ͧ" + "à¹×ÍÂ" + "à¹×èͧ" + "à¹×éÍ" + "à¹çµ" + "à¹çµàÇÔÃì¡" + "à¹çµàÇÔÃì¤" + "à¹èÒ" + "à¹é¹" + "à¹éÍ" + "àº" + "຤͹" + "ວ¡ÍÅ" + "ອ¨" + "ອ¨¡" + "ອ¨¡ÑÅÂÒ³Õ" + "ອ¨¡ÒÁ¤Ø³" + "ອ¨¸ÃÃÁ" + "ອ¨ºÃþµ" + "ອ¨ÁÒÈ" + "ອ¨Ã§¤ì" + "ອ¨Ò" + "ອ¨Ò§¤»ÃдÔÉ°ì" + "ອ¨Ò§¤ì" + "ອ¨à¾Ê" + "ີéÒ" + "ູ" + "ູ«Ô¹" + "ູ«ì" + "àºÃ¡" + "àºÃì¡" + "àºÅàÂÕèÂÁ" + "àºÈ" + "àºÊ" + "àºÊºÍÅ" + "àºÍÃì" + "àºÍÃìÅÔ¹" + "àºÍÐ" + "àºÍкÐ" + "àºÐ" + "àºÒ" + "àºÒÐ" + "àºÒÐáÊ" + "àºÔ¡" + "àºÔÃì¡" + "àºÔè§" + "àºÕ´" + "àºÕ¹" + "àºÕÂÃì" + "àºÕè§" + "àºÕéÂ" + "àºÕéÂÇ" + "àº×Í" + "àº×͹" + "àº×èÍ" + "àº×éÍ" + "àº×éͧ" + "àºç´" + "àºç´àµÅç´" + "àºç´àÊÃç¨" + "àºè§" + "àºé" + "àºéÍ" + "àºéÍàÃÔèÁ" + "àºéÍàÃèÍ" + "àºéÒ" + "໡" + "à»Ãµ" + "à»ÃÁ" + "à»ÃÂ" + "à»ÃÍ" + "à»ÃÍÐ" + "à»ÃÒÐ" + "à»ÃÕ§" + "à»ÃÕ­" + "à»ÃÕº" + "à»ÃÕÂÇ" + "à»ÃÕÂÐ" + "à»ÃÕé§" + "à»ÃÕéÂÇ" + "à»ÃÕêÂÐ" + "à»Ã×èͧ" + "à»Ã×éÍÂ" + "à»Å" + "à»ÅÇ" + "à»ÅÒÐ" + "à»ÅÕè¹" + "à»ÅÕèÂÇ" + "à»ÅÕéÂ" + "à»Å×Í¡" + "à»Å×ͧ" + "à»Å×ÍÂ" + "à»Å×éͧ" + "à»Åè§" + "à»ÅèÒ" + "à»Í" + "à»ÍÃì" + "à»ÍÃìà«ç¹µì" + "à»Ð" + "à»Ò" + "à»ÒÐ" + "à»Òà»Ò" + "à»Ô¡" + "à»Ô§" + "à»Ô´" + "à»Ôº" + "à»Ôè¹" + "à»Ôêº" + "à»ÕÂ" + "à»Õ¡" + "à»ÕèÂÁ" + "à»ÕéÂÇ" + "à»Õê¡" + "à»ÕêÂÐ" + "à»×Í¡" + "à»×èÍÂ" + "à»×é͹" + "à»ç´" + "à»ç¹" + "à»ç¹µé¹" + "à»è§" + "à»èÒ" + "à»é" + "à»é§" + "à»éÒ" + "à»ê¡" + "à»ë" + "à»ë§" + "à»ëÍ" + "à»ëÍàËÅÍ" + "à»ëÒ" + "à»ëÒÎ×éÍ" + "à¼" + "༧" + "༪ԭ" + "༴ÔÁ" + "༴Õ§" + "༴ç¨" + "à¼Â" + "à¼ÂÍ" + "à¼ÅÍ" + "à¼ÅÍä¼Å" + "à¼ÅÐ" + "à¼ÅÒÐ" + "à¼Åè" + "à¼ÍÔ­" + "à¼ÍàÃÍ" + "à¼Ð" + "à¼Ò" + "à¼ÒÐ" + "à¼Ô¹" + "à¼×Í¡" + "à¼×Í´" + "à¼×èÍ" + "à¼ç´" + "à¼è¹" + "à¼èÒ" + "à¼éÒ" + "à½×Í" + "à½×Í¡" + "à½×è͹" + "à½éÒ" + "à¾" + "ྨ" + "ྪ¬¦Òµ" + "ྪÃ" + "ྪÃÒÂظ" + "ྴҹ" + "ྷ¹Ò" + "ྷÒÂ" + "ྷغÒÂ" + "ྐྵ¡ÇÔ¹" + "ྐྵÕ´" + "ྐྵà·ÕÂÁ" + "à¾Ã§" + "à¾ÃÒ" + "à¾ÃÒÐ" + "à¾ÃÔ´" + "à¾ÃÔÈ" + "à¾ÃÕ¡" + "à¾ÃÕ§" + "à¾ÃÕº" + "à¾ÃÕÂÇ" + "à¾Ã×èÍ" + "à¾Å" + "à¾Å§" + "à¾ÅÒ" + "à¾ÅÒÐ" + "à¾ÅÔ§" + "à¾ÅÔ´à¾ÅÔ¹" + "à¾ÅÔ¹" + "à¾ÅÕÂ" + "à¾ÅÕè§" + "à¾ÅÕéÂ" + "à¾È" + "à¾ÒÐ" + "à¾Ô¡" + "à¾Ô§" + "à¾Ôè§" + "à¾ÔèÁ" + "à¾Õ§" + "à¾Õº" + "à¾ÕÂÃ" + "à¾ÕéÂ" + "à¾Õé§" + "à¾Õé¹" + "à¾×èÍ" + "à¾×è͹" + "à¾ç§" + "à¾ç¨" + "à¾ç­" + "à¾ç´·ÙÅ" + "à¾è§" + "à¾è¹¾èÒ¹" + "à¾èÍ" + "à¾éÍ" + "à¿´" + "à¿Í" + "à¿ÍÃì" + "à¿ÍÃì¹Ôà¨ÍÃì" + "à¿ÍÃìàÁÕÂÁ" + "à¿ÍÐ" + "à¿Ð" + "à¿Ô¹" + "à¿ÕéÂÁ" + "à¿ÕéÂÇ" + "à¿×Í" + "à¿×ͧ" + "à¿×͹" + "à¿×ÍÂ" + "à¿×èͧ" + "à¿×éÍ" + "à¿×éͧ" + "à¿×éÍÂ" + "à¿ç´" + "à¿é¹" + "à¿éÍ" + "àÀµÃÒ" + "àÀ·" + "àÀ·ØºÒÂ" + "àÀÃÕ" + "àÀÊѪ" + "àÁ" + "àÁ¡Ð" + "àÁ¡ÐàÎÔõ«ì" + "àÁ¢ÅÒ" + "àÁ¦" + "àÁ¦Ò" + "àÁ¦Ô¹·Ãì" + "àÁ¦Õ" + "àÁµµÒ" + "àÁµÃ" + "àÁµÃÔ¡" + "àÁ¶Ø¹" + "àÁ·¹Õ" + "àÁ·Ô¹Õ" + "àÁ¸Ò" + "àÁ¸Õ" + "àÁ¹·ÍÅ" + "àÁ¹ºÍÃì´" + "àÁ¹Ù" + "àÁÁâÁÃÕ" + "àÁÃÑÂ" + "àÁÃØ" + "àÁÅ×ͧ" + "àÁÅ×èÍÂ" + "àÁÅ×éÍÂ" + "àÁÅç´" + "àÁÅì" + "àÁÉ" + "àÁÉÒ¹" + "àÁÐ" + "àÁÒ" + "àÁÒÅÕ" + "àÁÒÊì" + "àÁÒÌÕ" + "àÁÒÐ" + "àÁÔ¹" + "àÁÕÂ" + "àÁÕ§" + "àÁÕè§" + "àÁÕé¹" + "àÁ×Í¡" + "àÁ×ͧ" + "àÁ×èÍ" + "àÁ×èÍÂ" + "àÁâÁÃÕ" + "àÁç¡«Ôâ¡" + "àÁç´" + "àÁè¹" + "àÁèÒ" + "àÁéÁ" + "àÁéÒÊì" + "àÂ" + "à§" + "à«Ù" + "à¹" + "àÂÍ" + "àÂÍÃÁѹ" + "àÂÍÃÁѹ¹Õ" + "àÂÍÃÁѹÕ" + "àÂÍÐ" + "àÂÒ" + "àÂÒǪ¹" + "àÂÒǾÒ" + "àÂÒǾҹ" + "àÂÒÇÁÒÅÂì" + "àÂÒÇÂÍ´" + "àÂÒÇÃÒª" + "àÂÒÇÅѡɳì" + "àÂÒÇàÃÈ" + "àÂÒÇì" + "àÂÒÐ" + "àÂÔ¹" + "àÂÔº" + "àÂÔè¹" + "àÂÔè¹àÂéÍ" + "àÂÔéÁ" + "àÂÕÂ" + "àÂÕ¹" + "àÂÕº" + "àÂÕÂÇ" + "àÂÕè§" + "àÂÕèÂÁ" + "àÂÕèÂÇ" + "àÂ×Í¡" + "àÂ×͹" + "àÂ×èÍ" + "àÂ×éÍ" + "àÂ×éͧ" + "àÂ×é͹" + "àÂç¹" + "àÂçº" + "àÂè¹" + "àÂèÍ" + "àÂé" + "àÂéÂ" + "àÂéÒ" + "àâ" + "àâÒ" + "àâҤ³Ôµ" + "àóÙ" + "àô͹" + "àôÒÃì" + "àÃÃǹ" + "àÃÇ´Õ" + "àÃÍ" + "àÃÒ" + "àÃÒÐ" + "àÃÔ§" + "àÃÔ´" + "àÃÔÁ" + "àÃÔèÁ" + "àÃÔéÁ" + "àÃÕ¡" + "àÃÕ§" + "àÃÕ´" + "àÃÕ¹" + "àÃÕº" + "àÃÕÂÁ" + "àÃÕÂÇ" + "àÃÕèÂ" + "àÃÕèÂÁ" + "àÃÕèÂÇ" + "àÃÕéÂÇá" + "àÃ×Í" + "àÃ×Í¡" + "àÃ×ͧ" + "àÃ×Í´" + "àÃ×͹" + "àÃ×èÍ" + "àÃ×èͧ" + "àÃ×èÍÂ" + "àÃ×éÍ" + "àÃ×é͹" + "àÃäÃ" + "àÃçÇ" + "àÃè" + "àÃè§" + "àÃèÍ" + "àÃèÒ" + "àÃé¹" + "àÃéÒ" + "àÅ¢" + "àÅ¢Ò" + "àÅ¢Ò¸Ô¡ÒÃ" + "àŢҹءÒÃ" + "àÅ´Õé" + "àŵ" + "àŹ" + "àŹÊì" + "àźҹ͹" + "àÅÂ" + "àÅÇ" + "àÅÈ" + "àÅËÅѧ" + "àÅÍ" + "àÅÍÐ" + "àÅÍÐà·ÍÐ" + "àÅÐ" + "àÅÐà·Ð" + "àÅÒ" + "àÅÒÐ" + "àÅÔ¡" + "àÅÔ¡ÅÑè¡" + "àÅÔ¹àÅèÍ" + "àÅÔÈ" + "àÅÔé§" + "àÅÕÂ" + "àÅÕ§" + "àÅÕ¹" + "àÅÕº" + "àÅÕÂÁ" + "àÅÕÂÇ" + "àÅÕè§" + "àÅÕè¹" + "àÅÕèÂÁ" + "àÅÕé§" + "àÅÕéÂÇ" + "àÅ×Í¡" + "àÅ×Í´" + "àÅ×͹" + "àÅ×èͧ" + "àÅ×è͹" + "àÅ×èÍÁ" + "àÅ×èÍÁãÊ" + "àÅ×èÍÂ" + "àÅ×éÍÂ" + "àÅà«ÍÃì" + "àÅà¾" + "àÅç¡" + "àÅç§" + "àÅç´" + "àÅç¹" + "àÅçº" + "àÅçÁ" + "àÅè¹" + "àÅèÁ" + "àÅèËì" + "àÅèÍ" + "àÅèÒ" + "àÅé§" + "àÅéÒ" + "àǤ" + "àǤԹ" + "àǤÕ" + "àǨ" + "àǪ" + "àǪ¡ÃÃÁ" + "àÇ°¹ì" + "àdzÐ" + "àdzÔ" + "àdzԡ" + "àdzØ" + "àǵ¹ì" + "àǵÃ" + "àǵÒÅ" + "àÇ·" + "àÇ·¹Ò" + "àÇ·Âì" + "àÇ·Ò§¤ÈÒʵÃì" + "àÇ·Ò§¤ì" + "àÇ·Ò¹µÐ" + "àÇ·Ò¹µì" + "àÇ·Ô" + "àÇ·Õ" + "àǸÐ" + "àǹ" + "àǹÔÊ" + "àǹäµÂ" + "àǺ䫵ì" + "àÇÁºÅÕÂì" + "àÇÁÐ" + "àÇÁѵ" + "àÇÁÒµÔ¡" + "àÇÃ" + "àÇÃÁ³Õ" + "àÇÃѳ" + "àÇÃѳ³ÔÂÐ" + "àÇÃÕ" + "àÇÅÊì" + "àÇÅÒ" + "àÇÈÁì" + "àÇÈÂÒ" + "àÇÈÂì" + "àÇʵì" + "àÇʹì" + "àÇÊÀÙ" + "àÇÊÁÐ" + "àÇÊÁì" + "àÇÊÇѳ" + "àÇÊÊÐ" + "àÇÊÊѹ´Ã" + "àÇÊÊØ¡ÃÃÁ" + "àÇÊÊØÇѳ" + "àÇÊÒÃѪ" + "àÇÊÔ" + "àÇÊÔÂÒ" + "àÇ˹" + "àÇËÐ" + "àÇËѧ¤ì" + "àÇËÑ»µÔ" + "àÇËÒ" + "àÇËÒÂÊ" + "àÇËÒÊ" + "àÇÌØ" + "àÇÍ" + "àÇÍÃì" + "àÇÍÃìªÑ¹" + "àÇÔ¡" + "àÇÔÃì¡Ê൪ѹ" + "àÇÔÃì´" + "àÇÔé§" + "àÇÕ§" + "àÇÕ´¹ÒÁ" + "àÇÕ¹" + "àÇâè¹ì" + "àÇä¹Â" + "àÇçº" + "àÇç»" + "àÇèÍ" + "àÇé" + "àÇé¹" + "àÇéÂ" + "àÇéÒ" + "àÈÃÉ°¡Ô¨" + "àÈÃÉ°ÈÒʵÃì" + "àÈÃÉ°Ò¹Ð" + "àÈÃÉ°Õ" + "àÈÃÉ°ì" + "àÈÃéÒ" + "àÈǵ" + "àÈÉ" + "àÈÕÂÃ" + "àÊ" + "àÊ¡" + "àʧÕèÂÁ" + "àʩǹ" + "àÊ´" + "àÊ´ç¨" + "àʶÕÂÃ" + "àʶÕÂÃÀÒ¾" + "àʹ" + "àʹ§" + "àʹËÒ" + "àʹÍ" + "àʹÐ" + "àʹÒ" + "àʹҸԡÒÃ" + "àʹҺ´Õ" + "àʹÒʹÐ" + "àʹÒÐ" + "àʹÕ´" + "àʹÕÂì" + "àʹè§" + "àʹèËÒ" + "àʹèËì" + "àʹèÒ" + "àʺÂ" + "àʺÕ§" + "àʾ" + "àʾÂì" + "àÊÀÒ" + "àÊÁËÐ" + "àÊÁÍ" + "àÊÁÒ" + "àÊÁÕ¹" + "àÊÁ×͹" + "àÊÁç´" + "àÊÂ" + "àÊÃÔ´" + "àÊÃÔ¿" + "àÊÃÔÁ" + "àÊÃÕ" + "àÊÃç¨" + "àÊÅ´" + "àÊÅÒ" + "àÊÅÕè§" + "àÊÅ×Í¡ÊŹ" + "àÊÇ¡" + "àÊÇ¡ÒÁÒµÂì" + "àÊǹÐ" + "àÊǹÒ" + "àÊÇÂ" + "àÊÇÕ¹" + "àÊÒ" + "àÊÒÃÀÂì" + "àÊÒÃì" + "àÊÒǤ¹¸ì" + "àÊÒdzԵ" + "àÊÒǹÒ" + "àÊÒǹÕÂì" + "àÊÒÇÀÒ" + "àÊÒÇÀÒ¤Âì" + "àÊÒÇÀÒ¾" + "àÊÒÇÃÊ" + "àÊÒÇÅѡɳì" + "àÊÒÐ" + "àÊÔÃì¿" + "àÊÕÂ" + "àÊÕ§" + "àÊÕ´" + "àÊÕº" + "àÊÕÂÁ" + "àÊÕÂÇ" + "àÊÕèÂ" + "àÊÕè§" + "àÊÕèÂÇ" + "àÊÕé¹" + "àÊÕéÂÁ" + "àÊÕéÂÇ" + "àÊ×Í" + "àÊ×Í¡" + "àÊ×èÍ" + "àÊ×èÍÁ" + "àÊ×éÍ" + "àÊà¾Å" + "àÊâ·" + "àÊâÅ" + "àÊç§à¤Ãç§" + "àÊé§" + "àÊé¹" + "àÊéÒ" + "àË" + "à˧" + "à˧Ò" + "à˧×Í¡" + "à˧×èÍ" + "à˧è§" + "à˵Ø" + "à˵ءÒóì" + "à˹ÍÐ" + "à˹ÍÐ˹Ð" + "à˹ÒÐ" + "à˹Õ§" + "à˹ÕÂÁ" + "à˹ÕÂÇ" + "à˹ÕèÂÇ" + "à˹×Í" + "à˹×èÍÂ" + "à˹ç´" + "à˹çº" + "à˹è§" + "à˹èÍ" + "à˹éÒ" + "àËÁ" + "àËÁÇ´Õ" + "àËÁѹµì" + "àËÁÒ" + "àËÁÒÐ" + "àËÁÕÂÇ" + "àËÁÕèÂÇ" + "àËÁ×ͧ" + "àËÁ×Í´" + "àËÁ×͹" + "àËÁç¹" + "àËÁè" + "àËÁè§" + "àËÁèÍ" + "àËÂ" + "à˧" + "àËÂÒÐ" + "àËÂÔ§" + "àËÂÕ´" + "àËÂÕº" + "àËÂÕèÂÇ" + "àËÂ×Í¡" + "àËÂ×èÍ" + "àËÂéÒ" + "àËÃÑ­­Ô¡" + "àËÃÒ" + "àËÃÕ­" + "àËŹ" + "àËÅÇ" + "àËÅÍ" + "àËÅÒ" + "àËÅÒÐáËÅÐ" + "àËÅÔ§" + "àËÅÕ¹" + "àËÅÕÂÇ" + "àËÅÕèÂÁ" + "àËÅ×Í" + "àËÅ×Í¡" + "àËÅ×ͧ" + "àËÅ×ͺ" + "àËÅ×èÍÁ" + "àËÅç¡" + "àËÅè" + "àËÅèÒ" + "àËÅéÒ" + "àËÇ" + "àËǧ" + "àËÇÂ" + "àËÇÍÐ" + "àËÇÍÐËÇÐ" + "àËÇÕè§" + "àËÇè" + "àËÍÐ" + "àËÒ" + "àËÒÐ" + "àËÔ¹" + "àËÔÁ" + "àËÕ¹" + "àËÕèÂÇ" + "àËÕéÂ" + "àËÕé¹" + "àËÕéÂÁ" + "àË×Í´" + "àË×èÍ" + "àËç¨" + "àËç´" + "àËç¹" + "àËçº" + "àËè" + "àËèÍ" + "àËèÒ" + "àÍ" + "àÍ¡" + "àÍ¡©Ñ¹·ì" + "àÍ¡ª¹" + "àÍ¡«àÃÂì" + "àÍ¡«â»" + "àÍ¡À¾" + "àÍ¡ÀÒ¾" + "àÍ¡ÁÑÂ" + "àÍ¡Ãö»ÃÐâ¤" + "àÍ¡ÃÒª" + "àÍ¡Åѡɳì" + "àÍ¡ÊÒÃ" + "à͡ѤµÒ" + "àÍ¡Ò¸Ô»äµÂ" + "à͡ࢹ¡" + "àÍ¡à·È" + "àͧ" + "àͪ¾Õ" + "àÍ´Êì" + "àÍ´ÔàµÍÃì" + "à͵·Ñ¤¤Ð" + "àÍ·ÕàÍçÁ" + "à͹" + "à͹·ÃÒ¹«ì" + "à͹ä«Áì" + "àÍ»Êѹ" + "àÍÁ" + "àÍÂ" + "àÍÃÒÇѳ" + "àÍÃç´ÍÃèÍÂ" + "àÍÇ" + "àÍÇѧ" + "àÍÊ" + "àÍÌ¡" + "àÍÌÒ" + "àÍÍ" + "àÍÐÍÐ" + "àÍÐã¨" + "àÍÒ" + "àÍÒ·ì¾Øµ" + "àÍÒÌÒÃ" + "àÍÔ¡" + "àÍÔº" + "àÍÔé¹" + "àÍÕ§" + "àÍÕ´" + "àÍÕ¹" + "àÍÕè¹" + "àÍÕèÂÁ" + "àÍÕèÂÇ" + "àÍÕé§" + "àÍÕéÂÁà¿ÕéÂÁ" + "àÍÕéÂÇ" + "àÍÕê´" + "àÍÕêÂÁ" + "àÍÕêÂÁ¨Øê¹" + "àÍ×͹" + "àÍ×ÍÁ" + "àÍ×èÍÂ" + "àÍ×éÍ" + "àÍ×éͧ" + "àÍ×é͹" + "àÍ×éÍÁ" + "àÍ×éÍÂ" + "àÍà¤ÍÃì" + "àÍàªÕÂ" + "àÍàªÕè¹à¡ÁÊì" + "àÍà«ÕÂ" + "àÍàÂè¹µì" + "àÍẤ" + "àÍç¡«ì" + "àÍç¡«ì¾ÅÍàÃÍÃì" + "àÍç¡«ìà¾ÃÊ" + "àÍç§" + "àÍç´" + "àÍç´µÐâÃ" + "àÍç´ÍÖ§" + "àÍç¹" + "àÍç¹´Ù" + "àÍç¹àµÍÃìà·¹" + "àÍèÂ" + "àÍèÍ" + "àÍé" + "àÍé¡Ò" + "àÍéÍÃÐàËÂ" + "àÍéÍàÎÍ" + "àÍê¡" + "àÍêÂ" + "àÍêÐ" + "àÍë" + "àÍë§" + "àÍëÂ" + "àÎ" + "àΧ" + "àÎÂ" + "àÎÅԤͻàµÍÃì" + "àÎÔõ«ì" + "àÎÕÂ" + "àÎÕé¹" + "àÎÕéº" + "àÎÕéÂÇ" + "àÎ×Í¡" + "àÎ×͹" + "àÎâÃÍÕ¹" + "àÎâÅ" + "àÎéÂ" + "àÎéÇ" + "àÎéÍ" + "á¡" + "ᡧ" + "᡹" + "á¡Á" + "á¡ÁÁÒ" + "á¡Ã¡" + "á¡Ã¹Ôµ" + "á¡ÃÐ" + "á¡Ã俵ì" + "á¡Ãç¹" + "á¡Ãè§" + "á¡ÃèÇ" + "á¡Å" + "á¡Åº" + "á¡ÅÅ͹" + "á¡ÅÐ" + "á¡ÅàÅÕÂÁ" + "á¡Åé§" + "á¡ÅéÁ" + "á¡ÅéÇ" + "á¡Ç" + "á¡Çè§" + "á¡Çè¹" + "á¡Ð" + "á¡â´ÅÔà¹ÕÂÁ" + "á¡è" + "á¡è§" + "á¡è§áÂè§" + "á¡è¹" + "á¡é" + "á¡é§" + "á¡éÁ" + "á¡éÇ" + "á¡ê§" + "á¡ê»" + "á¡êÊ" + "á¢" + "ᢡ" + "ᢹ" + "ᢹ§" + "á¢Á" + "á¢Áçº" + "á¢ÁèÇ" + "á¢Â§" + "á¢Âç¡" + "á¢Âè§" + "á¢Ç¡" + "á¢Ç§" + "á¢Ç¹" + "á¢ÇÐ" + "á¢ç§" + "á¢è§" + "á¢è§¢Ñ¹" + "á¢é§" + "á¢é¹" + "á¤" + "ᤪàªÕÂÃì" + "ᤪàÁÕÂÃì" + "ᤵµÒÅͤ" + "᤹" + "᤺" + "᤻«ÙÅ" + "á¤Á" + "á¤Ã§" + "á¤ÃÐ" + "á¤Ãè" + "á¤Ãì" + "á¤Å¤ÙÅÑÊ" + "á¤Å§" + "á¤Å¹" + "á¤ÅÍÃÕ" + "á¤ÅÔ¿ÍÃìà¹ÕÂ" + "á¤Åà«ÕÂÁ" + "á¤ÅèǤÅèͧ" + "á¤ÅéÇ" + "á¤Ç" + "á¤Ç¡" + "á¤Çé¹" + "á¤Ð" + "á¤è" + "á¤è¹" + "á¤é¹" + "á§" + "á§Ð" + "á§è" + "á§è§" + "á§è¹" + "á§éÁ" + "á¨" + "ᨡ" + "ᨧ" + "á¨Ç" + "á¨Ð" + "á¨èÁ" + "á¨èÇ" + "á¨é" + "á¨é§" + "á¨é¹" + "á¨éÇ" + "á¨ê´" + "á¨ë" + "á¨ëÇ" + "á¨ëÇáËÇÇ" + "á©" + "á©¡" + "ᩧ" + "á©Åº" + "á©ÅÐ" + "á©ÅéÁ" + "á©Ð" + "á©è" + "á©è§" + "áª" + "áªÁ»ì" + "áªÁà»­" + "áªÃì" + "áªÅèÁ" + "áªè" + "áªè§" + "áªèÁ" + "᫧" + "á«´" + "᫹´ìÇÔª" + "᫺" + "á«Á" + "á«ÂÔ´" + "á«Ç" + "á«Ð" + "á«è" + "á«èÇ" + "á´" + "á´¡" + "á´§" + "á´´" + "á´¹" + "á´Ð" + "á´ç¡" + "á´è" + "á´è¹" + "á´èÇ" + "ᵡ" + "ᵧ" + "ᵧ¡ÇÒ" + "ᵧàÁ" + "ᵧâÁ" + "áµ´" + "áµ¹" + "áµÃ" + "áµÐ" + "áµè" + "áµè§" + "áµé" + "áµé¨ÔëÇ" + "áµéÁ" + "áµê´áµë" + "á¶" + "ᶡ" + "ᶺ" + "á¶Á" + "á¶Å§" + "á¶Ç" + "á·§" + "á·¹" + "á·¹·ÒÅÑÁ" + "á·º" + "á·Ã¡" + "á·Ã¡àµÍÃì" + "á·Ð" + "á·ç¡«Õè" + "á·ç§¡ì¹éÓ" + "á·è§" + "á·è¹" + "á·é" + "á·é§" + "Ṻ" + "á¹Á" + "á¹Ç" + "á¹Ð" + "á¹è" + "á¹è§" + "á¹è¹" + "á¹èÇ" + "á¹èÐ" + "áº" + "ạ" + "Ấ·ÕàÃÕÂ" + "ầ¡ì" + "ầ¤ì" + "ẴÁÔ¹µÑ¹" + "ẵàµÍÃÕè" + "ẹ" + "ẹâ¨" + "Ẻ" + "áºÐ" + "áºàÃÕÂÁ" + "áºçº" + "áºè§" + "á»" + "ừԿԤ" + "á»´" + "Ỻ" + "á»Ã" + "á»Ã¡" + "á»Ã§" + "á»Ã»Ãǹ" + "á»ÃÐ" + "á»Ãè§" + "á»Ãé¹" + "á»Ãê´" + "á»Ãë" + "á»Å" + "á»Å¡" + "á»Å§" + "á»Å¹" + "á»Åº" + "á»Åé" + "á»Ð" + "á»é§" + "á»é¹" + "á»éÇ" + "á»ê´" + "á»êº" + "á»êÐ" + "á»êЫÐ" + "á»ë§" + "á»ëÇ" + "ἡ" + "ἧ" + "á¼´" + "á¼¹" + "á¼¹¡" + "á¼Å" + "á¼Å§" + "á¼ÅÐ" + "á¼Åçº" + "á¼ÅçÇ" + "á¼è" + "á¼è¹" + "á¼èÇ" + "á¼éÇ" + "ὡ" + "ὧ" + "á½´" + "á¾" + "ᾧ" + "ᾧ¾ÇÂ" + "á¾·ÂÈÒʵÃì" + "á¾·ÂÊÀÒ" + "á¾·ÂÒ" + "á¾·Âì" + "á¾¹" + "á¾¹¡" + "á¾¹§àªÔ­" + "á¾Ã" + "á¾Ã¡" + "á¾ÃÇ" + "á¾Ãè" + "á¾Ãè§" + "á¾ÃéÇ" + "á¾Å§" + "á¾Åµ¿ÍÃìÁ" + "á¾Å·Ô¹ÑÁ" + "á¾ÅÁ" + "á¾ÈÂÒ" + "á¾ÈÂì" + "á¾Ð" + "á¾ç¡" + "á¾ç¤à¡¨" + "á¾è§" + "á¾è¹" + "á¾é" + "á¾éÇ" + "á¿¡«ì" + "ῧ" + "ῪÑè¹" + "Ό" + "Ό«Õ" + "Ὼ" + "á¿Ãì" + "á¿Å¡«ì" + "á¿Åµ" + "á¿Ð" + "á¿éÁ" + "áÁ¡" + "áÁ¡¹Õà«ÕÂÁ" + "áÁ¤â¤Ã" + "áÁ§" + "áÁ§¡Ò¹ÕÊ" + "áÁ¹" + "áÁ¹¨ÙàÃÕÂ" + "áÁŧ" + "áÁÇ" + "áÁÐ" + "áÁè" + "áÁè¹" + "áÁèÎèͧÊ͹" + "áÁé" + "áÁé¹" + "áÁéÇ" + "á¡" + "á§" + "áº" + "áÂÁ" + "áÂÐ" + "áÂáÊ" + "áÂçº" + "áÂè" + "áÂè§" + "áÂé" + "áÂé§" + "áÂéÁ" + "áÃ" + "áá" + "áç" + "áô" + "áÃÁ" + "áÃÐ" + "áÃç¡à¡µ" + "áÃè" + "áÃè§" + "áÃé§" + "áÃé¹á¤é¹" + "áÃéÇ" + "áÅ" + "áÅ¡" + "áŧ" + "áŹ" + "Ᏼ" + "Ᏼì" + "áź" + "áÅÐ" + "áÅç¡â·Ê" + "áÅè" + "áÅè§" + "áÅè¹" + "áÅé" + "áÅé§" + "áÅéÇ" + "áǧ" + "áÇ´" + "áǺ" + "áÇÁ" + "áÇÇ" + "áÇÐ" + "áÇè¹" + "áÇèÇ" + "áÇé" + "áÇé§" + "áÊ" + "áÊ¡" + "áʧ" + "áÊ´" + "áÊ´§" + "áʵÁ»ì" + "áʹ" + "áʹÂÒ¡Ã" + "áʹÂÒ¹ØÀÒ¾" + "áʺ" + "áÊÁ" + "áÊ¡" + "áʧ" + "áÊÂÐ" + "áÊÃé§" + "áÊŧ" + "áÊǧ" + "áÊÐ" + "áÊè" + "áÊé" + "áÊéÁéÒ" + "áË" + "áË¡" + "á˧" + "á˧¹" + "á˧á¡ë" + "á˧è" + "á˧è§" + "á˹" + "á˹§" + "á˹º" + "á˹Á" + "á˺" + "áËÁ" + "áËÁÐ" + "áËÁè" + "áËÁèÁ" + "áËÂ" + "á˧" + "áËÂÁ" + "áËÂÐ" + "áËÂè" + "áËÂè§" + "áËÅ" + "áËÅ¡" + "áËŹ" + "áËÅÁ" + "áËÅÐ" + "áËÅè" + "áËÅè§" + "áËÇ" + "áËÇ¡" + "áËǹ" + "áËÇÐ" + "áËÇè§" + "áËÐ" + "áËè" + "áËè§" + "áËé" + "áËé§" + "áËéÇ" + "áÍ" + "áÍ¡" + "áÍ´" + "áÍ´ÇÒ¹«ì" + "áÍ´à´ÃÊ" + "á͹" + "á͹´ì" + "á͹µÒÃ졵ԡ" + "á͹µÔºÍ´Õ" + "á͹µÔਹ" + "á͹µÕé" + "áͺ" + "á;¾ÅÔपѹ" + "á;à¾Åçµ" + "áÍ¿ÃÔ¡Ò" + "áÍÁÁÔàµÍÃì" + "áÍÁá»Ãì" + "áÍÁâÁà¹ÕÂ" + "áÍÃèÁ" + "áÍÃì" + "áÍÅ" + "áÍÅ¡ÍÎÍÅì" + "áÍÅ¿Ò" + "áÍÊ¿Ñŵì" + "áÍÊä¾ÃÔ¹" + "áÍÍÑ´" + "áÍâ¹´" + "áÍè§" + "áÍè¹" + "áÍèÇ" + "áÍé" + "áÍé§áÁé§" + "áÍé´" + "áÍéÁ" + "áÍꤪÑè¹" + "áÍê´" + "áÍë" + "áÎ" + "áι´ìºÍÅ" + "áÎÁ" + "áÎÁàºÍÃìà¡ÍÃì" + "áÎÐ" + "áÎè" + "áÎè¡Öê¹" + "â¡" + "â¡¡" + "⡧" + "⡧¡Ò§" + "⡯Ô" + "⡴ѧ" + "⡹" + "â¡ÁÅ" + "â¡ÁØ·" + "â¡Â" + "â¡Ã¡" + "â¡Ã§" + "â¡Ã¸" + "â¡Ã¸Ò" + "â¡Ãè§" + "â¡Ãë¹" + "â¡Å´ì" + "â¡Å¹" + "â¡ÅÒËÅ" + "â¡ÈÅ" + "â¡Ê¹" + "â¡ÊÔ¹·Ãì" + "â¡ÊÕÂì" + "â¡ÊØÁ" + "â¡Ë¡" + "â¡àÁ¹" + "â¡â¡é" + "â¡âÃâ¡âÊ" + "â¡äÊÂ" + "â¡è§" + "â¡é" + "â¡é§â¤é§" + "â¡ë" + "â¡ë¹" + "â¢" + "⢡" + "⢧" + "⢴" + "⢹" + "⢹§" + "â¢Á" + "â¢Á§" + "â¢Á´" + "â¢Â¡" + "â¢Â§" + "â¢Âè§" + "â¢Å¡" + "â¢Å§" + "â¢è§" + "â¤" + "⤡" + "⤨Ã" + "⤵Ã" + "⤹" + "⤹Á" + "⤺Íŵì" + "â¤Á" + "â¤ÁèÒ" + "â¤Ã¡" + "â¤Ã§" + "â¤Ã§¡ÒÃ" + "â¤ÃÁ" + "â¤ÃÒª" + "â¤ÃàÁÕÂÁ" + "â¤ÃâÁâ«Á" + "â¤Ãè§" + "â¤Å" + "â¤Å§" + "â¤Å§à¤Å§" + "â¤Å¹" + "â¤Å¹¹Ôè§" + "â¤ÅÍÁàºÕÂ" + "â¤ÇµÒ" + "â¤à¤¹" + "â¤è§" + "â¤è¹" + "â¤é§" + "â¤éª" + "â¤é´" + "â¦É¡" + "â¦É³Ò" + "â¦ÉÐ" + "â¦ÉÔµ" + "â§" + "⧡" + "⧧" + "⧧১" + "⧹" + "â§à§" + "â§è" + "â§è§" + "â§è§à§è§" + "â§é§" + "â¨" + "⨡" + "⨧" + "⨧â¤Ãè§" + "⨷" + "⨷¡ì" + "⨷Âì" + "⨹" + "â¨Á" + "â¨Ã" + "â¨Ã¡ÃÃÁ" + "â¨É" + "â¨É¨Ñ¹" + "â¨è§¤ÃÖèÁ" + "â¨è§á¨é§" + "â¨ê¡" + "â¨ë§¤ÃÖèÁ" + "â©" + "⩧੧" + "â©´" + "⩹´" + "⩺" + "â©Á" + "â©Å¡" + "â©è" + "â©è§©èÒ§" + "⪡" + "⪡ع" + "⪤" + "⪴¡" + "⪴֡" + "⪵Ô" + "⪹" + "âªÂ" + "âªÇì" + "â«" + "â«¡" + "â«´Ò" + "â«Á" + "â«ÃÁ" + "â«ÅÒ" + "â«ÅÙªÑè¹" + "â«à´ÕÂÁ" + "â«àÇÕµ" + "â«è" + "â´" + "â´¡à´¡" + "â´´" + "â´¹" + "ⴹѷ" + "â´Á" + "â´ÁÔâ¹" + "â´Â" + "â´è" + "â´è§" + "â´ê»" + "âµ" + "ⵡ" + "ⵧ൧" + "âµ¹" + "âµ¹´" + "âµÁÃ" + "âµÃ¡" + "âµà¡ÕÂÇ" + "âµè§" + "âµé" + "âµé§" + "âµéâ¼" + "âµê´" + "âµêÐ" + "âµêÐÍÔËÁèÒÁ" + "â¶" + "⶧" + "ⶺ" + "â¶Á" + "â·" + "â·¡à·¡" + "â·§" + "ⷧ෧" + "â·¹" + "â·Á¹ÑÊ" + "â·Ã" + "â·Ã¤Á¹Ò¤Á" + "â·Ã·ÃÃȹì" + "â·Ã·Ñȹì" + "â·Ã¾ÔÁ¾ì" + "â·ÃÀÒ¾" + "â·ÃÁ" + "â·ÃÈѾ·ì" + "â·ÃàÅ¢" + "â·É" + "â·É·Ñ³±ì" + "â·ÉÒ¹Øâ·É" + "â·ÉÒÃÁ³ì" + "â·ÊÐ" + "â·ÊÒ¤µÔ" + "â·âÊ" + "â·è" + "â¸è" + "â¹" + "â¹¹" + "â¹ÃÒ" + "â¹ÃÕ" + "â¹è¹" + "â¹éµ" + "â¹éµºØê¡" + "â¹éµÊì" + "â¹é¹" + "â¹éÁ" + "âº" + "⺡" + "⺡¢Ã³Õ" + "⺡Õé" + "⺵" + "⺵Ñë¹" + "⺹ÑÊ" + "âºÂ" + "âºÃÁÕ¹" + "âºÃ͹" + "âºÃÒ³" + "âºÅÔàÇÕÂ" + "âºÇìÅÔè§" + "âºÊ¶ì" + "âºêàºê" + "âºë" + "â»" + "⻡" + "⻧" + "⻧ÅÒ§" + "⻹" + "â»Ã" + "â»Ã§" + "â»Ã´" + "â»ÃµÍ¹" + "â»ÃµÕ¹" + "â»ÃµØà¡Ê" + "â»ÃÂ" + "â»Ãà«Êà«ÍÃì" + "â»ÃàµÊáµ¹µì" + "â»Ãá¡ÃÁ" + "â»Ãá¡ÃÁàÁÍÃì" + "â»ÃâÁªÑ¹" + "â»ÃâÁµ" + "â»Ãè§" + "â»Ãì" + "â»ÅÔâÍ" + "â»Åè§" + "â»Ê¡ÒÃì´" + "â»ÊàµÍÃì" + "â»Ð" + "â»áŹ´ì" + "â»âÅ" + "â»è§" + "â»è§¢èÒÁ" + "â»é" + "â»é§" + "â»ê" + "â»ê¡" + "â»ê¡à¡ÍÃì" + "â»êÂà«Õ¹" + "â»êÐ" + "â¼" + "⼧" + "â¼¹" + "â¼Â" + "â¼Å¡à¼Å¡" + "â¼Å¹" + "â¼ÅÐ" + "â¼Åè" + "â¼Ð" + "â¾" + "⾡" + "⾧" + "⾧¾Ò§" + "⾫ԵÃ͹" + "⾸ԭҳ" + "⾸ԺÑÅÅѧ¡ì" + "⾸ÔÊÁÀÒÃ" + "⾸ÔÊѵÇì" + "⾸Ôì" + "â¾¹" + "â¾¹·Ð¹Ò" + "â¾Â" + "â¾Â¡êǹ" + "â¾ÂÁ" + "â¾Ã¡" + "â¾Ã§" + "â¾Ãд¡" + "â¾ÃⵤÍÅ" + "â¾Å§" + "â¾Å¹" + "â¾ÅÐ" + "â¾Åè§" + "â¾Åé§" + "â¾Åéà¾Åé" + "â¾Ê¾" + "â¾á·Êà«ÕÂÁ" + "â¾é¹" + "â¿¡ÑÊ" + "⿹" + "â¿Åìà´ÍÃì" + "âÀ¤" + "âÀ¤Ô¹" + "âÀ¤Õ" + "âÀª¹Ð" + "âÀª¹Ò" + "âÀª¹Ò¡Ã" + "âÀª¹Ò¡ÒÃ" + "âÀª¹ÒËÒÃ" + "âÀª¹ì" + "âÁ" + "âÁ¡" + "âÁ¡¢ì" + "âÁ¦¡ÃÃÁ" + "âÁ¦ÊÑ­­Ò" + "âÁ¦Ð" + "âÁ¦Õ¡ÃÃÁ" + "âÁ¦ÕÂÐ" + "âÁ§" + "âÁ§¤ÃØèÁ" + "âÁ´ÙÅ" + "âÁ·¹Ò" + "âÁÅÔº´Õ¹ÑÁ" + "âÁÅÕ" + "âÁËÐ" + "âÁËѹ¸ì" + "âÁËÒ¤µÔ" + "âÁà´Å" + "âÁà´çÁ" + "âÁàÁ" + "âÁàÁ¹µì" + "âÁàÅ¡ØÅ" + "âÁàÊ¡" + "âÁàÊÊ" + "âÁâ¹" + "âÁâË" + "âÁä¹Â" + "âÁè" + "âÁè§" + "âÁé" + "âÂ" + "â¡" + "⡵Ãì" + "â¤Ð" + "â¤Õ" + "â§" + "⪹ì" + "â¸Ò" + "â¸Թ" + "â¹" + "â¹Õ" + "âÂÁ" + "âÂàÂ" + "âÂâÊ" + "âÂè§" + "âÂè§âÂè" + "âÂé" + "âÃ" + "âä" + "âä¨ÔµàÀ·" + "âäÒ" + "âäҾҸ" + "âç" + "âç¤ÑÅ" + "âçàÃÕ¹" + "âçáÃÁ" + "âè" + "âè¹ì" + "âõÕ" + "âø" + "âøÃ" + "âÃÁ" + "âÃÁѹ" + "âÃÁÒà¹ÕÂ" + "âÃÂ" + "âÃÉ" + "âÃËÔµ" + "âÃà¹ÕÂÇ" + "âÃè" + "âÅ¡" + "âÅ¡ÇÔ·Ù" + "âšѹµÃì" + "âÅ¡Ò" + "âÅ¡Ò¸Ôº´Õ" + "âÅ¡Ò¸ÔäµÂ" + "âÅ¡ÒÁÔÊ" + "âÅ¡ÒÇÔ¹ÒÈ" + "âÅ¡ÔÂÐ" + "âÅ¡ÕÂÇѵÃ" + "âÅ¡ÕÂì" + "âšصøÃÃÁ" + "âšصÃÐ" + "âŧ" + "âŨ¹Ð" + "âųÐ" + "âÅ´" + "âŵÑÊ" + "âŹ" + "âÅÀ" + "âÅÁ" + "âÅÁÒ" + "âÅËÐ" + "âÅËѪ" + "âÅËÔµ" + "âÅÐ" + "âÅàÅ" + "âÅè" + "âÅè§" + "âÅé" + "âÅé¹" + "âÇ" + "âÇÂ" + "âÇÂÇÒÂ" + "âÇËÒÃ" + "âÇè" + "âÇè§" + "âÇéÂ" + "âÇéàÇé" + "âÈ¡" + "âÈ¡Ò" + "âÈ¡Ò´ÙÃ" + "âÈ¡ÒÅÑÂ" + "âÈ¡Õ" + "âÊ" + "âʡѹµì" + "âʳ" + "âʳ±ì" + "âÊ´" + "âÊ´Ò" + "âʴҺѹ" + "âʵ" + "âÊ·¡" + "âÊ·Ã" + "âʸ¡" + "âʸ¹Ð" + "âʹ" + "âÊÀ³" + "âÊÀÒ" + "âÊÀÔ³Õ" + "âÊÀÕ" + "âÊÁ" + "âÊÁ¹ÑÊ" + "âÊÁÁ" + "âÊÁÂì" + "âÊè" + "âÊÃè§" + "âÊÇÃó" + "âÊËØéÂ" + "âÊÌÊ" + "âÊàÀ³Õ" + "âÊâ¤Ã¡" + "â˧" + "âË´" + "â˹" + "â˹¡" + "â˹è§" + "âËÁ" + "âËÁ´" + "âËÁè§" + "âËÂ" + "âË¡àË¡" + "â˧" + "âËÂè§" + "âËÃ" + "âËçàËç" + "âËÃоÒ" + "âËÃÒ" + "âËÃÒ¨ÒÃÂì" + "âËÃÒÈÒʵÃì" + "âËÅ" + "âËŧâ¨é§" + "âËŹ" + "âËÅè" + "âËÇ" + "âËÇ¡àËÇ¡" + "âËǧ" + "âËÇ´" + "âËǵ" + "âËÇè" + "âËè" + "âÍ" + "âÍ¡" + "âÍ¡ÒÊ" + "âÍ¡Ô¹ÒÇÒ" + "âͧ¡ÒÃ" + "âͧ⢴§" + "âͪÐ" + "âͪÒ" + "âÍ´" + "â͵µÑ»»Ð" + "â͹" + "âͺ" + "âÍÀÒ" + "âÍÀÒÊ" + "âÍÁ" + "âÍÂ" + "âÍÃÊ" + "âÍÅоèÍ" + "âÍÅÔÁ»Ô¡" + "âÍÇÒ·" + "âÍÉ°ÀÑÂ" + "âÍÉ°ì" + "âÍʶ" + "âÍËѧ" + "âÍËìÁ" + "âÍÌÒÃ" + "âÍÌÒÃÔ¡" + "âÍÌÒÃÖ¡" + "âÍ໡" + "âÍàÅÕé§" + "âÍàÇÍÃì" + "âÍàÍ«ÔÊ" + "âÍàÍÊ" + "âÍ⫹" + "âÍè" + "âÍè§" + "âÍèÍèÒ" + "âÍé" + "âÍé¡" + "âÍéàÍé" + "âÍéâÅÁ" + "âÍéâÎ" + "âÍê¡" + "âÍêÂ" + "âÍë" + "âÎ" + "âΡ" + "âÎÁ" + "âÎÅìÁ" + "âÎʵì" + "âÎÊàµÊ" + "âÎàµçÅ" + "ã¡Åé" + "ã¤Ã" + "ã¤Ãè" + "ã¨" + "ãªè" + "ãªé" + "ã´" + "ãµé" + "ã¹" + "ã¹ËÅǧ" + "ãº" + "ãºé" + "ã½è" + "ãÂ" + "ãÊ" + "ãÊè" + "ãË­è" + "ãËÁè" + "ãËé" + "ä¡" + "ä¡Ã" + "ä¡ÃÅÒÊ" + "ä¡ÃÈÃ" + "ä¡ÃÊÃ" + "ä¡Å" + "ä¡Åè" + "ä¡Ç" + "ä¡è" + "ä¡ê´ì" + "ä¡ë" + "ä¢" + "ä¢Çè" + "ä¢Çé" + "ä¢Ê×Í" + "ä¢è" + "ä¢è´Ñ¹" + "ä¢èÁØ¡" + "ä¢é" + "ä¤" + "ä¤Ãé" + "ä¤Å" + "ä¤ÅàÍç¹µì" + "ä¤Åá͹µì" + "ä¤Åé" + "ä¤é" + "ä§" + "ä¨" + "䩹" + "ä©äÅ" + "äª" + "äªÂ" + "äªâÂ" + "ä«" + "䫵ì" + "䫹ì" + "䫺ÕàÃÕÂ" + "ä«»ÃÑÊ" + "ä«ÂÒä¹´ì" + "ä«Ãé" + "ä«à¡ÔÅ" + "ä«àºÍÃì" + "ä«àù" + "ä«â¤Å¹" + "ä«âÅ" + "ä«é" + "ä´" + "ä´¹ÒâÁ" + "ä´¹ÒäÁµì" + "ä´ÃàÇÍÃì" + "ä´Ãì¿" + "ä´ÍÐÅçÍ¡" + "ä´ÍÐÅçÍ¡ºçÍ¡«ì" + "ä´ÍÒÃÕè" + "ä´àá·ÍÃÕ" + "ä´â¹àÊÒÃì" + "ä´é" + "äµ" + "äµÃ" + "äµÃÁÒÊ" + "äµÃèµÃͧ" + "äµè" + "äµé" + "äµé¡ë§" + "äµé½Øè¹" + "äµéËÇѹ" + "äµë" + "ä¶" + "ä¶Å" + "ä¶è" + "ä¶é" + "ä·" + "ä·¡Í" + "ä·¿Í´ì" + "ä·Â" + "ä·ÂÃÑ°" + "ä·Ã" + "ä·ÃÍ´ì" + "ä·à·à¹ÕÂÁ" + "ä·é" + "ä¹" + "ä¹µì¤ÅѺ" + "ä¹Å͹" + "ä¹Åì" + "ä¹âµÃਹ" + "亵ì" + "äºÍÍÊ" + "äºàºÔÅ" + "ä»" + "ä»ÂÒÅ" + "ä»ÃɳÕºÃó" + "ä»ÃɳÕºѵÃ" + "ä»ÃɳÕÂÀѳ±ì" + "ä»ÃɳÕÂÇѵ¶Ø" + "ä»ÃɳÕÂÒ¡Ã" + "ä»ÃɳÕÂì" + "ä»Åè" + "ä»è" + "ä»ë" + "ä¼" + "ä¼·" + "ä¼è" + "ä½" + "ä¾" + "侨ԵÃ" + "ä¾±ÙÃÂì" + "侺ÙÅÂì" + "ä¾Ã" + "ä¾Ã¨ÔµÃ" + "ä¾Ã±ÙÃÂì" + "ä¾ÃѪ" + "ä¾ÃÔ¹" + "ä¾ÃÕ" + "ä¾Ãè" + "ä¾ÅÔ¹" + "ä¾Åè" + "ä¾ÈÒÅ" + "ä¾àÃÒÐ" + "ä¾âè¹ì" + "ä¾è" + "ä¾è»êÍ¡" + "ä¿" + "ä¿Åì" + "ä¿á¹¹«ì" + "äÁ¤Ã͹" + "äÁµÃÕ" + "äÁÂÃÒº" + "äÁÅì" + "äÁâ¤Ã" + "äÁâ¤Ã«Í¿·ì" + "äÁâ¤ÃàÇ¿" + "äÁâ¤Ã⿹" + "äÁè" + "äÁé" + "äÂ" + "äÂè" + "äÃ" + "äÃè" + "äÃé" + "äÅÂ" + "äÅૹÊì" + "äÅè" + "äÅèàÅÕèÂ" + "äÅé" + "äÇ" + "äÇ¡Ù³°ì" + "äDZÙÃÂì" + "äÇ·Âì" + "äǹì" + "äǾ¨¹ì" + "äÇÂҡóì" + "äÇÂÒÇѨ¡Ã" + "äÇÂÒÇѨÁÑÂ" + "äÇÃÑÊ" + "äÇâÍÅÔ¹" + "äÇé" + "äÈÅ" + "äÊ" + "äÊÂ" + "äÊÂÒ" + "äÊÃé" + "äÊÇ" + "äÊé" + "äË" + "ä˹" + "äËÁ" + "äËÁé" + "äËÃè" + "äËÅ" + "äËÅè" + "äËÇ" + "äËÇé" + "äËËÅÓ" + "äËè" + "äËé" + "äÍ" + "äͤ͹" + "äÍ·Õ" + "äͺÕàÍçÁ" + "äÍÂÃÒ" + "äÍÂàÃÈ" + "äÍÃÒÇѳ" + "äÍÃìᏴì" + "äÍÈ¡ÃÕÁ" + "äÍÈÇÃÃÂì" + "äÍÈÙÃÂì" + "äÍÍ͹" + "äÍâ«â·»" + "äÍâÍ´Õ¹" + "äÍé" + "äδÃÒ" + "äÎâ¡ÃÁÔàµÍÃì" + "äÎâ´Ã¤ÒÃìºÍ¹" + "äÎâÅ" + ))) + (setq thai-word-table (list 'thai-words)) + (while l + (set-nested-alist (car l) 1 thai-word-table) + (setq l (cdr l)))) + + +(defun thai-update-word-table (file &optional append) + "Update Thai word table by replacing the current word list with +FILE. If called with a prefix argument, FILE is appended instead to +the current word list." + (interactive "FThai word table file: \nP") + (let ((buf (generate-new-buffer "*thai-work*")) + (coding-system-for-read 'thai-tis620) + (table (if append thai-word-table (list 'thai-words)))) + (unwind-protect + (save-excursion + (set-buffer buf) + (insert-file-contents file) + (goto-char (point-min)) + (while (re-search-forward "\\ct+" nil t) + (set-nested-alist (match-string 0) 1 table))) + (kill-buffer buf)) + (setq thai-word-table table))) + + +;; Two special Thai characters regarded as suffix of words. + +(defconst thai-MaiYaMok (make-char 'thai-tis620 ?\xE6)) +(defconst thai-PaiYanNoi (make-char 'thai-tis620 ?\xCF)) + + +;; Find Thai words starting at POS and return a list of positions of +;; the Thai word ends. It doesn't move point. LIMIT limits the +;; maximum position. IGNORE is a list of positions to ignore. It is +;; assumed that all following characters to LIMIT are Thai. If the +;; following char is not Thai (i.e., POS is equal to LIMIT), return t. +;; +;; Note that the longest word position comes first. + +(defun thai-find-word-ends (pos limit &optional ignore) + (if (>= pos limit) + t + (let* ((char (char-after pos)) + (this (cdr (assq char (cdr thai-word-table)))) + category-set + positions) + ;; Look up the following character sequence in `thai-word-table' + ;; character by character. + (while this + (setq pos (1+ pos) + char (char-after pos) + category-set (char-category-set char)) + ;; If the current sequence is recorded in `thai-word-table' + ;; (i.e. (car THIS) is 1) and the following Thai character is + ;; not an upper-vowel, lower-vowel, or tone-mark, we have + ;; found a possible word ending position. + (if (and (eq (car this) 1) + (not (or (aref category-set ?2) + (aref category-set ?3) + (aref category-set ?4)))) + (progn + ;; Skip possible Thai suffices. + (while (or (eq char thai-MaiYaMok) (eq char thai-PaiYanNoi)) + (setq pos (1+ pos) + char (char-after pos))) + ;; Skip character positions in IGNORE list. + (or (memq pos ignore) + (setq positions (cons pos positions))))) + ;; Set up next loop. + (setq this (and (< pos limit) (cdr (assq char this))))) + positions))) + + +;; Move point forward to the end of Thai word which follows point and +;; update VEC. VEC is a vector of three elements used to cache word +;; end positions. The Nth element, if non-nil, is a list of end +;; points of the Nth word, or t indicating that there is no Thai +;; character. LIMIT limits the point movement. + +(defun thai-forward-word-update-info (vec limit) + (let ((pos (point)) + v0 v1 v2 v3 + second-best + tried + positions) + (if + ;; If four succeeding Thai words are found, throw t, otherwise + ;; throw nil. + (catch 'tag + ;; Start with first vector element. + (setq v0 (aref vec 0)) + (unless v0 + ;; Update VEC if V0 is empty. + (setq v0 (thai-find-word-ends pos limit)) + (aset vec 0 v0) + (aset vec 1 nil)) + ;; In case we haven't found any wordbreaks resp. point has + ;; reached LIMIT, exit the catch body. + (if (symbolp v0) ; i.e. nil or t? + (throw 'tag nil)) + ;; OK, V0 holds possible word ends for the current position. + ;; We save V0 for later reference. + (setq tried v0) + (setq v1 (aref vec 1)) + ;; Now we try all end word positions to find the next word. + (while v0 + (setq pos (car v0)) + (unless v1 + ;; Update VEC if V1 is empty, ignoring positions already + ;; found -- for Thai, we need the longest match, so if + ;; we have + ;; + ;; start(long-word) = start(short-word1) + ;; end(short-word1) = start(short-word2) + ;; end(short-word2) = end(long-word) + ;; + ;; only long-word is used. + (setq v1 (thai-find-word-ends pos limit tried)) + (aset vec 1 v1) + (aset vec 2 nil)) + ;; If point has reached LIMIT, exit the catch body. + (if (eq v1 t) + (throw 'tag t)) + ;; Save SECOND-BEST, if this hasn't been done already. + ;; The `second best' solution is the end position of the + ;; longest first word followed by the longest second word. + (or second-best + (not v1) + (setq second-best (cons v0 v1))) + ;; Update the already tried end word positions. + (setq tried (append tried v1)) + ;; Now repeat the whole process to find a third word. + (when v1 + (setq v2 (aref vec 2)) + (while v1 + (setq pos (car v1)) + (unless v2 + (setq v2 (thai-find-word-ends pos limit tried)) + (aset vec 2 v2)) + (if (eq v2 t) + (throw 'tag t)) + (setq tried (append tried v2)) + ;; And the same for a fourth word. + (while v2 + (setq pos (car v2)) + (setq v3 (thai-find-word-ends pos limit tried)) + (if v3 + (throw 'tag t)) + (setq v2 (cdr v2))) + (setq v1 (cdr v1)))) + (setq v0 (cdr v0))) + ;; No success. + nil) + (progn + ;; We found four succeeding Thai words (or LIMIT has been + ;; reached). Move to the end of the first word. + (goto-char (car v0)) + ;; Update VEC for the next function call. If no larger word + ;; positions have been found, set the corresponding vector + ;; element to nil. + (if (and (consp v1) (< (car v1) (car (aref vec 1)))) + (aset vec 0 nil) + (aset vec 0 v1) + (if (and (consp v2) (< (car v2) (car (aref vec 2)))) + (aset vec 1 nil) + (aset vec 1 v2) + (aset vec 2 v3)))) ; exit function successfully + + ;; We didn't find four consecutive words. If we have found a + ;; `second best' solution and the length of those two words is + ;; longer than the longest word we can see at the current point, + ;; adopt the second best solution. This decision is based on + ;; heuristic tests. + (if (and second-best + (< (car (aref vec 0)) (car (cdr second-best)))) + (progn + (goto-char (car (car second-best))) + (aset vec 0 (cdr second-best))) + ;; We finally failed to find a word break. For Thai, the best + ;; solution is to extend the first longest word so that the + ;; end point starts a second word. + (setq pos (or (car (aref vec 0)) pos)) + (while (and (< pos limit) + (not (setq positions (thai-find-word-ends pos limit)))) + (setq pos (1+ pos))) + (goto-char pos) + (aset vec 0 positions)) + (aset vec 1 nil) + nil))) + + +;; Return a list of Thai word boundary positions after the current +;; point. LIMIT, if non-nil, limits the region to check. + +(defun thai-find-word-boundaries (&optional limit) + (or limit + (setq limit (point-max))) + (save-excursion + (let ((vec (make-vector 3 nil)) + (boundaries nil) + this-limit) + ;; Loop over all (consecutive) Thai regions by using the + ;; character property `t' until LIMIT is reached. + (while (and (< (point) limit) + (re-search-forward "\\ct+" nil t)) + (setq this-limit (point)) + (goto-char (match-beginning 0)) + (fillarray vec nil) + ;; Check the first word, initializing VEC. + (thai-forward-word-update-info vec this-limit) + ;; Then loop over the remaining words in the current Thai + ;; region, collecting the boundaries. + (while (< (point) this-limit) + (setq boundaries (cons (point) boundaries)) + (thai-forward-word-update-info vec this-limit))) + boundaries))) + + +(defun thai-break-words (separator &optional limit) + "Break Thai words by inserting a separator string at word boundaries." + (interactive "sSeparator: ") + (save-excursion + (let ((boundaries (thai-find-word-boundaries limit))) + (while boundaries + (goto-char (car boundaries)) + (insert separator) + (setq boundaries (cdr boundaries)))))) + + +(defun thai-forward-word (count) + "Move point forward COUNT words considering Thai word boundaries. +If COUNT is negative, move point backward (- COUNT) words." + (interactive "p") + (if (> count 0) + (while (> count 0) + (skip-syntax-forward "^w") + (if (looking-at "\\ct+") + ;; We have reached a Thai region, so we must do something + ;; special instead of using forward-word. + (let ((start (point)) + (limit (match-end 0)) + boundaries + tail) + ;; If thai-forward-word has been called within a Thai + ;; region, we must go back until the Thai region starts + ;; to do the contextual analysis for finding word + ;; breaks. + (while (aref (char-category-set (preceding-char)) ?t) + (forward-char -1)) + ;; OK, we ask for the list of word boundaries in + ;; reversed order. + (setq boundaries (nreverse (thai-find-word-boundaries limit))) + ;; Now we search for the next boundary after START. + (while (and boundaries (<= (car boundaries) start)) + (setq boundaries (cdr boundaries))) + ;; Adjust loop for next while loop. + (setq count (1- count)) + ;; Now we skip Thai words until the BOUNDARIES list is + ;; empty or count-1 words have been passed. + (if (not boundaries) + (goto-char limit) + (while (and (> count 0) + boundaries) + (setq boundaries (cdr boundaries) + count (1- count))) + ;; If BOUNDARIES is empty, the word counter is not + ;; zero yet (remember that we have decreased COUNT by + ;; one), so we go to LIMIT. Otherwise go to next + ;; boundary. + (if boundaries + (goto-char (car boundaries)) + (goto-char limit)))) + ;; No Thai region. + (forward-word 1) + (setq count (1- count)))) + ;; The symmetrical action for negative values. + (if (< count 0) + (while (< count 0) + (skip-syntax-backward "^w") + (if (aref (char-category-set (preceding-char)) ?t) + (let ((start (point)) + (limit (if (looking-at "\\ct+") (match-end 0) + (point))) + boundaries) + (forward-char -1) + (while (aref (char-category-set (preceding-char)) ?t) + (forward-char -1)) + (setq boundaries (thai-find-word-boundaries limit)) + (while (and boundaries (>= (car boundaries) start)) + (setq boundaries (cdr boundaries))) + (setq count (1+ count)) + (if boundaries + (progn + (while (and (< count 0) boundaries) + (setq boundaries (cdr boundaries) + count (1+ count))) + (if boundaries + (goto-char (car boundaries)))))) + (forward-word -1) + (setq count (1+ count))))))) + + +(defun thai-backward-word (count) + "Move point backward COUNT words considering Thai word boundaries. +If COUNT is negative, move point forward (- COUNT) words." + (interactive "p") + (thai-forward-word (- count))) + + +(provide 'thai-word) + + +;; Local Variables: +;; coding: tis-620 +;; End: + +;; end of thai-word.el diff --git a/Master/texmf-dist/source/latex/CJK/utils/lisp/mule-2.3/cjk-enc.el b/Master/texmf-dist/source/latex/CJK/utils/lisp/mule-2.3/cjk-enc.el new file mode 100644 index 00000000000..379c168e884 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/lisp/mule-2.3/cjk-enc.el @@ -0,0 +1,625 @@ +;;; cjk-enc.el --- provide a coding system for LaTeX2e CJK package + +;; Copyright (C) 1996, 1998 Electrotechnical Laboratory, JAPAN. + +;; Author: Kenichi HANDA +;; Werner LEMBERG + +;; Keywords: CJK package, LaTeX2e, mule + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to +;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +;; +;; CJK Version 4.6.0 (11-Aug-2005) +;; + +;;; Code + +;; The following tables map from Mule's internal encoding to LaTeX2e +;; macros. Note that not all macros defined here really do exist. See +;; MULEenc.sty and cjk-enc.txt for further details. +;; +;; The active TeX character 0x80 is defined as a multiplex command which +;; executes its first argument. To make the macro expansion robust +;; against \uppercase and \lowercase, numbers are used as parameters which +;; index the various commands. +;; +;; 0xFF will be used as a parameter delimiting character. + +(defconst cjk-latin-1 + [;0xa0 + "99\177" "1\177" "2\177" "3\177" + "4\177" "5\177" "6\177" "7\177" + "8\177\\ " "9\177" "10\177" "11\177" + "12\177" "0\177-{}" "14\177" "15\177\\ " + + ; 0xb0 + "16\177" "17\177" "18\177" "19\177" + "20\177\\ " "21\177" "22\177" "23\177" + "24\177\\ " "25\177" "26\177" "27\177" + "28\177" "29\177" "30\177" "31\177" + + ; 0xc0 + "32\177A" "20\177A" "33\177A" "34\177A" + "8\177A" "0\177\\AA" "0\177\\AE" "24\177C" + "32\177E" "20\177E" "33\177E" "8\177E" + "32\177I" "20\177I" "33\177I" "8\177I" + + ; 0xd0 + "0\177\\DJ" "34\177N" "32\177O" "20\177O" + "33\177O" "34\177O" "8\177O" "38\177" + "0\177\\O" "32\177U" "20\177U" "33\177U" + "8\177U" "20\177Y" "0\177\\TH" "0\177\\ss" + + ; 0xe0 + "32\177a" "20\177a" "33\177a" "34\177a" + "8\177a" "0\177\\aa" "0\177\\ae" "24\177c" + "32\177e" "20\177e" "33\177e" "8\177e" + "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" + + ; 0xf0 + "0\177\\dj" "34\177n" "32\177o" "20\177o" + "33\177o" "34\177o" "8\177o" "45\177" + "0\177\\o" "32\177u" "20\177u" "33\177u" + "8\177u" "20\177y" "0\177\\th" "8\177y" + ]) + +(defconst cjk-latin-2 + [; 0xa0 + "99\177" "48\177A" "49\177\\ " "0\177\\L" + "4\177" "51\177L" "20\177S" "7\177" + "8\177\\ " "51\177S" "24\177S" "51\177T" + "20\177Z" "0\177-{}" "51\177Z" "52\177Z" + + ; 0xb0 + "16\177" "48\177a" "48\177\\ " "0\177\\l" + "20\177\\ " "51\177l" "20\177s" "51\177\\ " + "24\177\\ " "51\177s" "24\177s" "51\177t" + "20\177z" "55\177\\ " "51\177z" "52\177z" + + ; 0xc0 + "20\177R" "20\177A" "33\177A" "49\177A" + "8\177A" "20\177L" "20\177C" "24\177C" + "51\177C" "20\177E" "48\177E" "8\177E" + "51\177E" "20\177I" "33\177I" "51\177D" + + ; 0xd0 + "0\177\\DJ" "20\177N" "51\177N" "20\177O" + "33\177O" "55\177O" "8\177O" "38\177" + "51\177R" "53\177U" "20\177U" "55\177U" + "8\177U" "20\177Y" "24\177T" "0\177\\ss" + + ; 0xe0 + "20\177r" "20\177a" "33\177a" "49\177a" + "8\177a" "20\177l" "20\177c" "24\177c" + "51\177c" "20\177e" "48\177e" "8\177e" + "51\177e" "20\177\\i" "33\177\\i" "51\177d" + + ; 0xf0 + "0\177\\dj" "20\177n" "51\177n" "20\177o" + "33\177o" "55\177o" "8\177o" "45\177" + "51\177r" "53\177u" "20\177u" "55\177u" + "8\177u" "20\177y" "24\177t" "52\177\\ " + ]) + +(defconst cjk-latin-3 + [; 0xa0 + "99\177" "0\177\\TEXTMALTESEH" "49\177\\ " "3\177" + "4\177" "" "33\177H" "7\177" + "8\177\\ " "52\177I" "24\177S" "49\177G" + "33\177J" "0\177-{}" "" "52\177Z" + + ; 0xb0 + "16\177" "0\177\\textmalteseh" "18\177" "19\177" + "20\177\\ " "21\177" "33\177h" "23\177" + "24\177\\ " "0\177\\i" "24\177s" "49\177g" + "33\177\\j" "29\177" "" "52\177z" + + ; 0xc0 + "32\177A" "20\177A" "33\177A" "" + "8\177A" "52\177C" "33\177C" "24\177C" + "32\177E" "20\177E" "33\177E" "8\177E" + "32\177I" "20\177I" "33\177I" "8\177I" + + ; 0xd0 + "" "34\177N" "32\177O" "20\177O" + "33\177O" "52\177G" "8\177O" "38\177" + "33\177G" "32\177U" "20\177U" "33\177U" + "8\177U" "49\177U" "33\177S" "0\177\\ss" + + ; 0xe0 + "32\177a" "20\177a" "33\177a" "" + "8\177a" "52\177c" "33\177c" "24\177c" + "32\177e" "20\177e" "33\177e" "8\177e" + "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" + + ; 0xf0 + "" "34\177n" "32\177o" "20\177o" + "33\177o" "52\177g" "8\177o" "45\177" + "33\177g" "32\177u" "20\177u" "33\177u" + "8\177u" "49\177u" "33\177s" "52\177\\ " + ]) + +(defconst cjk-latin-4 + [; 0xa0 + "99\177" "48\177A" "59\177" "24\177R" + "4\177" "34\177I" "24\177L" "7\177" + "8\177\\ " "51\177S" "15\177E" "24\177G" + "0\177\\TEXTTSTROKE" "0\177-{}" "51\177Z" "15\177\\ " + + ; 0xb0 + "16\177" "48\177a" "48\177\\ " "24\177r" + "20\177\\ " "34\177\\i" "24\177l" "51\177\\ " + "24\177\\ " "51\177s" "15\177e" "24\177g" + "0\177\\texttstroke" "0\177\\NG" "51\177z" "0\177\\ng" + + ; 0xc0 + "15\177A" "20\177A" "33\177A" "34\177A" + "8\177A" "0\177\\AA" "0\177\\AE" "48\177I" + "51\177C" "20\177E" "48\177E" "8\177E" + "52\177E" "20\177I" "33\177I" "15\177I" + + ; 0xd0 + "0\177\\DJ" "24\177N" "15\177O" "24\177K" + "33\177O" "34\177O" "8\177O" "38\177" + "0\177\\O" "48\177U" "20\177U" "33\177U" + "8\177U" "34\177U" "15\177U" "0\177\\ss" + + ; 0xe0 + "15\177a" "20\177a" "33\177a" "34\177a" + "8\177a" "0\177\\aa" "0\177\\ae" "48\177i" + "51\177c" "20\177e" "48\177e" "8\177e" + "52\177e" "20\177\\i" "33\177\\i" "15\177\\i" + + ; 0xf0 + "0\177\\dj" "24\177n" "15\177o" "24\177k" + "33\177o" "34\177o" "8\177o" "45\177" + "0\177\\o" "48\177u" "20\177u" "33\177u" + "8\177u" "34\177u" "15\177u" "52\177\\ " + ]) + +(defconst cjk-latin-5 ; ISO 8859-9 + [; 0xa0 + "99\177" "1\177" "2\177" "3\177" + "4\177" "5\177" "6\177" "7\177" + "8\177\\ " "9\177" "10\177" "11\177" + "12\177" "0\177-{}" "14\177" "15\177\\ " + + ; 0xb0 + "16\177" "17\177" "18\177" "19\177" + "20\177\\ " "21\177" "22\177" "23\177" + "24\177\\ " "25\177" "26\177" "27\177" + "28\177" "29\177" "30\177" "31\177" + + ; 0xc0 + "32\177A" "20\177A" "33\177A" "34\177A" + "8\177A" "0\177\\AA" "0\177\\AE" "24\177C" + "32\177E" "20\177E" "33\177E" "8\177E" + "32\177I" "20\177I" "33\177I" "8\177I" + + ; 0xd0 + "49\177G" "34\177N" "32\177O" "20\177O" + "33\177O" "34\177O" "8\177O" "38\177" + "0\177\\O" "32\177U" "20\177U" "33\177U" + "8\177U" "52\177I" "24\177S" "0\177\\ss" + + ; 0xe0 + "32\177a" "20\177a" "33\177a" "34\177a" + "8\177a" "0\177\\aa" "0\177\\ae" "24\177c" + "32\177e" "20\177e" "33\177e" "8\177e" + "32\177\\i" "20\177\\i" "33\177\\i" "8\177\\i" + + ; 0xf0 + "49\177g" "34\177n" "32\177o" "20\177o" + "33\177o" "34\177o" "8\177o" "45\177" + "0\177\\o" "32\177u" "20\177u" "33\177u" + "8\177u" "0\177\\i" "24\177s" "8\177y" + ]) + +(defconst cjk-latin-jisx ; JIS X 0201 lower half + [; 0xa0 + "" "0\177!" "37\177" "0\177\\#" + "39\177" "0\177\\%" "0\177\\&" "40\177" + "0\177(" "0\177)" "0\177*" "0\177+" + "0\177," "0\177-" "0\177." "0\177/" + + ; 0xb0 + "0\1770" "0\1771" "0\1772" "0\1773" + "0\1774" "0\1775" "0\1776" "0\1777" + "0\1778" "0\1779" "0\177:" "0\177;" + "41\177" "0\177=" "42\177" "0\177?" + + ; 0xc0 + "36\177" "0\177A" "0\177B" "0\177C" + "0\177D" "0\177E" "0\177F" "0\177G" + "0\177H" "0\177I" "0\177J" "0\177K" + "0\177L" "0\177M" "0\177N" "0\177O" + + ; 0xd0 + "0\177P" "0\177Q" "0\177R" "0\177S" + "0\177T" "0\177U" "0\177V" "0\177W" + "0\177X" "0\177Y" "0\177Z" "0\177[" + "5\177" "0\177]" "43\177" "44\177" + + ; 0xe0 + "46\177" "0\177a" "0\177b" "0\177c" + "0\177d" "0\177e" "0\177f" "0\177g" + "0\177h" "0\177i" "0\177j" "0\177k" + "0\177l" "0\177m" "0\177n" "0\177o" + + ; 0xf0 + "0\177p" "0\177q" "0\177r" "0\177s" + "0\177t" "0\177u" "0\177v" "0\177w" + "0\177x" "0\177y" "0\177z" "47\177" + "50\177" "54\177" "56\177" "" + ]) + +(defconst cjk-cyrillic ; ISO 8859-5 + [; 0xa0 + "99\177" "0\177\\CYRYO" "0\177\\CYRDJE" "20\177\\CYRG" + "0\177\\CYRIE" "0\177\\CYRDZE" "0\177\\CYRII" "0\177\\CYRYI" + "0\177\\CYRJE" "0\177\\CYRLJE" "0\177\\CYRNJE" "0\177\\CYRTSHE" + "20\177\\CYRK" "0\177-{}" "0\177\\CYRUSHRT" "0\177\\CYRDZHE" + + ; 0xb0 + "0\177\\CYRA" "0\177\\CYRB" "0\177\\CYRV" "0\177\\CYRG" + "0\177\\CYRD" "0\177\\CYRE" "0\177\\CYRZH" "0\177\\CYRZ" + "0\177\\CYRI" "0\177\\CYRISHRT" "0\177\\CYRK" "0\177\\CYRL" + "0\177\\CYRM" "0\177\\CYRN" "0\177\\CYRO" "0\177\\CYRP" + + ; 0xc0 + "0\177\\CYRR" "0\177\\CYRS" "0\177\\CYRT" "0\177\\CYRU" + "0\177\\CYRF" "0\177\\CYRH" "0\177\\CYRC" "0\177\\CYRCH" + "0\177\\CYRSH" "0\177\\CYRSHCH" "0\177\\CYRHRDSN" "0\177\\CYRERY" + "0\177\\CYRSFTSN" "0\177\\CYREREV" "0\177\\CYRYU" "0\177\\CYRYA" + + ; 0xd0 + "0\177\\cyra" "0\177\\cyrb" "0\177\\cyrv" "0\177\\cyrg" + "0\177\\cyrd" "0\177\\cyre" "0\177\\cyrzh" "0\177\\cyrz" + "0\177\\cyri" "0\177\\cyrishrt" "0\177\\cyrk" "0\177\\cyrl" + "0\177\\cyrm" "0\177\\cyrn" "0\177\\cyro" "0\177\\cyrp" + + ; 0xe0 + "0\177\\cyrr" "0\177\\cyrs" "0\177\\cyrt" "0\177\\cyru" + "0\177\\cyrf" "0\177\\cyrh" "0\177\\cyrc" "0\177\\cyrch" + "0\177\\cyrsh" "0\177\\cyrshch" "0\177\\cyrhrdsn" "0\177\\cyrery" + "0\177\\cyrsftsn" "0\177\\cyrerev" "0\177\\cyryu" "0\177\\cyrya" + + ; 0xf0 + "35\177" "0\177\\cyryo" "0\177\\cyrdje" "20\177\\cyrg" + "0\177\\cyrie" "0\177\\cyrdze" "0\177\\cyrii" "0\177\\cyryi" + "0\177\\cyrje" "0\177\\cyrlje" "0\177\\cyrnje" "0\177\\cyrtshe" + "20\177\\cyrk" "7\177" "0\177\\cyrushrt" "0\177\\cyrdzhe" + ]) + +(defconst cjk-greek ; ISO 8859-7 + [;0xa0 + "99\177" "0\177<{}" "0\177>{}" "3\177" + "" "" "6\177" "7\177" + "8\177\\ " "9\177" "" "0\177((" + "12\177" "0\177-{}" "" "0\177---" + + ; 0xb0 + "16\177" "17\177" "18\177" "19\177" + "0\177'{}" "0\177\"'{}" "0\177'A" "0\177;" + "0\177'E" "0\177'H" "0\177'I" "0\177))" + "0\177'O" "29\177" "0\177'U" "0\177'W" + + ; 0xc0 + "0\177\"'i" "0\177A" "0\177B" "0\177G" + "0\177D" "0\177E" "0\177Z" "0\177H" + "0\177J" "0\177I" "0\177K" "0\177L" + "0\177M" "0\177N" "0\177X" "0\177O" + + ; 0xd0 + "0\177P" "0\177R" "" "0\177S" + "0\177T" "0\177U" "0\177F" "0\177Q" + "0\177Y" "0\177W" "0\177\"I" "0\177\"U" + "0\177'a" "0\177'e" "0\177'h" "0\177'i" + + ; 0xe0 + "0\177\"'u" "0\177a" "0\177b" "0\177g" + "0\177d" "0\177e" "0\177z" "0\177h" + "0\177j" "0\177i" "0\177k" "0\177l" + "0\177m" "0\177n" "0\177x" "0\177o" + + ; 0xf0 + "0\177p" "0\177r" "0\177c" "0\177s" + "0\177t" "0\177u" "0\177f" "0\177q" + "0\177y" "0\177w" "0\177\"i" "0\177\"u" + "0\177'o" "0\177'u" "0\177'w" "" + ]) + +(defconst cjk-viscii-lower + [; 0xA0 + "" "20\177\\abreve" "32\177\\abreve" "71\177\\abreve" + "20\177\\acircumflex" "32\177\\acircumflex" "73\177\\acircumflex" "71\177\\acircumflex" + "34\177e" "71\177e" "20\177\\ecircumflex" "32\177\\ecircumflex" + "73\177\\ecircumflex" "34\177\\ecircumflex" "71\177\\ecircumflex" "20\177\\ocircumflex" + + ; 0xB0 + "32\177\\ocircumflex" "73\177\\ocircumflex" "34\177\\ocircumflex" "" + "" "71\177\\ocircumflex" "32\177\\ohorn" "73\177\\ohorn" + "71\177i" "" "" "" + "" "0\177\\ohorn" "20\177\\ohorn" "" + + ; 0xC0 + "" "" "" "" + "" "" "73\177\\abreve" "34\177\\abreve" + "" "" "" "" + "" "" "" "32\177y" + + ; 0xD0 + "" "20\177\\uhorn" "" "" + "" "71\177a" "73\177y" "32\177\\uhorn" + "73\177\\uhorn" "" "" "34\177y" + "71\177y" "" "34\177\\ohorn" "0\177\\uhorn" + + ; 0xE0 + "32\177a" "20\177a" "0\177\\acircumflex" "34\177a" + "73\177a" "0\177\\abreve" "34\177\\uhorn" "34\177\\acircumflex" + "32\177e" "20\177e" "0\177\\ecircumflex" "73\177e" + "32\177i" "20\177i" "34\177i" "73\177i" + + ; 0xF0 + "0\177\\dj" "71\177\\uhorn" "32\177o" "20\177o" + "0\177\\ocircumflex" "34\177o" "73\177o" "71\177o" + "71\177u" "32\177u" "20\177u" "34\177u" + "73\177u" "20\177y" "71\177\\ohorn" "" + ]) + +(defconst cjk-viscii-upper + [; 0xA0 + "" "20\177\\ABREVE" "32\177\\ABREVE" "71\177\\ABREVE" + "20\177\\ACIRCUMFLEX" "32\177\\ACIRCUMFLEX" "73\177\\ACIRCUMFLEX" "71\177\\ACIRCUMFLEX" + "34\177E" "71\177E" "20\177\\ECIRCUMFLEX" "32\177\\ECIRCUMFLEX" + "73\177\\ECIRCUMFLEX" "34\177\\ECIRCUMFLEX" "71\177\\ECIRCUMFLEX" "20\177\\OCIRCUMFLEX" + + ; 0xB0 + "32\177\\OCIRCUMFLEX" "73\177\\OCIRCUMFLEX" "34\177\\OCIRCUMFLEX" "" + "" "71\177\\OCIRCUMFLEX" "32\177\\OHORN" "73\177\\OHORN" + "71\177I" "" "" "" + "" "0\177\\OHORN" "20\177\\OHORN" "" + + ; 0xC0 + "" "" "" "" + "" "" "73\177\\ABREVE" "34\177\\ABREVE" + "" "" "" "" + "" "" "" "32\177Y" + + ; 0xD0 + "" "20\177\\UHORN" "" "" + "" "71\177A" "73\177Y" "32\177\\UHORN" + "73\177\\UHORN" "" "" "34\177Y" + "71\177Y" "" "34\177\\OHORN" "0\177\\UHORN" + + ; 0xE0 + "32\177A" "20\177A" "0\177\\ACIRCUMFLEX" "34\177A" + "73\177A" "0\177\\ABREVE" "34\177\\UHORN" "34\177\\ACIRCUMFLEX" + "32\177E" "20\177E" "0\177\\ECIRCUMFLEX" "73\177E" + "32\177I" "20\177I" "34\177I" "73\177I" + + ; 0xF0 + "0\177\\DJ" "71\177\\UHORN" "32\177O" "20\177O" + "0\177\\OCIRCUMFLEX" "34\177O" "73\177O" "71\177O" + "71\177U" "32\177U" "20\177U" "34\177U" + "73\177U" "20\177Y" "71\177\\OHORN" "" + ]) + + +;; The following encodings will be selected (if they occur in the input +;; buffer) at the very beginning of the output buffer to load the +;; corresponding CJK macros. +(defconst cjk-enc-table + (let ((vec (make-vector 256 nil))) + (aset vec lc-cn "GB") + (aset vec lc-kana "SJIS") + (aset vec lc-jp "JIS") + (aset vec lc-jp2 "JIS2") + (aset vec lc-kr "KS") + (aset vec lc-big5-1 "Bg5") + (aset vec lc-big5-2 "Bg5") + (aset vec lc-cns1 "CNS1") + (aset vec lc-cns2 "CNS2") + (aset vec lc-cns3 "CNS3") + (aset vec lc-cns4 "CNS4") + (aset vec lc-cns5 "CNS5") + (aset vec lc-cns6 "CNS6") + (aset vec lc-cns7 "CNS7") + vec)) + +(defconst cjk-space "\17764\177\177") +(defconst cjk-nospace "\17765\177\177") + +;; here we have the format specification table which defines what to do +;; for each encoding. +(defconst cjk-format-spec-table + (let ((vec (make-vector 256 nil))) + ;; Element is a vector VEC. Each character is formatted as: + ;; (format "\177%s\177" (aref VEC (- char-code 160))) + (aset vec lc-ltn1 cjk-latin-1) + (aset vec lc-ltn2 cjk-latin-2) + (aset vec lc-ltn3 cjk-latin-3) + (aset vec lc-ltn4 cjk-latin-4) + (aset vec lc-ltn5 cjk-latin-5) + (aset vec lc-roman cjk-latin-jisx) + ;; T2A encoding is used for Cyrillic letters. You must explicitly + ;; switch between T2 and T1/OT1 encoding. + (aset vec lc-crl cjk-cyrillic) + ;; LGR encoding (resp. its ligatures) is used for Greek letters. You + ;; must explicitly switch between LGR and T1/OT1 encoding (using + ;; e.g. Babel's `greek' option). + (aset vec lc-grk cjk-greek) + ;; for Vietnamese a Vietnamese TeX-font has to be used which contains + ;; ASCII characters too! You must explicitly switch between Vietnamese + ;; T5 and T1/OT1 encoding. + (aset vec lc-vn-1 cjk-viscii-lower) + (aset vec lc-vn-2 cjk-viscii-upper) + + ;; Element is a cons of header HEAD and formatter FORMAT. HEAD is + ;; printed first, then each character is formatted as: + ;; (format FORMAT char-code-1 char-code-2) + (aset vec lc-kana '("\17770\177\177" . "\177%c\177\177")) + (aset vec lc-jp '("\17766\177\177" . "\177%c\177%d\177")) + (aset vec lc-cn '("\17767\177\177" . "\177%c\177%d\177")) + (aset vec lc-big5-1 '("\17768\177\177" . "\177%c\177%d\177")) + (aset vec lc-big5-2 '("\17768\177\177" . "\177%c\177%d\177")) + (aset vec lc-kr '("\17769\177\177" . "\177%c\177%d\177")) + + ;; Element is a formatter string FORMAT. Each character is + ;; formatted as: + ;; (format FORMAT char-code-1 char-code-2) + (aset vec lc-jp2 "\17772\177JIS2\177\177%d\177%d\177") + (aset vec lc-cns1 "\17772\177CNS1\177\177%d\177%d\177") + (aset vec lc-cns2 "\17772\177CNS2\177\177%d\177%d\177") + (aset vec lc-cns3 "\17772\177CNS3\177\177%d\177%d\177") + (aset vec lc-cns4 "\17772\177CNS4\177\177%d\177%d\177") + (aset vec lc-cns5 "\17772\177CNS5\177\177%d\177%d\177") + (aset vec lc-cns6 "\17772\177CNS6\177\177%d\177%d\177") + (aset vec lc-cns7 "\17772\177CNS7\177\177%d\177%d\177") + vec)) + + +(make-coding-system + '*cjk-coding* 0 ?c + "Coding-system for LaTeX2e CJK Package" 1) + + +(put '*cjk-coding* 'pre-write-conversion 'cjk-encode) + + +(defun cjk-encode (from to) + (save-excursion + (save-restriction + (narrow-to-region from to) + (let ((mc-flag t) + (re-multibyte-char "[\177-\237][\240-\177]+") + (enc (make-vector 256 nil)) + (space-state nil) + (require-cjk-execute nil) + prev-lc lc ch ch1 ch2 format-spec) + (goto-char (point-min)) + (if (null (let (mc-flag) (re-search-forward re-multibyte-char nil t))) + ;; No multilingual text. Nothing to do. + nil + (goto-char (match-beginning 0)) + (setq prev-lc lc-ascii) + (while (not (eobp)) + ;; Now we are at a multibyte character. + ;; Set the following variables: + ;; LC -- leading char + ;; CH1 -- first char code + ;; CH2 -- second char code (of two byte chars) + (setq ch (following-char)) + (delete-char 1) + (setq lc (char-component ch 0)) + (if (or (= lc lc-big5-1) (= lc lc-big5-2)) + ;; Mule has special encoding for Big5 characters. We + ;; must decode them to the normal Big5 codes. + (let ((vec (g2b ch))) + (setq ch1 (aref vec 0) ch2 (aref vec 1))) + (setq ch1 (char-component ch 1) + ch2 (char-component ch 2))) + + ;; FORMAT-SPEC tells how to encode this character. + (setq format-spec (aref cjk-format-spec-table lc)) + (if (null format-spec) + ;; Unsupported character set. + nil + ;; Ok, it is supported. If this character set is one of + ;; CJK, we need a special header at the beginning of the + ;; file. + (if (aset enc lc (aref cjk-enc-table lc)) + (setq require-cjk-execute t)) + + (cond ((consp format-spec) + ;; We may have to insert the car part of the cons + ;; and/or space controlling commands + ;; (cjk-space/cjk-nospace) depending on the current + ;; context. + (if (= lc lc-kr) + (or (eq space-state cjk-space) + (insert (setq space-state cjk-space))) + (or (eq space-state cjk-nospace) + (insert (setq space-state cjk-nospace)))) + (if (/= prev-lc lc) + (insert (car format-spec))) + (insert (format (cdr format-spec) ch1 ch2))) + + ((vectorp format-spec) + (insert (format "\177%s\177" + (aref format-spec (- ch1 160))))) + (t ; FORMAT-SPEC is just a formatting string. + (insert (format format-spec ch1 ch2))))) + + ;; Prepare the next loop. + (setq prev-lc lc) + ;; Skip spaces, etc. + (skip-chars-forward " \t\n") + ;; If there are any ASCII chars, skip them also, but set + ;; PREV-LC to LC-ASCII. + (if (and (< (following-char) 128) + (let (mc-flag) + (re-search-forward re-multibyte-char nil 'move))) + (progn + (goto-char (match-beginning 0)) + (setq prev-lc lc-ascii)))) + + ;; Now, insert an appropriate header at the head of the file. + (goto-char (point-min)) + (if require-cjk-execute + (let ((i 128)) + (insert "\\def\\CJKhook{") + (while (< i 256) + (if (aref enc i) + (insert (format "\\CJKenc{%s}" (aref enc i)))) + (setq i (1+ i))) + (insert "}") + (insert "\\ifx\\CJKpreproc\\undefined") + (insert "\\def\\CJKpreproc{cjk-enc}") + (insert "\\RequirePackage[global]{CJK}") + (insert "\\AtBeginDocument{\\begin{CJK}{}{}\\CJKspace}") + (insert "\\AtEndDocument{\\end{CJK}}") + (insert "\\else\\CJKhook\\fi ")) + (insert "\\ifx\\CJKpreproc\\undefined") + (insert "\\def\\CJKpreproc{cjk-enc}") + (insert "\\RequirePackage{MULEenc}") + (insert "\\fi "))))))) + + +(defun cjk-write-file () + "Save current buffer and .cjk in *cjk-coding*. +Files of the form .bib are saved as -cjk.bib" + + (interactive) + (let ((bufname (buffer-file-name)) + body + extension + newbufname) + (save-buffer) + (string-match "\\(.*\\)\\(\\.[^/]*$\\)" bufname) + (setq body (match-string 1 bufname) + extension (match-string 2 bufname)) + (setq newbufname + (concat body + (if (string-equal extension ".bib") + "-cjk.bib" + ".cjk"))) + (message "Saving %s and %s" bufname newbufname) + (let ((set-file-coding-system *cjk-coding*)) + (write-region (point-min) (point-max) newbufname)))) + + +;;; EOF diff --git a/Master/texmf-dist/source/latex/CJK/utils/pyhyphen/pinyin.c b/Master/texmf-dist/source/latex/CJK/utils/pyhyphen/pinyin.c new file mode 100644 index 00000000000..ec2a56c0e16 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/pyhyphen/pinyin.c @@ -0,0 +1,461 @@ +/* + + This is the file pinyin.c of the CJK macro package ver. 4.6.0 + (11-Aug-2005). + + Use this file to generate a hyphenation input file for patgen. + + Usage: + + pinyin > pinyin.dic + + */ + +#include + + +/* A list of all Chinese syllables. We use latin-1 encoding for the + `umlaut u' character. */ + +char *py[] = +{ + "a", + "ai", + "an", + "ang", + "ao", + "ba", + "bai", + "ban", + "bang", + "bao", + "bei", + "ben", + "beng", + "bi", + "bian", + "biao", + "bie", + "bin", + "bing", + "bo", + "bu", + "ca", + "cai", + "can", + "cang", + "cao", + "ce", + "cen", + "ceng", + "cha", + "chai", + "chan", + "chang", + "chao", + "che", + "chen", + "cheng", + "chi", + "chong", + "chou", + "chu", + "chuai", + "chuan", + "chuang", + "chui", + "chun", + "chuo", + "ci", + "cong", + "cou", + "cu", + "cuan", + "cui", + "cun", + "cuo", + "da", + "dai", + "dan", + "dang", + "dao", + "de", + "dei", + "deng", + "di", + "dian", + "diao", + "die", + "ding", + "diu", + "dong", + "dou", + "du", + "duan", + "dui", + "dun", + "duo", + "e", + "ei", + "en", + "eng", + "er", + "fa", + "fan", + "fang", + "fei", + "fen", + "feng", + "fiao", + "fo", + "fou", + "fu", + "ga", + "gai", + "gan", + "gang", + "gao", + "ge", + "gei", + "gen", + "geng", + "gong", + "gou", + "gu", + "gua", + "guai", + "guan", + "guang", + "gui", + "gun", + "guo", + "ha", + "hai", + "han", + "hang", + "hao", + "he", + "hei", + "hen", + "heng", + "hong", + "hou", + "hu", + "hua", + "huai", + "huan", + "huang", + "hui", + "hun", + "huo", + "ji", + "jia", + "jian", + "jiang", + "jiao", + "jie", + "jin", + "jing", + "jiong", + "jiu", + "ju", + "juan", + "jue", + "jun", + "ka", + "kai", + "kan", + "kang", + "kao", + "ke", + "kei", + "ken", + "keng", + "kong", + "kou", + "ku", + "kua", + "kuai", + "kuan", + "kuang", + "kui", + "kun", + "kuo", + "la", + "lai", + "lan", + "lang", + "lao", + "le", + "lei", + "leng", + "li", + "lia", + "lian", + "liang", + "liao", + "lie", + "lin", + "ling", + "liu", + "long", + "lou", + "lu", + "luan", + "lun", + "luo", + "lü", + "lüe", + "ma", + "mai", + "man", + "mang", + "mao", + "me", + "mei", + "men", + "meng", + "mi", + "mian", + "miao", + "mie", + "min", + "ming", + "miu", + "mo", + "mou", + "mu", + "na", + "nai", + "nan", + "nang", + "nao", + "ne", + "nei", + "nen", + "neng", + "ni", + "nian", + "niang", + "niao", + "nie", + "nin", + "ning", + "niu", + "nong", + "nou", + "nu", + "nuan", + "nuo", + "nü", + "nüe", + "o", + "ou", + "pa", + "pai", + "pan", + "pang", + "pao", + "pei", + "pen", + "peng", + "pi", + "pian", + "piao", + "pie", + "pin", + "ping", + "po", + "pou", + "pu", + "qi", + "qia", + "qian", + "qiang", + "qiao", + "qie", + "qin", + "qing", + "qiong", + "qiu", + "qu", + "quan", + "que", + "qun", + "ran", + "rang", + "rao", + "re", + "ren", + "reng", + "ri", + "rong", + "rou", + "ru", + "ruan", + "rui", + "run", + "ruo", + "sa", + "sai", + "san", + "sang", + "sao", + "se", + "sen", + "seng", + "sha", + "shai", + "shan", + "shang", + "shao", + "she", + "shei", + "shen", + "sheng", + "shi", + "shou", + "shu", + "shua", + "shuai", + "shuan", + "shuang", + "shui", + "shun", + "shuo", + "si", + "song", + "sou", + "su", + "suan", + "sui", + "sun", + "suo", + "ta", + "tai", + "tan", + "tang", + "tao", + "te", + "tei", + "teng", + "ti", + "tian", + "tiao", + "tie", + "ting", + "tong", + "tou", + "tu", + "tuan", + "tui", + "tun", + "tuo", + "wa", + "wai", + "wan", + "wang", + "wei", + "wen", + "weng", + "wo", + "wu", + "xi", + "xia", + "xian", + "xiang", + "xiao", + "xie", + "xin", + "xing", + "xiong", + "xiu", + "xu", + "xuan", + "xue", + "xun", + "ya", + "yan", + "yang", + "yao", + "ye", + "yi", + "yin", + "ying", + "yo", + "yong", + "you", + "yu", + "yuan", + "yue", + "yun", + "za", + "zai", + "zan", + "zang", + "zao", + "ze", + "zei", + "zen", + "zeng", + "zha", + "zhai", + "zhan", + "zhang", + "zhao", + "zhe", + "zhei", + "zhen", + "zheng", + "zhi", + "zhong", + "zhou", + "zhu", + "zhua", + "zhuai", + "zhuan", + "zhuang", + "zhui", + "zhun", + "zhuo", + "zi", + "zong", + "zou", + "zu", + "zuan", + "zui", + "zun", + "zuo" +}; + + +int main(void) +{ + int i, j, off; + size_t size = sizeof (py) / sizeof (char*); + char s[20]; + + /* Now we loop through all possible syllable combinations. */ + + for (i = 0; i < size; i++) + for (j = 0; j < size; j++) + { + /* The seldom used `%n' construct yields the number of processed + characters so far. */ + + sprintf(s, "%s%n%s", py[i], &off, py[j]); + + /* We check the first character of the second syllable. If it is + a vowel, a quote will be inserted. Example: Tian'anmen. */ + + if (s[off] == 'a' || s[off] == 'e' || s[off] == 'o') + printf("%s'-%s\n", py[i], py[j]); + + /* No special case. */ + + else + printf("%s-%s\n", py[i], py[j]); + } + + return 0; +} diff --git a/Master/texmf-dist/source/latex/CJK/utils/pyhyphen/pinyin.tr b/Master/texmf-dist/source/latex/CJK/utils/pyhyphen/pinyin.tr new file mode 100644 index 00000000000..966b752dd24 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/pyhyphen/pinyin.tr @@ -0,0 +1,35 @@ + 1 1 +%% This is the file pinyin.tr of the CJK package +%% defining the letters used for generating pinyin hyphenation patterns +%% with patgen. +%% +%% created by Werner Lemberg +%% +%% Version 4.6.0 (11-Aug-2005) + a A + b B + c C + d D + e E + f F + g G + h H + i I + j J + k K + l L + m M + n N + o O + p P + q Q + r R + s S + t T + u U + ü Ü + w W + x X + y Y + z Z + ' diff --git a/Master/texmf-dist/source/latex/CJK/utils/subfonts/clonevf.pl b/Master/texmf-dist/source/latex/CJK/utils/subfonts/clonevf.pl new file mode 100644 index 00000000000..f6b35b207a5 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/subfonts/clonevf.pl @@ -0,0 +1,105 @@ +#! /usr/bin/perl -w +# +# This script clones a virtual font from a TFM file. +# +# As prerequisites, it needs the programs `tftopl' and `vptovf', which must +# be in the path. +# +# Call the script as +# +# perl clonevf.pl tfm_name vf_name +# +# Example: +# +# perl clonevf.pl bsmiuv bsmilp + +use strict; + +my $prog = $0; +$prog =~ s@.*/@@; + +if ($#ARGV != 1) { + die("usage: $prog tfm_name vf_name\n"); +} + +my $tfmname = $ARGV[0]; +my $vfname = $ARGV[1]; + + +# Create PL file. + +print("Processing metrics file \`$tfmname.tfm'...\n"); + +my $arg = "tftopl $tfmname.tfm > $tfmname.pl"; +system($arg) == 0 +|| die("$prog: calling \`$arg' failed: $?\n"); + + +# Create VPL file. + +print("Writing virtual property list file \`$vfname.vpl'...\n"); + +open(PL, "$tfmname.pl") +|| die("$prog: can't open \`$tfmname.pl': $!\n"); + +open(VPL, ">", "$vfname.vpl") +|| die("$prog: can't open \`$vfname.vpl': $!\n"); + +print(VPL "(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n"); +print(VPL "(FAMILY TEX-\U$vfname\E)\n"); + +my $have_mapfont = 0; +while () { + next if /^\(FAMILY/; + next if /^\(CHECKSUM/; + + if (/^\(CHARACTER (.*)/) { + if (!$have_mapfont) { + print(VPL "(MAPFONT D 0\n"); + print(VPL " (FONTNAME $tfmname)\n"); + print(VPL " )\n"); + $have_mapfont = 1; + } + + my $char = $1; + + print(VPL $_); + + $_ = ; + if (/CHARWD/) { + print(VPL $_); + $_ = ; + } + if (/CHARHT/) { + print(VPL $_); + $_ = ; + } + if (/CHARDP/) { + print(VPL $_); + $_ = ; + } + + print(VPL " (MAP\n"); + print(VPL " (SELECTFONT D 0)\n"); + print(VPL " (SETCHAR $char)\n"); + print(VPL " )\n"); + } + + print(VPL $_); +} + +close(PL); +close(VPL); + +print("Processing \`$vfname.vpl'\n"); +$arg = "vptovf $vfname.vpl"; +system($arg) == 0 +|| die("$prog: calling \`$arg' failed: $?\n"); + +print("Removing \`$tfmname.pl'...\n"); +unlink("$tfmname.pl"); +print("Removing \`$vfname.vpl'...\n"); +unlink("$vfname.vpl"); + + +# eof diff --git a/Master/texmf-dist/source/latex/CJK/utils/subfonts/makefdx.pl b/Master/texmf-dist/source/latex/CJK/utils/subfonts/makefdx.pl new file mode 100644 index 00000000000..c2bd1c4d027 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/subfonts/makefdx.pl @@ -0,0 +1,228 @@ +#! /usr/bin/perl -w +# +# This script creates proper entries for an FDX file as used by the +# CJK package for LaTeX. +# +# As a prerequisite, it needs the file `aglfn13.txt', available from +# +# http://partners.adobe.com/asn/developer/typeforum/unicodegn.html +# +# Call the script as +# +# perl makefdx.pl vertref_afm_file sfd_file fdx_file +# +# `vertref_afm_file' is an AFM file as produced by the script `vertref.pe'. +# `sfd_file' gives the subfont scheme to get the proper entries in +# `fdx_file'. +# +# Note that the created FDX file has to be completed manually. +# +# Example: +# +# perl makefdx.pl bsmiuv.afm bsmiuvr.afm UBig5.sfd c00bsmi.fdx + +use strict; + +my $prog = $0; +$prog =~ s@.*/@@; + +if ($#ARGV != 2) { + die("usage: $prog vertref_afm_file sfd_file fdx_file\n"); +} + +my $vertrefafmfile = $ARGV[0]; +my $sfdfile = $ARGV[1]; +my $fdxfile = $ARGV[2]; + + +# Read AGL file. + +my %agl; + +read_aglfile("aglfn13.txt", \%agl); + + +# Read AFM file. + +my @vertref; + +read_afmfile($vertrefafmfile, \@vertref); + + +# Read subfont definition file. + +my @sfd; + +read_sfdfile($sfdfile, \@sfd); + + +# Write FDX file. + +print("Writing extended font definition file \`$fdxfile'...\n"); + +open(FDX, ">", $fdxfile) +|| die("$prog: can't open \`$fdxfile': $!\n"); +my $oldfh = select(FDX); + +foreach my $index (0 .. ($#vertref - 1)) { + my $glyphnameref = $vertref[$index]; + my $unicode; + + if (defined ($agl{$glyphnameref})) { + $unicode = $agl{$glyphnameref}; + } + elsif ($glyphnameref =~ /^uni([0-9A-F]{4})$/) { + $unicode = hex($1); + } + elsif ($glyphnameref =~ /^u([0-9A-F]{4,6})$/) { + $unicode = hex($1); + } + else { + $unicode = -1; + } + if ($unicode == -1 + || ($unicode >= 0xD800 && $unicode <= 0xDFFF) + || $unicode > 0x10FFFF) { + print(STDERR "Can't map glyph name \`$glyphnameref' to Unicode.\n"); + next; + } + + my $sfdentry; + + if (defined ($sfd[$unicode])) { + $sfdentry = $sfd[$unicode]; + } + else { + printf(STDERR "\`%s' (U+%04X) not in subfont encoding\n", + $glyphnameref, $unicode); + next; + } + + print("\\CJKvdef{m/n/$sfdentry}"); + print("{\\def\\CJK\@plane{v}\\selectfont\\CJKsymbol{$index}}\n"); +} + + +# Read an AGL file. +# +# $1: Name of the AGL file. +# $2: Reference to the target hash file, mapping from the glyph name +# to the Unicode value. + +sub read_aglfile { + my ($aglfile, $aglhash) = @_; + + print("Reading Adobe Glyph List file \`$aglfile'...\n"); + + open(AGL, $aglfile) + || die("$prog: can't open \`$aglfile': $!\n"); + + while () { + chop; + + next if /^\s*$/; + next if /^#/; + + my @field = split(";"); + $aglhash->{$field[1]} = hex($field[0]); + } + close(AGL); +} + + +# Read an SFD file. +# +# $1: Name of the SFD file. +# $2: Reference to the target array file, mapping from the character code +# to the subfont index. The format of an array value is the +# concatenation of the subfont suffix, a slash, and the index. + +sub read_sfdfile { + my ($sfdfile, $sfdarray) = @_; + + print("Reading subfont definition file \`$sfdfile'...\n"); + + open(SFD, $sfdfile) + || die("$prog: can't open \`$sfdfile': $!\n"); + + my $line; + my $continuation = 0; + while () { + chop; + + next if /^\s*$/; + next if /^#/; + + if ($continuation) { + $line .= $_; + } + else { + $line = $_; + } + $continuation = 0; + + if ($line =~ s/\\$//) { + $continuation = 1; + next; + } + + $_ = $line; + my @field = split(" "); + + my $suffix = $field[0]; + + shift(@field); + my $index = 0; + + while (@field) { + if ($field[0] =~ /(.*):$/) { + $index = $1; + } + elsif ($field[0] =~ /(.*)_(.*)/) { + my $start = $1; + my $end = $2; + $start = oct($start) if ($start =~ /^0/); + $end = oct($end) if ($end =~ /^0/); + foreach my $i ($start .. $end) { + $sfdarray->[$i] = "$suffix/$index"; + $index++; + } + } + else { + my $value = $field[0]; + $value = oct($value) if ($value =~ /^0/); + $sfdarray->[$value] = "$suffix/$index"; + $index++; + } + shift(@field); + } + } + close(SFD); +} + + +# Read AFM file. +# +# $1: Name of the AFM file. +# $2: Reference to array which maps glyph indices to glyph names. +# `vertical.pe' guarantees that there are no holes in the array. + +sub read_afmfile { + my ($afmfile, $maparray) = @_; + + print("Reading metrics file \`$afmfile'\n"); + + open(AFM, $afmfile) + || die("$prog: can't open \`$afmfile': $!\n"); + + while () { + if (/^C \d+ ;/) { + / N (.*?) ;/; + push (@$maparray, $1); + } + } + close(AFM); +} + + +# eof diff --git a/Master/texmf-dist/source/latex/CJK/utils/subfonts/sfd2uni.pl b/Master/texmf-dist/source/latex/CJK/utils/subfonts/sfd2uni.pl new file mode 100644 index 00000000000..d01d8d0ac21 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/subfonts/sfd2uni.pl @@ -0,0 +1,328 @@ +#! /usr/bin/perl -w +# +# This script creates virtual subfonts in Unicode encoding for a font +# encoding given by a subfont definition file (which must use Unicode +# code points). +# +# As prerequisites it needs the programs `tftopl' and `vptovf' which must be +# in the path. +# +# Call the script as +# +# perl sfd2uni.pl sfd_file namestem uni_namestem codingscheme +# +# `sfd_file' is the subfont definition file, `namestem' is the name stem +# of the subfonts defined in `sfd_file', and `uni_namestem' holds the prefix +# for the Unicode subfonts. `codingscheme' (converted to uppercase) is used +# for the CODINGSCHEME parameter in the resulting TFM files. +# +# `sfd2uni.pl' reads all TFM files from the font family with name stem +# `namestem'. +# +# Example: +# +# perl sfd2uni.pl UKS-HLaTeX.sfd wmj uwmj HLATEX + +use strict; + +my $prog = $0; +$prog =~ s@.*/@@; + +if ($#ARGV != 3) { + die("usage: $prog sfd_file namestem uni_namestem codingscheme\n"); +} + +my $sfdfile = $ARGV[0]; +my $namestem = $ARGV[1]; +my $uninamestem = $ARGV[2]; +my $codingscheme = $ARGV[3]; + + +# Read subfont definition file. + +my %sfd; +my @subfonts; + +read_sfdfile($sfdfile, \%sfd, \@subfonts); + + +# Read TFM files. + +my @unicmetrics; + +foreach my $sub (@subfonts) { + my $tfmname = "$namestem$sub.tfm"; + + read_tfmfile($tfmname, \@unicmetrics, \%sfd, $sub); +} + + +# Read FONTDIMEN block. + +my $fontdimen = read_fontdimen("$namestem$subfonts[0].tfm"); + + +# Write VPL files. + +my $index = 0; +foreach my $i (0 .. 255) { + my @entries; + + foreach my $j (0 .. 255) { + if (defined ($unicmetrics[$index])) { + push(@entries, "$j $unicmetrics[$index]"); + } + $index++; + } + + if ($#entries >= 0) { + write_vplfile($uninamestem . sprintf("%02x.vpl", $i), \@entries); + } +} + + +# Generate VF and TFM files, then remove the VPL files. + +my @vplfiles = glob("$uninamestem*.vpl"); +foreach my $vplfile (@vplfiles) { + print("Processing \`$vplfile'...\n"); + my $arg = "vptovf $vplfile"; + system($arg) == 0 + || die("$prog: calling \`$arg' failed: $?");; + print("Removing \`$vplfile'...\n"); + unlink($vplfile); +} + + +# Read an SFD file. +# +# $1: Name of the SFD file. +# $2: Reference to the target hash file, mapping from the subfont index to +# the character code. The format of the key value is the concatenation +# of the subfont suffix, a space, and the index. +# $3: Reference to a target array which holds the subfont suffixes. + +sub read_sfdfile { + my ($sfdfile, $sfdhash, $sfdarray) = @_; + + print("Reading subfont definition file \`$sfdfile'...\n"); + + open(SFD, $sfdfile) + || die("$prog: can't open \`$sfdfile': $!\n"); + + my $line; + my $continuation = 0; + while () { + chop; + + next if /^\s*$/; + next if /^#/; + + if ($continuation) { + $line .= $_; + } + else { + $line = $_; + } + $continuation = 0; + + if ($line =~ s/\\$//) { + $continuation = 1; + next; + } + + $_ = $line; + my @field = split(" "); + + my $suffix = $field[0]; + push(@{$sfdarray}, $suffix); + + shift(@field); + my $index = 0; + + while (@field) { + if ($field[0] =~ /(.*):$/) { + $index = $1; + } + elsif ($field[0] =~ /(.*)_(.*)/) { + my $start = $1; + my $end = $2; + $start = oct($start) if ($start =~ /^0/); + $end = oct($end) if ($end =~ /^0/); + foreach my $i ($start .. $end) { + $sfdhash->{"$suffix $index"} = $i; + $index++; + } + } + else { + my $value = $field[0]; + $value = oct($value) if ($value =~ /^0/); + $sfdhash->{"$suffix $index"} = $value; + $index++; + } + shift(@field); + } + } + close(SFD); +} + + +# Read TFM file. +# +# $1: Name of the TFM file. +# $2: Reference to the target array holding metric information in the form +# ` '. +# $3: Reference to a hash created by `read_sfdfile'. +# $4: Subfont suffix. + +sub read_tfmfile { + my ($tfmfile, $unicarray, $sfdhash, $sub) = @_; + + print("Processing metrics file \`$tfmfile'...\n"); + my $arg = "tftopl $tfmfile > $tfmfile.pl"; + system($arg) == 0 + || die("$prog: calling \`$arg' failed: $?\n"); + + print("Reading property list file \`$tfmfile.pl'...\n"); + open(PL, "$tfmfile.pl") + || die("$prog: can't open \`$tfmfile.pl': $!\n"); + + while () { + my $index; + if (/^\(CHARACTER O (\d+)/) { + $index = oct($1); + } + elsif (/^\(CHARACTER C (.)/) { + $index = ord($1); + } + else { + next; + } + + my $wd = "0"; + my $ht = "0"; + my $dp = "0"; + + $_ = ; + if (/\(CHARWD R (.*)\)/) { + $wd = "$1"; + $_ = ; + } + if (/\(CHARHT R (.*)\)/) { + $ht = "$1"; + $_ = ; + } + if (/\(CHARDP R (.*)\)/) { + $dp = "$1"; + } + + if (defined ($sfdhash->{"$sub $index"})) { + $unicarray->[$sfdhash->{"$sub $index"}] = "$sub $index $wd $ht $dp"; + } + } + close(PL); + print("Removing \`$tfmfile.pl'...\n"); + unlink("$tfmfile.pl"); +} + + +# Read FONTDIMEN block of a TFM file. +# +# $1: Name of the TFM file. +# +# Return the block as a string. + +sub read_fontdimen { + my ($tfmfile) = @_; + + print("Processing metrics file \`$tfmfile'...\n"); + my $arg = "tftopl $tfmfile > $tfmfile.pl"; + system($arg) == 0 + || die("$prog: calling \`$arg' failed: $?\n"); + + print("Reading property list file \`$tfmfile.pl'...\n"); + open(PL, "$tfmfile.pl") + || die("$prog: can't open \`$tfmfile.pl': $!\n"); + + my $s = ""; + my $have_fontdimen = 0; + + while () { + if (/^\(FONTDIMEN/) { + $have_fontdimen = 1; + } + + if ($have_fontdimen) { + $s .= $_; + + last if (/^ \)/); + } + } + + close(PL); + print("Removing \`$tfmfile.pl'...\n"); + unlink("$tfmfile.pl"); + + return $s; +} + + +# Write VPL file. +# +# $1: Name of the VPL file. +# $2: Reference to list which holds the font entries. An entry has the +# form ` '. + +sub write_vplfile { + my ($vplfile, $metricsarray) = @_; + + my %subfonts; + my $subcount = 0; + + foreach my $entry (@{$metricsarray}) { + my @field = split(" ", $entry); + my $subfont = $field[1]; + if (!defined ($subfonts{$subfont})) { + $subfonts{$subfont} = $subcount; + $subcount++; + } + } + + print("Writing virtual property list file \`$vplfile'...\n"); + + open(VPL, ">", $vplfile) + || die("$prog: can't open \`$vplfile': $!\n"); + my $oldfh = select(VPL); + + print("(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n"); + print("(FAMILY TEX-\U$uninamestem\E)\n"); + print("(CODINGSCHEME \U$codingscheme\E)\n"); + print $fontdimen; + + foreach my $subfont + (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) { + print("(MAPFONT D $subfonts{$subfont}\n"); + print(" (FONTNAME $namestem$subfont)\n"); + print(" )\n"); + } + + foreach my $entry (@{$metricsarray}) { + my ($index, $subnumber, $subindex, $wd, $ht, $dp) = split(" ", $entry); + + print("(CHARACTER D $index\n"); + print(" (CHARWD R $wd)\n"); + print(" (CHARHT R $ht)\n"); + print(" (CHARDP R $dp)\n"); + print(" (MAP\n"); + print(" (SELECTFONT D $subfonts{$subnumber})\n"); + print(" (SETCHAR D $subindex)\n"); + print(" )\n"); + print(" )\n"); + } + + close(VPL); + select($oldfh); +} + + +# eof diff --git a/Master/texmf-dist/source/latex/CJK/utils/subfonts/subfonts.pe b/Master/texmf-dist/source/latex/CJK/utils/subfonts/subfonts.pe new file mode 100644 index 00000000000..141ce6d39dc --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/subfonts/subfonts.pe @@ -0,0 +1,61 @@ +# Generate CJK subfonts from master font. +# The fonts are created in the current directory. +# +# $1: The master font (e.g., `bsmi00lp.ttf'). +# $2: The name stem for the subfonts (e.g., `bsmilp'). +# $3: The subfont definition file (e.g., `UBig5.sfd'). + +if ($argc != 4) + Print("usage: [fontforge -script] ", $0, " master-font name-stem SFD-file"); + Quit(1); +endif; + +Print("Loading ", $1, "..."); +Open($1); + +copyright = $copyright \ + + Chr(10) + Chr(10) \ + + "Subfont version 2005-07-01."; +SetFontNames("", "", "", "", copyright, ""); + +Print("Ensure third order curves..."); +SetFontOrder(3); + +Print("Scaling to PostScript units..."); +ScaleToEm(900, 100); + +num_chars = CharCnt(); +count = 0; +delta = 100; + +while (count + delta < num_chars) + Print(count, "/", num_chars - 1, ":"); + Select(count, count + delta); + + Print(" Add extrema..."); + AddExtrema(); + + Print(" Simplifying outlines..."); + Simplify(0, 2); + + count += delta; +endloop; + +Print(count, "/", num_chars - 1, ":"); +Select(count, num_chars - 1); + +Print(" Add extrema..."); +AddExtrema(); + +Print(" Simplifying outlines..."); +Simplify(0, 2); + +SelectAll(); + +# generate AFM and TFM files, no PS hints, and rounded PS coordinates +Print("Generating subfonts..."); +Generate($2 + "%s.pfb", "", \ + 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000, \ + -1, $3); + +Quit(0); diff --git a/Master/texmf-dist/source/latex/CJK/utils/subfonts/uni2sfd.pl b/Master/texmf-dist/source/latex/CJK/utils/subfonts/uni2sfd.pl new file mode 100644 index 00000000000..34c32134990 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/subfonts/uni2sfd.pl @@ -0,0 +1,292 @@ +#! /usr/bin/perl -w +# +# This script creates virtual subfonts in a font encoding given by a subfont +# definition file, based on Unicode subfonts. +# +# As prerequisites, it needs the programs `tftopl' and `vptovf' which must +# be in the path. +# +# Call the script as +# +# perl uni2sfd.pl uni_namestem sfd_file namestem codingscheme +# +# `uni_namestem' is the namestem of the Unicode subfonts; `uni2sfd.pl' +# appends the Unicode suffixes and reads the corresponding TFM files. +# `sfd_file' is the subfont definition file which maps Unicode input +# characters to the target subfont scheme using `namestem' as the namestem. +# `codingscheme' gives the value for the CODINGSCHEME parameter in the +# VF files (always converted to uppercase). +# +# Example: +# +# perl uni2sfd.pl bsmiu UBig5.sfd bsmilp cjkbig5 + +use strict; + +my $prog = $0; +$prog =~ s@.*/@@; + +if ($#ARGV != 3) { + die("usage: $prog uni_namestem sfd_file namestem codingscheme\n"); +} + +my $uninamestem = $ARGV[0]; +my $sfdfile = $ARGV[1]; +my $namestem = $ARGV[2]; +my $codingscheme = $ARGV[3]; + + +# Read subfont definition file. + +my %sfd; +my @subfonts; + +read_sfdfile($sfdfile, \%sfd, \@subfonts); + + +# Read TFM files. + +my @unimetrics; + +foreach my $sub (0 .. 0xFF) { + my $suffix = sprintf("%02x", $sub); + my $tfmname = "$uninamestem$suffix.tfm"; + + if (-f $tfmname) { + read_tfmfile($tfmname, \@unimetrics, $suffix); + } +} + + +# Write VPL files. + +foreach my $sub (@subfonts) { + my @entries; + + foreach my $i (0 .. 255) { + if (defined ($sfd{"$sub $i"})) { + my $index = $sfd{"$sub $i"}; + if (defined ($unimetrics[$index])) { + push(@entries, "$i $index $unimetrics[$index]"); + } + } + } + + if ($#entries >= 0) { + write_vplfile("$namestem$sub.vpl", \@entries); + } +} + + +# Generate VF and TFM files, then remove the VPL files. + +my @vplfiles = glob("$namestem*.vpl"); +foreach my $vplfile (@vplfiles) { + print("Processing \`$vplfile'...\n"); + my $arg = "vptovf $vplfile"; + system($arg) == 0 + || die("$prog: calling \`$arg' failed: $?\n"); + print("Removing \`$vplfile'...\n"); + unlink($vplfile); +} + + +# Read an SFD file. +# +# $1: Name of the SFD file. +# $2: Reference to the target hash file, mapping from the character code +# to the subfont index. The format of the key value is the +# concatenation of the subfont suffix, a space, and the index. +# $3: Reference to a target array which holds the subfont suffixes. + +sub read_sfdfile { + my ($sfdfile, $sfdhash, $sfdarray) = @_; + + print("Reading subfont definition file \`$sfdfile'...\n"); + + open(SFD, $sfdfile) + || die("$prog: can't open \`$sfdfile': $!\n"); + + my $line; + my $continuation = 0; + while () { + chop; + + next if /^\s*$/; + next if /^#/; + + if ($continuation) { + $line .= $_; + } + else { + $line = $_; + } + $continuation = 0; + + if ($line =~ s/\\$//) { + $continuation = 1; + next; + } + + $_ = $line; + my @field = split(" "); + + my $suffix = $field[0]; + push(@{$sfdarray}, $suffix); + + shift(@field); + my $index = 0; + + while (@field) { + if ($field[0] =~ /(.*):$/) { + $index = $1; + } + elsif ($field[0] =~ /(.*)_(.*)/) { + my $start = $1; + my $end = $2; + $start = oct($start) if ($start =~ /^0/); + $end = oct($end) if ($end =~ /^0/); + foreach my $i ($start .. $end) { + $sfdhash->{"$suffix $index"} = $i; + $index++; + } + } + else { + my $value = $field[0]; + $value = oct($value) if ($value =~ /^0/); + $sfdhash->{"$suffix $index"} = $value; + $index++; + } + shift(@field); + } + } + close(SFD); +} + + +# Read TFM file. +# +# $1: Name of the TFM file. +# $2: Reference to the target array holding metric information in the form +# ` '. +# $3: Subfont suffix. + +sub read_tfmfile { + my ($tfmfile, $unicarray, $suffix) = @_; + + print("Processing metrics file \`$tfmfile'...\n"); + my $arg = "tftopl $tfmfile > $tfmfile.pl"; + system($arg) == 0 + || die("$prog: calling \`$arg' failed: $?\n"); + + print("Reading property list file \`$tfmfile.pl'...\n"); + open(PL, "$tfmfile.pl") + || die("$prog: can't open \`$tfmfile.pl': $!\n"); + + while () { + my $idx; + if (/^\(CHARACTER O (\d+)/) { + $idx = oct($1); + } + elsif (/^\(CHARACTER C (.)/) { + $idx = ord($1); + } + else { + next; + } + $idx += hex($suffix) * 256; + + my $wd = "0"; + my $ht = "0"; + my $dp = "0"; + + $_ = ; + if (/\(CHARWD R (.*)\)/) { + $wd = "$1"; + $_ = ; + } + if (/\(CHARHT R (.*)\)/) { + $ht = "$1"; + $_ = ; + } + if (/\(CHARDP R (.*)\)/) { + $dp = "$1"; + } + + $unicarray->[$idx] = "$wd $ht $dp"; + } + close(PL); + print("Removing \`$tfmfile.pl'...\n"); + unlink("$tfmfile.pl"); +} + + +# Write VPL file. +# +# $1: Name of the VPL file. +# $2: Reference to list which holds the font entries. An entry has the +# form ` '. + +sub write_vplfile { + my ($vplfile, $glypharray) = @_; + + my %subfonts; + my $subcount = 0; + + foreach my $entry (@{$glypharray}) { + my @field = split(" ", $entry); + my $subfont = int($field[1] / 256); + if (!defined ($subfonts{$subfont})) { + $subfonts{$subfont} = $subcount; + $subcount++; + } + } + + print("Writing virtual property list file \`$vplfile'...\n"); + + open(VPL, ">", $vplfile) + || die("$prog: can't open \`$vplfile': $!\n"); + my $oldfh = select(VPL); + + print("(VTITLE Created by \`$prog " . join(" ", @ARGV) . "')\n"); + print("(FAMILY TEX-\U$namestem\E)\n"); + print("(CODINGSCHEME \U$codingscheme\E)\n"); + print("(FONTDIMEN\n"); + print(" (SPACE R 0.5)\n"); + print(" (XHEIGHT R 0.4)\n"); + print(" (QUAD R 1)\n"); + print(" )\n"); + + foreach my $subfont + (sort { $subfonts{$a} <=> $subfonts{$b} } keys %subfonts) { + print("(MAPFONT D $subfonts{$subfont}\n"); + print(" (FONTNAME $uninamestem" . sprintf("%02x", $subfont) . ")\n"); + print(" )\n"); + } + + foreach my $entry (@{$glypharray}) { + my @field = split(" ", $entry); + my $index = $field[0]; + my $subnumber = $subfonts{int($field[1] / 256)}; + my $subindex = $field[1] % 256; + my $width = $field[2]; + my $height = $field[3]; + my $depth = $field[4]; + + print("(CHARACTER D $index\n"); + print(" (CHARWD R $width)\n"); + print(" (CHARHT R $height)\n"); + print(" (CHARDP R $depth)\n"); + print(" (MAP\n"); + print(" (SELECTFONT D $subnumber)\n"); + print(" (SETCHAR D $subindex)\n"); + print(" )\n"); + print(" )\n"); + } + + close(VPL); + select($oldfh); +} + + +# eof diff --git a/Master/texmf-dist/source/latex/CJK/utils/subfonts/vertical.pe b/Master/texmf-dist/source/latex/CJK/utils/subfonts/vertical.pe new file mode 100644 index 00000000000..727c06a7dbf --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/subfonts/vertical.pe @@ -0,0 +1,66 @@ +# Generate a font which contains vertical glyph representations. +# The font is created in the current directory. +# +# $1: The master font (e.g., `bsmi00lp.ttf'). +# $2: The name of the vertical font (e.g., `bsmilpv'). + +if ($argc != 3) + Print("usage: [fontforge -script] ", $0, " master-font vertical-fontname"); + Quit(1); +endif; + +Print("Loading ", $1, "..."); +Open($1); + +fontname = $2; +fullname = $fullname + " vertical"; +copyright = $copyright \ + + Chr(10) + Chr(10) \ + + "Vertical glyph representations version 2005-07-01."; +SetFontNames(fontname, "", fullname, "", copyright, ""); + +SelectByATT("Substitution", "vert", "", 1); +ApplySubstitution("*", "*", "vert"); +SelectInvert(); +DetachAndRemoveGlyphs(); + +Print("Ensure third order curves..."); +SetFontOrder(3); + +Print("Scaling to PostScript units..."); +ScaleToEm(900, 100); + +num_chars = CharCnt(); +count = 0; +delta = 100; + +while (count + delta < num_chars) + Print(count, "/", num_chars - 1, ":"); + Select(count, count + delta); + + Print(" Add extrema..."); + AddExtrema(); + + Print(" Simplifying outlines..."); + Simplify(0, 2); + + count += delta; +endloop; + +Print(count, "/", num_chars - 1, ":"); +Select(count, num_chars - 1); + +Print(" Add extrema..."); +AddExtrema(); + +Print(" Simplifying outlines..."); +Simplify(0, 2); + +Reencode("original"); + +# generate AFM and TFM files, no PS hints, and rounded PS coordinates +Print("Generating font..."); +Generate($2 + ".pfb", "", \ + 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000); + +Quit(0); diff --git a/Master/texmf-dist/source/latex/CJK/utils/subfonts/vertref.pe b/Master/texmf-dist/source/latex/CJK/utils/subfonts/vertref.pe new file mode 100644 index 00000000000..284b7070d98 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/subfonts/vertref.pe @@ -0,0 +1,69 @@ +# Generate a font with glyphs which have vertical glyph representations (but +# don't include the vertical glyph representations itself). This is used by +# the perl script `makefdx.pl' to create an FDX file as used by the CJK +# package for LaTeX. +# +# The font is created in the current directory. +# +# $1: The master font (e.g., `bsmi00lp.ttf'). +# $2: The name of the target font (e.g., `bsmilpvr'). + +if ($argc != 3) + Print("usage: [fontforge -script] ", $0, " master-font fontname"); + Quit(1); +endif; + +Print("Loading ", $1, "..."); +Open($1); + +fontname = $2; +fullname = $fullname + " vertical reference"; +copyright = $copyright \ + + Chr(10) + Chr(10) \ + + "Vertical glyph reference font version 2005-07-01."; +SetFontNames(fontname, "", fullname, "", copyright, ""); + +SelectByATT("Substitution", "vert", "", 1); +SelectInvert(); +DetachAndRemoveGlyphs(); + +Print("Ensure third order curves..."); +SetFontOrder(3); + +Print("Scaling to PostScript units..."); +ScaleToEm(900, 100); + +num_chars = CharCnt(); +count = 0; +delta = 100; + +while (count + delta < num_chars) + Print(count, "/", num_chars - 1, ":"); + Select(count, count + delta); + + Print(" Add extrema..."); + AddExtrema(); + + Print(" Simplifying outlines..."); + Simplify(0, 2); + + count += delta; +endloop; + +Print(count, "/", num_chars - 1, ":"); +Select(count, num_chars - 1); + +Print(" Add extrema..."); +AddExtrema(); + +Print(" Simplifying outlines..."); +Simplify(0, 2); + +Reencode("original"); + +# generate AFM and TFM files, no PS hints, and rounded PS coordinates +Print("Generating font..."); +Generate($2 + ".pfb", "", \ + 0x1 | 0x100 | 0x10000 | 0x80000 | 0x200000); + +Quit(0); diff --git a/Master/texmf-dist/source/latex/CJK/utils/thaifont/INSTALL b/Master/texmf-dist/source/latex/CJK/utils/thaifont/INSTALL new file mode 100644 index 00000000000..3e2b9d8b5b7 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/thaifont/INSTALL @@ -0,0 +1,337 @@ +Installation of Thai fonts for TeX with fontinst +------------------------------------------------ + +0. The files `c90.etx' and `c90.mtx' must be in the TeX inputs path. + Normally, the current directory also works. Note that you need + fontinst version 1.918 or higher. + +1. In case your Thai font doesn't come with an AFM metrics file you + must extract it from the font using tools like `type1afm' (from + the t1lib package) or ghostscript's `ps2afm' program. + +2. Create a control file for fontinst. + + Example: + + Let us assume that we have the following AFM files for the + Garuda family, using version 2.1 of the fonts (from the + ThaiLaTeX project): + + garuda.afm + garuda_b.afm + garuda_o.afm + garuda_bo.afm + + You should use glyph names compliant to Karl Berry's `fontname' + scheme. For `garuda', this could be `fgdr8z': `f' is the foundry + (`small foundry'), `gd' is the typeface name, `r' means the + weight (`regular'), and `8z' the encoding (8bit user). + Similarly, suitable names for the other fonts are `fgdb8z', + `fgdo8z', and `fgdbo8z', respectively. + + Fonts with `f' as the supplier should go into a `public' font + directory. The typeface `Garuda' already exists in the latest + fontname version (typeface.map version 4-Jul-2005 at the time of + writing), the associated directory is `garuda'. Please consult + the `fontname' standard for more information. + + A template for the fontinst control file can be found as + `norasi.fontinst'; here a version for garuda: + + ==== garuda.fontinst ==== + + \input fontinst.sty + + \needsfontinstversion{1.918} + + + % we explicitly set all slots in the encoding, so provide all + % glyph names in AFM files equally (this is, don't create + % `-not' names) + \let\setnotglyph \setrawglyph + + % we want warnings for missing glyphs + \fontinstcc + \add_to\pre_fourth_etx_pass_hook{ + \def\do_slot{ + \if_undefined{g-\slot_name}\then + \fontinstwarningnoline{fontinst} + {missing~glyph~`\slot_name'\space + for~slot~\the\slot_number\space + in~font~`\out_filename'} + \fi + \do_character + } + } + \normalcc + + + % create PL files and an FD file + \installfonts + \setint{fontdimen(2)}{500} % SPACE + \setint{fontdimen(3)}{300} % STRETCH + \setint{fontdimen(4)}{100} % SHRINK + \setint{fontdimen(6)}{1000} % QUAD + \setint{fontdimen(7)}{0} % EXTRASPACE + + \installrawfont{fdbr8z}{garuda,c90}{c90} + {C90}{garuda}{m}{n}{} + \installrawfont{fdbb8z}{garuda_b,c90}{c90} + {C90}{garuda}{bx}{n}{} + \installrawfont{fdbbo8z}{garuda_bo,c90}{c90} + {C90}{garuda}{bx}{sl}{} + \installrawfont{fdbo8z}{garuda_o,c90}{c90} + {C90}{garuda}{m}{sl}{} + \endinstallfonts + + + \input finstmsc.sty + + + % create the c90.enc file + \installfonts + % the `makeenc' flag is used in c90.etx + \setint{makeenc}{1} + \setstr{encodingname}{C90Encoding} + \etxtoenc{c90}{c90} + \endinstallfonts + + \end + + ==== garuda.fontinst ==== + + Some explanations. + + - The control files also creates MTX and PL files for the AFM + files (e.g., garuda.mtx and garuda.pl) which aren't needed and + can be deleted. + + - AFM files don't provide all necessary font dimensions for TeX. + Consequently, you have to set some dimensions manually. The + `SPACE' value must be larger than for a Latin font; a + reasonable value is 500. You should increase the `STRETCH' + value also -- some tests have shown that 300 yields good + results, but this depends on the font. `EXTRASPACE' can be + set to zero since you must always use TeX's \frenchspacing + command for Thai. All other font dimension values given above + are default values and can stay unmodified. + + There is nothing for free: The changed font dimensions improve + spacing between Thai words, but Latin words are far too widely + spaced. + + - The arguments to \installrawfont are as follows. + + #1 The target font name. + #2 A comma separated list (without spaces) of metric + files. Above, the first one is the AFM file, the + second one is c90.mtx which sets up the three + mandatory alias glyph slots. + #3 The name of the encoding file (c90.etx). + #4-#7 The NFSS attributes for the font. + #8 The size command. If it is empty, `<->' is used. + + - The second \installfonts...\endinstallfonts block creates an + encoding file. + +3. Run fontinst: + + tex garuda.fontinst + + If you get warnings about missing glyphs which are critical (this + is, if it affects Thai characters), you have to configure fontinst + to use an alias file for glyph names. This is described below. + +4. Say + + pltotf + + for all target PL files to create TFM files. + + Example: + + pltotf fgdr8z + pltotf fgdb8z + pltotf fgdo8z + pltotf fgdbo8z + + After the conversion, the PL files are no longer needed and can be + deleted. As mentioned above, the PL files created directly from + the AFM files need not be converted. + +5. Create a mapping file .map for the PS fonts (which can be + used by both dvips and pdftex). + + Example `garuda.map' (the lines are splitted for readability only): + + fgdr8z Garuda \ + " C90Encoding ReEncodeFont " (e.g., `config.garuda'; on + platforms like MS-DOS which don't support long filename + extensions you can use `garuda.cfg' instead) with the following + line in it: + + p + + + Example: + + p +garuda.map + + Then you can use the `-P' command line option of dvips to + include the reencoded font. Example: + + dvips -P garuda test.dvi + +7. After testing, install the font and its support files in your TeX + tree. In the following example, `TEXMF' denotes the location of + your (local) `texmf' directory (we assume a TeX installation + compliant to TDS 1.1 as provided recent versions of TeXLive and + teTeX). + + garuda.pfb -> TEXMF/fonts/type1/public/garuda/ + garuda.afm -> TEXMF/fonts/afm/public/garuda/ + ... + + c90.enc -> TEXMF/fonts/enc/dvips/thai/ + + garuda.map -> TEXMF/fonts/map/dvips/garuda/ + config.garuda -> TEXMF/dvips/garuda/ + + fgdr8z.tfm -> TEXMF/fonts/tfm/public/garuda/ + ... + + c90gar.fd -> TEXMF/tex/latex/CJK/thai/ + +8. Run texhash or a similar program to update the TDS database if + necessary. + + +You are done! With plain TeX, say e.g. + + \font\thai = fgdr9z at 16pt + +to use the font \thai. This will typeset TIS-620 encoded Thai. +Note, however, that you need CJK's cjk-enc.el for Emacs to insert +proper inter-character glue and word breakpoints in case you want +to typeset longer Thai phrases. + + +Reencoding Thai fonts +--------------------- + +Older Thai fonts don't use proper glyph names, and recent ones +probably use different suffixes; it is thus necessary to make fontinst +aware of those names. + +A complete example can be found in the `dbtt-old' subdirectory (which +can be used for the dbtt fonts from TeXLive 8 or earlier). + +a. Set up a file which contain all the aliases, using the \galias + macro. This file should have the extension `.tex'. + + Example: + + If glyph `endash' is represented with glyph name `ucircumflex' + in the font, use the following: + + \galias{ucircumflex}{endash} + +b. Set up both ETX and MTX files which load the just created glyph + alias file. To do that, use the files `dbtt-old-alias.etx' and + `dbtt-old-alias.mtx' as templates. Leave everything unchanged + except the line with \input which should load your glyph alias + file. + +c. Set up a proper fontinst control file. Use `dbtt-old.fontinst' + as a template, replacing the `dbtt-old-alias' items in the + \installrawfont lines with the name of your MTX file. Similarly, + the three last lines in the second + \installfonts...\endinstallfonts block should be adjusted + accordingly. + +d. Continue with item 3 above. Note that in item 5, you have to use + not `C90Encoding' but the encoding name defined with the \setstr + line in your fontinst control file. + + +Using different LaTeX encodings for Thai +---------------------------------------- + +The used encoding scheme within the CJK package for Thai is `C90', +but it is straightforward to adapt it to other Thai encodings like +`LTH' by reordering the `\setslot ... \endsetslot' blocks in the file +`c90.etx'. + +Currently, only CJK's cjk-enc.el output filter for Emacs needs the +Thai ligatures -- other Thai word segmentation programs like `swath' +or `cttex' already replace the input characters with proper glyph +variants. Anyway, they don't harm, and it is on the TODO list of the +thailatex maintainers to finally use those ligatures also. + + +Printing c90.etx +---------------- + +It is possible to convert the main fontinst encoding file for Thai, +c90.etx, into a printable document. To do so, you have to apply the +patch below to the file `fontdoc.sty' (which is part of the fontinst +package -- tested with fontinst version 1.926; newer versions have +already been corrected and don't need this patch), then simply say + + latex c90.etx + + +==================================================================== + + +--- fontdoc.sty.old Mon Feb 9 21:28:59 2004 ++++ fontdoc.sty Wed Jun 23 12:13:04 2004 +@@ -1052,7 +1052,7 @@ + \x@cs\def{FD@lig-/LIG}#1#2{% + \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}% + ${}\rightarrow{}$% +- \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#2}$% ++ \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#2}% + } + \x@cs\def{FD@lig-LIG/}#1#2{% + \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}% +@@ -1085,7 +1085,7 @@ + \FD@typeset@string{\slot@name}${}*{}$\typeset@glyph{#1}% + ${}\rightarrow{}$% + \FD@typeset@string{\slot@name}${}*{}$% +- \typeset@glyph{#2}${}*\lfloor$\typeset@glyph{#1}$} ++ \typeset@glyph{#2}${}*\lfloor$\typeset@glyph{#1}} + \def\nextlarger#1{\Bheading{Next larger} \typeset@glyph{#1}} + \def\makerightboundary#1{% + \Bheading{Right boundary marker slot} designation \typeset@glyph{#1}% + + +---end of INSTALL--- diff --git a/Master/texmf-dist/source/latex/CJK/utils/thaifont/c90.etx b/Master/texmf-dist/source/latex/CJK/utils/thaifont/c90.etx new file mode 100644 index 00000000000..e6ee96a53e9 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/thaifont/c90.etx @@ -0,0 +1,2329 @@ +% c90.etx + +\relax +\documentclass{article} + +\usepackage[specification]{fontdoc}[2001/06/01] +\usepackage{textcomp} +\usepackage{shortvrb} +\usepackage{mflogo} +\usepackage{multicol} +\usepackage{url} + +\MakeShortVerb{\|} + +\newlength{\Stackwidth} + +\newcommand\StackAbove[2]{% + \settowidth{\Stackwidth}{$#1$}% + \vbox{\hbox{$#1$}% + \hbox to \Stackwidth{\hss $#2$\hss}}% +} +\newcommand\StackBelow[2]{% + \settowidth{\Stackwidth}{$#1$}% + \vtop{\hbox{$#1$}% + \hbox to \Stackwidth{\hss $#2$\hss}}% +} + +\newcommand{\thaiclass}[1]{% + {\textit{#1}}% +} +\newcommand{\thaiclassx}[2]{% + \thaiclass{#1}% + \raisebox{-0.4ex}{{\footnotesize\textit{#2}}}% +} +\newcommand{\thaiclassxx}[3]{% + \thaiclassx{#1}{#2}% + \raisebox{-0.8ex}{{\tiny\textit{#3}}}% +} + + +\begin{document} + +\title{The \texttt{C90} encoding for Thai} +\author{Werner Lemberg} +\date{2005/07/04} +\maketitle + + +\section{Introduction} + +This file describes a font encoding for Thai, as presented in a +TUGboat article~\cite{TUG-Thai}. The glyph names follow the Adobe +Glyph List (AGL)~\cite{AGL} recommendations. Since most available +Thai fonts neither use AGL glyph names nor follow the font encoding +used here, you have to be careful in setting up a proper encoding +vector. A specialty (for reasons explained below) is that three +glyphs, namely |/uni0E38| (Thai character `sara u'), |/uni0E39| (Thai +character `sara uu'), and |/uni0E3A| (Thai character `phinthu') must +appear twice in the encoding; the additional glyph indices are |0x80|, +|0x81|, and |0x82|, respectively. + + +\section{Ligatures} +The tricky part is implementing the ligatures. TeX's ligature +mechanism only provides contextual patterns of length~2. Due to the +very nature of the ETX format, ligatures aren't grouped into classes +which makes this file rather long. + +Thai glyphs can be grouped functionally into base glyphs (which are +spacing glyphs) and diacritics (which have zero advance width). +Usually, diacritical glyphs represent either vowels or tone +indicators, whereas base glyphs represent consonants -- I won't go +into detail here; please read the Unicode standard~\cite{Unicode} or +any introduction into the Thai script for more information. + +The general composing rules are as follows: + +\[ + CV \longrightarrow \StackAbove{V}{C}\,,\quad + CT \longrightarrow \StackAbove{T}{C}\,,\quad + CVT \longrightarrow \StackAbove{\StackAbove{T}{V}}{C}\,,\quad + Cv \longrightarrow \StackBelow{C}{v}\,,\quad + CvT \longrightarrow \StackBelow{\StackAbove{T}{C}}{v} +\] + +\noindent +where $C$ represents a base consonant, $V$ an upper vowel, $v$ a lower +vowel, and $T$ a tone mark. The tone mark always comes last. + +Sometimes you will find documents which have first the tone mark and +then the vowel. In real Thai input systems, this error will be +catched and fixed by reordering the characters according to the +TIS-620 Thai encoding standard before any output is created. The +ligatures given below are not able to handle such incorrect data, and +you have to normalize it before using them. + +It depends on context where the diacritics are exactly positioned; +some base glyphs have overlong ascenders or descenders, making it +necessary to shift the diacritics vertically and horizontally. + +To complicate things, the Thai vowel `sara am' (TIS-620 code point +|0xD3|, Unicode value |U+0E33|), which looks like the final nasal sign +`nikhahit' (|0xED|, |U+0E4D|) followed by the vowel `sara aa' (|0xD2|, +|U+0E32|), will be decomposed into these two glyphs for rendering. +The difficulty is that we must position the tone mark of the +\emph{previous} character properly! Thus we have + +\[ + C + SM \longrightarrow \StackAbove{N}{C} + SA\,,\quad + C + T + SM \longrightarrow \StackAbove{\StackAbove{T}{N}}{C} + SA +\] + +A last specialty (used for Sanskrit written in Thai) is that `sara aa' +if it follows the independent vowel letter `ru' (|0xC4|, |U+0E24|) or +`lu' (|0xC6|, |U+0E26|) is replaced with the `lakkhangyao' sign +(|0xE5|, |U+0E45|). + + +\section{Glyph Classes} + +To describe the patterns and rules we start with defining glyph +classes. + +\begin{quote} + \begin{description} + \item[\thaiclassx{base}{normal}] Normal base glyphs without special + features. + \item[\thaiclassx{base}{desc}] Base glyphs with descender. + \item[\thaiclassx{base}{desclike}] These base glyphs consist of two + elements which look like a normal base glyph combined with a lower + vowel diacritic; the diacritic-like element will be omitted if + combined with a lower vowel. + \item[\thaiclassx{base}{asc}] Base glyphs with an ascender on the + right side. + \item[\thaiclassx{base}{indic}] The two independent vowels \emph{ru} + and \emph{lu}. + \item[\thaiclassx{base}{sign}] The sign \emph{lakkhangyao}. + \item[\thaiclassx{base}{sara am}] The vowel \emph{sara am}. + \item[\thaiclassx{base}{sara aa}] The vowel \emph{sara aa}. + \item[\thaiclass{lower}] Lower vowel diacritics. + \item[\thaiclassx{upper}{vowel}] Upper vowel diacritics. + \item[\thaiclassx{upper}{sign}] The \emph{nikhahit} final nasal + sign. + \item[\thaiclass{top}] Tone marks. + \end{description} +\end{quote} + +Here the glyph variant classes: + +\begin{quote} + \begin{description} + \item[\thaiclassx{base}{descless}] The glyphs of class + \thaiclassx{base}{desclike} without the lower part. + \item[\thaiclassx{lower}{low}] The glyphs of class + \thaiclass{lower} shifted downwards. + \item[\thaiclassxx{upper}{vowel}{left}] The glyphs of class + \thaiclassx{upper}{vowel} shifted to the left. + \item[\thaiclassxx{upper}{sign}{left}] The glyphs of class + \thaiclassx{upper}{sign} shifted to the left. + \item[\thaiclassx{top}{left}] The glyphs of class + \thaiclass{top} shifted to the left. + \item[\thaiclassx{top}{low}] The glyphs of class + \thaiclass{top} shifted downwards. + \item[\thaiclassx{top}{low-left}] The glyphs of class + \thaiclass{top} shifted to the left and downwards. + \end{description} +\end{quote} + + +\section{Context Patterns} + +Using the glyph classes defined in the last section it is easy to +describe the context patterns for base glyphs with diacritical signs. +Surprisingly, these patterns are quite systematic. Patterns in +table~\ref{table:context-dia} which are marked with an asterisk do +nothing and are listed for completeness only. Note that these +patterns cover combinations which don't happen in the Thai script +(which doesn't harm). + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular} + {l@{~}l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l@{~}l@{~}l} + \thaiclass{base} &\thaiclass{lower} + & & + &\thaiclass{base} &\thaiclass{lower} + & & &* \\ + \thaiclass{base} & + &\thaiclass{upper} & + &\thaiclass{base} & + &\thaiclass{upper} & &* \\ + \thaiclass{base} & + & &\thaiclass{top} + &\thaiclass{base} & + & &\thaiclassx{top}{low} & \\ + \thaiclass{base} &\thaiclass{lower} + & &\thaiclass{top} + &\thaiclass{base} &\thaiclass{lower} + & &\thaiclassx{top}{low} & \\ + \thaiclass{base} & + &\thaiclass{upper} &\thaiclass{top} + &\thaiclass{base} & + &\thaiclass{upper} &\thaiclass{top} &* \\[2ex] + + \thaiclassx{base}{desc} &\thaiclass{lower} + & & + &\thaiclassx{base}{desc} &\thaiclassx{lower}{low} + & & & \\ + \thaiclassx{base}{desc} & + &\thaiclass{upper} & + &\thaiclassx{base}{desc} & + &\thaiclass{upper} & &* \\ + \thaiclassx{base}{desc} & + & &\thaiclass{top} + &\thaiclassx{base}{desc} & + & &\thaiclassx{top}{low} & \\ + \thaiclassx{base}{desc} &\thaiclass{lower} + & &\thaiclass{top} + &\thaiclassx{base}{desc} &\thaiclassx{lower}{low} + & &\thaiclassx{top}{low} & \\ + \thaiclassx{base}{desc} & + &\thaiclass{upper} &\thaiclass{top} + &\thaiclassx{base}{desc} & + &\thaiclass{upper} &\thaiclass{top} &* \\[2ex] + + \thaiclassx{base}{desclike} &\thaiclass{lower} + & & + &\thaiclassx{base}{descless} & + & & & \\ + \thaiclassx{base}{desclike} & + &\thaiclass{upper} & + &\thaiclassx{base}{desclike} & + &\thaiclass{upper} & &* \\ + \thaiclassx{base}{desclike} & + & &\thaiclass{top} + &\thaiclassx{base}{desclike} & + & &\thaiclassx{top}{low} & \\ + \thaiclassx{base}{desclike} &\thaiclass{lower} + & &\thaiclass{top} + &\thaiclassx{base}{descless} &\thaiclass{lower} + & &\thaiclassx{top}{low} & \\ + \thaiclassx{base}{desclike} & + &\thaiclass{upper} &\thaiclass{top} + &\thaiclassx{base}{desclike} & + &\thaiclass{upper} &\thaiclass{top} &* \\[2ex] + + \thaiclassx{base}{asc} &\thaiclass{lower} + & & + &\thaiclassx{base}{asc} &\thaiclass{lower} + & & &* \\ + \thaiclassx{base}{asc} & + &\thaiclass{upper} & + &\thaiclassx{base}{asc} & + &\thaiclassx{upper}{left} & & \\ + \thaiclassx{base}{asc} & + & &\thaiclass{top} + &\thaiclassx{base}{asc} & + & &\thaiclassx{top}{low-left} & \\ + \thaiclassx{base}{asc} &\thaiclass{lower} + & &\thaiclass{top} + &\thaiclassx{base}{asc} &\thaiclass{lower} + & &\thaiclassx{top}{low-left} & \\ + \thaiclassx{base}{asc} & + &\thaiclass{upper} &\thaiclass{top} + &\thaiclassx{base}{asc} & + &\thaiclassx{upper}{left} &\thaiclassx{top}{left} & \\ + \end{tabular} + + \caption{Context patterns for diacritical signs. Here, + \thaiclass{base} refers to the union of the subclasses + \thaiclass{normal}, \thaiclass{indic}, \thaiclass{sign}, + \thaiclass{sara am}, and \thaiclass{sara aa} of \thaiclass{base}; + \thaiclass{upper} is the union of the subclasses \thaiclass{vowel} + and \thaiclass{sign} of \thaiclass{upper}.} + \label{table:context-dia} +\end{table*} + +Table~\ref{table:context-sara} covers the ligatures of the character +\emph{sara am}. Finally, table~\ref{table:context-indic} describes +the letters specific to Sanskrit. + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular}{l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l@{~}l} + \thaiclass{base} &\thaiclassx{base}{sara am} & + &\thaiclass{base} &\thaiclassx{upper}{sign} + & &\thaiclassx{base}{sara aa} \\ + \thaiclassx{base}{asc} &\thaiclassx{base}{sara am} & + &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left} + & &\thaiclassx{base}{sara aa} \\[2ex] + + \thaiclass{base} &\thaiclass{top} &\thaiclassx{base}{sara am} + &\thaiclass{base} &\thaiclassx{upper}{sign} + &\thaiclass{top} &\thaiclassx{base}{sara aa} \\ + \thaiclassx{base}{asc} &\thaiclass{top} &\thaiclassx{base}{sara + am} + &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left} + &\thaiclassx{top}{left} &\thaiclassx{base}{sara aa} + \end{tabular} + \caption{Context patterns for \emph{sara am}. Here, + \thaiclass{base} denotes the union of subclasses + \thaiclass{normal}, \thaiclass{desc}, and \thaiclass{desclike} of + \thaiclass{base}.} + \label{table:context-sara} +\end{table*} + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l} + \thaiclassx{base}{indic} &\thaiclassx{base}{sara aa} + &\thaiclassx{base}{indic} &\thaiclassx{base}{sign} + \end{tabular} + \caption{Context patterns for \emph{ru} and \emph{lu}.} + \label{table:context-indic} +\end{table*} + +\section{\TeX's Ligature Mechanism} + +\DeleteShortVerb{\|} + +A small introduction into the exotic variants of \TeX's ligature +mechanism which probably many users haven't seen before. +Additionally, the documentation in the \emph{\MF book}~\cite{MFbook} +is very sparse. In the following examples \MF's notation is used. + +The usual ligature action of two glyphs $a$ and~$b$ is the replacement +of both glyphs with another glyph~$c$. + +\begin{center} + \texttt{a b =:\ c} +\end{center} + +Another possibility is to retain the left or the right original glyph +(before and after the ligature, respectively) or both. + +\begin{center} + \texttt{a b |=:\ c} \quad + \texttt{a b =:| c} \quad + \texttt{a b |=:| c} +\end{center} + +\noindent +The first rule creates $ac$, the second $cb$, and the last $acb$. In +all three cases, the current point after appying the ligature rule is +still at the first glyph of the replaced glyphs, and \TeX\ simply +restarts there to check ligatures (and kernings). A classical example +is + +\begin{center} + f f i \textrightarrow\ ff i \textrightarrow\ ffi +\end{center} + +To advance the current point to the right, append either \texttt{>} or +\texttt{>{}>} (the latter is only possible if you retain both input +glyphs). Here are the remaining four ligature rules. + +\begin{center} + \texttt{a b |=:> c} \quad + \texttt{a b =:|> c} \\ + \texttt{a b |=:|> c} \quad + \texttt{a b |=:|>{}> c} +\end{center} + +For Thai ligatures, the most often needed rule is \texttt{|=:}\ (i.e., +retain the left glyph and stay at the same position before applying +the next ligature rule). Note that using \texttt{|=:>} instead is not +a good idea since this would prohibit kerning between the left glyph +and the ligature. + +\section{Ligature Rules} + +\MakeShortVerb{\|} + +As just explained, \TeX\ can only handle context patterns of length~2, +whereas Thai needs patterns of length~3. It was an interesting +challenge to find out whether the problem can be solved with \TeX's +somewhat restricted ligature rules -- the gentle reader is invited to +find a solution by herself! There won't be any difficulties in +understanding ligatures afterwards. + +The tables~\ref{table:liga-dia}, \ref{table:liga-sara}, +and~\ref{table:liga-indic} use the same conventions as +tables~\ref{table:context-dia}, \ref{table:context-sara}, +and~\ref{table:context-indic}, respectively. The current point isn't +increased in any of the rules. + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l} + \thaiclass{base} &\thaiclass{top} + &\thaiclass{base} &\thaiclassx{top}{low} \\ + \thaiclassx{base}{desc} &\thaiclass{lower} + &\thaiclassx{base}{desc} &\thaiclassx{lower}{low} \\ + \thaiclassx{base}{desc} &\thaiclass{top} + &\thaiclassx{base}{desc} &\thaiclassx{top}{low} \\ + \thaiclassx{base}{desclike} &\thaiclass{lower} + &\thaiclassx{base}{descless} &\thaiclass{lower} \\ + \thaiclassx{base}{desclike} &\thaiclass{top} + &\thaiclassx{base}{desclike} &\thaiclassx{top}{low} \\ + \thaiclassx{base}{asc} &\thaiclass{lower} + &\thaiclassx{base}{asc} &\thaiclassx{lower}{left} \\ + \thaiclassx{base}{asc} &\thaiclass{upper} + &\thaiclassx{base}{asc} &\thaiclassx{upper}{left} \\ + \thaiclassx{base}{asc} &\thaiclass{top} + &\thaiclassx{base}{asc} &\thaiclassx{top}{low-left} \\[2ex] + + \thaiclass{lower} &\thaiclass{top} + &\thaiclass{lower} &\thaiclassx{top}{low} \\ + \thaiclassx{lower}{low} &\thaiclass{top} + &\thaiclassx{lower}{low} &\thaiclassx{top}{low} \\[2ex] + + \thaiclassx{upper}{left} &\thaiclass{top} + &\thaiclassx{upper}{left} &\thaiclassx{top}{left} \\[2ex] + + \thaiclassx{lower}{left} &\thaiclass{top} + &\thaiclassx{lower}{left} &\thaiclassx{top}{low-left} \\ + \end{tabular} + + \caption{Ligature rules for diacritical marks.} + \label{table:liga-dia} +\end{table*} + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l} + \thaiclass{base} &\thaiclassx{base}{sara am} + &\thaiclass{base} &\thaiclassx{upper}{sign} + &\thaiclassx{base}{sara am} \\ + \thaiclassx{base}{asc} &\thaiclassx{base}{sara am} + &\thaiclassx{base}{asc} &\thaiclassxx{upper}{sign}{left} + &\thaiclassx{base}{sara am} \\[2ex] + + \thaiclassx{upper}{sign} &\thaiclassx{base}{sara am} + &\thaiclassx{upper}{sign} &\thaiclassx{base}{sara aa} + & \\ + \thaiclassxx{upper}{sign}{left} &\thaiclassx{base}{sara am} + &\thaiclassxx{upper}{sign}{left} &\thaiclassx{base}{sara aa} + & \\[2ex] + + \thaiclassx{top}{low} &\thaiclassx{base}{sara am} + &\thaiclassx{top}{low} &\thaiclass{top} + &\thaiclassx{base}{sara am} \\ + \thaiclassx{top}{low} &\thaiclass{top} + &\thaiclassx{upper}{sign} &\thaiclass{top} + & \\ + \thaiclass{top} &\thaiclassx{base}{sara am} + &\thaiclass{top} &\thaiclassx{base}{sara aa} + & \\[2ex] + + \thaiclassx{top}{low-left} &\thaiclassx{base}{sara am} + &\thaiclassx{top}{low-left} &\thaiclassx{top}{left} + &\thaiclassx{base}{sara am} \\ + \thaiclassx{top}{low-left} &\thaiclassx{top}{left} + &\thaiclassxx{upper}{sign}{left} &\thaiclassx{top}{left} + & \\ + \thaiclassx{top}{left} &\thaiclassx{base}{sara am} + &\thaiclassx{top}{left} &\thaiclassx{base}{sara aa} \\ + \end{tabular} + + \caption{Ligature rules for \emph{sara am}.} + \label{table:liga-sara} +\end{table*} + +\begin{table*} + \centering + \def\arraystretch{1.3} + \begin{tabular}{l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l} + \thaiclassx{base}{indic} &\thaiclassx{base}{sara aa} + &\thaiclassx{base}{indic} &\thaiclassx{base}{sign} + \end{tabular} + \caption{Ligature rule for \emph{ru} and \emph{lu}.} + \label{table:liga-indic} +\end{table*} + +Most of the ligature rules can be derived easily by handling the +patterns sequentially (quite similar to logic puzzles found in various +magazines), but at the end there remain two patterns which apparently +contradict. + +\setlength{\tabcolsep}{3pt} + +\begin{center} + \begin{tabular}{l@{~}l@{~}l@{\hbox{~\textrightarrow~}}l@{~}l@{~}l} + \thaiclass{base} &\thaiclass{lower} &\thaiclass{top} + &\thaiclass{base} &\thaiclass{lower} + &\thaiclassx{top}{low} \\ + \thaiclassx{base}{asc} &\thaiclass{lower} &\thaiclass{top} + &\thaiclassx{base}{asc} &\thaiclass{lower} + &\thaiclassx{top}{low-left} \\ + \end{tabular} +\end{center} + +After applying ligature rules for the first two glyph classes it is +necessary to handle the context `\thaiclass{lower} \thaiclass{top}', +but depending on the previous glyph class \thaiclass{top} must be +replaced with \thaiclassx{top}{left} and \thaiclassx{top}{low-left}, +respectively. With a context pattern length of~3 this would be easy +to solve, but \TeX\ doesn't have this feature. What to do? + +The context `\thaiclass{base} \thaiclass{lower} \thaiclass{top}' must +be distinguished from `\thaiclassx{base}{asc} \thaiclass{lower} +\thaiclass{top}', i.e., two different \thaiclass{lower} classes are +needed depending on the previous character since \TeX\ is not able to +forward information from one ligature cycle to the next. The idea is +now to create an `alias class', a class which behaves identically to +the original one. The glyphs in this alias class are the same, but +different glyph indices and glyph names are assigned to it. A +closer look to table~\ref{table:liga-dia} shows that +\thaiclassx{lower}{left} isn't a typo but the alias class of +\thaiclass{lower}. + + +\section{The Implementation} + +After solving the problem theoretically now the practical +implementation. All glyph names follow the \emph{Adobe Glyph List + (AGL)}~\cite{AGL}. There are no predefined Adobe glyph names for +Thai, so the prefix `uni' with attached Unicode value will be used for +all glyphs which are encoded in Unicode. Glyph variants are +identified by an arbitrarily chosen postfix. + +Here the real glyph names for the various classes. Hexadecimal values +in parentheses after the glyph name give the glyph indices in the +encoding vector. + +\vspace{1ex} +\multicolsep 1ex + +\begin{multicols}{2}[\thaiclassx{base}{normal}:] + \begin{quote} + |uni0E01| (|0xA1|)\\ + |uni0E02| (|0xA2|)\\ + |uni0E03| (|0xA3|)\\ + |uni0E04| (|0xA4|)\\ + |uni0E05| (|0xA5|)\\ + |uni0E06| (|0xA6|)\\ + |uni0E07| (|0xA7|)\\ + |uni0E08| (|0xA8|)\\ + |uni0E09| (|0xA9|)\\ + |uni0E0A| (|0xAA|)\\ + |uni0E0B| (|0xAB|)\\ + |uni0E0C| (|0xAC|)\\ + |uni0E11| (|0xB1|)\\ + |uni0E12| (|0xB2|)\\ + |uni0E13| (|0xB3|)\\ + |uni0E14| (|0xB4|)\\ + |uni0E15| (|0xB5|)\\ + |uni0E16| (|0xB6|)\\ + |uni0E17| (|0xB7|)\\ + |uni0E18| (|0xB8|)\\ + |uni0E19| (|0xB9|)\\ + |uni0E1A| (|0xBA|)\\ + |uni0E1C| (|0xBC|)\\ + |uni0E1E| (|0xBE|)\\ + |uni0E20| (|0xC0|)\\ + |uni0E21| (|0xC1|)\\ + |uni0E22| (|0xC2|)\\ + |uni0E23| (|0xC3|)\\ + |uni0E25| (|0xC5|)\\ + |uni0E27| (|0xC7|)\\ + |uni0E28| (|0xC8|)\\ + |uni0E29| (|0xC9|)\\ + |uni0E2A| (|0xCA|)\\ + |uni0E2B| (|0xCB|)\\ + |uni0E2D| (|0xCD|)\\ + |uni0E2E| (|0xCE|)\\ + |uni0E2F| (|0xCF|)\\ + |uni0E30| (|0xD0|)\\ + |uni0E40| (|0xE0|)\\ + |uni0E41| (|0xE1|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{desc}:] + \begin{quote} + |uni0E0E| (|0xAE|)\\ + |uni0E0F| (|0xAF|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{desclike}:] + \begin{quote} + |uni0E0D| (|0xAD|)\\ + |uni0E10| (|0xB0|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{indic}:] + \begin{quote} + |uni0E24| (|0xC4|)\\ + |uni0E26| (|0xC6|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{sign}:] + \begin{quote} + |uni0E45| (|0xE5|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{asc}:] + \begin{quote} + |uni0E1B| (|0xBB|)\\ + |uni0E1D| (|0xBD|)\\ + |uni0E1F| (|0xBF|)\\ + |uni0E2C| (|0xCC|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{sara am}:] + \begin{quote} + |uni0E33| (|0xD3|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{sara aa}:] + \begin{quote} + |uni0E32| (|0xD2|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{base}{descless}:] + \begin{quote} + |uni0E0D.descless| (|0x90|)\\ + |uni0E10.descless| (|0x9F|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclass{lower}:] + \begin{quote} + |uni0E38| (|0xD8|)\\ + |uni0E39| (|0xD9|)\\ + |uni0E3A| (|0xDA|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{lower}{left}:] + \begin{quote} + |uni0E38.left| (|0x80|)\\ + |uni0E39.left| (|0x81|)\\ + |uni0E3A.left| (|0x82|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{lower}{low}:] + \begin{quote} + |uni0E38.low| (|0xFC|)\\ + |uni0E39.low| (|0xFD|)\\ + |uni0E3A.low| (|0xFE|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{upper}{vowel}:] + \begin{quote} + |uni0E31| (|0xD1|)\\ + |uni0E34| (|0xD4|)\\ + |uni0E35| (|0xD5|)\\ + |uni0E36| (|0xD6|)\\ + |uni0E37| (|0xD7|)\\ + |uni0E47| (|0xE7|)\\ + |uni0E4D| (|0xED|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{upper}{sign}:] + \begin{quote} + |uni0E4D| (|0xED|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassxx{upper}{vowel}{left}:] + \begin{quote} + |uni0E31.left| (|0x92|)\\ + |uni0E34.left| (|0x94|)\\ + |uni0E35.left| (|0x95|)\\ + |uni0E36.left| (|0x96|)\\ + |uni0E37.left| (|0x97|)\\ + |uni0E47.left| (|0x93|)\\ + |uni0E4D.left| (|0x8F|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassxx{upper}{sign}{left}:] + \begin{quote} + |uni0E4D.left| (|0x8F|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclass{top}:] + \begin{quote} + |uni0E48| (|0xE8|)\\ + |uni0E49| (|0xE9|)\\ + |uni0E4A| (|0xEA|)\\ + |uni0E4B| (|0xEB|)\\ + |uni0E4C| (|0xEC|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{top}{left}:] + \begin{quote} + |uni0E48.left| (|0x98|)\\ + |uni0E49.left| (|0x99|)\\ + |uni0E4A.left| (|0x9A|)\\ + |uni0E4B.left| (|0x9B|)\\ + |uni0E4C.left| (|0x9C|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{top}{low}:] + \begin{quote} + |uni0E48.low| (|0x88|)\\ + |uni0E49.low| (|0x89|)\\ + |uni0E4A.low| (|0x8A|)\\ + |uni0E4B.low| (|0x8B|)\\ + |uni0E4C.low| (|0x8C|) + \end{quote} +\end{multicols} + +\begin{multicols}{2}[\thaiclassx{top}{low-left}:] + \begin{quote} + |uni0E48.low_left| (|0x83|)\\ + |uni0E49.low_left| (|0x84|)\\ + |uni0E4A.low_left| (|0x85|)\\ + |uni0E4B.low_left| (|0x86|)\\ + |uni0E4C.low_left| (|0x87|) + \end{quote} +\end{multicols} + +\vspace{1ex} + + +\encoding +\needsfontinstversion{1.918} + + +\begincomment +\section{Coding Scheme} +\endcomment + +\setstr{codingscheme}{C90 THAI ENCODING} + + +\begincomment +\section{Non-Thai Characters} + +Of the many different \LaTeX{} encodings, |OT1| supports {\small + ASCII} best (and this is what most Type~1 Thai fonts have). This +has two advantages: We can use the raw Thai font without specifying a +new encoding (switching to |OT1| will be sufficient), and it will work +with plain \TeX{} also. + +We use the |OT1| layout for typewriter fonts (i.e., for |cmtt|) with +the exception that `arrowup' and `arrowdown' are replaced with +`endash' and `emdash', and the seldom used `dotlessj' with +`quotedblleft'. +\endcomment + + +% 0x00 | 0 +\setslot{Gamma} + \Unicode{0393}{GREEK CAPITAL LETTER GAMMA} +\endsetslot + +\setslot{Delta} + \Unicode{0394}{GREEK CAPITAL LETTER DELTA} +\endsetslot + +\setslot{Theta} + \Unicode{0398}{GREEK CAPITAL LETTER THETA} +\endsetslot + +\setslot{Lambda} + \Unicode{039B}{GREEK CAPITAL LETTER LAMDA} +\endsetslot + +\setslot{Xi} + \Unicode{039E}{GREEK CAPITAL LETTER XI} +\endsetslot + +\setslot{Pi} + \Unicode{03A0}{GREEK CAPITAL LETTER PI} +\endsetslot + +\setslot{Sigma} + \Unicode{03A3}{GREEK CAPITAL LETTER SIGMA} +\endsetslot + +\setslot{Upsilon} + \Unicode{03D2}{GREEK UPSILON WITH HOOK SYMBOL} +\endsetslot + +\setslot{Phi} + \Unicode{03A6}{GREEK CAPITAL LETTER PHI} +\endsetslot + +\setslot{Psi} + \Unicode{03A8}{GREEK CAPITAL LETTER PSI} +\endsetslot + +\setslot{Omega} + \Unicode{03A9}{GREEK CAPITAL LETTER OMEGA} +\endsetslot + +\setslot{endash} + \Unicode{2013}{EN DASH} + \Ligature{LIG}{hyphen}{emdash} + \comment{This is `arrowup' in |OT1| encoding.} +\endsetslot + +\setslot{emdash} + \Unicode{2014}{EM DASH} + \comment{This is `arrowdown' in |OT1| encoding.} +\endsetslot + +\setslot{quotesingle} + \Unicode{0027}{APOSTROPHE} +\endsetslot + +\setslot{exclamdown} + \Unicode{00A1}{INVERTED EXCLAMATION MARK} +\endsetslot + +\setslot{questiondown} + \Unicode{00BF}{INVERTED QUESTION MARK} +\endsetslot + +% 0x10 | 16 +\setslot{dotlessi} + \Unicode{0131}{LATIN SMALL LETTER DOTLESS I} +\endsetslot + +\setslot{quotedblleft} + \Unicode{201C}{LEFT DOUBLE QUOTATION MARK} + \comment{This is `dotlessj' in |OT1| encoding.} +\endsetslot + +\setslot{grave} + \Unicode{0300}{COMBINING GRAVE ACCENT} +\endsetslot + +\setslot{acute} + \Unicode{0301}{COMBINING ACUTE ACCENT} +\endsetslot + +\setslot{caron} + \Unicode{030C}{COMBINING CARON} +\endsetslot + +\setslot{breve} + \Unicode{0306}{COMBINING BREVE} +\endsetslot + +\setslot{macron} + \Unicode{0304}{COMBINING MACRON} +\endsetslot + +\setslot{ring} + \Unicode{030A}{COMBINING RING ABOVE} +\endsetslot + +\setslot{cedilla} + \Unicode{0327}{COMBINING CEDILLA} +\endsetslot + +\setslot{germandbls} + \Unicode{00DF}{LATIN SMALL LETTER SHARP S} +\endsetslot + +\setslot{ae} + \Unicode{00E6}{LATIN SMALL LETTER AE} +\endsetslot + +\setslot{oe} + \Unicode{0153}{LATIN SMALL LIGATURE OE} +\endsetslot + +\setslot{oslash} + \Unicode{00F8}{LATIN SMALL LETTER O WITH STROKE} +\endsetslot + +\setslot{AE} + \Unicode{00C6}{LATIN CAPITAL LETTER AE} +\endsetslot + +\setslot{OE} + \Unicode{0152}{LATIN CAPITAL LIGATURE OE} +\endsetslot + +\setslot{Oslash} + \Unicode{00D8}{LATIN CAPITAL LETTER O WITH STROKE} +\endsetslot + +% 0x20 | 32 +\skipslots{1} + +\setslot{exclam} + \Unicode{0021}{EXCLAMATION MARK} + \Ligature{LIG}{quoteleft}{exclamdown} +\endsetslot + +\setslot{quotedblright} + \Unicode{201D}{RIGHT DOUBLE QUOTATION MARK} +\endsetslot + +\setslot{numbersign} + \Unicode{0023}{NUMBER SIGN} +\endsetslot + +\setslot{dollar} + \Unicode{0024}{DOLLAR SIGN} +\endsetslot + +\setslot{percent} + \Unicode{0025}{PERCENT SIGN} +\endsetslot + +\setslot{ampersand} + \Unicode{0026}{AMPERSAND} +\endsetslot + +\setslot{quoteright} + \Unicode{2019}{RIGHT SINGLE QUOTATION MARK} + \Ligature{LIG}{quoteright}{quotedblright} +\endsetslot + +\setslot{parenleft} + \Unicode{0028}{LEFT PARENTHESIS} +\endsetslot + +\setslot{parenright} + \Unicode{0029}{RIGHT PARENTHESIS} +\endsetslot + +\setslot{asterisk} + \Unicode{002A}{ASTERISK} +\endsetslot + +\setslot{plus} + \Unicode{002B}{PLUS SIGN} +\endsetslot + +\setslot{comma} + \Unicode{002C}{COMMA} +\endsetslot + +\setslot{hyphen} + \Unicode{002D}{HYPHEN-MINUS} + \Ligature{LIG}{hyphen}{endash} +\endsetslot + +\setslot{period} + \Unicode{002E}{FULL STOP} +\endsetslot + +\setslot{slash} + \Unicode{002F}{SOLIDUS} +\endsetslot + +% 0x30 | 48 +\setslot{zero} + \Unicode{0030}{DIGIT ZERO} +\endsetslot + +\setslot{one} + \Unicode{0031}{DIGIT ONE} +\endsetslot + +\setslot{two} + \Unicode{0032}{DIGIT TWO} +\endsetslot + +\setslot{three} + \Unicode{0033}{DIGIT THREE} +\endsetslot + +\setslot{four} + \Unicode{0034}{DIGIT FOUR} +\endsetslot + +\setslot{five} + \Unicode{0035}{DIGIT FIVE} +\endsetslot + +\setslot{six} + \Unicode{0036}{DIGIT SIX} +\endsetslot + +\setslot{seven} + \Unicode{0037}{DIGIT SEVEN} +\endsetslot + +\setslot{eight} + \Unicode{0038}{DIGIT EIGHT} +\endsetslot + +\setslot{nine} + \Unicode{0039}{DIGIT NINE} +\endsetslot + +\setslot{colon} + \Unicode{003A}{COLON} +\endsetslot + +\setslot{semicolon} + \Unicode{003B}{SEMICOLON} +\endsetslot + +\setslot{less} + \Unicode{003C}{LESS-THAN SIGN} +\endsetslot + +\setslot{equal} + \Unicode{003D}{EQUALS SIGN} +\endsetslot + +\setslot{greater} + \Unicode{003E}{GREATER-THAN SIGN} +\endsetslot + +\setslot{question} + \Unicode{003F}{QUESTION MARK} + \Ligature{LIG}{quoteleft}{questiondown} +\endsetslot + +% 0x40 | 64 +\setslot{at} + \Unicode{0040}{COMMERCIAL AT} +\endsetslot + +\setslot{A} + \Unicode{0041}{LATIN CAPITAL LETTER A} +\endsetslot + +\setslot{B} + \Unicode{0042}{LATIN CAPITAL LETTER B} +\endsetslot + +\setslot{C} + \Unicode{0043}{LATIN CAPITAL LETTER C} +\endsetslot + +\setslot{D} + \Unicode{0044}{LATIN CAPITAL LETTER D} +\endsetslot + +\setslot{E} + \Unicode{0045}{LATIN CAPITAL LETTER E} +\endsetslot + +\setslot{F} + \Unicode{0046}{LATIN CAPITAL LETTER F} +\endsetslot + +\setslot{G} + \Unicode{0047}{LATIN CAPITAL LETTER G} +\endsetslot + +\setslot{H} + \Unicode{0048}{LATIN CAPITAL LETTER H} +\endsetslot + +\setslot{I} + \Unicode{0049}{LATIN CAPITAL LETTER I} +\endsetslot + +\setslot{J} + \Unicode{004A}{LATIN CAPITAL LETTER J} +\endsetslot + +\setslot{K} + \Unicode{004B}{LATIN CAPITAL LETTER K} +\endsetslot + +\setslot{L} + \Unicode{004C}{LATIN CAPITAL LETTER L} +\endsetslot + +\setslot{M} + \Unicode{004D}{LATIN CAPITAL LETTER M} +\endsetslot + +\setslot{N} + \Unicode{004E}{LATIN CAPITAL LETTER N} +\endsetslot + +\setslot{O} + \Unicode{004F}{LATIN CAPITAL LETTER O} +\endsetslot + +% 0x50 | 80 +\setslot{P} + \Unicode{0050}{LATIN CAPITAL LETTER P} +\endsetslot + +\setslot{Q} + \Unicode{0051}{LATIN CAPITAL LETTER Q} +\endsetslot + +\setslot{R} + \Unicode{0052}{LATIN CAPITAL LETTER R} +\endsetslot + +\setslot{S} + \Unicode{0053}{LATIN CAPITAL LETTER S} +\endsetslot + +\setslot{T} + \Unicode{0054}{LATIN CAPITAL LETTER T} +\endsetslot + +\setslot{U} + \Unicode{0055}{LATIN CAPITAL LETTER U} +\endsetslot + +\setslot{V} + \Unicode{0056}{LATIN CAPITAL LETTER V} +\endsetslot + +\setslot{W} + \Unicode{0057}{LATIN CAPITAL LETTER W} +\endsetslot + +\setslot{X} + \Unicode{0058}{LATIN CAPITAL LETTER X} +\endsetslot + +\setslot{Y} + \Unicode{0059}{LATIN CAPITAL LETTER Y} +\endsetslot + +\setslot{Z} + \Unicode{005A}{LATIN CAPITAL LETTER Z} +\endsetslot + +\setslot{bracketleft} + \Unicode{005B}{LEFT SQUARE BRACKET} +\endsetslot + +\setslot{backslash} + \Unicode{005C}{REVERSE SOLIDUS} +\endsetslot + +\setslot{bracketright} + \Unicode{005D}{RIGHT SQUARE BRACKET} +\endsetslot + +\setslot{circumflex} + \Unicode{0302}{COMBINING CIRCUMFLEX ACCENT} +\endsetslot + +\setslot{underscore} + \Unicode{005F}{LOW LINE} +\endsetslot + +% 0x60 | 96 +\setslot{quoteleft} + \Unicode{2018}{LEFT SINGLE QUOTATION MARK} + \Ligature{LIG}{quoteleft}{quotedblleft} +\endsetslot + +\setslot{a} + \Unicode{0061}{LATIN SMALL LETTER A} +\endsetslot + +\setslot{b} + \Unicode{0062}{LATIN SMALL LETTER B} +\endsetslot + +\setslot{c} + \Unicode{0063}{LATIN SMALL LETTER C} +\endsetslot + +\setslot{d} + \Unicode{0064}{LATIN SMALL LETTER D} +\endsetslot + +\setslot{e} + \Unicode{0065}{LATIN SMALL LETTER E} +\endsetslot + +\setslot{f} + \Unicode{0066}{LATIN SMALL LETTER F} +\endsetslot + +\setslot{g} + \Unicode{0067}{LATIN SMALL LETTER G} +\endsetslot + +\setslot{h} + \Unicode{0068}{LATIN SMALL LETTER H} +\endsetslot + +\setslot{i} + \Unicode{0069}{LATIN SMALL LETTER I} +\endsetslot + +\setslot{j} + \Unicode{006A}{LATIN SMALL LETTER J} +\endsetslot + +\setslot{k} + \Unicode{006B}{LATIN SMALL LETTER K} +\endsetslot + +\setslot{l} + \Unicode{006C}{LATIN SMALL LETTER L} +\endsetslot + +\setslot{m} + \Unicode{006D}{LATIN SMALL LETTER M} +\endsetslot + +\setslot{n} + \Unicode{006E}{LATIN SMALL LETTER N} +\endsetslot + +\setslot{o} + \Unicode{006F}{LATIN SMALL LETTER O} +\endsetslot + +% 0x70 | 112 +\setslot{p} + \Unicode{0070}{LATIN SMALL LETTER P} +\endsetslot + +\setslot{q} + \Unicode{0071}{LATIN SMALL LETTER Q} +\endsetslot + +\setslot{r} + \Unicode{0072}{LATIN SMALL LETTER R} +\endsetslot + +\setslot{s} + \Unicode{0073}{LATIN SMALL LETTER S} +\endsetslot + +\setslot{t} + \Unicode{0074}{LATIN SMALL LETTER T} +\endsetslot + +\setslot{u} + \Unicode{0075}{LATIN SMALL LETTER U} +\endsetslot + +\setslot{v} + \Unicode{0076}{LATIN SMALL LETTER V} +\endsetslot + +\setslot{w} + \Unicode{0077}{LATIN SMALL LETTER W} +\endsetslot + +\setslot{x} + \Unicode{0078}{LATIN SMALL LETTER X} +\endsetslot + +\setslot{y} + \Unicode{0079}{LATIN SMALL LETTER Y} +\endsetslot + +\setslot{z} + \Unicode{007A}{LATIN SMALL LETTER Z} +\endsetslot + +\setslot{braceleft} + \Unicode{007B}{LEFT CURLY BRACKET} +\endsetslot + +\setslot{bar} + \Unicode{007C}{VERTICAL LINE} +\endsetslot + +\setslot{braceright} + \Unicode{007D}{RIGHT CURLY BRACKET} +\endsetslot + +\setslot{tilde} + \Unicode{0303}{COMBINING TILDE} +\endsetslot + +\setslot{dieresis} + \Unicode{0308}{COMBINING DIAERESIS} +\endsetslot + + +\begincomment +\section{Thai Characters} + +This is |TIS-620| encoding with glyph variants. The encoding presented +in~\cite{TUG-Thai} contained two alternate glyph forms at positions 157 +and 158 which have been removed meanwhile. + +The number of all Thai ligature rules is quite big (464~in total). +Note that |vptovf| will make the ligature table much more compact as +it may appear here. +\endcomment + +% 0x80 | 128 +\ifisint{makeenc}\then + \setslot{uni0E38} + \endsetslot +\Else + \setslot{uni0E38.left} + \comment{An alias for + \textunicode{0E38}{THAI CHARACTER SARA U}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left} + \endsetslot +\Fi + +\ifisint{makeenc}\then + \setslot{uni0E39} + \endsetslot +\Else + \setslot{uni0E39.left} + \comment{An alias for + \textunicode{0E39}{THAI CHARACTER SARA UU}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left} + \endsetslot +\Fi + +\ifisint{makeenc}\then + \setslot{uni0E3A} + \endsetslot +\Else + \setslot{uni0E3A.left} + \comment{An alias for + \textunicode{0E3A}{THAI CHARACTER PHINTHU}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low_left} + \endsetslot +\Fi + +\setslot{uni0E48.low_left} + \comment{A glyph variant of + \textunicode{0E48}{THAI CHARACTER MAI EK}.} + \Ligature{/LIG/}{uni0E33}{uni0E48.left} + \Ligature{LIG/}{uni0E48.left}{uni0E4D.left} +\endsetslot + +\setslot{uni0E49.low_left} + \comment{A glyph variant of + \textunicode{0E49}{THAI CHARACTER MAI THO}.} + \Ligature{/LIG/}{uni0E33}{uni0E49.left} + \Ligature{LIG/}{uni0E49.left}{uni0E4D.left} +\endsetslot + +\setslot{uni0E4A.low_left} + \comment{A glyph variant of + \textunicode{0E4A}{THAI CHARACTER MAI TRI}.} + \Ligature{/LIG/}{uni0E33}{uni0E4A.left} + \Ligature{LIG/}{uni0E4A.left}{uni0E4D.left} +\endsetslot + +\setslot{uni0E4B.low_left} + \comment{A glyph variant of + \textunicode{0E4B}{THAI CHARACTER MAI CHATTAWA}.} + \Ligature{/LIG/}{uni0E33}{uni0E4B.left} + \Ligature{LIG/}{uni0E4B.left}{uni0E4D.left} +\endsetslot + +\setslot{uni0E4C.low_left} + \comment{A glyph variant of + \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.} + \Ligature{/LIG/}{uni0E33}{uni0E4C.left} + \Ligature{LIG/}{uni0E4C.left}{uni0E4D.left} +\endsetslot + +\setslot{uni0E48.low} + \comment{A glyph variant of + \textunicode{0E48}{THAI CHARACTER MAI EK}.} + \Ligature{/LIG/}{uni0E33}{uni0E48} + \Ligature{LIG/}{uni0E48}{uni0E4D} +\endsetslot + +\setslot{uni0E49.low} + \comment{A glyph variant of + \textunicode{0E49}{THAI CHARACTER MAI THO}.} + \Ligature{/LIG/}{uni0E33}{uni0E49} + \Ligature{LIG/}{uni0E49}{uni0E4D} +\endsetslot + +\setslot{uni0E4A.low} + \comment{A glyph variant of + \textunicode{0E4A}{THAI CHARACTER MAI TRI}.} + \Ligature{/LIG/}{uni0E33}{uni0E4A} + \Ligature{LIG/}{uni0E4A}{uni0E4D} +\endsetslot + +\setslot{uni0E4B.low} + \comment{A glyph variant of + \textunicode{04EB}{THAI CHARACTER MAI CHATTAWA}.} + \Ligature{/LIG/}{uni0E33}{uni0E4B} + \Ligature{LIG/}{uni0E4B}{uni0E4D} +\endsetslot + +\setslot{uni0E4C.low} + \comment{A glyph variant of + \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.} + \Ligature{/LIG/}{uni0E33}{uni0E4C} + \Ligature{LIG/}{uni0E4C}{uni0E4D} +\endsetslot + +\skipslots{2} + +\setslot{uni0E4D.left} + \comment{A glyph variant of + \textunicode{0E4D}{THAI CHARACTER NIKHAHIT}.} + \Ligature{/LIG}{uni0E33}{uni0E32} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +% 0x90 | 144 +\setslot{uni0E0D.descless} + \comment{A glyph variant of + \textunicode{0E0D}{THAI CHARACTER YO YING}.} +\endsetslot + +\skipslots{1} + +\setslot{uni0E31.left} + \comment{A glyph variant of + \textunicode{0E31}{THAI CHARACTER MAI HAN-AKAT}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E47.left} + \comment{A glyph variant of + \textunicode{0E47}{THAI CHARACTER MAITAIKHU}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E34.left} + \comment{A glyph variant of + \textunicode{0E34}{THAI CHARACTER SARA I}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E35.left} + \comment{A glyph variant of + \textunicode{0E35}{THAI CHARACTER SARA II}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E36.left} + \comment{A glyph variant of + \textunicode{0E36}{THAI CHARACTER SARA UE}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E37.left} + \comment{A glyph variant of + \textunicode{0E37}{THAI CHARACTER SARA UEE}.} + \Ligature{/LIG}{uni0E48}{uni0E48.left} + \Ligature{/LIG}{uni0E49}{uni0E49.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.left} +\endsetslot + +\setslot{uni0E48.left} + \comment{A glyph variant of + \textunicode{0E48}{THAI CHARACTER MAI EK}.} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E49.left} + \comment{A glyph variant of + \textunicode{0E49}{THAI CHARACTER MAI THO}.} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4A.left} + \comment{A glyph variant of + \textunicode{0E4A}{THAI CHARACTER MAI TRI}.} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4B.left} + \comment{A glyph variant of + \textunicode{0E4B}{THAI CHARACTER MAI CHATTAWA}.} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4C.left} + \comment{A glyph variant of + \textunicode{0E4C}{THAI CHARACTER THANTHAKHAT}.} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\skipslots{2} + +\setslot{uni0E10.descless} + \comment{A glyph variant of + \textunicode{0E10}{THAI CHARACTER THO THAN}.} +\endsetslot + +% 0xA0 | 160 +\skipslots{1} + +\setslot{uni0E01} + \Unicode{0E01}{THAI CHARACTER KO KAI} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E02} + \Unicode{0E02}{THAI CHARACTER KHO KHAI} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E03} + \Unicode{0E03}{THAI CHARACTER KHO KHUAT} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E04} + \Unicode{0E04}{THAI CHARACTER KHO KHWAI} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E05} + \Unicode{0E05}{THAI CHARACTER KHO KHON} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E06} + \Unicode{0E06}{THAI CHARACTER KHO RAKHANG} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E07} + \Unicode{0E07}{THAI CHARACTER NGO NGU} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E08} + \Unicode{0E08}{THAI CHARACTER CHO CHAN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E09} + \Unicode{0E09}{THAI CHARACTER CHO CHING} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0A} + \Unicode{0E0A}{THAI CHARACTER CHO CHANG} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0B} + \Unicode{0E0B}{THAI CHARACTER SO SO} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0C} + \Unicode{0E0C}{THAI CHARACTER CHO CHOE} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0D} + \Unicode{0E0D}{THAI CHARACTER YO YING} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{LIG/}{uni0E38}{uni0E0D.descless} + \Ligature{LIG/}{uni0E39}{uni0E0D.descless} + \Ligature{LIG/}{uni0E3A}{uni0E0D.descless} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0E} + \Unicode{0E0E}{THAI CHARACTER DO CHADA} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E38}{uni0E38.low} + \Ligature{/LIG}{uni0E39}{uni0E39.low} + \Ligature{/LIG}{uni0E3A}{uni0E3A.low} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E0F} + \Unicode{0E0F}{THAI CHARACTER TO PATAK} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E38}{uni0E38.low} + \Ligature{/LIG}{uni0E39}{uni0E39.low} + \Ligature{/LIG}{uni0E3A}{uni0E3A.low} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +% 0xB0 | 176 +\setslot{uni0E10} + \Unicode{0E10}{THAI CHARACTER THO THAN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{LIG/}{uni0E38}{uni0E10.descless} + \Ligature{LIG/}{uni0E39}{uni0E10.descless} + \Ligature{LIG/}{uni0E3A}{uni0E10.descless} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E11} + \Unicode{0E11}{THAI CHARACTER THO NANGMONTHO} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E12} + \Unicode{0E12}{THAI CHARACTER THO PHUTHAO} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E13} + \Unicode{0E13}{THAI CHARACTER NO NEN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E14} + \Unicode{0E14}{THAI CHARACTER DO DEK} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E15} + \Unicode{0E15}{THAI CHARACTER TO TAO} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E16} + \Unicode{0E16}{THAI CHARACTER THO THUNG} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E17} + \Unicode{0E17}{THAI CHARACTER THO THAHAN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E18} + \Unicode{0E18}{THAI CHARACTER THO THONG} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E19} + \Unicode{0E19}{THAI CHARACTER NO NU} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E1A} + \Unicode{0E1A}{THAI CHARACTER BO BAIMAI} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E1B} + \Unicode{0E1B}{THAI CHARACTER PO PLA} + \Ligature{/LIG}{uni0E31}{uni0E31.left} + \Ligature{/LIG/}{uni0E33}{uni0E4D.left} + \Ligature{/LIG}{uni0E34}{uni0E34.left} + \Ligature{/LIG}{uni0E35}{uni0E35.left} + \Ligature{/LIG}{uni0E36}{uni0E36.left} + \Ligature{/LIG}{uni0E37}{uni0E37.left} + \Ligature{/LIG}{uni0E38}{uni0E38.left} + \Ligature{/LIG}{uni0E39}{uni0E39.left} + \Ligature{/LIG}{uni0E3A}{uni0E3A.left} + \Ligature{/LIG}{uni0E47}{uni0E47.left} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} + \Ligature{/LIG}{uni0E4D}{uni0E4D.left} +\endsetslot + +\setslot{uni0E1C} + \Unicode{0E1C}{THAI CHARACTER PHO PHUNG} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E1D} + \Unicode{0E1D}{THAI CHARACTER FO FA} + \Ligature{/LIG}{uni0E31}{uni0E31.left} + \Ligature{/LIG/}{uni0E33}{uni0E4D.left} + \Ligature{/LIG}{uni0E34}{uni0E34.left} + \Ligature{/LIG}{uni0E35}{uni0E35.left} + \Ligature{/LIG}{uni0E36}{uni0E36.left} + \Ligature{/LIG}{uni0E37}{uni0E37.left} + \Ligature{/LIG}{uni0E38}{uni0E38.left} + \Ligature{/LIG}{uni0E39}{uni0E39.left} + \Ligature{/LIG}{uni0E3A}{uni0E3A.left} + \Ligature{/LIG}{uni0E47}{uni0E47.left} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} + \Ligature{/LIG}{uni0E4D}{uni0E4D.left} +\endsetslot + +\setslot{uni0E1E} + \Unicode{0E1E}{THAI CHARACTER PHO PHAN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E1F} + \Unicode{0E1F}{THAI CHARACTER FO FAN} + \Ligature{/LIG}{uni0E31}{uni0E31.left} + \Ligature{/LIG/}{uni0E33}{uni0E4D.left} + \Ligature{/LIG}{uni0E34}{uni0E34.left} + \Ligature{/LIG}{uni0E35}{uni0E35.left} + \Ligature{/LIG}{uni0E36}{uni0E36.left} + \Ligature{/LIG}{uni0E37}{uni0E37.left} + \Ligature{/LIG}{uni0E38}{uni0E38.left} + \Ligature{/LIG}{uni0E39}{uni0E39.left} + \Ligature{/LIG}{uni0E3A}{uni0E3A.left} + \Ligature{/LIG}{uni0E47}{uni0E47.left} + \Ligature{/LIG}{uni0E48}{uni0E48.low_left} + \Ligature{/LIG}{uni0E49}{uni0E49.low_left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low_left} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low_left} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} + \Ligature{/LIG}{uni0E4D}{uni0E4D.left} +\endsetslot + +% 0xC0 | 192 +\setslot{uni0E20} + \Unicode{0E20}{THAI CHARACTER PHO SAMPHAO} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E21} + \Unicode{0E21}{THAI CHARACTER MO MA} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E22} + \Unicode{0E22}{THAI CHARACTER YO YAK} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E23} + \Unicode{0E23}{THAI CHARACTER RO RUA} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E24} + \Unicode{0E24}{THAI CHARACTER RU} + \Ligature{/LIG}{uni0E32}{uni0E45} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E25} + \Unicode{0E25}{THAI CHARACTER LO LING} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E26} + \Unicode{0E26}{THAI CHARACTER LU} + \Ligature{/LIG}{uni0E32}{uni0E45} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E27} + \Unicode{0E27}{THAI CHARACTER WO WAEN} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E28} + \Unicode{0E28}{THAI CHARACTER SO SALA} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E29} + \Unicode{0E29}{THAI CHARACTER SO RUSI} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E2A} + \Unicode{0E2A}{THAI CHARACTER SO SUA} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E2B} + \Unicode{0E2B}{THAI CHARACTER HO HIP} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E2C} + \Unicode{0E2C}{THAI CHARACTER LO CHULA} + \Ligature{/LIG/}{uni0E33}{uni0E4D.left} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} +\endsetslot + +\setslot{uni0E2D} + \Unicode{0E2D}{THAI CHARACTER O ANG} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E2E} + \Unicode{0E2E}{THAI CHARACTER HO NOKHUK} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E2F} + \Unicode{0E2F}{THAI CHARACTER PAIYANNOI} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +% 0xD0 | 208 +\setslot{uni0E30} + \Unicode{0E30}{THAI CHARACTER SARA A} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E31} + \Unicode{0E31}{THAI CHARACTER MAI HAN-AKAT} +\endsetslot + +\setslot{uni0E32} + \Unicode{0E32}{THAI CHARACTER SARA AA} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E33} + \Unicode{0E33}{THAI CHARACTER SARA AM} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E34} + \Unicode{0E34}{THAI CHARACTER SARA I} +\endsetslot + +\setslot{uni0E35} + \Unicode{0E35}{THAI CHARACTER SARA II} +\endsetslot + +\setslot{uni0E36} + \Unicode{0E36}{THAI CHARACTER SARA UE} +\endsetslot + +\setslot{uni0E37} + \Unicode{0E37}{THAI CHARACTER SARA UEE} +\endsetslot + +\setslot{uni0E38} + \Unicode{0E38}{THAI CHARACTER SARA U} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E39} + \Unicode{0E39}{THAI CHARACTER SARA UU} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E3A} + \Unicode{0E3A}{THAI CHARACTER PHINTHU} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\skipslots{4} + +\setslot{uni0E3F} + \Unicode{0E3F}{THAI CURRENCY SYMBOL BAHT} +\endsetslot + +% 0xE0 | 224 +\setslot{uni0E40} + \Unicode{0E40}{THAI CHARACTER SARA E} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E41} + \Unicode{0E41}{THAI CHARACTER SARA AE} + \Ligature{/LIG/}{uni0E33}{uni0E4D} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E42} + \Unicode{0E42}{THAI CHARACTER SARA O} +\endsetslot + +\setslot{uni0E43} + \Unicode{0E43}{THAI CHARACTER SARA AI MAIMUAN} +\endsetslot + +\setslot{uni0E44} + \Unicode{0E44}{THAI CHARACTER SARA AI MAIMALAI} +\endsetslot + +\setslot{uni0E45} + \Unicode{0E45}{THAI CHARACTER LAKKHANGYAO} +\endsetslot + +\setslot{uni0E46} + \Unicode{0E46}{THAI CHARACTER MAIYAMOK} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E47} + \Unicode{0E47}{THAI CHARACTER MAITAIKHU} +\endsetslot + +\setslot{uni0E48} + \Unicode{0E48}{THAI CHARACTER MAI EK} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E49} + \Unicode{0E49}{THAI CHARACTER MAI THO} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4A} + \Unicode{0E4A}{THAI CHARACTER MAI TRI} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4B} + \Unicode{0E4B}{THAI CHARACTER MAI CHATTAWA} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4C} + \Unicode{0E4C}{THAI CHARACTER THANTHAKHAT} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4D} + \Unicode{0E4D}{THAI CHARACTER NIKHAHIT} + \Ligature{/LIG}{uni0E33}{uni0E32} +\endsetslot + +\setslot{uni0E4E} + \Unicode{0E4E}{THAI CHARACTER YAMAKKAN} +\endsetslot + +\setslot{uni0E4F} + \Unicode{0E4F}{THAI CHARACTER FONGMAN} +\endsetslot + +% 0xF0 | 240 +\setslot{uni0E50} + \Unicode{0E50}{THAI DIGIT ZERO} +\endsetslot + +\setslot{uni0E51} + \Unicode{0E51}{THAI DIGIT ONE} +\endsetslot + +\setslot{uni0E52} + \Unicode{0E52}{THAI DIGIT TWO} +\endsetslot + +\setslot{uni0E53} + \Unicode{0E53}{THAI DIGIT THREE} +\endsetslot + +\setslot{uni0E54} + \Unicode{0E54}{THAI DIGIT FOUR} +\endsetslot + +\setslot{uni0E55} + \Unicode{0E55}{THAI DIGIT FIVE} +\endsetslot + +\setslot{uni0E56} + \Unicode{0E56}{THAI DIGIT SIX} +\endsetslot + +\setslot{uni0E57} + \Unicode{0E57}{THAI DIGIT SEVEN} +\endsetslot + +\setslot{uni0E58} + \Unicode{0E58}{THAI DIGIT EIGHT} +\endsetslot + +\setslot{uni0E59} + \Unicode{0E59}{THAI DIGIT NINE} +\endsetslot + +\setslot{uni0E5A} + \Unicode{0E5A}{THAI CHARACTER ANGKHANKHU} +\endsetslot + +\setslot{uni0E5B} + \Unicode{0E5B}{THAI CHARACTER KHOMUT} +\endsetslot + +\setslot{uni0E38.low} + \comment{A glyph variant of \textunicode{0E38}{THAI CHARACTER SARA U}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E39.low} + \comment{A glyph variant of \textunicode{0E39}{THAI CHARACTER SARA UU}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\setslot{uni0E3A.low} + \comment{A glyph variant of \textunicode{0E3A}{THAI CHARACTER PHINTHU}.} + \Ligature{/LIG}{uni0E48}{uni0E48.low} + \Ligature{/LIG}{uni0E49}{uni0E49.low} + \Ligature{/LIG}{uni0E4A}{uni0E4A.low} + \Ligature{/LIG}{uni0E4B}{uni0E4B.low} + \Ligature{/LIG}{uni0E4C}{uni0E4C.low} +\endsetslot + +\skipslots{1} + + +\begincomment +\section{Font Dimensions} +\endcomment + +\setfontdimen{1}{italicslant} +\setfontdimen{2}{interword} +\setfontdimen{3}{stretchword} +\setfontdimen{4}{shrinkword} +\setfontdimen{5}{xheight} +\setfontdimen{6}{quad} +\setfontdimen{7}{extraspace} + +\endencoding + + +\begin{thebibliography}{9} +\bibitem{TUG-Thai} + Werner Lemberg: \textit{Thai Fonts}, in \textit{TUGboat}, + 21(2):113--120, June 2000. Available online in PDF format as + \url{http://tug.org/TUGboat/Articles/tb21-2/tb67lemb.pdf}. +\bibitem{AGL} + Adobe Systems Incorporated: \textit{Adobe Glyph List}, 2003; + \url{http://partners.adobe.com/asn/developer/type/unicodegn.html}. +\bibitem{MFbook} + Donald E.\ Knuth, Duane Bibby (illustrations): \textit{The \MF + book}, Ad\-di\-son--Wes\-ley, 1986; ISBN~0-201-13445-4. +\bibitem{Unicode} + The Unicode Consortium (editor), \emph{et al.}: \textit{The Unicode + Standard, Version 4.0}, Addison Wesley Longman Publisher, 2003; + ISBN~0-321-18578-1. Most of the information in this book is also + available online at the Unicode consortium website, at + \url{http://www.unicode.org/versions/Unicode4.0.1}. +\end{thebibliography} + +\end{document} + +% end of c90.etx diff --git a/Master/texmf-dist/source/latex/CJK/utils/thaifont/c90.mtx b/Master/texmf-dist/source/latex/CJK/utils/thaifont/c90.mtx new file mode 100644 index 00000000000..79c4d27ed5a --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/thaifont/c90.mtx @@ -0,0 +1,25 @@ +% c90.mtx + +\relax + +\metrics + +\needsfontinstversion{1.918} + +% provide glyph aliases needed for the ligature mechanism + +\setglyph{uni0E38.left} + \glyph{uni0E38}{1000} +\endsetglyph + +\setglyph{uni0E39.left} + \glyph{uni0E39}{1000} +\endsetglyph + +\setglyph{uni0E3A.left} + \glyph{uni0E3A}{1000} +\endsetglyph + +\endmetrics + +% end of c90.mtx diff --git a/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/config.dbtt-old b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/config.dbtt-old new file mode 100644 index 00000000000..5ce1be96b23 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/config.dbtt-old @@ -0,0 +1 @@ +p +dbtt-old.map diff --git a/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.etx b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.etx new file mode 100644 index 00000000000..7e8b7d34965 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.etx @@ -0,0 +1,29 @@ +% dbtt-old-alias.etx + +\relax + +\encoding + +\needsfontinstversion{1.918} + +\fontinstcc +\def\galias#1#2{ + \expandafter\def\csname slot-#2\endcsname{#1} +} +\def\setslot#1{ + \edef\slot_name{ + \if_defined{slot-#1}\then + \csname slot-#1\endcsname + \else + #1 + \fi + } + \do_slot +} +\normalcc + +\input dbtt-old-alias + +\endencoding + +% end of dbtt-old-alias.etx diff --git a/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.mtx b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.mtx new file mode 100644 index 00000000000..e9acca8ffec --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.mtx @@ -0,0 +1,19 @@ +% dbtt-old-alias.mtx + +\relax + +\metrics + +\needsfontinstversion{1.918} + +\def\galias#1#2{ + \setglyph{#2} + \glyph{#1}{1000} + \endsetglyph +} + +\input dbtt-old-alias + +\endmetrics + +% end of dbtt-old-alias.mtx diff --git a/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.tex b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.tex new file mode 100644 index 00000000000..6fed8f42095 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old-alias.tex @@ -0,0 +1,122 @@ +% dbtt-old-alias.tex + +\galias{ucircumflex}{endash} +\galias{uacute}{emdash} +\galias{quotedbl}{quotedblleft} +\galias{quotedbl}{quotedblright} +\galias{quotesingle}{quoteright} +\galias{grave}{quoteleft} +\galias{florin}{uni0E48.low_left} +\galias{quotedblbase}{uni0E49.low_left} +\galias{ellipsis}{uni0E4A.low_left} +\galias{dagger}{uni0E4B.low_left} +\galias{daggerdbl}{uni0E4C.low_left} +\galias{circumflex}{uni0E48.low} +\galias{perthousand}{uni0E49.low} +\galias{Scaron}{uni0E4A.low} +\galias{guilsinglleft}{uni0E4B.low} +\galias{OE}{uni0E4C.low} +\galias{u008F}{uni0E4D.left} +\galias{u0090}{uni0E0D.descless} +\galias{quoteright}{uni0E31.left} +\galias{quotedblleft}{uni0E47.left} +\galias{quotedblright}{uni0E34.left} +\galias{bullet}{uni0E35.left} +\galias{emdash}{uni0E36.left} +\galias{endash}{uni0E37.left} +\galias{tilde}{uni0E48.left} +\galias{trademark}{uni0E49.left} +\galias{scaron}{uni0E4A.left} +\galias{guilsinglright}{uni0E4B.left} +\galias{oe}{uni0E4C.left} +\galias{Ydieresis}{uni0E10.descless} +\galias{exclamdown}{uni0E01} +\galias{cent}{uni0E02} +\galias{sterling}{uni0E03} +\galias{currency}{uni0E04} +\galias{yen}{uni0E05} +\galias{brokenbar}{uni0E06} +\galias{section}{uni0E07} +\galias{dieresis}{uni0E08} +\galias{copyright}{uni0E09} +\galias{ordfeminine}{uni0E0A} +\galias{guillemotleft}{uni0E0B} +\galias{logicalnot}{uni0E0C} +\galias{hyphen}{uni0E0D} +\galias{registered}{uni0E0E} +\galias{macron}{uni0E0F} +\galias{degree}{uni0E10} +\galias{plusminus}{uni0E11} +\galias{twosuperior}{uni0E12} +\galias{threesuperior}{uni0E13} +\galias{acute}{uni0E14} +\galias{mu}{uni0E15} +\galias{paragraph}{uni0E16} +\galias{periodcentered}{uni0E17} +\galias{cedilla}{uni0E18} +\galias{onesuperior}{uni0E19} +\galias{ordmasculine}{uni0E1A} +\galias{guillemotright}{uni0E1B} +\galias{onequarter}{uni0E1C} +\galias{onehalf}{uni0E1D} +\galias{threequarters}{uni0E1E} +\galias{questiondown}{uni0E1F} +\galias{Agrave}{uni0E20} +\galias{Aacute}{uni0E21} +\galias{Acircumflex}{uni0E22} +\galias{Atilde}{uni0E23} +\galias{Adieresis}{uni0E24} +\galias{Aring}{uni0E25} +\galias{AE}{uni0E26} +\galias{Ccedilla}{uni0E27} +\galias{Egrave}{uni0E28} +\galias{Eacute}{uni0E29} +\galias{Ecircumflex}{uni0E2A} +\galias{Edieresis}{uni0E2B} +\galias{Igrave}{uni0E2C} +\galias{Iacute}{uni0E2D} +\galias{Icircumflex}{uni0E2E} +\galias{Idieresis}{uni0E2F} +\galias{Eth}{uni0E30} +\galias{Ntilde}{uni0E31} +\galias{Ograve}{uni0E32} +\galias{Oacute}{uni0E33} +\galias{Ocircumflex}{uni0E34} +\galias{Otilde}{uni0E35} +\galias{Odieresis}{uni0E36} +\galias{multiply}{uni0E37} +\galias{Oslash}{uni0E38} +\galias{Ugrave}{uni0E39} +\galias{Uacute}{uni0E3A} +\galias{germandbls}{uni0E3F} +\galias{agrave}{uni0E40} +\galias{aacute}{uni0E41} +\galias{acircumflex}{uni0E42} +\galias{atilde}{uni0E43} +\galias{adieresis}{uni0E44} +\galias{aring}{uni0E45} +\galias{ae}{uni0E46} +\galias{ccedilla}{uni0E47} +\galias{egrave}{uni0E48} +\galias{eacute}{uni0E49} +\galias{ecircumflex}{uni0E4A} +\galias{edieresis}{uni0E4B} +\galias{igrave}{uni0E4C} +\galias{iacute}{uni0E4D} +\galias{icircumflex}{uni0E4E} +\galias{idieresis}{uni0E4F} +\galias{eth}{uni0E50} +\galias{ntilde}{uni0E51} +\galias{ograve}{uni0E52} +\galias{oacute}{uni0E53} +\galias{ocircumflex}{uni0E54} +\galias{otilde}{uni0E55} +\galias{odieresis}{uni0E56} +\galias{divide}{uni0E57} +\galias{oslash}{uni0E58} +\galias{ugrave}{uni0E59} +\galias{udieresis}{uni0E38.low} +\galias{yacute}{uni0E39.low} +\galias{Ucircumflex}{uni0E3A.low} + +% end of dbtt-old-alias.tex diff --git a/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old.fontinst b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old.fontinst new file mode 100644 index 00000000000..5b5ca25e8ea --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old.fontinst @@ -0,0 +1,61 @@ +% dbtt-old.fontinst + +\input fontinst.sty + +\needsfontinstversion{1.918} + + +% we explicitly set all slots in the encoding, so provide all glyph names +% in AFM files equally (this is, don't create `-not' names) +\let\setnotglyph \setrawglyph + +% we want warnings for missing glyphs +\fontinstcc +\add_to\pre_fourth_etx_pass_hook{ + \def\do_slot{ + \if_undefined{g-\slot_name}\then + \fontinstwarningnoline{fontinst} + {missing~glyph~`\slot_name'\space + for~slot~\the\slot_number\space + in~font~`\out_filename'} + \fi + \do_character + } +} +\normalcc + + +% create PL files and an FD file +\installfonts + \setint{fontdimen(2)}{500} % SPACE + \setint{fontdimen(3)}{300} % STRETCH + \setint{fontdimen(4)}{100} % SHRINK + \setint{fontdimen(6)}{1000} % QUAD + \setint{fontdimen(7)}{0} % EXTRASPACE + + \installrawfont{fdbr8z}{dbtt,dbtt-old-alias,c90}{c90} + {C90}{dbss}{m}{n}{<-> s *[1.3]} + \installrawfont{fdbb8z}{dbttb,dbtt-old-alias,c90}{c90} + {C90}{dbss}{bx}{n}{<-> s *[1.3]} + \installrawfont{fdbbo8z}{dbttbi,dbtt-old-alias,c90}{c90} + {C90}{dbss}{bx}{sl}{<-> s *[1.3]} + \installrawfont{fdbo8z}{dbtti,dbtt-old-alias,c90}{c90} + {C90}{dbss}{m}{sl}{<-> s *[1.3]} +\endinstallfonts + + +\input finstmsc.sty + + +% create the dbtt-old.enc file +\installfonts + % the `makeenc' flag is used in c90.etx + \setint{makeenc}{1} + \setstr{encodingname}{dbtt-oldEncoding} + \inputetx{dbtt-old-alias} + \etxtoenc{c90}{dbtt-old} +\endinstallfonts + +\end + +% end of dbtt-old.fontinst diff --git a/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old.map b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old.map new file mode 100644 index 00000000000..c48f73fe714 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/thaifont/dbtt-old/dbtt-old.map @@ -0,0 +1,4 @@ +fdbr8z DBThaiText " dbtt-oldEncoding ReEncodeFont " -not' names) +\let\setnotglyph \setrawglyph + +% we want warnings for missing glyphs +\fontinstcc +\add_to\pre_fourth_etx_pass_hook{ + \def\do_slot{ + \if_undefined{g-\slot_name}\then + \fontinstwarningnoline{fontinst} + {missing~glyph~`\slot_name'\space + for~slot~\the\slot_number\space + in~font~`\out_filename'} + \fi + \do_character + } +} +\normalcc + + +% create PL files and an FD file +\installfonts + \setint{fontdimen(2)}{500} % SPACE + \setint{fontdimen(3)}{300} % STRETCH + \setint{fontdimen(4)}{100} % SHRINK + \setint{fontdimen(6)}{1000} % QUAD + \setint{fontdimen(7)}{0} % EXTRASPACE + + \installrawfont{fgdr8z}{garuda,c90}{c90} + {C90}{garuda}{m}{n}{} + \installrawfont{fgdb8z}{garuda_b,c90}{c90} + {C90}{garuda}{bx}{n}{} + \installrawfont{fgdbo8z}{garuda_bo,c90}{c90} + {C90}{garuda}{bx}{sl}{} + \installrawfont{fgdo8z}{garuda_o,c90}{c90} + {C90}{garuda}{m}{sl}{} +\endinstallfonts + + +\input finstmsc.sty + + +% create the c90.enc file +\installfonts + % the `makeenc' flag is used in c90.etx + \setint{makeenc}{1} + \setstr{encodingname}{C90Encoding} + \etxtoenc{c90}{c90} +\endinstallfonts + +\end + +% end of garuda.fontinst diff --git a/Master/texmf-dist/source/latex/CJK/utils/thaifont/norasi.fontinst b/Master/texmf-dist/source/latex/CJK/utils/thaifont/norasi.fontinst new file mode 100644 index 00000000000..b9ae7d6e925 --- /dev/null +++ b/Master/texmf-dist/source/latex/CJK/utils/thaifont/norasi.fontinst @@ -0,0 +1,68 @@ +% norasi.fontinst + +\input fontinst.sty + +\needsfontinstversion{1.918} + + +% we explicitly set all slots in the encoding, so provide all glyph names +% in AFM files equally (this is, don't create `-not' names) +\let\setnotglyph \setrawglyph + +% we want warnings for missing glyphs +\fontinstcc +\add_to\pre_fourth_etx_pass_hook{ + \def\do_slot{ + \if_undefined{g-\slot_name}\then + \fontinstwarningnoline{fontinst} + {missing~glyph~`\slot_name'\space + for~slot~\the\slot_number\space + in~font~`\out_filename'} + \fi + \do_character + } +} +\normalcc + + +% create PL files and an FD file +\installfonts + \setint{fontdimen(2)}{500} % SPACE + \setint{fontdimen(3)}{300} % STRETCH + \setint{fontdimen(4)}{100} % SHRINK + \setint{fontdimen(6)}{1000} % QUAD + \setint{fontdimen(7)}{0} % EXTRASPACE + + \installrawfont{ftnr8z}{norasi,c90}{c90} + {C90}{nrsr}{m}{n}{} + \installrawfont{ftnb8z}{norasi_b,c90}{c90} + {C90}{nrsr}{bx}{n}{} + \installrawfont{ftnbi8z}{norasi_bi,c90}{c90} + {C90}{nrsr}{bx}{it}{} + \installrawfont{ftni8z}{norasi_i,c90}{c90} + {C90}{nrsr}{m}{it}{} + +% Thai glyphs in norasi_o and norasi_bo are identical to the shapes +% in norasi_i and norasi_bi, respectively. +% +% \installrawfont{ftno8z}{norasi_o,c90}{c90} +% {C90}{nrsr}{m}{sl}{} +% \installrawfont{ftnbo8z}{norasi_bo,c90}{c90} +% {C90}{nrsr}{bx}{sl}{} +\endinstallfonts + + +\input finstmsc.sty + + +% create the c90.enc file +\installfonts + % the `makeenc' flag is used in c90.etx + \setint{makeenc}{1} + \setstr{encodingname}{C90Encoding} + \etxtoenc{c90}{c90} +\endinstallfonts + +\end + +% end of norasi.fontinst -- cgit v1.2.3