amzip README

amzipはSusie for Win32用ZIP展開プラグインです。

インストール

Susieで使用する場合はSusieがインストールされているフォルダに、他のアプリケーションで使用する場合は、そのアプリケーションの指定の場所にamzip.spiをコピーしてください。

アンインストール

amzip.spiを削除してください。レジストリには一切書き込みません。

サポートしているWindowsのバージョン

Windows 2000以降に対応しています。

UTF-8で格納されたファイル名の扱い

ZIPファイルのヘッダのUTF-8ビットが1、またはversion made byがUNIXの場合、UTF-8からWindowsの文字コード(通常CP932)へ変換を試みます。 UTF-8ビットが0にもかかわらずUTF-8のファイル名が格納されていることも多いようなので、このような仕様にしてあります。 Mac OS Xの標準機能で作成したZIPファイルのversion made byは、UNIXになるようです。

UTF-8からWindowsの文字コードへの変換はUTF-16を経由します。 UTF-16への変換に失敗した場合、ファイル名はUTF-8では無いとみなして、格納されたファイル名をそのまま返します。

次に、UTF-16からWindowsの文字コードへ変換するとき、 Windowsの文字コードに対応の無い文字は"?"に置換されます。 "?"はWindowsではファイル名に使用できない文字のため、アプリケーションによっては動作に支障が出る可能性がありますが、変換に失敗していることを表すために、このような仕様にしてあります。

非公式Unicode版APIでは、ZIPファイルのヘッダのUTF-8ビットが1、またはversion made byがUNIXの場合はUTF-8、それ以外の場合はWindowsの文字コードとみなして、UTF-16に変換して返します。

2GBを超えるZIPファイルの扱い

プラグインAPIの仕様では、アーカイブファイル内のファイルの位置(オフセット値)に符号付き32ビットを使用しています。そのため通常の方法では2GBを超えるアーカイブファイルを扱えません。

この制限を回避するために、amzipではアプリケーションとやりとりするオフセット値を強制的に符号無し32ビットと見なして4GBまで扱えるようにしています。

2GBを超えるZIPファイルを読み込んだ場合、マイナスのオフセット値が渡されるので、アプリケーションによっては正しく動作しない可能性があります。

非公式Unicode版API

GetArchiveInfoW, GetFileWをエクスポートしています。

制限事項

zlibについて

https://github.com/madler/zlib のソースをBorland C++ 5.5.1 for Win32でコンパイルして使用しています。

問題の報告

bug-XXXX@nk2.org (XXXXはamzipに置き換えてください)に送ってください。

著作権表示

Copyright (C) 2003-2024 Nobuyuki Honda

本ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。 本ソフトウェアの使用によって生じるいかなる損害についても、作者は一切の責任を負わないものとします。

以下の制限に従う限り、商用アプリケーションを含めて、本ソフトウェアを任意の目的に使用し、自由に改変して再頒布することをすべての人に許可します。

  1. 本ソフトウェアの出自について虚偽の表示をしてはなりません。あなたがオリジナルのソフトウェアを作成したと主張してはなりません。あなたが本ソフトウェアを製品内で使用する場合、製品の文書に謝辞を入れていただければ幸いですが、必須ではありません。
  2. ソースを変更した場合は、そのことを明示しなければなりません。オリジナルのソフトウェアであるという虚偽の表示をしてはなりません。
  3. ソースの頒布物から、この表示を削除したり、表示の内容を変更したりしてはなりません。

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.