Macintosh Developer Online (MDOnline)


2002年1月24日発行号 - WO5.1にはOpenBase入っています



なんだかんだで、みなさん新聞はとっているかと思います。産經新聞が夕刊をなくしてしまって低価格にしたみたいですが、ニューメディア(なつかしー)とか、インターネットとかでなくなってしまうと言われている新聞がどっこいいまだに最大規模のメディアとして君臨しています。だけど、新聞社というコンテンツクリエイタは残っても、新聞販売店は将来的に苦しいのは長期的には目に見えています。だけど、ふと思ったのは、みんなが新聞を取る大きな理由の1つは、新聞よりも実はあの膨大なチラシ広告にあるということです。だとしたら、極端な話、新聞は無償となって、チラシの挿入で得られる費用を収入として運営できないかということも考えられます。ただ、チラシだけを配ってもなんですから、こうした場面でちらしといっしょに配付できる「フリーペーパー」なんてビジネスになるかもしれません。販売店に売るわけです。そのフリーペーパーは、ちょっとした話題とテレビ欄だけでいいでしょう…なんてビジネスモデルを考えましたけど、よく考えたら1つはサンケイリビング形式ですよね。それに米国のように都市ごとに新聞があるというのがそうした形式の行き着く先なのかもしれません。アメリカの街角ではフリーペーパーもよくあります。また、そういう形態は都会ではOKでも、田舎では成り立ちにくいかもしれません。いずれにしても、既存の大きな枠組みができてしまうとそこから動かないですから、そうしたダイナミックな変化はやっぱりないでしょうね。ただ、中堅どころが逆転を狙うにはいいネタだと思ってしまいます。もっとも、そうこうしているうちに、チラシなんてなくなるんじゃないかという話もあります。今でもサミットみたいにその日の特価品をメールで送っていたりしますが、オバサンはそれをケイタイで受けて、サミットに走るわけですね。ネットワークが出始めの頃の楽観論は見事にはずれているのですが、その一方でじわじわと変化もあるわけです。そこをいかにつかむかなんでしょうけどね〜。
(新居雅行 msyk@mdonline.jp


WebObjects 5.1とバンドルされているOpenBase SQL

WebObjects 5.1に関するいくつかの記事で、OpenBase SQLのデベロッパ版が含まれていないと言うことをお伝えしたが、この点は間違いがあったようで、お詫びの上、訂正をさせていただきたい。読者の片江さんよりご指摘をいただき、確認をしたところ次のような事実が判明した。
まず、WebObjects 5.1のアップデータも含めて、5.1には、OpenBase SQL 6.5.7がインストールされている。まっさらなシステムから5.1をインストールすると、このバージョンがインストールされることが、片江さんによって確認していただいている。
一方、WebObjects 5をアンインストールするときにOpenBaseを削除するオプションがある。ここで削除を行い、その後にWebObjects 5.1をインストールした場合には、OpenBase SQLはインストールされないのである。自分で、OpenBase SQLのインストーラを立ち上げてインストールをする必要がある模様だ。この仕様が意図的なものなのか、あるいはそうなってしまったのかは不明である。
いずれにしても、OpenBase SQLはVer.7.0.3がリリースされているので、特にターゲットシステムのバージョンが固定ではないのであれば、最新版を使うことになると思われるから、手作業でアップデートの必要はでてくるだろう。WebObjects 5.1のインストール後は、とりあえずOpenBase SQLの状況をチェックすることを忘れないようにしておいた方がよさそうだ。

関連リンク:WebObjects
カテゴリ:WebObjects


Java Watch on the X》4 - アプリケーションをパッケージとしてビルドする(6)Mac OS X向けのプロパティ

Mac OS Xで作成するPure Javaアプリケーションで指定する設定のうち、クラスパスやメインクラスといった必須の設定はすでに説明した通りである。これら以外にも動作にかかわる設定はいくつかあるので、それらをまとめて紹介しよう。
以下は、いずれも、MRJApp.propertiesないしは、Info.plistファイルに指定できる。MRJApp.propertiesを使う場合は、すでに用意されていると思われるので、そこに、以下に紹介する値を「キーワード = 値」の形式で指定する。この記述を基本的には1行にまとめておく。なお、新たにMRJApp.propertiesを作成してプロジェクトに追加した場合には、プロジェクトの設定での「ファイルとビルドフェーズ」で、Bundle ResourcesにMRJApp.propertiesの項目があるように設定をしておく必要がある。
Info.plistでの設定は、プロジェクトの設定の「アプリケーション設定」のタブで「詳細設定」のボタンをクリックして行う。JavaやPropertiesという階層の下に新たな項目を作成する。これらの項目がない場合には作成して、クラスを「辞書」にしておけば良い。以下は設定例である。なお、ここで紹介するプロパティは、論理値のものが多いが、いずれも、trueかfalseを文字列として指定する必要がある。

◇Java関連のプロパティを設定した
 


★テキストのアンチエイリアスをオンあるいはオフにする。(既定値はtrue)
(MRJApp.properties)com.apple.macosx.AntiAliasedTextOn = 設定値
(Info.plist)Java→Properties→com.apple.macosx.AntiAliasedTextOn
(設定値)文字列で、true ないしは false

◇com.apple.macosx.AntiAliasedTextOnがtrueの場合
 
◇com.apple.macosx.AntiAliasedTextOnがfalseの場合
 

この例では、GraphicsクラスのdrawStringメソッドで描いた文字でのアンチエイリアスの設定が聞いているが、ボタンなどのコンポーネントでも同様に反映される。なお、タイトルバーは反映されていない。

★グラフィックス描画のアンチエイリアスをオンあるいはオフにする。(既定値はtrue)
(MRJApp.properties)com.apple.macosx.AntiAliasedGraphicsOn = 設定値
(Info.plist)Java→Properties→com.apple.macosx.AntiAliasedGraphicsOn

★グラフィックス描画で利用するハードウエアアクセラレータの機能をオンあるいはオフにする。(既定値はfalse)
(MRJApp.properties)com.apple.hwaccel = 設定値
(Info.plist)Java→Properties→com.apple.hwaccel
(設定値)文字列で、true ないしは false

Mac OS X 10.1.2の段階では、ハードウエアアクセラレーションの機能は「プレビュー」の段階であるとしている。いずれ安定して利用できるようになれば、この設定の初期値はtrueになる予定となっている。

★Swingでルック&フィールにAquaを使っている場合、メニューをSwingの本来の位置、つまり、ウインドウのタイトルバーの直下にセットする。既定値やfalseに設定すると、メニューは、画面上部のメニューバーに表示される(既定値はfalse)
(MRJApp.properties)com.apple.macos.useScreenMenuBar = 設定値
(Info.plist)Java→Properties→com.apple.macos.useScreenMenuBar
(設定値)文字列で、true ないしは false

◇com.apple.macos.useScreenMenuBarがtrueの場合
 

なお、アップルメニュー、アプリケーションメニュー、キーボードメニュー、インプットメソッドのメニューなどは、常にメニューバーに表示される。

★ウインドウ右下のリサイズボックスをウインドウのコンテンツに含める。含めないようにすると、ウインドウ下側に余分に15ドット分広げてそこにリサイズボックスを描画する。(既定値はtrue)
(MRJApp.properties)com.apple.mrj.application.growbox.intrudes = 設定値
(Info.plist)Java→Properties→com.apple.mrj.application.growbox.intrudes
(設定値)文字列で、true ないしは false

★ウインドウのリサイズ中に内部の描画を行う。(既定値はfalse)
(MRJApp.properties)com.apple.mrj.application.live-resize = 設定値
(Info.plist)Java→Properties→com.apple.mrj.application.live-resize
(設定値)文字列で、true ないしは false

★アプリケーションメニューの最初の「……について」とで利用する名前を設定する。既定値は何もなしだが、そのときは「……について」のメニューは表示されない。アプリケーションメニュー名や終了メニューにでてくる名前との対応に注意が必要である。
(MRJApp.properties)com.apple.mrj.application.apple.menu.about.name = 文字列
(Info.plist)Java→Properties→com.apple.mrj.application.apple.menu.about.name

◇アバウトメニューを設定した場合
 

この場合は、com.apple.mrj.application.apple.menu.about.nameに「MyApp」と設定したが、それは最初の項目だけに採用されている。メニューバーやQuitメニューには、「表示名」や「実行可能ファイル」の設定(Info.plistではCFBundleExecutableおよびCFBundleName)にある文字列が表示される。

★AWTのFileDialogクラスによるファイル選択のとき、アプリケーションパッケージをフォルダとして扱うか、ファイルとして扱うかの選択を行う。既定値はフォルダとして扱い、パッケージの中身が見える。このプロパティにtrueを設定すると、アプリケーションはファイルのように扱える。(既定値はプロパティ自体を未定義)
(MRJApp.properties)com.apple.macos.use-file-dialog-packages = 設定値
(Info.plist)Java→Properties→com.apple.macos.use-file-dialog-packages
(設定値)文字列で、true ないしは false

◇com.apple.macos.use-file-dialog-packagesがtrueの場合
 
◇com.apple.macos.use-file-dialog-packagesがfalseの場合
 

★タブのサイズを指定する。falseにするとサイズを大きめにしてAqua風になる。既定値ではプロパティ自体が設定されていないが、その状態ないしはtrueを設定すると小さ目の文字となって、Metalなどのルック&フィールに近い感じになる。ただし、タブの内容によって変化がないときもある。
(MRJApp.properties)com.apple.macos.smallTabs = 設定値
(Info.plist)Java→Properties→com.apple.macos.smallTabs
(設定値)文字列で、true ないしは false


Swingを使ったアプリケーションなど、Pure Javaのアプリケーションでは日本語関連の問題が指摘されている。たとえば、そのままメニューの名前に漢字などを指定しても、文字化けするのである。フォントを指定すればいいのであるが、それでは、プログラムの修正が多大になってしまう。何らかの解決策はいずれ示されるかもしれないが、とりあえずの対応としては、プロジェクト設定の「アプリケーション設定」を「詳細設定」にしたときに表示される項目の「CFBundleDevelopmentRegion」を「English」から「Japanese」にすればよい。そうすれば、コンポーネントの中で表示される日本語が文字化けることはなく表示される。また、アプリケーションメニューの項目も「About」以外は日本語になる。

◇日本語のテキストが文字化けされずに表示される
 
◇アプリケーションメニューも日本語になっている
 

ただし、この状態でも、漢字入力などを行っていると、応答が鈍くなる場合がやはりでてくるので、完全な解決ではないと思われる。
この対処方法が最終的なものかどうかは不明であるが、やはり他の機能に比べて場当たり的な気が強くする。基本的にはCocoaなどと同じように、システムのデフォルト設定等を勘案して、適切な言語設定で利用できるようにするのが望ましい形だと思われる。Mac OS Xはnibファイルを言語ごとに用意できる機能もあるが、Javaでも同様に言語に対応したリソースを持つ機能もあるので、そうした機能と連動することにより、日本語の問題も自然に解決されるのではないかと考えられるが、いずれにしても、しばらくはこういった方法も有効であると言えるだろう。

カテゴリ:ProjectBuilder/Interface Builder, Java, Java Watch on the X


KBase》iPhotoに関する文書が公開、アルバムのWeb公開方法について

◇iPhoto: Publishing Photos on the Internet
 http://www.info.apple.com/kbnum/n61038
写真アルバムをWeb公開する方法として、HomePageサービスを使う方法と、Webページとして書き出す方法がある。

◇iPhoto: How to Prepare Photos to Display on the Web
 http://www.info.apple.com/kbnum/n61039
Webページの書き出し機能の操作手順が記載されている。そして、index.htmlというファイルと、Images、Thumbnails、Pagesという3つのフォルダが作成される。

◇iPhoto: How to Publish a Photo Album Using HomePage
 http://www.info.apple.com/kbnum/n61040
HomePageサービスを使ってアルバムをWebで公開するときの手順が記載されている。

カテゴリ:Knowledge Base(旧TIL), デジタルカメラ


KBase》iDVDに関する文書がさらに公開、TVセーフエリアについてなど

◇iDVD: How to Determine TV Safe Area
 http://www.info.apple.com/kbnum/n50151
テレビでは画像の周辺部分は画面の外になって映らないこともある。その範囲にはボタンは配置されないようになっている。

◇iDVD: Can I Make Changes to a DVD-R Disc?
 http://www.info.apple.com/kbnum/n50150
DVD-Rディスクは上書きができないので、一度作成したディスクの書き換えはできない。

◇iDVD: How to Create motion buttons
 http://www.info.apple.com/kbnum/n50160
iDVDにドラッグ&ドロップしたムービーは、そのまま動画で内容をプレビューするボタンとなる。プレビューする範囲を指定したり、あるいは動画でなく静止画にする方法などがこの文書で説明されている。

カテゴリ:Knowledge Base(旧TIL), メディアプレイヤ