Skip to content

Read Muhammad, Achmad and Francisco written short as given names (#1115) - #1117

Merged
derek73 merged 2 commits into
masterfrom
feat/issue-1115-given-abbreviations
Nov 6, 2026
Merged

derek73 merged 2 commits into
masterfrom
feat/issue-1115-given-abbreviations

Conversation

@derek73

@derek73 derek73 commented Nov 6, 2026

Copy link
Copy Markdown
Owner

Part of #1115: its first slice. It covers the given names written short and the new reason for rules/H6. The title batches, the defaults for the pack-only degrees, the exclusions and the Diplom degrees come later.

What changes

Given names written short. Seven words get a given reading with same_as, so rules/H2's leading-abbreviation shape yields to them as it does to Chas. (#789):

Word Full name File
mohd, mhd Muhammad mul.toml (Malaysia, India, Indonesia, Syria)
muh, moh, moch Muhammad id.toml
ach Achmad id.toml
fco Francisco es.toml
Mohd. Shameem Khan    title 'Mohd.', given 'Shameem'  →  given 'Mohd.', middle 'Shameem'   (1.4.0 through 2.8.2 read the title)
Dr. Muh. Hamdan       title 'Dr. Muh.', no given    →  title 'Dr.', given 'Muh.'
Moch. Yunus, M.Kes.   family 'Moch. Yunus', given 'M.Kes.'  →  given 'Moch.', suffix 'M.Kes.'

Each word's ORCID box counts are on its entry. mo is left out. 45 corpus names write Mo. for Muhammad (42 of them Nepalese candidates), but bare Mo is mostly the Chinese and Korean name (ORCID family boxes 3,478, China 952). A given reading would make Reading.languages report a Mo Yan's given name as read in the file holding the word. Md. keeps its 2026-10-27 reading (decisions/indic-honorifics).

rules/H6 (a title before a family comma) keeps its vocabulary-only run, on a new reason. #710's reason was the Sta. Maria cost, and #725 removed it by making sta/sto saint particles, which the run already stops at. A scan of what a shape peel would reach (72 names on dd2650ef) finds the reason that remains. A period-marked word before a family comma is as often a given name written short (Md. Abu Shahin, FCPS, MD), a stray period on a name word (BEUMLER. WEAVER, CAROL) or a surname's head that is no particle (MT. PLEASANT, JANE) as it is a title. So titles get listed, and slips read wherever the rules put them. decisions/H6 records the measurements, and #710's caveat stands: H2's head shape has no particle stop.

Measured

uv run python tools/differential/config_diff.py diff --local all --committed --match '(?i)\b(mohd|muh|moh|mhd|moch|ach|fco)\b' '<the tree without the seven readings>' default, 2026-11-06 against 0a4233f1. 125 of the 3,089 matching names move:

  • 122 from title to given
  • 2 comma names that C4 now counts correctly
  • 1 where a particle behind the given name starts the family (Mohd. Abu Bakar Siddique → family 'Abu Bakar Siddique'), the cost decisions/indic-honorifics accepts for Md Abu Sayed

A sweep of 16 shapes × 3 name orders for Mohd, Muh and Fco moved names only where H2's shape had fired (the head of the given part). Under the family-first orders the word is then placed by position, as Chas. is. Nothing moved in the trailing, bare or before-a-family-comma positions.

The committed snapshot gains one name (Mt. Pleasant, Jane, a new H6 boundary row) and moves none.

Review

The design-docs review ran all twelve axes and found six problems, all fixed in the second commit:

Test plan

  • uv run pytest (39,051 passed) and uv run pytest -n0 -m serial
  • uv run mypy, uv run ruff check
  • uv run sphinx-build -b doctest docs and the html build
  • Case rows in tests/v2/cases.py checked against an export of master; the release-log claim checked against the 1.4.0 and 2.8.2 wheels

🤖 Generated with Claude Code

derek73 and others added 2 commits November 6, 2026 13:10
Mohd., Mhd. (mul.toml), Muh., Moh., Moch., Ach. (id.toml) and Fco.
(es.toml) take a given reading with same_as, so rules/H2's shape yields
to them as it does to Chas.: "Mohd. Shameem Khan" gives given 'Mohd.'
where 1.4.0 through 2.8.2 gave title 'Mohd.'. Mo. is left out, bare Mo
being mostly the Chinese and Korean name.

rules/H6 keeps its vocabulary-only reading on a new reason, since #725
removed the Sta./Sto. cost #710 gave: a period-marked word before a
family comma is as often a surname's head, a given name written short
or a stray period as a title. decisions/H6 records the measurement.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
… lines

The design-docs review found that the CLDR Excm. renderings predate
#701 (corpus_cldr since #654), so #701's "every CLDR case is a listed
title" never held; that Sta. Maria still stood as a reason in rules/H6's
Because and the Standing line while the Log called the cost removed,
and #710's caveat (H2's head shape has no particle stop) had dropped
out; that decisions/H2's, vocabulary-model's and rules/H2's lists of
the shipped abbreviations were stale; and three counts: 21 of FEC's 31
(not twenty more), 71 on this tree (not 70), and a recipe for the
560-word mining.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@derek73 derek73 added design vocabulary Per-word vocabulary model and language packs labels Nov 6, 2026
@derek73 derek73 self-assigned this Nov 6, 2026
@derek73 derek73 added this to the 3.0 milestone Nov 6, 2026
@derek73
derek73 merged commit e76cdad into master Nov 6, 2026
13 checks passed
@derek73
derek73 deleted the feat/issue-1115-given-abbreviations branch November 6, 2026 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

design vocabulary Per-word vocabulary model and language packs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant