-if(-e '/usr/local/lib/xemacs-21.4.10/i686-pc-linux/char-db/system-char-id'){
- $DB_HOME='/usr/local/lib/xemacs-21.4.10/i686-pc-linux/char-db/system-char-id';
-}elsif(-e 'd:/work/chise/char-db/system-char-id'){
- $DB_HOME='d:/work/chise/char-db/system-char-id';
-}elsif(-e '/usr/local/lib/xemacs-21.4.10/powerpc-apple-darwin6.4/char-db/system-char-id'){
- $DB_HOME='/usr/local/lib/xemacs-21.4.10/powerpc-apple-darwin6.4/char-db/system-char-id';
-}elsif(-e '/usr/local/xemacs-utf2000/lib/xemacs-21.4.10/powerpc-apple-darwin6.4/char-db/system-char-id'){
- $DB_HOME='/usr/local/xemacs-utf2000/lib/xemacs-21.4.10/powerpc-apple-darwin6.4/char-db/system-char-id';
+unless($DB_HOME){
+ if(-e '/usr/local/lib/chise/db'){
+ $DB_HOME='/usr/local/lib/chise/db';
+ }elsif(-e '/usr/lib/chise/db'){
+ $DB_HOME='/usr/lib/chise/db';
+ }elsif(-e '/sw/lib/chise/db'){
+ $DB_HOME='/sw/lib/chise/db';
+ }elsif(-e '/usr/local/lib/chise/char-db'){
+ $DB_HOME='/usr/local/lib/chise/char-db';
+ }elsif(-e 'd:/work/chise/char-db'){
+ $DB_HOME='d:/work/chise/char-db';
+ }else{
+ print STDERR "No database found.\n";
+ print STDERR "Pleas set \$DB_HOME to Chise_utils.pm.\n";
+ exit 1;
+ }
+}
+
+$idc="\x{2ff0}-\x{2fff}";
+
+my %er_alias =
+ ('C1','=cns11643-1',
+ 'C2','=cns11643-2',
+ 'C3','=cns11643-3',
+ 'C4','=cns11643-4',
+ 'C5','=cns11643-5',
+ 'C6','=cns11643-6',
+ 'C7','=cns11643-7',
+ 'CB','=cbeta',
+ 'CDP','=big5-cdp',
+ 'GT','=gt',
+ 'GT-K','=gt-k',
+ 'HZK1','=hanziku-1',
+ 'HZK2','=hanziku-2',
+ 'HZK3','=hanziku-3',
+ 'HZK4','=hanziku-4',
+ 'HZK5','=hanziku-5',
+ 'HZK6','=hanziku-6',
+ 'HZK7','=hanziku-7',
+ 'HZK8','=hanziku-8',
+ 'HZK9','=hanziku-9',
+ 'HZK10','=hanziku-10',
+ 'HZK11','=hanziku-11',
+ 'HZK12','=hanziku-12',
+ 'J78','=jisx0208-1978',
+ 'J83','=jisx0208',
+ 'J90','=jisx0208-1990',
+ 'JSP','=jisx0212',
+ 'JX1','=jisx0213-1',
+ 'JX2','=jisx0213-2',
+ 'K0','=ks-x1001',
+ 'M','=daikanwa',
+ );
+
+my $er_prefix_re=join '|', keys %er_alias;
+
+if(-d "$DB_HOME/character"){
+ for (glob "$DB_HOME/character/feature/*"){
+ next if(/\.txt$/);
+ $atr=$_;
+ $atr=~s!$DB_HOME/character/feature/!!;
+ $db{$atr}=$_;
+ }
+ for (glob "$DB_HOME/character/by-feature/*"){
+ next if(/\.txt$/);
+ $atr=$_;
+ $atr=~s!$DB_HOME/character/feature/!!;
+ $reverse_db{$atr}=$_;
+ }
+}elsif(-d "$DB_HOME/system-char-id"){
+ for (glob "$DB_HOME/system-char-id/*"){
+ next if(/\.txt$/);
+ $atr=$_;
+ $atr=~s!$DB_HOME/system-char-id/!!;
+ $db{$atr}=$_;
+ }
+ for (glob "$DB_HOME/*"){
+ next if(/\.txt$/ or /system-char-id/);
+ $atr=$_;
+ $atr=~s!$DB_HOME/!!;
+ $reverse_db{$atr}=$_."/system-char-id";
+ }