もういい加減完成できると思っていたらそうでもなく、今回も途中経過の報告です。
前回までの勢いだと、この週末で完成できるかなと思ったんですが、そうでもなかったです。APIの変更が結構大がかりで、Flex_SDKをバージョンアップしてコンパイルしたら、そのままでは動きませんでした。
原因はわかったので対処は可能ですが、前回もお伝えしたCSSライクなスタイリングということを考えると、これを気に作り直すのが良さそうですね。
今回の目玉(?)はプラグイン対応を果たしたということです。写真をごらんあれ。
このように、設定画面から縦書きにするカテゴリー・タグを選ぶことができます。
色々と方法を考えたんですが、この縦書きはテンプレートタグであちこち設定するようなものでもないし、サイト全体のイメージを変えてしまうプラグインなので、縦書き設定の選択肢を増やした方がいいかな、と思いまして。
一応、このブログだと翻訳カテゴリーを縦書きに設定しました。まあ、投稿は「ランボーの幼少期散文」一個しかないんですが。
また、タグ・カテゴリーだけではなく、投稿ごとにも縦書き設定を選べるようにしてみたのがこちら。
投稿画面でチェックをつけると、その投稿が縦書きになります。
たとえば、「完全日記ベースのブログだけど、小説が一個だけある」というイリーガルなブログでも縦書きが実現できます。
今後の予定
わりと順調に進んでいるつもりですが、とっとと片付けないと大変なことになりそうな予感がしているので、がんばって以下の課題をやってみます。
1.TLFのAPI変更キャッチアップとCSS対応
前述の通り、APIが大幅に変わってしまったため、これをキャッチアップする必要があります。対応すれば、CSSライクなデザインも可能。Actionscript3.0の知識がない人でも編集できるようにしたいですね。
理想としては、「ちょっとしたCSSの知識がある人が、CSSファイルの設定値をちょこちょこ変えるだけでデザインが変わる」という感じですかね。天地左右やカーニング、ハイフネーションなど、設定できる項目が山のようにあるので、それを是非対応させたいな、と。
あと、現在はWindowの高さを取得して、その大きさと等しいFlashを埋め込むようにしているんですが、気になるのは最近のネットブックとかいうやつ。上野のヨドバシではたと気づいたんですが、あのパソコン、画面が小さいですよね? 縦書きにとってクリティカルである「高さ」というものをどうやって扱おうか、悩ましいです。
2.XMLの整形
TLFで使えるタグはdiv、p、span、br、a、imgぐらいです。僕はマークアップをちゃんと使いわけたいタイプの人間なんですが、複雑な入れ子になっていたりすると困りますね。pの中にdivがあっちゃだめとか、結構厳しいです。
「どのタグまでサポートするか?」という問題は、CSS対応することによってなんとかなりそう=自分でやってもらうですが、最終的に正しいXMLになっていないとflash側が読み込んでくれないので困ります。
たとえば、この画像は小説のモデル問題をまじめに考えるのエントリーをXML化したものなんですが、これはそもそも開始タグがないんですね。
HTMLとブラウザの関係は長年連れ添った夫婦のようなものなので、こんなでも余裕で表示するわけですが、Flash-XMLだとアウト。
WordPressというのは、色んな人が作ったプラグインを沢山入れて使う闇鍋のようなCMSです。経験豊富なプログラマーからすると許し難いプラグインも沢山あるでしょう。しかし、それはWordPressの長所であり、躍進の秘訣だと僕は考えます。
その哲学にならえば、入力値がそもそも正しい=validであることは期待できません。出力時のチェックをする必要があります。
で、悩んでいるのはPHP5にするか、PHP4にするか。PHP5に限定すれば、XMLパーサーも多機能なのがあるんですが、PHP4だとちょっと大変そうです。
Flash10限定のプラグインなんで、そんなにアベイラビリティを高める必要もない気もしますが。WordPressは引っ越しも簡単ですしね。
ユーザ環境対応
このプラグインはFlashの最新バージョンのみ対応という後方互換性のないプラグインなんですが、Flashのアップデートを促すぐらいはやりたいですね。Javascriptで対応します。Flashで対応すると、メンドクセーんだもの。
大体こんなことを考えてます。
- 「縦書き好き度」と「ITリテラシー」は反比例の関係にある……はず。誘導は欠かせない。Flashのバージョンアップは、環境が許さないというより、単にやってないだけという場合が多い。
- IEの縦書きを本気でやったことがない。ビックリ機能だとしか思っていなかった。試しにやってみる。Flashのバージョン10未満かつIEの場合は、CSSで縦書き。Javascriptでプロパティいじる。
- IE以外を使っており、Flashのバージョンが10未満であり、なおかつFlashのバージョンを上げたくない人のメンタリティがよくわからないので、もう問い合わせてもらう。
こんな感じです。Javascriptで全部テーブルタグにして縦書きという方法もなくはないですが、ある種ネタとしてやってみるのはいいかもしれません。
その他
- パフォーマンスの改善。ページめくったまま止まっているとPCがうなり出す。
- 縦中横の実装方法。InDesignにある「自動縦中横」みたいな機能をどうするか。
- 全角のくせに寝る文字をどうしたらよいものやら。
- 和欧混植は可能か? できなくはなさそうな気がする。せめてベースラインは直してあげたい。
- 「本っぽく」見せたくない場合は、どうしよう。背景画像とか変更できるようにするには?
- 正直、三角比はもう飽きたわ。あと、天動説を信奉しているとFlashの座標系は混乱する。
他はまあ、ちょこちょこあるんですが、こんな感じですかね。もう一息なので、がんばります。