Greece glyphs: verify the Go font stack renders Greek (R7) #173

Closed
opened 2026-08-19 23:12:22 +00:00 by art · 1 comment
Owner

Greece (issue #44): verify the Go font stack renders Greek before onboarding the country
(R7 — the go/no-go alongside cataloguing the sources).

Status: already de-risked

The glyph generator (mapsrv/glyph.go) renders the embedded Go font
(golang.org/x/image/gofont, Go Regular/Bold). Inspecting the font's cmap (fontTools over
the TTF extracted from gofont/goregular/data.go):

  • Greek block U+0370–03FF: 73 codepoints present, including every tonos-accented
    vowel modern Greek place names use (ά έ ή ί ό ύ ώ, U+03AC–03CE).
  • Sample names — Αθήνα, Θεσσαλονίκη, Πειραιάς, Κρήτη, Αιγαίο — have zero missing glyphs.
  • Greek Extended (U+1F00–1FFF) is absent, but that is ancient/polytonic Greek, not
    modern signage — not needed.
  • The font also carries Cyrillic (98 cp), a future bonus.

So R7 is a green light; the deliverable is the test that keeps it green, not a fix.

Deliverables

  1. Extend mapsrv/glyph_check_test.go with a Greek-range invariant assertion mirroring the
    existing ASCII-range test: generate the Greek blocks and assert the needed modern-Greek
    codepoints (the U+03AC–03CE tonos vowels, plus Σ/Α/Ω/Α/Π/Ρ etc.) produce real glyphs with
    valid SDF gradients. Uses the real NewGenerator(), so it guards the font replacement
    and the SDF pipeline together.
  2. A visual render of a small sample of Greek place/road/water names through the live font
    stack over CDP in real time (R127 — never --virtual-time-budget), confirming no
    missing-glyph boxes on the actual map.
  3. Record the verdict in docs/country-requirements.md R7's example (Greece joins the
    "all four current countries are Latin-script" note as the first Greek case) and in
    docs/country-gr.md once it exists.

Data-independent — can land before or in parallel with the pilot.

Greece (issue #44): verify the Go font stack renders Greek before onboarding the country (R7 — the go/no-go alongside cataloguing the sources). ## Status: already de-risked The glyph generator (mapsrv/glyph.go) renders the embedded Go font (golang.org/x/image/gofont, Go Regular/Bold). Inspecting the font's cmap (fontTools over the TTF extracted from gofont/goregular/data.go): - Greek block **U+0370–03FF: 73 codepoints present**, including every tonos-accented vowel modern Greek place names use (ά έ ή ί ό ύ ώ, U+03AC–03CE). - Sample names — Αθήνα, Θεσσαλονίκη, Πειραιάς, Κρήτη, Αιγαίο — have **zero missing glyphs**. - Greek Extended (U+1F00–1FFF) is **absent**, but that is ancient/polytonic Greek, not modern signage — not needed. - The font also carries Cyrillic (98 cp), a future bonus. So R7 is a green light; the deliverable is the *test that keeps it green*, not a fix. ## Deliverables 1. Extend `mapsrv/glyph_check_test.go` with a Greek-range invariant assertion mirroring the existing ASCII-range test: generate the Greek blocks and assert the needed modern-Greek codepoints (the U+03AC–03CE tonos vowels, plus Σ/Α/Ω/Α/Π/Ρ etc.) produce real glyphs with valid SDF gradients. Uses the real `NewGenerator()`, so it guards the font replacement and the SDF pipeline together. 2. A visual render of a small sample of Greek place/road/water names through the live font stack over CDP in real time (R127 — never `--virtual-time-budget`), confirming no missing-glyph boxes on the actual map. 3. Record the verdict in docs/country-requirements.md R7's example (Greece joins the "all four current countries are Latin-script" note as the first Greek case) and in docs/country-gr.md once it exists. Data-independent — can land before or in parallel with the pilot.
Author
Owner

Result is in #175 — #175; the review note is the PR description.

Result is in #175 — https://git.blahonga.org/art/ismap/pulls/175; the review note is the PR description.
art 2026-08-19 23:39:10 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
art/ismap#173
No description provided.