summaryrefslogtreecommitdiffstats
path: root/intl/chardet/tools/gencyrillic.pl
blob: 51bd6e4563d813b88de0686485911afb757a5b73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/local/bin/perl

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

use StatKoi '.' ;

open(FILE, "> ../src/nsCyrillicProb.h") or die "cannot open nsCyrillicDetector.h";

print FILE <<EOF;
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef nsCyrillicDetector_h__
#define nsCyrillicDetector_h__
/*
    DO NOT EDIT THIS FILE !!!
    This file is generated by the perl script in 
    mozilla/intl/chardet/tools/gencyrillic.pl

    To ues that script, you need to grab StatKoi.pm file from
    the "Cyrillic Software Suite" written by John Neystdt.
    http://www.neystadt.org/cyrillic (You can also find it from CPAN)
 */
EOF
$table = \%Lingua::DetectCharset::StatKoi::StatsTableKoi;
print FILE "const uint16_t gCyrillicProb[33][33] = {";
  print FILE "{ \n";
  print FILE "0,\n";
  for($j = 0xc0; $j < 0xe0; $j++)
  {
     print FILE "0, \t";
     if( 7 == ( $j % 8) )
     {
           print FILE "\n";
     }
  }
  print FILE "\n}, \n";
for($i = 0xc0; $i < 0xe0; $i++)
{
  print FILE "{ \n";
  print FILE "0,\n";
  for($j = 0xc0; $j < 0xe0; $j++)
  {
     $key = chr($i) . chr($j);
     if(exists($table->{$key}))
     {
          $v = $table->{$key};
     } else {
          $v = 0;
     }
     print FILE $v . ", \t";
     if( 7 == ( $j % 8) )
     {
           print FILE "\n";
     }
  }
  print FILE "\n}, \n";
}
print FILE "};\n";
print FILE "#endif\n";