Placeholder — filed so it isn't lost, not worked up.
Thai honorifics are conventionally written glued to the given name, and they currently end up inside it:
parse("นายสมชาย ใจดี") # given 'นายสมชาย', family 'ใจดี' ← นาย = Mr.
parse("นางสาวสุดา ใจดี") # given 'นางสาวสุดา', family 'ใจดี' ← นางสาว = Miss
What already works
More than I expected, which is what makes this narrow:
parse("สมชาย ใจดี") # given 'สมชาย', family 'ใจดี' ← correct
Thai is given-name-first, so the positional default is already right — no script_orders entry needed. Names are spaced between given and family, so no segmentation is needed either. Thai is not in _SCRIPT_RANGES at all, and it may not need to be: #308's peel is licensed by its vocabulary rather than by the script it is written in.
So the whole gap is one mechanism: splitting a listed honorific off the front of a token.
Relationship to #308 and #312
#308 shipped the mirror of this — a listed honorific peeled off the end of a name token, routed to suffix. Thai needs the same surgery from the other side, routed to title (นาย is pre-nominal, not post-nominal), which means a separate vocabulary rather than a reuse of honorific_tails.
#312 is deciding how the existing peel is structured. Its answer matters here: if the peel becomes a sibling function inside script_segment, a head-peel joins as a third sibling; if it becomes its own stage, this belongs in that stage. Thai is the strongest evidence that a second inhabitant is coming, so it is worth weighing in #312 rather than after it.
Why the vetting may be easier here than for the Han equivalents
A leading peel is normally harder to vet than a trailing one, because the leading position is where surnames live — the argument that clears 양 in #308 is precisely that a surname LEADS, so a trailing-only gate never sees it. The Chinese familiar prefixes 老/小 (老王, 小王) fail badly on this: 小 is a common given-name character, and peeling it would cut 小明 — this repo's own worked example — in half.
Thai looks different. นาย, นาง, นางสาว are not name components in any position; they are closed-class address terms. So the "can this ever begin a name?" test may come back clean where the Han equivalents do not. That is an impression, not a vetted claim — it needs the same per-entry argument #308's vocabulary carries, from someone who reads Thai.
Open questions
- The full entry set (นาย, นาง, นางสาว at minimum; ranks and academic titles are a separate question).
- Whether Thai needs a
_SCRIPT_RANGES entry at all, given the peel is vocabulary-licensed. Probably only if some other script-conditional behavior is wanted later.
- Whether a head peel routes to
title in every case, or whether some entries are better modelled as existing titles vocabulary once the token is split.
- Royal and monastic titles are a much larger and more sensitive area — explicitly out of scope for this placeholder.
Raised while discussing #312; no one has asked for Thai support, so priority is unset.
Placeholder — filed so it isn't lost, not worked up.
Thai honorifics are conventionally written glued to the given name, and they currently end up inside it:
What already works
More than I expected, which is what makes this narrow:
Thai is given-name-first, so the positional default is already right — no
script_ordersentry needed. Names are spaced between given and family, so no segmentation is needed either. Thai is not in_SCRIPT_RANGESat all, and it may not need to be: #308's peel is licensed by its vocabulary rather than by the script it is written in.So the whole gap is one mechanism: splitting a listed honorific off the front of a token.
Relationship to #308 and #312
#308 shipped the mirror of this — a listed honorific peeled off the end of a name token, routed to
suffix. Thai needs the same surgery from the other side, routed totitle(นาย is pre-nominal, not post-nominal), which means a separate vocabulary rather than a reuse ofhonorific_tails.#312 is deciding how the existing peel is structured. Its answer matters here: if the peel becomes a sibling function inside
script_segment, a head-peel joins as a third sibling; if it becomes its own stage, this belongs in that stage. Thai is the strongest evidence that a second inhabitant is coming, so it is worth weighing in #312 rather than after it.Why the vetting may be easier here than for the Han equivalents
A leading peel is normally harder to vet than a trailing one, because the leading position is where surnames live — the argument that clears 양 in #308 is precisely that a surname LEADS, so a trailing-only gate never sees it. The Chinese familiar prefixes 老/小 (老王, 小王) fail badly on this: 小 is a common given-name character, and peeling it would cut 小明 — this repo's own worked example — in half.
Thai looks different. นาย, นาง, นางสาว are not name components in any position; they are closed-class address terms. So the "can this ever begin a name?" test may come back clean where the Han equivalents do not. That is an impression, not a vetted claim — it needs the same per-entry argument #308's vocabulary carries, from someone who reads Thai.
Open questions
_SCRIPT_RANGESentry at all, given the peel is vocabulary-licensed. Probably only if some other script-conditional behavior is wanted later.titlein every case, or whether some entries are better modelled as existingtitlesvocabulary once the token is split.Raised while discussing #312; no one has asked for Thai support, so priority is unset.