高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先

Technical Note TN2010
Mac OS 9.1

このテクニカルノートでは、次世代の Mac OS である Mac OS 9.1 に加えられた変更および修正について説明します。Mac OS 9.1 は Mac OS 9.0.4 の後継システムであり、Mac OS 9.0.4 の機能に対する拡張と修正を含んでいます。このテクニカルノートは、Mac OS 9.1 と互換性を持つ製品の開発に関心を持っているすべてのデベロッパを対象に書かれています。

一言でいえば、Mac OS 9.1 は、これまで報告されていたバグを修正し、操作のパフォーマンスと安定性を向上させるシステムアップデートです (r. 2469436)。

CONTENTS

[2001 年 1 月 18 日]






必要なハードウェア

Mac OS 9.1 は、PowerPC プロセッサを搭載して出荷されたすべての Macintosh が対象です。Mac OS 9.1 をインストールする Macintosh には少なくとも 32 MB の RAM が物理的に実装されていて、40 MB 以上の RAM が論理的に設定されている必要があります (物理的に実装されている RAM の容量が 64 MB未満の場合、仮想メモリの容量はデフォルトで 64 MB に設定されます)。

Apple では、Mac OS 9.1 を Apple 製の PowerPC ベースの Mac OS コンピュータでテストしており、その動作を保証しています (他社製の Mac OS 互換コンピュータでは Mac OS 9.1 をテストしていないため、これらのコンピュータで Mac OS 9.1 が正常に動作することは保証されていません)。

ページの先頭に戻る



インストール

Mac OS 9.1 は、Mac OS 7.5.5 またはそれ以降の Mac OS に対するアップグレードとしてインストールすることができます。Mac OS 9.1 のインストーラを実行するには、Mac OS 8.5 またはそれ以降が実行されている必要があります。ただし、インストールを実行する前に、インストール CD からシステムを起動をすることをお勧めします。

ページの先頭に戻る




Finder 9.1

Finder はユーザにグラフィカルインタフェースを提供すると同時に、ファイルシステムを利用するアプリケーションに Apple イベントベースのサービスを提供します。次に、Finder 9.1 の新機能と Finder 9.1 に加えられた変更の一覧を示します。

