i-mode
Kenshi's Page
ホームMacintoshOpenGLThinkPadJavaダイビング水中デジカメ


インデックス

表紙

i-mode版

作者紹介

使い方
解説
HP管理
i-mode対応
CSS
待受画像
冗談と嘘

実話

今週のツッコミ

映画

リンク

ダウンロード

i-mode 対応

目次

はじめに

i-mode に代表される携帯インターネットの日本での普及は世界的に見てもかなり進んでいるそうです。ガジェット大好き、モバイル大好きの国民性に加えて電車通勤が一般的である事に原因がありそうです。

私自身は i-mode にもモバイルにも殆ど興味が無いのですが、これからの時代の流れを無視し続けるのも面白くありません。

しかし Windovvs 嫌いの私が携帯業界の巨人 NTT Docomo のために何か面白いコンテンツを手間ひまかけて新しく作ってやるつもりになるはずはありません。

今回私が考えたのはホームページ管理の手法を拡張して手間をかけずに私のサイトを全て i-mode 対応にしてやろうという事でした。

ホームページ管理で紹介した通り、私のサイトにあるページは全てページを構成する部品にわけられて管理されていて、make コマンドでそれらを組み合わせてそれぞれのページを作っています。

そこであるページを作成するコマンドを拡張して別に i-mode 対応のページも作成する用にすれば、普通のページと i-mode 対応のページを同時に管理する事ができるはずです。

今回の目標はこんな所です。

i-mode は小さい携帯の画面にコンテンツを表示するため、普通のページに加えて色々な制限やガイドラインがあります。

といったものです。この中で最後のページの長さについては無視する事にしました。元の文書を分割したりする手間がかかるからです。

ロゴ、ボタンの変更

画像の削除の手始めはロゴとボタンでした。これらは本文とは別のファイルで管理されているため、i-mode 用のテキストのみの入った別のファイルを用意するだけで対応できました。

インデックスの変更

次にページの右側に必ずでるインデックスをどうするか考えました。i-mode のページでこんなものが出てきたら誰も来てくれないでしょう。

そこでインデックスはこんな風に別のページに独立させて本文にはインデックスページへのリンクのみを置く事にしました。

HTML タグの削除

i-mode が対応していないタグはテキスト変換ツール sed を用いて削除する事にしました。sed は行単位で処理を実行するのでタグの < と > が2行に渡っていると上手くいきませんが、それはないと仮定して進めました。

実際のコマンドはこんな感じです。

s/<IMG.*">/[画像]/g
s/<B>//g
s/<\/B>//g
s/<FONT.*">//g
s/<\/FONT>//g

ここで同時に画像( IMG タグ)を"[画像]"というテキストに置き換えています。

テーブルの削除

i-mode は TABLE タグにも対応していません。表をテキストに変換することも考えましたが、手間がかかる上実際には i-mode で見て意味があるような表は私のサイトには無いと考えて表は完全に削除することにしました。

表や画像のあるページはパソコンから見て下さいという事です。

削除は awk のスクリプトで "<TABLE" のある行から "</TABLE" のある行は出力しないようにしました。

JavaScript ページの削除

私のサイトにはいくつか Javascript を使ったページがありますが、i-mode では動かないのでかわりにメッセージのみのページを出すことにしました。

長いページ

また携帯から見ることを考えてサイズの大きなページに関してもメッセージのみのページを出すことにしました。

全角/半角変換

全角文字、特に全角カタカナを半角文字に変換する場合に問題になるのは濁音、半濁音の扱いです。例えば「ガ」は全角では1文字ですが、半角カタカナでは「カ」+ 濁点 の2文字にしなくてはいけません。

最初は sed スクリプトで無理やり変換する事を考えましたが、手に入る sed がどれも日本語(マルチバイト文字)非対応で、特定の文字("ソ"等、Shift JIS で 0x5c を含む文字)でエラーが出てしまいます。

インターネットで他にもツールを探しましたが、適当なものはありませんでした。本来インターネットでは半角カタカナは使わない事が推奨されていて、半角から全角に変換するツールはあっても逆はないのです。

仕方がないので自力で変換ツールを書いて使うことにしました。

OS/2 用のバイナリとソース、データファイルをまとめておきます。何をしているか興味がある方はダウンロードしてみて下さい。

まとめ

以上の手順で作成された i-mode 対応、テキストのみのサイトはこちらです。

すでにあるページを一切変更することなく、管理システムを変更するだけでほとんど手間をかけずに私のサイトの全てのページを i-mode 対応にすることができました。

スクリプトや Makefile を変更したり新しいテキストファイルを用意したりしただけで、実際の作業には1日もかかっていません。

そして新しく追加したページに対しても自動的に i-mode 対応のページが作成されるようになりました。


コンテンツ: [ホーム] [Macintosh] [OpenGL] [ThinkPad] [Java] [ダイビング] [水中デジカメ]

このページについてのご質問はこちらへどうぞ。
このページに用いられている3Dのロゴやボタンは全てGLlogoによってレンダリングされたものです。
このページはリンクフリーです。
著作権等についてはこちらをどうぞ。