[ Home | Programming Tips | Mail ]

Frontier and Japanese


UserLand Frontierを日本語 System上で使う際の注意点 その2

 さて次の問題は '\' characterの扱いです。C言語と同じように UserLand Frontierの言語 UserTalkでも '\'を escape characterとして使います。Macの日本語 Textは Shift-JIS codeを使用していますので、2 byte codeの 2 byte目に '\'が現れる場合があります。これに当たる文字を 直接 UserTalk Script中に書くと文字化けしてしまいます。

    msg("表計算")
を実行してみてください。'表'の 2 byte目は '\'ですので見事に文字化けします。
 これを回避する手段としては、まず第1には
    msg("表\計算")
の様に問題となる文字の後に '\'を補ってやることです。

 第2の手段としては 直接 UserTalk Script中に書くと問題となるわけですから、日本語の Textは Script中に直接書かず ObjectDataBase / WpText / Outlineに置いて、そこから拾ってくる様にします。Macの Programは Message文字列等は Program中に直接書かず Resourceに置き、後から ResEditで簡単に修正できるのが特徴の一つですが、同じ事を Scriptでもやりましょうということです。

 実は AppleScriptも '\'が escape characterですので、英語表現の Script中で日本語 Textを使うと同じ問題が生じます。

  その3に続く


この Pageは MacOS X + Radio UserLand で作っています。