From d5b3ef8a207ed4ac0769266a032494695d19f276 Mon Sep 17 00:00:00 2001 From: imiyazaki Date: Sun, 5 Oct 2003 14:36:46 +0000 Subject: [PATCH] refine &get_output_char() --- chise2otf/chise2otf | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/chise2otf/chise2otf b/chise2otf/chise2otf index 050133f..eb100c6 100755 --- a/chise2otf/chise2otf +++ b/chise2otf/chise2otf @@ -223,7 +223,7 @@ sub ids_rest{ sub replace_ids{ my($ids)=@_; -# $ids=&normalize_ids($ids,"UniJIS"); + $ids=&normalize_ids($ids,"UniJIS"); return $geta if(($ids!~/[$idc]/) or($ids=~/[\x{10000}-]/)); #irregular for KAGE. @@ -256,8 +256,6 @@ sub normalize_ids{ $output_ids.=pack("U",$output_char_id); }elsif($output_char_id=&get_char_attribute($char,"=ucs")){ $output_ids.=pack("U",$output_char_id); - }elsif($output_char_id=&get_char_attribute($char,"ucs")){ - $output_ids.=pack("U",$output_char_id); }else{ return $geta; } @@ -276,33 +274,28 @@ sub get_output_char{ return pack("S",$jis|0x8080); }else{ foreach $out_cs (@order){ - if($out_cs eq 'UniJIS'){ + if($out_cs eq 'UniJIS' + and &get_char_attribute($char,"adobe-unijis-utf16-h")){ if($out_char=&get_char_attribute($char,'=ucs@jis') - or ($out_char=&get_char_attribute($char,'=ucs')and - &get_char_attribute($char,"adobe-unijis-utf16-h")) -# &get_char_attribute($char,"adobe-unijis-ucs2-h")) - ){ + or $out_char=&get_char_attribute($char,'=ucs')){ return "\\UTF{".sprintf("%X",$out_char)."}"; } - }elsif($out_cs eq 'UniGB'){ + }elsif($out_cs eq 'UniGB' + and &get_char_attribute($char,"adobe-unigb-ucs2-h")){ if($out_char=&get_char_attribute($char,'=ucs@gb') - or ($out_char=&get_char_attribute($char,'=ucs')and - &get_char_attribute($char,"adobe-unigb-ucs2-h")) - ){ + or $out_char=&get_char_attribute($char,'=ucs')){ return "\\UTFC{".sprintf("%X",$out_char)."}"; } - }elsif($out_cs eq 'UniCNS'){ + }elsif($out_cs eq 'UniCNS' + and &get_char_attribute($char,"adobe-unicns-ucs2-h")){ if($out_char=&get_char_attribute($char,'=ucs@cns') - or ($out_char=&get_char_attribute($char,'=ucs')and - &get_char_attribute($char,"adobe-unicns-ucs2-h")) - ){ + or $out_char=&get_char_attribute($char,'=ucs')){ return "\\UTFT{".sprintf("%X",$out_char)."}"; } - }elsif($out_cs eq 'UniKS'){ + }elsif($out_cs eq 'UniKS' + and &get_char_attribute($char,"adobe-uniks-ucs2-h")){ if($out_char=&get_char_attribute($char,'=ucs@ks') - or ($out_char=&get_char_attribute($char,'=ucs')and - &get_char_attribute($char,"adobe-uniks-ucs2-h")) - ){ + or $out_char=&get_char_attribute($char,'=ucs')){ return "\\UTFK{".sprintf("%X",$out_char)."}"; } }elsif($out_cs eq 'GT'){ -- 1.7.10.4