Retour : accueil > Zim

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
    
'[&#700;’‘]' => array("'"''),// Ramplecement du caractère MODIFIER LETTER APOSTROPHE & LEFT SINGLE QUOTATION MARK par APOSTROPHE
    
' [-&#8209;]{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)
?>