From 189a92227b098d2a08cbcb7c091d13ce6c8680b3 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Wed, 5 Oct 2005 10:10:25 +0000 Subject: [PATCH] Added user unaccenting rules for stroked letters. Not tested yet. --- charset/U-unacc.h | 14 +-- charset/chartable.h | 224 +++++++++++++++++++------------------- charset/misc/gen-charconv | 15 ++- charset/misc/generate | 2 +- charset/misc/table2h | 4 + charset/misc/user_unacc | 22 ++++ 6 files changed, 160 insertions(+), 121 deletions(-) create mode 100644 charset/misc/user_unacc diff --git a/charset/U-unacc.h b/charset/U-unacc.h index 66177ac8..a0188811 100644 --- a/charset/U-unacc.h +++ b/charset/U-unacc.h @@ -21,15 +21,15 @@ static const word _U_unaccent_00[256] = { static const word _U_unaccent_01[256] = { 0x0041,0x0061,0x0041,0x0061,0x0041,0x0061,0x0043,0x0063,0x0043,0x0063,0x0043,0x0063,0x0043,0x0063,0x0044,0x0064, -0,0,0x0045,0x0065,0x0045,0x0065,0x0045,0x0065,0x0045,0x0065,0x0045,0x0065,0x0047,0x0067,0x0047,0x0067, -0x0047,0x0067,0x0047,0x0067,0x0048,0x0068,0,0,0x0049,0x0069,0x0049,0x0069,0x0049,0x0069,0x0049,0x0069, +0x0044,0x0064,0x0045,0x0065,0x0045,0x0065,0x0045,0x0065,0x0045,0x0065,0x0045,0x0065,0x0047,0x0067,0x0047,0x0067, +0x0047,0x0067,0x0047,0x0067,0x0048,0x0068,0x0048,0x0068,0x0049,0x0069,0x0049,0x0069,0x0049,0x0069,0x0049,0x0069, 0x0049,0,0,0,0x004A,0x006A,0x004B,0x006B,0,0x004C,0x006C,0x004C,0x006C,0x004C,0x006C,0, -0,0,0,0x004E,0x006E,0x004E,0x006E,0x004E,0x006E,0,0,0,0x004F,0x006F,0x004F,0x006F, +0,0x004c,0x006c,0x004E,0x006E,0x004E,0x006E,0x004E,0x006E,0,0,0,0x004F,0x006F,0x004F,0x006F, 0x004F,0x006F,0,0,0x0052,0x0072,0x0052,0x0072,0x0052,0x0072,0x0053,0x0073,0x0053,0x0073,0x0053,0x0073, -0x0053,0x0073,0x0054,0x0074,0x0054,0x0074,0,0,0x0055,0x0075,0x0055,0x0075,0x0055,0x0075,0x0055,0x0075, +0x0053,0x0073,0x0054,0x0074,0x0054,0x0074,0x0054,0x0074,0x0055,0x0075,0x0055,0x0075,0x0055,0x0075,0x0055,0x0075, 0x0055,0x0075,0x0055,0x0075,0x0057,0x0077,0x0059,0x0079,0x0059,0x005A,0x007A,0x005A,0x007A,0x005A,0x007A,0x0073, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0x0042,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0x0049,0,0,0,0,0,0,0,0, 0x004F,0x006F,0,0,0,0,0,0,0,0,0,0,0,0,0,0x0055, 0x0075,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0x0041,0x0061,0x0049, @@ -45,7 +45,7 @@ static const word _U_unaccent_02[256] = { 0x022E,0x022F,0x0059,0x0079,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0x0069,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, diff --git a/charset/chartable.h b/charset/chartable.h index 1f302a11..53b86761 100644 --- a/charset/chartable.h +++ b/charset/chartable.h @@ -927,15 +927,15 @@ static unsigned short int x_to_output[24][838] = { 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 97, 256, 256, 256, 256, 256, 256, 256, 50, 51, 256, 256, 256, 256, 256, 49, 111, 256, 257, 261, 265, 256, 65, 65, 65, 65, 65, 65, 269, 67, 69, 69, 69, 69, 73, 73, 73, 73, -256, 78, 79, 79, 79, 79, 79, 256, 256, 85, 85, 85, 85, 89, 256, 256, +256, 78, 79, 79, 79, 79, 79, 256, 79, 85, 85, 85, 85, 89, 256, 256, 97, 97, 97, 97, 97, 97, 272, 99, 101, 101, 101, 101, 105, 105, 105, 105, -256, 110, 111, 111, 111, 111, 111, 256, 256, 117, 117, 117, 117, 121, 256, 121, -256, 65, 256, 256, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 256, 108, +256, 110, 111, 111, 111, 111, 111, 256, 111, 117, 117, 117, 117, 121, 256, 121, +256, 65, 256, 76, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 108, 108, 115, 256, 115, 115, 116, 122, 256, 122, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -987,12 +987,12 @@ static unsigned short int x_to_output[24][838] = { 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -256, 65, 256, 256, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 256, 108, +256, 65, 256, 76, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 108, 108, 115, 256, 115, 115, 116, 122, 256, 122, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1041,15 +1041,15 @@ static unsigned short int x_to_output[24][838] = { 160, 256, 256, 256, 164, 256, 256, 167, 168, 256, 97, 256, 256, 173, 256, 256, 176, 256, 50, 51, 180, 256, 256, 256, 184, 49, 111, 256, 257, 261, 265, 256, 65, 193, 194, 65, 196, 65, 269, 199, 69, 201, 69, 203, 73, 205, 206, 73, -256, 78, 79, 211, 212, 79, 214, 215, 256, 85, 218, 85, 220, 221, 256, 223, +256, 78, 79, 211, 212, 79, 214, 215, 79, 85, 218, 85, 220, 221, 256, 223, 97, 225, 226, 97, 228, 97, 272, 231, 101, 233, 101, 235, 105, 237, 238, 105, -256, 110, 111, 243, 244, 111, 246, 247, 256, 117, 250, 117, 252, 253, 256, 121, +256, 110, 111, 243, 244, 111, 246, 247, 111, 117, 250, 117, 252, 253, 256, 121, 256, 161, 162, 163, 165, 166, 169, 170, 171, 172, 174, 175, 177, 178, 179, 181, 182, 183, 185, 186, 187, 188, 189, 190, 191, 192, 195, 197, 198, 200, 202, 204, 207, 208, 209, 210, 213, 216, 217, 219, 222, 224, 227, 229, 230, 232, 234, 236, -239, 240, 241, 242, 245, 248, 249, 251, 254, 255, 256, 72, 73, 71, 74, 256, +239, 240, 241, 242, 245, 248, 249, 251, 254, 255, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1098,15 +1098,15 @@ static unsigned short int x_to_output[24][838] = { 160, 256, 256, 163, 164, 256, 256, 167, 168, 256, 97, 256, 256, 173, 256, 256, 176, 256, 178, 179, 180, 181, 256, 183, 184, 49, 111, 256, 257, 189, 265, 256, 192, 193, 194, 65, 196, 65, 269, 199, 200, 201, 202, 203, 204, 205, 206, 207, -256, 209, 210, 211, 212, 79, 214, 215, 256, 217, 218, 219, 220, 89, 256, 223, +256, 209, 210, 211, 212, 79, 214, 215, 79, 217, 218, 219, 220, 89, 256, 223, 224, 225, 226, 97, 228, 97, 272, 231, 232, 233, 234, 235, 236, 237, 238, 239, -256, 241, 242, 243, 244, 111, 246, 247, 256, 249, 250, 251, 252, 121, 256, 121, -256, 65, 162, 256, 76, 83, 83, 170, 84, 90, 90, 175, 97, 256, 256, 108, +256, 241, 242, 243, 244, 111, 246, 247, 111, 249, 250, 251, 252, 121, 256, 121, +256, 65, 162, 76, 76, 83, 83, 170, 84, 90, 90, 175, 97, 256, 108, 108, 115, 256, 115, 186, 116, 122, 256, 122, 191, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 255, 161, 166, 169, 171, 172, 177, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 255, 161, 166, 169, 171, 172, 177, 182, 185, 187, 188, 197, 198, 213, 216, 221, 222, 229, 230, 245, 248, 253, 254, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1158,10 +1158,10 @@ static unsigned short int x_to_output[24][838] = { 256, 78, 79, 79, 212, 213, 214, 215, 216, 85, 218, 219, 220, 89, 256, 223, 97, 225, 226, 227, 228, 229, 230, 99, 101, 233, 101, 235, 105, 237, 238, 105, 256, 110, 111, 111, 244, 245, 246, 247, 248, 117, 250, 251, 252, 121, 256, 121, -256, 161, 256, 256, 76, 83, 169, 83, 84, 90, 174, 90, 177, 178, 256, 108, +256, 161, 256, 76, 76, 83, 169, 83, 84, 90, 174, 90, 177, 178, 108, 108, 115, 183, 185, 115, 116, 122, 256, 190, 122, 82, 65, 76, 67, 200, 202, 69, 68, 208, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 232, 234, 101, -100, 240, 110, 110, 111, 114, 117, 117, 116, 255, 256, 72, 73, 71, 74, 256, +100, 240, 110, 110, 111, 114, 117, 117, 116, 255, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, 162, 163, 165, 166, 170, 171, 172, 179, 181, 182, 186, 187, 188, 189, 191, 192, 199, 204, 207, 209, 210, 211, 217, 221, 222, 224, 231, 236, 239, 241, 242, 243, @@ -1212,15 +1212,15 @@ static unsigned short int x_to_output[24][838] = { 160, 256, 256, 256, 256, 256, 256, 253, 256, 256, 97, 256, 256, 173, 256, 256, 256, 256, 50, 51, 256, 256, 256, 256, 256, 49, 111, 256, 257, 261, 265, 256, 65, 65, 65, 65, 65, 65, 269, 67, 69, 69, 69, 69, 73, 73, 73, 73, -256, 78, 79, 79, 79, 79, 79, 256, 256, 85, 85, 85, 85, 89, 256, 256, +256, 78, 79, 79, 79, 79, 79, 256, 79, 85, 85, 85, 85, 89, 256, 256, 97, 97, 97, 97, 97, 97, 272, 99, 101, 101, 101, 101, 105, 105, 105, 105, -256, 110, 111, 111, 111, 111, 111, 256, 256, 117, 117, 117, 117, 121, 256, 121, -256, 65, 256, 256, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 256, 108, +256, 110, 111, 111, 111, 111, 111, 256, 111, 117, 117, 117, 117, 121, 256, 121, +256, 65, 256, 76, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 108, 108, 115, 256, 115, 115, 116, 122, 256, 122, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, @@ -1269,15 +1269,15 @@ static unsigned short int x_to_output[24][838] = { 160, 256, 256, 256, 164, 256, 256, 256, 256, 256, 97, 256, 256, 173, 256, 256, 256, 256, 50, 51, 256, 256, 256, 256, 256, 49, 111, 256, 257, 261, 265, 256, 65, 65, 65, 65, 65, 65, 269, 67, 69, 69, 69, 69, 73, 73, 73, 73, -256, 78, 79, 79, 79, 79, 79, 256, 256, 85, 85, 85, 85, 89, 256, 256, +256, 78, 79, 79, 79, 79, 79, 256, 79, 85, 85, 85, 85, 89, 256, 256, 97, 97, 97, 97, 97, 97, 272, 99, 101, 101, 101, 101, 105, 105, 105, 105, -256, 110, 111, 111, 111, 111, 111, 256, 256, 117, 117, 117, 117, 121, 256, 121, -256, 65, 256, 256, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 256, 108, +256, 110, 111, 111, 111, 111, 111, 256, 111, 117, 117, 117, 117, 121, 256, 121, +256, 65, 256, 76, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 108, 108, 115, 256, 115, 115, 116, 122, 256, 122, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1326,15 +1326,15 @@ static unsigned short int x_to_output[24][838] = { 160, 256, 256, 163, 256, 256, 166, 167, 168, 169, 97, 171, 172, 173, 256, 256, 176, 177, 178, 179, 256, 236, 256, 183, 256, 49, 111, 187, 257, 189, 265, 256, 65, 65, 65, 65, 65, 65, 269, 67, 69, 69, 69, 69, 73, 73, 73, 73, -256, 78, 79, 79, 79, 79, 79, 256, 256, 85, 85, 85, 85, 89, 256, 256, +256, 78, 79, 79, 79, 79, 79, 256, 79, 85, 85, 85, 85, 89, 256, 256, 97, 97, 97, 97, 97, 97, 272, 99, 101, 101, 101, 101, 105, 105, 105, 105, -256, 110, 111, 111, 111, 111, 111, 256, 256, 117, 117, 117, 117, 121, 256, 121, -256, 65, 256, 256, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 256, 108, +256, 110, 111, 111, 111, 111, 111, 256, 111, 117, 117, 117, 117, 121, 256, 121, +256, 65, 256, 76, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 108, 108, 115, 256, 115, 115, 116, 122, 256, 122, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1383,15 +1383,15 @@ static unsigned short int x_to_output[24][838] = { 160, 256, 162, 163, 164, 165, 166, 167, 168, 169, 97, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 111, 187, 188, 189, 190, 256, 65, 65, 65, 65, 65, 65, 269, 67, 69, 69, 69, 69, 73, 73, 73, 73, -256, 78, 79, 79, 79, 79, 79, 170, 256, 85, 85, 85, 85, 89, 256, 256, +256, 78, 79, 79, 79, 79, 79, 170, 79, 85, 85, 85, 85, 89, 256, 256, 97, 97, 97, 97, 97, 97, 272, 99, 101, 101, 101, 101, 105, 105, 105, 105, -256, 110, 111, 111, 111, 111, 111, 186, 256, 117, 117, 117, 117, 121, 256, 121, -256, 65, 256, 256, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 256, 108, +256, 110, 111, 111, 111, 111, 111, 186, 111, 117, 117, 117, 117, 121, 256, 121, +256, 65, 256, 76, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 108, 108, 115, 256, 115, 115, 116, 122, 256, 122, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1443,12 +1443,12 @@ static unsigned short int x_to_output[24][838] = { 256, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 89, 256, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 256, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 121, 256, 255, -256, 65, 256, 256, 76, 83, 83, 222, 84, 90, 90, 90, 97, 256, 256, 108, +256, 65, 256, 76, 76, 83, 83, 222, 84, 90, 90, 90, 97, 256, 108, 108, 115, 256, 115, 254, 116, 122, 256, 122, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 221, 208, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 221, 208, 74, 104, 104, 253, 240, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1500,10 +1500,10 @@ static unsigned short int x_to_output[24][838] = { 208, 78, 79, 211, 212, 213, 214, 256, 216, 85, 218, 219, 220, 221, 222, 223, 97, 225, 226, 227, 228, 229, 230, 99, 101, 233, 101, 235, 105, 237, 238, 239, 240, 110, 111, 243, 244, 245, 246, 256, 248, 117, 250, 251, 252, 253, 254, 121, -256, 161, 256, 256, 76, 83, 170, 83, 84, 90, 172, 90, 177, 256, 256, 108, +256, 161, 256, 76, 76, 83, 170, 83, 84, 90, 172, 90, 177, 256, 108, 108, 115, 256, 186, 115, 116, 122, 256, 188, 122, 82, 65, 76, 67, 200, 202, 69, 68, 169, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 232, 234, 101, -100, 185, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +100, 185, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, 255, 82, 165, 168, 162, 163, 171, 114, 181, 184, 178, 179, 187, 175, 191, 192, 199, 204, 164, 209, 210, 166, 217, 215, 174, 224, 231, 236, 180, 241, 242, 182, @@ -1554,15 +1554,15 @@ static unsigned short int x_to_output[24][838] = { 160, 256, 256, 256, 256, 256, 256, 256, 256, 256, 97, 256, 256, 256, 256, 256, 256, 256, 50, 51, 256, 256, 256, 256, 256, 49, 111, 256, 257, 261, 265, 256, 65, 65, 65, 65, 65, 65, 269, 67, 69, 69, 69, 69, 73, 73, 73, 73, -256, 78, 79, 79, 79, 79, 79, 256, 256, 85, 85, 85, 85, 89, 256, 256, +256, 78, 79, 79, 79, 79, 79, 256, 79, 85, 85, 85, 85, 89, 256, 256, 97, 97, 97, 97, 97, 97, 272, 99, 101, 101, 101, 101, 105, 105, 105, 105, -256, 110, 111, 111, 111, 111, 111, 256, 256, 117, 117, 117, 117, 121, 256, 121, -256, 65, 256, 256, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 256, 108, +256, 110, 111, 111, 111, 111, 111, 256, 111, 117, 117, 117, 117, 121, 256, 121, +256, 65, 256, 76, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 108, 108, 115, 256, 115, 115, 116, 122, 256, 122, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1616,10 +1616,10 @@ static unsigned short int x_to_output[24][838] = { 256, 110, 111, 243, 111, 245, 246, 247, 184, 117, 117, 117, 252, 121, 256, 121, 256, 192, 256, 217, 76, 218, 208, 83, 84, 202, 222, 221, 224, 256, 249, 108, 250, 256, 240, 115, 116, 234, 256, 254, 253, 82, 65, 76, 195, 200, 198, 69, -68, 256, 209, 78, 79, 82, 85, 85, 84, 114, 97, 108, 227, 232, 230, 101, -100, 256, 241, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 209, 78, 79, 82, 85, 85, 84, 114, 97, 108, 227, 232, 230, 101, +100, 100, 241, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 170, 73, 207, 199, 204, 256, 186, 105, 239, 231, 236, 256, 256, 256, 194, +256, 170, 73, 207, 199, 204, 84, 186, 105, 239, 231, 236, 116, 256, 256, 194, 193, 203, 206, 210, 212, 205, 216, 85, 219, 226, 225, 235, 238, 242, 244, 237, 248, 117, 251, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1671,12 +1671,12 @@ static unsigned short int x_to_output[24][838] = { 256, 209, 210, 211, 212, 213, 214, 256, 216, 217, 218, 219, 220, 221, 256, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 256, 241, 242, 243, 244, 245, 246, 256, 248, 249, 250, 251, 252, 253, 256, 255, -256, 65, 256, 256, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 256, 108, +256, 65, 256, 76, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 108, 108, 115, 256, 115, 115, 116, 122, 256, 122, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 164, 67, 178, 71, 85, 83, 165, 99, 179, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1728,12 +1728,12 @@ static unsigned short int x_to_output[24][838] = { 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -256, 65, 256, 256, 76, 83, 166, 83, 84, 90, 180, 90, 97, 256, 256, 108, +256, 65, 256, 76, 76, 83, 166, 83, 84, 90, 180, 90, 97, 256, 108, 108, 115, 256, 168, 115, 116, 122, 256, 184, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1782,15 +1782,15 @@ static unsigned short int x_to_output[24][838] = { 160, 256, 256, 256, 256, 256, 256, 167, 256, 169, 97, 171, 256, 173, 256, 256, 176, 177, 50, 51, 256, 256, 182, 183, 256, 49, 111, 187, 257, 261, 265, 256, 192, 193, 194, 65, 196, 65, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, -256, 78, 210, 211, 212, 79, 214, 256, 256, 217, 218, 219, 220, 89, 256, 223, +256, 78, 210, 211, 212, 79, 214, 256, 79, 217, 218, 219, 220, 89, 256, 223, 224, 225, 226, 97, 228, 97, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, -256, 110, 242, 243, 244, 111, 246, 256, 256, 249, 250, 251, 252, 121, 256, 255, +256, 110, 242, 243, 244, 111, 246, 256, 111, 249, 250, 251, 252, 121, 256, 255, 256, 161, 256, 163, 76, 215, 166, 83, 84, 172, 180, 175, 162, 256, 179, 108, 247, 256, 168, 115, 116, 174, 256, 184, 191, 82, 195, 76, 197, 178, 221, 69, 68, 208, 209, 78, 213, 82, 85, 216, 84, 114, 227, 108, 229, 185, 253, 101, -100, 240, 241, 110, 245, 114, 117, 248, 116, 256, 256, 72, 73, 71, 74, 256, +100, 240, 241, 110, 245, 114, 117, 248, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1839,15 +1839,15 @@ static unsigned short int x_to_output[24][838] = { 160, 256, 256, 256, 164, 256, 166, 167, 168, 169, 97, 171, 172, 173, 174, 256, 176, 177, 50, 51, 180, 181, 182, 183, 184, 49, 111, 187, 257, 261, 265, 256, 65, 193, 194, 65, 196, 65, 269, 199, 69, 201, 69, 203, 73, 205, 206, 73, -256, 78, 79, 211, 212, 79, 214, 215, 256, 85, 218, 85, 220, 221, 256, 223, +256, 78, 79, 211, 212, 79, 214, 215, 79, 85, 218, 85, 220, 221, 256, 223, 97, 225, 226, 97, 228, 97, 272, 231, 101, 233, 101, 235, 105, 237, 238, 105, -256, 110, 111, 243, 244, 111, 246, 247, 256, 117, 250, 117, 252, 253, 256, 121, +256, 110, 111, 243, 244, 111, 246, 247, 111, 117, 250, 117, 252, 253, 256, 121, 256, 165, 162, 163, 188, 140, 138, 170, 141, 143, 142, 175, 185, 178, 179, 190, 156, 161, 154, 186, 157, 159, 189, 158, 191, 192, 195, 197, 198, 200, 202, 204, 207, 208, 209, 210, 213, 216, 217, 219, 222, 224, 227, 229, 230, 232, 234, 236, -239, 240, 241, 242, 245, 248, 249, 251, 254, 255, 256, 72, 73, 71, 74, 256, +239, 240, 241, 242, 245, 248, 249, 251, 254, 255, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -1896,15 +1896,15 @@ static unsigned short int x_to_output[24][838] = { 160, 256, 256, 256, 164, 256, 166, 167, 256, 169, 97, 171, 172, 173, 174, 256, 176, 177, 50, 51, 256, 181, 182, 183, 256, 49, 111, 187, 257, 261, 265, 256, 65, 65, 65, 65, 65, 65, 269, 67, 69, 69, 69, 69, 73, 73, 73, 73, -256, 78, 79, 79, 79, 79, 79, 256, 256, 85, 85, 85, 85, 89, 256, 256, +256, 78, 79, 79, 79, 79, 79, 256, 79, 85, 85, 85, 85, 89, 256, 256, 97, 97, 97, 97, 97, 97, 272, 99, 101, 101, 101, 101, 105, 105, 105, 105, -256, 110, 111, 111, 111, 111, 111, 256, 256, 117, 117, 117, 117, 121, 256, 121, -256, 65, 256, 256, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 256, 108, +256, 110, 111, 111, 111, 111, 111, 256, 111, 117, 117, 117, 117, 121, 256, 121, +256, 65, 256, 76, 76, 83, 83, 83, 84, 90, 90, 90, 97, 256, 108, 108, 115, 256, 115, 115, 116, 122, 256, 122, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 168, 128, 129, 170, 189, 178, 175, 163, 138, 140, 142, 141, 161, 143, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, @@ -1956,12 +1956,12 @@ static unsigned short int x_to_output[24][838] = { 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, -256, 65, 256, 256, 76, 83, 138, 83, 84, 90, 142, 90, 97, 256, 256, 108, +256, 65, 256, 76, 76, 83, 138, 83, 84, 90, 142, 90, 97, 256, 108, 108, 115, 256, 154, 115, 116, 122, 256, 158, 122, 82, 65, 76, 67, 67, 69, 69, -68, 256, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, -100, 256, 110, 110, 111, 114, 117, 117, 116, 256, 256, 72, 73, 71, 74, 256, +68, 68, 78, 78, 79, 82, 85, 85, 84, 114, 97, 108, 99, 99, 101, 101, +100, 100, 110, 110, 111, 114, 117, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -2010,15 +2010,15 @@ static unsigned short int x_to_output[24][838] = { 255, 256, 256, 256, 256, 256, 256, 173, 256, 256, 97, 175, 256, 256, 256, 256, 248, 241, 253, 51, 256, 230, 256, 250, 256, 49, 111, 174, 172, 261, 265, 256, 65, 143, 65, 65, 142, 65, 269, 67, 69, 144, 69, 69, 73, 139, 73, 73, -256, 78, 79, 149, 167, 79, 153, 256, 256, 85, 151, 85, 154, 157, 256, 256, +256, 78, 79, 149, 167, 79, 153, 256, 79, 85, 151, 85, 154, 157, 256, 256, 97, 160, 97, 97, 132, 97, 272, 99, 101, 130, 101, 101, 105, 161, 105, 105, -256, 110, 111, 162, 147, 111, 148, 246, 256, 117, 163, 117, 129, 152, 256, 121, -256, 65, 256, 256, 156, 83, 155, 83, 134, 90, 146, 90, 97, 256, 256, 140, +256, 110, 111, 162, 147, 111, 148, 246, 111, 117, 163, 117, 129, 152, 256, 121, +256, 65, 256, 76, 156, 83, 155, 83, 134, 90, 146, 90, 97, 256, 108, 140, 115, 256, 168, 115, 159, 122, 256, 145, 122, 171, 65, 138, 67, 128, 69, 137, -133, 256, 78, 165, 79, 158, 166, 85, 84, 170, 97, 141, 99, 135, 101, 136, -131, 256, 110, 164, 111, 169, 150, 117, 116, 256, 256, 72, 73, 71, 74, 256, +133, 68, 78, 165, 79, 158, 166, 85, 84, 170, 97, 141, 99, 135, 101, 136, +131, 100, 110, 164, 111, 169, 150, 117, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -2067,15 +2067,15 @@ static unsigned short int x_to_output[24][838] = { 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 97, 256, 256, 256, 256, 256, 254, 256, 50, 51, 224, 256, 256, 256, 256, 49, 111, 256, 257, 261, 265, 256, 65, 225, 291, 65, 241, 65, 269, 67, 69, 247, 294, 69, 73, 233, 297, 73, -256, 78, 79, 239, 240, 79, 237, 256, 256, 85, 245, 300, 232, 249, 256, 256, +256, 78, 79, 239, 240, 79, 237, 256, 79, 85, 245, 300, 232, 249, 256, 256, 216, 193, 303, 97, 209, 97, 272, 99, 101, 215, 306, 101, 105, 201, 309, 105, -256, 110, 111, 207, 208, 111, 205, 256, 256, 117, 213, 312, 200, 217, 256, 121, -256, 65, 256, 256, 236, 83, 243, 83, 244, 90, 250, 90, 97, 256, 256, 204, +256, 110, 111, 207, 208, 111, 205, 256, 111, 117, 213, 312, 200, 217, 256, 121, +256, 65, 256, 76, 236, 83, 243, 83, 244, 90, 250, 90, 97, 256, 108, 204, 115, 256, 211, 115, 212, 122, 256, 218, 122, 230, 248, 235, 67, 227, 69, 229, -228, 256, 78, 238, 79, 242, 234, 85, 84, 198, 97, 203, 99, 195, 101, 197, -196, 256, 110, 206, 111, 210, 202, 117, 116, 256, 256, 315, 73, 71, 318, 256, +228, 68, 78, 238, 79, 242, 234, 85, 84, 198, 97, 203, 99, 195, 101, 197, +196, 100, 110, 206, 111, 210, 202, 117, 116, 256, 72, 315, 73, 71, 318, 104, 321, 256, 103, 324, 67, 327, 71, 330, 85, 333, 99, 336, 103, 339, 117, 342, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 256, 256, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 256, 256, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -2124,15 +2124,15 @@ static unsigned short int x_to_output[24][838] = { 255, 256, 256, 256, 207, 256, 256, 245, 249, 256, 97, 175, 170, 256, 256, 256, 256, 256, 50, 51, 239, 256, 256, 256, 247, 49, 111, 174, 257, 261, 265, 256, 65, 181, 182, 65, 142, 65, 269, 128, 69, 144, 69, 211, 73, 214, 215, 357, -209, 78, 79, 224, 226, 79, 153, 158, 256, 85, 233, 85, 154, 237, 256, 225, +209, 78, 79, 224, 226, 79, 153, 158, 79, 85, 233, 85, 154, 237, 256, 225, 97, 160, 131, 97, 132, 97, 272, 135, 101, 130, 101, 137, 105, 161, 140, 360, -208, 110, 111, 162, 147, 111, 148, 246, 256, 117, 163, 117, 129, 236, 256, 363, +208, 110, 111, 162, 147, 111, 148, 246, 111, 117, 163, 117, 129, 236, 256, 363, 256, 164, 244, 157, 149, 151, 230, 184, 155, 141, 166, 189, 165, 242, 136, 150, 152, 256, 231, 173, 156, 171, 241, 167, 190, 232, 198, 145, 143, 172, 168, 183, -210, 256, 227, 213, 138, 252, 222, 235, 221, 234, 199, 146, 134, 159, 169, 216, -212, 256, 228, 229, 139, 253, 133, 251, 238, 250, 256, 72, 73, 366, 74, 256, +210, 68, 227, 213, 138, 252, 222, 235, 221, 234, 199, 146, 134, 159, 169, 216, +212, 100, 228, 229, 139, 253, 133, 251, 238, 250, 72, 72, 73, 366, 74, 104, 104, 256, 369, 106, 67, 67, 71, 71, 372, 83, 99, 99, 103, 103, 375, 115, -256, 378, 73, 381, 69, 384, 256, 387, 105, 390, 101, 393, 256, 256, 256, 65, +256, 378, 73, 381, 69, 384, 84, 387, 105, 390, 101, 393, 116, 256, 256, 65, 396, 69, 73, 399, 79, 402, 405, 85, 85, 97, 408, 101, 105, 411, 111, 414, 417, 117, 117, 249, 256, 256, 256, 256, 256, 249, 256, 256, 256, 256, 256, 244, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 244, 256, 256, 256, 256, 256, @@ -2181,15 +2181,15 @@ static unsigned short int x_to_output[24][838] = { 202, 256, 256, 163, 256, 256, 256, 164, 172, 169, 97, 199, 194, 256, 168, 256, 161, 256, 50, 51, 256, 256, 166, 256, 256, 49, 111, 200, 257, 261, 265, 256, 65, 231, 65, 65, 128, 65, 269, 67, 69, 131, 69, 429, 73, 234, 73, 432, -256, 78, 79, 238, 239, 205, 133, 256, 256, 85, 242, 85, 134, 248, 256, 167, +256, 78, 79, 238, 239, 205, 133, 256, 79, 85, 242, 85, 134, 248, 256, 167, 97, 135, 97, 97, 138, 97, 272, 99, 101, 142, 101, 435, 105, 146, 105, 438, -256, 110, 111, 151, 153, 155, 154, 214, 256, 117, 156, 117, 159, 249, 256, 441, +256, 110, 111, 151, 153, 155, 154, 214, 111, 117, 156, 117, 159, 249, 256, 441, 256, 132, 256, 252, 187, 229, 225, 83, 232, 143, 235, 251, 136, 256, 184, 188, 230, 256, 228, 115, 233, 144, 256, 236, 253, 217, 65, 189, 140, 137, 162, 157, -145, 256, 193, 197, 204, 219, 241, 244, 84, 218, 97, 190, 141, 139, 171, 158, -147, 256, 196, 203, 206, 222, 243, 245, 116, 256, 256, 72, 73, 71, 74, 256, +145, 68, 193, 197, 204, 219, 241, 244, 84, 218, 97, 190, 141, 139, 171, 158, +147, 100, 196, 203, 206, 222, 243, 245, 116, 256, 72, 72, 73, 71, 74, 104, 104, 256, 103, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 223, 73, 185, 148, 254, 256, 224, 105, 186, 149, 103, 256, 256, 256, 129, +256, 223, 73, 185, 148, 254, 84, 224, 105, 186, 149, 103, 116, 256, 256, 129, 175, 150, 177, 191, 207, 181, 246, 85, 237, 130, 176, 152, 180, 192, 216, 250, 247, 117, 240, 172, 256, 256, 256, 256, 256, 172, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, @@ -2243,10 +2243,10 @@ static unsigned short int x_to_output[24][838] = { 240, 241, 242, 243, 244, 245, 246, 256, 248, 249, 250, 251, 252, 253, 254, 184, 256, 129, 256, 138, 137, 145, 146, 147, 148, 153, 154, 155, 161, 256, 170, 169, 177, 256, 178, 179, 180, 185, 256, 186, 187, 143, 128, 136, 130, 131, 134, 133, -132, 256, 139, 140, 142, 144, 151, 150, 149, 175, 160, 168, 162, 163, 166, 165, -164, 256, 171, 172, 174, 176, 183, 182, 181, 256, 256, 72, 157, 135, 74, 256, +132, 68, 139, 140, 142, 144, 151, 150, 149, 175, 160, 168, 162, 163, 166, 165, +164, 100, 171, 172, 174, 176, 183, 182, 181, 256, 72, 72, 157, 135, 74, 104, 104, 256, 167, 106, 67, 67, 71, 71, 85, 83, 99, 99, 103, 103, 117, 115, -256, 82, 73, 76, 69, 71, 256, 114, 105, 108, 101, 103, 256, 141, 173, 65, +256, 82, 73, 76, 69, 71, 84, 114, 105, 108, 101, 103, 116, 141, 173, 65, 73, 69, 73, 78, 79, 75, 85, 85, 85, 97, 105, 101, 105, 110, 111, 107, 117, 117, 117, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, diff --git a/charset/misc/gen-charconv b/charset/misc/gen-charconv index bc28a8fd..ab22b156 100755 --- a/charset/misc/gen-charconv +++ b/charset/misc/gen-charconv @@ -110,17 +110,30 @@ while () { } close U; +print STDERR "Accent rules\n"; +if (open(ACC, "misc/user_unacc")) { + while () { + chomp; + (/^\s*$/ || /^#/) && next; + s/0x([0-9a-zA-Z]+)/hex($1)/ge; + (/^(\d+)\s+(\d+)$/) || die "Syntax error in user accent rules"; + $expand{$1} = $2; + } + close ACC; +} + print STDERR "Character expansions\n"; if (open(EXTRA, "misc/user_expand")) { while () { chomp; (/^\s*$/ || /^#/) && next; s/0x([0-9a-zA-Z]+)/hex($1)/ge; - (/^(\S+)\s+(.*)$/) || die "Syntax error in user expansions"; + (/^(\d+)\s+(.*)$/) || die "Syntax error in user expansions"; $expand{$1} = $2; } close EXTRA; } + print "static unsigned short int x_to_output[$ncs][$unique] = {\n"; $pstr = 256; for($c=0; $c<$ncs; $c++) { diff --git a/charset/misc/generate b/charset/misc/generate index a606e7f6..79774a93 100644 --- a/charset/misc/generate +++ b/charset/misc/generate @@ -8,7 +8,7 @@ misc/gen-basic misc/table2h _U_cat byte U-cat.h misc/table2h _U_lower word U-lower.h misc/table2h _U_upper word U-upper.h -misc/gen-unacc >misc/u-unacc +( cat misc/user_unacc && misc/gen-unacc ) >misc/u-unacc misc/table2h _U_unaccent word U-unacc.h misc/gen-ligatures >U-ligatures.h misc/gen-charconv chartable.h diff --git a/charset/misc/table2h b/charset/misc/table2h index c45acf53..92a35d59 100755 --- a/charset/misc/table2h +++ b/charset/misc/table2h @@ -9,9 +9,13 @@ $type=$ARGV[1]; while () { chomp; + /^#/ && next; + /^\s*$/ && next; + s/^0x//; ($i,$j) = split/\s+/; ($i =~ /^(..)(..)$/) || die "Syntax error at $i"; $table{$1} = "$name" . "_$1"; + die if defined $val{$i}; $val{$i} = $j; } diff --git a/charset/misc/user_unacc b/charset/misc/user_unacc new file mode 100644 index 00000000..e08f4d15 --- /dev/null +++ b/charset/misc/user_unacc @@ -0,0 +1,22 @@ +# User-defined unaccenting rules + +# Stroked letters +0x00d8 0x004f +0x00f8 0x006f +0x0110 0x0044 +0x0111 0x0064 +0x0126 0x0048 +0x0127 0x0068 +0x0141 0x004c +0x0142 0x006c +0x0166 0x0054 +0x0167 0x0074 +0x0180 0x0042 +0x0197 0x0049 +0x01b5 0x005a +0x01b6 0x007a +0x01e4 0x0047 +0x01e5 0x0067 +0x01fe 0x004f +0x01ff 0x006f +0x0268 0x0069 -- 2.39.2