/*----------------------------------------------------------------------*/ /* Copyright (c) 1988-1989 */ /* by CompuServe Inc., Tucson, AZ. All Rights Reserved */ /* DEHUFTAB.H can be copied and distributed freely for any */ /* non-commercial purposes. DEHUFTAB.H can only be incorporated */ /* into commercial software with the permission of CompuServe Inc. */ /*----------------------------------------------------------------------*/ /* DEHUFTAB.H */ /* This header file contains the 5 standard Group III FAX Encoding tables */ huffman_code /* White "make-up" codes */ huf_wht_makeup[ 27 ] = /* based at 64, steps of 64, up to 1728 */ { { 5, 0033 }, /* 64 */ { 5, 0022 }, /* 128 */ { 6, 0027 }, /* 192 */ { 7, 0067 }, /* 256 */ { 8, 0066 }, /* 320 */ { 8, 0067 }, /* 384 */ { 8, 0144 }, /* 448 */ { 8, 0145 }, /* 512 */ { 8, 0150 }, /* 576 */ { 8, 0147 }, /* 640 */ { 9, 0314 }, /* 704 */ { 9, 0315 }, /* 768 */ { 9, 0322 }, /* 832 */ { 9, 0323 }, /* 896 */ { 9, 0324 }, /* 960 */ { 9, 0325 }, /* 1024 */ { 9, 0326 }, /* 1088 */ { 9, 0327 }, /* 1152 */ { 9, 0330 }, /* 1216 */ { 9, 0331 }, /* 1280 */ { 9, 0332 }, /* 1344 */ { 9, 0333 }, /* 1408 */ { 9, 0230 }, /* 1472 */ { 9, 0231 }, /* 1536 */ { 9, 0232 }, /* 1600 */ { 6, 0030 }, /* 1664 */ { 9, 0233 } /* 1728 */ }; huffman_code /* Black "make-up" codes */ huf_blk_makeup[ 27 ] = /* based at 64, steps of 64, up to 1728 */ { {10, 0017 }, /* 64 */ {12, 0310 }, /* 128 */ {12, 0311 }, /* 192 */ {12, 0133 }, /* 256 */ {12, 0063 }, /* 320 */ {12, 0064 }, /* 384 */ {12, 0065 }, /* 448 */ {13, 0154 }, /* 512 */ {13, 0155 }, /* 576 */ {13, 0112 }, /* 640 */ {13, 0113 }, /* 704 */ {13, 0114 }, /* 768 */ {13, 0115 }, /* 832 */ {13, 0162 }, /* 896 */ {13, 0163 }, /* 960 */ {13, 0164 }, /* 1024 */ {13, 0165 }, /* 1088 */ {13, 0166 }, /* 1152 */ {13, 0167 }, /* 1216 */ {13, 0122 }, /* 1280 */ {13, 0123 }, /* 1344 */ {13, 0124 }, /* 1408 */ {13, 0125 }, /* 1472 */ {13, 0132 }, /* 1536 */ {13, 0133 }, /* 1600 */ {13, 0144 }, /* 1664 */ {13, 0145 } /* 1728 */ }; huffman_code /* White "termination" codes */ huf_wht_final[ 64 ] = /* based at 0, steps of 1, up to 63 */ { { 8, 0065 }, /* 0 */ { 6, 0007 }, /* 1 */ { 4, 0007 }, /* 2 */ { 4, 0010 }, /* 3 */ { 4, 0013 }, /* 4 */ { 4, 0014 }, /* 5 */ { 4, 0016 }, /* 6 */ { 4, 0017 }, /* 7 */ { 5, 0023 }, /* 8 */ { 5, 0024 }, /* 9 */ { 5, 0007 }, /* 10 */ { 5, 0010 }, /* 11 */ { 6, 0010 }, /* 12 */ { 6, 0003 }, /* 13 */ { 6, 0064 }, /* 14 */ { 6, 0065 }, /* 15 */ { 6, 0052 }, /* 16 */ { 6, 0053 }, /* 17 */ { 7, 0047 }, /* 18 */ { 7, 0014 }, /* 19 */ { 7, 0010 }, /* 20 */ { 7, 0027 }, /* 21 */ { 7, 0003 }, /* 22 */ { 7, 0004 }, /* 23 */ { 7, 0050 }, /* 24 */ { 7, 0053 }, /* 25 */ { 7, 0023 }, /* 26 */ { 7, 0044 }, /* 27 */ { 7, 0030 }, /* 28 */ { 8, 0002 }, /* 29 */ { 8, 0003 }, /* 30 */ { 8, 0032 }, /* 31 */ { 8, 0033 }, /* 32 */ { 8, 0022 }, /* 33 */ { 8, 0023 }, /* 34 */ { 8, 0024 }, /* 35 */ { 8, 0025 }, /* 36 */ { 8, 0026 }, /* 37 */ { 8, 0027 }, /* 38 */ { 8, 0050 }, /* 39 */ { 8, 0051 }, /* 40 */ { 8, 0052 }, /* 41 */ { 8, 0053 }, /* 42 */ { 8, 0054 }, /* 43 */ { 8, 0055 }, /* 44 */ { 8, 0004 }, /* 45 */ { 8, 0005 }, /* 46 */ { 8, 0012 }, /* 47 */ { 8, 0013 }, /* 48 */ { 8, 0122 }, /* 49 */ { 8, 0123 }, /* 50 */ { 8, 0124 }, /* 51 */ { 8, 0125 }, /* 52 */ { 8, 0044 }, /* 53 */ { 8, 0045 }, /* 54 */ { 8, 0130 }, /* 55 */ { 8, 0131 }, /* 56 */ { 8, 0132 }, /* 57 */ { 8, 0133 }, /* 58 */ { 8, 0112 }, /* 59 */ { 8, 0113 }, /* 60 */ { 8, 0062 }, /* 61 */ { 8, 0063 }, /* 62 */ { 8, 0064 } /* 63 */ }; huffman_code /* Black "termination" codes */ huf_blk_final[ 64 ] = /* based at 0, steps of 1, up to 63 */ { {10, 0067 }, /* 0 */ { 3, 0002 }, /* 1 */ { 2, 0003 }, /* 2 */ { 2, 0002 }, /* 3 */ { 3, 0003 }, /* 4 */ { 4, 0003 }, /* 5 */ { 4, 0002 }, /* 6 */ { 5, 0003 }, /* 7 */ { 6, 0005 }, /* 8 */ { 6, 0004 }, /* 9 */ { 7, 0004 }, /* 10 */ { 7, 0005 }, /* 11 */ { 7, 0007 }, /* 12 */ { 8, 0004 }, /* 13 */ { 8, 0007 }, /* 14 */ { 9, 0030 }, /* 15 */ {10, 0027 }, /* 16 */ {10, 0030 }, /* 17 */ {10, 0010 }, /* 18 */ {11, 0147 }, /* 19 */ {11, 0150 }, /* 20 */ {11, 0154 }, /* 21 */ {11, 0067 }, /* 22 */ {11, 0050 }, /* 23 */ {11, 0027 }, /* 24 */ {11, 0030 }, /* 25 */ {12, 0312 }, /* 26 */ {12, 0313 }, /* 27 */ {12, 0314 }, /* 28 */ {12, 0315 }, /* 29 */ {12, 0150 }, /* 30 */ {12, 0151 }, /* 31 */ {12, 0152 }, /* 32 */ {12, 0153 }, /* 33 */ {12, 0322 }, /* 34 */ {12, 0323 }, /* 35 */ {12, 0324 }, /* 36 */ {12, 0325 }, /* 37 */ {12, 0326 }, /* 38 */ {12, 0327 }, /* 39 */ {12, 0154 }, /* 40 */ {12, 0155 }, /* 41 */ {12, 0332 }, /* 42 */ {12, 0333 }, /* 43 */ {12, 0124 }, /* 44 */ {12, 0125 }, /* 45 */ {12, 0126 }, /* 46 */ {12, 0127 }, /* 47 */ {12, 0144 }, /* 48 */ {12, 0145 }, /* 49 */ {12, 0122 }, /* 50 */ {12, 0123 }, /* 51 */ {12, 0044 }, /* 52 */ {12, 0067 }, /* 53 */ {12, 0070 }, /* 54 */ {12, 0047 }, /* 55 */ {12, 0050 }, /* 56 */ {12, 0130 }, /* 57 */ {12, 0131 }, /* 58 */ {12, 0053 }, /* 59 */ {12, 0054 }, /* 60 */ {12, 0132 }, /* 61 */ {12, 0146 }, /* 62 */ {12, 0147 } /* 63 */ }; huffman_code /* Large "makeup" codes */ huf_big_makeup[ 13 ] = /* based at 1792, steps of 64, up to 2560 */ { {12, 0010 }, /* 1792 */ {12, 0014 }, /* 1856 */ {12, 0015 }, /* 1920 */ {13, 0022 }, /* 1984 */ {13, 0023 }, /* 2048 */ {13, 0024 }, /* 2112 */ {13, 0025 }, /* 2176 */ {13, 0026 }, /* 2240 */ {13, 0027 }, /* 2304 */ {13, 0034 }, /* 2368 */ {13, 0035 }, /* 2432 */ {13, 0036 }, /* 2496 */ {13, 0037 } /* 2560 */ };