【追記2】AIRNovel&ANBooks更新:言語別などでファイル名を切り替える機能追加

●AIRNovel更新 過去Ver等
5.71
* bug:特別版があるなら使う機能、不具合修正
5.70
* add:特別版があるなら使う機能、変数「save:an.userFnTail」を追加。初期値=''
* chg:内部処理最適化(path.txtは再生成が必要)

●ANBooks更新(Windows版 Mac版 過去Ver等)※起動するだけで自動更新
5.113
* upd:AIRnovel 5.71に更新
5.112
* upd:AIRnovel 5.70に更新

▲次世代 ANBooks 更新(Windows版 Mac版
5.916
* upd:AIRnovel 5.71に更新
5.915
* upd:AIRnovel 5.70に更新

●ANEdit更新(Windows版Mac版AIRFlash必須。※起動するだけで自動更新
0.153
* upd:AIRnovel 5.71に更新
0.152
* upd:AIRnovel 5.70に更新

 言語別に表示するファイルを変えたい、などでいちいち[if]を書くのも面倒。
 そこで、なるべく楽に素材ファイルを切り替える仕組みを作りました。

 組み込み変数「save:an.userFnTail」に指定した語尾を追加したファイル名のファイルが、「あるなら」使います。(無くてもいいわけです)
 例えば

[lay layer=grp fn="Mnu_btnSave" visible=true]

 と画像「Mnu_btnSave」を使う記述で、

・Mnu_btnSave … 日本語版
・Mnu_btnSave@@en … 英語版
・Mnu_btnSave@@cn … 中国語版

 とファイルを用意しておいて、

&save:an.userFnTail = 'en'
[lay layer=grp fn="Mnu_btnSave" visible=true]

 とすると

[lay layer=grp fn="Mnu_btnSave@@en" visible=true]

 と書いたのと同じように動作します。
 このとき「Mnu_btnSave@@en」が存在しない場合、「Mnu_btnSave」を使います。必須ではないわけです

「save:an.userFnTail」が空文字(初期値)の場合は見た目通り「Mnu_btnSave」を使用します。


・iOSでは「@2x」「@3x」などと解像度別に使用する画像ファイルを切り替え(無ければ使わない)する機能があるのですが、それの「ユーザーが自由に使える版」という感じの機能です。
 もちろん「@2x」系の機能と同時に使えるので、

・Mnu_btnSave … 日本語版
・Mnu_btnSave@@en … 英語版
・Mnu_btnSave@@cn … 中国語版
・Mnu_btnSave@2x … 日本語版
・Mnu_btnSave@@en@2x … 英語版
・Mnu_btnSave@@cn@2x … 中国語版

 というファイルを用意し、自動で使い分けることが出来ます。

・ちなみに動作中のOSの言語は組み込み変数「const.flash.system.Capabilities.language」で分かります。(公開されている言語別win10で確認)

jp ja……日本語版OS(修正:2016/10/14 間違えてました)
・en……英語版OS
・zh-CN……中国語(中華人民共和国。台湾はまた別)


・この機能そのものは言語別だけじゃなく、ボイスを男性・女性に切り替えたり、使い方は色々あると思います(指定出来る語尾は同時に一つだけですが)

・fn="app-storage:/update0.png"も、
 "app-storage:/update0@@ex.png"を探しに行きます。

・ただしWebサーバーのファイルを使おうとする「http://〜」は非対応。
 技術的に存在チェック出来ない場合があるため。

・音声ファイル(mp3など)やスクリプトファイル(an)でも同じ事が出来ます(たぶん)。



(2016/05/28 追記2)余談ですが、設定画面で言語別に背景画像を切り替えるには、HTMLレイヤ内(_config.js)で以下の感じで書きます。

$(function(){
switch (navigator.language) {
case 'en-US':
$('body').css('background-image', "url(app:/config/_config@@en.jpg)")
break
case 'zh-CN':
$('body').css('background-image', "url(app:/config/_config@@cn.jpg)")
break
}




 直接使わないと思いますが、ツール群の公開先が変わったのでついでに記載します。
(上書きインストールに失敗する場合は、一旦アンインストールして下さい)
ans.air

ANCoder.air
AnFace.air
ANOggo.air
AnPacker.air
MkPath.air(特に今回、出力形式が変わりました)
スポンサーサイト



AIRNovel&ANBooks更新:win版のみ暗号化等でエラーになる件

●AIRNovel更新 過去Ver等
5.69
* chg:内部的な変更(argChk_Boolean())
* bug:インストール直後に黒画面停止してしまう不具合
* bug:win版のみ暗号化等で application descriptor not found エラーになる件

●ANBooks更新(Windows版 Mac版 過去Ver等)※起動するだけで自動更新
5.111
* upd:AIRnovel 5.69に更新

▲次世代 ANBooks 更新(Windows版 Mac版
5.914
* upd:AIRnovel 5.69に更新

●ANEdit更新(Windows版Mac版AIRFlash必須。※起動するだけで自動更新
0.151
* upd:AIRnovel 5.69に更新

ANBooks更新:「暗号化キーを自動生成」ボタン不具合

●ANBooks更新(Windows版 Mac版 過去Ver等)※起動するだけで自動更新
5.110
* bug:「暗号化キーを自動生成」ボタンを押すと「ant _code_key」が動く不具合


▲次世代 ANBooks beta 更新(Windows版 Mac版
5.913
* bug:「暗号化キーを自動生成」ボタンを押すと「ant _code_key」が動く不具合

AIRNovel&ANBooks更新:Winで一部ファイルが見つからない不具合修正

●AIRNovel更新 過去Ver等
5.68
* add:(AIRlib 5.02)ToNFC(NFD→NFC変換)クラス修正・最適化
* add:今まで通り簡単に動く方向への変更
* del:ファイル名指定で「ブ」等NFD表記をした場合にエラー出す「an.chkNFD」中止
5.67
* add:(AIRlib 5.01)ToNFC(NFD→NFC変換)クラス追加
* bug:AIR 19発表時辺り(Sept.21, 2015)のAIR SDKから、Macでビルドしたairパッケージのファイル名が、独自NFDからNFCに変換されなくなった件に対応
* add:ファイル名指定で「ブ」等NFD表記をした場合にエラー出す「an.chkNFD」追加

●ANBooks更新(Windows版 Mac版 過去Ver等)※起動するだけで自動更新
5.109
* upd:AIRnovel 5.68に更新
5.108
* upd:AIRnovel 5.67に更新

●ANEdit更新(Windows版Mac版AIRFlash必須。※起動するだけで自動更新
0.150
* upd:AIRnovel 5.68に更新
0.149
* upd:AIRnovel 5.67に更新


 ある時期からMacでビルドしたプロジェクトが、Windows上で、
「サーチパスに存在しないファイル【〜】です」というエラーが発生していました。

〜対策〜
 今回更新された、最新のAIRNovelでビルドすれば問題なくなります。

 以下は補足情報です。


〜発生時期、条件〜

 Windows上で、「ばびぶべぼパピプペポ」などの濁音(゛)・半濁音(゜)を含むファイル名のファイルが見つからない、という現象。

 同じ現象が、最近ビルドした「よつどもえ」でも発生。
 しかし、AIR 18時代(2015/8/3)にビルド(air生成)した「よつどもえ」は問題なし。

 どうやらこれは AIR 19時代(2015/9/21)〜現在(AIR 21 2016/5/18)の間で AIR SDK のパッケージ仕様が変更され、不具合が発生するようになったようです。

 Adobe AIR SDK のバージョンは関係ないようです。
 いま現在 AIR 18 にてビルドしても不具合が発生します。やはり「airパッケージ」の仕様変更のようです。
  ○AIR 18 NG (公開日 June 9, 2015)
  ○AIR 19 NG (公開日 Sept.21, 2015)
  ○AIR 20 NG (公開日 Dec.08, 2015)
  ○AIR 21 NG (公開日 Mar 10, 2016)



〜難しい技術的な話〜

 濁音・半濁音ファイル名の扱いで、Macとそれ以外のOSで違いがあります。

 例えば「ステージピンク」の「ジ」「ピ」文字コードが、
Winでは「0x30B8」(ジ、の合成型)
    「0x30D4」(ピ、の合成型)になり、
Macでは「0x30B7 0x3099」(シ+゛の分解型)
    「0x30D2 0x309A」(ヒ+゜の分解型)になるイメージです。
 これを「正規化形式が違う」と云います。(同じUnicodeという同じ文字コードだけど)

「ファイル名の扱い」については以下の記事が詳しいです。
Mac OS X の NFD 問題での対策諸々 - Qiita


 ざっくりまとめると
・Unicodeでは、同じ文字なのに違う文字コードでも表現出来る

→なんでだよ! と思うかもですが、半濁音が別の文字コードが割り当てられていると、以下のようなことも出来るため。

・Windows や Linux は NFC
・Mac は 独自NFD
  (C が Composition(合成)、D が Decomposition(分解))
  (「が」として扱うか「か + ゛」として扱うか)

 で、不具合の原因は
「Adobe AIR が今までは違いを吸収してくれていたのが急にしてくれなくなった」
(今までは全部合成型に統一(Unicode正規化)してくれていた)のが原因です。



〜余談〜
 スクリプト上では合成型で書いて下さい。普通書くとは思いますが……。

 Windows上のテキストエディタMeryでは見た目で区別してくれませんが、普通に入力すれば(OSがNFCなので)問題ないです。
(例:ブラインドの「ブ」「ド」に注目。見た目に変わりがない)


 Mac上のSublime Text 3などでは区別して表示されます。Finderからコピペすると分解型の文字コード・表示になります。

【更新2】AIRNovel&ANBooks更新:[load]不具合修正

●AIRNovel更新 過去Ver等
5.66
* bug:label属性ありの[load]関連の不具合
5.65
* bug:label属性ありの[load]で、起動後一度もロードしていないスクリプトでエラーになる事がある不具合

●ANBooks更新(Windows版 Mac版 過去Ver等)※起動するだけで自動更新
5.107
* upd:AIRnovel 5.66に更新
5.106
* upd:AIRnovel 5.65に更新

●ANEdit更新(Windows版Mac版AIRFlash必須。※起動するだけで自動更新
0.148
* upd:AIRnovel 5.66に更新
0.147
* upd:AIRnovel 5.65に更新
プロフィール

ふぁみべぇ

Author:ふぁみべぇ
 →@famibee
 →メアド(四角を@に)

カテゴリ
リンク
検索フォーム
最新記事
月別アーカイブ