php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
ucgendat.php File Reference

Go to the source code of this file.

Data Structures

class  Range
 
class  UnicodeData
 

Functions

 parseDataFile (string $input)
 
 parseUnicodeData (UnicodeData $data, string $input)
 
 parseCodes (string $strCodes)
 
 parseCaseFolding (UnicodeData $data, string $input)
 
 addSpecialCasing (UnicodeData $data, string $type, int $code, array $caseCodes)
 
 parseSpecialCasing (UnicodeData $data, string $input)
 
 parseDerivedCoreProperties (UnicodeData $data, string $input)
 
 parseEastAsianWidth (string $input)
 
 formatArray (array $values, int $width, string $format)
 
 formatShortHexArray (array $values, int $width)
 
 formatShortDecArray (array $values, int $width)
 
 formatIntArray (array $values, int $width)
 
 generatePropData (UnicodeData $data)
 
 flatten (array $array)
 
 prepareCaseData (UnicodeData $data)
 
 generateCaseMPH (string $name, array $map)
 
 generateCaseData (UnicodeData $data)
 
 generateData (UnicodeData $data)
 
 hashInt (int $d, int $x)
 
 tryGenerateMPH (array $map, int $gSize)
 
 generateMPH (array $map, bool $fast)
 
 generateEastAsianWidthData (array $wideRanges)
 

Variables

if($argc< 2) $dir = $argv[1]
 
 $unicodeDataFile = $dir . '/UnicodeData.txt'
 
 $caseFoldingFile = $dir . '/CaseFolding.txt'
 
 $specialCasingFile = $dir . '/SpecialCasing.txt'
 
 $derivedCorePropertiesFile = $dir . '/DerivedCoreProperties.txt'
 
 $eastAsianWidthFile = $dir . '/EastAsianWidth.txt'
 
 $files = [$unicodeDataFile, $caseFoldingFile, $specialCasingFile, $derivedCorePropertiesFile, $eastAsianWidthFile]
 
foreach($files as $file$outputFile = __DIR__ . "/../unicode_data.h"
 
 $data = new UnicodeData
 
 $eawFile = __DIR__ . "/../libmbfl/mbfl/eaw_table.h"
 
 $eawData = parseEastAsianWidth(file_get_contents($eastAsianWidthFile))
 

Function Documentation

◆ addSpecialCasing()

addSpecialCasing ( UnicodeData $data,
string $type,
int $code,
array $caseCodes )

Definition at line 320 of file ucgendat.php.

◆ flatten()

flatten ( array $array)

Definition at line 503 of file ucgendat.php.

◆ formatArray()

formatArray ( array $values,
int $width,
string $format )

Definition at line 435 of file ucgendat.php.

◆ formatIntArray()

formatIntArray ( array $values,
int $width )

Definition at line 456 of file ucgendat.php.

◆ formatShortDecArray()

formatShortDecArray ( array $values,
int $width )

Definition at line 453 of file ucgendat.php.

◆ formatShortHexArray()

formatShortHexArray ( array $values,
int $width )

Definition at line 450 of file ucgendat.php.

◆ generateCaseData()

generateCaseData ( UnicodeData $data)

Definition at line 556 of file ucgendat.php.

◆ generateCaseMPH()

generateCaseMPH ( string $name,
array $map )

Definition at line 539 of file ucgendat.php.

◆ generateData()

generateData ( UnicodeData $data)

Definition at line 570 of file ucgendat.php.

◆ generateEastAsianWidthData()

generateEastAsianWidthData ( array $wideRanges)

Definition at line 710 of file ucgendat.php.

◆ generateMPH()

generateMPH ( array $map,
bool $fast )

Definition at line 684 of file ucgendat.php.

◆ generatePropData()

generatePropData ( UnicodeData $data)

Definition at line 460 of file ucgendat.php.

◆ hashInt()

hashInt ( int $d,
int $x )

Definition at line 600 of file ucgendat.php.

◆ parseCaseFolding()

parseCaseFolding ( UnicodeData $data,
string $input )

Definition at line 288 of file ucgendat.php.

◆ parseCodes()

parseCodes ( string $strCodes)

Definition at line 280 of file ucgendat.php.

◆ parseDataFile()

parseDataFile ( string $input)

Definition at line 212 of file ucgendat.php.

◆ parseDerivedCoreProperties()

parseDerivedCoreProperties ( UnicodeData $data,
string $input )

Definition at line 368 of file ucgendat.php.

◆ parseEastAsianWidth()

parseEastAsianWidth ( string $input)

Definition at line 398 of file ucgendat.php.

◆ parseSpecialCasing()

parseSpecialCasing ( UnicodeData $data,
string $input )

Definition at line 343 of file ucgendat.php.

◆ parseUnicodeData()

parseUnicodeData ( UnicodeData $data,
string $input )

Definition at line 231 of file ucgendat.php.

◆ prepareCaseData()

prepareCaseData ( UnicodeData $data)

Definition at line 513 of file ucgendat.php.

◆ tryGenerateMPH()

tryGenerateMPH ( array $map,
int $gSize )

Definition at line 606 of file ucgendat.php.

Variable Documentation

◆ $caseFoldingFile

$caseFoldingFile = $dir . '/CaseFolding.txt'

Definition at line 54 of file ucgendat.php.

◆ $data

$data = new UnicodeData

Definition at line 69 of file ucgendat.php.

◆ $derivedCorePropertiesFile

$derivedCorePropertiesFile = $dir . '/DerivedCoreProperties.txt'

Definition at line 56 of file ucgendat.php.

◆ $dir

if ( $argc< 2) $dir ( ) = $argv[1]

This is based on the ucgendat.c file from the OpenLDAP project, licensed as follows. This file is not necessary to build PHP. It's only necessary to rebuild unicode_data.h and eaw_width.h from Unicode ucd files.

Example usage: php ucgendat.php path/to/Unicode/data/files

Definition at line 52 of file ucgendat.php.

◆ $eastAsianWidthFile

$eastAsianWidthFile = $dir . '/EastAsianWidth.txt'

Definition at line 57 of file ucgendat.php.

◆ $eawData

$eawData = parseEastAsianWidth(file_get_contents($eastAsianWidthFile))

Definition at line 78 of file ucgendat.php.

◆ $eawFile

$eawFile = __DIR__ . "/../libmbfl/mbfl/eaw_table.h"

Definition at line 76 of file ucgendat.php.

◆ $files

$files = [$unicodeDataFile, $caseFoldingFile, $specialCasingFile, $derivedCorePropertiesFile, $eastAsianWidthFile]

Definition at line 59 of file ucgendat.php.

◆ $outputFile

foreach ( $files as $file) $outputFile = __DIR__ . "/../unicode_data.h"

Definition at line 67 of file ucgendat.php.

◆ $specialCasingFile

$specialCasingFile = $dir . '/SpecialCasing.txt'

Definition at line 55 of file ucgendat.php.

◆ $unicodeDataFile

$unicodeDataFile = $dir . '/UnicodeData.txt'

Definition at line 53 of file ucgendat.php.