Repository navigation
Description
What happens today. Filipino surnames that begin with Santa or Santo are commonly written abbreviated: Sta. Maria, Sta. Ana, Sto. Domingo, Sta. Cruz. In a name written without a comma, the parser splits the surname:
Juan Sta. Maria → given 'Juan', middle 'Sta.', family 'Maria'
Juan Sta Maria → given 'Juan', middle 'Sta', family 'Maria'
Juan Sto. Tomas Jr. → given 'Juan', middle 'Sto.', family 'Tomas', suffix 'Jr.'
Sta. Maria, Juan → given 'Juan', family 'Sta. Maria' (the comma keeps it whole)
Jean Ste. Marie → given 'Jean', family 'Ste. Marie' (ste is a particle)
So the comma and no-comma writings of the same name disagree on the family. sta and sto are in no vocabulary set, while ste is a particle.
Evidence. US Census 2010 surname bearers, from uv run python tools/name_usage.py "Sta. Maria" and likewise for the others (2026-10-18): Sta. Ana 408, Sta. Maria 376, Sto. Domingo 163, Sta. Cruz 110, each over 90% Asian/Pacific Islander. The Census strips punctuation, but Santa Maria is its own entry (12,375), so these are bearers recorded with the abbreviation. Background is in decisions/H6's 2026-10-18 entry (PR #724).
Proposal. Add sta and sto to particles as ambiguous particles, the way van is listed. Measured with Lexicon.default().add(particles={"sta", "sto"}, particles_ambiguous={"sta", "sto"}):
Juan Sta. Maria → family 'Sta. Maria'
Juan Sta Maria → family 'Sta Maria'
Juan Sto. Tomas Jr. → family 'Sto. Tomas', suffix 'Jr.'
JUAN STA. MARIA → family 'STA. MARIA'
Sta. Maria, Juan → family 'Sta. Maria' (unchanged)
Sta Juan → given 'Sta', family 'Juan', plus a particle-or-given report
John Sta → family 'Sta' (unchanged)
Sta. Maria Juan → title 'Sta.' (unchanged: H2's shape takes a leading period-marked word)
Why ambiguous rather than never-given: as never-given particles, P1's fold would take a bare leading one, so Sta Juan would read family Sta Juan. Bare Sta is a surname in its own right (120 Census bearers, 2 Tunisian family-name bearers on Wikidata). Sto has under 100 Census bearers, and neither shows up as a given name (SSA under 5 a year).
Costs to settle:
capitalized(): particles render lowercase, soJuan Sta. Mariawould renderJuan sta. Maria.stealready does this (juan ste. marie→Juan ste. Marie). Should these get a capitalization exception, or is lowercase acceptable?initials(): particles are left out, soJ. S. M.becomesJ. M., as withde la Cruz→J. C..- Particle runs:
Juan dela Cruz Sta. Anareads familydela Cruz Sta. Anatoday. With the listing it reads middledela Cruz, familySta. Ana. Which is right for a Filipino double surname? - Trailing particle after a comma (P6):
Smith, Juan Sta.would read familySta. Smithwith a report, where today it reads middleSta.. That input is probably garbage.
Corpus. Of the 5,716 corpus names, only one holds the word: Sta. Maria, Juan, the H6 example from #724. Its fields don't move, only initials() (J. S. M. → J. M.). So the snapshot can't show this change, and the evidence has to come from rows written for it.
Exclusions. This doesn't change H6 (a title before a family comma): a period-marked word in front of a family comma is still read by vocabulary alone. It also doesn't cover a leading Sta. with no comma (H2's shape), or other abbreviated surname heads (Mt., Ft., both under 100 Census bearers).
Activity
docs(decisions): H1 and H6 Open lines name #815 and #725 (#762)
docs(decisions): Standing blocks for the H section (#762) (#813)
derek73 commentedon Nov 4, 2026
Add
staandstowith thesaintkind, not as plain particles (2026-11-04, measured on #1058's branch).#1058 adds rules/P10 (a given name a particle completes). Behind a one-word given name, a particle run followed by a marked given name reads as a middle name:
María del Carmen García→ middledel Carmen.maríais one of the marked words. P10 refuses a run holding asaintparticle (san,santa,st,ste), becauseSanta Maríais a surname. So the kindstaandstoare added with now decides howSta. Mariareads when another surname follows it:saintparticlesJuan Sta. MariaSta., familyMariaSta. MariaSta. MariaJuan Sta. Maria ReyesSta. Maria, familyReyesSta. Maria, familyReyesSta. Maria ReyesMaria Sta. Ana CruzSta. Ana, familyCruzSta. Ana CruzSta. Ana CruzJuan Sto. Tomas Jr.Sto., familyTomasSto. TomasSto. TomasAs plain particles, P10 would split
Sta. Maria Reyesexactly as today's reading does, the split this issue sets out to fix. Assaintparticles the surname stays whole. Those are the abbreviations' meaning anyway (Santa, Santo). The measurement usedLexicon.default().add("sta", "sto", kind="given").add("sta", "sto", kind=...): thegivenreading keeps them ambiguous, as proposed above.The costs listed above are unchanged. The same goes for
santoandsão, which hold no saint reading in the vocabulary today, so P10's saint clause doesn't reach them either.Read Sta. and Sto. as saint particles, so Juan Sta. Maria Reyes keeps…
Write saint and rank particles with their capital in case repair (#1069…
Read Muhammad, Achmad and Francisco written short as given names (#1115…