Ramener les ligatures « œ » et « æ » à « oe » et « ae »
L'Œuvre de Zola, que la BnF écrit avec la ligature, était introuvable à qui tape « oeuvre » : NFD sépare les accents mais laisse les ligatures. Table explicite plutôt que NFKD, qui aurait aussi transformé les exposants, les chiffres romains et les espaces insécables. Une normalisation de recherche doit rester prévisible. Sept colonnes normalisées en dépendent, dont cinq portent une unicité. Le rattrapage au démarrage est donc étendu aux envies, séries, revues et numéros — qui ne calculaient leurs formes qu'à l'écriture — et refuse toute collision AVANT d'écrire : sinon l'exception tomberait au démarrage et le serveur ne se lancerait plus. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -106,6 +106,12 @@ public class RapprochementAuteursTests
|
||||
[InlineData(" Zola, Émile ", "zola emile")]
|
||||
[InlineData("Saint-Exupéry", "saint exupery")]
|
||||
[InlineData("L'Écume", "l ecume")]
|
||||
// Ligatures : NFD ne les défait pas, une table explicite s'en charge (2026-08-19).
|
||||
[InlineData("L'Œuvre", "l oeuvre")]
|
||||
[InlineData("Sœur Emmanuelle", "soeur emmanuelle")]
|
||||
[InlineData("Ex æquo", "ex aequo")]
|
||||
// La ligature vaut deux lettres, elle ne coupe donc PAS le mot en deux.
|
||||
[InlineData("cœur", "coeur")]
|
||||
[InlineData("", "")]
|
||||
[InlineData(null, "")]
|
||||
public void La_normalisation_met_a_plat_casse_accents_et_ponctuation(string? brut, string attendu)
|
||||
|
||||
Reference in New Issue
Block a user