全般的な変更と修正

  • アプリケーションの「情報を見る」ウインドウでは、メモリパーティションをより自由に編集できるようになりました。特に、Finder から無効なメモリ構成に関する警告が表示されることなく、まずいずれかのフィールドを自由に変更できるようになっています。ユーザがウインドウを閉じるまで Finderは変更を適用しません (ユーザが制限を超える値を入力している場合に確認のウインドウが表示されるのはこの時点のみです)。

  • コンテキストメニューのコマンドが追加され、Mac OS パッケージフォルダの内容を表示できるようになりました。新しい「パッケージの内容を表示」コンテキストメニューコマンドを使用すると、パッケージフォルダを開いて、その内容をあたかも通常のフォルダのように取り扱うことができます (r. 2406988)。

  • Finder のメインメニューバーに「ウインドウ」メニューが追加され、現在開いている Finder ウインドウのリストが表示されるようになりました。「ウインドウ」メニューから項目を選ぶと、対応するウインドウが手前に移動します (また、項目がポップアップウインドウを参照している場合は、ウインドウがポップアップします)。「ウインドウ」メニューから項目を選択するときには、次のメタキーの組み合わせを使用できます。

    • メタキーを押し続けない - ウインドウを選択して手前に表示します
    • コマンド - ウインドウを閉じます
    • コマンド + shift - ポップアップウインドウを片づけます
    • コマンド + option - その他のウインドウを閉じ、選択したウインドウの内容を表示します
    • control - その他のウインドウをタイトルバーだけの状態にし、選択したウインドウの内容を表示します (シングルウインドウ)
    • control + option - すべてのウインドウの内容を表示し、選択したウインドウを手前に表示します



  • Finder では、Desktop Folder から起動ボリュームを除くボリュームへのリダイレクトがサポートされるようになりました (Folder Manager API によって)。その結果、Finder は全面的に Folder Manager に依存して Desktop Folder の位置を決定し、その実際の位置についての仮定を行わなくなります (r. 2406346)。

  • ファイルをコピーするとき、今後は通常の書類ファイルをエイリアスファイルで上書きできなくなります (r.2433219)。

  • Finder 9.1 のユーザインタフェースでは、名前が半角 27 文字を超えるフォルダやボリュームのファイル共有を開始できなくなります (r. 2257202)。

  • 「情報を見る」ウインドウ内でファイルの名前を編集し、同じウインドウにあるチェックボックスを使ってファイルをロックすると、ファイルの名前を直前の値に戻せなくなります (r. 2286023)。

  • エイリアスファイルを選択しているときは、Finder の「暗号化」メニューコマンドを使用できなくなります (r. 2397515)。

  • Finder 9.1 では、Finder とシステムファイルを Desktop Folder の位置に移動しても、それを保護することはできません (r. 2404745)。

  • Finder 9.1 は、Mac OS X のパッケージを認識するためにいくつかのチェックを行います。つまり、あるフォルダに適切な Mac OS X パッケージ情報ファイルが含まれていると、Finder はそのフォルダをパッケージとして識別します。

  • 不可視ファイルがゴミ箱の中にあるときに、同じ名前の別のファイルをゴミ箱にドラッグすると発生する可能のあったクラッシュの問題が修正されました (r. 2413764)。

  • FireWire ドライブをゴミ箱にドラッグするときに Finder で発生する可能性のあったいくつかのエラーが修正されました (r. 2515977)。

  • Mac OS X パッケージへのカスタムアイコンのペーストがサポートされました (r. 2538098)。

  • Finder は、一番手前のアプリケーションに切り替えられるときに、バックグラウンドアプリケーションとして実行されている別のアプリケーションから受け取った Apple イベントに応答して開いたウインドウを適切にアクティブにできるようになりました (r. 2417802)。

  • 多数のファイルを含む幅の狭いウインドウを開くときに Finder がハングすることがあるという問題が修正されました。この問題はこれまで、アイコンの位置があらかじめ割り当てられていないリスト表示以外のウインドウでのみ発生することがありました。

  • Finder 9.1 では、ドロップボックスの内部でエイリアスを作成できません。Finder の以前のバージョンではこの操作を許可していましたが、この操作は常に失敗し、部分的に作成されたエイリアスがドロップボックス内に残されていました (r. 2442066)。

  • Mac OS 9 パッケージに対するカスタムアイコンを正しく表示できるようになりました (r. 2468468)。

  • Finder のリスト表示を最新の情報に再描画するためのメカニズムが改善されました (r. 2308818)。

  • 新しい Finder は、階層が 200 を超えるフォルダをリスト表示で展開してもクラッシュしなくなりました (r. 2371844)。

  • ユーザによる画面解像度の変更に従って、ポップアップウインドウのタブのサイズが適切に変更されるようになりました (r. 2372335)。

  • コピー操作の実行中にフォルダを開くと、その内容が動的にアップデートされないという問題が修正されました (r. 2474094)。

  • これまで特定の状況下では、コマンド + 上矢印キーを押してウインドウのナビゲーションを行うと (現在選択しているウインドウの親ウインドウを開いて選択するために使用する)、クラッシュが起きることがありました。この問題は修正されました (r. 2515500)。

  • これまで特定の状況下では、コマンド + I キーを押した後で (情報を見る)、コマンド + delete キーを押すと (選択した項目をゴミ箱に移動する)、Finder のメモリが壊れてクラッシュが起きる可能性がありました。この問題は修正されました (r. 2504598)。

  • Finder 9.1 には次のショートカットキーが追加され、Mac OS X の Desktop で使用されるショートカットキーと同じ機能を持つキーボードコマンドがサポートされました (r. 2525977)。

    • コマンド + T - 選択した項目をよく使う項目に追加します。
    • コマンド + shift + delete - ゴミ箱を空にします。


  • これまで場合によって、アプリケーションのメモリパーティションサイズに対する新しい設定が保存されませんでした。この問題は修正されました (r. 2454019)。

  • Finder は、複製コマンドまたはコピーコマンドを実行した結果作成される新規ファイルや新規フォルダの ioFlBkDat および ioDrBkDat フィールドをクリアするようになりました。

  • システム起動時にテンポラリ項目フォルダの中にあった項目は、再度、ゴミ箱内の「救出された項目」フォルダに移動されるようになりました (r. 2486192)。

    注意:
    この問題を説明する Tech Info Library の記事は次のアドレスで入手できます。
    http://kbase.info.apple.com/techinfo.nsf/artnum/n25134



  • Finder 内の特定の位置にドラッグされるテキストをクリッピングファイルではなく、インターネットロケーションファイルに配置することが望ましいかどうかを判断するときに、Finder によって使用される発見法的メカニズムが各国語のテキストとの互換性を向上させるためにアップデートされました。ドラッグ & ドロップの結果としてインターネットロケーションファイルが作成されるためには、そのテキストが明示的な URL 表記 (「mailto:」や「http://」など) を含むインターネットアドレスを作成するために使用されるものでなければなりません。

    注意:
    この変更は、非 ASCII 文字を含むテキストのみに影響を与えます。テキストが純粋な ASCII である場合は、Mac OS 9 と同じアルゴリズムが使用されます (r. 2478012)。



重要:
コマンドキーと control キーを押しながらコントロールパネルのアイコンをダブルクリックしても、そのコントロールパネルを Finder のパーティション内で起動できなくなりました (r. 2440800)。





AppleScript の変更

  • Finder ウインドウの 'titled' 属性が resizable 属性としてスクリプトにコンパイルされるという、Mac OS 8.5 以来存在し続けてきた問題が修正されました (r. 2472105)。たとえば、次のスクリプトは、

    tell application "Finder" to get the titled of window 1



    次のようにコンパイルされていました。

    tell application "Finder" to get the resizable of window 1



  • Finder の以前のバージョンでは、すべてのアクティブプロセスのクリエータタイプのリストを要求すると、4 文字からなる文字列のリストではなく、オブジェクト参照のリストが返されていました。この問題は Mac OS 8 から Mac OS 9.0.4 で発生しますが、Mac OS 7.x には存在しませんでした (r. 1670530)。たとえば、次のようなオブジェクト参照が返されます。

    tell application "Finder"
        get creator type of every process
            --> {ヌclass COBAネ, ヌclass apaeネ, ヌclass 3615ネ, ヌclass Mrr2ネ,
            ヌclass FMP3ネ, ヌclass ToySネ, ヌclass XPR3ネ}
        beep
    end tell



    この命令はアップデートされ、常に次のような 4 文字の文字列のリストを返すようになりました。

    tell application "Finder"
        get creator type of every process
            --> {"XPR3","FMP3", etc.}
        beep
    end tell



  • 「put away」には、次のような使い方のできる「without asking」引数をオプションで指定できるようになりました (r. 1673117)。

    tell application "Finder"
        set theDisk to disk "Scratch"
        put away theDisk without asking
    end tell



    オプションで指定できる「without asking」引数の効果は、「マシンを次に起動するときにこのディスクを再表示する」といった命令の処理中に表示される可能性のある警告を抑制することです。

  • 次に示すような、すべての取り出し可能なディスクの名前を取得しようとするスクリプトを正常に実行できるようになりました (r. 2244621)。これまで、このようなスクリプトは、「Finder でエラーが起きました:デスクトップにある ejectable = true のすべてのディスクの名前を取得できません」のようなエラーが発生して、実行が中止されていました。

    tell application "Finder"
       name of every disk of desktop whose ejectable is true
    end tell



  • スクリプトは、システム終了シーケンスまたは再起動シーケンスの一部として自分が呼び出されているかどうかを判断できるようになりました。現在の実行状況を検出するため、スクリプトは次のような、Finder の「execution state」属性を使用することができます。

    tell application "Finder"
       if execution state is restarting then
          beep 1 -- マシンが再起動されている
       else if execution state is starting up then
          beep 2 -- マシンを起動中
       else if execution state is running then
          beep 3 -- 完全に機能中
       else if execution state is rebuilding desktop then
          beep 4 -- 現在デスクトップファイルを再構築中
       else if execution state is copying then
          beep 5 -- コピー操作を実行中
       else if execution state is quitting then
          beep 6 -- マシンの電源を切断中
       end if
    end tell 



  • Mac OS 8.5 以降、ファイルに関連付けられている「modification date」および「creation date」属性を使用するスクリプトは動作しませんでした (r. 2279739)。この問題は Mac OS 8 から Mac OS 9.0.4 で発生しますが、Mac OS 7.x には存在しませんでした。この問題は修正され、次のようなスクリプトを使用できるようになりました。

    tell application "Finder"
        set the backup_list to every item of the entire contents of the startup
            disk whose modification date is greater than x
    end tell
                         
    tell application "Finder"
        set the backup_list to every item of the startup disk whose -
            creation date is greater than the (current date)
    end tell
                         
    tell application "Finder"
        set the backup_list to every item of the startup disk whose -
            modification date is greater than the (current date)
    end tell



ページの先頭に戻る




Apple Data Security 2.1

Apple Data Security は Mac OS にセキュリティ機能を提供します。使用できるセキュリティ機能には、ファイルシグネチャの署名と検証、パスワードの保守、およびファイルの暗号化に関する機能が含まれます。

  • Apple Data Security は 128 ビットの暗号化と復号化をサポートするようになりました。

  • いくつかの他社製のアプリケーションおよび Sherlock と関連して、キーチェーンが行う http プロキシパスワードの処理が改善されました (r. 2406669, 2391168)。



ページの先頭に戻る



Apple ファイル保護

Apple ファイル保護は暗号化機能を提供します。ユーザはこのアプリケーションを使って、パスワードによるファイルの暗号化または暗号化されたファイルの復号化を行うことができます。Finder の「暗号化」メニュー項目は、「アプリケーション」フォルダ内に常駐する Apple ファイル保護アプリケーションの機能に依存しています。Apple ファイル保護にはフォルダの圧縮および暗号化を行う機能はありません。これによりパッケージの暗号化が妨げられます。

  • Apple ファイル保護は 128 ビットの暗号化をサポートするようになりました。

  • Apple ファイル保護は、いくつかの他社製ウイルス保護ユーティリティとの互換性を向上するようにアップデートされました (r. 2399313)。

  • 「マルチユーザ」との互換性の問題が修正されました。これまで、Apple ファイル保護は、暗号化を要求されたファイルを含むフォルダの親フォルダに対する読み書きアクセス権をたまたま持っていないとき、そのファイルを含むフォルダ内のすべてのファイルを誤って暗号化しようとすることがありました (r. 2442096)。

ページの先頭に戻る




Apple ヘルプ

Apple ヘルプは、Mac OS のほとんどすべての機能についての詳細な操作ヘルプサービスを提供します。

新しい Apple ヘルプ API

  • Mac OS 9.1 と共に出荷される CarbonLib のバージョンにはいくつかの新しい API が導入されました。以下に、新しい API の概要を示します。

    AHSearch

    OSStatus AHSearch(
         CFStringRef bookname,
         CFStringRef query);



    - bookname パラメータで指定されるヘルプブックの中で、指定された query を検索するようにヘルプビューアに命令します。bookname が NULL の場合は、すべてのブックが検索されます。この関数は同期的に動作します。つまり、必要な場合は、ヘルプビューアアプリケーションを起動し、ヘルプビューアのコンテキストに切り替えて、検索を実行するということです。

    AHGotoMainTOC

    OSStatus AHGotoMainTOC(
         AHTOCType toctype);



    - toctype で指定されるメイン目次に移動するようにヘルプビューアに命令します。kAHTOCTypeUser を指定すると「ヘルプセンター」へ移動し、kAHTOCTypeDeveloper を指定すると「Developer Help Center」*へ移動します。この関数は同期的に動作します。つまり、必要な場合は、ヘルプビューアアプリケーションを起動し、ヘルプビューアのコンテキストに切り替えて、指定された目次ページへ移動するということです。

    注意:
    「Developer Help Center」は Mac OS X でのみサポートされます。呼び出し側がこの API の中で kAHTOCTypeDeveloper 定数を使用しようとすると、ヘルプビューアは「ヘルプセンター」を開きます。



    AHGotoPage

    OSStatus AHGotoPage(
         CFStringRef bookname,
         CFStringRef path,
         CFStringRef anchor);



    bookname と path の組み合わせによって指定される html ファイルに移動するようにヘルプビューアに命令します。bookname が NULL の場合、path はフル「file://」URL でなければなりません。bookname が NULL でなければ、path は bookname によって指定されるブックを基準とする相対パスでかまいません。anchor を指定すると、ヘルプビューアは、新しく開いたファイルの中でそのアンカーまで自動的なスクロールを行います。この関数は同期的に動作します。つまり、必要な場合は、ヘルプビューアアプリケーションを起動し、ヘルプビューアのコンテキストに切り替えて、指定されたページへ移動するということです。



    AHLookupAnchor

    OSStatus AHLookupAnchor(
         CFStringRef bookname,
         CFStringRef anchor);



    - 指定された anchor を含むファイルを開き、そのアンカーまでファイルをスクロールするようにヘルプビューアに命令します。bookname を指定すると、指定した anchor を含むファイルの検索がそのブックに制限されます。bookname が NULL の場合は、すべてのブックが検索されます。アンカーは一意であるべきですが、そうでない場合は、指定された anchor を含むすべてのファイルへのリンクのリストが表示されます。この関数は同期的に動作します。つまり、必要な場合は、ヘルプビューアアプリケーションを起動し、ヘルプビューアのコンテキストに切り替えて、アンカーを含むページまたは結果のリストへ移動するということです。

    AHRegisterHelpBook

    OSStatus AHRegisterHelpBook(
        const FSRef *appBundleRef);



    - アプリケーションが起動するたびにアプリケーションによって呼び出されるこの関数は、そのアプリケーションのパッケージ内に格納されているヘルプブックを検出し、そのヘルプブックのエイリアスをシステムヘルプの位置に置いて (エイリアスがまだ存在していない場合)、次にヘルプビューアを起動するときにそのヘルプブックが「ヘルプセンター」の中に表示されるようにします。

ヘルプビューア

ヘルプビューアはシンプルな HTML レンダリングアプリケーションで、ユーザがオンラインヘルプの情報をブラウズできるようにします。

  • ヘルプビューアと、他のシステム機能や一部の他社製プリンタとの間で発生していた、いくつかのメモリ管理および互換性の問題が修正されました (rr. 2535899, 2386521, 2510449, 2525758)。これらの変更により、結果的にヘルプビューアのパフォーマンスと安定性が向上しています。

  • help:///full/path/to/file.htm という形式の URL がヘルプビューアによって正しく認識されるようになりました (r. 2537852)。

  • ヘルプブックそのものではなく、ヘルプブックのエイリアスがヘルプブック内に格納されているときに、インターネットを経由したリモートコンテンツのダウンロードに関連して発生していた問題が修正されました (r. 2517221)。

  • ヘルプフォルダ内に格納されているエイリアスは、それらの名前がヘルプブックフォルダの名前と同じ場合だけ正常に動作するという問題が修正されました (r. 2474792)。今後、エイリアスに同じ名前を付ける必要はありません。


ページの先頭に戻る




Carbon のサポート - CarbonLib 1.1

Carbon は、Mac OS 9.1 と Mac OS X の両方で実行できるように設計された Mac OS アプリケーションで使用するプログラミングインタフェースのセットです。Mac OS 9.1 と共に出荷される CarbonLib のバージョンには次の新機能が追加されました。CarbonLib の詳細については、「Carbon SDK」を参照してください。

  • 新しい Carbon Event モデル API。
  • 新しい Carbon Printing モデル API。
  • DataBrowser API。
  • 新しいヘルプビューア API。
  • HTMLRenderingLib API。

     



重要:
Mac OS 9.1 は CarbonLib 1.1 と共に出荷されますが、パフォーマンスを向上させるため、Mac OS 9.1 のユーザは CarbonLib 1.2 またはそれ以降へのアップグレードを行うことをお勧めします。このテクニカルノートの執筆時点で、CarbonLib 1.2 はデベロッパ Web サイト (http://developer.apple.com/sdk) で「CarbonLib SDK」の一部として入手できます。



ページの先頭に戻る




ROM イメージファイルの内部

ROM イメージファイルはシステム起動時に RAM 内にロードされ、メモリのその領域は読み込み専用に設定されます。ROM イメージファイルの内容は、かつて Apple Macintosh コンピュータと共に出荷された古いハードウェアベースの ROM チップセットに取って代わります。ROM イメージファイルのアップデートは、システムアップデートおよび新しいハードウェアによって提供されます。Mac OS 9.1 と共にインストールされる ROM イメージファイルには、次の修正が加えられています。

  • これまで、スリープの解除後に一部の表示色が正しく表示されないという問題が発生することがありました (r. 2469657)。この問題は修正されました。

  • これまで、Pro キーボード (ANSI、ISO、JIS) の KMAP リソースに格納されている ID 番号は正しい番号ではありませんでした。この問題は修正されました (r. 2504668)。

     

ページの先頭に戻る



USB Support 1.4.4

Mac OS USB は Mac OS の ROM ファイルに組み込まれていて、内蔵 USB を持つ Macintosh システムで USB サポートを有効にします。

  • 接続されているデバイスが Name Registry 内で 'non-removable' と表示されるようになりました (r. 2439684)。

  • MacsBug との相互運用性の向上が Mac OS USB に組み込まれました (rr. 2540060, 2543100)。

     

ページの先頭に戻る




System ファイルの内部

System ファイルには、コンピュータを実行するために必要なコードとリソースが含まれます。このセクションでは、System ファイルに加えられた新機能、変更、およびバグフィックスについて説明します。shift キーを押しながらシステムを起動したときにも、System ファイルによって提供される機能は常に Mac OS 9.1 の一部としてロードされます。System ファイルには、このセクションで取り上げるライブラリの実行可能ファイルとシステムによって使用されるリソースデータが含まれています。

  • これまで、コンピュータがサーバに接続されていて、ユーザがパワーボタンを押したときに複数のアプリケーションが開いていると、まもなくサーバとの接続が解除されることをユーザに通知するダイアログがバックグラウンドに表示されていました。この問題は修正されました (r. 2486759)。

  • これまで、accRun 呼び出しの処理中に、あるドライバが別のドライバによってインストールされても、SystemTask はローメモリ変数 UTableBase および UnitNtryCnt の古い値を使い続けてしまうという問題がありました。SystemTask はアップデートされ、accRun 呼び出しの実行中にドライバユニットテーブルの移動またはサイズ変更が行われると、テーブルの先頭から accRun の処理を再開するようになりました (r. 2542196)。Mac OS 9.1 以前の Mac OS のバージョンで、accRun 呼び出しの実行中に、あるドライバの内部から別のドライバをインストールする必要がある場合、そのようなインストールは、accRun 呼び出しの処理中にドライバによって初期化される Notification Manager タスクの内部から実行できます。

  • これまで、Process to Process Communication Toolbox はキーチェーンライブラリをシステムヒープ以外のヒープにロードすることがあり、使用中のライブラリが閉じてしまうという危険がありました。この問題は修正され、キーチェーンライブラリは PPCToolbox によって常にシステムヒープにロードされるようになりました (r. 2516363)。

  • これまで、GetFSInfo、SetFSInfo、および InformFSM File System Manager 呼び出しの InterfaceLib グルーはレジスタ D3 を無効にしていました。この問題は修正されました (r. 2522240)。

  • File Manager、Device Manager、および Delay トラップでは、Multiprocessing API Library の先進的な省電力サポートを利用して、消費電力を低下させ、バッテリ寿命を延ばすようになりました。

  • Mac OS 9.1 以前、未処理の二次割り込みリクエストの数は 40 に制限されていました。Mac OS 9.1 では、この制限が 256 に増加しました (r. 2627130)。


ページの先頭に戻る



Alias Manager

Alias Manager はオペレーティングシステムの一部で、File Manager と情報をやり取りし、ファイルやフォルダの保存場所への参照を格納するために使用されるエイリアスレコードを管理します。Alias Manager は Finder のエイリアスファイルを作成しません。これらのファイルは Finder が作成し、Alias Manager によって作成されたエイリアスレコードをそれらのファイルの中に格納します。

  • FSSpecs の代わりに FSRefs を要求する、以下の新しい API が Alias Manager に追加されました。これらの新しいルーチンは、対応する以前の Alias Manager 呼び出しと同じ機能を提供しますが、古い FSSpec データ型の代わりに新しい FSRef データ型を使用する点が異なります。次に、新しい呼び出しの一覧を示します。

    OSErr FSNewAlias(
        const FSRef *fromFile, /* NULL でもかまわない */
        const FSRef *target,
        AliasHandle *inAlias)
                         
    OSErr FSNewAliasMinimal(
        const FSRef *target,
        AliasHandle *inAlias)
                         
    OSErr FSIsAliasFile(
        const FSRef *   fileRef,
        Boolean     *   aliasFileFlag,
        Boolean     *   folderFlag)
                         
    OSErr FSResolveAliasWithMountFlags(
        const FSRef *   fromFile, /* NULL でもかまわない */
        AliasHandle inAlias,
        FSRef       *   target,
        Boolean     *   wasChanged,
        unsigned long   mountFlags )
                         
    OSErr FSResolveAlias (
        const FSRef *   fromFile, /* NULL でもかまわない */
        AliasHandle    alias,
        FSRef      *   target,
        Boolean    *   wasChanged)
                         
    OSErr FSResolveAliasFileWithMountFlags(
        FSRef       *   theRef,
        Boolean         resolveAliasChains,
        Boolean     *   targetIsFolder,
        Boolean     *   wasAliased,
        unsigned long   mountFlags )
                         
     OSErr FSResolveAliasFile(
        FSRef       *   theRef,
        Boolean         resolveAliasChains,
        Boolean     *   targetIsFolder,
        Boolean     *   wasAliased)
                         
     OSErr FSFollowFinderAlias(
        FSRef       *   fromFile, /* NULL でもかまわない */
        AliasHandle     alias,
        Boolean         logon,
        FSRef       *   target,
        Boolean     *   wasChanged)
                         
     OSErr FSUpdateAlias(
        const FSRef   *   fromFile, /* NULL でもかまわない */
        const FSRef   *   target,
        AliasHandle alias,
        Boolean *wasChanged)
                         



ページの先頭に戻る



Appearance Manager

Appearance Manager は、グラフィカルユーザインタフェースの要素に一貫したアピアランスを与えるための機能を提供します。

  • DrawThemeGenericWell には明らかなアップデートのバグがあります。くぼみに対するアップデートが必要で、しかも外側の 1 ピクセルまたは 2 ピクセルだけがアップデートを必要としている場合、Appearance Manager 内の最適化により、くぼみの外側の境界は描画されません (r. 2435805)。

ページの先頭に戻る



ATSUI

Unicode は、フラットな 16 ビット数値空間の中で多数の言語の文字をエンコードする文字セットです。ATSUI は QuickDraw API を拡張し、Mac OS アプリケーションによる Unicode テキストの描画を可能にします。ATSUI は Unicode テキストを描画するためのローレベルなサービスを提供するだけでなく、これまでは QuickDraw GX によって行われていたハイエンドなタイポグラフィ制御の多くを提供します。

  • これまで、フォントのスクリプトコードを正しく読み込めなかったため、一部の他社製 Unicode cmap は ATSUI で使用されませんでした。ATSUI はスクリプトコードを正しく読み込めるようになったため、これらのフォントを使用できるようになりました (r. 2541880)。

  • ATSULeftCursorPosition および ATSURightwardCursorPosition ルーチンでは、クラスタの移動に対して Unicode Utils ルーチンを使用するようになりました。その結果、代理クラスタおよびインド語クラスタに対する ATSULeftCursorPosition と ATSURightwardCursorPosition のクラスタ移動操作で発生していたいくつかの問題が修正されました (r. 2503643)。

  • ATSUPreviousCursorPosition および ATSUNextCursorPosition では、レイアウト境界へのオフセットを正しく返すようになりました。これまで、これらの関数はレイアウト境界を超えるオフセットを返すことがありました。たとえば、レイアウトがオフセット 2 から始まるのに、オフセット 0 のテキストが 5 文字からなる単語で始まる場合に、初期オフセットを 3 に設定し、ATSUPreviousCursorPosition に前の単語の境界を返すように要求すると、これまでは 0 が返されていましたが、現在は正しく 2 が返されるようになりました (r. 2503648)。

  • ATSUPositionToOffset ルーチンは代理ペアを処理できるようになりました (r. 2497992)。

  • これまで、QDStyles のみが使用されている一部の環境では、ATSUCompareStyles が実際には異なる 2 つのスタイルランを等しいものであると判断することがありました。この問題は修正されました (r. 2485233)。

  • ATSUI を使用してプリントされるカラーテキストが印刷ページに期待どおりに出力されないという問題は修正されました (r. 2393116)。

  • 下線文字スタイルは今後、リターン文字に適用されなくなります (r. 2520184)。


ページの先頭に戻る



Drag Manager

Drag Manager では、ウインドウ間またはアプリケーション間でのドラッグ & ドロップ操作をサポートします。

  • これまで一部の環境下では、DrawThemeFocusRect が 2D グラフィックスのアクセラレーションを無効にすることがありました。この問題は修正されました (r. 2445982)。

ページの先頭に戻る



Deferred Task Manager

Deferred Task Manager はオペレーティングシステムの一部で、ハードウェア割り込みサイクルの最後に他のすべての割り込みが可能になるようにしてルーチンを実行するために使用できます。通常、あるハードウェア割り込みの内部で実行されるコードは Deferred Task Manager を呼び出して、他の割り込みがハードウェア割り込みサイクルの内部でただちに処理される場合は、それらの割り込みを十分な時間にわたって無効にするオペレーションのスケジュールを設定します。

  • ある遅延タスクが、CallSecondaryInterruptHandler2 ルーチンを使用する遅延タスクの内部から二次割り込みハンドラを同期的に呼び出せるようになりました (r. 2529860)。

  • 二次割り込みハンドラの内部からインストールされるとき、遅延タスクはただちに実行されなくなります。また、二次割り込みの処理中にインストールされる遅延タスクは、二次割り込みサイクルの最後まで処理が遅延されます (r. 2529860)。


ページの先頭に戻る



File Manager

File Manager は、ディスクベースの情報を格納したり取得したりするためのサービスを提供します。File Manager には次の変更が加えられました。

  • ファイルへの追加スペースの割り当てのパフォーマンスが大幅に向上しました。

  • 512 バイト境界で始まらないファイルへの書き込みは、File Manager の以前のバージョンに比べて最大で 3 倍まで高速化できます。特に、File Manager の書き込みリクエストが 512 バイト境界で始まらず、その書き込みリクエストの最後が開始点を含む 512 バイトディスクブロックの末尾を超え、しかもその書き込みリクエストの残りの部分がキャッシュに格納されないとき (ioPosMode の noCache ビットがセットされていたり、書き込みリクエストが大きすぎてキャッシュに収まりきらないため)、書き込みリクエストの先頭部分を含むキャッシュバッファは即座にディスクにフラッシュされます。これにより、ファイルがフラッシュまたはクローズされるときに 1 ブロックずつフラッシュする必要のある不連続な (ディスク上の) ダーティキャッシュバッファがディスクキャッシュ内に残されなくなります。

  • ディスクキャッシュのサイズを 8 MB を超えるサイズに設定できるようになりました (詳細については、「メモリ」コントロールパネルのセクションを参照してください)。

  • File Manager は改訂され、データをバッファに格納するときにいずれかのローメモリグローバルを上書きする可能性がある場合は読み込みコマンドを処理しなくなりました (r. 2508431)。

  • FSGetCatalogInfoBulk は、PC フォーマットの Zip ディスクと共に正しく動作するようになりました (r. 2485093)。

  • パーソナルファイル共有では、4 GB を超えるボリュームを使用できるようになりました (r. 2283946)。

  • ISO 9660 CD から空フォルダを含む大規模なツリーをコピーするときに発生することがあった問題が修正されました (r. 2372435)。

  • ファイル共有が開始されているときも、FSCreateFileUnicode は正しく動作するようになりました。これまで、このルーチンによって作成されるファイルは、このルーチンに渡すパラメータで正しく指定しておいても、ファイルタイプとクリエータがブランクになってしまっていました (r. 2397324)。

  • これまで、非常に多数の非同期読み書き呼び出しを同時に実行すると、不正なリザルトコードが返されるようになるという問題が報告されていました。この問題を引き起こす潜在的な環境は、Mac OS 9.0 および Mac OS 9.0.4 にのみ存在します (r. 2452853)。

  • 2 バイト文字のエンコーディングを行うシステムで複製を行うとき、ファイル名がスクランブルされてしまうという問題が修正されました (r. 2475992)。特に、テキストエンコーディングヒントの設定を試みなかった FSSetCatalogInfo 呼び出し (またはその PB 相当呼び出し) は、最終的にテキストエンコーディングヒントを現在のデフォルトのテキストエンコーディングに変更してしまっていました。FSSetCatalogInfo は、テキストエンコーディングヒントを変更せずにそのまま残すようになります。

  • 強制アンマウントを行うと、アンマウント操作を続けて、ボリュームに割り当てられているメモリ構造体を破棄する前に、任意の反復子または「ラージ」ファイル(つまり、OpenFork を使って開かれたファイル) が閉じられるようになりました (r. 2526761)。

  • パフォーマンスを向上させるため、サイズが 220 GB を超えるボリュームのデフォルトアロケーションブロックサイズは 8K に設定されました (r. 2529957)。

  • Mac OS 拡張 (HFS Plus) ボリューム上のカタログノード ID (CNID) は再利用できるようになりました。CNID が再利用されるとき、VCB の vcbAtrb フィールドおよび HFSPlusVolumeHeader の attributes フィールドのビット 12 (kHFSCatalogNodeIDsReusedBit) がセットされます。

  • このビットがセットされていることを確認したディスク修復ユーティリティは、すでに使用されている nextCatalogID より大きな CNID を検出した場合にも、それをエラーと見なしてはいけません。


ページの先頭に戻る



File System Manager

File System Manager は、外部ファイルシステムのインストールや識別を行ったり、外部ファイルシステムとオペレーティングシステムとのインタフェースをとるための一般的な手段を提供します。

  • これまで、GetFSInfo、SetFSInfo、および InformFSM の InterfaceLib グルーコードは、68020 エミュレータ内のレジスタ D3 を無効にしていました。この問題は修正され、このレジスタは正しく保持されるようになりました (r. 2522240)。

ページの先頭に戻る



Folder Manager

Folder Manager は、フォルダ名に依存することなく、特殊なフォルダ (たとえば、システムフォルダ内の「機能拡張」フォルダなど) を検出するための機能を提供します。Folder Manager はアプリケーションのローカライズ作業を支援します。

  • 起動ディスク以外のディスク上にある「Chewable Items」フォルダもシステム起動時に空にされるようになりました。システムソフトウェアの以前のバージョンでは、起動ディスク上の「Chewable Items」フォルダだけがシステム起動時に空にされていました (r. 2468800)。

  • これまで、新しいフォルダを作成しようとしたときに発生したエラーは、FindFolder ルーチンによって返されていませんでした。この問題は修正され、FindFolder はフォルダを作成しようとしたときに生成されるエラーコードを正しく返すようになりました (r. 2489334)。

  • Folder Manager は、ボリュームのマウント時およびアンマウント時にネットワークのゴミ箱フォルダに対してさらにいくつかのクリーンアップ操作を実行するようになりました (r. 2485627)。


ページの先頭に戻る



Font Manager

Font Manager は、テキスト情報を表示するグリフを取得するためのシステム全体にわたるサービスを提供します。

  • FMGetFontFamilyTextEncoding はこれまで、日本語 PostScript フォントのベースエンコーディングのみを返し、フォントバリアントを返していませんでした。この問題は修正され、FMGetFontFamilyTextEncoding はフォントバリアントも返すようになりました (r. 2489182)。

ページの先頭に戻る



Icon Services

Icon Services は、ファイルアイコン、ディレクトリアイコン、またはその他の一般的に使用されるアイコン (たとえば、警告アイコン、注意アイコン、ヘルプアイコンなど) の表示に使用される適切なアイコン情報を高速かつ効率的に取得するための機能を提供します。

  • パッケージにカスタムアイコンが適用されているときでも、GetIconRefFromFile ルーチンは Mac OS 9 Finder パッケージの正しいアイコンを返すようになりました (r. 2481644)。

  • 画面が 16 ビットモードのときに 8 ビットアイコンを使用していると発生していた問題が修正されました。これまで、この問題の回避方法としては、画面を 32 ビットモードに切り替えるしかありませんでした (r. 2395259)。

  • DesktopDB という名前のファイルを含むボリューム上での「Desktop」という名前のファイルに対する冗長検索が省略されました (r. 2388430)。


ページの先頭に戻る



Memory Manager

Memory Manager はオペレーティングシステムの一部で、メモリ割り当てリクエストの管理を担当します

  • Memory Manager コードの pc ロケーションとして表示されていた MacsBug デバッガのシンボルが BowelsOfTheMemoryMgr からよりわかりやすい名前である YourHeapIsProbablyCorrupt に変更されました (r. 2529682)。

ページの先頭に戻る



Menu Manager

Menu Manager はオペレーティングシステムの一部で、メニューバーの描画と、メニューコマンドを選択するときのメニューおよびポップアップメニューの描画を管理します。

  • IsMenuItemEnabled が常に true を返すという問題が修正されました。このルーチンは、項目の実際のステータスを返します (r. 2406841)。

  • マウスでポップアップメニューを開いているときにキーボードメニューコマンドによる選択を行うと、PopUpMenuSelect が不適切なメニュー項目を返す場合があるという問題が修正されました (r. 2438609)。

  • メニューバー・クロックのバッテリインジケータが、バッテリの状況の変化により敏感に応答できるようになりました (r. 2497581)。


ページの先頭に戻る



MultiLingual Text Editing

MultiLingual Text Editing (MLTE) は、Unicode テキスト書類を作成して編集するための C 言語インタフェースを提供します。MLTE の機能は多くの点で TextEdit の機能に類似しているように見えますが、実際には TextEdit に含まれていないさまざまな機能を提供します

  • メモリ不足になった場合の TXNNewObject の操作の安定性が向上しました (rr. 2536146, 2534825)。

  • サポートされていないフォントを使用した操作の実行を要求されたとき、TXNDoFontMenuSelection は適切なエラーコードを返すようになりました (r. 2488121)。

  • これまで、TXNSetDataFromFile ルーチンは呼び出されたときに入力オフセットを無視していました。今後は、これらのパラメータを適切に使用します (r. 2479847)。

  • MLTE は、フォントの UniqueName ではなく、フォントのフルネームをエンコードされたファイルの中にエンコードするようになりました (r. 2500541)。

  • これまで、テキストデータが RTF 形式ファイルから読み込まれるとき、均等配置の情報が使用されず、テキストがソースファイルで指定したとおりに均等配置されていないように見えることがありました。この問題は修正されました (r. 2507443)。

  • TXNFind ルーチンの検索データとして kTXNUnicodeTextData を指定できるようになりました (r. 2505642)。

  • TXNAttachObjectToWindow ルーチンは、それが呼び出されるときに現在の GrafPort 設定を保持すようになりました (r. 2516497)。


ページの先頭に戻る



Multitasking/Multiprocessing API

Multitasking/Multiprocessing ライブラリを使用すると、アプリケーションは 1つまたは複数の PowerPC プロセッサを搭載したコンピュータでプリエンプティブマルチプロセッシング操作を実行できるようになります。

  • これまで、あるデバッガがすでに特定のレベルに登録されているとき、それと同じレベルに別のデバッガを登録しようとしても、MPRegisterDebugger ルーチンはエラーを返しませんでした。MPRegisterDebugger は、すでに登録されているレベルにデバッガを登録しようとすると、エラーを返すようになりました。複数のデバッガを登録できるようになったため、Macsbug をインストールしているときでも、その他の複数のデバッガをインストールすることができます (r. 2490379)。

  • kMPTaskStoppedErr 定数を使って呼び出されるときに、MPThrowException ルーチンが kInvalidID エラーを返すという問題が修正されました (r. 2492526)。

  • オプションパラメータで kMPAllocateNoGrowthMask マスクを使って MPAllocateAligned を呼び出すと、MPAllocateAligned への呼び出しがクラッシュするという問題が修正されました (r. 2510691)。

  • MPAllocateAligned によって割り当てられたメモリプールは、それらが必要でなくなったときに適切に解放されるようになりました。

  • ローメモリトラップテーブルを介してディスパッチされる InterfaceLib、DislayLib、FSMLib、または DragLib 呼び出しは MP タスクからも呼び出せるようになりました。


    注意:
    これらの呼び出しの大部分は MPRemoteCall 形式のグルーによって実装されているため、これらのライブラリを MP タスクから呼び出すときには少量のオーバーヘッドが発生します。また、これらの呼び出しはリエントラントの保護を実行せず、InterfaceLib に含まれる API の多くはリエントラントではありません。したがって、アプリケーションは必要に応じて独自の相互排他コードを提供しなければなりません。



  • MPRemoteCall に kMPInterruptRemoteContext という新しいオプションが追加されました。このオプションにより、リモートプロシージャはレベル 1 割り込み時に実行されるようになります。kMPInterruptRemoteContext オプションを使用しているとき、MPRemoteCall プロシージャはほとんど即座に呼び出されます (待ち時間は 1.5 マイクロ秒)。この新しいオプションを使用すると、アプリケーションは、即座に実行され、WaitNextEvent を呼び出すアプリケーションに依存しない、割り込み時に呼び出し可能な MPRemoteCall プロシージャを呼び出せるようになります。

    重要:
    kMPInterruptRemoteContext オプションを使って呼び出された MPRemoteCall プロシージャは、割り込み時に呼び出し可能でなければなりません。したがって、これらのプロシージャはメモリの移動または割り当てを行うルーチンを呼び出すことはできません。割り込み時に呼び出し可能なルーチンの詳細については、「Technical Note TN1104, Interrupt-Safe Routines」を参照してください。



  • kMPOwningProcessRemoteContext を指定するとき、MPRemoteCall は WakeUpProcess を呼び出すようになりました。これにより、MPRemoteCall の呼び出し待ち時間が大幅に短縮されます (16 ミリ秒から 100 マイクロ秒に)。

  • MP ページフォールトは、システムタスク時ではなく割り込み時に解決されるようになりました。これにより、MP タスクに対するページフォールト待ち時間が改善され、MP スレッドの実行時に発生する可能性のあったブロック状況の数が減少します。

  • 次の条件が満たされると、MPAllocateAligned ルーチンはメモリが十分に存在しても正常に実行されないことがありました。


    1. アプリケーション 1 によって作成されたプリエンプティブタスクから呼び出しが行われている。
    2. アプリケーション 1 は、リクエストに使用するスペースを確保するために、まだ MaxApplZone を呼び出していない。
    3. 割り当てリクエストサイズはヒープ内にある現在の空きスペースよりも大きい。
    4. アプリケーションヒープをフルサイズに拡張すると、割り当てリクエストはその中に収まる。
    5. 現在のアプリケーションはアプリケーション 1 ではない


    この問題は修正され、割り当てリクエストを満たすために十分メモリが使用可能であるとき、MPAllocateAligned 呼び出しはこのような条件下でも正常に実行されるようになりました (r. 2512273)。

  • Multitasking/Multiprocessing API ライブラリに含まれていたいくつかのバグが修正され、結果的にオペレーションの安定性が向上しました (rr. 2513476, 2520949, 2517072, 2522261, 2524626)。

ページの先頭に戻る



Navigation Services

Navigation Services は新しい「開く」、「保存」ダイアログを提供して、ユーザがファイルやその他のリソースを容易に検索して選択することを可能にします。

  • インライン入力を使用する特定の条件下では、「新規フォルダ作成」Navigation Services サブウインドウの新規フォルダ名フィールドがテキスト入力を受け付けませんでした。この問題は修正されました (r. 2404367)。

  • 「ショートカット」ボタンに「iDisk に接続」という新しい項目が追加されました (r. 2463489)。

  • 「開く」ダイアログボックスでよく使う項目をリストに追加するプロセスで発生していた DisposeHandle 呼び出しのエラーは取り除かれました (r. 2470707)。


ページの先頭に戻る



PPC Toolbox

PPC(Program-to-Program Communications)Toolbox は、同じマシン上で実行されているプロセス、および AppleTalk ネットワークまたは TCP/IP ネットワークによって接続されている異なるコンピュータ上で実行されているプロセスを対象とするプロセス間通信機能を提供します。

  • PPC Toolbox は自分自身を Network Services Location に登録するようになりました。NSL に登録される名前は、「生」のドメイン名または IP アドレスではなく、「ファイル共有」コントロールパネルで割り当てられているマシン名です。これは、AppleTalk および TCP/IP 経由のどちらでネットワークをブラウズしても、同じマシン名が確認できるようになるという意味です (rr. 2382164, 2450626)。

  • TCP/IP 経由の PPC に対する PPCToolbox で使用されるデフォルトのポート番号を変更できるようになりました。PPCToolbox によって使用されるポート番号は、システムファイルの 'ppc2' リソースに含まれています。PPCToolbox が初期化されるときにこのリソースが存在すると、これに含まれる ID 番号は、TCP/IP 接続経由で受信するすべての PPC に対するデフォルトのリスニングポートとして使用されます (r. 2450615)。

    次に、システムファイルに含まれるデフォルトの 'ppc2' リソースに対する Rez 定義を示します。

    type 'ppc2' {
        unsigned integer; // データ構造体のバージョン (1)
        unsigned integer; // デフォルトの PPCtoolbox TCP ポート
    };
                         
                         
    resource 'ppc2' (-16409) {
    	1,    // リソースのバージョン
    	3031  // デフォルトの PPCtoolbox TCP ポート
    };
                         



  • リモートコンピュータを記述するロケーションネームレコードが PPC 接続のリスニング側で不正に設定されることがありました。この問題は修正されました (r. 2426253)。

  • これまで、スリープを解除するとき、プログラムリンクは停止されていました。今後は、マシンがスリープに入る前にプログラムリンクが開始されている場合、マシンのスリープを解除すると、プログラムリンクは再度開始されるようになります (r. 2435676)。

  • 改善が加えられ、キーチェーンと組み合わせて使用するときに PPCToolbox のオペレーションがより安定したものになりました (r. 2516363)。


ページの先頭に戻る



Process Manager

Process Manager は複数のアプリケーションにプロセッサを共有させます。Mac OS 9.1 の Process Manager には次の変更が加えられています。

  • Process Manager 全体がネイティブ PowerPC コードで書き換えられました。このため、タスクスワッピングのオーバーヘッドが減少し、全般的なシステムパフォーマンスが向上します。特に、アプリケーション間の切り替えを行う WaitNextEvent 呼び出しと Apple イベントのパフォーマンスが向上しました。また、バッテリ電源を使用する場合のパフォーマンスも相当に改善されました。

  • WakeUpProcess はプロセスのスケジューリングを適切に実行し、プロセスのスリープ時間と未処理イベントのキューに従って、それらの優先順位を決定するようになりました。

  • Mac OS 9 では、フローティングウインドウを表示するアプリケーションが予期せず終了した後でシステムがクラッシュすることがありました。この問題は修正されました (r. 2540229)。

  • Process Manager はメモリをより効率的に使用するようになり、適切に Multitasking/Multiprocessing ライブラリとの調整をとるようになりました (r. 2005897)。


ページの先頭に戻る



QuickDraw

QuickDraw は Mac OS の一部で、画面やその他のラスタデバイス上でグラフィカル情報の描画と表示を行うために使用されます。

  • CalcCMask は、long 型の rowBytes 値を使用した PixMaps とも適切に動作できるようになりました (r. 2396796)。

  • QuickDraw は、long 型の rowBytes 値を使用した PixMaps を含むピクチャを正しく描画するようになりました (r. 2358107)。

  • CopyBits は、long 型の rowBytes 値を使用した PixMaps をスケールダウンできるようになりました (r. 2407463)。


注意:
Color Manager が変更され、8 ビットデバイスに対するモノクロのリクエストは、白がパレットの先頭のエントリで、黒は最後のエントリであるというマニュアルに記載されている要件を使用するようになりました。このため、アプリケーションがこれらの必要な位置に白と黒を含まないカスタムパレットを持っている場合は問題が発生します。



ページの先頭に戻る



QuickDraw Text

QuickDraw Text は Mac OS の一部で、画面やその他のラスタデバイス上でテキスト情報の描画と表示を行うために使用されます。

  • これまで、QDText アクセラレータが 1 つしか登録されていないと、QuickDraw Text はその存在を認識できず、テキストアクセラレーションは実行されませんでした (r. 2540704)。今後はテキスト描画のハードウェアアクセラレーションが可能になり、ハードウェアアクセラレーションが使用できないときは、それに代わって Velocity Engine ベースのアクセラレーションが使用されるようになります (r. 2447291)。

ページの先頭に戻る



Resource Manager

Resource Manager は、アプリケーションおよびオペレーティングシステムの実行時に使用される情報を格納したり取得したりするためのデータファイル形式を提供します。

  • パフォーマンスを向上させるため、Mac OS 9.1 の Resource Manager のパフォーマンスと、Mac OS 9.1 Resource Manager によって保存されたリソースファイルを使用するアプリケーションのパフォーマンスに影響を与えるいくつかの変更が加えられました。

    特に、Resource Manager は、読み書き可能でオープンされたファイルのリソースタイプと ID をソートするようになりました。その結果、GetIndResource から返されるリソースの順序が Resource Manager の以前のバージョンとは異なる可能性があります。AddResource または RemoveResource を呼び出してあるタイプのリソースの追加または削除を行うとき、GetIndResource を使って、そのリソースタイプ全体の列挙を行うと、同じコードで Resource Manager の以前のバージョンを使用した場合とは矛盾する結果が返される可能性があります。

    また、小さなリソースを複数取得する必要のある File Manager Read リクエストの数は、可能なときには 2 リクエストから 1 リクエストに減少しました。

  • 新しい Gestalt ビットの gestaltRMSupportsFSCalls が gestaltResourceMgrBugFixesAttrs セレクタから返される値に追加されました。このビットは、前述した新しい FSRef 呼び出しの存在を示します。

  • FSSpecs の代わりに FSRefs を使用する新しい API が追加されました。次に、これらの新しい API の概要を示します。

    OpenResFileFSRef

    short OpenResFileFSRef(
            const FSRef *ref,
            SignedByte permission);

    OpenResFileFSRef は FSpOpenResFile と同じオペレーションを実行しますが、呼び出し元が FSSpec の代わりに FSRef を使用してファイルを参照できる点が異なります。



    CreateResFileFSRef

    void CreateResFileFSRef(
            const FSRef *parentRef,
            UniCharCount nameLength,
            const UniChar *name,
            FSCatalogInfoBitmap whichInfo,
            const FSCatalogInfo *catalogInfo, /* NULL でもかまわない */
            FSRef *newRef, /* NULL でもかまわない */
            FSSpec *newSpec) /* NULL でもかまわない */
        
    おそらく NULL
                         

    CreateResFileFSRef は新しいリソースファイルを作成します。対応するルーチンの FSpCreateResFile に類似していますが、この新しいルーチンには、新しい HFS+ API との統合を考慮して、いくつかの追加パラメータが用意されています。

    • parentRef - ファイルが作成されることになるディレクトリ
    • nameLength - ファイルの名前に使用する Unicode 文字の数
    • name - Unicode 名へのポインタ
    • whichInfo - 設定するカタログ情報フィールド
    • catInfo - 設定するカタログ情報フィールドの値 (NULL でもかまわない)
    • newRef - 新しいリソースファイルの FSRef へのポインタ (NULL でもかまわない)
    • newSpec - 新しいリソースファイルの FSSpec へのポインタ (NULL でもかまわない)





    ResourceFileAlreadyOpenFSRef

    Boolean ResourceFileAlreadyOpenFSRef(       
            const FSRef *resourceFileRef,
            Boolean *inChain,
            SInt16 *refNum);    
                         

    resourceFileRef によって参照されるリソースファイルがすでにオープンされている場合、ResourceFileAlreadyOpenFSRef は true を返します。ファイルがオープンされている場合は、inChain および refNum パラメータが設定されます。

    • resourceFileRef - ディスク上のファイルへの参照

    • inChain - ファイルがオープンされていて、そのマップが現在のリソース検索チェーン内にある場合は true に設定される

    • refNum - リソースファイルの参照番号が設定される。この参照番号は、このファイルにアクセスする他の Resource Manager ルーチンでも使用される




ページの先頭に戻る



Script Manager

Script Manager は、数値、日付、時刻、およびその他の情報を言語に依存しない方法で表示したり取得したりする機能を提供します。

  • これまで、StringToExtended と ExtendedToString の動作が完全に対称的ではない場合がありました。この問題は修正されました (r. 2454794)。

  • これまで、現在のスクリプトの morningStr と eveningStr が空のときに InitDateCache を呼び出すと、クラッシュが起きることがありました。この問題は修正されました (r. 2439135)。

  • 地域名の「Flemish」は「Belgian」に変更されました (r. 2519932)。

  • TransliterateText が簡体字中国語の 2 バイトの数値を ASCIIの数値に変換できないという問題が修正されました (r. 2476554)。

  • IntlTokenize ルーチンはこれまで、「<>」というトークンを tokenLessGreat と認識できませんでした。つまり、このトークンは、tokenLess および tokenGreat の連続と見なされていました。この問題は修正され、「<>」は正しく tokenLessGreat と認識されるようになりました (r. 2396920)。


ページの先頭に戻る



StdCLib 3.7

StdCLib は、C 言語を使ってコンパイルされたプログラムにさまざまな機能を提供する共有ライブラリです。Mac OS 9.1 では、System ファイルのデータフォークに StdCLib の新しいバージョンが含まれています。StdCLib 3.7 には次の修正が加えられています。

  • StdCLib for Mac OS 9.1 に加えられた最大の変更は、すべての StdCLib 関数がプリエンプティブタスクから呼び出せるようになったということです (r. 2464965)。この中には、<stdio.h> の I/O オペレーションや <stdlib.h> のメモリ管理が含まれます (たとえば、malloc、calloc、realloc、free)。

    これらの機能を使用するために実行しなければならない初期化の操作は特にありません。ただし、MP タスクから <errno.h> の errno を設定または取得するためには、ソースコードが「-d _POSIX_THREAD_SAFE_FUNCTIONS」とバージョン 3.7 <errno.h> を使ってビルドされていなければなりません (r. 2464965)。これは、errno が、それを要求したタスクの errno 値のアドレスを取得するマクロとして再定義される必要があるためです。つまり、errno はタスク単位のデータであり、それぞれの MP タスクは独自の errno 値を持つということです。

    また、一部のグローバルステートもタスク単位で管理されます。このようなグローバルステートには、<stdlib.h> に含まれる乱数ジェネレータ rand のシード、<string.h> に含まれる strtok のスキャンのステート、<math.h> の ecvt と fcvt、<stdio.h> の tmpnam、および <time.h> の asctime および localtime に対するスタティックデータがあります。

  • 次の関数が <stdio.h> に追加されました (r. 2464965)。


        int getchar_unlocked(void);
        int getc_unlocked(FILE* stream);
        int putchar_unlocked(int c);
        int putc_unlocked(int c, FILE* stream);
        void flockfile(FILE* file);
        int ftrylockfile(FILE* file);
        void funlockfile(FILE* file);
                         
    したがって、次のように書けます ...
                         
        flockfile(stdout);
            for (i = 0 ; i < N ; i++)
                putc_unlocked(buffer[i], stdout);
        funlockfile(stdout);
                         
    ... こうすれば、各呼び出しに対するオーバーヘッドを招くことなく、
    putc をループ内に置いて、出力を直列化することができます。



  • MP 対応を促進するため、バージョン 3.7 <stdio.h> から getc、putc、clearerr、feof、ferror、および fileno の各マクロが削除されました。

ページの先頭に戻る



Text Services Manager (TSM)

Text Services Manager は、アプリケーションが、特殊なテキスト入力方法、スペルチェック、ハイフネーションなどのサービスを提供するさまざまなテキスト処理ユーティリティと情報をやり取りするために必要な機能を提供します。

 

  • Carbon イベントモデルに対するサポートが TSM に組み込まれました (r. 2484817)。この機能のための新しい API は存在しません。すべて TSM によって処理されます。ただし、TSM API のクライアントは、「Inside Macintosh」で概説されている方法に従って既存のルーチンを呼び出す必要があります。

  • SetTSMCursor ルーチンは CarbonLib 1.1 では使用できません。代わりに、Carbon アプリケーションは新しい TSMSetInlineInputRegion を使用し、TSM は Carbon イベント経由でカーソルの設定を自動的に処理します (r. 2483971)。


ページの先頭に戻る



Thread Manager

Thread Manager はオペレーティングシステムの一部で、複数のアプリケーションプログラム内で使用するマルチプログラミングサービスを提供します。

  • Mac OS 9 では、あらかじめ割り当てられているスレッドプール内で割り当てられたスタックを含むスレッドに対して DisposeThread を呼び出すとき、アプリケーションはあらかじめ割り当てられているスレッドプールからスタックに割り当てられたメモリをリークしていました。これは、Thread Manager 内部で行われるスタックブロックの追跡に関連する問題です。この問題は Mac OS 9.1 で修正されました (r. 2410436)。

ページの先頭に戻る



Time Manager

Time Manager は、ミリ秒およびマイクロ秒単位でタイミングをとる機能を Mac OS ベースのコンピュータに提供します。

  • これまで、24 日を超える期間にわたって通常割り込みのスケジューリングに使用されるとき、Extended Time Manager にはタイミングのずれが発生していました。この条件は修正され、この方法で使用されるときにも Extended Time Manager のルーチンでは、ずれが発生しなくなりました (r. 2471974)。

ページの先頭に戻る



Unicode Text Utilities

Unicode Text Utilities は、Unicode テキストと共に動作する API のセットを提供します。これらの API は Unicode テキストのソートや照合を行うためのサービスを提供します。

  • Unicode テクニカルレポートに記載されているように、ソートを行ったときに数字は文字の前に配置されるようになりました (r. 2503166, 2503167)。

ページの先頭に戻る



vDSP 1.0

vDSP はベクタおよびスカラデジタル信号処理関数のグループで、サウンド、MP3、スピーチ、オーディオ、ビデオ、レーダーなどの分野で Velocity Engine を利用します。

  • 詳細については、まもなく公開される「vDSP SDK」を参照してください。関心のあるデベロッパは Velocity Engine の Web ページ (http://developer.apple.com/hardware/ve/index.html) にアクセスしてください。

ページの先頭に戻る



Virtual Memory Manager

Virtual Memory Manager は Mac OS に仮想メモリサービスを提供します。

  • 仮想ファイルマッピングがサポートされました。詳細については、まもなく公開されるテクニカルノートを参照してください。これらのルーチンに関連するマニュアルは、現在、FileMapping.h ヘッダファイルの中に記載されています。

  • MP タスクによって発生したページフォールトは、これまでよりもかなり短い待ち時間で処理されるようになりました。Mac OS 9.1 の場合、MP タスクによるページフォールトは、割り込みの待ち時間を使って処理されます。Mac OS 9.1 以前は、SystemTask が呼び出されるときに処理されていました。

  • マルチプロセッサシステム上で実行される MP タスクと仮想メモリページングオペレーションとの間のレース条件は削除されました。特に、ページアウトされるメモリページはディスクに書き込まれる前に論理メモリから分離されるようになり、ページインされるメモリページは論理メモリにマップされる前に有効な値を含むようになりました。


ページの先頭に戻る



Window Manager

Window Manager は、画面上にウインドウを描画したり、描画したウインドウを管理したりするための機能を提供します。

  • これまで、kWindowDragRgn セレクタが指定されているとき、GetWindowRegion は無効な領域を返すことがありました。この問題は修正されました (r. 2314117)。

  • メニューバーの背後にあるすべての領域を使って作成されたウインドウに対する DisposeWindow で発生することのあったメモリリークが修正されました (r. 2369718)。

  • これまで Window Manager の PowerPC バージョンの場合、Window Manager の 68K 実装とは異なり、CalcVis は不可視ウインドウの visRgn に空の領域を設定していませんでした。この問題は修正され、Window Manager の PowerPC バージョンも、不可視ウインドウの visRgn に空の領域を設定するようになりました (r. 2414578)。

  • アプリケーションがスワップされ、フローティングウインドウが Window Manager によって隠された後で、このアプリケーションがフローティングウインドウに対して HideWindow を呼び出すと、そのアプリケーションが次にフォアグラウンドにスワップされるときに、Window Manager はフローティングウインドウを再表示していました。この問題は修正され、アプリケーションがフォアグラウンドにスワップされても、フローティングウインドウは隠されたままになります (r. 2414728)。

  • CarbonLib ルーチンの MoveStructureWindow は、タイトルバーだけのウインドウに対してこれまで正しく動作していませんでした。この問題は修正されました (r. 2423024)。

  • ユーティリティウインドウのタイトルに使用されるフォントは、GetApplicationScript ルーチンを使って、smSystemScript 定数の代わりに使用するスクリプトを決定するようになりました (r. 2424745)。

  • これまで、IsWindowInStandardState は計算の実行中にウインドウのサイズをチェックしていませんでした。その結果、ZoomWindowIdeal ルーチンは、一部が画面の外に配置されているウインドウを対象に正しく動作しませんでした。この問題は修正されました (r. 2478760)。

  • StandardAlert は smSystemScript 定数を使って、そのウインドウ内のフォントを設定するために使用するスクリプトを選択していました。この動作は変更され、StandardAlert は smCurrentScript を使って、そのウインドウのテキストの表示に使用するフォントを検索するスクリプトを選択するようになりました。この変更に伴い、適切なランゲージキットをインストールした US システムで実行しているとき、ローカライズされたアプリケーションの StandardAlert ウインドウ内には対象となる言語のテキストが正しく表示されるようになりました (r. 2497250)。


ページの先頭に戻る




コントロールパネル

コントロールパネルはシステムのカスタム設定に使用するユーザインタフェース機能を提供します。

コントロールパネルに 'CODE' ID = 0 リソース (68K アプリ) が含まれているか、タイプが「アプリケーション」とマークされたフラグメント記述子を含む 'cfrg' リソースが含まれている場合、Process Manager はそのコントロールパネルをアプリケーションとして起動することを選択します。これらの条件を満たすコントロールパネルには、システムによって呼び出される 'cdev' リソースは含まれません。



重要:
コマンドキーと control キーを押しながらコントロールパネルのアイコンをダブルクリックして、Finder のパーティション内でコントロールパネルを起動することはできなくなりました (r. 2440800)。





アップルメニューオプション

「アップルメニューオプション」コントロールパネルは、アップルメニューのアピアランスと動作を設定するユーザインタフェース機能を提供します。

  • 「アップルメニューオプション」の初期設定ファイルが壊れるという問題が修正されました (r. 2528783)。

  • HFSPlus API を使ってオープンされるとき、「アップルメニューオプション」は書類を追跡するようになりました。また、HFSPlus API が使用されるとき、アップルメニューの階層に加えられた変更が追跡されるようになりました。

ページの先頭に戻る



日付 & 時刻

「日付 & 時刻」コントロールパネルは、システムクロックを設定したり、日付と時刻の表示形式を設定したりするユーザインタフェースを提供します。

  • これまで、30 分以上に及ぶスリープを解除した後で、AirMac 接続を介してクロックを同期させようとすると、Time Synchronizer がハングしてしまうという問題がありました。この問題は修正されました (r. 2497293)。

ページの先頭に戻る



機能拡張マネージャ

「機能拡張マネージャ」コントロールパネルは、機能拡張に対する説明情報を表示したり、関連する機能拡張をセットとしてグループ化したりするための拡張されたユーザインタフェースを提供します。

  • 「Shareway IP」は「Mac OS 9.1 すべて」セットの一部としてリストされなくなりました (r. 2509513)。

ページの先頭に戻る



File Exchange 3.0.4

File Exchange は、ファイル名拡張子を自動的に Mac OS のファイルタイプにマップする機能 (たとえば、ファイル名拡張子「.TXT」は Mac OS のファイルタイプ「TEXT」にマップされます) や、Mac OS 以外のファイルシステムのために作成されたボリュームを使用する機能を提供します。「File Exchange」コントロールパネルを使用すると、ユーザは、この機能で使用される設定の変更、新しいファイルマッピングの追加、DOS の SCSI ディスクおよびドライブコンテナのマウント、ファイル変換初期設定の変更などの操作を行えるようになります。File Exchange のこのバージョンには、次の新機能が追加されています。

  • 「PC SCSI ディスク:起動時にマウント」チェックボックスはデフォルトの設定で切になりました。これにより、起動時間が 1.5 秒から 2 秒短縮されます。

  • これまで、複数の ISO 9660 ディスクを使って作業しているときに、「ディスクを挿入してください」メッセージが頻繁に表示されていました。このメッセージが表示される理由が再検討されて変更されたため、表示回数が少なくなりました (r. 2431666)。

  • これまで、ディスクと同じ名前のフォルダを含む PC DOS フォーマットのボリュームは正しくコピーされませんでした。今後は正しくコピーされます (r. 2475510)。

  • 一部の PC フォーマットのフロッピーディスクを USB ドライブでマウントしようとするときにシステムがハングするという問題が修正されました (r. 2418015)。

  • DOS フォーマットの USB ハードディスクを使用しているとき、ファイルのコピー操作が最後の段階で失敗したり、非常に遅くなったりするという問題が修正されました (rr. 2333267, 2348961)。

  • File Exchange には、システム起動時にスペースを割り当てる 'sysz' リソースが含まれていませんでしたが、今回のバージョンで追加されました (r. 2373137)。

  • これまで、File Exchange は複数の USB MS−DOS フォーマットドライブを正しく管理できませんでした。今後は適切に管理できます (r. 2388092)。

  • 256 のターゲットデバイスをサポートする SCSI バスがインストールされている場合、Mac OS 9 のシステム起動時に File Exchange がハングするという問題が修正されました (r. 2418923)。


ページの先頭に戻る



ファイル共有

「ファイル共有」コントロールパネルを使用すると、エンドユーザは使用中のコンピュータでのファイル共有サービスを設定できるようになります。

  • ファイル共有が開始されているときの PBGetCatInfo のパフォーマンスが向上しました (r. 2532597)。

  • これまで、ボリューム上の空き領域の容量が 4GB の倍数をちょうど超えるとき、File Manager へのファイル共有のパッチがローカルボリューム上でのファイル操作に対してディスクフルエラー (dskFulErr) をレポートすることがありました。この問題は修正されました (r. 2536169)。

  • 新しい HFS+ ルーチンの FSCreateFileUnicode は、ファイル共有が開始されているとき、kFSCatInfoFinderInfo を設定していませんでした。今後は正しく設定するようになりました (r. 2464870)。

  • IP 経由のファイル共有に関連した潜在的な安定性の問題が修正されました (rr. 2488036, 2507440)。


ページの先頭に戻る



ファイル・シンクロナイズ 1.2

「ファイル・シンクロナイズ」は、ディスク間、ボリューム間、フォルダ間などでファイルとフォルダのセットを同期させるためのコントロールパネルです

  • メモリ不足の警告が表示され、その後クラッシュするという問題が修正されました (r. 2245430)。

  • カスタムアイコンを使用したフォルダの同期によりメモリ不足のエラーが発生し、結果的にクラッシュに至るという問題が解決されました (r. 2245430)。

ページの先頭に戻る



一般設定 8.0

「一般設定」コントロールパネルには、挿入ポイントの点滅速度やメニューの点滅回数など、いくつかのシステム設定コマンドが含まれています。

  • 「一般設定」コントロールパネルのこのバージョンは、Mac OS および「マルチユーザ」とのよりよい統合を目的として書き換えられた PowerPC APPC です。

  • メニューの点滅回数と挿入ポイントの点滅速度は、これまでユーザがログインするときに必ずしも適切に設定されているわけではありませんでした。この問題は修正されました (r. 2462891)。

ページの先頭に戻る



インターネット

「インターネット」コントロールパネルは、複数の場所やユーザを処理するための切り替え可能な初期設定を含めて、Internet Config 初期設定の作成と編集に使用するグラフィカルユーザインタフェースを提供します。

  • ポップアップメニューを使ってデフォルトの Web ブラウザを切り替えると、http と http ヘルパーの両方が変更されるようになりました。これまでは http ヘルパーだけが変更されていました。また、デフォルトのニュースリーダを切り替えると、news ヘルパーだけでなく、nntp ヘルパーも変更されるようになりました (r. 2248373)。

  • パッケージとして配信されるヘルパーアプリケーションを選択できるようになりました (r. 2496506)。

ページの先頭に戻る



メモリ

「メモリ」コントロールパネルは、仮想メモリ、RAM ディスク、およびディスクキャッシュのサイズを設定するためのユーザインタフェースを提供します。

  • ディスクキャッシュサイズの最大値が 32,736K (32M - 32K) に増加しました。これまでは 8160K (8M - 32K) に制限されていました。この変更は、以前の 4KB というデフォルトアロケーションブロックサイズを使用して初期化した大容量の HFS Plus ボリューム (200GB 以上) で、サイズの大きなファイルを割り当てるときのパフォーマンスを向上させるために加えられました。

    大容量ボリュームの場合、ボリュームのアロケーションビットマップのサイズがディスクキャッシュのサイズよりも大きくなってしまうことがあり、その結果、1 つのファイルにスペースを割り当てるときにも、File Manager は膨大な量の I/O を実行することになります。ディスクキャッシュのサイズをビットマップのサイズを超える値に設定すると、ビットマップをキャッシュ内に格納することが可能になり、割り当てリクエストの速度が劇的に向上します。

    ボリュームが 4KB のアロケーションブロックを使用しているとき (これは、Mac OS 9.0.4 またはそれ以前で初期化した大容量ボリュームのデフォルトでした)、アロケーションビットマップのサイズは、ボリュームサイズ 1GB 当たり 32KB になります。Mac OS 9.1 で初期化した 220GB を超えるボリュームの場合、アロケーションブロックサイズのデフォルト値は 8KB で、ビットマップサイズのデフォルト値はボリュームサイズ 1GB 当たり 16KB になります。たとえば、200GB のボリュームを使用しているとき、ディスクキャッシュは 6400K を超えるサイズに設定してください。つまり、この値を超える次に大きな値は 6432K ということになります。Mac OS 9.0 で初期化した 400GB のボリュームを使用しているときは、パフォーマンスを向上させるためにディスクキャッシュのサイズを 12832K またはそれ以上に設定してください。

    なお、最大の互換性を得るため、デフォルトのディスクキャッシュサイズは常に 8MB (8192K) 未満に設定されます。

  • ディスクキャッシュサイズをバイト単位で返す gestaltDiskCacheSize ('dcsz') という新しい Gestalt セレクタが追加されました。

  • 上矢印または下矢印ボタンを押し続けると、ディスクキャッシュサイズをすばやく変更できるようになります。

  • 最大のディスクキャッシュサイズの計算値は、ROM-in-RAM、ビルトインビデオ、RAM ディスク、および OS によって必要とされる物理 RAM の容量を考慮して変更されます。このため、起動に必要な物理 RAM が十分でなくなるほど、ディスクキャッシュと RAM ディスク両方のサイズを大きく設定することはかなり難しくなります。仮想メモリを切にしているときよりも、入にしているときの方が最大サイズは大きくなります (仮想メモリが入になっていると、OS が使用する物理 RAM が少なくなるため)。論理 (仮想) RAM のサイズもディスクキャッシュの最大サイズに影響を与えます。一部のシステム構成では、VM を増加させると、最大のディスクキャッシュサイズも増加します。

  • RAM ディスクの設定が大きすぎてシステムを起動できない場合は、起動の初期に SysError が呼び出されます。このような状況は、RAM ディスクのために RAM を取り除いた後で、VM が入になっていると想定していたのに実際には切になっていた場合 (たとえば、shift キーを押しながら起動することで) や、ドライバが大量の物理 RAM を使用している場合などに発生します。この場合、RAM ディスクは切になり、強制的に再起動が行われます。

  • 「仮想メモリ」パネルに正しい空きディスク容量が表示されるようになりました。以前は最大の VM サイズが固定されていました。


ページの先頭に戻る



リモートアクセス

「リモートアクセス」コントロールパネルは、PPP および ARA 接続を設定するためのユーザインタフェース機能を提供します。

  • 「リモートアクセス」では Challenge-Handshake Authentication Protocol がサポートされました。これにより、リモート接続サービスが接続の確立中と接続の確立後の両方で PPP 接続を定期的に検証できるようになります (r. 2297793)。

  • PPPoE タイプの接続をよりよくサポートするため、PPP はその正しい MTU サイズを上位プロトコルレイヤにレポートするようになりました (r. 2483604)。

  • キーをあまりにも速く連続して入力した場合にクラッシュの原因になっていた、リモートアクセスダイアログの入力キー処理コードの問題が修正されました (r. 2536881)。

  • TCP/IP アプリケーションを起動したときに自動的に接続するためのオプションが入になっていて、同時に DialAssist も入になっている場合にモデムが自動的にダイアルを始めないという問題が修正されました (r. 2541002)。

  • アップグレードインストールを行った後で、「モデム」および「リモートアクセス」コントロールパネルがジェネリックアイコンに変わってしまうという問題が修正されました (r. 2532014)。

  • ARA が接続解除しているときにふたを閉じると、パワーブック PB101 がクラッシュするという問題が修正されました (r. 2385200)。

  • 10 桁電話番号を使用する地域で、DialAssist が前置番号の前に長距離電話アクセス番号をダイアルしてしまうという問題が修正されました (r. 2419739)。

  • 長い CCL スクリプトが正しく動作しないという問題が修正されました (r. 2458391)。

重要:
AppleScript の「リモートアクセス命令」は、リモートアクセス 4.0 と互換性がないため、Mac OS 9.1 と共にインストールされません。その結果、「リモートアクセス命令」は Mac OS 9.1 では使用できません。

「リモートアクセス命令」によって提供されているいずれかのコマンドを使用しているスクリプトは、代わりに「ネットワーク設定スクリプト」を使用して書き換えることをお勧めします。そのサンプルは、Web の http://www.apple.com/applescript からダウンロードできる「Open Transport (Networking) AppleScript Guidebook」モジュールの中で見つけることができます (rr. 2572457, 2530257)。



ページの先頭に戻る



ソフトウェア・アップデート

「ソフトウェア・アップデート」は、使用中のコンピュータに対応した最新のシステムソフトウェアをインターネット経由で検索してインストールするための手段を提供します。

  • 「マルチユーザ」が入になっているときでも、アップデートがうまく動作するようになりました (r. 2388398)。

  • 「ソフトウェア・アップデート」によって表示されるエラーメッセージの多くが改訂されました。その結果、エラーの内容がわかりやすくなり、トラブルシューティングに役立つようになりました (r. 2452634)。

  • ユーザがキャンセルしたとき、「ソフトウェア・アップデート」は正しく USB Software Locator を停止するようになりました (r. 2465100)。

  • 「ソフトウェア・アップデート」はファイアウォール経由でも正しく動作するようになりました (r. 2476559)。

  • InitWindows 呼び出しが Software Update Engine バックグラウンドオンリーアプリケーションから削除されました (r. 2513784)。


ページの先頭に戻る



起動ディスク

「起動ディスク」コントロールパネルは、次に再起動するときにコンピュータの実行に使用するディスクを選択するためのユーザインタフェース機能を提供します。

  • Mac OS 9.1 には、PowerPC コードで全体を書き直し、APPC 形式アプリケーションとして提供される、まったく新しい「起動ディスク」コントロールパネルが付属しています。この新しいコントロールパネルはシステムの他の部分とよりよく統合され、ユーザインタフェース機能も向上しています。

  • 「マルチユーザ」が入になっている場合、オーナー以外のユーザは「起動ディスク」コントロールパネルにアクセスできなくなりました (r. 2496511)。

ページの先頭に戻る



Web 共有

Web 共有は、ユーザが自分のコンピュータ上に「Web 共有」フォルダを設定し、それを WWW サイトとして動作させるために必要な機能を提供します。Web 共有を使用すると、イントラネットまたはインターネット上で書類を公開できるようになります。Web 共有フォルダに置いた書類は、任意のプラットフォーム上の任意の Web ブラウザを使って表示することができます。

  • 「TCP/IP」コントロールパネルが見つからない (ただし、TCP/IP は有効でロードされている) 場合に、Web 共有が動作しないという問題が修正されました (r. 2501286)。

ページの先頭に戻る




システム機能拡張

システム機能拡張はシステムフォルダ内の「機能拡張」フォルダに格納されています。システム機能拡張をアクティブにするためには、必要なシステム機能拡張がシステム起動時に「機能拡張」フォルダに格納されていなければなりません。システム起動時に shift キーを押し続けると、機能拡張はロードされません。



AppleScript 1.5.5

AppleScript はスクリプティングインタフェースを提供し、ユーザが通常はメニューやキーボードを使用する必要のある操作を自動化することを可能にします。さらに重要な点として、AppleScript を使用すると、ユーザは手動によるアクセスが困難であったり、手動によるアクセスがまったく不可能なアプリケーションの機能にアクセスできるようになります。

ボリュームをマウントするときにキーチェーンを使用する
  • AAppleScript 1.5 以降、'mount volume' スクリプティング機能追加はキーチェーンにアクセスして、リクエストされたサーバのパスワードが存在するかどうかを確認します。なお、キーチェーンパスワードは接続プロトコルに従って格納されています。つまり、AppleTalk 経由でアクセスするサーバのキーは、TCP/IP を介して同じサーバにアクセスするためのキーとは異なるということです。このため、TCP/IP 経由で接続するサーバのキーを作成した場合、キーチェーンのキーを正しく動作させるためには、'mount volume' の TCP/IP 形式 (afp://host.domain.com/volume 形式の URL を使った) を使用する必要があります。同様に、AppleTalk 経由でサーバに接続しているときにキーを作成した場合は、'mount volume' の AppleTalk 形式を使って、そのキーを使用する必要があります。

「学校で教わったとおりに」数値を丸める
  • AppleScript 1.5 以降、'round' スクリプティング機能追加では 'as taught in school' というパラメータを使用できるようになりました。このパラメータを使用すると、小数点以下の四捨五入を行うことができます。

Unicode のサポート
  • Unicode データのサポートが始まったのは AppleScript 1.3 からでした。これ以降、AppleScript では、Unicode 文字列の送信、受信、ロード、格納、およびテキスト文字列と Unicode 文字列との間の変換ができるようになりました。しかし、Unicode 文字列の表示と Unicode 文字列を対象とする演算の実行はできませんでした。AppleScript 1.5 以降、Unicode 文字列をスクリプト編集プログラムに表示できるようになりました (適切なフォントがシステムにインストールされている場合)。

    警告: AppleScript 1.5.5 で Unicode テキストに対して特定の演算を実行すると、AppleScript がクラッシュまたはハングすることがあります。スクリプトが Unicode テキストを処理する場合は、何らかの方法でテキストに処理を加える前に、あらかじめ Unicode テキストを文字列に変換しておくことをお勧めします。

  • AppleScript 1.5 以降の Unicode サポートは改善され、必要な Language Kit がインストールされていれば、言語が混在する Unicode 文字列をそれぞれの言語固有の文字へ適切に変換できるようになっています。

Mac OS X のサポート
  • AppleScript 1.4.3 で、スクリプトを「Mac OS X アプリケーション」として保存するためのオプションが追加されました。しかし Mac OS X そのものの仕様変更により、このオプションで作成したアプリケーションは Mac OS X で実際には動作しなくなっています。AppleScript 1.5 以降、「Mac OS X アプリケーション」として保存されたアプリケーションは Mac OS X で動作するようになりました。

  • AppleScript バージョン 1.5 以降では、スクリプトデータがリソースフォークではなく、データフォークに格納されているスクリプトファイルを処理できるようになりました。Mac OS X と共に出荷されるすべてのスクリプトはデータフォークに格納されますが、スクリプト編集プログラムはデフォルトの設定で、AppleScript の以前のバージョンとの互換性を維持するため、スクリプトデータをリソースフォークに保存し続ける予定です。

  • AppleScript 1.5 以降、タイプやクリエータのデータが見つからない場合でも、AppleScript とスクリプト編集プログラムは '.scpt' で終わるファイルをスクリプトファイルとして認識します。これにより、Mac のタイプやクリエータのデータを保持しないメディアや通信方法を使用してスクリプトファイルを転送するのが容易になります。

  • AppleScript 1.5 以降は、文字列内の段落区切りを検出する目的で、すべての形式の行末コードを受け付けるようになりました。'every paragraph of s' という式は、文字列が Mac 形式 (0x0D で段落が終わる)、UNIX 形式 (0x0A で段落が終わる)、DOS 形式 (0x0D0A で段落が終わる) のどれであっても段落を正しく区切ります。


その他の変更点
  • AppleScript 1.4.3 のスクリプト編集プログラムでは、スクリプトウインドウのタイトルバーに「代理アイコン」が追加されました。これは、ディスク上に保存されたスクリプトファイルを表すアイコンです。ただ残念なことに、このアイコンをディスクのフォルダにドラッグしても、スクリプトファイルをそのフォルダに移動することはできませんでした。AppleScript 1.5 以降では、この操作ができるようになりました。

  • スクリプト編集プログラム 1.4.3 以前では、コマンドキーを押しながら、一番手前にないスクリプトウインドウのタイトルをクリックすると、そのスクリプトのパスを示すポップアップメニューが表示されていました。ユーザは、コマンドキーを押しながらバックグラウンドウインドウのタイトルをドラッグすると、一番手前に表示することなくそのウインドウを移動できることを期待します。このため、Script Editor 1.5 以降では、実際にそのように操作できるようになりました。

  • AppleScript 1.5 以降、「Where is application <name>?」ダイアログでは Standard File ではなく Navigation Services を使用するようになりました。

  • AppleScript 1.5 以降、「info for」スクリプティング機能追加は、ファイルやフォルダのサイズを整数ではなく実数で返すようになりました。この変更により、サイズが 2GB を超えるファイルやフォルダを取り扱えるようになります。

  • AppleScript 1.4.3 以前では、奇数の整数に対するある種の算術演算は偶数の整数に対する同じ演算とは異なる方法で処理されるため、演算速度に 2 倍近い差がありました。AppleScript 1.5 以降では、奇数の整数も偶数の整数と同じ方法で処理されるようになったため、奇数の整数に対するある種の繰り返し算術演算がこれまでよりも高速に実行されるようになりました。

  • AppleScript のマニュアルに記載されている AppleScript 整数の有効範囲には誤りがあります。正しい範囲は、2^29-1 から -2^29 (つまり、536870911 から -536870912) です。AppleScript 1.3 から 1.4.3 では、この範囲を超えると、整数の加算と減算で誤った算術演算を実行していました。たとえば、536870911 + 1 は -536870912 を返していました。AppleScript 1.5 以降では、整数の有効桁数を超える演算は自動的に実数演算に変換されるようになりました。その結果、たとえば、536870911 + 1 は 5.36870912E+8 を返します。

  • AppleScript バージョン 1.4.3 以前では、空のリストの中央の項目を要求すると (たとえば、'middle item of {}')、AppleScript はクラッシュしていました。この問題は 1.5 以降で修正されました。

  • AppleScript 1.4.3 では、複数のアプリケーションを同時に実行すると、ときおり AppleScript がクラッシュすることがありました。この問題は、AppleScript 1.5 以降で修正されました。

  • AppleScript 1.4.3 以前では、'random number' スクリプティング機能追加の 'seed' パラメータに大きな数値を指定すると、思わぬ結果を招くことがありました。つまり、そうした大きな値が常に同一の初期乱数値を生成するという問題です (ただし、それ以降の乱数値はよりランダムに分散されます)。何も指定されていない場合、AppleScript そのものがシード値としてシステムクロックを使用し、しかもたいていのシステムクロック値が同様の大きな値になる傾向があるため、この問題の修正は特にやっかいでした。AppleScript 1.5 以降では、大きなシード値がより均等に分散した初期値を生成するようになりました。

  • AppleScript 1.3 から 1.4.3 では、乱数値の範囲に実数を指定すると、'random number' スクリプティング機能追加はまれに実数値の上限を超える数値を生成することがありました。AppleScript 1.5 以降では、すべての乱数値が絶対に上限を超えないようになりました。

  • AppleScript 1.4.3 以前では、リストの項目 0 にアクセスしようとすると (たとえば、'item 0 of {2, 3, 4}')、エラーも結果も生成されませんでした。AppleScript 1.5 以降では、「範囲外のインデックス番号です」エラーが生成されるようになりました。

  • AppleScript 1.4.3 以前では、'run' ハンドラを含まない (明示的または暗黙的に) スクリプトを作成し、その中で暗黙的な run ハンドラを含むスクリプトの 'parent' 属性を使用していると、そのスクリプトはスクリプト編集プログラムでは動作しますが、アプリケーションとして保存すると、クラッシュしていました。たとえば、次のような場合です。


    script crasher
    	property parent : current application
    	display dialog "This hasn't crashed"
    end script
    property parent : crasher
                         



    このスクリプトには script および property 定義以外の命令文は含まれていません。つまり、'run' ハンドラが存在しないということです。このスクリプトを実行しようとするとき、AppleScript はその 'parent' スクリプト ('crasher') にアクセスして、その run ハンドラを実行しようとします。しかし、'crasher' スクリプトには明示的な run ハンドラが含まれていないため、その親から run ハンドラを取得しようとして、無限ループに入ってしまいます。この問題は AppleScript 1.5 以降で修正されました。

  • フォルダアクション 1.4.3 以前では、フォルダアクションを追加するかどうかに関係なく、control キーを押しながらクリックした任意のフォルダの中に「Icon\n」という名前の不可視ファイルを作成していました。フォルダアクション 1.5.5 以降、実際にフォルダアクションを追加した場合のみ、このファイルが作成されるようになりました。

  • フォルダアクション 1.5.5 では、'remove action from' および 'edit action of' イベントの 'action name' および 'action number' パラメータがわかりやすさを考慮して、'using action name' および 'using action number' に変更されました。古いスクリプトは逆コンパイルすると、自動的に新しい形式に変換されます。


ページの先頭に戻る



AppleShare Client 3.8.8

AppleShare Workstation Client は、ファイルサーバを含むネットワークに接続しているコンピュータにファイル共有サービスを提供します。

  • AppleShare Workstation Client は Apple Shared Library Manager (ASLM) を使用しなくなりました。

  • ボリュームのパスワードを使用するカスタム User Authentication Module で発生することのあったクラッシュは修正されました (r. 2546186)。

ページの先頭に戻る



ATAPI CD/DVD Driver

ATAPI CD/DVD Driver は接続されている ATA CD および DVD デバイスに対するサポートを提供します

  • ディスクの切り替えを行うと、DVD-RAM ディスク上のディレクトリが壊れるという問題が修正されました (r. 2545573)。

ページの先頭に戻る



ColorSync 3.0.3

ColorSync はシステムレベルのカラー管理機能を提供し、パブリッシングソフトウェアが画面、プリンタ出力、および電子配信で再現性のある一貫したカラー表現を実現できるようにします。

  • ユーザインタフェースに変更が加えられ、ユーザは、ディスプレイで実際に使用できる範囲内のガンマ値のみを選択できるようになりました。特に、負のガンマ補正値を選択できなくなりました (r. 2496933)。

  • Mac OS 9.1 と共にインストールされる ColorSync プロファイルは、現在の ICC 標準にアップデートされています (r. 2505195)。

  • progress proc が指定されている場合、アルファチャネルは CWMatchBitmap 呼び出しの中に保存されるようになりました (r. 2318181)。

  • CMLaunchControlPanel が正しく動作するようになりました (r. 2384459)。

  • ColorSync は、「ICC Profile Format Spec」で指定されているように、プロファイルヘッダの中に有効なバージョンフィールドを必要とするようになりました (r. 2404863)。

  • これまで、CMCopyProfile を使ってパスベースのプロファイルをコピーするリクエストは、必ずエラー -43 を返して失敗していました。この問題は修正されました (r. 2411802)。

  • AppleScript のコマンドを介して、プロファイルのモデル番号属性を設定できるようになりました。これらのコマンドは以前から存在していましたが、期待通りに動作していませんでした (r. 2417435)


ページの先頭に戻る



FireWire Support 2.7

FireWire は、Mac OS が提供する IEEE 1394 High Performance Serial Bus 標準に対するサポートです。この機能拡張は、他社製の FireWire ハードウェアおよびソフトウェアの使用をサポートするサービスを Mac OS に追加します。

  • QuickTime ムービーの再生中にデバイスの接続解除または再接続を行うとクラッシュが発生するという問題が修正されました (r. 2520111)。

  • 何台かの FireWire デバイスが接続されているときにスリープ解除を行うと、他社製のアプリケーションがハングするという問題が修正されました (r. 2452899)。

  • これまで、FireWire ハードディスクドライブに接続されているとき、一部の古いビデオカメラはビデオを正しく送れませんでした。Final Cut Pro または iMovie を使って、FireWire ハードディスクドライブにビデオを録画するとき、そのようなカメラを使用すると、ビデオフレームが失われるという問題が発生していました。FireWire 2.7 を使用すると、FireWire ハードディスクドライブが存在しているときでも、古いカメラに正しくビデオを送らせることができます (rr. 2408186, 2404727, 2398097)。

  • FireWire は、SBP-2 ドライバでマルチマッチングデータをサポートするようになりました。TheDFMDescriptorSize シンボルが存在すると、マルチマッチングデータが評価されます。これにより、ドライバは望ましくない追加デバイスを選択する可能性のある範囲でマッチングを行うことなく、複数の異なるデバイスを厳密に一致させることができるようになります。TheDFMDescriptorSize は、存在するマッチングデータセットの数に等しい値 (たとえば、2) を持つことになります。サンプルについては、「FireWire SDK」に含まれる FWSBP2DiskDriver.c ファイルを参照してください。


    注意:
    マルチマッチングデータを含むドライバが FireWire 2.6 またはそれ以前のバージョンによってロードされると、先頭のマッチングデータのみが使用されます。



  • FWWaitForDeviceReplug を呼び出すとき、一部の他社製 FireWire ドライバはそれらのコマンドオブジェクトを再利用します。これは不正な処理であり、ハングの原因になります。しかし、ユーザの便宜を考慮して、このケースのみ、不適切なコマンドオブジェクトの再利用をチェックして、それを許容することになりました。

  • 再試行カウンタが減少しないためにハングが発生するという問題が修正されました (r. 2323090)。
  • PCI バスの電源が切になっている可能性があるときや、PCI Memory Space が有効になっていない可能性があるときに、LynxFWIMGetCycleTime が PCI レジスタを読み込もうとしないように変更されました (r. 2452899)。

  • ドライバは、MaxDFMScores と呼ばれる最大スコアのテーブルをエクスポートすることで、その DFM スコアを最大値に固定できるようになりました。TheDFMDescriptor の各エントリには 1 つの符号なし 32 ビットエントリが対応し、その値はそのエントリにとって望ましい最大スコアになります。これにより、ドライバは一部の値を厳密に一致させることができますが、それでも低いスコアを生成する余地はあるため、他のドライバにはこの値をオーバーライドすることが許可されます (r. 2526813)。

  • FireWire は、書き込み応答を送信して、OHCI システムに対する書き込みをブロードキャストしなくなりました (1394 で指定されているように)。

  • 1394 で要求されているように、FireWire は BUS_TIME レジスタを正しく実装するようになりました。
  • Uni-N システムで transmit isoch タイムスタンプを 4 秒ごとに区切ることができる場合に存在したバグが修正されました。

  • すべての OHCI タイムスタンプはフル 7 ビットの秒数を含むようになりました (これまでは 3 ビットのみが指定されていました)。

  • FireWire ハードディスクと FireWire カメラが接続されているとき、スリープ解除すると FireWire がハングするという問題が修正されました (r. 2452899)。


ページの先頭に戻る



HTMLRenderingLib

HTMLRenderingLib は、Apple が提供するシンプルな HTML レンダリングエンジンで、HTML 3.2 ファイルを表示することができます。

  • アプリケーションは、HRRegisterNewURLUPP を呼び出すことでインストールされるオプションの URL リダイレクトルーチンに、すべての URL タイプを渡すようになりました。これまで、http タイプの URL は HTMLRenderingLib によって処理され、URL リダイレクトルーチンによって処理されることはありませんでした。今後、http タイプの URL が HTMLRenderingLib によってのみ処理されるのは、URL リダイレクトルーチンがインストールされていないとき、またはインストールされている URL リダイレクトルーチンが hrURLNotHandeldErr を返すときになります (r. 2418857)。

  • HTMLRenderingLib 呼び出しは、ときおり GrafPort の原点またはクリップ領域を認識できない状態に置くことがありました。今後、この問題は発生しません (r. 2406856)。

  • スタンドアロンのコードリソースから HTMLRenderingLib を呼び出せるようになりました (r. 2459981)。

  • これまで、ディレクトリを参照する URL を構築するときに、HRUtilGetURLFromFSSpec ルーチンは URL の末尾に '/' 文字を追加していませんでした。今後は追加するようになります (r. 2407002)。

  • リンクの上に移動されるとき、カーソルは手のアイコンに変わるようになりました (r. 2502044)。

  • これまで、一部の環境では、アクセス済みのリンクが適切に色付けされていませんでした。この問題は修正されました (rr. 2309910, 2484091)。

  • HTML ソースに認識できないタグが含まれているとき、順序付きリストの中で黒丸が重なって表示されるという問題が修正されました (r. 2362018)。

  • すべてのフレームが同じ名前であるとき、フレーム書類を表示しようとすると発生していた問題が修正されました (r. 2430596)。

  • HRGetRenderedImageSize はこれまでイメージの縦方向のサイズから 2 ピクセルを差し引いた値を返していましたが、今後は正しい値を返すようになります (r. 2468994)。

  • これまでは、/TD タグのないサイズの大きなテーブルをレンダリングすると、クラッシュすることがありました。この問題は修正されました (r. 2514177)。


ページの先頭に戻る



IrDA

IrDA 機能拡張は、プリンタドライバと IrDA 対応プリンタとの間の赤外線通信リンクを提供します。

  • 複数のプリントジョブを連続して実行しようとするとクラッシュが起きるという問題が修正されました (r. 2512225)。

ページの先頭に戻る



Mac OS Runtime for Java

Mac OS Runtime for Java (MRJ) は、Apple が提供する Java 実行環境の実装です。MRJ は Java アプリケーションの実行をサポートし、MRJ の JManager API を使用する Mac OS アプリケーションが Java アプレットおよびその他の Java コンテンツを埋め込むことを可能にします。

  • JAR ファイルはこれまでよりも効率的、かつメモリを無駄にしない方法で読み込まれるようになりました (r. 2001604)。

  • Navigation Services が使用可能なシステム上で実行されるとき、Applet Runner は Navigation Services を使ってファイルを選択するようになりました (r. 2287732)。

  • WHWindow.cp のデストラクタが仮想デストラクタ (r. 2421498)。

  • 強制終了すると Java がクラッシュするという問題が修正されました (r. 2472481)。

  • ウインドウを閉じるときに発生することのあった null ポインタ例外が修正されました (r. 2485969)。

  • ローカライズ作業を支援するため、次の awt. プロパティが追加されました (r. 2487549)。


    #The name of the Java Console window
    AWT.console.name=Java Console
                         
    #Java Console Edit Menu item names
    #These names should be localised.
    AWT.editmenu.title=Edit
    AWT.editmenu.undo.name=Undo
    AWT.editmenu.cut.name=Cut
    AWT.editmenu.copy.name=Copy
    AWT.editmenu.paste.name=Paste
    AWT.editmenu.clear.name=Clear
    AWT.editmenu.selectall.name=Select All
                        
    #This is the font and size used inside the console window.
    #This should be left as is.
    AWT.console.fontname=Monaco
    AWT.console.fontsize=9
                         



  • サイズの大きなイメージを再描画するときの問題が修正されました (r. 2490722)。

  • ファイルを開くことができないとき、FileInputStream はそのメンバ変数 fd に NULL を設定するようになりました (r. 2508818)。

  • malloc が最初に呼び出されるとき、MRJ はサイズの大きなメモリプールを割り当てるようになりました (r. 2510365)。

  • 起動エラーの発生したアプレットが Apple Applet Runner をクラッシュさせるという問題が修正されました (r. 2511642)。


ページの先頭に戻る



マルチユーザ 1.3

マルチユーザは、複数のユーザが単一のコンピュータにアクセスすることを可能にするマルチユーザソフトウェア機能拡張です。それぞれのユーザは、自分が指定した初期設定とファイルセキュリティを提供する独自の環境にログインします。

  • ネットワーキング環境 (Macintosh Manager) に対するよりよいサポートが追加されました。

  • KidSafe に対する新しいサポートが組み込まれました。

ページの先頭に戻る



Network Services Location (NSL)

Network Services Location (NSL) を使用すると、プロトコルに依存しない方法でネットワーク上のサービスを登録したり検索したりできるようになります。NSL には次の新機能が追加されました。

  • 一部の環境では、ネットワークブラウザが「ネームサーバが応答しません」というメッセージを不適切に表示することがありました。この問題は修正されました (r. 2406166)。

  • これまで、NSLStandardGetURL は、それが割り当てたすべての Thread Manager タスクを適切に破棄していませんでした。今後は適切に破棄するようになります (r. 2424817)。

  • メモリ不足になると NSLStandardRegisterURL がクラッシュするという問題が修正されました (r. 2429189)。


ページの先頭に戻る



Open Transport 2.7.4

Open Transport は Mac OS 9.1 に対応したネットワーキングテクノロジーです。

  • Open Transport は ASLM を使用しなくなりました。

  • 正の数の参照カウントを持つ場合でもデータブロックを再利用できるという問題が修正されました。この問題は、Ethernet を無差別モードで使用するときに特に顕著に発生していました (r. 2459754)。

  • これまで、TCP/IP の設定を BOOTP から DHCP に切り替えるときにクラッシュが起きることがありました。この問題は修正されました (r. 2471989)。



ページの先頭に戻る



OpenGL 1.2

OpenGL for Macintosh は、Apple が Silicon Graphics の業界標準 3D グラフィックス API を実装したものです。

  • コンパイル済み頂点配列パスでの Velocity Engine サポートを含めて、Velocity Engine に関連する最適化が追加されました。

  • OpenGL はアンチエイリアス化された線と点を描画できるようになりました。

  • TCL ドライバのサポートが追加されました。

  • 次の拡張機能が OpenGL に追加されました。
    • 拡張機能
    • GL_ARB_texture_env_add, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_texture_env_combine, GL_EXT_clip_volume_hint, GL_EXT_rescale_normal, GL_NV_texgen_reflection, GL_EXT_texture_lod_bias, GL_EXT_SGIS_texture_edge_clamp, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_texture_lod_bias, GL_EXT_SGIS_texture_edge_clamp, GL_ARB_transpose_matrix, GL_ARB_texture_compression, GL_APPLE_packed_pixels, GL_ARB_texture_env_add, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_texture_env_combine, GL_EXT_clip_volume_hint, GL_EXT_rescale_normal, GL_NV_texgen_reflection, GL_EXT_texture_lod_bias, GL_EXT_SGIS_texture_edge_clamp, GL_ARB_transpose_matrix.

    • ソフトウェアレンデラでサポートされるようになりました。

      GL_EXT_abgr, GL_EXT_bgra, GL_EXT_texture_lod_bias, GL_EXT_SGIS_texture_edge_clamp.



  • コンパイル済み頂点配列パスでの非干渉メモリのサポートが追加されました。

  • コンパイル済み頂点配列パスにフォッグを追加できるようになりました。

  • 16 ビットカラーの ARGB32 テクスチャがサポートされました。

  • OpenGLProfiler ライブラリのサポートが改善されました。

  • GLD レイヤでの TCL サポートが可能になりました。

  • OpenGL 1.2 標準がインタフェースに組み込まれました。

  • GL_ARB_texture_compression および GL_APPLE_packed_pixels がインタフェースに組み込まれました。

  • LRU/MRU テクスチャページングが ATI ハードウェアでサポートされました。

  • テクスチャアップロードパスに対するいくつかの最適化が追加されました。


ページの先頭に戻る



PlainTalk

PlainTalk は、音声認識サービスと、テキストを視聴可能なスピーチに変換するサービスを提供します。Mac OS 9 には、English Text-to-Speech 2.0.2、Plaintalk Speech Recognition 2.0、および Mexican Spanish Text-to-Speech 2.0.2 が付属しています。English Text-to-Speech はデフォルトの Mac OS 9 インストールの一部としてインストールされます。Mac OS 9.1 の英語版では、Plaintalk Speech Recognition 2.0 が標準インストールの一部としてインストールされます。英語版を除く Mac OS 9.1 の各国語版ではカスタムインストールのオプションとしてインストールできます。一部のローカライズ OS リリースでは、個別の Plaintalk コンポーネントがシステムソフトウェア CD の「CD エクストラ」フォルダに移動されていたり、そもそも OS から完全に削除されていたりすることがあります。

  • Speakable Items をいったん終了して再起動しないと、「Make this application speakable」Speakable コマンドの効果が認識されないという問題が修正されました (r. 2496982)。

ページの先頭に戻る



QuickTime 4.1.2

QuickTime は、ムービーの再生や、多数のオーディオおよびビジュアルファイル形式の変換と表示など、さまざまなマルチメディアサービスを Mac OS に提供します。

Mac OS 9.1 には、デジタルビデオ (DV) codec の改訂バージョンが組み込まれています。このバージョンの DV codec に加えられた変更により、以前のバージョンと比較してパフォーマンスと画質が大幅に向上しました。こうした変更は、すべての QuickTime デベロッパ、とりわけビデオ編集アプリケーションを使用するデベロッパにとって朗報となります。

  • 高画質伸張が Power Mac G3 および G4 コンピュータに最適化されました。これにより、r408 および v408 フォーマットでのレンダリング速度、YUV アクセラレイティッドウインドウへの再生速度、および高画質のシングルフィールドビデオの再生速度が向上しています。

  • Power Mac G4 コンピュータで通常 (低) 画質伸張によって生成された描画イメージの画質が向上しました。

  • Power Mac G3 および Power Mac G4 コンピュータによる中品質および高品質圧縮の画質が向上しました。

  • マルチプロセッササポートがベクタデコード (高画質、低画質、再生、スクラブ/レンダ) でも有効になりました。また、マルチプロセッササポートは、ベクタケースのエンコードでも有効になりました。その結果、デュアル CPU コンピュータでの実際の DV オペレーションは、同じコードを非マルチプロセッサモードで実行する場合に比べるとほぼ 2 倍高速になります。


ページの先頭に戻る



Time Synchronizer

Time Synchronizer は、インターネットを介してコンピュータのクロックを同期させるバックグラウンドアプリケーションです。

  • これまで、PRAM に格納されている場所がロケーションデータベース内で検出できない場合、Time Synchronizer がハングすることがありました (r. 2499437)。

  • これまで、Time Synchronizer を実行できなくする、起動時に検出されたエラー条件を説明する警告が表示されませんでした (r. 2500473)。

ページの先頭に戻る



URL Access 2.1

URLAccess は、ハイレベルインターネット API を提供する共有ライブラリです。この機能により、クライアントはインターネットとの間でデータのダウンロードとアップロードを実行できるようになります。この API を使用すると、わずかな数の呼び出しを追加するだけで、すべてのアプリケーションをインターネット対応にすることができます。

  • URL Access では、SSL Ref v3 128 ビット暗号化をサポートするようになりました。

ページの先頭に戻る



USB Printer Sharing 1.0.1

これにより、ユーザは TCP/IP を介して (物理的に、または無線で) USB プリンタを共有できるようになります。

  • Mac OS 9.1 には USB Printer Sharing 1.0.1 が添付されています。

ページの先頭に戻る






フォント

フォントは、文字を画面およびその他のグラフィックスデバイスに描画するときに使用する情報を提供します。

  • Mac OS 9.1 と共にインストールされるすべてのフォントに LineFeed cmap エントリが追加されました (r. 2487954)。

  • kashida グリフのサイドベアリングがアラビア語フォントから削除されたため、Textension でアラビア語テキストをよりよく均等配置できるようになりました (r. 2343333)。

  • アラビア語フォント内での kashida 文字の優先順位が変更されたため、均等配置を行うときにこの文字が適切に使用されるようになりました (r. 2503404)。

  • 韓国語システムフォントで Unicode がサポートされました (r. 2444584)。


ページの先頭に戻る




アップルメニュー

「アップルメニュー」フォルダ内の項目はアップルメニューに表示されます。



Sherlock 2

Sherlock は Mac OS コンピュータに検索機能を提供します。ファイル検索アプリケーションの機能に加えて、Sherlock では内容による検索とインターネット検索がサポートされています。

  • forward delete キーが Sherlock 内で期待どおりに動作するようになりました (r. 2457688)。

  • 「カスタム設定保存」ダイアログでインライン入力が正しく動作するようになりました (r. 2498288)。

  • 匿名 FTP 接続が確立されているとき、Sherlock はパスワードにメールアドレスではなく、user@host を使用するようになりました (r. 2463751)。

  • 「内包しているフォルダを開く」が正しく動作するようになりました (r. 2383272)。


ページの先頭に戻る



Apple システム・プロフィール

「Apple システム・プロフィール (ASP)」を使用すると、現在のシステム構成に関する情報を簡単に取得できます。ASP によって提供される情報はユーザサポートを受けるときに役立ちます。

  • ASP は CarbonLib バージョンを表示するようになりました。

  • ASP は、Mac OS X に付属する ASP が生成したレポートを読み込めるようになりました。

  • PowerBook G3 のモデムを「33.6」、プロトコルを「V.34」と正しく表示できるようになりました。

  • ASP は、組み込みの VRAM/ビデオカードを搭載していないマシンに対して「VRAM」サイズを表示しなくなりました。

  • iBook のメモリ構成を識別する機能と、PC66 メモリを識別する機能が向上しました。

  • ASP は FireWire ドライブと FireWire ノードを対応させるようになりました。

  • 次のような USB 関連の情報を表示する機能が向上しました。


    • USB バスの検出に関連するいくつかの問題が修正されました。

    • USB Printer Sharing のサポート

    • これまで、ASP は USB「シリアル」プリンタを「シリアル」タイプと表示してきました。今後は「USB」タイプと表示されます



  • ASP の AppleScript サポートが次のように改善されました。

    • 特にシステムフォルダの情報を問い合わせるリクエストを処理するときに ASP がクラッシュすることがありましたが、この問題は修正されました。

    • 特にデバイスおよびボリューム情報を問い合わせるリクエストを処理しようとするときに ASP が正常に実行されないことがありましたが、この問題は修正されました。

    • ASP はこれまで Power Mac G4 (AGP Graphics) のシリアル番号を返しませんでしたが、今後は返します。

    • ASP はこれまで複数のユーザ名/環境またはビデオノートを返しませんでしたが、今後は返します。

    • スクリプティング用語説明が次のように変更されました。


          "AtEase" は "At Ease" になりました
          "MultipleUses..." は "Multiple Users..." になりました
          "StartupDisk" は "Startup Disk..." になりました
          "...logicboard..." は "...logic board..." になりました
      	



    • AppleTalk を参照していた TCP/IP のコメントが修正されました。

    • ASP から返される一意のロジックボード ID の形式が変更され、これまで返されていた ID 値のセットとは異なる一意の数値が返されるようになりました。



  • ASP は低速 RAM を明示しなくなりました。この表示は実際にはコンピュータが最も遅い RAM の速度で実行されることを示すにすぎませんが (ただし速度の差はごくわずかです)、多くのユーザがこの表示を「よくない」ことと解釈する傾向があるためです。ASP は今後も RAM の速度を表示し続けます。この情報を参考にすると、ユーザは速度が一致する RAM を購入することができます。

ページの先頭に戻る




ユーティリティ

ユーティリティにはコンピュータの保守に役立つ項目が含まれています。通常、これらの項目は、システムソフトウェアをインストールするときに起動ボリュームの「ユーティリティ」フォルダにコピーされますが、インストール CD の「ユーティリティ」フォルダに保存されている項目もあります。





Disk First Aid

「Disk First Aid (DFA)」は、ディスクの診断および修復サービスを提供するアプリケーションプログラムです。このアプリケーションは通常、起動ディスクのルートディレクトリにある「ユーティリティ」ディレクトリに保存されています。

  • DFA は、Mac OS 9.0.x で初期化されたボリュームの HFS Plus「ラッパー」に含まれているコードを検出して置き換えます。これにより、起動ボリュームに多数のファイルやディレクトリが含まれているときでも (通常は 100,000 以上)、起動初期にクラッシュやハングが起きなくなります。

  • パネルユーザとしてログインし、ボリュームにオープンファイルがあるとき、DFA は修復を拒否するようになりました。

  • 実際には使用されていないときでも、Mac OS 拡張 (HFS Plus) ボリュームが特定のテキストエンコーディングが使用中であることを通知する場合、DFA はこのことを特に問題にしなくなりました。他の修復が実行されている場合、これらのエンコーディングはアップデートされます。この現象は複数のランゲージキットを使用しているときによく発生します (r. 2406117)。

  • これまで DFA では、Mac OS 標準 (HFS) として再インストールされた Mac OS 拡張 (HFS Plus) ボリュームを誤って Mac OS 拡張ボリュームと認識し、そのボリュームを修復できないというレポートを表示することがありました。この問題は修正されました (r. 2509928)。

  • ボリュームヘッダの書き込みまたは変更を行うとき、シグネチャおよびバージョンフィールドに常に正しい値が設定されるようになりました。

  • 次の CNID がファイルまたはフォルダを含まないボリューム上にある場合、DFA はエラーを生成しなくなりました。

  • DFA は起動ファイルによって使用されるスペースを適切にチェックするようになりました。これにより、一部の Mac OS 起動ボリュームに対して誤ったエラーメッセージが表示されなくなります (r. 2455546)。

  • 次の CNID が修正されているかどうかをチェックするときに off-by-one エラーが発生することがあります。

  • オーファンディレクトリのスレッドレコードを修復するときに、DFA は先頭のリーフノードで検索を開始するようになりました。これまでは、一部のノードがスキップされることがあり、結果的に正常な修復ができない場合がありました (r. 2496023)。

  • オープンファイルを含むボリュームを修復するとき、DFA は並行するエクステントデータを並行するカタログ FCB ではなく、並行するエクステント FCB にコピーするようになりました。また、HFS Plus のエクステント情報を ForkControlBlock (使用可能な場合) または並行する FCB にコピーするようになりました (r. 2412846)。

  • HFS Plus ボリュームがその CNID を再利用させている場合でも、DFA は次の CNID に関するエラーを生成しなくなりました。

  • ボリュームタイプを解釈しようとするとき、DFA はメインボリュームヘッダの前に代替ボリュームヘッダを使用するようになりました。

  • DFA はこれまでより大きな B ツリーを処理できるようになりました (r. 2405114)。

  • DFA は多数の長いファイル名を含むボリュームに対して不正なエラーメッセージを生成しなくなりました (r. 2404773)。


ページの先頭に戻る



ドライブ設定 2.0.3

「ドライブ設定」はハードディスクドライブの更新やフォーマットを行うための機能を提供します。

  • 一部のドライブではパーティション選択ボックスの画面表示に問題がありましたが、これは修正されました (r. 2392640)。

  • テストディスクが DVD-RAM メディア上で実行されている場合、「ドライブ設定」はドライブのスピンダウンを許可しなくなりました (r. 2451144)。

ページの先頭に戻る




Apple エクストラ

「Apple エクストラ」とは、システムのインストール時にハードディスクにコピーされるいくつかの項目のことです。これらの項目には、特定の目的に使用するユーティリティ、ツール、プログラムなどが含まれます。





CD オーディオプレーヤ

「CD オーディオプレーヤ」はオーディオ CD の再生を可能にするユーティリティです。

  • 「CD オーディオプレーヤ」が一部のローメモリグローバルを破壊するという問題が修正されました (r. 2502234)。

  • マルチセッション拡張オーディオ CD が挿入されているとき、「CD オーディオプレーヤ」は、トラックリストの末尾にエクストラトラックとしてデータセッションを表示しなくなりました (r. 2509403)。

  • マルチセッション拡張オーディオ CD の再生とトラック時間の表示に関連する問題が修正されました (rr. 2510627, 2510686)。


ページの先頭に戻る



World Text

Unicode テキストの編集を可能にする MLTE ベースのテキストエディタです。

  • CD の「CD エクストラ」フォルダには、新しい MLTE ベースのテキストエディタが用意されています。

ページの先頭に戻る



MacsBug 6.6.3

MacsBug は Apple のローレベルデバッガで、マシンレベルの命令のディスアセンブルと精査を行うためのユーザインタフェースを提供します。

  • MacsBug 6.6.3 は Mac OS 9.1 と共に使用してください (r. 2540060)。

  • バスエラーのマジックアドレスがメモリ内のアクセスできないページをポイントするようになりました。したがって、このアドレスに対する読み込みまたは書き込みを行おうとすると、MacsBug に入り、EBBE エラーがレポートされます。

ページの先頭に戻る