Ejemplo n.º 1
0
    public function testOne()
    {
        $input = <<<'EOD'
\s \nd UNkulunkulu\nd* u\add ba\add*xwayisa ngokulunga okungokwabantu 文字ab化け
\s Ukulunga okuku\nd Kristu\nd* אבabגד kuyinzuzo אבגד ab
EOD;
        $output = Filter_Hyphenate::atTransition($this->firstset, $this->secondset, $input);
        $standard = <<<'EOD'
\s \nd UNku­lu­nku­lu\nd* u\add ba\add*­xwa­yi­sa ngo­ku­lu­nga oku­ngo­kwa­ba­ntu 文字a­b化け
\s Uku­lu­nga oku­ku\nd Kri­stu\nd* אבa­bגד ku­yi­nzu­zo אבגד ab
EOD;
        $this->assertEquals($standard, $output);
    }
Ejemplo n.º 2
0
$database_logs = Database_Logs::getInstance();
$database_books = Database_Books::getInstance();
$database_config_bible = Database_Config_Bible::getInstance();
$database_bibles = Database_Bibles::getInstance();
$database_users = Database_Users::getInstance();
$inputBible = Filter_Cli::argument(@$argv, 1);
$outputBible = "{$inputBible}-hyphenated";
$user = Filter_Cli::argument(@$argv, 2);
$database_logs->log("Reading Bible {$inputBible}, adding soft hyphens, putting it into Bible {$outputBible}");
// Get the two sets of characters as arrays.
// The /u switch treats the text as UTF8 Unicode.
preg_match_all('/./u', $database_config_bible->getHyphenationFirstSet($inputBible), $firstset);
$firstset = $firstset[0];
preg_match_all('/./u', $database_config_bible->getHyphenationSecondSet($inputBible), $secondset);
$secondset = $secondset[0];
// Delete and (re)create the hyphenated Bible, and grant privileges.
$database_bibles->deleteBible($outputBible);
$database_bibles->createBible($outputBible);
$database_users->grantAccess2Bible($user, $outputBible);
// Go through the input Bible's books and chapters.
$books = $database_bibles->getBooks($inputBible);
foreach ($books as $book) {
    $database_logs->log($database_books->getEnglishFromId($book));
    $chapters = $database_bibles->getChapters($inputBible, $book);
    foreach ($chapters as $chapter) {
        $data = $database_bibles->getChapter($inputBible, $book, $chapter);
        $data = Filter_Hyphenate::atTransition($firstset, $secondset, $data);
        $database_bibles->storeChapter($outputBible, $book, $chapter, $data);
    }
}
$database_logs->log("The Bible has been hyphenated");