These are counts in one KanjiVG snapshot. They are not a rule that the next stroke must keep the direction, or that a component boundary must change it.

On this page

How a run is read

A direction is the straight line from the start of a stroke to its end, classed in the eight sectors of the stroke-direction atlas. A run is the longest stretch of consecutive stroke numbers that share one class. The class “no movement” is included.

A component boundary is a change of top-level group. The group is an immediate child of the character group kvg:<5-hex>. An immediate g is one group, including a sibling that carries kvg:part. A run of immediate path elements is one group. The component handoffs page joins kvg:part siblings into one slot. This page does not.

The position of stroke k in a character of n strokes is k/n. The tenth is the bin b such that k/n lies in (b/10, (b+1)/10]. In integers, b = ceil(10k/n) − 1. This is the same cut as stroke-start position.

Run
A maximal sequence of consecutive stroke numbers whose chords fall in one direction class. The length is the number of strokes in the sequence.
Direction change
A consecutive pair whose two chords fall in different classes. Each change starts a new run. A character of n strokes has n−1 pairs.
Component boundary
A consecutive pair whose strokes sit in different top-level groups. A direction change coincides with a boundary when that pair is also a group change. Otherwise the change is inside one group.
Position in the order
The tenth of k/n for that stroke. The cell counts strokes, not runs. Each stroke is counted under the length of the run that contains it.

Run lengths

Length Runs Share of runs Strokes Share of strokes

The longest runs

Cinnabar marks the long run once those strokes have been drawn. Strokes outside that run keep KanjiVG’s ink. Click a plate to replay. With reduced motion the finished character stays still, and the color stays. The mark is data-stroke-highlight. The plate stays cream in either theme. The draw timings are unchanged.

  • The long run

KanjiVG · CC BY-SA 3.0

Character Strokes Direction Stroke numbers Length Groups in the run Whole character

Runs one stroke shorter

Character Strokes Direction Stroke numbers Length Groups in the run Whole character

Run length by position in the order

Direction changes and group boundaries

Pair Same group Group changes Total
Same direction
Direction changes
Total

One run for the whole character

Character Strokes Direction Groups Group boundaries

Changes only at a boundary

Each run has its own color, in stroke order: cinnabar, then indigo, then ochre, then celadon. Click a plate to replay. With reduced motion the finished character stays still, and the colors stay. The mark is data-stroke-highlight. A plate without it is not recolored. The plate stays cream in either theme. The draw timings are unchanged.

  • First run
  • Second run
  • Third run
  • Fourth run

KanjiVG · CC BY-SA 3.0

Character Strokes Runs Direction changes Group boundaries Groups

Stroke numbers, for checking against the file

Each row is one stroke of a plate character. Direction is the chord from start to end. The run is the stroke numbers that share that class. The group is the top-level group in the file: its kvg:element, its kvg:part when there is one, and the g id. Start and end are shown to two decimal places. The last column is the step to the next stroke. The last stroke of a character has no next step.

Character Stroke Direction Run Group Start End To the next

What this shows

Stroke diagrams: KanjiVG, Ulrich Apel et al., CC BY-SA 3.0, from commit 70a0b7ae0c18ceb5cb358274b029cce0234a43bc of github.com/KanjiVG/kanjivg. The plate files are unmodified copies in site/assets/kanjivg/. Jōyō index: the list used on the Gallery. Direction classes are compass in tools/stroke_direction.py, the same eight sectors as the stroke-direction atlas.