PDFの仕様書を読む 第7回 3.2.2 Numeric Objects |
PDFではInteger(整数)とreal(実数)の2種類の型のnumeric object(数値オブジェクト)を提供している。integerもrealもそれぞれ数学的な意味では整数と実数にあたるが、実装上の都合から他のプログラミング言語と同様に、これらには範囲と精度がある。
実数は浮動小数点ではなく固定小数点である。数値の範囲と精度は、PDFの表示アプリケーションが実行されているマシンに依存して決まる。その詳細についてはAppendix Cを見よ。
以下、Appendix Cより
・integer:
−2,147,483,648 ~ 2,147,483,647、つまり32ビット
・real:
範囲は ±32,767
精度は±1/ 65,536(およそ小数点以下5桁まで)
・array(配列)
最大の要素数は 8,191
・dictionary
最大のエントリー数は4095
・string
最大65,535文字(bytes)
・name
最大127文字(bytes)
・indirect object
最大8,388, 607個
・CID:
最大値は65,535 (CID: character identifier)
■整数の例
123
43445
+17
−98
0
■実数の例
34.5
−3.62
+123.6
4.
−.002
0.0
実数で記述しなければならないとことで整数を使うこともできるが、その数値は処理系によって自動的に実数に変換されることになる。例えば、実数で1.0と書くところを1と書いても問題ない。