サイトトップ

Director Flash 書籍 業務内容 プロフィール

Macromedia Flash非公式テクニカルノート

Flash 8/Mac OS Xで円記号がエスケープ文字として認識されない

ID: FN0612001 Product: Flash

Platform: Macintosh
Version: 8.0 and above

問題
Flash 8/Mac OS Xで円記号をエスケープ文字として用いても、円記号のまま使用され、エスケープの機能を果たしません。たとえば、改行コードに使ったときも、テキストが改行されません(F-site「\r\nが改行コードとして認識されない」参照)。

原因
Mac OS X版ではFlash 8から、エスケープ文字はバックスラッシュに変更されました。

ASCIIをベースにした従来のコード体系で、ソフトウェアの制御コードとしてバックスラッシュ記号が使用されてきました。その文字の番地(0x5C)には、日本語版ASCIIでは円記号が割当てられていたため、円記号が制御コードとしても使われることになりました。

その後普及したUnicodeでは、ヨーロッパ版で円記号に異なる番地(0xA5)が割当てられました。Mac OS Xでは、円記号にこのヨーロッパ版Unicodeの番地が使われたようです。したがって、制御コードのバックスラッシュ(0x5C)と円記号(0xA5)とが、明確に区別されることになります[*1]

そこで、Flash 8/Mac OS Xからは、制御コードであるバックスラッシュ(0x5C)をエスケープ文字とし、円記号(0xA5)とは区別して扱うことになったようです。

[*1] 円記号の文字コード上の扱いの経緯について、詳しくはWikipedia「¥記号」をご参照ください。

対処法
Flash 8/Mac OS Xからは、エスケープ文字として、円記号でなく、バックスラッシュをお使いください。なお、日本語フォントでは、半角バックスラッシュは全角で表示される問題があります(前掲「\r\nが改行コードとして認識されない」参照)。


作成者: 野中文雄
作成日: 2006年12月17日


Copyright © 2001-2006 Fumio Nonaka.  All rights reserved.