capitalized() lowercases the same word that family_base and initials() now treat as an ordinary name word:
r = Parser().parse("ANH DO")
r.family_base # 'DO' -- an ordinary name word
r.initials() # 'A. D.'
str(r.capitalized(force=True)) # 'Anh do' <- still a particle
Compare an ordinary surname: parse("anh smith").capitalized() gives family Smith.
Why
_cap_word (_render.py) keys the lowercasing on lexicon membership plus role:
if ((normalized in lex.particles and role in (Role.MIDDLE, Role.FAMILY)) or ...):
return word.lower()
It does not consult UNJOINED_TAG, so the same word is an ordinary surname for R2 and R3 and a particle for R4 within one name.
Scope
Introduced by #404 in the sense that #404 is what declares these words ordinary name words; _cap_word itself is untouched. capitalized() already maps over tokens with t.tags in hand, so threading the mark in is mechanical.
Worth deciding rather than assuming: lowercasing a tussenvoegsel is a display convention for a particle doing particle work. A surname that happens to be particle vocabulary — Do, Del Toro, Le — is not that, and Del toro is not how anyone writes it. Either R4 consults the mark, or R4 should state that it deliberately does not.
capitalized()lowercases the same word thatfamily_baseandinitials()now treat as an ordinary name word:Compare an ordinary surname:
parse("anh smith").capitalized()gives familySmith.Why
_cap_word(_render.py) keys the lowercasing on lexicon membership plus role:It does not consult
UNJOINED_TAG, so the same word is an ordinary surname for R2 and R3 and a particle for R4 within one name.Scope
Introduced by #404 in the sense that #404 is what declares these words ordinary name words;
_cap_worditself is untouched.capitalized()already maps over tokens witht.tagsin hand, so threading the mark in is mechanical.Worth deciding rather than assuming: lowercasing a tussenvoegsel is a display convention for a particle doing particle work. A surname that happens to be particle vocabulary —
Do,Del Toro,Le— is not that, andDel torois not how anyone writes it. Either R4 consults the mark, or R4 should state that it deliberately does not.