+sub get_char_id_unified{
+ my($char_id)=@_;
+ my($char,$chars,$ucs);
+ my(@char_id);
+ $char=pack("U",$char_id);
+
+ if($chars=&get_char_attribute($char,'->ucs-unified')){
+ utf8::decode($chars);
+ $chars=~s/^\((.*)\)$/$1/;
+ return map {unpack("U",$_)} (split(/\s*\?/,$chars));
+ }elsif($ucs=&get_char_attribute(pack("U",$char_id),'=>ucs')){
+ if($chars=&get_char_attribute(pack("U",$ucs),'->ucs-unified')){
+ utf8::decode($chars);
+ $chars=~s/^\((.*)\)$/$1/;
+ @char_id=grep {$char_id!=$_}
+ map {unpack("U",$_)}
+ (split(/\s*\?/,$chars));
+ push(@char_id,$ucs);
+ return @char_id;
+ }
+ }
+}
+