ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
フォーラム一覧   -   トピック一覧
   ActionScript 3.0
     円記号を表示する方法
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
toka
投稿日時: 2008-5-9 16:11
お馴染みさん
登録日: 2006-10-27
居住地: 東京都
投稿: 14
円記号を表示する方法
お疲れ様です。tokaです。

円記号(半角)を入力するとバックスラッシュで表示されますが、円記号のまま表示する方法はありますでしょうか。
mxmlでは、&#165(実際には半角)で表示することはできますが、CDATA セクションでの方法がわからず、困っております。

円記号を含んだ見積等をテキストエリアに貼り付けて登録、登録した情報を閲覧というオペレーションをしており、値段を意味する円記号なのでバックスラッシュになってしまうのは都合が悪いという感じです。

よろしくお願いいたします。
nisi
投稿日時: 2008-5-9 20:26
お馴染みさん
登録日: 2006-11-3
居住地: 東京
投稿: 18
Re: 円記号を表示する方法
こんばんは。nisiです。

個人的にはバグでは?と思いますが、私も同様の現象が気に
なっていたため、ちょっと作ってみました。
作り的にはTextAreaのchangeイベントで半角の"¥"テキストを
変換させる仕組みです。 
実際問題としては入力データに円記号は入れない方が良いとは思いますが。
注1:文字が変換されてしまう為、"注1"を"¥"(全て半角)に置き換えてください。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
  <mx:Script>
	public var strData:String = "\\100";
	//データを変換後にセット
    public function setData(event:Event):void {
		var myPattern:RegExp = /\\/;  
        event.target.text=strData.replace(myPattern, "注1");
     }
	//入力された値を変換後にセット  
     public function yenCnv(event:Event):void {
     	var str:String = event.target.text;
		var myPattern:RegExp = /\\/;  
        event.target.text=str.replace(myPattern, "注1");
     }
  </mx:Script>
  	<mx:TextArea change="yenCnv(event);" initialize="setData(event);" />
</mx:Application>

ちなみに上記コードはCDATA内やインクルードされたasコード内では動きません。
コードがバラけてしまいますがしょうがないですね。
eneco
投稿日時: 2008-5-9 22:35
ご主人様
登録日: 2006-2-16
居住地:
投稿: 135
Re: 円記号を表示する方法
こんにちは。

1バイトの円記号がバックスラッシュになってしまうのは、
デフォルトの1バイトフォントでは、円記号のコードを
バックスラッシュで表示してしまうためです。
次のように日本語フォントを指定すればご希望のコードを
円記号で表示できます。

<mx:TextInput text="\\100" fontFamily="_ゴシック" fontSize="12"/>

または、フォントを指定したくない場合には、2バイト文字の
円記号を使うとよいです。

では。
neworder
投稿日時: 2008-5-9 23:30
ご主人様
登録日: 2007-7-14
居住地: 東京
投稿: 176
Re: 円記号を表示する方法
Unicode の文字コードを直接リテラル記述する方法もあります。
円記号なら"\u00A5" です。使用フォントに当該コードポイントが存在しないときは、"豆腐"になります。
toka
投稿日時: 2008-5-12 10:03
お馴染みさん
登録日: 2006-10-27
居住地: 東京都
投稿: 14
Re: 円記号を表示する方法
ご回答くださった皆様、ありがとうございます。
半角円記号を含む文字列をTextAreaにコピペした時点で、円記号が表示されるのが望ましいので日本語フォントを指定で対応することにしました。
ありがとうございました。
toka
投稿日時: 2008-5-13 9:29
お馴染みさん
登録日: 2006-10-27
居住地: 東京都
投稿: 14
Re: 円記号を表示する方法
追加です。
CSSを使用しておりますので、TextAreaにfontFamilyの設定を追加しました。
TextArea {
 font-family: "Meiryo", "Hiragino Kaku Gothic Pro","Osaka", "MS PGothic", Verdana, Arial, Helvetica, sans-serif;
}
"MS Pゴシック"等の日本語の指定はダメみたいです。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を