User:MS BOT/V1.5
V1.5 - Prochain lot de corrections
Premier lancement "pour de vrai" au soir du mercredi 11 mars 2009. Jusque là, tous mes tests se font donc en read-only.
Modifications programmées
highway=*, modification des names
- Pour tous les ways de France, si highway=* existe et si name=* contient déjà au-moins une majuscule et si name=* répond au critère suivants (sans sensibilité à la casse) :
/// Liste double des constantes utilisees pour les substitutions. const string HighwayName::substitutions[][2] = {
// Typographie des espaces et apostrophes
{"^ +", ""}, // Suppression des espaces en entete {" +$", ""}, // Suppression des espaces de fin. {" +", " "}, // Suppression des espaces doubles.
// {"’", "'"}, // Prime => Apostrophe.
// Accents erronnés (erreurs de conversion en UTF-8)
{"é", "é"}, {"É", "É"}, {"è", "è"}, {"È", "È"}, {"ê", "ê"}, {"à ", "à"},
// En début de phrase
{"^Acc(è|e)s\\b", "Accès"}, {"^All(é|e)e+\\b", "Allée"}, {"^Aire\\b", "Aire"}, {"^Autoroute\\b", "Autoroute"}, {"^Av(enue)?\\.?space:", "Avenue "}, {"^B(ou)?l?(evar|v)?d\\.?space:", "Boulevard "}, {"^Carrefour\\b", "Carrefour"}, {"^Champ\\b", "Champ"}, {"^Chauss(é|e)e?\\b", "Chaussée"}, {"^Ch(em|emin|)\\.?space:", "Chemin "}, {"^Cit(é|e)\\b", "Cité"}, {"^Clos\\b", "Clos"}, {"^Col\\b", "Col"}, {"^Côte\\b", "Côte"}, {"^Cour\\b", "Cour"}, // La cour {"^Cours\\b", "Cours"}, // Le cours {"^Escalier\\b", "Escalier"}, {"^Escaliers\\b", "Escaliers"}, {"^Esplanade\\b", "Esplanade"}, {"^Faubourg\\b", "Faubourg"}, {"^Giratoire\\b", "Giratoire"}, {"^Imp(asse)?\\.?space:", "Impasse "}, {"^La\\b", "La"}, {"^Le\\b", "Le"}, {"^Les\\b", "Les"}, {"^Mail\\b", "Mail"}, {"^Passage\\b", "Passage"}, {"^Place\\b", "Place"}, {"^Pont\\b", "Pont"}, {"^Porte\\b", "Porte"}, {"^Quai\\b", "Quai"}, {"^R(é|e)sidence\\b", "Résidence"}, {"^Rocade\\b", "Rocade"}, {"^Rond(-| )point\\b", "Rond-Point"}, {"^R(ou)?te\\.?space:", "Route "}, {"^Rue\\b", "Rue"}, {"^Ruelle\\b", "Ruelle"}, {"^Sente\\b", "Sente"}, {"^Sentier\\b", "Sentier"}, {"^Square\\b", "Square"}, {"^Villa\\b", "Villa"}, {"^Voie\\b", "Voie"},
// Noms simples
{"\\bAlg(é|e)rie\\b", "Algérie"},
// {"\\bAndr(é|e)space:", "André "},
{"\\bAndr(é|e)e\\b", "Andrée"}, {"\\bAnglais\\b", "Anglais"}, {"\\bAmp(è|e)re\\b", "Ampère"}, {"\\bAquitaine\\b", "Aquitaine"}, {"\\bArpillon\\b", "Arpillon"}, {"\\bAub(é|e)pine\\b", "Aubépine"}, {"\\bAub(é|e)pines\\b", "Aubépines"}, {"\\bBal(é|e)ares\\b", "Baléares"}, {"\\bBateaux\\b", "Bateaux"}, {"\\bBeno(î|i)t\\b", "Benoît"}, {"\\bBlind(é|e)e\\b", "Blindée"}, {"\\bBr(é|e)vent\\b", "Brévent"}, {"\\bBrunandi(è|e)res\\b", "Brunandières"}, {"\\bC(è|e)dre\\b", "Cèdre"}, {"\\bC(è|e)dres\\b", "Cèdres"}, {"\\bCerise\\b", "Cerise"}, {"\\bChapelle\\b", "Chapelle"}, {"\\bCh(â|a)teau\\b", "Château"}, {"\\bChateaubriand\\b", "Chateaubriand"}, {"\\bCh(ê|e)ne\\b", "Chêne"}, {"\\bCh(ê|e)nes\\b", "Chênes"}, {"\\bClo(i|î)tre\\b", "Cloître"}, {"\\bColl(è|e)ge\\b", "Collège"}, {"\\bColonn?el\\b", "Colonel"}, {"\\bCommandant\\b", "Commandant"}, {"\\bConcorde\\b", "Concorde"}, {"\\bCyprès\\b", "Cyprès"}, {"\\bDivision\\b", "Division"}, {"\\bDôme\\b", "Dôme"}, {"space:(E|É)cluse\\b", " Écluse"}, {"space:(E|É)cole\\b", " École"}, {"space:(E|É)coles\\b", " Écoles"}, {"\\bl'(E|É)cole\\b", "l'École"}, {"space:(E|É)coliers\\b", " Écoliers"}, {"\\bdéportation\\b", "Déportation"}, {"\\bDéportés\\b", "Déportés"}, {"\\bdu général\\b", "du Général"}, {"\\bdu maréchal\\b", "du Maréchal"}, {"space:Eau\\b", " Eau"}, {"\\b(E|É)cureuil\\b", "Écureuil"}, {"\\b(E|É)galite\\b", "Égalité"}, {"\\b(E|É)glise\\b", "Église"}, {"\\b(E|É)douard\\b", "Édouard"}, {"\\b(E|É)mile\\b", "Émile"}, {"\\bEmmanuel\\b", "Emmanuel"}, {"\\b(E|É)quateur\\b", "Équateur"}, {"\\b(E|É)rable\\b", "Érable"}, {"\\b(E|É)rables\\b", "Érables"}, {"\\bl'(E|É)tang\\b", "l'Étang"}, {"\\b(E|É)tienne\\b", "Étienne"}, {"\\b(E|É)variste\\b", "Évariste"}, {"\\bFleur\\b", "Fleur"}, {"\\bFleurs\\b", "Fleurs"}, {"\\bFontaine\\b", "Fontaine"}, {"\\bFor(ê|e)t\\b", "Forêt"}, {"\\bFoug(è|e)re\\b", "Fougère"}, {"\\bFoug(è|e)res\\b", "Fougères"}, {"\\bFran(ç|c)ais\\b", "Français"}, {"\\bFran(ç|c)aise\\b", "Française"}, {"\\bFran(ç|c)aises\\b", "Françaises"}, {"\\bFran(ç|c)ois\\b", "François"}, {"\\bFr(è|e)re\\b", "Frère"}, {"\\bFr(è|e)res\\b", "Frères"}, {"\\bGare\\b", "Gare"}, {"\\bG(é|e)n(é|e)ral\\b", "Général"}, {"\\bHôtel\\b", "Hôtel"}, {"\\bHusson\\b", "Husson"}, {"\\bL(e|é)on\\b", "Léon"}, {"\\bLib(é|e)ration\\b", "Libération"}, {"\\bLibert(é|e)\\b", "Liberté"}, {"\\bLieutenant\\b", "Lieutenant"}, {"\\bLumi(è|e)re\\b", "Lumière"}, // Les Frères Lumière ? {"\\bLyc(é|e)space:", "Lycée "}, {"\\bLyc(é|e)espace:", "Lycée "}, {"\\bMan(œ|oe)uvre\\b", "Manœuvre"}, {"\\bMan(œ|oe)uvres\\b", "Manœuvres"}, {"\\bMar(é|e)chal\\b", "Maréchal"}, {"\\bMartyrs\\b", "Martyrs"}, {"\\bM(é|e)daille\\b", "Médaille"}, {"\\bM(é|e)dit(é|e)rr?ann?(é|e)e?\\b", "Méditerranée"}, {"\\bM(é|e)rite\\b", "Mérite"}, {"\\bM(é|e)rou\\b", "Mérou"}, {"\\bMoli(e|è)re\\b", "Molière"}, {"\\bMonnaie\\b", "Monnaie"}, {"\\bOccupation\\b", "Occupation"}, {"\\bPaix\\b", "Paix"}, {"\\bPlace\\b", "Place"}, {"\\bPr(é|e)sident\\b", "Président"}, {"\\bPr(é|e)s\\b", "Prés"}, {"\\bProf+esseur\\b", "Professeur"}, {"\\bQuartier\\b", "Quartier"}, {"\\bQuatres?\\b", "Quatre"}, {"\\bR(é|e)publique\\b", "République"}, {"\\bR(é|e)sistance\\b", "Résistance"}, {"\\bR(é|e)volution\\b", "Révolution"}, {"\\bSablière\\b", "Sablière"},
// {"\\bS(ain)?t\\.?\\b", "Saint"}, // Généralisation produit des erreurs // {"\\bS(ain)te\\.?\\b", "Sainte"}, // Généralisation produit des erreurs
{"\\bS(œ|oe)ur\\b", "Sœur"}, {"\\bTr(é|e)moli(è|e)re\\b", "Trémolière"},
// {"\\bVent\\b", "Vent"}, // Collision avec Brévent
{"\\bVents\\b", "Vents"}, {"\\bVictoire\\b", "Victoire"},
// Noms composés // {"\\bAber[- ]Beno(î|i)t\\b", "Aber-Benoît"}, // http://fr.wikipedia.org/wiki/Aber-Beno%C3%AEt
{"\\bA(e|é)ropostale\\b", "Aéropostale"}, {"\\bAlbert 1er\\b", "Albert 1er"}, {"\\bAlbert Camus\\b", "Albert Camus"}, {"\\bAlcide De Gasp(e|é)ri\\b", "Alcide De Gasperi"}, {"\\bAlexandre Bouton\\b", "Alexandre Bouton"}, {"\\bAlphonse Morel\\b", "Alphonse Morel"}, {"\\bAndr(é|e) Beno(i|î)t\\b", "André Benoit"}, {"\\bAndr(é|e) Gide\\b", "André Gide"}, {"\\bAndr(é|e) Amp(è|e)re\\b", "André Ampère"}, {"\\bAnne Franc?k\\b", "Anne Frank"}, {"\\bAntoine de Pons\\b", "Antoine de Pons"}, {"\\bA(ntoine)?\\.? de Saint-Exup(é|e)ry\\b", "Antoine de Saint-Exupéry"}, {"\\bBelle-(Î|I)le\\b", "Belle-Île"}, {"\\bCamille Saint[- ]Sa(ë|e)ns\\b", "Camille Saint-Saëns"}, {"\\bCharles de Gaulle\\b", "Charles de Gaulle"}, {"\\bCh(â|a)teau d'Eau\\b", "Château d'Eau"}, {"\\bColl(è|e)ge Street\\b", "College Street"}, // accrochée par erreur. {"\\bde Gaulle\\b", "de Gaulle"}, {"\\bde ?Lattre de Tassigny\\b", "de Lattre de Tassigny"}, {"\\b (É|E)crins\\b", " Écrins"}, {"\\bEsp(é|e)rance\\b", "Espérance"}, {"\\b(E|É)s?tienne d'Orves\\b", "Estienne d'Orves"}, {"\\b(É|E)tats-Unis\\b", "États-Unis"}, {"\\bFran(c|ç)ois Mitterrand\\b", "François Mitterrand"}, {"\\bFr(è|e)res Lumi(è|e)res?\\b", "Frères Lumière"}, {"\\bGenevi(è|e)ve de Gaulle[- ]Anthonioz\\b", "Geneviève de Gaulle-Anthonioz"}, {"\\bGeorges Cl(é|e)menceau\\b", "Georges Clemenceau"}, {"\\bGeorges? Sand\\b", "George Sand"}, {"\\bHôtel de Ville\\b", "Hôtel de Ville"}, {"\\bJean Jaur(e|è|é)s\\b", "Jean Jaurès"}, {"\\bJean L(é|e)tienne\\b", "Jean Létienne"}, {"\\bJean[- ]Marie Michelier\\b", "Jean-Marie Michelier"},
// {"\\b(John|J|J.) ?(F|F.|Fitzgerald) Kennedy\\b", "John Fitzgerald Kennedy"}, // Suspendu
{"\\bJules Carpentier\\b", "Jules Carpentier"}, {"\\bJules Gu(e|è|é)s?des?\\b", "Jules Guesde"}, {"\\bLa P(e|é)rouse\\b", "La Pérouse"}, {"\\bL(e|é)o lagrange\\b", "Léo Lagrange"}, {"\\bL(e|é)o Ferr(e|é)\\b", "Léo Ferré"}, {"\\bLéon Nautin\\b", "Léon Nautin"}, {"\\bL(e|é)onard de Vinci\\b", "Léonard de Vinci"}, {"\\bLouise Michel\\b", "Louise Michel"}, {"\\bMarcel Beno(i|î)t\\b", "Marcel Benoit"}, {"\\bMar(é|e)chal Joffre\\b", "Maréchal Joffre"}, {"\\bMar(é|e)chal Foch\\b", "Maréchal Foch"}, {"\\bMartin Bernard\\b", "Martin Bernard"}, {"\\bMoulin (à|a) Vent\\b", "Moulin à Vent"}, {"\\bOl+ivier de ?Serres\\b", "Olivier de Serres"}, {"\\bOuv(é|e)a\\b", "Ouvéa"}, // Là c'est une île, non ? {"\\bPaul (E|É)luard\\b", "Paul Éluard"}, {"\\bPaul-Émile Victor\\b", "Paul-Émile Victor"}, {"\\bPaul Verlaine\\b", "Paul Verlaine"}, {"\\bPierre Beno(i|î)t\\b", "Pierre Benoit"}, {"\\bProsper(te)? M(é|e)rim(é|e)e?\\b", "Prosper Mérimée"}, {"\\bRose Beno(î|i)t\\b", "Rose Benoit"}, {"\\bRen(é|e)e? Cassin\\b", "René Cassin"}, {"\\bS(ain)?t\\.?[- ]Andréspace:", "Saint-André "}, {"\\bS(ain)?t\\.?[- ]André$", "Saint-André"}, {"\\bS(ain)?t\\.?[- ]Antoine\\b", "Saint-Antoine"}, {"\\bS(ain)?t\\.?[- ]Bernard\\b", "Saint-Bernard"}, {"\\bS(ain)?t\\.?[- ]Charles\\b", "Saint-Charles"}, {"\\bS(ain)?t\\.?[- ]Christophe\\b", "Saint-Christophe"}, {"\\bS(ain)?t\\.?[- ]Denis\\b", "Saint-Denis"}, {"\\bS(ain)?t\\.?[- ]Esprit\\b", "Saint-Esprit"}, {"\\bS(ain)?t\\.?[- ](É|E)tienne\\b", "Saint-Étienne"}, {"\\bS(ain)?t\\.?[- ]Exup(é|e)ry\\b", "Saint-Exupéry"}, {"\\bS(ain)?t\\.?[- ]Fran(ç|c)ois\\b", "Saint-François"}, {"\\bS(ain)?t\\.?[- ]Fran(ç|c)ois de Sall?es\\b", "Saint-François de Sales"}, {"\\bS(ain)?t\\.?[- ]Germain\\b", "Saint-Germain"}, {"\\bS(ain)?t\\.?[- ]Jean\\b", "Saint-Jean"}, {"\\bS(ain)?t\\.?[- ]Joseph\\b", "Saint-Joseph"}, {"\\bS(ain)?t\\.?[- ]L(é|e)on\\b", "Saint-Léon"},
// {"\\bS(ain)?t\\.?[- ]Martin\\b", "Saint-Martin"}, // J'"accroche" Jersey avec ça !!!
{"\\bS(ain)?t\\.?[- ]Michel\\b", "Saint-Michel"}, {"\\bS(ain)?t\\.?[- ]Pierre\\b", "Saint-Pierre"}, {"\\bS(ain)?t\\.?[- ]Quentin\\b", "Saint-Quentin"}, {"\\bS(ain)?te?\\.?[- ]Anne\\b", "Sainte-Anne"}, {"\\bS(ain)?te\\.?[- ]C(é|e)cile\\b", "Sainte-Cécile"}, {"\\bS(ain)?te?\\.?[- ]Claire\\b", "Sainte-Claire"}, {"\\bS(ain)?te?\\.?[- ]H(é|e)lène", "Sainte-Hélène"}, {"\\bS(ain)?te?\\.?[- ]Marie\\b", "Sainte-Marie"}, {"\\bS(ain)?te?\\.?[- ]M(é|e)lanie\\b", "Sainte-Mélanie"}, {"\\bSalvador Allende\\b", "Salvador Allende"}, {"\\bTh(é|e)odore Botrel\\b", "Théodore Botrel"},
// Mois de l'année.
{"\\bJanvier\\b", "Janvier"}, {"\\bF(é|e)vrier\\b", "Février"}, {"\\bMars\\b", "Mars"}, {"\\bAvril\\b", "Avril"}, {"\\bMai\\b", "Mai"}, {"\\bJuin\\b", "Juin"}, {"\\bJuillet\\b", "Juillet"}, {"\\bAoût\\b", "Août"}, {"\\bSeptembre\\b", "Septembre"}, {"\\bOctobre\\b", "Octobre"}, {"\\bNovembre\\b", "Novembre"}, {"\\bD(é|e)cembre\\b", "Décembre"}
};
highway=*, modifications des refs
Ajout d'un espace (ASCII 32) entre la lettre et la suite pour les autoroutes :
Axx => A xx : la sélection de fait sur ^(A)[[:space:]]*([[:digit:]]+.*)[[:space:]]*$