|
2 | 2 | from nameparser.config.bound_given_names import BOUND_GIVEN_NAMES |
3 | 3 |
|
4 | 4 | #: The sub-set of :py:data:`PARTICLES` that are *never* a standalone given |
5 | | -#: name. Under the default given-first order that means a name *starting* |
6 | | -#: with one of these has no given name -- the whole thing is a surname |
7 | | -#: (e.g. "de Mesnil" -> family name "de Mesnil"). The reading is scoped to |
8 | | -#: the order on purpose: ``Policy(name_order=FAMILY_FIRST)`` parses the |
9 | | -#: same input as family "de", given "Mesnil", because which side of a |
10 | | -#: leading particle the family name sits on is ``name_order``'s question, |
11 | | -#: not this set's. What membership decides under either order is the |
12 | | -#: ambiguity report -- see :py:data:`PARTICLES` below. |
| 5 | +#: name. A name *starting* with one of these has no given name -- the |
| 6 | +#: whole thing is a surname (e.g. "de Mesnil" -> family name "de Mesnil") |
| 7 | +#: -- and that reading holds under EVERY ``name_order`` (#359). It is not |
| 8 | +#: scoped to the default order the way the rest of the positional read is: |
| 9 | +#: ``name_order`` says which side of the name the family sits on, and a |
| 10 | +#: word that can never be a given name leaves it nothing to decide, so |
| 11 | +#: ``Policy(name_order=FAMILY_FIRST)`` reads "de Mesnil" as the family |
| 12 | +#: name too. Membership also decides the ambiguity report -- see |
| 13 | +#: :py:data:`PARTICLES` below. |
13 | 14 | #: Curated to exclude anything that can be a given name in some culture |
14 | 15 | #: (`al`, `van`, `von`, `della`, `di`, `del`, `da`, `vander`, ...) and |
15 | 16 | #: anything that is also a bound given-name particle (`abu`). When unsure, |
|
86 | 87 | #: particle is the exception and chains nothing: the chain skips the |
87 | 88 | #: first piece unconditionally, membership in this set or any other |
88 | 89 | #: never entering into it. Where the pieces then land is again a later |
89 | | -#: question, |
90 | | -#: and this one is ``name_order``'s: under the default given-first order |
91 | | -#: a leading :py:data:`NON_GIVEN_NAME_PARTICLES` member makes the whole |
92 | | -#: name a family name ("de la Vega"), while a leading particle outside |
93 | | -#: that set is read as the given name ("Van Johnson") -- whereas |
94 | | -#: ``Policy(name_order=FAMILY_FIRST)`` splits both at the leading |
95 | | -#: particle alike ("de la Vega" -> family "de", given "la Vega"; "Van |
96 | | -#: Johnson" -> family "Van", given "Johnson"), which is the same |
97 | | -#: chains-nothing grouping read the other way round. What membership |
98 | | -#: decides under EITHER order is the report: a leading particle outside |
| 90 | +#: question, and this is where membership decides something: a leading |
| 91 | +#: :py:data:`NON_GIVEN_NAME_PARTICLES` member makes the whole name a |
| 92 | +#: family name ("de la Vega") under every ``name_order``, because a word |
| 93 | +#: that is never a given name leaves the order nothing to place. A |
| 94 | +#: leading particle OUTSIDE that set could be either, so there |
| 95 | +#: ``name_order`` decides after all: the default given-first order reads |
| 96 | +#: it as the given name ("Van Johnson"), while |
| 97 | +#: ``Policy(name_order=FAMILY_FIRST)`` splits the same chains-nothing |
| 98 | +#: grouping the other way round ("Van Johnson" -> family "Van", given |
| 99 | +#: "Johnson"). What membership decides under EITHER order is also the |
| 100 | +#: report: a leading particle outside |
99 | 101 | #: :py:data:`NON_GIVEN_NAME_PARTICLES` records a particle-or-given |
100 | 102 | #: ambiguity for the reading not taken, and one inside it records none. |
101 | 103 | #: |
|
0 commit comments