1.1 --- a/pdf_g4_tables.h Fri Feb 21 12:29:16 2003 +0000 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,262 +0,0 @@ 1.4 -/* 1.5 - * t2p: Create a PDF file from the contents of one or more TIFF 1.6 - * bilevel image files. The images in the resulting PDF file 1.7 - * will be compressed using ITU-T T.6 (G4) fax encoding. 1.8 - * 1.9 - * G4 encoding tables 1.10 - * $Id: pdf_g4_tables.h,v 1.2 2003/02/21 04:28:37 eric Exp $ 1.11 - * Copyright 2001, 2002, 2003 Eric Smith <eric@brouhaha.com> 1.12 - * 1.13 - * This program is free software; you can redistribute it and/or modify 1.14 - * it under the terms of the GNU General Public License version 2 as 1.15 - * published by the Free Software Foundation. Note that permission is 1.16 - * not granted to redistribute this program under the terms of any 1.17 - * other version of the General Public License. 1.18 - * 1.19 - * This program is distributed in the hope that it will be useful, 1.20 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 1.21 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1.22 - * GNU General Public License for more details. 1.23 - * 1.24 - * You should have received a copy of the GNU General Public License 1.25 - * along with this program; if not, write to the Free Software 1.26 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA 1.27 - */ 1.28 - 1.29 - 1.30 -typedef struct 1.31 -{ 1.32 - uint32_t count; 1.33 - uint32_t bits; 1.34 -} g4_bits; 1.35 - 1.36 -static g4_bits g4_long_makeup_code [12] = 1.37 - { 1.38 - { 11, 0x008 }, /* 1792 */ 1.39 - { 11, 0x00c }, /* 1856 */ 1.40 - { 11, 0x00d }, /* 1920 */ 1.41 - { 12, 0x012 }, /* 1984 */ 1.42 - { 12, 0x013 }, /* 2048 */ 1.43 - { 12, 0x014 }, /* 2112 */ 1.44 - { 12, 0x015 }, /* 2176 */ 1.45 - { 12, 0x016 }, /* 2240 */ 1.46 - { 12, 0x017 }, /* 2304 */ 1.47 - { 12, 0x01c }, /* 2368 */ 1.48 - { 12, 0x01d }, /* 2432 */ 1.49 - { 12, 0x01e } /* 2496 */ 1.50 - }; 1.51 - 1.52 -static g4_bits g4_makeup_code [2] [27] = 1.53 - { 1.54 - { 1.55 - /* white */ 1.56 - { 5, 0x1b }, /* 64 */ 1.57 - { 5, 0x12 }, /* 128 */ 1.58 - { 6, 0x17 }, /* 192 */ 1.59 - { 7, 0x37 }, /* 256 */ 1.60 - { 8, 0x36 }, /* 320 */ 1.61 - { 8, 0x37 }, /* 384 */ 1.62 - { 8, 0x64 }, /* 448 */ 1.63 - { 8, 0x65 }, /* 512 */ 1.64 - { 8, 0x68 }, /* 576 */ 1.65 - { 8, 0x67 }, /* 640 */ 1.66 - { 9, 0x0cc }, /* 704 */ 1.67 - { 9, 0x0cd }, /* 768 */ 1.68 - { 9, 0x0d2 }, /* 832 */ 1.69 - { 9, 0x0d3 }, /* 896 */ 1.70 - { 9, 0x0d4 }, /* 960 */ 1.71 - { 9, 0x0d5 }, /* 1024 */ 1.72 - { 9, 0x0d6 }, /* 1088 */ 1.73 - { 9, 0x0d7 }, /* 1152 */ 1.74 - { 9, 0x0d8 }, /* 1216 */ 1.75 - { 9, 0x0d9 }, /* 1280 */ 1.76 - { 9, 0x0da }, /* 1344 */ 1.77 - { 9, 0x0db }, /* 1408 */ 1.78 - { 9, 0x098 }, /* 1472 */ 1.79 - { 9, 0x099 }, /* 1536 */ 1.80 - { 9, 0x09a }, /* 1600 */ 1.81 - { 6, 0x18 }, /* 1664 */ 1.82 - { 9, 0x09b } /* 1728 */ 1.83 - }, 1.84 - { 1.85 - /* black */ 1.86 - { 10, 0x00f }, /* 64 */ 1.87 - { 12, 0x0c8 }, /* 128 */ 1.88 - { 12, 0x0c9 }, /* 192 */ 1.89 - { 12, 0x05b }, /* 256 */ 1.90 - { 12, 0x033 }, /* 320 */ 1.91 - { 12, 0x034 }, /* 384 */ 1.92 - { 12, 0x035 }, /* 448 */ 1.93 - { 13, 0x006c }, /* 512 */ 1.94 - { 13, 0x006d }, /* 576 */ 1.95 - { 13, 0x004a }, /* 640 */ 1.96 - { 13, 0x004b }, /* 704 */ 1.97 - { 13, 0x004c }, /* 768 */ 1.98 - { 13, 0x004d }, /* 832 */ 1.99 - { 13, 0x0072 }, /* 896 */ 1.100 - { 13, 0x0073 }, /* 960 */ 1.101 - { 13, 0x0074 }, /* 1024 */ 1.102 - { 13, 0x0075 }, /* 1088 */ 1.103 - { 13, 0x0076 }, /* 1152 */ 1.104 - { 13, 0x0077 }, /* 1216 */ 1.105 - { 13, 0x0052 }, /* 1280 */ 1.106 - { 13, 0x0053 }, /* 1344 */ 1.107 - { 13, 0x0054 }, /* 1408 */ 1.108 - { 13, 0x0055 }, /* 1472 */ 1.109 - { 13, 0x005a }, /* 1536 */ 1.110 - { 13, 0x005b }, /* 1600 */ 1.111 - { 13, 0x0064 }, /* 1664 */ 1.112 - { 13, 0x0065 }, /* 1728 */ 1.113 - } 1.114 - }; 1.115 - 1.116 - 1.117 -static g4_bits g4_h_code [2] [64] = 1.118 - { 1.119 - { 1.120 - /* white */ 1.121 - { 8, 0x35 }, /* 0 */ 1.122 - { 6, 0x07 }, /* 1 */ 1.123 - { 4, 0x7 }, /* 2 */ 1.124 - { 4, 0x8 }, /* 3 */ 1.125 - { 4, 0xb }, /* 4 */ 1.126 - { 4, 0xc }, /* 5 */ 1.127 - { 4, 0xe }, /* 6 */ 1.128 - { 4, 0xf }, /* 7 */ 1.129 - { 5, 0x13 }, /* 8 */ 1.130 - { 5, 0x14 }, /* 9 */ 1.131 - { 5, 0x07 }, /* 10 */ 1.132 - { 5, 0x08 }, /* 11 */ 1.133 - { 6, 0x08 }, /* 12 */ 1.134 - { 6, 0x03 }, /* 13 */ 1.135 - { 6, 0x34 }, /* 14 */ 1.136 - { 6, 0x35 }, /* 15 */ 1.137 - { 6, 0x2a }, /* 16 */ 1.138 - { 6, 0x2b }, /* 17 */ 1.139 - { 7, 0x27 }, /* 18 */ 1.140 - { 7, 0x0c }, /* 19 */ 1.141 - { 7, 0x04 }, /* 20 */ 1.142 - { 7, 0x17 }, /* 21 */ 1.143 - { 7, 0x03 }, /* 22 */ 1.144 - { 7, 0x04 }, /* 23 */ 1.145 - { 7, 0x28 }, /* 24 */ 1.146 - { 7, 0x2b }, /* 25 */ 1.147 - { 7, 0x13 }, /* 26 */ 1.148 - { 7, 0x24 }, /* 27 */ 1.149 - { 7, 0x18 }, /* 28 */ 1.150 - { 8, 0x02 }, /* 29 */ 1.151 - { 8, 0x03 }, /* 30 */ 1.152 - { 8, 0x1a }, /* 31 */ 1.153 - { 8, 0x1b }, /* 32 */ 1.154 - { 8, 0x12 }, /* 33 */ 1.155 - { 8, 0x13 }, /* 34 */ 1.156 - { 8, 0x14 }, /* 35 */ 1.157 - { 8, 0x15 }, /* 36 */ 1.158 - { 8, 0x16 }, /* 37 */ 1.159 - { 8, 0x17 }, /* 38 */ 1.160 - { 8, 0x28 }, /* 39 */ 1.161 - { 8, 0x29 }, /* 40 */ 1.162 - { 8, 0x2a }, /* 41 */ 1.163 - { 8, 0x2b }, /* 42 */ 1.164 - { 8, 0x2c }, /* 43 */ 1.165 - { 8, 0x2d }, /* 44 */ 1.166 - { 8, 0x04 }, /* 45 */ 1.167 - { 8, 0x05 }, /* 46 */ 1.168 - { 8, 0x0a }, /* 47 */ 1.169 - { 8, 0x0b }, /* 48 */ 1.170 - { 8, 0x52 }, /* 49 */ 1.171 - { 8, 0x53 }, /* 50 */ 1.172 - { 8, 0x54 }, /* 51 */ 1.173 - { 8, 0x55 }, /* 52 */ 1.174 - { 8, 0x24 }, /* 53 */ 1.175 - { 8, 0x25 }, /* 54 */ 1.176 - { 8, 0x58 }, /* 55 */ 1.177 - { 8, 0x59 }, /* 56 */ 1.178 - { 8, 0x5a }, /* 57 */ 1.179 - { 8, 0x5b }, /* 58 */ 1.180 - { 8, 0x4a }, /* 59 */ 1.181 - { 8, 0x4b }, /* 60 */ 1.182 - { 8, 0x32 }, /* 61 */ 1.183 - { 8, 0x33 }, /* 62 */ 1.184 - { 8, 0x34 } /* 63 */ 1.185 - }, 1.186 - { 1.187 - /* black */ 1.188 - { 10, 0x037 }, /* 0 */ 1.189 - { 3, 0x2 }, /* 1 */ 1.190 - { 2, 0x3 }, /* 2 */ 1.191 - { 2, 0x2 }, /* 3 */ 1.192 - { 3, 0x3 }, /* 4 */ 1.193 - { 4, 0x3 }, /* 5 */ 1.194 - { 4, 0x2 }, /* 6 */ 1.195 - { 5, 0x03 }, /* 7 */ 1.196 - { 6, 0x05 }, /* 8 */ 1.197 - { 6, 0x04 }, /* 9 */ 1.198 - { 7, 0x04 }, /* 10 */ 1.199 - { 7, 0x05 }, /* 11 */ 1.200 - { 7, 0x07 }, /* 12 */ 1.201 - { 8, 0x04 }, /* 13 */ 1.202 - { 8, 0x07 }, /* 14 */ 1.203 - { 9, 0x018 }, /* 15 */ 1.204 - { 10, 0x017 }, /* 16 */ 1.205 - { 10, 0x018 }, /* 17 */ 1.206 - { 10, 0x008 }, /* 18 */ 1.207 - { 11, 0x067 }, /* 19 */ 1.208 - { 11, 0x068 }, /* 20 */ 1.209 - { 11, 0x06c }, /* 21 */ 1.210 - { 11, 0x037 }, /* 22 */ 1.211 - { 11, 0x028 }, /* 23 */ 1.212 - { 11, 0x017 }, /* 24 */ 1.213 - { 11, 0x018 }, /* 25 */ 1.214 - { 12, 0x0ca }, /* 26 */ 1.215 - { 12, 0x0cb }, /* 27 */ 1.216 - { 12, 0x0cc }, /* 28 */ 1.217 - { 12, 0x0cd }, /* 29 */ 1.218 - { 12, 0x068 }, /* 30 */ 1.219 - { 12, 0x069 }, /* 31 */ 1.220 - { 12, 0x06a }, /* 32 */ 1.221 - { 12, 0x06b }, /* 33 */ 1.222 - { 12, 0x0d2 }, /* 34 */ 1.223 - { 12, 0x0d3 }, /* 35 */ 1.224 - { 12, 0x0d4 }, /* 36 */ 1.225 - { 12, 0x0d5 }, /* 37 */ 1.226 - { 12, 0x0d6 }, /* 38 */ 1.227 - { 12, 0x0d7 }, /* 39 */ 1.228 - { 12, 0x06c }, /* 40 */ 1.229 - { 12, 0x06d }, /* 41 */ 1.230 - { 12, 0x0da }, /* 42 */ 1.231 - { 12, 0x0db }, /* 43 */ 1.232 - { 12, 0x054 }, /* 44 */ 1.233 - { 12, 0x055 }, /* 45 */ 1.234 - { 12, 0x056 }, /* 46 */ 1.235 - { 12, 0x057 }, /* 47 */ 1.236 - { 12, 0x064 }, /* 48 */ 1.237 - { 12, 0x065 }, /* 49 */ 1.238 - { 12, 0x052 }, /* 50 */ 1.239 - { 12, 0x053 }, /* 51 */ 1.240 - { 12, 0x024 }, /* 52 */ 1.241 - { 12, 0x037 }, /* 53 */ 1.242 - { 12, 0x038 }, /* 54 */ 1.243 - { 12, 0x027 }, /* 55 */ 1.244 - { 12, 0x028 }, /* 56 */ 1.245 - { 12, 0x058 }, /* 57 */ 1.246 - { 12, 0x059 }, /* 58 */ 1.247 - { 12, 0x02b }, /* 59 */ 1.248 - { 12, 0x02c }, /* 60 */ 1.249 - { 12, 0x05a }, /* 61 */ 1.250 - { 12, 0x066 }, /* 62 */ 1.251 - { 12, 0x067 } /* 63 */ 1.252 - } 1.253 - }; 1.254 - 1.255 - 1.256 -static g4_bits g4_vert_code [7] = 1.257 - { 1.258 - { 7, 0x02 }, 1.259 - { 6, 0x02 }, 1.260 - { 3, 0x02 }, 1.261 - { 1, 0x01 }, 1.262 - { 3, 0x03 }, 1.263 - { 6, 0x03 }, 1.264 - { 7, 0x03 } 1.265 - };