summaryrefslogtreecommitdiff
path: root/Master/dviout/GRAPHIC/bmc/bmc.txt
diff options
context:
space:
mode:
authorSiep Kroonenberg <siepo@cybercomm.nl>2008-09-26 09:17:26 +0000
committerSiep Kroonenberg <siepo@cybercomm.nl>2008-09-26 09:17:26 +0000
commit69cdb80977fc59e47c24a680fc0c61a3eac0c097 (patch)
treeca111e9049a1785bf8507161dce88a2233268760 /Master/dviout/GRAPHIC/bmc/bmc.txt
parentd3a140feea19858912cc2de406e176ae8ce6c392 (diff)
dviout moved to tlpkg/dviout; dviout.vbs changed accordingly.
git-svn-id: svn://tug.org/texlive/trunk@10733 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/dviout/GRAPHIC/bmc/bmc.txt')
-rw-r--r--Master/dviout/GRAPHIC/bmc/bmc.txt141
1 files changed, 0 insertions, 141 deletions
diff --git a/Master/dviout/GRAPHIC/bmc/bmc.txt b/Master/dviout/GRAPHIC/bmc/bmc.txt
deleted file mode 100644
index d0319f404d3..00000000000
--- a/Master/dviout/GRAPHIC/bmc/bmc.txt
+++ /dev/null
@@ -1,141 +0,0 @@
- BMC format の仕様
-
-BMC は、BMP formatの画像データを、簡単な変換により圧縮したものである。
-
-dviout for Windows でのPostScript画像の中間ファイルとして用いるため、
-圧縮や復元の高速性と容易さに主眼が置かれている。
-
-もとの画像データは、<width> byte のデータが <height>組、順に並んでいる
-とする(たとえば、フルカラー(24bit)BMPファイルの場合、<width> は、画像
-のPIXEL単位での幅の3倍を4の倍数になるように切り上げたものである)。これ
-を以下の 1. 2. 3. と変換したものが、BMCにおける画像データである。
-
-1. 元の画像データ
-
-unsigned char image[<height>*<width>];
-
-を XOR の演算により
-
-unsigned char trans[<height>*<width>];
-
-に変換する。ただし
-
-trans[i] = image[i] if i == 0
- = image[i] ^ image[i-1] if 0 < i < <width>
- = image[i] ^ image[i - <width>] if <width> <= i < <height>*<width>
-
-trans[] には、0 というデータが多数含まれていると期待される。
-
-2. trans[] の各 byte の上位 4 bit (0 から 15)の頻度を調べ、1 から 15
-のうちで、もっとも現れる頻度の少ないもの K を決定する(簡単化のため、K=5 な
-どとあらかじめ決めてしまってもよい)。
-
-3. trans[] を、同じデータが何 byte 続くか、という情報でデータ化する。
-
-<M N> が、L byte 続くとする。ただし、M, N は 0 から 15 までの数で、
-1 byte(unsigned char) が表す数の上位4bitが M, 下位4bitが N に対応する
-ものとする。
-
-なお、L >= 0x100000000 のときは、0xffffffff(約 42.9G)以下のブロック
-に分割することにより、L < 0x100000000 とする。
-
-3.1. L == 1 のとき
- M != K ならば <M N>
- M == K ならば <K 0><0 N>
-
-3.2. L == 2 のとき
- <M N> == 0 ならば <K 1>
- M != K かつ <M N> != 0 ならば <M N><M N>
- M == K ならば <K 0><0 N><K 0><0 N>
-
-3.3. L > 2 のとき
- <M N> == 0 ならば <K L-1> if L-1 < 0x10
- <K 0><L-1> if 0x10 <= L-1 <= 0xe0
- <K 0><0xff>S(L-1,2) if 0xe0 < L-1 < 0x10000
- <K 0><0xfe>S(L-1,3) if 0x10000 <= L-1 < 0x1000000
- <K 0><0xfd>S(L-1,4) if 0x1000000 <= L-1
-
- <M N> != 0 ならば
- M != K かどうかに応じて、<M N> または <K 0><0 N> の後(cf. 3.1)
- <K 0><0xde + L> if L < 0x1b
- <K 0><0xfc>S(L-1,1) if 0x19 <= L-2 < 0x100
- <K 0><0xfb>S(L-1,2) if 0x100 <= L-2 < 0x10000
- <K 0><0xfa>S(L-1,3) if 0x10000 <= L-2 < 0x1000000
- <K 0><0xf9>S(L-1,4) if 0x1000000 <= L-2
-
-ただし、S(X,K) は、X を K byte の整数で表示したもので、上位バイト ->
-下位バイトの順。
-
-BMC データの全体は、先頭から
-
-id[2]; // 'B', 'C' ID for BMC
-flag[1]; // flag & 1: Not compressed?
-key[1]; // <K 0>
-bmc_head_size[4]; // address of bmp_head[0] "BM..."
-bmp_head_size[4]; // size of BMP header
-byte_width[4]; // <width>
-
-height[4]; // <height>
-bit_width[4]; // width by bit
-bmc_data_size[4]; // size after "BM..."
-f_mode[1]; // used by dviout
-bmp_rev[1]; // used by dviout
-bmp_on[1]; // used by dviout
-bmp_off[1]; // used by dviout
-
--- The following top is 0x20 byte from the head --
-name[]; // original filename (zero terminated)
-bmp_head[]; // original BITMAPFILEHEADEF + BITMAPINFOHEADER
-bmc_data[]; // compressed or original image data
-
-となる。
-
-f_mode[1] & 0xf = 2: 1 PIXEL = 1 bit
- 3: 4 bit
- 4: 8 bit
- 5: 24 bit
- 6: 16 bit
- 7: 32 bit
-
-f_mode[1] & 0x10 : Use only Black & White (not gray, no color)
-f_mode[1] & 0x20 : Only Black & White but the number of pallets > 2
-f_mode[1] & 0x40 : the number of pallets <= 0x10 ? in 256 color mode
-
-bmp_rev[1] 0: 0 is white for 2 color mode
- 1: 1 is white for 2 color mode
-bmp_on[1] : pallet index of white for B & W
-bmp_off[1] : pallet index of black for B & W
-
---------------------------- 付属資料 ----------------------------------
-epsfdoc(1) : the first page of epsfdoc.dvi A4 size 600dpi B/W
-epsfdoc(16) : the first page A4 epsfdoc.dvi size 600dpi/6 gray scale(16 colors)
-
-\includegraphics*[height=10cm]{golfer} in 300dpi
-\includegraphics*[height=6cm]{tiger} in 300dpi
-
-golfer(256) : 16 colors
-tiger(256) : 16 colors
-golfer(full) : full colors(24 bit)
-tiger(full) : full colors(24 bit)
-
-
- Size of image data files
-
- BMP BMP+LZH BMP+GZIP BMC BMC+LZH PNG PNG+LZH GIF GIF+LZH
-epsfdoc(1) 4378046 189330 190107 204831 148307 204643 197189 291454 291454
-epsfdoc(16) 486838 46648 46976 57062 48486 48208 47451 52497 52407
-golfer(256) 1144286 15458 15294 23932 12369 21401 21294 22643 22643
-tiger(256) 485350 25447 25249 46858 25807 29415 29160 31884 31884
-golfer(full) 3429678 23054 22028 40337 16038 28167 27432
-tiger(full) 1447206 30958 31766 95170 31639 44921 44628
-
-
- Ratio of compression (%)
-
- BMP BMP+LZH BMP+GZIP BMC BMC+LZH PNG PNG+LZH GIF GIF+LZH
-epsfdoc(1) 100.00 4.378 4.325 4.679 3.388 4.674 4.504 6.657 6.657
-epsfdoc(16) 100.00 9.582 9.649 11.720 9.960 9.902 9.747 10.783 10.765
-golfer(256) 100.00 1.351 1.337 2.091 1.081 1.870 1.861 1.979 1.979
-tiger(256) 100.00 5.243 5.202 9.654 5.317 6.061 6.008 6.569 6.569
-golfer(full) 100.00 0.672 0.642 1.176 0.468 0.858 0.771
-tiger(full) 100.00 2.139 2.196 6.576 2.186 3.104 3.084