MediaWiki  1.34.0
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;
RUN_MAINTENANCE_IF_MAIN
const RUN_MAINTENANCE_IF_MAIN
Definition: Maintenance.php:39
$maintClass
$maintClass
Definition: generateNormalizerDataMl.php:76
Maintenance\addDescription
addDescription( $text)
Set the description text.
Definition: Maintenance.php:348
GenerateNormalizerDataMl\__construct
__construct()
Default constructor.
Definition: generateNormalizerDataMl.php:36
Maintenance
Abstract maintenance class for quickly writing and churning out maintenance scripts with minimal effo...
Definition: Maintenance.php:82
$IP
$IP
Definition: update.php:3
GenerateNormalizerDataMl\execute
execute()
Do the actual work.
Definition: generateNormalizerDataMl.php:45
Wikimedia\StaticArrayWriter
Format a static PHP array to be written to a file.
Definition: StaticArrayWriter.php:26
Maintenance\DB_NONE
const DB_NONE
Constants for DB access type.
Definition: Maintenance.php:87
$source
$source
Definition: mwdoc-filter.php:34
GenerateNormalizerDataMl\getDbType
getDbType()
Does the script need different DB access? By default, we give Maintenance scripts normal rights to th...
Definition: generateNormalizerDataMl.php:41
GenerateNormalizerDataMl
Generates the normalizer data file for Malayalam.
Definition: generateNormalizerDataMl.php:35