1 #ifndef lint 2 static char sccsid[] = "@(#)hytab.c 2.1 (CWI) 85/07/18"; 3 #endif lint 4 /* 5 * Hyphenation digram tables 6 */ 7 8 /* 9 * These tables are for the ORIGINAL algorithm 10 */ 11 12 char bxh[1][13] = { 13 0060,0000,0040,0000,0040,0000,0000,0040,0000,0000,0040,0000,0040 14 }; 15 16 char hxx[26][13] = { 17 0006,0042,0041,0123,0021,0024,0063,0042,0002,0043,0021,0001,0022, 18 0140,0000,0200,0003,0260,0006,0000,0160,0007,0000,0140,0000,0320, 19 0220,0000,0160,0005,0240,0010,0000,0100,0006,0000,0200,0000,0320, 20 0240,0000,0120,0003,0140,0000,0000,0240,0010,0000,0220,0000,0160, 21 0042,0023,0041,0040,0040,0022,0043,0041,0030,0064,0021,0000,0041, 22 0100,0000,0140,0000,0220,0006,0000,0140,0003,0000,0200,0000,0000, 23 0200,0000,0120,0002,0220,0010,0000,0160,0006,0000,0140,0000,0320, 24 0020,0000,0020,0000,0020,0000,0000,0020,0000,0000,0020,0000,0000, 25 0043,0163,0065,0044,0022,0043,0104,0042,0061,0146,0061,0000,0007, 26 0100,0000,0140,0000,0040,0000,0000,0100,0000,0000,0120,0000,0000, 27 0140,0000,0040,0011,0060,0004,0001,0120,0003,0000,0140,0000,0040, 28 0200,0000,0100,0000,0140,0000,0000,0140,0000,0000,0140,0000,0240, 29 0200,0000,0140,0000,0160,0000,0000,0220,0000,0000,0140,0000,0240, 30 0200,0000,0140,0000,0160,0000,0000,0220,0000,0000,0060,0000,0240, 31 0021,0043,0041,0121,0040,0023,0042,0003,0142,0042,0061,0001,0022, 32 0120,0000,0140,0010,0140,0010,0000,0140,0002,0000,0120,0000,0120, 33 0000,0000,0000,0000,0360,0000,0000,0000,0000,0000,0160,0000,0000, 34 0100,0000,0040,0005,0120,0000,0000,0100,0000,0000,0060,0000,0140, 35 0140,0040,0100,0001,0240,0041,0000,0242,0000,0002,0140,0000,0100, 36 0240,0000,0120,0002,0200,0000,0000,0320,0007,0000,0240,0000,0340, 37 0101,0021,0041,0020,0040,0005,0042,0121,0002,0021,0201,0000,0020, 38 0160,0000,0100,0000,0140,0000,0000,0160,0006,0000,0220,0000,0140, 39 0140,0000,0020,0001,0020,0000,0000,0100,0001,0000,0300,0000,0000, 40 0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000, 41 0106,0041,0040,0147,0040,0000,0063,0041,0001,0102,0160,0002,0002, 42 0300,0000,0040,0017,0140,0017,0000,0240,0000,0000,0140,0000,0120, 43 }; 44 45 char bxxh[26][13] = { 46 0005,0150,0153,0062,0062,0246,0152,0127,0146,0203,0310,0017,0206, 47 0100,0000,0120,0000,0140,0000,0000,0100,0000,0000,0120,0000,0060, 48 0100,0000,0040,0000,0060,0000,0000,0060,0000,0000,0220,0000,0040, 49 0100,0000,0120,0000,0200,0000,0000,0100,0000,0000,0140,0000,0060, 50 0043,0142,0046,0140,0062,0147,0210,0131,0046,0106,0246,0017,0111, 51 0060,0000,0020,0000,0060,0000,0000,0040,0000,0000,0100,0000,0000, 52 0060,0000,0040,0000,0040,0000,0000,0040,0000,0000,0100,0000,0040, 53 0100,0000,0100,0000,0100,0000,0000,0040,0000,0000,0100,0000,0140, 54 0066,0045,0145,0140,0000,0070,0377,0030,0130,0103,0003,0017,0006, 55 0040,0000,0040,0000,0020,0000,0000,0040,0000,0000,0100,0000,0000, 56 0200,0000,0020,0000,0140,0000,0000,0120,0000,0000,0120,0000,0040, 57 0120,0000,0040,0000,0060,0000,0000,0060,0000,0000,0160,0000,0040, 58 0120,0000,0040,0000,0120,0000,0000,0040,0000,0000,0160,0000,0040, 59 0120,0000,0020,0000,0140,0000,0000,0120,0000,0000,0140,0000,0040, 60 0051,0126,0150,0140,0060,0210,0146,0006,0006,0165,0003,0017,0244, 61 0120,0000,0040,0000,0160,0000,0000,0140,0000,0000,0060,0000,0140, 62 0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000, 63 0140,0000,0140,0000,0060,0000,0000,0100,0000,0000,0140,0000,0020, 64 0120,0000,0020,0000,0060,0000,0000,0060,0000,0000,0060,0000,0040, 65 0140,0000,0020,0000,0100,0000,0000,0140,0000,0000,0140,0000,0020, 66 0070,0125,0051,0162,0120,0105,0126,0104,0006,0044,0000,0017,0052, 67 0140,0000,0020,0000,0140,0000,0000,0060,0000,0000,0060,0000,0040, 68 0020,0000,0000,0000,0020,0000,0000,0000,0000,0000,0000,0000,0060, 69 0140,0000,0160,0000,0200,0000,0000,0140,0000,0000,0000,0000,0240, 70 0065,0042,0060,0200,0000,0210,0222,0146,0006,0204,0220,0012,0003, 71 0240,0000,0020,0000,0120,0000,0000,0200,0000,0000,0200,0000,0240, 72 }; 73 74 char xhx[26][13] = { 75 0032,0146,0042,0107,0076,0102,0042,0146,0202,0050,0006,0000,0051, 76 0036,0377,0057,0013,0057,0366,0377,0057,0001,0377,0057,0000,0040, 77 0037,0377,0020,0000,0100,0022,0377,0057,0362,0116,0100,0000,0017, 78 0057,0377,0057,0031,0137,0363,0377,0037,0362,0270,0077,0000,0117, 79 0074,0142,0012,0236,0076,0125,0063,0165,0341,0046,0047,0000,0024, 80 0020,0017,0075,0377,0040,0001,0377,0017,0001,0204,0020,0000,0040, 81 0057,0017,0057,0340,0140,0362,0314,0117,0003,0302,0100,0000,0057, 82 0057,0357,0077,0017,0100,0366,0314,0057,0342,0346,0037,0000,0060, 83 0252,0145,0072,0157,0377,0165,0063,0066,0164,0050,0363,0000,0362, 84 0000,0000,0020,0000,0020,0000,0000,0017,0000,0000,0020,0000,0000, 85 0117,0017,0237,0377,0200,0354,0125,0110,0004,0257,0000,0000,0300, 86 0057,0367,0054,0357,0157,0216,0314,0114,0217,0353,0053,0000,0057, 87 0077,0213,0077,0077,0177,0317,0377,0114,0377,0352,0077,0000,0076, 88 0077,0213,0077,0077,0157,0177,0377,0054,0377,0352,0117,0000,0075, 89 0125,0230,0065,0216,0057,0066,0063,0047,0345,0126,0011,0000,0033, 90 0057,0377,0051,0360,0120,0361,0273,0056,0001,0256,0057,0000,0060, 91 0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000, 92 0076,0310,0056,0310,0137,0174,0273,0055,0335,0266,0033,0000,0155, 93 0077,0157,0057,0360,0057,0063,0042,0024,0077,0206,0020,0000,0040, 94 0057,0037,0077,0360,0100,0365,0377,0037,0362,0176,0050,0000,0026, 95 0167,0146,0042,0112,0077,0110,0062,0254,0366,0052,0377,0000,0163, 96 0060,0000,0040,0000,0120,0000,0377,0060,0012,0000,0037,0000,0257, 97 0037,0232,0157,0361,0040,0003,0125,0010,0001,0256,0000,0000,0340, 98 0377,0377,0377,0377,0377,0377,0377,0377,0377,0377,0377,0017,0277, 99 0253,0315,0257,0216,0377,0206,0146,0306,0371,0126,0232,0000,0004, 100 0057,0012,0100,0360,0160,0360,0000,0040,0000,0017,0157,0000,0176, 101 }; 102 103 char xxh[26][13] = { 104 0045,0150,0154,0162,0042,0246,0210,0147,0152,0103,0230,0017,0206, 105 0100,0000,0040,0000,0140,0000,0000,0100,0000,0021,0120,0017,0060, 106 0100,0000,0040,0002,0140,0320,0000,0060,0000,0001,0220,0017,0040, 107 0100,0001,0120,0001,0241,0000,0000,0100,0000,0020,0140,0017,0060, 108 0023,0162,0046,0142,0022,0207,0210,0131,0052,0106,0250,0017,0110, 109 0060,0000,0042,0000,0160,0000,0000,0040,0000,0212,0100,0017,0000, 110 0140,0000,0040,0002,0140,0000,0000,0120,0000,0040,0120,0017,0040, 111 0100,0000,0100,0000,0140,0001,0021,0140,0000,0046,0100,0017,0140, 112 0066,0045,0025,0201,0020,0130,0146,0030,0130,0103,0025,0017,0006, 113 0100,0000,0040,0000,0020,0000,0000,0040,0000,0000,0200,0017,0000, 114 0200,0000,0020,0001,0140,0000,0000,0140,0000,0000,0120,0017,0040, 115 0120,0026,0042,0020,0140,0161,0042,0143,0000,0022,0162,0017,0040, 116 0121,0042,0060,0020,0140,0200,0000,0123,0000,0021,0220,0017,0041, 117 0121,0042,0060,0120,0140,0200,0000,0123,0000,0021,0160,0017,0041, 118 0051,0126,0150,0141,0060,0210,0146,0066,0026,0165,0026,0017,0247, 119 0120,0000,0040,0003,0160,0000,0000,0140,0000,0021,0100,0017,0140, 120 0000,0000,0000,0000,0200,0000,0000,0000,0000,0000,0000,0017,0000, 121 0141,0023,0122,0040,0160,0143,0042,0142,0000,0047,0143,0017,0020, 122 0120,0000,0040,0006,0140,0060,0000,0141,0000,0026,0100,0017,0040, 123 0140,0000,0020,0007,0100,0000,0000,0140,0000,0001,0140,0017,0020, 124 0110,0125,0051,0162,0120,0125,0127,0104,0006,0104,0000,0017,0052, 125 0140,0000,0040,0000,0160,0000,0000,0140,0000,0000,0060,0017,0000, 126 0040,0005,0020,0000,0040,0313,0231,0030,0000,0140,0000,0017,0056, 127 0140,0000,0160,0000,0200,0000,0000,0140,0000,0000,0000,0017,0240, 128 0065,0042,0060,0040,0000,0206,0231,0146,0006,0224,0220,0017,0004, 129 0240,0000,0020,0000,0140,0000,0000,0220,0000,0000,0200,0017,0141, 130 }; 131 132 /* 133 * These tables are for the DUTCH algorithm 134 */ 135 136 char translate[26] = 137 { /* a */ 29, /* b */ 44, /* c */ 40, /* d */ 45, /* e */ 30, 138 /* f */ 46, /* g */ 47, /* h */ 42, /* i */ 31, /* j */ 41, 139 /* k */ 43, /* l */ 48, /* m */ 49, /* n */ 50, /* o */ 33, 140 /* p */ 51, /* q */ 39, /* r */ 52, /* s */ 53, /* t */ 54, 141 /* u */ 32, /* v */ 55, /* w */ 56, /* x */ 57, /* y */ 38, 142 /* z */ 58 143 }; 144 145 char comprimation[15][14] = { 146 147 /* a e i u o y j h*/ 148 149 /*aa*/ 0, 0, 1, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 150 /*ee*/ 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151 /*oo*/ 0, 0, 5, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 152 /*a */ 26, 8, 9, 10, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 153 /*e */ -1, 27, 13, 34, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 154 /*i */ 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 155 /*u */ 0, 0, 21, 25, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 156 /*o */ 0, 36, 18, 37, 28, 0, 0, 0, 0, 20, 0, 0, 0, 0, 157 /*eu*/ 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158 /*ie*/ 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159 /*oe*/ 0, 0, 3, 24, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 160 /*ou*/ 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161 /* */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162 /*q */ 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163 /*c */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61 164 165 } ; 166 167 168 char consonant[23][23] = { 169 170 /* q c j h k b d f g l m n p r s t v w x z - qu ch*/ 171 172 /* q*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 5,-1,-1, 173 /* c*/ -1,-1,-1,-1,-4,-1,-1,-1,-1, 3,-1,-1,-1, 3,-1,-1,-1,-1,-1,-1, 5,-1,-1, 174 /* j*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 5,-1,-1, 175 /* h*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-1,-1,-1,-1, 5,-1,-1, 176 /* k*/ -1,-1,-1,-1,-1,-1,-1,-1,-1, 3,-1, 5,-1, 3,-5,-1,-1, 3,-1,-1, 5,-1,-1, 177 /* b*/ -1,-1,-1,-1,-1,-1,-1,-1,-1, 3,-1,-1,-1, 3,-1,-1,-1,-1,-1,-1, 5,-1,-1, 178 /* d*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 3,-5,-1,-1, 5,-1,-1, 5,-1,-1, 179 /* f*/ -1,-1,-1,-1,-1,-1,-4,-1,-1, 5,-1,-1,-1, 5,-5,-4,-1,-1,-1,-1, 5,-1,-1, 180 /* g*/ -1,-1,-1, 2,-1,-1,-4,-1,-1, 5,-1,-1,-1, 5,-5,-1,-1,-1,-1,-1, 5,-1,-1, 181 /* l*/ -1,-1,-1,-1,-4,-1,-4,-4,-4,-1,-4,-1,-4,-1,-4,-1,-1,-1,-1,-1, 5,-1,-1, 182 /* m*/ -1,-1,-1,-1,-1,-1,-4,-1,-1,-1,-1,-1,-1,-1,-2,-1,-1,-1,-1,-1, 5,-1,-1, 183 /* n*/ -1,-1,-1,-1,-4,-1,-4,-1,-4,-1,-1,-1,-1,-1,-4,-4,-1,-1,-1,-1, 5,-1,-1, 184 /* p*/ -1,-1, 2, 5,-1,-1,-1,-1,-1, 3,-1,-1,-1, 3,-5,-1,-1,-1,-1,-1, 5,-1,-1, 185 /* r*/ -1,-1,-1,-1,-4,-1,-4,-1,-4,-1,-4,-4,-4,-1,-5,-1,-1,-1,-1,-1, 5,-1,-1, 186 /* s*/ -1,-1,-1,-5,-1,-1,-1,-1,-1, 5, 5, 5, 5,-1,-1, 5,-1,-1,-1,-1, 5, 5, 3, 187 /* t*/ -1,-1,-5,-5,-1,-1,-1,-1,-1,-1,-1,-1,-1, 5,-4,-1,-1,-5,-1,-1, 5,-1,-1, 188 /* v*/ -1,-1,-1,-1,-1,-1,-1,-1,-1, 3,-1,-1,-1, 3,-1,-1,-1,-1,-1,-1, 5,-1,-1, 189 /* w*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 3,-1,-1,-1,-1,-1,-1, 5,-1,-1, 190 /* x*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 5,-1,-1, 191 /* z*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 3,-1,-1, 5,-1,-1, 192 /* -*/ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 193 /*qu*/ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, 5,-1,-1, 194 /*ch*/ -1,-1,-1,-1,-1,-1,-1,-1,-1, 3,-1,-1,-1, 3,-1,-4,-1,-1,-1,-1, 5,-1,-1 195 } ; 196 197 198 char prefix[7][3] = { 199 55, 30, 50, /*'ven'*/ 200 54, 30, 52, /*'ter'*/ 201 50, 33, 47, /*'nog'*/ 202 45, 30, 52, /*'der'*/ 203 55, 30, 52, /*'ver'*/ 204 55, 29, 50, /*'van'*/ 205 42, 35, 52 /*'hier'*/ 206 } ; 207