- $char=pack('U',$char_id);
-
- if($out_cs eq 'UniJIS'
- and &get_char_attribute($char,"vnd-adobe-cid-unijis-utf16-h")){
- if($out_char_id=&get_char_attribute($char,'=ucs@jis')
- or $out_char_id=&get_char_attribute($char,'=ucs')
- or $out_char_id=&get_char_attribute($char,'=>ucs@jis')
- or $out_char_id=&get_char_attribute($char,'=>ucs')
- ){
- return pack("U",$out_char_id);
- }
- }elsif($out_cs eq 'UniGB'
- and &get_char_attribute($char,"vnd-adobe-cid-unigb-ucs2-h")){
- if($out_char_id=&get_char_attribute($char,'=ucs@gb')
- or $out_char_id=&get_char_attribute($char,'=ucs')
- or $out_char_id=&get_char_attribute($char,'=>ucs@gb')
- or $out_char_id=&get_char_attribute($char,'=>ucs')
- ){
- return pack("U",$out_char_id);
- }
- }elsif($out_cs eq 'UniCNS'
- and &get_char_attribute($char,"vnd-adobe-cid-unicns-ucs2-h")){
- if($out_char_id=&get_char_attribute($char,'=ucs@cns')
- or $out_char_id=&get_char_attribute($char,'=ucs')
- or $out_char_id=&get_char_attribute($char,'=>ucs@cns')
- or $out_char_id=&get_char_attribute($char,'=>ucs')
- ){
- return pack("U",$out_char_id);
- }
- }elsif($out_cs eq 'UniKS'
- and &get_char_attribute($char,"vnd-adobe-cid-uniks-ucs2-h")){
- if($out_char_id=&get_char_attribute($char,'=ucs@ks')
- or $out_char_id=&get_char_attribute($char,'=ucs')
- or $out_char_id=&get_char_attribute($char,'=>ucs@ks')
- or $out_char_id=&get_char_attribute($char,'=>ucs')
- ){
- return pack("U",$out_char_id);
- }
- }elsif($out_cs eq 'UniMulti'){
- foreach $out_cs (@order){
-
- if($out_cs eq 'UniJIS'
- and &get_char_attribute($char,"vnd-adobe-cid-unijis-utf16-h")){
- if($out_char_id=&get_char_attribute($char,'=ucs@jis')
- or $out_char_id=&get_char_attribute($char,'=ucs')
- or $out_char_id=&get_char_attribute($char,'=>ucs@jis')
- or $out_char_id=&get_char_attribute($char,'=>ucs')
- ){
- return '{\selectjisfont\char'.$out_char_id.'}';
- }
- }elsif($out_cs eq 'UniGB'
- and &get_char_attribute($char,"vnd-adobe-cid-unigb-ucs2-h")){
- if($out_char_id=&get_char_attribute($char,'=ucs@gb')
- or $out_char_id=&get_char_attribute($char,'=ucs')
- or $out_char_id=&get_char_attribute($char,'=>ucs@gb')
- or $out_char_id=&get_char_attribute($char,'=>ucs')
- ){
- return '{\selectgbsfont\char'.$out_char_id.'}';
- }
- }elsif($out_cs eq 'UniCNS'
- and &get_char_attribute($char,"vnd-adobe-cid-unicns-ucs2-h")){
- if($out_char_id=&get_char_attribute($char,'=ucs@cns')
- or $out_char_id=&get_char_attribute($char,'=ucs')
- or $out_char_id=&get_char_attribute($char,'=>ucs@cns')
- or $out_char_id=&get_char_attribute($char,'=>ucs')
- ){
- return '{\selectcnsfont\char'.$out_char_id.'}';
- }
- }elsif($out_cs eq 'UniKS'
- and &get_char_attribute($char,"vnd-adobe-cid-uniks-ucs2-h")){
- if($out_char_id=&get_char_attribute($char,'=ucs@ks')
- or $out_char_id=&get_char_attribute($char,'=ucs')
- or $out_char_id=&get_char_attribute($char,'=>ucs@ks')
- or $out_char_id=&get_char_attribute($char,'=>ucs')
- ){
- return '{\selectksxfont\char'.$out_char_id.'}';
- }
- }elsif($out_cs eq 'GT'){
- return $gt if($gt=&get_macro_for_GT($char_id));
- }elsif($out_cs eq 'HZK'){
- return $hzk if($hzk=&get_macro_for_HZK($char_id));
- }elsif($out_cs eq 'CDP'){
- return $cdp if($cdp=&get_macro_for_CDP($char_id));
+ foreach $out_cs (@{$order{$out_cs}}){
+ if($out_cs eq 'UniJIS'
+ and &get_char_attribute($char,"vnd-adobe-cid-unijis-utf16-h")){
+ if($out_char_id=&get_char_attribute($char,'=ucs@jis')
+ or $out_char_id=&get_char_attribute($char,'=ucs')
+ or $out_char_id=&get_char_attribute($char,'=>ucs@jis')
+ or $out_char_id=&get_char_attribute($char,'=>ucs')
+ or $out_char_id=&get_char_attribute($char,'=>ucs*')
+ ){
+ return "{\\selectjisfont\\char$out_char_id}";
+ }
+ }elsif($out_cs eq 'UniGB'
+ and &get_char_attribute($char,"vnd-adobe-cid-unigb-ucs2-h")){
+ if($out_char_id=&get_char_attribute($char,'=ucs@gb')
+ or $out_char_id=&get_char_attribute($char,'=ucs')
+ or $out_char_id=&get_char_attribute($char,'=>ucs@gb')
+ or $out_char_id=&get_char_attribute($char,'=>ucs')
+ or $out_char_id=&get_char_attribute($char,'=>ucs*')
+ ){
+ return "{\\selectgbsfont\\char$out_char_id}";
+ }
+ }elsif($out_cs eq 'UniCNS'
+ and &get_char_attribute($char,"vnd-adobe-cid-unicns-ucs2-h")){
+ if($out_char_id=&get_char_attribute($char,'=ucs@cns')
+ or $out_char_id=&get_char_attribute($char,'=ucs')
+ or $out_char_id=&get_char_attribute($char,'=>ucs@cns')
+ or $out_char_id=&get_char_attribute($char,'=>ucs')
+ or $out_char_id=&get_char_attribute($char,'=>ucs*')
+ ){
+ return "{\\selectcnsfont\\char$out_char_id}";
+ }
+ }elsif($out_cs eq 'UniKS'
+ and &get_char_attribute($char,"vnd-adobe-cid-uniks-ucs2-h")){
+ if($out_char_id=&get_char_attribute($char,'=ucs@ks')
+ or $out_char_id=&get_char_attribute($char,'=ucs')
+ or $out_char_id=&get_char_attribute($char,'=>ucs@ks')
+ or $out_char_id=&get_char_attribute($char,'=>ucs')
+ or $out_char_id=&get_char_attribute($char,'=>ucs*')
+ ){
+ return "{\\selectksxfont\\char$out_char_id}";