intl/chardet/tools/gencyrillic.pl
author Bobby Holley <bobbyholley@gmail.com>
Tue, 16 Jul 2013 18:04:49 -0700
changeset 138783 13229bab2ba4e4d86b4c795f849240c009314c2d
parent 103000 325891716910101f51fbb15f2bdd4730fe53cdf9
permissions -rw-r--r--
Bug 889714 - Reduce the number of places where we pull |env| off cx. r=mrbkap

#!/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";