# Russian Practice

A modified version of Great Vibes for the Russian cursive practice tool.

- Upstream source: https://github.com/google/fonts/tree/main/ofl/greatvibes
- Upstream project: https://github.com/googlefonts/great-vibes
- Upstream file: `GreatVibes-Regular.ttf`, including Cyrillic support.
- Bundled derivative: `RussianPractice-Regular.ttf`.
- License: SIL Open Font License 1.1; see `GreatVibes-OFL.txt` for the original
  copyright notice and license, which also apply to this derivative.

The detached underline on lowercase ш and overline on lowercase т are removed,
including their contextual and localized variants. The letter bodies, joins,
and advance widths are preserved. All other glyphs, including Т and Щ/щ, retain
their original outlines. The font family and PostScript names are changed to
Russian Practice.

Contextual substitutions for и, й, and ш use the font's existing connected
forms instead of the `.alt1` forms that omit the exit stroke. This keeps
sequences such as иш and ши joined in words like «лишишь». Other contextual
shaping rules remain enabled.

To rebuild, install `fonttools==4.68.0` in a Python virtual
environment, then run `python scripts/build-practice-font.py /path/to/GreatVibes-Regular.ttf`
from the repository. These dependencies are needed only when rebuilding the
bundled font, not when building or running the website.

Complete words are shaped in one canvas `fillText` call. The guide and scoring
use the same rendered font; there is no runtime thinning or bitmap reshaping.

Upstream file SHA-256: `8d509802186f1b51572531ecf313e8098f9a5bfdfaca93f0c9b34467f9982d15`.
