Modified: 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_sbcs.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_sbcs.java?rev=1682489&r1=1682488&r2=1682489&view=diff
==============================================================================
--- 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_sbcs.java
 (original)
+++ 
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/txt/CharsetRecog_sbcs.java
 Fri May 29 14:36:21 2015
@@ -12,25 +12,27 @@ import java.nio.ByteBuffer;
 /**
  * This class recognizes single-byte encodings. Because the encoding scheme is 
so
  * simple, language statistics are used to do the matching.
- * 
+ * <p/>
  * The Recognizer works by first mapping from bytes in the encoding under test
- *  into that Recognizer's ngram space. Normally this means performing a
- *  lowercase, and excluding codepoints that don't correspond to numbers of
- *  letters. (Accented letters may or may not be ignored or normalised, 
depending 
- *  on the needs of the ngrams)
+ * into that Recognizer's ngram space. Normally this means performing a
+ * lowercase, and excluding codepoints that don't correspond to numbers of
+ * letters. (Accented letters may or may not be ignored or normalised, 
depending
+ * on the needs of the ngrams)
  * Then, ngram analysis is run against the transformed text, and a confidence
- *  is calculated.
- * 
+ * is calculated.
+ * <p/>
  * For many of our Recognizers, we have one ngram set per language in each
- *  encoding, and do a simultanious language+charset detection.
- *  
+ * encoding, and do a simultanious language+charset detection.
+ * <p/>
  * When adding new Recognizers, the easiest way is to byte map to an existing
- *  encoding for which we have ngrams, excluding non text, and re-use the 
ngrams.
- * 
+ * encoding for which we have ngrams, excluding non text, and re-use the 
ngrams.
+ *
  * @internal
  */
 abstract class CharsetRecog_sbcs extends CharsetRecognizer {
 
+    protected boolean haveC1Bytes = false;
+
     /* (non-Javadoc)
      * @see com.ibm.icu.text.CharsetRecognizer#getName()
      */
@@ -40,44 +42,53 @@ abstract class CharsetRecog_sbcs extends
      * @see 
com.ibm.icu.text.CharsetRecognizer#match(com.ibm.icu.text.CharsetDetector)
      */
     abstract int match(CharsetDetector det);
-    
-    static class NGramParser
-    {
-//        private static final int N_GRAM_SIZE = 3;
+
+    int match(CharsetDetector det, int[] ngrams, byte[] byteMap) {
+        return match(det, ngrams, byteMap, (byte) 0x20);
+    }
+
+    int match(CharsetDetector det, int[] ngrams, byte[] byteMap, byte 
spaceChar) {
+        NGramParser parser = new NGramParser(ngrams, byteMap);
+
+        haveC1Bytes = det.fC1Bytes;
+
+        return parser.parse(det, spaceChar);
+    }
+
+    static class NGramParser {
+        //        private static final int N_GRAM_SIZE = 3;
         private static final int N_GRAM_MASK = 0xFFFFFF;
 
         private int byteIndex = 0;
         private int ngram = 0;
-        
+
         private int[] ngramList;
         private byte[] byteMap;
-        
+
         private int ngramCount;
         private int hitCount;
-        
+
         private byte spaceChar;
-        
-        public NGramParser(int[] theNgramList, byte[] theByteMap)
-        {
+
+        public NGramParser(int[] theNgramList, byte[] theByteMap) {
             ngramList = theNgramList;
-            byteMap   = theByteMap;
-            
+            byteMap = theByteMap;
+
             ngram = 0;
-            
+
             ngramCount = hitCount = 0;
         }
-        
+
         /*
          * Binary search for value in table, which must have exactly 64 
entries.
          */
-        private static int search(int[] table, int value)
-        {
+        private static int search(int[] table, int value) {
             int index = 0;
-            
+
             if (table[index + 32] <= value) {
                 index += 32;
             }
-            
+
             if (table[index + 16] <= value) {
                 index += 16;
             }
@@ -101,103 +112,82 @@ abstract class CharsetRecog_sbcs extends
             if (table[index] > value) {
                 index -= 1;
             }
-            
+
             if (index < 0 || table[index] != value) {
                 return -1;
             }
-            
+
             return index;
         }
 
-        private void lookup(int thisNgram)
-        {
+        private void lookup(int thisNgram) {
             ngramCount += 1;
-            
+
             if (search(ngramList, thisNgram) >= 0) {
                 hitCount += 1;
             }
-            
+
         }
-        
-        private void addByte(int b)
-        {
+
+        private void addByte(int b) {
             ngram = ((ngram << 8) + (b & 0xFF)) & N_GRAM_MASK;
             lookup(ngram);
         }
-        
-        private int nextByte(CharsetDetector det)
-        {
+
+        private int nextByte(CharsetDetector det) {
             if (byteIndex >= det.fInputLen) {
                 return -1;
             }
-            
+
             return det.fInputBytes[byteIndex++] & 0xFF;
         }
-        
-        public int parse(CharsetDetector det)
-        {
-            return parse (det, (byte)0x20);
+
+        public int parse(CharsetDetector det) {
+            return parse(det, (byte) 0x20);
         }
-        public int parse(CharsetDetector det, byte spaceCh)
-        {
+
+        public int parse(CharsetDetector det, byte spaceCh) {
             int b;
             boolean ignoreSpace = false;
             this.spaceChar = spaceCh;
-            
+
             while ((b = nextByte(det)) >= 0) {
                 byte mb = byteMap[b];
-                
+
                 // TODO: 0x20 might not be a space in all character sets...
                 if (mb != 0) {
                     if (!(mb == spaceChar && ignoreSpace)) {
-                        addByte(mb);                    
+                        addByte(mb);
                     }
-                    
+
                     ignoreSpace = (mb == spaceChar);
-                } else if(mb == 0 && b != 0) {
-                   // Indicates an invalid character in the charset
-                   // Bump the ngram count up a bit to indicate uncertainty
-                   ngramCount += 4;
+                } else if (mb == 0 && b != 0) {
+                    // Indicates an invalid character in the charset
+                    // Bump the ngram count up a bit to indicate uncertainty
+                    ngramCount += 4;
                 }
             }
-            
+
             // TODO: Is this OK? The buffer could have ended in the middle of 
a word...
             addByte(spaceChar);
 
             double rawPercent = (double) hitCount / (double) ngramCount;
-            
+
 //                if (rawPercent <= 2.0) {
 //                    return 0;
 //                }
-            
+
             // TODO - This is a bit of a hack to take care of a case
             // were we were getting a confidence of 135...
             if (rawPercent > 0.33) {
                 return 98;
             }
-            
+
             return (int) (rawPercent * 300.0);
         }
     }
-    
-    protected boolean haveC1Bytes = false;
-    
-    int match(CharsetDetector det, int[] ngrams,  byte[] byteMap)
-    {
-        return match (det, ngrams, byteMap, (byte)0x20);
-    }
-    
-    int match(CharsetDetector det, int[] ngrams,  byte[] byteMap, byte 
spaceChar)
-    {
-        NGramParser parser = new NGramParser(ngrams, byteMap);
-        
-        haveC1Bytes = det.fC1Bytes;
-        
-        return parser.parse(det, spaceChar);
-    }
-    
-    abstract static class CharsetRecog_8859_1 extends CharsetRecog_sbcs
-    {
+
+    abstract static class CharsetRecog_8859_1 extends CharsetRecog_sbcs {
         protected static byte[] byteMap = {
 /* 0x00-0x07 */ (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
 /* 0x08-0x0f */ (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
@@ -230,921 +220,830 @@ abstract class CharsetRecog_sbcs extends
 /* 0xe0-0xe7 */ (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 
0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
 /* 0xe8-0xef */ (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 
0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
 /* 0xf0-0xf7 */ (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 
0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
-/* 0xf8-0xff */ (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 
0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF, 
+/* 0xf8-0xff */ (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 
0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xFF,
         };
 
-        public String getName()
-        {
-            return haveC1Bytes? "windows-1252" : "ISO-8859-1";
+        public String getName() {
+            return haveC1Bytes ? "windows-1252" : "ISO-8859-1";
         }
     }
 
-    static class CharsetRecog_8859_1_da extends CharsetRecog_8859_1
-    {
+    static class CharsetRecog_8859_1_da extends CharsetRecog_8859_1 {
         private static int[] ngrams = {
-            0x206166, 0x206174, 0x206465, 0x20656E, 0x206572, 0x20666F, 
0x206861, 0x206920, 0x206D65, 0x206F67, 0x2070E5, 0x207369, 0x207374, 0x207469, 
0x207669, 0x616620, 
-            0x616E20, 0x616E64, 0x617220, 0x617420, 0x646520, 0x64656E, 
0x646572, 0x646574, 0x652073, 0x656420, 0x656465, 0x656E20, 0x656E64, 0x657220, 
0x657265, 0x657320, 
-            0x657420, 0x666F72, 0x676520, 0x67656E, 0x676572, 0x696765, 
0x696C20, 0x696E67, 0x6B6520, 0x6B6B65, 0x6C6572, 0x6C6967, 0x6C6C65, 0x6D6564, 
0x6E6465, 0x6E6520, 
-            0x6E6720, 0x6E6765, 0x6F6720, 0x6F6D20, 0x6F7220, 0x70E520, 
0x722064, 0x722065, 0x722073, 0x726520, 0x737465, 0x742073, 0x746520, 0x746572, 
0x74696C, 0x766572, 
+                0x206166, 0x206174, 0x206465, 0x20656E, 0x206572, 0x20666F, 
0x206861, 0x206920, 0x206D65, 0x206F67, 0x2070E5, 0x207369, 0x207374, 0x207469, 
0x207669, 0x616620,
+                0x616E20, 0x616E64, 0x617220, 0x617420, 0x646520, 0x64656E, 
0x646572, 0x646574, 0x652073, 0x656420, 0x656465, 0x656E20, 0x656E64, 0x657220, 
0x657265, 0x657320,
+                0x657420, 0x666F72, 0x676520, 0x67656E, 0x676572, 0x696765, 
0x696C20, 0x696E67, 0x6B6520, 0x6B6B65, 0x6C6572, 0x6C6967, 0x6C6C65, 0x6D6564, 
0x6E6465, 0x6E6520,
+                0x6E6720, 0x6E6765, 0x6F6720, 0x6F6D20, 0x6F7220, 0x70E520, 
0x722064, 0x722065, 0x722073, 0x726520, 0x737465, 0x742073, 0x746520, 0x746572, 
0x74696C, 0x766572,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "da";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
 
-    static class CharsetRecog_8859_1_de extends CharsetRecog_8859_1
-    {
+    static class CharsetRecog_8859_1_de extends CharsetRecog_8859_1 {
         private static int[] ngrams = {
-            0x20616E, 0x206175, 0x206265, 0x206461, 0x206465, 0x206469, 
0x206569, 0x206765, 0x206861, 0x20696E, 0x206D69, 0x207363, 0x207365, 0x20756E, 
0x207665, 0x20766F, 
-            0x207765, 0x207A75, 0x626572, 0x636820, 0x636865, 0x636874, 
0x646173, 0x64656E, 0x646572, 0x646965, 0x652064, 0x652073, 0x65696E, 0x656974, 
0x656E20, 0x657220, 
-            0x657320, 0x67656E, 0x68656E, 0x687420, 0x696368, 0x696520, 
0x696E20, 0x696E65, 0x697420, 0x6C6963, 0x6C6C65, 0x6E2061, 0x6E2064, 0x6E2073, 
0x6E6420, 0x6E6465, 
-            0x6E6520, 0x6E6720, 0x6E6765, 0x6E7465, 0x722064, 0x726465, 
0x726569, 0x736368, 0x737465, 0x742064, 0x746520, 0x74656E, 0x746572, 0x756E64, 
0x756E67, 0x766572, 
+                0x20616E, 0x206175, 0x206265, 0x206461, 0x206465, 0x206469, 
0x206569, 0x206765, 0x206861, 0x20696E, 0x206D69, 0x207363, 0x207365, 0x20756E, 
0x207665, 0x20766F,
+                0x207765, 0x207A75, 0x626572, 0x636820, 0x636865, 0x636874, 
0x646173, 0x64656E, 0x646572, 0x646965, 0x652064, 0x652073, 0x65696E, 0x656974, 
0x656E20, 0x657220,
+                0x657320, 0x67656E, 0x68656E, 0x687420, 0x696368, 0x696520, 
0x696E20, 0x696E65, 0x697420, 0x6C6963, 0x6C6C65, 0x6E2061, 0x6E2064, 0x6E2073, 
0x6E6420, 0x6E6465,
+                0x6E6520, 0x6E6720, 0x6E6765, 0x6E7465, 0x722064, 0x726465, 
0x726569, 0x736368, 0x737465, 0x742064, 0x746520, 0x74656E, 0x746572, 0x756E64, 
0x756E67, 0x766572,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "de";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_1_en extends CharsetRecog_8859_1
-    {
+
+    static class CharsetRecog_8859_1_en extends CharsetRecog_8859_1 {
         private static int[] ngrams = {
-            0x206120, 0x20616E, 0x206265, 0x20636F, 0x20666F, 0x206861, 
0x206865, 0x20696E, 0x206D61, 0x206F66, 0x207072, 0x207265, 0x207361, 0x207374, 
0x207468, 0x20746F, 
-            0x207768, 0x616964, 0x616C20, 0x616E20, 0x616E64, 0x617320, 
0x617420, 0x617465, 0x617469, 0x642061, 0x642074, 0x652061, 0x652073, 0x652074, 
0x656420, 0x656E74, 
-            0x657220, 0x657320, 0x666F72, 0x686174, 0x686520, 0x686572, 
0x696420, 0x696E20, 0x696E67, 0x696F6E, 0x697320, 0x6E2061, 0x6E2074, 0x6E6420, 
0x6E6720, 0x6E7420, 
-            0x6F6620, 0x6F6E20, 0x6F7220, 0x726520, 0x727320, 0x732061, 
0x732074, 0x736169, 0x737420, 0x742074, 0x746572, 0x746861, 0x746865, 0x74696F, 
0x746F20, 0x747320, 
+                0x206120, 0x20616E, 0x206265, 0x20636F, 0x20666F, 0x206861, 
0x206865, 0x20696E, 0x206D61, 0x206F66, 0x207072, 0x207265, 0x207361, 0x207374, 
0x207468, 0x20746F,
+                0x207768, 0x616964, 0x616C20, 0x616E20, 0x616E64, 0x617320, 
0x617420, 0x617465, 0x617469, 0x642061, 0x642074, 0x652061, 0x652073, 0x652074, 
0x656420, 0x656E74,
+                0x657220, 0x657320, 0x666F72, 0x686174, 0x686520, 0x686572, 
0x696420, 0x696E20, 0x696E67, 0x696F6E, 0x697320, 0x6E2061, 0x6E2074, 0x6E6420, 
0x6E6720, 0x6E7420,
+                0x6F6620, 0x6F6E20, 0x6F7220, 0x726520, 0x727320, 0x732061, 
0x732074, 0x736169, 0x737420, 0x742074, 0x746572, 0x746861, 0x746865, 0x74696F, 
0x746F20, 0x747320,
         };
-            
-        public String getLanguage()
-        {
+
+        public String getLanguage() {
             return "en";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_1_es extends CharsetRecog_8859_1
-    {
+
+    static class CharsetRecog_8859_1_es extends CharsetRecog_8859_1 {
         private static int[] ngrams = {
-            0x206120, 0x206361, 0x20636F, 0x206465, 0x20656C, 0x20656E, 
0x206573, 0x20696E, 0x206C61, 0x206C6F, 0x207061, 0x20706F, 0x207072, 0x207175, 
0x207265, 0x207365, 
-            0x20756E, 0x207920, 0x612063, 0x612064, 0x612065, 0x61206C, 
0x612070, 0x616369, 0x61646F, 0x616C20, 0x617220, 0x617320, 0x6369F3, 0x636F6E, 
0x646520, 0x64656C, 
-            0x646F20, 0x652064, 0x652065, 0x65206C, 0x656C20, 0x656E20, 
0x656E74, 0x657320, 0x657374, 0x69656E, 0x69F36E, 0x6C6120, 0x6C6F73, 0x6E2065, 
0x6E7465, 0x6F2064, 
-            0x6F2065, 0x6F6E20, 0x6F7220, 0x6F7320, 0x706172, 0x717565, 
0x726120, 0x726573, 0x732064, 0x732065, 0x732070, 0x736520, 0x746520, 0x746F20, 
0x756520, 0xF36E20, 
+                0x206120, 0x206361, 0x20636F, 0x206465, 0x20656C, 0x20656E, 
0x206573, 0x20696E, 0x206C61, 0x206C6F, 0x207061, 0x20706F, 0x207072, 0x207175, 
0x207265, 0x207365,
+                0x20756E, 0x207920, 0x612063, 0x612064, 0x612065, 0x61206C, 
0x612070, 0x616369, 0x61646F, 0x616C20, 0x617220, 0x617320, 0x6369F3, 0x636F6E, 
0x646520, 0x64656C,
+                0x646F20, 0x652064, 0x652065, 0x65206C, 0x656C20, 0x656E20, 
0x656E74, 0x657320, 0x657374, 0x69656E, 0x69F36E, 0x6C6120, 0x6C6F73, 0x6E2065, 
0x6E7465, 0x6F2064,
+                0x6F2065, 0x6F6E20, 0x6F7220, 0x6F7320, 0x706172, 0x717565, 
0x726120, 0x726573, 0x732064, 0x732065, 0x732070, 0x736520, 0x746520, 0x746F20, 
0x756520, 0xF36E20,
         };
-            
-        public String getLanguage()
-        {
+
+        public String getLanguage() {
             return "es";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_1_fr extends CharsetRecog_8859_1
-    {
+
+    static class CharsetRecog_8859_1_fr extends CharsetRecog_8859_1 {
         private static int[] ngrams = {
-            0x206175, 0x20636F, 0x206461, 0x206465, 0x206475, 0x20656E, 
0x206574, 0x206C61, 0x206C65, 0x207061, 0x20706F, 0x207072, 0x207175, 0x207365, 
0x20736F, 0x20756E, 
-            0x20E020, 0x616E74, 0x617469, 0x636520, 0x636F6E, 0x646520, 
0x646573, 0x647520, 0x652061, 0x652063, 0x652064, 0x652065, 0x65206C, 0x652070, 
0x652073, 0x656E20, 
-            0x656E74, 0x657220, 0x657320, 0x657420, 0x657572, 0x696F6E, 
0x697320, 0x697420, 0x6C6120, 0x6C6520, 0x6C6573, 0x6D656E, 0x6E2064, 0x6E6520, 
0x6E7320, 0x6E7420, 
-            0x6F6E20, 0x6F6E74, 0x6F7572, 0x717565, 0x72206C, 0x726520, 
0x732061, 0x732064, 0x732065, 0x73206C, 0x732070, 0x742064, 0x746520, 0x74696F, 
0x756520, 0x757220, 
+                0x206175, 0x20636F, 0x206461, 0x206465, 0x206475, 0x20656E, 
0x206574, 0x206C61, 0x206C65, 0x207061, 0x20706F, 0x207072, 0x207175, 0x207365, 
0x20736F, 0x20756E,
+                0x20E020, 0x616E74, 0x617469, 0x636520, 0x636F6E, 0x646520, 
0x646573, 0x647520, 0x652061, 0x652063, 0x652064, 0x652065, 0x65206C, 0x652070, 
0x652073, 0x656E20,
+                0x656E74, 0x657220, 0x657320, 0x657420, 0x657572, 0x696F6E, 
0x697320, 0x697420, 0x6C6120, 0x6C6520, 0x6C6573, 0x6D656E, 0x6E2064, 0x6E6520, 
0x6E7320, 0x6E7420,
+                0x6F6E20, 0x6F6E74, 0x6F7572, 0x717565, 0x72206C, 0x726520, 
0x732061, 0x732064, 0x732065, 0x73206C, 0x732070, 0x742064, 0x746520, 0x74696F, 
0x756520, 0x757220,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "fr";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_1_it extends CharsetRecog_8859_1
-    {
+
+    static class CharsetRecog_8859_1_it extends CharsetRecog_8859_1 {
         private static int[] ngrams = {
-            0x20616C, 0x206368, 0x20636F, 0x206465, 0x206469, 0x206520, 
0x20696C, 0x20696E, 0x206C61, 0x207065, 0x207072, 0x20756E, 0x612063, 0x612064, 
0x612070, 0x612073, 
-            0x61746F, 0x636865, 0x636F6E, 0x64656C, 0x646920, 0x652061, 
0x652063, 0x652064, 0x652069, 0x65206C, 0x652070, 0x652073, 0x656C20, 0x656C6C, 
0x656E74, 0x657220, 
-            0x686520, 0x692061, 0x692063, 0x692064, 0x692073, 0x696120, 
0x696C20, 0x696E20, 0x696F6E, 0x6C6120, 0x6C6520, 0x6C6920, 0x6C6C61, 0x6E6520, 
0x6E6920, 0x6E6F20, 
-            0x6E7465, 0x6F2061, 0x6F2064, 0x6F2069, 0x6F2073, 0x6F6E20, 
0x6F6E65, 0x706572, 0x726120, 0x726520, 0x736920, 0x746120, 0x746520, 0x746920, 
0x746F20, 0x7A696F, 
+                0x20616C, 0x206368, 0x20636F, 0x206465, 0x206469, 0x206520, 
0x20696C, 0x20696E, 0x206C61, 0x207065, 0x207072, 0x20756E, 0x612063, 0x612064, 
0x612070, 0x612073,
+                0x61746F, 0x636865, 0x636F6E, 0x64656C, 0x646920, 0x652061, 
0x652063, 0x652064, 0x652069, 0x65206C, 0x652070, 0x652073, 0x656C20, 0x656C6C, 
0x656E74, 0x657220,
+                0x686520, 0x692061, 0x692063, 0x692064, 0x692073, 0x696120, 
0x696C20, 0x696E20, 0x696F6E, 0x6C6120, 0x6C6520, 0x6C6920, 0x6C6C61, 0x6E6520, 
0x6E6920, 0x6E6F20,
+                0x6E7465, 0x6F2061, 0x6F2064, 0x6F2069, 0x6F2073, 0x6F6E20, 
0x6F6E65, 0x706572, 0x726120, 0x726520, 0x736920, 0x746120, 0x746520, 0x746920, 
0x746F20, 0x7A696F,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "it";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_1_nl extends CharsetRecog_8859_1
-    {
+
+    static class CharsetRecog_8859_1_nl extends CharsetRecog_8859_1 {
         private static int[] ngrams = {
-            0x20616C, 0x206265, 0x206461, 0x206465, 0x206469, 0x206565, 
0x20656E, 0x206765, 0x206865, 0x20696E, 0x206D61, 0x206D65, 0x206F70, 0x207465, 
0x207661, 0x207665, 
-            0x20766F, 0x207765, 0x207A69, 0x61616E, 0x616172, 0x616E20, 
0x616E64, 0x617220, 0x617420, 0x636874, 0x646520, 0x64656E, 0x646572, 0x652062, 
0x652076, 0x65656E, 
-            0x656572, 0x656E20, 0x657220, 0x657273, 0x657420, 0x67656E, 
0x686574, 0x696520, 0x696E20, 0x696E67, 0x697320, 0x6E2062, 0x6E2064, 0x6E2065, 
0x6E2068, 0x6E206F, 
-            0x6E2076, 0x6E6465, 0x6E6720, 0x6F6E64, 0x6F6F72, 0x6F7020, 
0x6F7220, 0x736368, 0x737465, 0x742064, 0x746520, 0x74656E, 0x746572, 0x76616E, 
0x766572, 0x766F6F, 
+                0x20616C, 0x206265, 0x206461, 0x206465, 0x206469, 0x206565, 
0x20656E, 0x206765, 0x206865, 0x20696E, 0x206D61, 0x206D65, 0x206F70, 0x207465, 
0x207661, 0x207665,
+                0x20766F, 0x207765, 0x207A69, 0x61616E, 0x616172, 0x616E20, 
0x616E64, 0x617220, 0x617420, 0x636874, 0x646520, 0x64656E, 0x646572, 0x652062, 
0x652076, 0x65656E,
+                0x656572, 0x656E20, 0x657220, 0x657273, 0x657420, 0x67656E, 
0x686574, 0x696520, 0x696E20, 0x696E67, 0x697320, 0x6E2062, 0x6E2064, 0x6E2065, 
0x6E2068, 0x6E206F,
+                0x6E2076, 0x6E6465, 0x6E6720, 0x6F6E64, 0x6F6F72, 0x6F7020, 
0x6F7220, 0x736368, 0x737465, 0x742064, 0x746520, 0x74656E, 0x746572, 0x76616E, 
0x766572, 0x766F6F,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "nl";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_1_no extends CharsetRecog_8859_1
-    {
+
+    static class CharsetRecog_8859_1_no extends CharsetRecog_8859_1 {
         private static int[] ngrams = {
-            0x206174, 0x206176, 0x206465, 0x20656E, 0x206572, 0x20666F, 
0x206861, 0x206920, 0x206D65, 0x206F67, 0x2070E5, 0x207365, 0x20736B, 0x20736F, 
0x207374, 0x207469, 
-            0x207669, 0x20E520, 0x616E64, 0x617220, 0x617420, 0x646520, 
0x64656E, 0x646574, 0x652073, 0x656420, 0x656E20, 0x656E65, 0x657220, 0x657265, 
0x657420, 0x657474, 
-            0x666F72, 0x67656E, 0x696B6B, 0x696C20, 0x696E67, 0x6B6520, 
0x6B6B65, 0x6C6520, 0x6C6C65, 0x6D6564, 0x6D656E, 0x6E2073, 0x6E6520, 0x6E6720, 
0x6E6765, 0x6E6E65, 
-            0x6F6720, 0x6F6D20, 0x6F7220, 0x70E520, 0x722073, 0x726520, 
0x736F6D, 0x737465, 0x742073, 0x746520, 0x74656E, 0x746572, 0x74696C, 0x747420, 
0x747465, 0x766572, 
+                0x206174, 0x206176, 0x206465, 0x20656E, 0x206572, 0x20666F, 
0x206861, 0x206920, 0x206D65, 0x206F67, 0x2070E5, 0x207365, 0x20736B, 0x20736F, 
0x207374, 0x207469,
+                0x207669, 0x20E520, 0x616E64, 0x617220, 0x617420, 0x646520, 
0x64656E, 0x646574, 0x652073, 0x656420, 0x656E20, 0x656E65, 0x657220, 0x657265, 
0x657420, 0x657474,
+                0x666F72, 0x67656E, 0x696B6B, 0x696C20, 0x696E67, 0x6B6520, 
0x6B6B65, 0x6C6520, 0x6C6C65, 0x6D6564, 0x6D656E, 0x6E2073, 0x6E6520, 0x6E6720, 
0x6E6765, 0x6E6E65,
+                0x6F6720, 0x6F6D20, 0x6F7220, 0x70E520, 0x722073, 0x726520, 
0x736F6D, 0x737465, 0x742073, 0x746520, 0x74656E, 0x746572, 0x74696C, 0x747420, 
0x747465, 0x766572,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "no";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_1_pt extends CharsetRecog_8859_1
-    {
+
+    static class CharsetRecog_8859_1_pt extends CharsetRecog_8859_1 {
         private static int[] ngrams = {
-            0x206120, 0x20636F, 0x206461, 0x206465, 0x20646F, 0x206520, 
0x206573, 0x206D61, 0x206E6F, 0x206F20, 0x207061, 0x20706F, 0x207072, 0x207175, 
0x207265, 0x207365, 
-            0x20756D, 0x612061, 0x612063, 0x612064, 0x612070, 0x616465, 
0x61646F, 0x616C20, 0x617220, 0x617261, 0x617320, 0x636F6D, 0x636F6E, 0x646120, 
0x646520, 0x646F20, 
-            0x646F73, 0x652061, 0x652064, 0x656D20, 0x656E74, 0x657320, 
0x657374, 0x696120, 0x696361, 0x6D656E, 0x6E7465, 0x6E746F, 0x6F2061, 0x6F2063, 
0x6F2064, 0x6F2065, 
-            0x6F2070, 0x6F7320, 0x706172, 0x717565, 0x726120, 0x726573, 
0x732061, 0x732064, 0x732065, 0x732070, 0x737461, 0x746520, 0x746F20, 0x756520, 
0xE36F20, 0xE7E36F, 
+                0x206120, 0x20636F, 0x206461, 0x206465, 0x20646F, 0x206520, 
0x206573, 0x206D61, 0x206E6F, 0x206F20, 0x207061, 0x20706F, 0x207072, 0x207175, 
0x207265, 0x207365,
+                0x20756D, 0x612061, 0x612063, 0x612064, 0x612070, 0x616465, 
0x61646F, 0x616C20, 0x617220, 0x617261, 0x617320, 0x636F6D, 0x636F6E, 0x646120, 
0x646520, 0x646F20,
+                0x646F73, 0x652061, 0x652064, 0x656D20, 0x656E74, 0x657320, 
0x657374, 0x696120, 0x696361, 0x6D656E, 0x6E7465, 0x6E746F, 0x6F2061, 0x6F2063, 
0x6F2064, 0x6F2065,
+                0x6F2070, 0x6F7320, 0x706172, 0x717565, 0x726120, 0x726573, 
0x732061, 0x732064, 0x732065, 0x732070, 0x737461, 0x746520, 0x746F20, 0x756520, 
0xE36F20, 0xE7E36F,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "pt";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_1_sv extends CharsetRecog_8859_1
-    {
+
+    static class CharsetRecog_8859_1_sv extends CharsetRecog_8859_1 {
         private static int[] ngrams = {
-            0x206174, 0x206176, 0x206465, 0x20656E, 0x2066F6, 0x206861, 
0x206920, 0x20696E, 0x206B6F, 0x206D65, 0x206F63, 0x2070E5, 0x20736B, 0x20736F, 
0x207374, 0x207469, 
-            0x207661, 0x207669, 0x20E472, 0x616465, 0x616E20, 0x616E64, 
0x617220, 0x617474, 0x636820, 0x646520, 0x64656E, 0x646572, 0x646574, 0x656420, 
0x656E20, 0x657220, 
-            0x657420, 0x66F672, 0x67656E, 0x696C6C, 0x696E67, 0x6B6120, 
0x6C6C20, 0x6D6564, 0x6E2073, 0x6E6120, 0x6E6465, 0x6E6720, 0x6E6765, 0x6E696E, 
0x6F6368, 0x6F6D20, 
-            0x6F6E20, 0x70E520, 0x722061, 0x722073, 0x726120, 0x736B61, 
0x736F6D, 0x742073, 0x746120, 0x746520, 0x746572, 0x74696C, 0x747420, 0x766172, 
0xE47220, 0xF67220, 
+                0x206174, 0x206176, 0x206465, 0x20656E, 0x2066F6, 0x206861, 
0x206920, 0x20696E, 0x206B6F, 0x206D65, 0x206F63, 0x2070E5, 0x20736B, 0x20736F, 
0x207374, 0x207469,
+                0x207661, 0x207669, 0x20E472, 0x616465, 0x616E20, 0x616E64, 
0x617220, 0x617474, 0x636820, 0x646520, 0x64656E, 0x646572, 0x646574, 0x656420, 
0x656E20, 0x657220,
+                0x657420, 0x66F672, 0x67656E, 0x696C6C, 0x696E67, 0x6B6120, 
0x6C6C20, 0x6D6564, 0x6E2073, 0x6E6120, 0x6E6465, 0x6E6720, 0x6E6765, 0x6E696E, 
0x6F6368, 0x6F6D20,
+                0x6F6E20, 0x70E520, 0x722061, 0x722073, 0x726120, 0x736B61, 
0x736F6D, 0x742073, 0x746120, 0x746520, 0x746572, 0x74696C, 0x747420, 0x766172, 
0xE47220, 0xF67220,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "sv";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    abstract static class CharsetRecog_8859_2 extends CharsetRecog_sbcs
-    {
+
+    abstract static class CharsetRecog_8859_2 extends CharsetRecog_sbcs {
         protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0xB1, (byte) 0x20, (byte) 0xB3, (byte) 0x20, 
(byte) 0xB5, (byte) 0xB6, (byte) 0x20, 
-            (byte) 0x20, (byte) 0xB9, (byte) 0xBA, (byte) 0xBB, (byte) 0xBC, 
(byte) 0x20, (byte) 0xBE, (byte) 0xBF, 
-            (byte) 0x20, (byte) 0xB1, (byte) 0x20, (byte) 0xB3, (byte) 0x20, 
(byte) 0xB5, (byte) 0xB6, (byte) 0xB7, 
-            (byte) 0x20, (byte) 0xB9, (byte) 0xBA, (byte) 0xBB, (byte) 0xBC, 
(byte) 0x20, (byte) 0xBE, (byte) 0xBF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, 
(byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, 
(byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, 
(byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, 
(byte) 0xFD, (byte) 0xFE, (byte) 0xDF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, 
(byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, 
(byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, 
(byte) 0xF5, (byte) 0xF6, (byte) 0x20, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, 
(byte) 0xFD, (byte) 0xFE, (byte) 0x20, 
-        };
-
-        public String getName()
-        {
-            return haveC1Bytes? "windows-1250" : "ISO-8859-2";
-        }
-    }
-    
-    static class CharsetRecog_8859_2_cs extends CharsetRecog_8859_2
-    {
-        private static int[] ngrams = {
-            0x206120, 0x206279, 0x20646F, 0x206A65, 0x206E61, 0x206E65, 
0x206F20, 0x206F64, 0x20706F, 0x207072, 0x2070F8, 0x20726F, 0x207365, 0x20736F, 
0x207374, 0x20746F, 
-            0x207620, 0x207679, 0x207A61, 0x612070, 0x636520, 0x636820, 
0x652070, 0x652073, 0x652076, 0x656D20, 0x656EED, 0x686F20, 0x686F64, 0x697374, 
0x6A6520, 0x6B7465, 
-            0x6C6520, 0x6C6920, 0x6E6120, 0x6EE920, 0x6EEC20, 0x6EED20, 
0x6F2070, 0x6F646E, 0x6F6A69, 0x6F7374, 0x6F7520, 0x6F7661, 0x706F64, 0x706F6A, 
0x70726F, 0x70F865, 
-            0x736520, 0x736F75, 0x737461, 0x737469, 0x73746E, 0x746572, 
0x746EED, 0x746F20, 0x752070, 0xBE6520, 0xE16EED, 0xE9686F, 0xED2070, 0xED2073, 
0xED6D20, 0xF86564, 
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 
0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
+                (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 
0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
+                (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 
0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
+                (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 
0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
+                (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 
0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
+                (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 
0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
+                (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0xB1, (byte) 0x20, (byte) 0xB3, (byte) 
0x20, (byte) 0xB5, (byte) 0xB6, (byte) 0x20,
+                (byte) 0x20, (byte) 0xB9, (byte) 0xBA, (byte) 0xBB, (byte) 
0xBC, (byte) 0x20, (byte) 0xBE, (byte) 0xBF,
+                (byte) 0x20, (byte) 0xB1, (byte) 0x20, (byte) 0xB3, (byte) 
0x20, (byte) 0xB5, (byte) 0xB6, (byte) 0xB7,
+                (byte) 0x20, (byte) 0xB9, (byte) 0xBA, (byte) 0xBB, (byte) 
0xBC, (byte) 0x20, (byte) 0xBE, (byte) 0xBF,
+                (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 
0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7,
+                (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 
0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF,
+                (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 
0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20,
+                (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 
0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0xDF,
+                (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 
0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7,
+                (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 
0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF,
+                (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 
0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0x20,
+                (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 
0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0x20,
+        };
+
+        public String getName() {
+            return haveC1Bytes ? "windows-1250" : "ISO-8859-2";
+        }
+    }
+
+    static class CharsetRecog_8859_2_cs extends CharsetRecog_8859_2 {
+        private static int[] ngrams = {
+                0x206120, 0x206279, 0x20646F, 0x206A65, 0x206E61, 0x206E65, 
0x206F20, 0x206F64, 0x20706F, 0x207072, 0x2070F8, 0x20726F, 0x207365, 0x20736F, 
0x207374, 0x20746F,
+                0x207620, 0x207679, 0x207A61, 0x612070, 0x636520, 0x636820, 
0x652070, 0x652073, 0x652076, 0x656D20, 0x656EED, 0x686F20, 0x686F64, 0x697374, 
0x6A6520, 0x6B7465,
+                0x6C6520, 0x6C6920, 0x6E6120, 0x6EE920, 0x6EEC20, 0x6EED20, 
0x6F2070, 0x6F646E, 0x6F6A69, 0x6F7374, 0x6F7520, 0x6F7661, 0x706F64, 0x706F6A, 
0x70726F, 0x70F865,
+                0x736520, 0x736F75, 0x737461, 0x737469, 0x73746E, 0x746572, 
0x746EED, 0x746F20, 0x752070, 0xBE6520, 0xE16EED, 0xE9686F, 0xED2070, 0xED2073, 
0xED6D20, 0xF86564,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "cs";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_2_hu extends CharsetRecog_8859_2
-    {
+
+    static class CharsetRecog_8859_2_hu extends CharsetRecog_8859_2 {
         private static int[] ngrams = {
-            0x206120, 0x20617A, 0x206265, 0x206567, 0x20656C, 0x206665, 
0x206861, 0x20686F, 0x206973, 0x206B65, 0x206B69, 0x206BF6, 0x206C65, 0x206D61, 
0x206D65, 0x206D69, 
-            0x206E65, 0x20737A, 0x207465, 0x20E973, 0x612061, 0x61206B, 
0x61206D, 0x612073, 0x616B20, 0x616E20, 0x617A20, 0x62616E, 0x62656E, 0x656779, 
0x656B20, 0x656C20, 
-            0x656C65, 0x656D20, 0x656E20, 0x657265, 0x657420, 0x657465, 
0x657474, 0x677920, 0x686F67, 0x696E74, 0x697320, 0x6B2061, 0x6BF67A, 0x6D6567, 
0x6D696E, 0x6E2061, 
-            0x6E616B, 0x6E656B, 0x6E656D, 0x6E7420, 0x6F6779, 0x732061, 
0x737A65, 0x737A74, 0x737AE1, 0x73E967, 0x742061, 0x747420, 0x74E173, 0x7A6572, 
0xE16E20, 0xE97320, 
+                0x206120, 0x20617A, 0x206265, 0x206567, 0x20656C, 0x206665, 
0x206861, 0x20686F, 0x206973, 0x206B65, 0x206B69, 0x206BF6, 0x206C65, 0x206D61, 
0x206D65, 0x206D69,
+                0x206E65, 0x20737A, 0x207465, 0x20E973, 0x612061, 0x61206B, 
0x61206D, 0x612073, 0x616B20, 0x616E20, 0x617A20, 0x62616E, 0x62656E, 0x656779, 
0x656B20, 0x656C20,
+                0x656C65, 0x656D20, 0x656E20, 0x657265, 0x657420, 0x657465, 
0x657474, 0x677920, 0x686F67, 0x696E74, 0x697320, 0x6B2061, 0x6BF67A, 0x6D6567, 
0x6D696E, 0x6E2061,
+                0x6E616B, 0x6E656B, 0x6E656D, 0x6E7420, 0x6F6779, 0x732061, 
0x737A65, 0x737A74, 0x737AE1, 0x73E967, 0x742061, 0x747420, 0x74E173, 0x7A6572, 
0xE16E20, 0xE97320,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "hu";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_2_pl extends CharsetRecog_8859_2
-    {
+
+    static class CharsetRecog_8859_2_pl extends CharsetRecog_8859_2 {
         private static int[] ngrams = {
-            0x20637A, 0x20646F, 0x206920, 0x206A65, 0x206B6F, 0x206D61, 
0x206D69, 0x206E61, 0x206E69, 0x206F64, 0x20706F, 0x207072, 0x207369, 0x207720, 
0x207769, 0x207779, 
-            0x207A20, 0x207A61, 0x612070, 0x612077, 0x616E69, 0x636820, 
0x637A65, 0x637A79, 0x646F20, 0x647A69, 0x652070, 0x652073, 0x652077, 0x65207A, 
0x65676F, 0x656A20, 
-            0x656D20, 0x656E69, 0x676F20, 0x696120, 0x696520, 0x69656A, 
0x6B6120, 0x6B6920, 0x6B6965, 0x6D6965, 0x6E6120, 0x6E6961, 0x6E6965, 0x6F2070, 
0x6F7761, 0x6F7769, 
-            0x706F6C, 0x707261, 0x70726F, 0x70727A, 0x727A65, 0x727A79, 
0x7369EA, 0x736B69, 0x737461, 0x776965, 0x796368, 0x796D20, 0x7A6520, 0x7A6965, 
0x7A7920, 0xF37720, 
+                0x20637A, 0x20646F, 0x206920, 0x206A65, 0x206B6F, 0x206D61, 
0x206D69, 0x206E61, 0x206E69, 0x206F64, 0x20706F, 0x207072, 0x207369, 0x207720, 
0x207769, 0x207779,
+                0x207A20, 0x207A61, 0x612070, 0x612077, 0x616E69, 0x636820, 
0x637A65, 0x637A79, 0x646F20, 0x647A69, 0x652070, 0x652073, 0x652077, 0x65207A, 
0x65676F, 0x656A20,
+                0x656D20, 0x656E69, 0x676F20, 0x696120, 0x696520, 0x69656A, 
0x6B6120, 0x6B6920, 0x6B6965, 0x6D6965, 0x6E6120, 0x6E6961, 0x6E6965, 0x6F2070, 
0x6F7761, 0x6F7769,
+                0x706F6C, 0x707261, 0x70726F, 0x70727A, 0x727A65, 0x727A79, 
0x7369EA, 0x736B69, 0x737461, 0x776965, 0x796368, 0x796D20, 0x7A6520, 0x7A6965, 
0x7A7920, 0xF37720,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "pl";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_2_ro extends CharsetRecog_8859_2
-    {
+
+    static class CharsetRecog_8859_2_ro extends CharsetRecog_8859_2 {
         private static int[] ngrams = {
-            0x206120, 0x206163, 0x206361, 0x206365, 0x20636F, 0x206375, 
0x206465, 0x206469, 0x206C61, 0x206D61, 0x207065, 0x207072, 0x207365, 0x2073E3, 
0x20756E, 0x20BA69, 
-            0x20EE6E, 0x612063, 0x612064, 0x617265, 0x617420, 0x617465, 
0x617520, 0x636172, 0x636F6E, 0x637520, 0x63E320, 0x646520, 0x652061, 0x652063, 
0x652064, 0x652070, 
-            0x652073, 0x656120, 0x656920, 0x656C65, 0x656E74, 0x657374, 
0x692061, 0x692063, 0x692064, 0x692070, 0x696520, 0x696920, 0x696E20, 0x6C6120, 
0x6C6520, 0x6C6F72, 
-            0x6C7569, 0x6E6520, 0x6E7472, 0x6F7220, 0x70656E, 0x726520, 
0x726561, 0x727520, 0x73E320, 0x746520, 0x747275, 0x74E320, 0x756920, 0x756C20, 
0xBA6920, 0xEE6E20, 
+                0x206120, 0x206163, 0x206361, 0x206365, 0x20636F, 0x206375, 
0x206465, 0x206469, 0x206C61, 0x206D61, 0x207065, 0x207072, 0x207365, 0x2073E3, 
0x20756E, 0x20BA69,
+                0x20EE6E, 0x612063, 0x612064, 0x617265, 0x617420, 0x617465, 
0x617520, 0x636172, 0x636F6E, 0x637520, 0x63E320, 0x646520, 0x652061, 0x652063, 
0x652064, 0x652070,
+                0x652073, 0x656120, 0x656920, 0x656C65, 0x656E74, 0x657374, 
0x692061, 0x692063, 0x692064, 0x692070, 0x696520, 0x696920, 0x696E20, 0x6C6120, 
0x6C6520, 0x6C6F72,
+                0x6C7569, 0x6E6520, 0x6E7472, 0x6F7220, 0x70656E, 0x726520, 
0x726561, 0x727520, 0x73E320, 0x746520, 0x747275, 0x74E320, 0x756920, 0x756C20, 
0xBA6920, 0xEE6E20,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "ro";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    abstract static class CharsetRecog_8859_5 extends CharsetRecog_sbcs
-    {
+
+    abstract static class CharsetRecog_8859_5 extends CharsetRecog_sbcs {
         protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, 
(byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, 
(byte) 0x20, (byte) 0xFE, (byte) 0xFF, 
-            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, 
(byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
-            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, 
(byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, 
(byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, 
(byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, 
(byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
-            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 0xDC, 
(byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, 
(byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, 
(byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0x20, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, 
(byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, 
(byte) 0x20, (byte) 0xFE, (byte) 0xFF, 
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 
0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
+                (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 
0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
+                (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 
0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
+                (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 
0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
+                (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 
0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
+                (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 
0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
+                (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 
0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7,
+                (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 
0xFC, (byte) 0x20, (byte) 0xFE, (byte) 0xFF,
+                (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 
0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7,
+                (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 
0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF,
+                (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 
0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7,
+                (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 
0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF,
+                (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 
0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7,
+                (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0xDB, (byte) 
0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF,
+                (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 
0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7,
+                (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 
0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF,
+                (byte) 0x20, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 
0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7,
+                (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 
0xFC, (byte) 0x20, (byte) 0xFE, (byte) 0xFF,
         };
 
-        public String getName()
-        {
+        public String getName() {
             return "ISO-8859-5";
         }
     }
-    
-    static class CharsetRecog_8859_5_ru extends CharsetRecog_8859_5
-    {
-        private static int[] ngrams = {
-            0x20D220, 0x20D2DE, 0x20D4DE, 0x20D7D0, 0x20D820, 0x20DAD0, 
0x20DADE, 0x20DDD0, 0x20DDD5, 0x20DED1, 0x20DFDE, 0x20DFE0, 0x20E0D0, 0x20E1DE, 
0x20E1E2, 0x20E2DE, 
-            0x20E7E2, 0x20EDE2, 0xD0DDD8, 0xD0E2EC, 0xD3DE20, 0xD5DBEC, 
0xD5DDD8, 0xD5E1E2, 0xD5E220, 0xD820DF, 0xD8D520, 0xD8D820, 0xD8EF20, 0xDBD5DD, 
0xDBD820, 0xDBECDD, 
-            0xDDD020, 0xDDD520, 0xDDD8D5, 0xDDD8EF, 0xDDDE20, 0xDDDED2, 
0xDE20D2, 0xDE20DF, 0xDE20E1, 0xDED220, 0xDED2D0, 0xDED3DE, 0xDED920, 0xDEDBEC, 
0xDEDC20, 0xDEE1E2, 
-            0xDFDEDB, 0xDFE0D5, 0xDFE0D8, 0xDFE0DE, 0xE0D0D2, 0xE0D5D4, 
0xE1E2D0, 0xE1E2D2, 0xE1E2D8, 0xE1EF20, 0xE2D5DB, 0xE2DE20, 0xE2DEE0, 0xE2EC20, 
0xE7E2DE, 0xEBE520, 
+
+    static class CharsetRecog_8859_5_ru extends CharsetRecog_8859_5 {
+        private static int[] ngrams = {
+                0x20D220, 0x20D2DE, 0x20D4DE, 0x20D7D0, 0x20D820, 0x20DAD0, 
0x20DADE, 0x20DDD0, 0x20DDD5, 0x20DED1, 0x20DFDE, 0x20DFE0, 0x20E0D0, 0x20E1DE, 
0x20E1E2, 0x20E2DE,
+                0x20E7E2, 0x20EDE2, 0xD0DDD8, 0xD0E2EC, 0xD3DE20, 0xD5DBEC, 
0xD5DDD8, 0xD5E1E2, 0xD5E220, 0xD820DF, 0xD8D520, 0xD8D820, 0xD8EF20, 0xDBD5DD, 
0xDBD820, 0xDBECDD,
+                0xDDD020, 0xDDD520, 0xDDD8D5, 0xDDD8EF, 0xDDDE20, 0xDDDED2, 
0xDE20D2, 0xDE20DF, 0xDE20E1, 0xDED220, 0xDED2D0, 0xDED3DE, 0xDED920, 0xDEDBEC, 
0xDEDC20, 0xDEE1E2,
+                0xDFDEDB, 0xDFE0D5, 0xDFE0D8, 0xDFE0DE, 0xE0D0D2, 0xE0D5D4, 
0xE1E2D0, 0xE1E2D2, 0xE1E2D8, 0xE1EF20, 0xE2D5DB, 0xE2DE20, 0xE2DEE0, 0xE2EC20, 
0xE7E2DE, 0xEBE520,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "ru";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    abstract static class CharsetRecog_8859_6 extends CharsetRecog_sbcs
-    {
+
+    abstract static class CharsetRecog_8859_6 extends CharsetRecog_sbcs {
         protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 0xC4, 
(byte) 0xC5, (byte) 0xC6, (byte) 0xC7, 
-            (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xCB, (byte) 0xCC, 
(byte) 0xCD, (byte) 0xCE, (byte) 0xCF, 
-            (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 0xD4, 
(byte) 0xD5, (byte) 0xD6, (byte) 0xD7, 
-            (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, 
(byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 
0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
+                (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 
0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
+                (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 
0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
+                (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 
0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
+                (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 
0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
+                (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 
0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
+                (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0xC1, (byte) 0xC2, (byte) 0xC3, (byte) 
0xC4, (byte) 0xC5, (byte) 0xC6, (byte) 0xC7,
+                (byte) 0xC8, (byte) 0xC9, (byte) 0xCA, (byte) 0xCB, (byte) 
0xCC, (byte) 0xCD, (byte) 0xCE, (byte) 0xCF,
+                (byte) 0xD0, (byte) 0xD1, (byte) 0xD2, (byte) 0xD3, (byte) 
0xD4, (byte) 0xD5, (byte) 0xD6, (byte) 0xD7,
+                (byte) 0xD8, (byte) 0xD9, (byte) 0xDA, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 
0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7,
+                (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
         };
 
-        public String getName()
-        {
+        public String getName() {
             return "ISO-8859-6";
         }
     }
-    
-    static class CharsetRecog_8859_6_ar extends CharsetRecog_8859_6
-    {
-        private static int[] ngrams = {
-            0x20C7E4, 0x20C7E6, 0x20C8C7, 0x20D9E4, 0x20E1EA, 0x20E4E4, 
0x20E5E6, 0x20E8C7, 0xC720C7, 0xC7C120, 0xC7CA20, 0xC7D120, 0xC7E420, 0xC7E4C3, 
0xC7E4C7, 0xC7E4C8, 
-            0xC7E4CA, 0xC7E4CC, 0xC7E4CD, 0xC7E4CF, 0xC7E4D3, 0xC7E4D9, 
0xC7E4E2, 0xC7E4E5, 0xC7E4E8, 0xC7E4EA, 0xC7E520, 0xC7E620, 0xC7E6CA, 0xC820C7, 
0xC920C7, 0xC920E1, 
-            0xC920E4, 0xC920E5, 0xC920E8, 0xCA20C7, 0xCF20C7, 0xCFC920, 
0xD120C7, 0xD1C920, 0xD320C7, 0xD920C7, 0xD9E4E9, 0xE1EA20, 0xE420C7, 0xE4C920, 
0xE4E920, 0xE4EA20, 
-            0xE520C7, 0xE5C720, 0xE5C920, 0xE5E620, 0xE620C7, 0xE720C7, 
0xE7C720, 0xE8C7E4, 0xE8E620, 0xE920C7, 0xEA20C7, 0xEA20E5, 0xEA20E8, 0xEAC920, 
0xEAD120, 0xEAE620, 
+
+    static class CharsetRecog_8859_6_ar extends CharsetRecog_8859_6 {
+        private static int[] ngrams = {
+                0x20C7E4, 0x20C7E6, 0x20C8C7, 0x20D9E4, 0x20E1EA, 0x20E4E4, 
0x20E5E6, 0x20E8C7, 0xC720C7, 0xC7C120, 0xC7CA20, 0xC7D120, 0xC7E420, 0xC7E4C3, 
0xC7E4C7, 0xC7E4C8,
+                0xC7E4CA, 0xC7E4CC, 0xC7E4CD, 0xC7E4CF, 0xC7E4D3, 0xC7E4D9, 
0xC7E4E2, 0xC7E4E5, 0xC7E4E8, 0xC7E4EA, 0xC7E520, 0xC7E620, 0xC7E6CA, 0xC820C7, 
0xC920C7, 0xC920E1,
+                0xC920E4, 0xC920E5, 0xC920E8, 0xCA20C7, 0xCF20C7, 0xCFC920, 
0xD120C7, 0xD1C920, 0xD320C7, 0xD920C7, 0xD9E4E9, 0xE1EA20, 0xE420C7, 0xE4C920, 
0xE4E920, 0xE4EA20,
+                0xE520C7, 0xE5C720, 0xE5C920, 0xE5E620, 0xE620C7, 0xE720C7, 
0xE7C720, 0xE8C7E4, 0xE8E620, 0xE920C7, 0xEA20C7, 0xEA20E5, 0xEA20E8, 0xEAC920, 
0xEAD120, 0xEAE620,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "ar";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    abstract static class CharsetRecog_8859_7 extends CharsetRecog_sbcs
-    {
+
+    abstract static class CharsetRecog_8859_7 extends CharsetRecog_sbcs {
         protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0xA1, (byte) 0xA2, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0xDC, (byte) 0x20, 
-            (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, (byte) 0x20, (byte) 0xFC, 
(byte) 0x20, (byte) 0xFD, (byte) 0xFE, 
-            (byte) 0xC0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, 
(byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, 
(byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0x20, (byte) 0xF3, (byte) 0xF4, 
(byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xDC, 
(byte) 0xDD, (byte) 0xDE, (byte) 0xDF, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, 
(byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, 
(byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, 
(byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 0xFC, 
(byte) 0xFD, (byte) 0xFE, (byte) 0x20, 
-        };
-
-        public String getName()
-        {
-            return haveC1Bytes? "windows-1253" : "ISO-8859-7";
-        }
-    }
-    
-    static class CharsetRecog_8859_7_el extends CharsetRecog_8859_7
-    {
-        private static int[] ngrams = {
-            0x20E1ED, 0x20E1F0, 0x20E3E9, 0x20E4E9, 0x20E5F0, 0x20E720, 
0x20EAE1, 0x20ECE5, 0x20EDE1, 0x20EF20, 0x20F0E1, 0x20F0EF, 0x20F0F1, 0x20F3F4, 
0x20F3F5, 0x20F4E7, 
-            0x20F4EF, 0xDFE120, 0xE120E1, 0xE120F4, 0xE1E920, 0xE1ED20, 
0xE1F0FC, 0xE1F220, 0xE3E9E1, 0xE5E920, 0xE5F220, 0xE720F4, 0xE7ED20, 0xE7F220, 
0xE920F4, 0xE9E120, 
-            0xE9EADE, 0xE9F220, 0xEAE1E9, 0xEAE1F4, 0xECE520, 0xED20E1, 
0xED20E5, 0xED20F0, 0xEDE120, 0xEFF220, 0xEFF520, 0xF0EFF5, 0xF0F1EF, 0xF0FC20, 
0xF220E1, 0xF220E5, 
-            0xF220EA, 0xF220F0, 0xF220F4, 0xF3E520, 0xF3E720, 0xF3F4EF, 
0xF4E120, 0xF4E1E9, 0xF4E7ED, 0xF4E7F2, 0xF4E9EA, 0xF4EF20, 0xF4EFF5, 0xF4F9ED, 
0xF9ED20, 0xFEED20, 
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 
0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
+                (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 
0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
+                (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 
0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
+                (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 
0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
+                (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 
0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
+                (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 
0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
+                (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0xA1, (byte) 0xA2, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0xDC, (byte) 0x20,
+                (byte) 0xDD, (byte) 0xDE, (byte) 0xDF, (byte) 0x20, (byte) 
0xFC, (byte) 0x20, (byte) 0xFD, (byte) 0xFE,
+                (byte) 0xC0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 
0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7,
+                (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 
0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF,
+                (byte) 0xF0, (byte) 0xF1, (byte) 0x20, (byte) 0xF3, (byte) 
0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7,
+                (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 
0xDC, (byte) 0xDD, (byte) 0xDE, (byte) 0xDF,
+                (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 
0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7,
+                (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 
0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF,
+                (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 
0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7,
+                (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0xFB, (byte) 
0xFC, (byte) 0xFD, (byte) 0xFE, (byte) 0x20,
+        };
+
+        public String getName() {
+            return haveC1Bytes ? "windows-1253" : "ISO-8859-7";
+        }
+    }
+
+    static class CharsetRecog_8859_7_el extends CharsetRecog_8859_7 {
+        private static int[] ngrams = {
+                0x20E1ED, 0x20E1F0, 0x20E3E9, 0x20E4E9, 0x20E5F0, 0x20E720, 
0x20EAE1, 0x20ECE5, 0x20EDE1, 0x20EF20, 0x20F0E1, 0x20F0EF, 0x20F0F1, 0x20F3F4, 
0x20F3F5, 0x20F4E7,
+                0x20F4EF, 0xDFE120, 0xE120E1, 0xE120F4, 0xE1E920, 0xE1ED20, 
0xE1F0FC, 0xE1F220, 0xE3E9E1, 0xE5E920, 0xE5F220, 0xE720F4, 0xE7ED20, 0xE7F220, 
0xE920F4, 0xE9E120,
+                0xE9EADE, 0xE9F220, 0xEAE1E9, 0xEAE1F4, 0xECE520, 0xED20E1, 
0xED20E5, 0xED20F0, 0xEDE120, 0xEFF220, 0xEFF520, 0xF0EFF5, 0xF0F1EF, 0xF0FC20, 
0xF220E1, 0xF220E5,
+                0xF220EA, 0xF220F0, 0xF220F4, 0xF3E520, 0xF3E720, 0xF3F4EF, 
0xF4E120, 0xF4E1E9, 0xF4E7ED, 0xF4E7F2, 0xF4E9EA, 0xF4EF20, 0xF4EFF5, 0xF4F9ED, 
0xF9ED20, 0xFEED20,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "el";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    abstract static class CharsetRecog_8859_8 extends CharsetRecog_sbcs
-    {
+
+    abstract static class CharsetRecog_8859_8 extends CharsetRecog_sbcs {
         protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0xB5, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, 
(byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, 
(byte) 0xED, (byte) 0xEE, (byte) 0xEF, 
-            (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 0xF4, 
(byte) 0xF5, (byte) 0xF6, (byte) 0xF7, 
-            (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-        };
-
-        public String getName()
-        {
-            return haveC1Bytes? "windows-1255" : "ISO-8859-8";
-        }
-    }
-    
-    static class CharsetRecog_8859_8_I_he extends CharsetRecog_8859_8
-    {
-        private static int[] ngrams = {
-            0x20E0E5, 0x20E0E7, 0x20E0E9, 0x20E0FA, 0x20E1E9, 0x20E1EE, 
0x20E4E0, 0x20E4E5, 0x20E4E9, 0x20E4EE, 0x20E4F2, 0x20E4F9, 0x20E4FA, 0x20ECE0, 
0x20ECE4, 0x20EEE0, 
-            0x20F2EC, 0x20F9EC, 0xE0FA20, 0xE420E0, 0xE420E1, 0xE420E4, 
0xE420EC, 0xE420EE, 0xE420F9, 0xE4E5E0, 0xE5E020, 0xE5ED20, 0xE5EF20, 0xE5F820, 
0xE5FA20, 0xE920E4, 
-            0xE9E420, 0xE9E5FA, 0xE9E9ED, 0xE9ED20, 0xE9EF20, 0xE9F820, 
0xE9FA20, 0xEC20E0, 0xEC20E4, 0xECE020, 0xECE420, 0xED20E0, 0xED20E1, 0xED20E4, 
0xED20EC, 0xED20EE, 
-            0xED20F9, 0xEEE420, 0xEF20E4, 0xF0E420, 0xF0E920, 0xF0E9ED, 
0xF2EC20, 0xF820E4, 0xF8E9ED, 0xF9EC20, 0xFA20E0, 0xFA20E1, 0xFA20E4, 0xFA20EC, 
0xFA20EE, 0xFA20F9, 
-        };
-
-        public String getName()
-        {
-            return haveC1Bytes? "windows-1255" : /*"ISO-8859-8-I"*/ 
"ISO-8859-8";
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x00,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 
0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
+                (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 
0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
+                (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 
0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
+                (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 
0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67,
+                (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 
0x6C, (byte) 0x6D, (byte) 0x6E, (byte) 0x6F,
+                (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 
0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77,
+                (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0xB5, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+                (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 
0xE4, (byte) 0xE5, (byte) 0xE6, (byte) 0xE7,
+                (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 
0xEC, (byte) 0xED, (byte) 0xEE, (byte) 0xEF,
+                (byte) 0xF0, (byte) 0xF1, (byte) 0xF2, (byte) 0xF3, (byte) 
0xF4, (byte) 0xF5, (byte) 0xF6, (byte) 0xF7,
+                (byte) 0xF8, (byte) 0xF9, (byte) 0xFA, (byte) 0x20, (byte) 
0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20,
+        };
+
+        public String getName() {
+            return haveC1Bytes ? "windows-1255" : "ISO-8859-8";
         }
+    }
+
+    static class CharsetRecog_8859_8_I_he extends CharsetRecog_8859_8 {
+        private static int[] ngrams = {
+                0x20E0E5, 0x20E0E7, 0x20E0E9, 0x20E0FA, 0x20E1E9, 0x20E1EE, 
0x20E4E0, 0x20E4E5, 0x20E4E9, 0x20E4EE, 0x20E4F2, 0x20E4F9, 0x20E4FA, 0x20ECE0, 
0x20ECE4, 0x20EEE0,
+                0x20F2EC, 0x20F9EC, 0xE0FA20, 0xE420E0, 0xE420E1, 0xE420E4, 
0xE420EC, 0xE420EE, 0xE420F9, 0xE4E5E0, 0xE5E020, 0xE5ED20, 0xE5EF20, 0xE5F820, 
0xE5FA20, 0xE920E4,
+                0xE9E420, 0xE9E5FA, 0xE9E9ED, 0xE9ED20, 0xE9EF20, 0xE9F820, 
0xE9FA20, 0xEC20E0, 0xEC20E4, 0xECE020, 0xECE420, 0xED20E0, 0xED20E1, 0xED20E4, 
0xED20EC, 0xED20EE,
+                0xED20F9, 0xEEE420, 0xEF20E4, 0xF0E420, 0xF0E920, 0xF0E9ED, 
0xF2EC20, 0xF820E4, 0xF8E9ED, 0xF9EC20, 0xFA20E0, 0xFA20E1, 0xFA20E4, 0xFA20EC, 
0xFA20EE, 0xFA20F9,
+        };
 
-        public String getLanguage()
-        {
+        public String getName() {
+            return haveC1Bytes ? "windows-1255" : /*"ISO-8859-8-I"*/ 
"ISO-8859-8";
+        }
+
+        public String getLanguage() {
             return "he";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    static class CharsetRecog_8859_8_he extends CharsetRecog_8859_8
-    {
+
+    static class CharsetRecog_8859_8_he extends CharsetRecog_8859_8 {
         private static int[] ngrams = {
-            0x20E0E5, 0x20E0EC, 0x20E4E9, 0x20E4EC, 0x20E4EE, 0x20E4F0, 
0x20E9F0, 0x20ECF2, 0x20ECF9, 0x20EDE5, 0x20EDE9, 0x20EFE5, 0x20EFE9, 0x20F8E5, 
0x20F8E9, 0x20FAE0, 
-            0x20FAE5, 0x20FAE9, 0xE020E4, 0xE020EC, 0xE020ED, 0xE020FA, 
0xE0E420, 0xE0E5E4, 0xE0EC20, 0xE0EE20, 0xE120E4, 0xE120ED, 0xE120FA, 0xE420E4, 
0xE420E9, 0xE420EC, 
-            0xE420ED, 0xE420EF, 0xE420F8, 0xE420FA, 0xE4EC20, 0xE5E020, 
0xE5E420, 0xE7E020, 0xE9E020, 0xE9E120, 0xE9E420, 0xEC20E4, 0xEC20ED, 0xEC20FA, 
0xECF220, 0xECF920, 
-            0xEDE9E9, 0xEDE9F0, 0xEDE9F8, 0xEE20E4, 0xEE20ED, 0xEE20FA, 
0xEEE120, 0xEEE420, 0xF2E420, 0xF920E4, 0xF920ED, 0xF920FA, 0xF9E420, 0xFAE020, 
0xFAE420, 0xFAE5E9, 
+                0x20E0E5, 0x20E0EC, 0x20E4E9, 0x20E4EC, 0x20E4EE, 0x20E4F0, 
0x20E9F0, 0x20ECF2, 0x20ECF9, 0x20EDE5, 0x20EDE9, 0x20EFE5, 0x20EFE9, 0x20F8E5, 
0x20F8E9, 0x20FAE0,
+                0x20FAE5, 0x20FAE9, 0xE020E4, 0xE020EC, 0xE020ED, 0xE020FA, 
0xE0E420, 0xE0E5E4, 0xE0EC20, 0xE0EE20, 0xE120E4, 0xE120ED, 0xE120FA, 0xE420E4, 
0xE420E9, 0xE420EC,
+                0xE420ED, 0xE420EF, 0xE420F8, 0xE420FA, 0xE4EC20, 0xE5E020, 
0xE5E420, 0xE7E020, 0xE9E020, 0xE9E120, 0xE9E420, 0xEC20E4, 0xEC20ED, 0xEC20FA, 
0xECF220, 0xECF920,
+                0xEDE9E9, 0xEDE9F0, 0xEDE9F8, 0xEE20E4, 0xEE20ED, 0xEE20FA, 
0xEEE120, 0xEEE420, 0xF2E420, 0xF920E4, 0xF920ED, 0xF920FA, 0xF9E420, 0xFAE020, 
0xFAE420, 0xFAE5E9,
         };
 
-        public String getLanguage()
-        {
+        public String getLanguage() {
             return "he";
         }
-        
-        public int match(CharsetDetector det)
-        {
+
+        public int match(CharsetDetector det) {
             return match(det, ngrams, byteMap);
         }
     }
-    
-    abstract static class CharsetRecog_8859_9 extends CharsetRecog_sbcs
-    {
+
+    abstract static class CharsetRecog_8859_9 extends CharsetRecog_sbcs {
         protected static byte[] byteMap = {
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x00, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x61, (byte) 0x62, (byte) 0x63, (byte) 0x64, 
(byte) 0x65, (byte) 0x66, (byte) 0x67, 
-            (byte) 0x68, (byte) 0x69, (byte) 0x6A, (byte) 0x6B, (byte) 0x6C, 
(byte) 0x6D, (byte) 0x6E, (byte) 0x6F, 
-            (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, (byte) 0x74, 
(byte) 0x75, (byte) 0x76, (byte) 0x77, 
-            (byte) 0x78, (byte) 0x79, (byte) 0x7A, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0xAA, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, (byte) 0x20, 
(byte) 0xB5, (byte) 0x20, (byte) 0x20, 
-            (byte) 0x20, (byte) 0x20, (byte) 0xBA, (byte) 0x20, (byte) 0x20, 
(byte) 0x20, (byte) 0x20, (byte) 0x20, 
-            (byte) 0xE0, (byte) 0xE1, (byte) 0xE2, (byte) 0xE3, (byte) 0xE4, 
(byte) 0xE5, (byte) 0xE6, (byte) 0xE7, 
-            (byte) 0xE8, (byte) 0xE9, (byte) 0xEA, (byte) 0xEB, (byte) 0xEC, 
(byte) 0xED, (byte) 0xEE, (byte) 0xEF, 

[... 993 lines stripped ...]

Reply via email to