Basic Data Types

  • このセクションでは SWF ファイルフォーマットの、Basic data types (それらはより複雑なデータ構造を作り上げる)を記述する。
  • SWF ファイルフォーマットにおける他の全ての構造は、これらの基礎的な型から作られる。

Coordinates and twips

  • SWF ファイルフォーマットは x-y 座標を(通常、twip と呼ばれる)整数で保存する。
  • SWF ファイルフォーマットの twip は論理 pixel の 1/20 である。
  • 論理 pixel はスクリーン上で(訳注: 拡大縮小せずに)100% スケールで再生したときの pixel である。例えば、800 twips x 400 twips の長方形は、40 x 20 の論理 pixel にレンダリングされる。
  • 少数点以下の pixel サイズはアンチエイリアシングで近似される。790x390 twips ( 39.5 x 19.5 pixels) は少しぼやけたエッジで表される。
  • twips はサイズと精度の良い折衷案である。これによって、極小な座標を処理している間も、ズーミングやオブジェクトの正確な配置に際して、sub-pixel(訳注: 1 pixel 以下)に対する正確さがもたらされる。
  • SWF ファイルフォーマットの座標は、伝統的なグラフィックの座標軸を持つ。
    • x は水平方向に、左の最小値から右の最大値まで続く。
    • y は垂直方向で、上の最小値から下の最大値に続く。

Integer types and byte order

  • SWF ファイルフォーマットは 8-bit, 16-bit, 32bit, 64-bite, signed, unsigned の整数型を使う
  • 全ての整数値は SWF ファイルに little-endian の byte order で格納される。
    • 最小位 bit (LSB)が初めに格納され、最上位 bit (MSB)が最後に格納される。この方式は Intel x86 アーキテクチャと同じ。
  • SWF ファイルフォーマットのバイト中の bit order は big-endian である。
    • 最上位 bit (MSB)が初めに格納され、最小位 bit (LSB)が最後に格納される。
  • 例)
    • 32-bit 値 0x456e7120 は 20 71 6e 45 として格納される。
    • 16 bit 値 0xe712 は 12 e7 として格納される。
  • 全ての整数型は byte-aligned (訳注: bit-packing 等で byte 境界を跨がないように、byte の頭に揃えて保存する事) されなければならない。
    • すなわち、整数値の最初の bit は、SWF ファイルの byte の最初の bit に保存しなければならない。
  • 符号あり整数(Signed integers) は伝統的な 2 の補数の bit パターンで表現される。
  • いまどきのプラットフォームで表現される符号あり整数、そのものである。
  • 2の補数のシステムでは、負の数は最初の bit が 1 であり、0 や正の数は最初の bit が 0 である。
  • 負の値 -n は正の値 n-1 のビットを反転したものとして表現される。
  • 整数型
    コメント
    SI8符号付き 8-bit 整数値
    SI16符号付き 16-bit 整数値
    SI32符号付き 32-bit 整数値
    SI8[n]符号付き 8-bit の配列、n は配列の要素数
    SI16[n]符号付き 16-bit の配列、n は配列の要素数
    UI8符号なし 8-bit 整数値
    UI16符号なし 16-bit 整数値
    UI32符号なし 32-bit 整数値
    UI8[n]符号なし 8-bit の配列、n は配列の要素数
    UI16[n]符号なし 16-bit の配列、n は配列の要素数
    UI32[n]符号なし 32-bit の配列、n は配列の要素数
    UI64[n]符号なし 64-bit の配列、n は配列の要素数

Fixed-point numbers

  • SWF ファイルフォーマットは 32-bit と 16-bit の2つの固定小数点数(fixed-point numbers)の型をサポートしている。
  • 32-bit 固定小数点数は 16.16 である。
  • すなわち、上位 16 bits が小数点の前の数を表わし、下位 16 bits が小数点の後の数を表わす。
  • FIXED 値は SWF ファイルに 32-bit 整数のように格納され(little-endian byte order が使われる)、byte aligned でなければならない。
  • 例)
    • 実数の 7.5 は 以下のと同じ: 0x0007.8000.
    • この値は SWF ファイルに以下のように保存される: 00 80 07 00.
  • SWF 8 とそれ以降では、16-bit 8.8 符号つき、固定小数点数をサポートしている。
  • 上位 8 bits は小数点の前の数を表わし、下位 8 bits は小数点の後の数を表わす。
  • FIXED8 値は SWF ファイルに 16-bit 整数のように格納され(little-endian byte order が使われる)、byte aligned でなければならない。
  • 固定小数型
    コメント
    FIXED32-bit 16.16 fixed-point number
    FIXED816-bit 8.8 fixed-point number

Floating-point numbers

Encoded integers

Bit values

Using bit values

String values

Language code

RGB color record

RGBA color with alpha record

ARGB color with alpha record

Rectangle record

MATRIX record

Color transform record

Color transform with alpha record


Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes