These are counts in one KanjiVG snapshot. A count is not a rule.
When a short stroke is drawn it flashes and then stays. The latest short stroke is indigo. An earlier short stroke is cinnabar. Any other stroke keeps the ordinary ink. Click a plate to replay. With reduced motion the finished character stays still, and the colors stay. The flash is optional data-short-strokes. A plate without it does not flash a stroke. The draw timings are unchanged.
- The latest short stroke
- An earlier short stroke
On this page
How a short stroke is counted
- The short tenth
- Across all strokes, not inside one character. The cutoff is the smallest stored length C such that the strokes of length at most C, times 10, number at least as many as the strokes in the list. Every stroke of length C is in the tenth. The strokes strictly shorter than C, times 10, fall short of the list.
- Dots set aside
- A dot is a stroke whose letter-stripped
kvg:type is ㇔, the same test as on Dots in the order. ㇔a is a dot. ㇔/㇏ is not a dot. A stroke with no type is not a dot. The short strokes on this page are the short tenth with the dots removed.
- A long stroke
- The same cut, taken from the long end. The cutoff is the largest stored length C such that the strokes of length at least C, times 10, number at least as many as the strokes in the list. Every stroke of length C is long.
- An ordinary stroke
- A stroke in neither tenth. A dot is not ordinary. A dot is counted as a dot.
- Rank tenth
- The bin of k/n. b = ⌈10k/n⌉ − 1, so k/n lies in (b/10, (b+1)/10]. The helper is rank_tenth in tools/stroke_start.py. Ten bins. Stroke 1 of a ten-stroke character is the first bin. Stroke 1 of a two-stroke character is the fifth bin, because 1/2 is 0.5.
- First, middle, last, sole
- On a character of more than one stroke, first is k = 1, last is k = n, and middle is strictly between them. Sole is the one stroke of a one-stroke character. The four rows add to the short strokes.
- The stroke just before
- A short stroke with k = 1 has no predecessor. Otherwise the predecessor is stroke k−1. It is long when that stroke is in the long tenth, short when it is another stroke of this page’s set, a dot when its letter-stripped type is ㇔, and ordinary otherwise. The five rows add to the short strokes.
- What the neighbouring pages count
- Stroke length and order records every stroke’s arc length and where the long strokes fall. The last stroke against the character mean, and the rank correlation, stay there. Stroke tempo by rank records length at every rank k/n, and the ratio of a stroke to the next. It does not keep only the short tenth. Dots in the order counts every letter-stripped ㇔. This page removes those dots from the short tenth. The stroke-type inventory counts every type. It is not limited to the short strokes. Hook strokes selects a stroke because its type ends in a hook.
| Short strokes in the character |
Characters |
Short strokes |
| Predecessor |
Short strokes |
| kvg:type, as written |
Letter-stripped |
Short strokes |
| Letter-stripped |
Short strokes |