Retour : accueil > Zim
Utilisation dans Zim : correcteur_ocr.php %f
Zim script : correcteur
Utilisation dans Zim : correcteur_ocr.php %f
#!/opt/lampp/bin/php
<?php
/**
* Encodate de ce fichier : utf-8
* Remplace les caractères et les mots qui ont mal passé à l'OCR.
* Utilisation: correcteur_ocr.php %f
*/
$fichier = $argv[1];
mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");
$contenu = file_get_contents($fichier);
$mots = array(
',ù' => ', à ',
'écs ' => 'ées ',
'écs, ' => 'ées, ',
'cs ' => 'es ',
'éc ' => 'ée ',
'éc,' => 'ée,',
'scs' => 'ses',
'lcs' => 'les',
'tc ' => 'te ',
' a dents' => ' Ã dents',
'aeaules' => 'acaules',
'aeótes' => 'à côtes',
'apiculéc' => 'apiculée',
'asceudante' => 'ascendante',
'biturqué' => 'bifurqué',
'bitide' => 'bifide',
' bee ' => ' bec ',
'eourbée' => 'courbée',
'callœ' => 'calice',
'carpopbore' => 'carpophore',
'completes' => 'complètes',
'eouehées' => 'couchées',
'diolque' => 'dioïque',
'discoide' => 'discoïde',
'ESPÈGES' => 'ESPÈCES',
'fapiculés' => 'fasciculés',
'fructilères' => 'fructifères',
'hampcs' => 'hampes',
'herbaeée' => 'herbacée',
'Ãeuillées' => 'feuillées',
'Galice' => 'Calice',
'Involuere' => 'Involucre',
'ioliacées' => 'foliacées',
'glaucessente' => 'glaucescente',
'hermaphroditc' => 'hermaphrodite',
'ineisé' => 'incisé',
"jusqu'ù" => "jusqu'à ",
"l'Asic" => "l'Asie",
'lineaire' => 'linéaire',
'lnvolucelle' => 'Involucelle',
'lnvoluere' => 'involucre',
'l›' => 'b',
'monolque' => 'monoïque',
' meme ' => ' même ',
'mériearpe' => 'méricarpe',
'mueroné' => 'mucroné',
'ombclle' => 'ombelle',
'Ombellos' => 'Ombelles',
'ovolde' => 'ovoïde',
'Pexlérieure' => "l'extérieure",
'pódoncule' => 'pédoncule',
'pédoneulé' => 'pédonculé',
'rcdressé' => 'redressé',
'saillanie' => 'saillante',
'sessilc' => 'sessile',
'solÃche' => 'souche',
'tranehanle' => 'tranchante',
'trifidcs' => 'trifides',
'tubereuleux' => 'tuberculeux',
'vlvant' => 'vivant',
'épaissic' => 'épaissie'
);
foreach ($mots as $recherche => $remplacement) {
$contenu = str_replace($recherche, $remplacement, $contenu);
}
$expressions = array(
'[.][ ]+$' => array('', ''),// Suppression des espaces en fin de ligne
'[ ]{2,}' => array(' ', ''),// Plus de 2 espaces consécutifs remplacé par 1 seul
'\n\n\n+' => array("\n\n", 'm'),// Plus de 2 sauts de ligne consécutifs remplacé par 2 sauts de ligne
'[ʼ’‘]' => array("'", ''),// Ramplecement du caractère MODIFIER LETTER APOSTROPHE & LEFT SINGLE QUOTATION MARK par APOSTROPHE
' [-‑]{1,2} ' => array(" – ", ''),// Deux tirets consécutifs remplacé par un tiret long
'([A-Z0-9"éè.]);' => array("\\1 ;", 'im'),// Ajout d'espace devant les points virgules
' (?:i[ilntz]|îi|[åãèhù]|l[itx]|[bèù][.]) ' => array(" à ", ''),// remplacement des mots correspondant 'à '
' il ([0-9]+) ' => array(" Ã \\1 ", ''),// remplacement des mots correspondant 'Ã '
'(?:bandelctte|bandelelte|bandclette)' => array("bandelette", 'i'),
'(blanch|bleu|jaun|noir|oliv|rouge|rouss|verd)[aà åùû]tre' => array("\\1âtre", 'i'),
'(?:eourtement|courlement)' => array('courtement', 'i'),
'(?:filitorme|lilitorme|iiliforme)' => array("filiforme", 'i'),
'(?:foliolc|loliole|ÃolÃole|toliole)' => array('foliole', 'i'),
'(?:inciséc|lneisée)' => array('incisée', ''),
'(?:intlécbie|inflécbie)' => array('infléchie', ''),
'[IîÃ]olioles' => array('folioles', 'i'),
'(?:lancéolú|lancéelé|laneéolé)' => array("lancéolé", 'i'),
'(?:lancéoléc|luncéoléc)' => array('lancéolée', 'i'),
'P(aisselle|égalant|étendard|hémisphère|homme|inférieure|onglet)' => array("l'\\1", ''),
'(?:rcnflée|renilée)' => array('renflée', 'i'),
'(?:sessilc|scssile)' => array('sessile', 'i'),
'(?:valléeule|valläzule|valléculc|vallóeule)' => array('vallécule', 'i')
);
foreach ($expressions as $recherche => $remplacementEtOptions) {
$remplacement = $remplacementEtOptions[0];
$options = $remplacementEtOptions[1];
$contenu = mb_ereg_replace($recherche, $remplacement, $contenu, $options);
}
file_put_contents($fichier, $contenu);
exit(0)
?>