MediaWiki  master
generateNormalizerDataMl.php
Go to the documentation of this file.
1 <?php
24 require_once __DIR__ . '/../Maintenance.php';
25 
27 
36  public function __construct() {
37  parent::__construct();
38  $this->addDescription( 'Generate the normalizer data file for Malayalam' );
39  }
40 
41  public function getDbType() {
42  return Maintenance::DB_NONE;
43  }
44 
45  public function execute() {
46  $hexPairs = [
47  # From https://www.unicode.org/versions/Unicode5.1.0/#Malayalam_Chillu_Characters
48  '0D23 0D4D 200D' => '0D7A',
49  '0D28 0D4D 200D' => '0D7B',
50  '0D30 0D4D 200D' => '0D7C',
51  '0D32 0D4D 200D' => '0D7D',
52  '0D33 0D4D 200D' => '0D7E',
53 
54  # From http://permalink.gmane.org/gmane.science.linguistics.wikipedia.technical/46413
55  '0D15 0D4D 200D' => '0D7F',
56  ];
57 
58  $pairs = [];
59  foreach ( $hexPairs as $hexSource => $hexDest ) {
60  $source = UtfNormal\Utils::hexSequenceToUtf8( $hexSource );
61  $dest = UtfNormal\Utils::hexSequenceToUtf8( $hexDest );
62  $pairs[$source] = $dest;
63  }
64 
65  global $IP;
66  $writer = new StaticArrayWriter();
67  file_put_contents( "$IP/languages/data/normalize-ml.php", $writer->create(
68  $pairs,
69  'File created by generateNormalizerDataMl.php'
70  ) );
71 
72  echo "ml: " . count( $pairs ) . " pairs written.\n";
73  }
74 }
75 
76 $maintClass = GenerateNormalizerDataMl::class;
77 require_once RUN_MAINTENANCE_IF_MAIN;
const DB_NONE
Constants for DB access type.
Definition: Maintenance.php:87
const RUN_MAINTENANCE_IF_MAIN
Definition: Maintenance.php:39
$IP
Definition: WebStart.php:41
Abstract maintenance class for quickly writing and churning out maintenance scripts with minimal effo...
Definition: Maintenance.php:82
$source
addDescription( $text)
Set the description text.
Format a static PHP array to be written to a file.
Generates the normalizer data file for Malayalam.